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 私钥管理实例标识