1.2. 配置 Tekton 链
				Red Hat OpenShift Pipelines Operator 默认安装 Tekton 链。您可以通过修改 TektonConfig 自定义资源来配置 Tekton 链;Operator 会自动应用您在此自定义资源中所做的更改。
			
要编辑自定义资源,请使用以下命令:
oc edit TektonConfig config
$ oc edit TektonConfig config
				自定义资源包含一个 chain: 数组。您可以在这个阵列中添加任何支持的配置参数,如下例所示:
			
1.2.1. Tekton Chains 配置支持的参数
集群管理员可以使用各种支持的参数键和值来配置任务运行、OCI 镜像和存储的规格。
1.2.1.1. 任务运行工件支持的参数
| 键 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 存储任务运行有效负载的格式。 | 
										 | 
										 | 
| 
										 | 
										任务运行签名的存储后端。您可以将多个后端指定为用逗号分开的列表,如  | 
										 | 
										 | 
| 
										 | 用于签名任务运行有效负载的签名后端。 | 
										 | 
										 | 
							slsa/v1 是 in-toto 的别名,用于向后兼容。
						
1.2.1.2. 管道运行工件支持的参数
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 存储管道运行有效负载的格式。 | 
										 | 
										 | 
| 
										 | 
										用于存储管道运行签名的存储后端。您可以将多个后端指定为用逗号分开的列表,如  | 
										 | 
										 | 
| 
										 | 用于签名管道运行有效负载的签名后端。 | 
										 | 
										 | 
| 
										 | 
										当此参数为  | 
										 | 
										 | 
- 
									slsa/v1是in-toto的别名,用于向后兼容。
- 
									对于 grafeas存储后端,只支持 Container Analysis。您无法在 Tekton 链的当前版本中配置grafeas服务器地址。
1.2.1.3. OCI 工件支持的参数
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 存储 OCI 有效负载的格式。 | 
										 | 
										 | 
| 
										 | 
										用于存储 OCI 签名的存储后端。您可以将多个后端指定为用逗号分开的列表,如  | 
										 | 
										 | 
| 
										 | 用于签名 OCI 有效负载的签名后端。 | 
										 | 
										 | 
1.2.1.4. KMS 符号支持的参数
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 
										对要在  | 
										支持的方案: | 
1.2.1.5. 支持的存储参数
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 存储的 GCS 存储桶 | ||
| 
										 | 用于存储 OCI 签名和测试的 OCI 存储库。 | 
										如果您将其中一个工件存储后端配置为  | |
| 
										 | 为 in-toto attestations 设置的构建器 ID | 
										 | |
| 
										 | 
										in-toto attestation 的构建类型。当此参数为  | 
										 | 
										 | 
						如果您启用了 docdb 存储方法用于任何工件,请配置 docstore 存储选项。有关 go-cloud docstore URI 格式的更多信息,请参阅文档 存储软件包文档。Red Hat OpenShift Pipelines 支持以下 docstore 服务:
					
- 
								firestore
- 
								dynamodb
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 
										对  | 
										 | |
| 
										 | 
										用于  | ||
| 
										 | 
										名为  | 
										示例值:  | 
						如果您为任何工件启用 grafeas 存储方法,请配置 Grafeas 存储选项。有关 Grafeas 备注和发生的更多信息,请参阅 Grafeas 概念。
					
						要创建并行,Red Hat OpenShift Pipelines 必须首先创建用于链接并行的备注。Red Hat OpenShift Pipelines 创建两种类型的发生: ATTESTATION Occurrence 和 BUILD Occurrence。
					
						Red Hat OpenShift Pipelines 使用可配置的 noteid 作为备注名称的前缀。它附加 ATTESTATION 备注的后缀 -simplesigning,以及 BUILD 备注的后缀 -intoto。如果没有配置 noteid 字段,Red Hat OpenShift Pipelines 将使用 tekton-<NAMESPACE> 作为前缀。
					
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | Grafeas 服务器用于存储发生的 OpenShift Container Platform 项目。 | ||
| 
										 | 可选:用于所有创建备注的名称的前缀。 | 没有空格的字符串。 | |
| 
										 | 
										可选:Grafeas  | 
										 | 
另外,您还可以在测试时启用额外的二进制透明度上传。
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 启用或禁用自动二进制透明度上传。 | 
										 | 
										 | 
| 
										 | 如果启用,用于上传二进制透明度的 URL。 | 
										 | 
							如果将 transparency.enabled 设置为 manual,则只有带有以下注解的任务和管道运行上传到透明度日志中:
						
chains.tekton.dev/transparency-upload: "true"
chains.tekton.dev/transparency-upload: "true"
						如果配置 x509 签名后端,您可以选择使用 Fulcio 启用无密钥签名。
					
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 从 Fulcio 启用或禁用请求自动证书。 | 
										 | 
										 | 
| 
										 | 请求证书的 Fulcio 地址(如果启用)。 | 
										 | |
| 
										 | 预期的 OIDC 签发者。 | 
										 | |
| 
										 | 从中请求 ID 令牌的供应商。 | 
										 | Red Hat OpenShift Pipelines 会尝试使用每个供应商 | 
| 
										 | 包含 ID 令牌的文件的路径。 | ||
| 
										 | 
										TUF 服务器的 URL。必须存在  | 
										 | 
						如果您配置 kms 签名后端,请根据需要设置 KMS 配置,包括 OIDC 和 Spire。
					
| 参数 | 描述 | 支持的值 | 默认值 | 
|---|---|---|---|
| 
										 | 
										KMS 服务器的 URI ( | ||
| 
										 | 
										KMS 服务器的身份验证令牌 ( | ||
| 
										 | 
										包含 KMS 服务器的身份验证令牌的完整路径名(  | 
										示例值:  | |
| 
										 | 
										OIDC 身份验证的路径(例如,Vault 为  | ||
| 
										 | OIDC 身份验证的角色。 | ||
| 
										 | 
										KMS 令牌的 Spire 套接字的 URI (例如: | ||
| 
										 | 从 Spire 请求 SVID 的受众。 | 
1.2.2. 创建并挂载 Mongo 服务器 URL secret
					您可以使用机密提供用于 docdb 存储(MONGO_SERVER_URL)的 Mongo 服务器 URL 的值。您必须创建此 secret,将其挂载到 Tekton Chains 控制器上,并将 storage.docdb.mongo-server-url-dir 参数设置为挂载 secret 的目录。
				
先决条件
- 
							已安装 OpenShift CLI (oc)实用程序。
- 
							您可以使用 openshift-pipelines命名空间的管理权限登录到 OpenShift Container Platform 集群。
流程
- 输入以下命令,使用 - MONGO_SERVER_URL文件创建一个名为- mongo-url的 secret,该文件包含 Mongo 服务器 URL 值:- oc create secret generic mongo-url -n tekton-chains \ --from-file=MONGO_SERVER_URL=<path>/MONGO_SERVER_URL - $ oc create secret generic mongo-url -n tekton-chains \ --from-file=MONGO_SERVER_URL=<path>/MONGO_SERVER_URL- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 包含 Mongo 服务器 URL 值的MONGO_SERVER_URL文件的完整路径和名称。
 
- 在 - TektonConfig自定义资源(CR)的- chain部分中,配置 Tekton Chains 控制器上的 secret,并将- storage.docdb.mongo-server-url-dir参数设置为挂载 secret 的目录,如下例所示:- 挂载 - mongo-urlsecret 的配置示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
1.2.3. 创建并挂载 KMS 身份验证令牌 secret
					您可以使用 secret 为 KMS 服务器提供身份验证令牌。例如,如果 KMS 供应商是 Hashicorp Vault,则 secret 必须包含 VAULT_TOKEN 的值。
				
					您必须创建此 secret,将其挂载到 Tekton Chains 控制器上,并将 signers.kms.auth.token-path 参数设置为身份验证令牌文件的完整路径。
				
先决条件
- 
							已安装 OpenShift CLI (oc)实用程序。
- 
							您可以使用 openshift-pipelines命名空间的管理权限登录到 OpenShift Container Platform 集群。
流程
- 输入以下命令,使用 - KMS_AUTH_TOKEN文件创建一个名为- kms-secrets的 secret,该文件包含 KMS 服务器的身份验证令牌:- oc create secret generic kms-secrets -n tekton-chains \ --from-file=KMS_AUTH_TOKEN=<path_and_name> - $ oc create secret generic kms-secrets -n tekton-chains \ --from-file=KMS_AUTH_TOKEN=<path_and_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 包含 KMS 服务器的身份验证令牌的完整路径和名称,例如/home/user/KMS_AUTH_TOKEN。您可以使用另一个文件名而不是KMS_AUTH_TOKEN。
 
- 在 - TektonConfig自定义资源(CR)的- chain部分中,在 Tekton Chains 控制器上配置 secret,并将- signers.kms.auth.token-path参数设置为身份验证令牌文件的完整路径,如下例所示:- 挂载 - kms-secretssecret 的配置示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
1.2.4. 启用 Tekton 链仅在所选命名空间中运行
默认情况下,Tekton Chains 控制器监控所有命名空间中的所有资源。您可以自定义 Tekton 链,以仅在特定命名空间中运行,这对操作提供了精细的控制。
先决条件
- 
							使用 cluster-admin权限登录到 OpenShift Container Platform 集群。
流程
- 在 - TektonConfigCR 中,在- chain部分中,添加 the-- namespace=参数,使其包含控制器应该监控的命名空间。- 以下示例显示了 Tekton Chains 控制器的配置,以仅监控 - dev和- test命名空间中的资源,相应地过滤- PipelineRun和- TaskRun对象:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 如果没有提供或留空,则控制器默认监视所有命名空间。