DevSecOps 应用程序生命周期管理必选和可选变量
使用所需的变量为现成的体验创建工具链。 然后使用可选变量对工具链进行其他调整。
必需的输入变量
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
toolchain_name |
该变量指定 CI、CD 和 CC 工具链名称的根名称。 将自动添加固定的后缀。 设置 DevSecOps 将生成名称为 DevSecOps-CI-Toolchain、DevSecOps-CD-Toolchain 和 DevSecOps-CC-Toolchain 的工具链。 每个工具链的全名可通过 ci_toolchain_name、cd_toolchain_name 和 cc_toolchain_name 单独设置。 |
string |
"DevSecOps" |
toolchain_region |
区域标识符,默认用于所有资源创建和服务实例查找。 这可以根据每个资源/服务的情况进行重写。 | string |
"us-south" |
toolchain_resource_group |
资源组,默认用于所有资源创建和服务实例查找。 这可以根据每个资源/服务的情况进行重写。 | string |
"Default" |
registry_namespace |
IBM Cloud Container Registry 区域内的唯一命名空间,应用程序映像存储在该区域内。 | string |
"" |
sm_location |
托管 Secrets Manager 实例的区域。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"us-south" |
sm_name |
现有 Secret Managers 实例的名称。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"sm-instance" |
sm_resource_group |
包含 Secrets Manager 实例的现有资源组名称。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"Default" |
sm_secret_group |
Secrets Manager 秘密组,包含 DevSecOps 管道的秘密。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"Default" |
ci_pipeline_properties |
此 JSON 表示属于 CI 工具链中 CI 和 PR 管道的管道属性。 JSON 中的每个元素都代表一个独立的管道属性。 创建一个属性需要三个属性。 它们是 name 字段(名称在管道属性中的显示方式)、type (文本、安全和枚举)以及 value。 请勿将 secure 类型的秘密直接写入 JSON,secret 类型的值应是指向配置的秘密提供者中秘密的
CRN 或指向配置的秘密提供者中秘密的秘密引用。 |
string |
"" |
cd_pipeline_properties |
该 JSON 表示 CD 工具链中属于 CD 管道的管道属性。 JSON 中的每个元素都代表一个独立的管道属性。 创建一个属性需要三个属性。 它们是 name 字段(名称在管道属性中的显示方式)、type (文本、安全和枚举)以及 value。 请勿将 secure 类型的秘密直接写入 JSON,secret 类型的值应是指向配置的秘密提供者中秘密的
CRN 或指向配置的秘密提供者中秘密的秘密引用。 |
string |
"" |
cc_pipeline_properties |
该 JSON 表示属于 CC 工具链中 CC 管道的管道属性。 JSON 中的每个元素都代表一个独立的管道属性。 创建一个属性需要三个属性。 它们是 name 字段(名称在管道属性中的显示方式)、type (文本、安全和枚举)以及 value。 请勿将 secure 类型的秘密直接写入 JSON,secret 类型的值应是指向配置的秘密提供者中秘密的
CRN 或指向配置的秘密提供者中秘密的秘密引用。 |
string |
"" |
cluster_name |
(仅 Kubernetes 变体需要)部署应用程序的 Kubernetes 集群名称。 这将为 CI 和 CD 工具链设置相同的群集名称。 请参阅 ci_cluster_name 和 cd_cluster_name 设置不同的群集名称。 默认情况下,CI 的群集命名空间将设置为 dev,CD 将设置为 prod。 可以使用 ci_cluster_namespace 和 cd_cluster_namespace 对其进行更改。 |
string |
"mycluster-free" |
ci_code_engine_project |
(仅在 Kubernetes 变体中需要)要使用的 Code Engine 项目名称。 如果项目还不存在,则将创建该项目。 | string |
"DevSecOps_CE" |
cd_code_engine_project |
(仅在 Kubernetes 变体中需要)用于 CD 管道推广代码的 Code Engine 项目名称。 如果项目还不存在,则将创建该项目。 | string |
"Sample_CD_Project" |
ibmcloud_api_key |
用于创建工具链的 API 密钥。 |
以 ci,cd 和 cc 为前缀的变量适用于 CI,CD 和 CC 工具链。 非前缀变量适用于所有工具链。 此外,修改前缀变量输入的缺省值会导致前缀变量输入优先于非前缀变量输入。
可选输入变量
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
add_code_engine_prefix |
设置为 true 时,将使用 prefix 为代码引擎项目名称添加前缀。 |
bool |
true |
add_container_name_suffix |
设置为 true 时,将为指定的 ICR 名称添加一个随机后缀。 |
bool |
false |
add_pipeline_definitions |
设置为 true 可添加管道定义。 |
string |
"true" |
app_group |
为应用程序资源库指定 Git 用户或组。 | string |
"" |
app_repo_auth_type |
选择用于访问 Git 资源库的身份验证方法。 有效值为 "oauth "或 "pat"。 未设置时默认为 oauth。pat 是一个 git personal access token。 |
string |
"" |
app_repo_branch |
这是默认示例应用程序使用的版本库分支。 或者,如果提供了 app_repo_existing_url,则分支必须反映该版本库的默认分支。 这些分支通常是 main 或 master。 |
string |
"main" |
app_repo_clone_from_url |
通过提供自己的示例应用程序 URL 来覆盖默认示例应用程序,并将其克隆到应用程序资源库中。 注意,使用 clone_if_not_exists 模式,因此如果应用程序版本库已经存在,版本库内容将保持不变。 |
string |
"" |
app_repo_clone_to_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
app_repo_clone_to_git_provider |
默认设置为 "hostedgit",否则 GitHub 版本库设置为 "githubconsolidated"。 | string |
"" |
app_repo_existing_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
app_repo_existing_git_provider |
默认设置为 "hostedgit",否则 GitHub 版本库设置为 "githubconsolidated"。 | string |
"" |
app_repo_existing_url |
通过提供 URL.NET Framework 2.0,您可以使用自己现有的应用程序资源库。 这将为您的应用程序库创建一个集成,而不是克隆默认示例。 存在于不同组织中的存储库需要使用 Git 令牌。 参见 app_repo_git_token_secret_name 下的可选变量。 |
string |
"__NOTSET__" |
app_repo_git_token_secret_crn |
用于访问示例应用程序资源库的 Git 令牌的 CRN。 | string |
"" |
app_repo_git_token_secret_name |
用于访问示例(或自带)应用程序存储库的 Git 令牌密文的名称。 | string |
"" |
app_repo_secret_group |
应用程序存储库密文的密文组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
authorization_policy_creation |
禁用工具链服务 Secrets Manager / Key Protect /通知服务授权策略创建。 要禁用,请将值设置为 disabled。 这适用于 CI,CD 和 CC 工具链。 要独立设置,请参阅 ci_authorization_policy_creation, cd_authorization_policy_creation,和 cc_authorization_policy_creation。 |
string |
"" |
autostart |
设置为 true 可在创建后自动运行 CI 工具链中的 CI 管道。 |
bool |
false |
cluster_name |
在其中部署应用程序的 Kubernetes 集群的名称。 这将为 CI 和 CD 工具链设置相同的群集名称。 请参阅 ci_cluster_name 和 cd_cluster_name 设置不同的群集名称。 默认情况下,CI 的群集命名空间将设置为 dev,CD 将设置为 prod。 可以使用 ci_cluster_namespace 和
cd_cluster_namespace 对其进行更改。 |
string |
"mycluster-free" |
code_engine_project |
要使用的 Code Engine 项目的名称。 如果不存在,则创建。 适用于 CI 和 CD 工具链。 要单独设置,请使用 ci_code_engine_project 和 cd_code_engine_project。 |
string |
"" |
compliance_pipeline_branch |
合规管道定义分支。 请参阅 ci_compliance_pipeline_branch、cd_compliance_pipeline_branch 和 cc_compliance_pipeline_branch 进行独立设置。 |
string |
"open-v10" |
compliance_pipeline_existing_repo_url |
现有合规管道存储库的 URL。 | string |
"" |
compliance_pipeline_group |
为合规管道存储库指定用户或组。 | string |
"" |
compliance_pipeline_repo_auth_type |
选择用于访问 Git 资源库的身份验证方法。 有效值为 "oauth "或 "pat"。 未设置时默认为 oauth。pat 是一个 git personal access token。 |
string |
"" |
compliance_pipeline_repo_blind_connection |
将此值设置为 true 意味着服务器无法在公共互联网上寻址。 IBM Cloud无法验证您提供的连接详细信息。 某些需要通过 API 访问 git 服务器的功能将被禁用。 交付管道只能使用可通过网络访问 git 服务器的私有 Worker 才能运行。 |
bool |
false |
compliance_pipeline_repo_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 ID。 |
string |
"" |
compliance_pipeline_repo_git_provider |
Git 管道回购提供商 | string |
"" |
compliance_pipeline_repo_git_token_secret_crn |
用于访问示例应用程序资源库的 Git 令牌的 CRN。 | string |
"" |
compliance_pipeline_repo_git_token_secret_name |
用于访问合规性管道存储库的秘密提供程序中 Git 令牌秘密的名称。 | string |
"" |
compliance_pipeline_repo_name |
如果克隆,设置合规管道仓库的名称。 预期行为是链接到现有的合规管道资源库。 | string |
"" |
compliance_pipeline_repo_root_url |
(可选)服务器的根 URL,如 https://git.example.com。 | string |
"" |
compliance_pipeline_repo_secret_group |
合规管道存储库密文的密文组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
compliance_pipeline_repo_title |
(可选)服务器的标题,如 My Git Enterprise Server。 | string |
"" |
compliance_pipeline_repo_use_group_settings |
设为 true 可将组级版本库设置应用到合规管道版本库。 请参见 repo_git_provider。 |
bool |
true |
continuous_delivery_service_name |
CD 实例的名称。 | string |
"cd-devsecops" |
cos_api_key_secret_crn |
Cloud Object Storage apikey 的 CRN。 适用于 CI、CD 和 CC 工具链。 可独立使用 ci_cos_api_key_secret_crn,cd_cos_api_key_secret_crn,cc_cos_api_key_secret_crn。 |
string |
"" |
cos_api_key_secret_group |
COS api 密钥的密文组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
cos_api_key_secret_name |
Cloud Object Storage API 密钥提供者中用于访问证据 COS 桶的密钥名称。 此外,还必须设置 cos_endpoint 和 cos_bucket_name。 此设置可为 CI、CD 和 CC 工具链中的 COS 设置设置相同的 API 密钥。 |
string |
"" |
cos_api_key_secret_value |
用户提供的具有 COS 访问权限的 api 密钥可推送到 Secrets Manager。 见 cos_api_key_secret_name 和 create_cos_api_key。 |
string |
"" |
cos_bucket_name |
设置 COS 存储区的名称。 这将对 CI,CD 和 CC 工具链应用相同的 COS 存储区名称。 请参阅 ci_cos_bucket_name,cd_cos_bucket_name 和 cc_cos_bucket_name 以单独设置。 |
string |
"" |
cos_endpoint |
包含证据桶的云对象 Stroage 实例的端点。 此设置为 CI,CD 和 CC 工具链中的 COS 设置相同的端点。 请参阅 ci_cos_endpoint、cd_cos_endpoint 和 cc_cos_endpoint 单独设置端点。 |
string |
"" |
| cos_instance_crn | Cloud Object Storage 实例的 CRN,其中包含所需的存储桶。 创建 IAM 服务凭证时,需要此值来生成正确的访问策略。 | string |
"" |
create_access_group |
设置为 true 可为 DevSecOps 工具链的操作创建一个访问组。 |
bool |
false |
create_cc_toolchain |
布尔标志,用于确定是否创建 DevSecOps CC 工具链。 | bool |
true |
create_cd_instance |
设置为 true 以创建 Continuous Delivery 服务。 |
bool |
false |
create_cd_toolchain |
布尔标志,用于确定是否创建 DevSecOps CD 工具链。 | bool |
true |
create_ci_toolchain |
标志,用于确定是否创建 DevSecOps CI 工具链。 如果未创建该工具链,则必须为以下变量设置值:issues_repo_url 和 inventory_repo_url。 | bool |
true |
create_code_engine_access_policy |
为生成的 IAM 访问密钥添加 Code Engine 访问策略。 请参阅 create_ibmcloud_api_key。 |
bool |
true |
create_cos_api_key |
设置为 true 可创建 cos-api-key 并添加到秘密提供程序。 |
bool |
false |
create_git_token |
设为 true 可创建指定的个人访问令牌密文并将其添加到密文提供程序。 使用 repo_git_token_secret_value 设置数值。 |
bool |
false |
create_git_triggers |
设置为 true 可创建与合规性软件仓库和示例应用程序相关联的默认 Git 触发器。 |
string |
"true" |
create_ibmcloud_api_key |
设置为 true 可创建 ibmcloud-api-key 并添加到秘密提供程序。 |
bool |
false |
create_icr_namespace |
设置为 true 可让 Terraform 创建注册表命名空间。 设置为 false 将使 CI 管道创建尚未存在的命名空间。 注意:如果使用 Terraform 销毁,ICR 命名空间和所有图像都将被移除。 |
bool |
false |
create_kubernetes_access_policy |
为生成的 IAM 访问密钥添加 Kubernetes 访问策略。 请参阅 create_ibmcloud_api_key。 |
bool |
false |
create_privateworker_secret |
设置为 true 可将指定的私有 Worker 服务 api 密钥添加到秘密提供程序。 这样还能在工具链中集成私人工人工具。 |
bool |
false |
create_secret_group |
设置为 true 可创建指定的 Secrets Manager 保密组。 |
bool |
false |
create_signing_key |
设置为 true 可创建并添加 signing-key 和 signing-certificate 到秘密提供者。 |
bool |
false |
create_triggers |
设置为 true 可创建与合规性软件仓库和示例应用程序相关的默认触发器。 |
string |
"true" |
enable_pipeline_notifications |
启用后,管道运行事件将发送到外层工具链中的 Event Notifications 和 Slack 集成。 | string |
"" |
enable_privateworker |
设置为 true 以启用 CI、CD、CC 和 PR 管道的私人工人。 必须在 Secrets Manager 中设置有效的服务 api 密钥。 可以使用 privateworker_credentials_secret_name 指定该秘密的名称。 |
string |
"false" |
enable_secrets_manager |
设置为 true 可启用 Secrets Manager 集成。 |
string |
"true" |
enable_slack |
设置为 true 以创建 Slack 工具链集成。 这需要有效的 slack_channel_name,slack_team_name 和有效的 webhook (请参阅 slack_webhook_secret_name)。 此设置适用于 CI,CD 和 CC 工具链。 |
string |
"false" |
environment_prefix |
默认情况下 ibm:yp:。 在需要时,这将自动设置为区域的前缀。 例如 ibm:yp:us-south。 |
string |
"ibm:yp:" |
environment_tag |
表示库存中目标环境的标记名称。 例如:prod_latest. | string |
"prod_latest" |
event_notifications_crn |
设置 Event Notifications CRN 以创建事件通知集成。 该参数适用于 CI、CD 和 CC 工具链。 可通过 ci_event_notifications_crn, cd_event_notifications_crn, cc_event_notifications_crn 独立设置。 |
string |
"" |
event_notifications_tool_name |
Event Notifications 集成的名称。 | string |
"Event Notifications" |
force_create_standard_api_key |
设置为 true 可强制创建标准 api 密钥。 默认情况下,生成的 apikey 将是服务 api 密钥。 使用服务 api 密钥时,建议使用 Git 令牌。 如果用户已被邀请使用某个账户,但该用户并非账户所有者,那么在创建工具链时,默认的合规性存储库将在该用户的账户中创建,服务 api 将无法访问这些存储库。 在这种情况下,需要为存储库提供 Git 令牌。 详情请见 repo_git_token_secret_name。
另一种方法是将 force_create_standard_api_key 设置为 true,以创建标准 api 密钥。 |
bool |
false |
ibmcloud_api |
环境 URL。 未设置时,默认值为 https://cloud.ibm.com |
string |
"" |
ibmcloud_api_key |
用于创建工具链的 API 密钥。 (参见部署指南)。 | string |
不适用 |
inventory_group |
为清单存储库指定 Git 用户或组。 | string |
"" |
inventory_repo_auth_type |
选择用于访问 Git 资源库的身份验证方法。 有效值为 "oauth "或 "pat"。 未设置时默认为 oauth。pat 是一个 git personal access token。 |
string |
"" |
inventory_repo_existing_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
inventory_repo_existing_git_provider |
Git 清单 repo 的提供者。 如果未设置,则默认为 hostedgit。 |
string |
"" |
inventory_repo_existing_url |
设置为使用现有清单存储库。 | string |
"" |
inventory_repo_git_token_secret_crn |
用于访问清单存储库的 Git 令牌的 CRN。 | string |
"" |
inventory_repo_git_token_secret_name |
用于访问清单存储库的 Git 令牌密文在密文提供者中的名称。 | string |
"" |
inventory_repo_integration_owner |
版本库集成所有者的名称。 | string |
"" |
inventory_repo_name |
设置为使用清单存储库的自定义名称。 | string |
"" |
inventory_repo_secret_group |
清单存储库密文的密文组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
issues_group |
为问题库指定 Git 用户或组。 | string |
"" |
issues_repo_auth_type |
选择用于访问 Git 资源库的身份验证方法。 有效值为 "oauth "或 "pat"。 未设置时默认为 oauth。pat 是一个 git personal access token。 |
string |
"" |
issues_repo_existing_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
issues_repo_existing_git_provider |
Git 问题库的提供者。 如果未设置,则默认为 hostedgit。 |
string |
"" |
issues_repo_existing_url |
默认设置为 "hostedgit",否则 GitHub 版本库设置为 "githubconsolidated"。 | string |
"" |
issues_repo_git_token_secret_crn |
用于访问问题库的 Git 令牌的 CRN。 | string |
"" |
issues_repo_git_token_secret_name |
用于访问问题存储库的 Git 令牌密文在密文提供者中的名称。 | string |
"" |
issues_repo_integration_owner |
版本库集成所有者的名称。 | string |
"" |
issues_repo_name |
设置为为问题库使用自定义名称。 | string |
"" |
issues_repo_secret_group |
问题存储库秘密组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
pipeline_config_group |
为合规管道存储库指定 Git 用户或组。 | string |
"" |
pipeline_config_repo_auth_type |
选择用于访问 Git 资源库的身份验证方法。 有效值为 "oauth "或 "pat"。 未设置时默认为 oauth。pat 是一个 git personal access token。 |
string |
"" |
pipeline_config_repo_branch |
指定包含自定义 pipeline-config.yaml 文件的分支。 | string |
"" |
pipeline_config_repo_clone_from_url |
指定包含自定义 pipeline-config.yaml 文件的存储库。 | string |
"" |
pipeline_config_repo_existing_url |
指定并链接到包含自定义 pipeline-config.yaml 文件的现有资源库。 | string |
"" |
pipeline_config_repo_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
pipeline_config_repo_git_provider |
管道仓库配置的 Git 提供商 | string |
"" |
pipeline_config_repo_git_token_secret_crn |
Git 令牌的 CRN,用于访问管道配置存储库。 | string |
"" |
pipeline_config_repo_git_token_secret_name |
用于访问管道配置存储库的秘密提供程序中 Git 令牌秘密的名称。 | string |
"" |
pipeline_config_repo_secret_group |
用于 Pipeline Config 存储库秘密的秘密组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
pipeline_git_tag |
合规管道定义的 GIT 标记选择器。 | string |
"" |
pipeline_ibmcloud_api_key_secret_crn |
用于运行管道的 IBMCloud apikey 的 CRN。 | string |
"" |
pipeline_ibmcloud_api_key_secret_group |
管道 ibmcloud API 密钥秘密组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
pipeline_ibmcloud_api_key_secret_name |
用于运行管道的秘密提供商中云 API 密钥秘密的名称。 适用于 CI、CD 和 CC 工具链。 | string |
"ibmcloud-api-key" |
pipeline_ibmcloud_api_key_secret_value |
用户提供的 api 密钥,用于运行可推送至 Secrets Manager 的工具链管道。 见 pipeline_ibmcloud_api_key_secret_name 和 create_ibmcloud_api_key。 |
string |
"" |
pipeline_git_tag |
合规管道定义的 GIT 标记选择器。 | string |
"" |
prefix |
添加到工具链资源中的前缀。 | string |
"" |
privateworker_credentials_secret_crn |
私人工人秘密的 CRN。 | string |
"" |
privateworker_credentials_secret_group |
专用 Worker 密文的密文组前缀。 如果未设置,则默认使用 sm_secret_group。 仅与 Secrets Manager 配合使用。 |
string |
"" |
privateworker_credentials_secret_name |
秘密提供者中的私人工作者秘密名称。 | string |
"" |
privateworker_name |
私营工人工具集成的名称。 | string |
"private-worker-tool-01" |
privateworker_secret_value |
私人 Worker 服务 api 密钥,将添加到秘密提供程序中的 privateworker_credentials_secret_name secret 中。 |
string |
"" |
registry_namespace |
IBM Cloud Container Registry 区域内的唯一命名空间,应用程序映像存储在该区域内。 | string |
"" |
repo_apply_settings_to_compliance_repos |
设置为 true 可将相同设置应用于所有默认合规性存储库。 设置为 false 可将这些设置仅应用于示例应用程序、管道配置和部署存储库。 |
bool |
true |
repo_blind_connection |
将此值设置为 true 意味着服务器无法在公共互联网上寻址。 IBM Cloud无法验证您提供的连接详细信息。 某些需要通过 API 访问 git 服务器的功能将被禁用。 交付管道只能使用可通过网络访问 git 服务器的私有 Worker 才能运行。 |
bool |
false |
repo_git_id |
合规版本库的 Git ID。 | string |
"" |
repo_git_provider |
Git 提供商类型。 | string |
"" |
repo_git_token_secret_crn |
存储库 Git 令牌的 CRN。 | string |
"" |
repo_git_token_secret_name |
私钥提供程序中 Git 令牌私钥的名称。 为 Git 令牌指定私钥名称会自动将认证类型设置为 pat。 |
string |
"" |
repo_git_token_secret_value |
个人访问令牌,将被添加到秘密提供程序中的 repo_git_token_secret_name 秘密中。 |
string |
"" |
repo_group |
为您的应用程序指定 Git 用户或组。 如果存储库认证类型为 pat (个人访问令牌),那么必须设置此项。 |
string |
"" |
repo_root_url |
(可选)服务器的根 URL,如 https://git.example.com。 | string |
"" |
repo_secret_group |
Secrets Manager 中包含存储库秘密的秘密组。 该变量将为所有软件源设置相同的秘密组。 可根据每个秘密群组的情况进行重写。 仅在使用 Secrets Manager时适用。 | string |
"" |
repo_title |
(可选)服务器的标题,如 My Git Enterprise Server。 | string |
"" |
repositories_prefix |
克隆的合规性存储库的前缀名称。 对于 repositories_prefix 值,只允许使用 a-z、A-Z 和 0-9 以及特殊字符 -_。 此外,字符串不得以特殊字符结尾,也不得有两个连续的特殊字符。 |
string |
"compliance" |
rotate_signing_key |
设置为 true 可旋转签名密钥和签名证书。 备份当前代码签名证书非常重要,因为待部署的 CD 可能需要根据以前的签名密钥进行映像验证。 |
bool |
false |
rotation_period |
ibmcloud-api-key 和 cos-api-key 自动轮换的天数。 |
number |
90 |
sample_default_application |
示例应用程序存储库的名称。 资源库源 URL 会根据工具链区域自动计算。 目前支持的另一个名称是 code-engine-compliance-app。 另外,还可以创建一个集成,链接到现有资源库或从现有资源库克隆。 请参阅 app_repo_existing_url 和 app_repo_clone_from_url 以覆盖示例应用程序的默认行为。 |
string |
"code-engine-compliance-app" |
slack_channel_name |
发布通知的 Slack 频道名称。 这适用于 CI,CD 和 CC 工具链。 独立设置见 ci_slack_channel_name, cd_slack_channel_name,和 cc_slack_channel_name。 |
string |
"" |
slack_integration_name |
Slack 集成的名称。 | string |
"slack-compliance" |
slack_team_name |
Slack 团队名称,即团队 URL 中 .slack.com 前面的单词或短语。 这适用于 CI,CD 和 CC 工具链。 要独立设置,请参阅 ci_slack_team_name, cd_slack_team_name,和 cc_slack_team_name。 |
string |
"" |
slack_webhook_secret_crn |
用于访问指定 Slack 频道的 Slack webhook 秘密的 CRN。 | string |
"" |
slack_webhook_secret_group |
Slack webhook 秘密的秘密组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
slack_webhook_secret_name |
用于访问已配置 Slack 频道的秘密提供程序中 webhook 秘密的名称。 这适用于 CI,CD 和 CC 工具链。 要独立设置,请参阅 ci_slack_webhook_secret_name, cd_slack_webhook_secret_name,和 cc_slack_webhook_secret_name。 |
string |
"slack-webhook" |
sm_endpoint_type |
Secrets Manager 的目标服务端点类型。 有效值为 private 和 public。 |
string |
"private" |
sm_instance_crn |
Secrets Manager 实例的 CRN。 除非单独设置,否则将适用于 CI、CD 和 CC 工具链。 使用 CRN 设置 Secrets Manager 整合优先于非 CRN 设置。 | string |
"" |
sm_integration_name |
Secrets Manager 集成的名称。 | string |
"sm-compliance-secrets" |
sm_location |
托管 Secrets Manager 实例的区域。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"us-south" |
sm_name |
现有 Secret Managers 实例的名称。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"sm-instance" |
sm_resource_group |
包含 Secrets Manager 实例的现有资源组名称。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"Default" |
sm_secret_expiration_period |
机密失效前的天数。 留空表示不为创建的秘密设置过期时间。 | string |
"" |
sm_secret_group |
Secrets Manager 秘密组,包含 DevSecOps 管道的秘密。 这适用于 CI,CD 和 CC Secret Manager 集成。 | string |
"Default" |
sonarqube_integration_name |
SonarQube 集成的名称。 | string |
"SonarQube" |
sonarqube_is_blind_connection |
当设置为 true 时,指示 IBM Cloud Continuous Delivery 不验证此集成的配置。 如果 SonarQube 服务器无法在公共互联网上寻址,则将其设置为 true。 |
string |
"true" |
sonarqube_secret_crn |
用于访问 SonarQube 的秘密的 CRN。 | string |
"" |
sonarqube_secret_group |
SonarQube 秘密小组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
sonarqube_secret_name |
SonarQube 秘密提供者中的秘密名称。 | string |
"sonarqube-secret" |
sonarqube_server_url |
URL 至 SonarQube 服务器。 | string |
"" |
sonarqube_user |
SonarQube 用户的名称。 | string |
"" |
toolchain_access_group_name |
DevSecOps 访问组的名称。 请参阅 create_access_group。 |
string |
"devsecops-toolchain" |
toolchain_name |
该变量指定 CI、CD 和 CC 工具链名称的根名称。 将自动添加固定的后缀。 设置 DevSecOps 将生成名称为 DevSecOps-CI-Toolchain、DevSecOps-CD-Toolchain 和 DevSecOps-CC-Toolchain 的工具链。 每个工具链的全名可通过 ci_toolchain_name、cd_toolchain_name 和 cc_toolchain_name 单独设置。 |
string |
"DevSecOps" |
toolchain_region |
区域标识符,默认用于所有资源创建和服务实例查找。 这可以根据每个资源/服务的情况进行重写。 | string |
"us-south" |
toolchain_resource_group |
资源组,默认用于所有资源创建和服务实例查找。 这可以根据每个资源/服务的情况进行重写。 | string |
"Default" |
use_app_repo_for_cd_deploy |
设置为 true 可将 CI 示例应用程序仓库用作 CD 管道中的部署仓库。 这将在管道配置集成中设置。 |
bool |
true |
legacy_ref |
设置为 true,则 Secrets Manager 秘密将使用传统秘密参考格式。 |
bool |
true |
工具链创建变量
以下变量确定要创建的工具链。 默认情况下,三者都设置为 true,这将创建 DevSecOps CI、CD 和 CC 工具链。 可以创建这三个工具链的任意组合。
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
create_ci_toolchain |
确定是否创建 DevSecOps CI 工具链。 如果未创建该工具链,则必须为以下变量设置值:issues_repo_existing_url,和 inventory_repo_existing_url。 |
bool |
true |
create_cd_toolchain |
布尔标志,用于确定是否创建 DevSecOps CD 工具链。 | bool |
true |
create_cc_toolchain |
布尔标志,用于确定是否创建 DevSecOps CC 工具链。 | bool |
true |
合规性存储库
如果未创建 CI 工具链,那么必须设置以下变量。
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
issues_repo_existing_url |
用于克隆 compliance-issues 参考 DevSecOps 工具链模板的模板库。 |
string |
"" |
inventory_repo_existing_url |
用于克隆合规性-目录的模板库,以参考 DevSecOps 工具链模板。 | string |
"" |
自带代码
DevSecOps 工具链的默认体验是使用示例应用程序。 可以更新此缺省值,以便为您自己的应用程序存储库创建集成,此集成可以设置为克隆现有存储库或使用现有存储库。 设置以下变量以克隆或使用现有存储库:
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
app_repo_branch |
这是默认示例应用程序使用的版本库分支。 或者,如果提供了 app_repo_existing_url,则分支必须反映该版本库的默认分支。 这些分支通常是 main 或 master。 |
string |
"main" |
app_repo_clone_from_url |
通过提供自己的示例应用程序 URL 来覆盖默认示例应用程序,并将其克隆到应用程序资源库中。 注意,使用 clone_if_not_exists 模式,因此如果应用程序版本库已经存在,版本库内容将保持不变。 |
string |
"" |
app_repo_clone_to_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
app_repo_clone_to_git_provider |
默认设置为 "hostedgit",否则 GitHub 版本库设置为 "githubconsolidated"。 | string |
"" |
app_repo_existing_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
app_repo_existing_git_provider |
默认设置为 "hostedgit",否则 GitHub 版本库设置为 "githubconsolidated"。 | string |
"" |
app_repo_existing_url |
通过提供 URL.NET Framework 2.0,您可以使用自己现有的应用程序资源库。 这将为您的应用程序库创建一个集成,而不是克隆默认示例。 存在于不同组织中的存储库需要使用 Git 令牌。 参见 app_repo_git_token_secret_name 下的可选变量。 |
string |
"__NOTSET__" |
要在自助托管的 GitHub Enterprise 服务器中使用现有应用程序,请使用以下示例设置:
| 名称 | 值 |
|---|---|
app_repo_existing_url |
"https://{github server}/{my-org}/{my-repo}.git" |
app_repo_branch |
"main" |
app_repo_existing_git_provider |
"githubconsolidated" |
app_repo_existing_git_id |
"integrated" |
密钥
要运行所有工具链,您至少需要以下私钥:
- 用于运行工具链的 API 密钥。
- 用于对 CI 工具链中的图像进行签名的 GPG 密钥。
默认情况下,DevSecOps 工具链希望秘密位于 Secrets Manager 中。 API 密钥必须与 ibmcloud-api-key 条目以及存储在 signing_key 下的签名密钥一起存储。
要为 DevSecOps 工具链创建 API 密钥,请参阅 IBM Cloud® API 密钥,并查看 IAM 访问权限。 仅当您在其他某个帐户中运行工具链时,IAM 访问许可权才相关。 请勿将用于运行工具链的
API 密钥与称为 ibmcloud_api_key 的 API 密钥混淆,这是设置工具链所需的其中一个输入。
ibmcloud-api-key 和 signing_key 是私钥保险库中期望的私钥的缺省名称。 可以更改这些缺省名称。 详见下表:
| 名称 | 描述 | 值 |
|---|---|---|
pipeline_ibmcloud_api_key_secret_name |
用于运行管道的秘密提供商中云 API 密钥秘密的名称。 适用于 CI、CD 和 CC 工具链。 | string |
ci_signing_key_secret_name |
密钥提供程序中签名密钥的名称。 | "signing_key" |
要获取更多私钥名称,请在变量列表中搜索 "secret_name"。
可选 CI,CD 和 CC 变量
如果使用代码引擎进行部署,请参阅 可选 Code Engine CI 和 CD 变量
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
deployment_repo_url |
用于克隆部署 DevSecOps 工具链模板的版本库。 | string |
"" |
ibmcloud_api |
IBM Cloud® API 端点。 | string |
"https://cloud.ibm.com" |
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
ci_app_name |
应用程序映像和库存条目的名称。 | string |
"hello-compliance-app" |
ci_app_repo_branch |
这是默认示例应用程序使用的版本库分支。 或者,如果提供了 app_repo_existing_url,则分支必须反映该版本库的默认分支。 这些分支通常是 main 或 master。 |
string |
"" |
ci_cluster_name |
部署应用程序的群集名称。(可以是用于 prod | string |
"" |
ci_cluster_namespace |
部署应用程序的群集命名空间名称。 | string |
"dev" |
ci_cluster_region |
部署应用程序的群集所在区域。 使用各地区的简称。 例如 us-south。 |
string |
"" |
ci_cluster_resource_group |
集群资源组。 | string |
"" |
ci_code_engine_project |
要使用的 Code Engine 项目的名称。 | string |
"DevSecOps_CE" |
ci_code_engine_region |
要为 Code Engine 项目创建/查找的区域。 | string |
"" |
ci_code_engine_resource_group |
Code Engine 项目的资源组。 | string |
"" |
ci_compliance_pipeline_pr_branch |
PR 管道合规性管道分支。 | string |
"" |
ci_pipeline_config_repo_branch |
指定包含自定义 pipeline-config.yaml 文件的分支。 | string |
"" |
ci_pipeline_properties |
此 JSON 表示属于 CI 工具链中 CI 和 PR 管道的管道属性。 JSON 中的每个元素都代表一个独立的管道属性。 创建一个属性需要三个属性。 它们是 name 字段(名称在管道属性中的显示方式)、type (文本、安全和枚举)以及 value。 请勿将 secure 类型的秘密直接写入 JSON,secret 类型的值应是指向配置的秘密提供者中秘密的
CRN 或指向配置的秘密提供者中秘密的秘密引用。 |
string |
"" |
ci_pipeline_properties_filepath |
包含属性 JSON 文件的路径。 如果未设置此项,也未设置 ci_pipeline_properties,则默认读取 CI 模块根目录下的 properties.json 文件。 |
string |
"" |
ci_privateworker_credentials_secret_crn |
运行管道任务的私有 Worker 服务 apikey 的 CRN。 | string |
"" |
ci_registry_region |
IBM Cloud 要创建 IBM Cloud Container Registry 命名空间的区域。 使用各地区的简称。 例如 us-south。 |
string |
"" |
ci_repository_properties |
包含在 CI 工具链管道中创建的版本库和触发器的 JSON 字符串。 | string |
"" |
ci_signing_key_secret_name |
用于签名图像/工件的秘密提供者中签名密钥的名称。 | string |
"signing-key" |
ci_toolchain_description |
CI 工具链描述 | string |
"Toolchain created with terraform template for DevSecOps CI Best Practices." |
ci_toolchain_name |
CI 工具链的名称。 | string |
"" |
ci_trigger_git_enable |
设置为 true 以启用 CI 管道 Git 触发器。 |
bool |
true |
ci_trigger_manual_enable |
设置为 true 以启用 CI 管道手动触发器。 |
bool |
true |
ci_trigger_pr_git_enable |
设置为 true 以启用 PR 管道 Git 触发器。 |
bool |
true |
ci_trigger_timed_cron_schedule |
仅需要计时器触发器。 用于指示此触发器何时激活的 cron 表达式。 最大频率为每 5 分钟。 该字符串基于 UNIX crontab 语法 :minute,hour,day of month,month,day of week。 示例: 0 * _/2 * * *-每 2 小时。 | string |
"0 4 * * *" |
ci_trigger_timed_enable |
设置为 true 以启用 CI 管道计时触发器。 |
bool |
false |
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
cd_change_management_group |
为变更管理存储库指定组 | string |
"" |
cd_change_management_repo_auth_type |
选择用于访问 Git 资源库的身份验证方法。 有效值为 "oauth "或 "pat"。 未设置时默认为 oauth。pat 是一个 git personal access token。 |
string |
"" |
cd_change_management_repo_git_token_secret_crn |
变更管理存储库 Git 令牌的 CRN。 | string |
"" |
cd_change_management_repo_git_token_secret_name |
私钥提供程序中 Git 令牌私钥的名称。 | string |
"" |
cd_change_management_repo_secret_group |
变更管理存储库密文的密文组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
cd_change_repo_clone_from_url |
覆盖默认管理资源库,将其克隆到应用程序资源库中。 注意,使用 clone_if_not_exists 模式时,如果应用程序版本库已经存在,版本库内容将保持不变。 | string |
"" |
cd_cluster_name |
部署应用程序的群集名称。 | string |
"" |
cd_cluster_namespace |
部署应用程序的群集命名空间名称。 | string |
"prod" |
cd_cluster_region |
部署应用程序的群集所在区域。 使用各地区的简称。 例如 us-south。 |
string |
"" |
cd_code_engine_project |
要用于 CD 管道提升代码的 Code Engine 项目的名称。 如果项目还不存在,则将创建该项目。 | string |
"Sample_CD_Project" |
cd_code_engine_region |
要为 Code Engine 项目创建/查找的区域。 | string |
"" |
cd_code_engine_resource_group |
Code Engine 项目的资源组。 | string |
"" |
cd_code_signing_cert_secret_name |
这是秘密提供者中用于存储代码签名证书的秘密名称。 | string |
"signing-certificate" |
cd_deployment_group |
指定要部署的组。 | string |
"" |
cd_deployment_repo_auth_type |
选择用于访问 Git 资源库的身份验证方法。 有效值为 "oauth "或 "pat"。 未设置时默认为 oauth。pat 是一个 git personal access token。 |
string |
"" |
cd_deployment_repo_clone_from_branch |
当提供 deployment_repo_clone_from_url 时使用,即 CD 编译使用的默认分支,通常是主分支或主分支。 | string |
"" |
cd_deployment_repo_clone_from_url |
通过提供自己的部署示例 URL 来覆盖默认示例应用程序,并将其克隆到应用程序资源库中。 注意,使用 clone_if_not_exists 模式时,如果应用程序版本库已经存在,版本库内容将保持不变。 | string |
"" |
cd_deployment_repo_clone_to_git_id |
默认情况下不存在,否则可自定义服务器 GUID 或浏览器用户界面中 "git_id "字段的其他选项。 | string |
"" |
cd_deployment_repo_clone_to_git_provider |
默认为 "hostedgit",否则使用 "githubconsolidated "或 "gitlab"。 | string |
"" |
cd_deployment_repo_existing_branch |
如果提供了 deployment_repo_existing_url,则使用 CD 构建的默认分支,通常是 main 或 master。 | string |
"" |
cd_deployment_repo_existing_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 GUID。 |
string |
"" |
cd_deployment_repo_existing_git_provider |
Git 的提供者。 如果未设置,则默认为 hostedgit。 |
string |
"" |
cd_deployment_repo_existing_url |
覆盖以带来自己现有的部署资源库 URL,直接使用该 URL 而不是克隆默认部署示例。 | string |
"" |
cd_deployment_repo_git_token_secret_crn |
部署存储库 Git 令牌的 CRN。 | string |
"" |
cd_deployment_repo_git_token_secret_name |
私钥提供程序中 Git 令牌私钥的名称。 | string |
"" |
cd_deployment_repo_secret_group |
部署资源库秘密的秘密组。 如果未设置,则默认为 sm_secret_group 中设置的值。 仅与 Secrets Manager 配合使用。 |
string |
"" |
cd_pipeline_config_repo_branch |
指定包含自定义 pipeline-config.yaml 文件的分支。 | string |
"main" |
cd_pipeline_properties |
该 JSON 表示 CD 工具链中属于 CD 管道的管道属性。 JSON 中的每个元素都代表一个独立的管道属性。 创建一个属性需要三个属性。 它们是 name 字段(名称在管道属性中的显示方式)、type (文本、安全和枚举)以及 value。 请勿将 secure 类型的秘密直接写入 JSON,secret 类型的值应是指向配置的秘密提供者中秘密的
CRN 或指向配置的秘密提供者中秘密的秘密引用。 |
string |
"" |
cd_pipeline_properties_filepath |
包含属性 JSON 文件的路径。 如果未设置此项,也未设置 cd_pipeline_properties,则默认读取 CD 模块根目录下的 properties.json 文件。 |
string |
"" |
cd_privateworker_credentials_secret_crn |
运行管道任务的私有 Worker 服务 apikey 的 CRN。 | string |
"" |
cd_region |
IBM Cloud 区域,用于为 清单存储库分支添加前缀。prod_latest |
string |
"" |
cd_repository_properties |
包含在 CI 工具链管道中创建的版本库和触发器的 JSON 字符串。 | string |
"" |
cd_service_plan |
Continuous Delivery 服务计划。 可以是 lite 或 professional。 |
string |
"professional" |
cd_toolchain_description |
CD 工具链的描述。 | string |
"Toolchain created with terraform template for DevSecOps CD Best Practices." |
cd_toolchain_name |
CD 工具链的名称。 | string |
"" |
cd_trigger_git_enable |
设置为 true 以启用 CD 管道 Git 触发器。 |
bool |
false |
cd_trigger_git_promotion_validation_branch |
Git 推广验证监听器的分支。 | string |
"prod" |
cd_trigger_git_promotion_validation_enable |
为 Git 促销监听器启用 Git 促销验证。 | bool |
false |
cd_trigger_git_promotion_validation_listener |
选择一个 Tekton EventListener,以便在 Git 促销验证监听器触发时使用。 | string |
"promotion-validation-listener-gitlab" |
cd_trigger_manual_enable |
设置为 true 以启用 CD 管道手动触发器。 |
bool |
true |
cd_trigger_manual_promotion_enable |
设置为 true 以启用 CD 管道手动提升触发器。 |
bool |
true |
cd_trigger_timed_cron_schedule |
仅需要计时器触发器。 用于指示此触发器何时激活的 cron 表达式。 最大频率为每 5 分钟。 该字符串基于 UNIX crontab 语法 :minute,hour,day of month,month,day of week。 示例: 0 * _/2 * * *-每 2 小时。 | string |
"0 4 * * *" |
cd_trigger_timed_enable |
设置为 true 可启用 CD 管道定时触发。 |
bool |
false |
change_management_existing_url |
现有变更管理存储库的 URL。 | string |
"" |
change_management_repo_git_id |
将此值设为 github ( github.com )或自定义 GitHub Enterprise服务器的 ID。 |
string |
"" |
| 名称 | 描述 | 类型 | 缺省值 |
|---|---|---|---|
cc_app_repo_branch |
应用程序版本库的默认分支。 | string |
"" |
cc_pipeline_config_repo_branch |
指定包含自定义 pipeline-config.yaml 文件的分支。 | string |
"" |
cc_pipeline_properties |
该 JSON 表示属于 CC 工具链中 CC 管道的管道属性。 JSON 中的每个元素都代表一个独立的管道属性。 创建一个属性需要三个属性。 它们是 name 字段(名称在管道属性中的显示方式)、type (文本、安全和枚举)以及 value。 请勿将 secure 类型的秘密直接写入 JSON,secret 类型的值应是指向配置的秘密提供者中秘密的
CRN 或指向配置的秘密提供者中秘密的秘密引用。 |
string |
"" |
cc_pipeline_properties_filepath |
包含属性 JSON 文件的路径。 如果未设置此项,也未设置 cc_pipeline_properties,则默认读取 CC 模块根目录下的 properties.json 文件。 |
string |
"" |
cc_repository_properties |
包含在 CI 工具链管道中创建的版本库和触发器的 JSON 字符串。 | string |
"" |
cc_toolchain_description |
CC 工具链说明 | string |
"Toolchain created with terraform template for DevSecOps CC Best Practices." |
cc_toolchain_name |
CC 工具链的名称。 | string |
"" |
cc_trigger_manual_enable |
设置为 true 可启用 CC 管道手动触发。 |
bool |
true |
cc_trigger_timed_cron_schedule |
仅需要计时器触发器。 用于指示此触发器何时激活的 cron 表达式。 最大频率为每 5 分钟。 该字符串基于 UNIX crontab 语法 :minute,hour,day of month,month,day of week。 示例: 0 * _/2 * * *-每 2 小时。 | string |
"0 4 * * *" |
cc_trigger_timed_enable |
设置为 true 以启用 CI 管道计时触发器。 |
bool |
false |
输出变量
| 名称 | 描述 |
|---|---|
app_repo_url |
应用程序软件仓库 URL。 |
compliance_cc_toolchain_id |
合规性 CC 工具链的标识。 |
compliance_cd_toolchain_id |
合规性 CD 工具链的标识。 |
compliance_ci_toolchain_id |
合规性 CI 工具链的标识。 |
compliance_cc_toolchain_url |
合规 CC 工具链 URL。 |
compliance_cd_toolchain_url |
合规 CD 工具链 URL。 |
compliance_ci_toolchain_url |
合规 CI 工具链 URL。 |
inventory_repo_url |
清单重置 URL。 |
issues_repo_url |
问题库 URL。 |
secrets_manager_instance_id |
私钥管理实例标识 |