第3章 Git プロバイダーの Webhook シークレットを設定する
Argo CD カスタムリソース (CR) を使用すると、Git プロバイダーの Webhook シークレットを宣言的に設定できます。これにより 、argocd-secret シークレットを手動で更新する代わりに、GitOps の設定と並行して Webhook 認証情報を管理できるようになります。
3.1. Git プロバイダー向けの宣言型 Webhook シークレット リンクのコピーリンクがクリップボードにコピーされました!
Argo CD は、Git プロバイダーからの受信 Webhook リクエストを検証するために、Webhook シークレットを使用します。Argo CD カスタムリソース (CR) の spec.webhookSecrets フィールドを使用することで、Webhook シークレットを宣言的に設定できます。
宣言型 Web フックシークレットを使用すると、以下の利点が得られます。
- Argo CD の設定と併せて Webhook の秘密情報を管理する
- Sealed Secrets や External Secrets Operator などの Kubernetes シークレット管理ツールと統合する
-
Red Hat OpenShift GitOps Operator が参照されるシークレット値を
argocd-secretシークレットに同期できるようにすることで、操作を簡素化します。 -
単一の
ArgoCDCR で複数の Git プロバイダーの Webhook シークレットを設定する
spec.webhookSecrets を設定すると、Red Hat OpenShift GitOps Operator は、Argo CD が内部的に使用する argocd-secret シークレットに必要なキーを自動的に設定します。
参照される シークレット リソースは、Argo CD CR と同じ名前空間に存在する必要があります。名前空間をまたいだシークレット参照はサポートされていません。
宣言型 Web フックシークレット設定には、以下の Git プロバイダーがサポートされています。
| プロバイダー | spec.webhookSecrets 内のフィールド | 必要な秘密参照 |
|---|---|---|
| GitHub |
|
|
| GitLab |
|
|
| Bitbucket Cloud |
|
|
| Bitbucket Server |
|
|
| Gogs |
|
|
| Azure DevOps |
|
|
spec.webhookSecrets が設定されている場合、Red Hat OpenShift GitOps Operator は、宣言されたプロバイダーの Webhook シークレット値のみを同期します。spec.webhookSecrets で宣言されていないプロバイダーの Webhook キーは 、argocd-secret シークレットから削除される可能性があります。
Git リポジトリーに平文の機密情報を保存しないでください。機密データを安全に管理するには、Sealed Secrets や External Secrets Operator などの機密管理ソリューションを使用してください。