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 secret 群組,包含 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 變體需要) Code Engine 專案的名稱,用於 CD 管線推廣的程式碼。 如果專案尚未存在,則會建立該專案。 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. 這將為您的應用程式儲存庫建立整合,而不是複製預設樣本。 存在於不同 org 的儲存庫需要使用 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 token secret 的名稱。 string ""
app_repo_secret_group App 儲存庫秘密的秘密群組。 如果未設定,則預設為 sm_secret_group 中設定的值。 僅與 Secrets Manager 搭配使用。 string ""
authorization_policy_creation 停用 Toolchain 服務至 Secrets Manager / Key Protect /Notifications 服務授權政策建立。 若要停用,請將值設為 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 為符合性 pipline 儲存庫指定使用者或群組。 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 伺服器網路存取權限的私人工作人員來工作。 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 Compliance Pipeline 儲存庫秘密的秘密群組。 如果未設定,則預設為 sm_secret_group 中設定的值。 僅與 Secrets Manager 搭配使用。 string ""
compliance_pipeline_repo_title (可選)伺服器的標題。例如我的 Git 企業伺服器。 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 使用者提供的 api 金鑰具有 COS 存取權限,可推送至 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 包含證據資料桶的 Cloud Object 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 Service。 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 將 Code Engine 存取政策加入已產生的 IAM 存取金鑰。 請參閱 create_ibmcloud_api_key。 bool true
create_cos_api_key 設定為 true,以建立並新增 cos-api-key 到 Secrets Provider。 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 到 Secrets Provider。 bool false
create_icr_namespace 設為 true 可讓 Terraform 建立註冊表命名空間。 設定為 false 會讓 CI 管道在命名空間尚未存在時建立命名空間。 注意:如果使用 Terraform 毀滅,ICR 命名空間和所有影像都會被移除。 bool false
create_kubernetes_access_policy 將 Kubernetes 存取政策加入已產生的 IAM 存取金鑰。 請參閱 create_ibmcloud_api_key。 bool false
create_privateworker_secret 設定為 true 將指定的私有工作人員服務 api 金鑰新增至 Secrets Provider。 這也讓私人工作者工具整合到工具鏈中。 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 Token。 如果使用者已被邀請到帳號,但該使用者並非帳號擁有者,在工具鏈建立期間,預設的合規儲存庫將會在該使用者的帳號中建立,而服務 api 將無法存取這些儲存庫。 在這種情況下,需要為儲存庫提供 Git Token。 如需詳細資訊,請參閱 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,用於存取 Inventory 儲存庫。 string ""
inventory_repo_git_token_secret_name 用於存取清單儲存庫的秘密提供者中 Git 令牌秘密的名稱。 string ""
inventory_repo_integration_owner 儲存庫整合擁有者的名稱。 string ""
inventory_repo_name 設定為使用自訂的 Inventory 儲存庫名稱。 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 問題 repo 的提供者。 如果未設定,預設為 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 用於存取管道組態儲存庫的 secret provider 中 Git token secret 的名稱。 string ""
pipeline_config_repo_secret_group Pipeline Config 儲存庫秘密的秘密群組。 如果未設定,則預設為 sm_secret_group 中設定的值。 僅與 Secrets Manager 搭配使用。 string ""
pipeline_git_tag Compliance Pipelines 定義的 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 Compliance Pipelines 定義的 GIT 標籤選擇器。 string ""
prefix 添加到工具鏈資源的前綴。 string ""
privateworker_credentials_secret_crn 私人工人機密的 CRN。 string ""
privateworker_credentials_secret_group Private Worker 秘密的秘密群組前綴。 預設使用 sm_secret_group 如果沒有設定。 僅與 Secrets Manager 搭配使用。 string ""
privateworker_credentials_secret_name 秘密提供者中的 privateworker 秘密的名稱。 string ""
privateworker_name 私人工作人員工具整合的名稱。 string "private-worker-tool-01"
privateworker_secret_value 將會新增到的私有工作人員服務 api 金鑰 privateworker_credentials_secret_name 秘密提供者中的秘密。 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 伺服器網路存取權限的私人工作人員來工作。 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 (可選)伺服器的標題。例如我的 Git 企業伺服器。 string ""
repositories_prefix 所複製相符性儲存庫的字首名稱。 對於 repositories_prefix 值,僅允許使用 az、AZ 和 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 團隊名稱,即前面的單字或片語 .slack.com 在團隊 URL 中。 這適用於 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 秘訣提供者中的 webhook 秘訣名稱,用於存取設定的 Slack 頻道。 這適用於 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 secret 群組,包含 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. 這將為您的應用程式儲存庫建立整合,而不是複製預設樣本。 存在於不同 org 的儲存庫需要使用 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 部署,請參閱 可選的 Code Engine CI 和 CD 變數

API 金鑰、秘密和工具鏈
名稱 說明 類型 預設值
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 字串化 JSON,包含在 CI 工具鏈管道中建立的儲存庫和觸發器。 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 語法: 分鐘、小時、日期、月、星期。 範例: 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 建立時會使用的預設分支,通常是 main 或 master。 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 字串化 JSON,包含在 CI 工具鏈管道中建立的儲存庫和觸發器。 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 當 Git 升級驗證監聽器觸發啟動時,選擇要使用的 Tekton EventListener。 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 語法: 分鐘、小時、日期、月、星期。 範例: 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 字串化 JSON,包含在 CI 工具鏈管道中建立的儲存庫和觸發器。 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 語法: 分鐘、小時、日期、月、星期。 範例: 0 * _/2 * * *-每 2 小時。 string "0 4 * * *"
cc_trigger_timed_enable 設為 true 以啟用 CI 管線「計時」觸發程式。 bool false

輸出變數

輸出
名稱 說明
app_repo_url App repo URL。
compliance_cc_toolchain_id 相符性 CC 工具鏈的 ID。
compliance_cd_toolchain_id 相符性 CD 工具鏈的 ID。
compliance_ci_toolchain_id 相符性 CI 工具鏈的 ID。
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 密鑰管理實例 ID