环境

查看环境列表

测试环境

适用于 K8s YAML 项目。

请求

  1. GET /openapi/environments?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回示例

点击查看

  1. [
  2. {
  3. "env_name": "dev",
  4. "cluster_id": "0123456789abcdef12345678", # K8s 集群 ID
  5. "namespace": "k8s-fansitest-env-dev", # K8s 命名空间
  6. "production": false, # 是否是生产环境
  7. "registry_id": "630c7ad700430c131062e245", # 镜像仓库 ID
  8. "status": "success", # 环境状态,包括 success(正常)、failed(失败)、creating(正在创建)、updating(更新中)、deleting(删除中)、unknown(未知)、unstable(运行不稳定)、sleeping(睡眠中)
  9. "update_by": "admin", # 环境更新者
  10. "update_time": 1690186199 # 最后一次更新时间,Unix 时间戳格式
  11. },
  12. {
  13. "env_name": "dev5",
  14. "cluster_id": "0123456789abcdef12345678",
  15. "namespace": "ai-test-2-env-dev",
  16. "production": false,
  17. "registry_id": "6350be2b4503905e98b4b771",
  18. "status": "success",
  19. "update_by": "admin",
  20. "update_time": 1690181832
  21. }
  22. ]

生产环境

适用于 K8s YAML 项目。

请求

  1. GET /openapi/environments/production?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回示例

点击查看

  1. [
  2. {
  3. "env_name": "dev",
  4. "cluster_id": "0123456789abcdef12345678", # K8s 集群 ID
  5. "namespace": "k8s-fansitest-env-dev", # K8s 命名空间
  6. "production": true, # 是否是生产环境
  7. "registry_id": "630c7ad700430c131062e245", # 镜像仓库 ID
  8. "status": "success", # 环境状态,包括 success(正常)、failed(失败)、creating(正在创建)、updating(更新中)、deleting(删除中)、unknown(未知)、unstable(运行不稳定)、sleeping(睡眠中)
  9. "update_by": "admin", # 环境更新者
  10. "update_time": 1690186199 # 最后一次更新时间,Unix 时间戳格式
  11. },
  12. {
  13. "env_name": "dev5",
  14. "cluster_id": "0123456789abcdef12345678",
  15. "namespace": "ai-test-2-env-dev",
  16. "production": true,
  17. "registry_id": "6350be2b4503905e98b4b771",
  18. "status": "success",
  19. "update_by": "admin",
  20. "update_time": 1690181832
  21. }
  22. ]

查看环境详情

适用于 K8s YAML 项目。

测试环境

请求

  1. GET /openapi/environments/<环境标识>?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回示例

点击查看

  1. {
  2. "project_key": "simple-demo", # 项目标识
  3. "env_key": "dev", # 环境标识
  4. "update_by": "admin", # 环境更新者
  5. "update_time": 1689933256, # 最后一次更新时间,Unix 时间戳格式
  6. "cluster_id": "0123456789abcdef12345678", # K8s 集群 ID
  7. "namespace": "simple-demo-env-dev", # K8s 命名空间
  8. "registry_id": "630c7ad700430c131062e245", # 镜像仓库 ID
  9. "global_variables": [ # 全局变量列表
  10. {
  11. "key": "cpuLimit", # 变量的键
  12. "value": "1000m", # 变量的值
  13. "type": "string", # 变量的类型,包括 string、bool、enum、yaml 四种
  14. "options": [], # 变量的可选值,当 type 为 enum 时该字段有意义
  15. "desc": "CPU 资源限制", # 变量的描述信息
  16. "related_services": ["service1"] # 变量关联的服务
  17. }
  18. ],
  19. "services": [ # 服务列表
  20. {
  21. "service_name": "service2", # 服务名称
  22. "containers": [ # 服务组件信息
  23. {
  24. "name": "myapp-1", # 服务组件名称
  25. "image": "koderover.tencentcloudcr.com/test/myapp-1:20230721164449-6-main", # 服务组件镜像
  26. "image_name": "myapp-1" # 服务组件镜像名称
  27. }
  28. ],
  29. "variable_kvs": [ # 服务变量列表
  30. {
  31. "key": "env1",
  32. "value": "demo",
  33. "type": "string",
  34. }
  35. ],
  36. "status": "running", # 服务状态,包括 running(正在运行)、unstable(运行不稳定)、unstart(未开始)、failed(失败)、pending(挂起中)、unknown(未知)
  37. "type": "k8s" # 项目类型,恒定为 k8s
  38. }
  39. ],
  40. "status": "success" # 环境状态,包括 creating(创建中)、updating(更新中)、deleting(删除中)、succeeded(正常)、error(内部错误)、running(正在运行)、unstable(运行不稳定)、sleeping(睡眠中)、unknown(未知)
  41. }

生产环境

请求

  1. GET /openapi/environments/production/<环境名称>?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回示例

点击查看

  1. {
  2. "project_key": "simple-demo", # 项目标识
  3. "env_key": "prod", # 环境标识
  4. "env_name":"prod", # 环境名称
  5. "update_by": "admin", # 环境更新者
  6. "update_time": 1689933256, # 最后一次更新时间,Unix 时间戳格式
  7. "cluster_id": "0123456789abcdef12345678", # K8s 集群 ID
  8. "namespace": "simple-demo-env-prod", # K8s 命名空间
  9. "registry_id": "630c7ad700430c131062e245", # 镜像仓库 ID
  10. "global_variables": [ # 全局变量列表
  11. {
  12. "key": "cpuLimit", # 变量的键
  13. "value": "1000m", # 变量的值
  14. "type": "string", # 变量的类型,包括 string、bool、enum、yaml 四种
  15. "options": [], # 变量的可选值,当 type 为 enum 时该字段有意义
  16. "desc": "CPU 资源限制", # 变量的描述信息
  17. "related_services": ["service1"] # 变量关联的服务
  18. }
  19. ],
  20. "services": [ # 服务列表
  21. {
  22. "service_name": "service2", # 服务名称
  23. "containers": [ # 服务组件信息
  24. {
  25. "name": "myapp-1", # 服务组件名称
  26. "image": "koderover.tencentcloudcr.com/test/myapp-1:20230721164449-6-main", # 服务组件镜像
  27. "image_name": "myapp-1" # 服务组件镜像名称
  28. }
  29. ],
  30. "variable_kvs": [ # 服务变量列表
  31. {
  32. "key": "env1",
  33. "value": "demo",
  34. "type": "string",
  35. }
  36. ],
  37. "status": "running", # 服务状态,包括 running(正在运行)、unstable(运行不稳定)、unstart(未开始)、failed(失败)、pending(挂起中)、unknown(未知)
  38. "type": "k8s" # 项目类型,恒定为 k8s
  39. }
  40. ],
  41. "status": "success" # 环境状态,包括 creating(创建中)、updating(更新中)、deleting(删除中)、succeeded(正常)、error(内部错误)、running(正在运行)、unstable(运行不稳定)、sleeping(睡眠中)、unknown(未知)
  42. }

新建环境

适用于 K8s YAML 项目。

测试环境

请求

  1. POST /openapi/environments?projectKey=<项目标识>

Body 参数说明

参数名说明类型必填
env_key环境标识string
cluster_idK8s 集群 IDstring
namespaceK8s 命名空间string
registry_id镜像仓库 IDstring
env_configs环境配置[]EnvConfig
global_variables全局变量[]GlobalVariable
services服务列表[]Service

EnvConfig 参数说明

参数名说明类型必填
yaml_data环境配置的 YAML 内容string
common_env_cfg_type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string

GlobalVariable 参数说明

参数名说明类型必填
key变量的键string
value变量的值string

Service 参数说明

参数名说明类型必填
service_name服务名称string
type服务类型,指定为 k8s 即可string
containers服务的镜像信息[]Container
variable_kvs服务变量配置[]VariableKV

Container 参数说明

参数名说明类型必填
image完整的镜像地址,比如:koderover.demo.com/public/service1:lateststring
image_name镜像名称string
name服务组件名称string

VariableKV 参数说明

参数名说明类型必填
key变量的键string
value变量的值stringuse_global_variable 参数二选一
use_global_variable是否使用全局变量boolvalue 参数二选一

Body 参数示例

点击查看

  1. {
  2. "env_key": "dev7",
  3. "cluster_id": "0123456789abcdef12345678",
  4. "namespace": "ai-test-2-env-dev",
  5. "registry_id": "6350be2b4503905e98b4b771",
  6. "is_public": true,
  7. "global_variables": [
  8. {
  9. "key": "cpuLimit",
  10. "value": "15m"
  11. }
  12. ],
  13. "services": [
  14. {
  15. "service_name": "service2",
  16. "type": "k8s",
  17. "containers": [
  18. {
  19. "image": "koderover.tencentcloudcr.com/test/service2:20230730070002-38-main",
  20. "image_name": "service2",
  21. "name": "service2"
  22. }
  23. ],
  24. "variable_kvs": [
  25. {
  26. "key": "cpu",
  27. "value": "8m"
  28. },
  29. {
  30. "key":"cpuLimit",
  31. "value":"15m"
  32. }
  33. ]
  34. }
  35. ],
  36. "env_configs": [
  37. {
  38. "yaml_data": "apiVersion: v1\ndata:\n root-cert.pem: |\n -----BEGIN CERTIFICATE-----\n MIIC/TCCAeWgAwIBAgIRAISZur/+Sm1i2dv4w5qWhy0wDQYJKoZIhvcNAQELBQAw\n GDEWMBQGA1UEChMNY2x1c3Rlci5sb2NhbDAeFw0yMjA4MTUwMjM5MTdaFw0zMjA4\n MTIwMjM5MTdaMBgxFjAUBgNVBAoTDWNsdXN0ZXIubG9jYWwwggEiMA0GCSqGSIb3\n DQEBAQUAA4IBDwAwggEKAoIBAQDQWPcRpknooTvvR8rg9XOXtOV2XyW2mDCBhQ0E\n THTQI17l5UK+AkhifJwUeGcc6KsZvBff7ksf5eQ6e1XBkwhEFTn0QBNTQwzVH/gz\n dVLB/SYgDKZyUBq3N2E0V1tYsrXE/Mc5qRcnBwscAdOcH5gpW3ZxfRUr7t40DY0H\n Im8RIajIB7UyT9lo+unaPozF5AuIN4ylv6XGcO1voXimCXNg5r2T/ATTA/vqJcS2\n ZlaT/85+cZCycu8ZwZaVNgxlyjE1CgUBEdMxy0svMXpJvDondEZEPfZVuB1X2FUL\n fczThsA7XmBvBYKXoKD7cAGlJS1I2nkfxXk+dkN+tolDQA6NAgMBAAGjQjBAMA4G\n A1UdDwEB/wQEAwICBDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS1JbJ810a/\n +KEqd78PtqTKRu+iqDANBgkqhkiG9w0BAQsFAAOCAQEAy833M/pdnLkKmZK9NaTp\n Ten5TQdxhRlPuG3dBfU45VXQ0IhgO7Er0caPagMaVPkqdfuUcd5sT5lfEiJUtt3B\n bOhyPK09GkD7muhO7Bx1o+qAPXkCjf0JRcAgQcpZ5va72V6bB8CJ5+6YoQV4eQGa\n mF80vbzPx3zR6At+3JAZaMhbXItBWJi5ULIGMaJ3JRUvqBMG1jsZdeqOa/fTjVc1\n 6gdX/O9eZjfRdnUiBv4kCD00nr74crXfvAmQGDX/EbNqYGLNHqAdqRgibUYowvEC\n 9gaZfvKU4lOaWYnwE4RlJ1Q6uhVgH45fFiq8pAeflSh56TLbjRfi/VM2lg3GN+cm\n 6g==\n -----END CERTIFICATE-----\nkind: ConfigMap\nmetadata:\n creationTimestamp: \"2023-07-06T08:01:16Z\"\n labels:\n istio.io/config: \"true\"\n name: istio-ca-root-cert-test\n namespace: ai-test-2-env-dev\n selfLink: /api/v1/namespaces/ai-test-2-env-dev/configmaps/istio-ca-root-cert\n uid: 767723b1-8bb2-4c51-92fd-d224bf0c0dc5\n",
  39. "common_env_cfg_type": "ConfigMap"
  40. }
  41. ]
  42. }

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. POST /openapi/environments/production?projectKey=<项目标识>

Body 参数说明

参数名说明类型必填
env_key环境标识string
env_name环境名称string
cluster_idK8s 集群 IDstring
namespaceK8s 命名空间string
registry_id镜像仓库 IDstring

返回

  1. {
  2. "message": "success"
  3. }

编辑环境

适用于 K8s YAML 项目。

测试环境

请求

  1. PUT /openapi/environments/<环境标识>?projectKey=<项目标识>

Body 参数说明

参数名说明类型必填
registry_id镜像仓库 IDstring

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. PUT /openapi/environments/production/<环境标识>?projectKey=<项目标识>

Body 参数说明

参数名说明类型必填
registry_id镜像仓库 IDstring
env_name环境名称string

返回

  1. {
  2. "message": "success"
  3. }

删除环境

适用于 K8s YAML 项目。

测试环境

请求

  1. DELETE /openapi/environments/<环境标识>?projectKey=<项目标识>&isDelete=true

Query 参数说明

参数名说明类型必填
projectKey项目标识string
isDelete是否删除环境对应的 K8s 命名空间和服务bool

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. DELETE /openapi/environments/production/<环境标识>?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回

  1. {
  2. "message": "success"
  3. }

添加服务

适用于 K8s YAML 项目。

测试环境

请求

  1. POST /openapi/environments/service/yaml?projectKey=<项目标识>

Body 参数说明

参数名说明类型必填
env_key环境标识string
service_list需要加入环境的服务列表[]Service

Service 参数说明

参数名说明类型必填
service_name服务名称string
variable_kvs服务变量列表[]VariableKV

Body 参数示例

点击查看

  1. {
  2. "env_key": "dev",
  3. "service_list": [
  4. {
  5. "service_name": "service2",
  6. "variable_kvs": [
  7. {
  8. "key": "cpuLimit",
  9. "use_global_variable":true
  10. },
  11. {
  12. "key": "port",
  13. "value": "20221"
  14. }
  15. ]
  16. }
  17. ]
  18. }

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. POST /openapi/environments/production/service/yaml?projectKey=<项目标识>

Body 参数说明

参数名说明类型必填
env_key环境标识string
service_list需要加入环境的服务列表[]Service

Service 参数说明

参数名说明类型必填
service_name服务名称string
variable_kvs服务变量列表[]VariableKV

VariableKV 参数说明

参数名说明类型必填
key变量的键string
value变量的值stringuse_global_variabletrue 时无需设置
use_global_variable是否使用环境全局变量bool设置为 true 时,value 参数无效

Body 参数示例

点击查看

  1. {
  2. "env_key": "dev",
  3. "service_list": [
  4. {
  5. "service_name": "service2",
  6. "variable_kvs": [
  7. {
  8. "key": "cpuLimit",
  9. "use_global_variable":true
  10. },
  11. {
  12. "key": "port",
  13. "value": "20221"
  14. }
  15. ]
  16. }
  17. ]
  18. }

返回

  1. {
  2. "message": "success"
  3. }

更新服务

适用于 K8s YAML 项目。

测试环境

请求

  1. PUT /openapi/environments/<环境标识>/services?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
service_list服务变量列表[]Service

Service 参数说明

参数名说明类型必填
service_name服务名称string
variable_kvs服务变量列表[]VariableKV

Body 参数示例

点击查看

  1. {
  2. "service_list": [
  3. {
  4. "service_name": "service2",
  5. "variable_kvs": [
  6. {
  7. "key": "cpu",
  8. "value": "4m",
  9. "use_global_variable":true
  10. }
  11. ]
  12. }
  13. ]
  14. }

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. PUT /openapi/environments/production/<环境标识>/services?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
service_list服务变量列表[]Service

Service 参数说明

参数名说明类型必填
service_name服务名称string
variable_kvs服务变量列表[]VariableKV

Body 参数示例

点击查看

  1. {
  2. "service_list": [
  3. {
  4. "service_name": "service2",
  5. "variable_kvs": [
  6. {
  7. "key": "cpu",
  8. "value": "4m",
  9. "use_global_variable":true
  10. }
  11. ]
  12. }
  13. ]
  14. }

返回

  1. {
  2. "message": "success"
  3. }

删除服务

适用于 K8s YAML 项目。

测试环境

请求

  1. DELETE /openapi/environments/service/yaml?projectKey=<项目标识>

Body 参数说明

参数名说明类型必填
env_key环境标识string
service_names需要从环境中删除的服务列表[]string

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. DELETE /openapi/environments/production/service/yaml?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
env_key环境标识string
service_names需要从环境中删除的服务列表[]string

返回

  1. {
  2. "message": "success"
  3. }

查看全局变量

适用于 K8s YAML 项目。

测试环境

请求

  1. GET /openapi/environments/<环境标识>/variable?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回示例

点击查看

  1. [
  2. {
  3. "key": "cpuLimit", # 全局变量的键
  4. "value": "1000m", # 全局变量的值
  5. "type": "string", # 全局变量的类型,包括 string、bool、yaml、enum 四种
  6. "options": [], # type 为 enum 时,全局变量的可选值
  7. "desc": "CPU Limit", # 全局变量描述
  8. "related_services": ["service1", "service2"] # 关联服务列表
  9. }
  10. ]

生产环境

请求

  1. GET /openapi/environments/production/<环境标识>/variable?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回示例

点击查看

  1. [
  2. {
  3. "key": "cpuLimit", # 全局变量的键
  4. "value": "1000m", # 全局变量的值
  5. "type": "string", # 全局变量的类型,包括 string、bool、yaml、enum 四种
  6. "options": [], # type 为 enum 时,全局变量的可选值
  7. "desc": "CPU Limit", # 全局变量描述
  8. "related_services": ["service1", "service2"] # 关联服务列表
  9. }
  10. ]

更新全局变量

提示

  1. 适用于 K8s YAML 项目。
  2. 更新全局变量后,关联的服务会同步更新。

测试环境

请求

  1. PUT /openapi/environments/<环境标识>/variable?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
global_variables需要更新的全局变量列表[]VariableKV

VariableKV 参数说明

参数名说明类型必填
key变量的键string
value变量的值string

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. PUT /openapi/environments/production/<环境标识>/variable?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
global_variables需要更新的全局变量列表[]VariableKV

VariableKV 参数说明

参数名说明类型必填
key变量的键string
value变量的值string

返回

  1. {
  2. "message": "success"
  3. }

添加环境配置

适用于 K8s YAML 项目。

测试环境

请求

  1. POST /openapi/environments/<环境标识>/envcfgs?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
name环境配置的名称string
common_env_cfg_type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string
yaml_data环境配置的内容string

Body 示例

点击查看

  1. {
  2. "name": "game-demo",
  3. "common_env_cfg_type": "ConfigMap",
  4. "yaml_data": "apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: game-demo\ndata:\n player_initial_lives: \"3\"\n ui_properties_file_name: \"user-interface.properties\"\n game.properties: |\n enemy.types=aliens,monsters\n player.maximum-lives=5 \n user-interface.properties: |\n color.good=purple\n color.bad=yellow\n allow.textmode=true"
  5. }

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. POST /openapi/environments/production/<环境标识>/envcfgs?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
name环境配置的名称string
common_env_cfg_type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string
yaml_data环境配置的内容string

Body 示例

点击查看

  1. {
  2. "name": "game-demo",
  3. "common_env_cfg_type": "ConfigMap",
  4. "yaml_data": "apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: game-demo\ndata:\n player_initial_lives: \"3\"\n ui_properties_file_name: \"user-interface.properties\"\n game.properties: |\n enemy.types=aliens,monsters\n player.maximum-lives=5 \n user-interface.properties: |\n color.good=purple\n color.bad=yellow\n allow.textmode=true"
  5. }

返回

  1. {
  2. "message": "success"
  3. }

查看环境配置列表

适用于 K8s YAML 项目。

测试环境

请求

  1. GET /openapi/environments/<环境标识>/envcfgs?projectKey=<项目标识>&type=<环境配置的类型>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string

返回示例

点击查看

  1. [
  2. {
  3. "name": "game-demo", # 环境配置的名称
  4. "env_name": "dev", # 环境名称
  5. "project_name": "simple-demo", # 项目标识
  6. "common_env_cfg_type": "ConfigMap", # 环境配置的类型
  7. },
  8. {
  9. "name": "istio-ca-root-cert",
  10. "env_name": "dev",
  11. "project_name": "simple-demo",
  12. "common_env_cfg_type": "ConfigMap",
  13. "update_time": 1687259964
  14. }
  15. ]

生产环境

请求

  1. GET /openapi/environments/production/<环境标识>/envcfgs?projectKey=<项目标识>&type=<环境配置的类型>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string

返回示例

点击查看

  1. [
  2. {
  3. "name": "game-demo", # 环境配置的名称
  4. "env_name": "dev", # 环境名称
  5. "project_name": "simple-demo", # 项目标识
  6. "common_env_cfg_type": "ConfigMap", # 环境配置的类型
  7. },
  8. {
  9. "name": "istio-ca-root-cert",
  10. "env_name": "dev",
  11. "project_name": "simple-demo",
  12. "common_env_cfg_type": "ConfigMap",
  13. "update_time": 1687259964
  14. }
  15. ]

查看环境配置详情

适用于 K8s YAML 项目。

测试环境

请求

  1. GET /openapi/environments/<环境标识>/envcfg/<环境配置名称>?projectKey=<项目标识>&type=<环境配置的类型>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string

返回示例

手动输入的环境配置示例

  1. {
  2. "configMap_detail": { // configMap环境配置资源详情,其他资源类型此处的key为:ingress_detail、secret_detail、pvc_detail
  3. "name": "istio-ca-root-cert", # 环境配置的名称
  4. "common_env_cfg_type": "ConfigMap", # 环境配置的类型
  5. "created_time": 1686225615, # 环境配置的创建时间,Unix 时间戳格式
  6. "env_key": "dev", # 环境标识
  7. "product_key": "simple-demo", # 项目标识
  8. "yaml_data": ".......", # 环境配置的 YAML 内容,string 格式
  9. "source_detail": { # 代码库配置,环境配置是从代码库导入时该字段有信息
  10. "git_repo_config": {
  11. "codehost_key": "kr-test", # 代码源标识
  12. "namespace": "kr-test-org1", # 组织名/用户名
  13. "owner": "kr-test-org1", # 代码库拥有者
  14. "repo": "config-data", # 代码库
  15. "branch": "main", # 代码分支
  16. },
  17. "load_path": "cm.yaml", # 文件路径
  18. "auto_sync": true # 自动同步开关
  19. }
  20. }
  21. }

生产环境

请求

  1. GET /openapi/environments/production/<环境标识>/envcfg/<环境配置名称>?projectKey=<项目标识>&type=<环境配置的类型>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string

返回示例

手动输入的环境配置示例

  1. {
  2. "configMap_detail": { // configMap环境配置资源详情,其他资源类型此处的key为:ingress_detail、secret_detail、pvc_detail
  3. "name": "istio-ca-root-cert", # 环境配置的名称
  4. "common_env_cfg_type": "ConfigMap", # 环境配置的类型
  5. "created_time": 1686225615, # 环境配置的创建时间,Unix 时间戳格式
  6. "env_key": "dev", # 环境标识
  7. "product_key": "simple-demo", # 项目标识
  8. "yaml_data": ".......", # 环境配置的 YAML 内容,string 格式
  9. "source_detail": { # 代码库配置,环境配置是从代码库导入时该字段有信息
  10. "git_repo_config": {
  11. "codehost_key": "kr-test", # 代码源标识
  12. "namespace": "kr-test-org1", # 组织名/用户名
  13. "owner": "kr-test-org1", # 代码库拥有者
  14. "repo": "config-data", # 代码库
  15. "branch": "main", # 代码分支
  16. },
  17. "load_path": "cm.yaml", # 文件路径
  18. "auto_sync": true # 自动同步开关
  19. }
  20. }
  21. }

更新环境配置

适用于 K8s YAML 项目。

请求

  1. PUT /openapi/environments/envcfgs?projectKey=<项目标识>

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

参数名说明类型必填
name要被更新的配置名称string
env_key环境标识string
common_env_cfg_type环境配置的类型,可选值如下:Secret、ConfigMap、PVC、Ingressstring
yaml_data配置的 YAML 内容string

Body 参数示例

点击查看

  1. {
  2. "name":"game-demo",
  3. "env_key":"dev",
  4. "common_env_cfg_type":"ConfigMap",
  5. "yaml_data": "apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: game-demo\ndata:\n player_initial_lives: \"3\"\n ui_properties_file_name: \"user-interface.properties\"\n\n game.properties: |\n enemy.types=aliens,monsters\n player.maximum-lives=25 \n user-interface.properties: |\n color.good=purple\n color.bad=yellow\n allow.textmode=true "
  6. }

返回

  1. {
  2. "message": "success"
  3. }

删除环境配置

适用于 K8s YAML 项目。

测试环境

请求

  1. DELETE /openapi/environments/<环境标识>/envcfg/<环境配置名称>?projectKey=<项目标识>&type=<环境配置的类型>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string

返回

  1. {
  2. "message": 200
  3. }

生产环境

请求

  1. DELETE /openapi/environments/production/<环境标识>/envcfg/<环境配置名称>?projectKey=<项目标识>&type=<环境配置的类型>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
type环境配置的类型,可选值如下:
ConfigMap
Ingress
Secret
PVC
string

返回

  1. {
  2. "message": 200
  3. }

调整服务实例副本数

请求

  1. POST /openapi/environments/scale

Body 参数说明

参数名说明类型必填
project_key项目标识string
env_key环境名称string
workload_name服务实例名称string
workload_type服务实例类型,可选项:DeploymentStatefulSetstring
target_replicas目标副本数量int

Body 参数示例

调整 microservice-demo 项目,dev 环境的 backend 服务副本数为 3:

  1. {
  2. "project_key": "microservice-demo",
  3. "env_key": "dev",
  4. "workload_name": "backend",
  5. "workload_type": "Deployment",
  6. "target_replicas": 3
  7. }

返回

  1. {
  2. "message": "success"
  3. }

重启服务实例

测试环境

请求

  1. POST /openapi/environments/<环境标识>/service/<服务名称>/restart?projectKey=<项目标识>

返回

  1. {
  2. "message": "success"
  3. }

生产环境

请求

  1. POST /openapi/environments/production/<环境标识>/service/<服务名称>/restart?projectKey=<项目标识>

返回

  1. {
  2. "message": "success"
  3. }

更新镜像

更新 Deployment 镜像

请求

  1. POST /openapi/environments/image/deployment/<环境标识>

Body 参数说明

参数名说明类型必填
product_name项目标识string
env_name环境名称string
service_name服务名称string
nameDeployment名称string
container_name容器名称string
image镜像string

Body 参数示例

  1. {
  2. "product_name":"patrick-dev1-k8s-1",
  3. "service_name":"service1",
  4. "container_name":"service1",
  5. "name":"service1",
  6. "image":"koderover.tencentcloudcr.com/test/service1:20231116105254-6-main",
  7. "env_name":"dev2"
  8. }

返回

  1. {
  2. "message": "success"
  3. }

更新 Statefulset 镜像

请求

  1. POST /openapi/environments/image/statefulset/<环境标识>

Body 参数说明

参数名说明类型必填
product_name项目标识string
env_name环境名称string
service_name服务名称string
nameDeployment名称string
container_name容器名称string
image镜像string

Body 参数示例

  1. {
  2. "product_name":"patrick-dev1-k8s-1",
  3. "service_name":"service1",
  4. "container_name":"service1",
  5. "name":"service1",
  6. "image":"koderover.tencentcloudcr.com/test/service1:20231116105254-6-main",
  7. "env_name":"dev2"
  8. }

返回

  1. {
  2. "message": "success"
  3. }

更新 Cronjob 镜像

请求

  1. POST /openapi/environments/image/cronjob/<环境标识>

Body 参数说明

参数名说明类型必填
product_name项目标识string
env_name环境名称string
service_name服务名称string
nameDeployment名称string
container_name容器名称string
image镜像string

Body 参数示例

  1. {
  2. "product_name":"patrick-dev1-k8s-1",
  3. "service_name":"service1",
  4. "container_name":"service1",
  5. "name":"service1",
  6. "image":"koderover.tencentcloudcr.com/test/service1:20231116105254-6-main",
  7. "env_name":"dev2"
  8. }

返回

  1. {
  2. "message": "success"
  3. }

列出事件

请求

  1. GET /openapi/environments/kube/events

Query 参数说明

参数名说明类型必填
projectKey项目标识string
envName环境名称string
nameinvolvedObject名称string
typeinvolvedObject类型string

返回

点击查看

  1. {
  2. [
  3. {
  4. "reason": "ScalingReplicaSet",
  5. "message": "Scaled up replica set service1-7cc994479d to 1",
  6. "first_seen": 1707396095,
  7. "last_seen": 1707396095,
  8. "count": 1,
  9. "type": "Normal"
  10. },
  11. {
  12. "reason": "ScalingReplicaSet",
  13. "message": "Scaled down replica set service1-67455dd499 to 0",
  14. "first_seen": 1707396102,
  15. "last_seen": 1707396102,
  16. "count": 1,
  17. "type": "Normal"
  18. }
  19. ]
  20. }

子环境

检查 Workload 的 K8S Service

请求

  1. GET /openapi/environments/<环境标识>/check/workloads/k8sservices

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回

点击查看

  1. ["service2.Deployment","service1.Deployment"]

开启子环境

请求

  1. POST /openapi/environments/<环境标识>/share/enable

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回

  1. {
  2. "message": "success"
  3. }

关闭子环境

请求

  1. DELETE /openapi/environments/<环境标识>/share/enable

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回

  1. {
  2. "message": "success"
  3. }

检查子环境 Ready

请求

  1. GET /openapi/environments/:name/check/sharenv/:op/ready

路径参数说明

参数名类型描述是否必须默认值
namestring环境名称
opstring操作类型,可选”enable”或”disable”

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回

点击查看

  1. {
  2. "is_ready": true,
  3. "checks": {
  4. "namespace_has_istio_label": false,
  5. "virtualservice_deployed": false,
  6. "pods_have_istio_proxy": false,
  7. "workloads_ready": true,
  8. "workloads_have_k8s_service": true
  9. }
  10. }

获取入口服务

请求

  1. GET /openapi/environments/:name/share/portal/:serviceName

路径参数说明

参数名类型描述是否必须默认值
namestring环境名称
serviceNamestring服务名称

Query 参数说明

参数名说明类型必填
projectKey项目标识string

返回

点击查看

  1. {
  2. "default_gateway_address": "81.69.166.47",
  3. "servers": [
  4. {
  5. "host": "zcms-a-b1.8slan.com",
  6. "port_number": 80,
  7. "port_protocol": "HTTP"
  8. },
  9. {
  10. "host": "a.zicemoshi-helm-env-dev",
  11. "port_number": 80,
  12. "port_protocol": "HTTP"
  13. }
  14. ]
  15. }

设置入口服务

请求

  1. POST /openapi/environments/:name/share/portal/:serviceName

路径参数说明

参数名类型描述是否必须默认值
namestring环境名称
serviceNamestring服务名称

Query 参数说明

参数名说明类型必填
projectKey项目标识string

Body 参数说明

类型必填
[]OpenAPISetPortalServiceRequest

OpenAPISetPortalServiceRequest 参数说明

参数名说明类型必填
host默认gateway地址,可能为ip或者域名string
port_number端口号uint32
port_protocol端口协议,HTTPstring

Body 示例

点击查看

  1. [
  2. {
  3. "host": "zcms-a-b1.8slan.com",
  4. "port_number": 80,
  5. "port_protocol": "HTTP"
  6. },
  7. {
  8. "host": "a.zicemoshi-helm-env-dev",
  9. "port_number": 80,
  10. "port_protocol": "HTTP"
  11. }
  12. ]

返回

  1. {
  2. "message": "success"
  3. }

查看环境服务详情

测试环境

请求

  1. GET /openapi/environments/<环境标识>/services/<服务名称>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
workLoadtype可选值如下:
StatefulSet
Deployment
CronJob
string

返回示例

点击查看

  1. {
  2. "service_name": "service1",
  3. "scales": [
  4. {
  5. "name": "service1",
  6. "type": "Deployment",
  7. "images": [
  8. {
  9. "name": "service1",
  10. "image": "koderover.tencentcloudcr.com/test/service1:20231214162411",
  11. "image_name": "service1"
  12. }
  13. ],
  14. "pods": [
  15. {
  16. "kind": "ReplicaSet",
  17. "name": "service1-5b94c8f98f-hsqfl",
  18. "status": "Running",
  19. "age": "34d",
  20. "createtime": 1704444315,
  21. "ip": "10.200.2.76",
  22. "labels": {
  23. "app.kubernetes.io/instance": "service1",
  24. "app.kubernetes.io/name": "yaml",
  25. "pod-template-hash": "5b94c8f98f",
  26. "s-product": "yaml",
  27. "s-service": "service1"
  28. },
  29. "containers": [
  30. {
  31. "name": "service1",
  32. "image": "koderover.tencentcloudcr.com/test/service1:20231214162411",
  33. "restart_count": 0,
  34. "status": "running",
  35. "ready": true,
  36. "ports": [
  37. {
  38. "containerPort": 20211,
  39. "protocol": "TCP"
  40. }
  41. ],
  42. "message": "",
  43. "reason": "",
  44. "started_at": 1704444316
  45. }
  46. ],
  47. "node_name": "172.16.0.46",
  48. "host_ip": "172.16.0.46",
  49. "enable_debug_container": false,
  50. "pod_ready": true,
  51. "containers_ready": true,
  52. "containers_message": ""
  53. }
  54. ],
  55. "replicas": 1,
  56. "zadigx_release_type": "",
  57. "zadigx_release_tag": ""
  58. }
  59. ],
  60. "ingress": [],
  61. "service_endpoints": [
  62. {
  63. "name": "service1",
  64. "age": "119d",
  65. "labels": {
  66. "app.kubernetes.io/instance": "service1",
  67. "app.kubernetes.io/name": "yaml",
  68. "s-product": "yaml",
  69. "s-service": "service1"
  70. },
  71. "endpoints": [
  72. {
  73. "service_name": "service1",
  74. "service_port": 20211,
  75. "node_port": 30593
  76. }
  77. ]
  78. }
  79. ],
  80. "cron_jobs": [],
  81. "namespace": "yaml-env-dev",
  82. "env_name": "dev",
  83. "product_name": "yaml",
  84. "group_name": ""
  85. }

生产环境

请求

  1. GET /openapi/environments/production/<环境标识>/services/<服务名称>

Query 参数说明

参数名说明类型必填
projectKey项目标识string
workLoadtype可选值如下:
StatefulSet
Deployment
CronJob
string

返回示例

点击查看

  1. {
  2. "service_name": "service1",
  3. "scales": [
  4. {
  5. "name": "service1",
  6. "type": "Deployment",
  7. "images": [
  8. {
  9. "name": "service1",
  10. "image": "koderover.tencentcloudcr.com/test/service1:20231214162411",
  11. "image_name": "service1"
  12. }
  13. ],
  14. "pods": [
  15. {
  16. "kind": "ReplicaSet",
  17. "name": "service1-5b94c8f98f-hsqfl",
  18. "status": "Running",
  19. "age": "34d",
  20. "createtime": 1704444315,
  21. "ip": "10.200.2.76",
  22. "labels": {
  23. "app.kubernetes.io/instance": "service1",
  24. "app.kubernetes.io/name": "yaml",
  25. "pod-template-hash": "5b94c8f98f",
  26. "s-product": "yaml",
  27. "s-service": "service1"
  28. },
  29. "containers": [
  30. {
  31. "name": "service1",
  32. "image": "koderover.tencentcloudcr.com/test/service1:20231214162411",
  33. "restart_count": 0,
  34. "status": "running",
  35. "ready": true,
  36. "ports": [
  37. {
  38. "containerPort": 20211,
  39. "protocol": "TCP"
  40. }
  41. ],
  42. "message": "",
  43. "reason": "",
  44. "started_at": 1704444316
  45. }
  46. ],
  47. "node_name": "172.16.0.46",
  48. "host_ip": "172.16.0.46",
  49. "enable_debug_container": false,
  50. "pod_ready": true,
  51. "containers_ready": true,
  52. "containers_message": ""
  53. }
  54. ],
  55. "replicas": 1,
  56. "zadigx_release_type": "",
  57. "zadigx_release_tag": ""
  58. }
  59. ],
  60. "ingress": [],
  61. "service_endpoints": [
  62. {
  63. "name": "service1",
  64. "age": "119d",
  65. "labels": {
  66. "app.kubernetes.io/instance": "service1",
  67. "app.kubernetes.io/name": "yaml",
  68. "s-product": "yaml",
  69. "s-service": "service1"
  70. },
  71. "endpoints": [
  72. {
  73. "service_name": "service1",
  74. "service_port": 20211,
  75. "node_port": 30593
  76. }
  77. ]
  78. }
  79. ],
  80. "cron_jobs": [],
  81. "namespace": "yaml-env-dev",
  82. "env_name": "dev",
  83. "product_name": "yaml",
  84. "group_name": ""
  85. }