应用平台 APPSTAGE-IAC3.0包:包结构

时间:2023-12-29 15:10:20

包结构

IaC Spec包用于描述环境,IaC Patch包用于描述环境中的一个组件。

  • IaC Spec包
    IaC Spec包结构如表1所示。
    表1 包结构

    位置

    类型

    个数

    描述

    iacspec_{service}_{version}.zip

    文件

    1

    IaC压缩包

    └── package.json

    文件

    1

    包描述文件

    └── global/

    文件夹

    1

    全局默认的IaC描述,包含完整文件结构

    └── meta.yaml

    文件

    1

    变更策略描述

    └── environment/

    文件夹

    1

    公共资源

    └── resources.yaml

    文件

    1

    公共资源列表

    └── values.yaml

    文件

    1

    公共资源参数值

    └── {microservice}/

    文件夹

    0-N

    微服务资源

    └── resources.yaml

    文件

    1

    微服务资源列表

    └── values.yaml

    文件

    1

    微服务资源参数值

    └── configs/

    文件夹

    1

    微服务配置目录

    └── config_schema.yaml

    文件

    1

    微服务配置字段定义

    └── {cluster}_config_records.yaml

    文件

    0-N

    微服务集群配置项

    └── specs/

    文件夹

    1

    环境特定的IaC描述,结构与global相同,但仅包含与global有差异的文件

    └── cn_dev_default/

    文件夹

    1

    研发联调环境

    └── environment/

    文件夹

    0-1

    环境公共资源

    └── values.yaml

    文件

    0-1

    公共资源参数值

    └── {microservice}/

    文件夹

    0-N

    微服务资源

    └── values.yaml

    文件

    0-1

    微服务资源参数值

    └── configs/

    文件夹

    0-1

    微服务配置目录

    └── {cluster}_config_records.yaml

    文件

    0-N

    微服务集群配置项

    └── cn_test_default/

    文件夹

    1

    测试联调环境

    └── cn_product_default/

    文件夹

    1

    中国区生产环境

    └── eu_product_default/

    文件夹

    1

    欧洲生产环境

    └── ru_product_default/

    文件夹

    1

    俄罗斯生产环境

    └── aaa_product_default/

    文件夹

    1

    亚非拉生产环境

    样例:
    └── iacspec_WiseEyeDeployService_1.1.2.zip
        ├── global/
        |   |── meta.yaml
        |   |── environment/...
        |   |── WiseEyeDeployConductorService/...
        |   ├── WiseEyeDeployRepoService/...
        |   └── WiseEyeDeployConsoleService/
        |       ├── config/
        |       |   ├── config_records.yaml
        |       |   └── config_schema.yaml
        |       ├── resources.yaml
        |       ├── packages.yaml
        |       └── values.yaml
        ├── specs/
        |   |── cn_dev_default/...
        |   ├── cn_test_default/...
        |   └── cn_product_default/
        |       |── WiseEyeDeployConductorService/...
        |       ├── WiseEyeDeployRepoService/...
        |       └── WiseEyeDeployConsoleService/
        |           |── values.yaml
        |           └── config/
        |               └──  config_records.yaml
        └── package.json
    package.json的字段如表2所示。
    表2 字段

    位置

    类型

    必填

    描述

    type

    string

    包类型,常量:iacspec。

    name

    string

    包名称,格式:service/{service-id},其中service-id为服务ID。

    version

    string

    版本号

    样例:

    {   
      "type": "iacspec",  
       "name": "service/com.huawei.wiseeyedeployservice",   
      "version": "1.0.0"
     } 
support.huaweicloud.com/devg-appstage/appstage_06_0025.html