1.2. Tekton Chains の設定
Red Hat OpenShift Pipelines Operator は、デフォルトで Tekton Chains をインストールします。TektonConfig カスタムリソースを変更することで、Tekton Chains を設定できます。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 Chains の現在のバージョンでは、grafeasサーバーアドレスを設定できません。
1.2.1.3. OCI アーティファクトでサポートされているパラメーター リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 | サポート対象の値 | デフォルト値 |
|---|---|---|---|
|
| OCI ペイロードを保存するための形式。 |
|
|
|
|
OCI 署名を保存するためのストレージバックエンド。 |
|
|
|
| OCI ペイロードに署名するための署名バックエンド。 |
|
|
1.2.1.4. KMS 署名者でサポートされているパラメーター リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 | サポート対象の値 | デフォルト値 |
|---|---|---|---|
|
|
|
サポートされているスキーム: |
1.2.1.5. ストレージでサポートされているパラメーター リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 | サポート対象の値 | デフォルト値 |
|---|---|---|---|
|
| ストレージ用の GCS バケット | ||
|
| OCI 署名と証明書を保存するための OCI リポジトリー。 |
アーティファクトストレージバックエンドの 1 つを | |
|
| in-toto 証明書に設定するビルダー ID |
| |
|
|
in-toto アテステーションのビルドタイプ。このパラメーターが |
|
|
任意のアーティファクトに対して docdb ストレージ方法を有効にする場合は、docstore ストレージオプションを設定します。go-cloud docstore URI 形式の詳細は、docstore パッケージのドキュメント を参照してください。Red Hat OpenShift Pipelines は、次の docstore サービスをサポートしています。
-
firestore -
dynamodb
| パラメーター | 説明 | サポート対象の値 | デフォルト値 |
|---|---|---|---|
|
|
|
| |
|
|
| ||
|
|
|
例の値: |
アーティファクトに対して Grafeas ストレージ方式を有効にする場合は、Grafeas ストレージオプションを設定します。Grafeas のメモとオカレンスの詳細は、Grafeas の概念 を参照してください。
オカレンスを作成するには、Red Hat OpenShift Pipelines はまずオカレンスのリンクに使用されるノートを作成する必要があります。Red Hat OpenShift Pipelines は、ATTESTATION オカレンスと BUILD オカレンスの 2 種類のオカレンスを作成します。
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 署名バックエンドを設定する場合は、必要に応じて OIDC や Spire を含む KMS 設定を行います。
| パラメーター | 説明 | サポート対象の値 | デフォルト値 |
|---|---|---|---|
|
|
KMS サーバーの URI ( | ||
|
|
KMS サーバーの認証トークン ( | ||
|
|
KMS サーバーの認証トークン ( |
値の例: | |
|
|
OIDC 認証のパス (Vault の場合は | ||
|
| OIDC 認証のロール。 | ||
|
|
KMS トークンの Spire ソケットの URI (例: | ||
|
| Spire から SVID を要求する対象者。 |
1.2.2. Mongo サーバーの URL シークレットの作成とマウント リンクのコピーリンクがクリップボードにコピーされました!
シークレットを使用して、docdb ストレージに使用する Mongo サーバー URL (MONGO_SERVER_URL) の値を指定できます。このシークレットを作成し、Tekton Chains コントローラーにマウントして、storage.docdb.mongo-server-url-dir パラメーターをシークレットがマウントされるディレクトリーに設定する必要があります。
前提条件
-
OpenShift CLI (
oc) ユーティリティーがインストールされている。 -
openshift-pipelinesnamespace の管理者権限で OpenShift Container Platform クラスターにログインしている。
手順
次のコマンドを入力して、Mongo サーバーの URL 値を含む
MONGO_SERVER_URLファイルを使用して、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_URL1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Mongo サーバーの URL 値が含まれる
MONGO_SERVER_URLファイルの完全なパスと名前。
TektonConfigカスタムリソース (CR) のchainセクションで、Tekton Chains コントローラーにシークレットをマウントするように設定し、次の例に示すように、storage.docdb.mongo-server-url-dirパラメーターをシークレットがマウントされるディレクトリーに設定します。mongo-urlシークレットをマウントする設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.3. KMS 認証トークンシークレットの作成とマウント リンクのコピーリンクがクリップボードにコピーされました!
シークレットを使用して KMS サーバーの認証トークンを提供できます。たとえば、KMS プロバイダーが Hashicorp Vault の場合、シークレットには VAULT_TOKEN の値が含まれている必要があります。
このシークレットを作成し、Tekton Chains コントローラーにマウントし、signers.kms.auth.token-path パラメーターを認証トークンファイルのフルパス名に設定する必要があります。
前提条件
-
OpenShift CLI (
oc) ユーティリティーがインストールされている。 -
openshift-pipelinesnamespace の管理者権限で OpenShift Container Platform クラスターにログインしている。
手順
次のコマンドを入力して、KMS サーバーの認証トークンを含む
KMS_AUTH_TOKENファイルを使用して、kms-secretsという名前のシークレットを作成します。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 コントローラーにシークレットをマウントするように設定し、signers.kms.auth.token-pathパラメーターを認証トークンファイルのフルパス名に設定します (次の例を参照)。kms-secretsシークレットをマウントする設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.4. 選択された namespace でのみ Tekton Chains が動作するようにする手順 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Tekton Chains コントローラーはすべての namespace のリソースを監視します。Tekton Chains を特定の namespace でのみ実行するようにカスタマイズできるため、操作を細かく制御できます。
前提条件
-
cluster-admin権限で OpenShift Container Platform クラスターにログインしている。
手順
TektonConfigCR のchainセクションで、コントローラーが監視する namespace を含める--namespace=引数を追加します。次の例は、Tekton Chains コントローラーが
devおよびtestnamespace 内のリソースのみを監視し、それに応じてPipelineRunおよびTaskRunオブジェクトをフィルタリングする設定を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
--namespace引数が指定されていないか空のままの場合、コントローラーはデフォルトですべての namespace を監視します。