HelmのTLSと証明書設定を検証する

Helm Ingress設定のTLS設定をチェック。secretName、ホストのマッチング、自動証明書管理のためのcert-managerアノテーションを検証します。

Ingress & Networking

詳細な説明

HelmチャートのTLS設定

Helm Ingress valuesのTLS設定はHTTPSに不可欠です。バリデーターはTLS設定が正しく構造化され、ホスト定義と一貫していることをチェックします。

標準TLSパターン

ingress:
  enabled: true
  className: nginx
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
  hosts:
    - host: app.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: app-example-com-tls
      hosts:
        - app.example.com

検証される項目

  1. TLS構造: tlsはオブジェクトの配列で、各オブジェクトにsecretNamehostsが必要
  2. 型チェック: secretNameは文字列、hostsは文字列の配列
  3. Ingress有効化: TLSはingress.enabledがtrueの場合のみ意味がある

cert-manager統合

自動証明書プロビジョニングにcert-managerを使用する場合、アノテーションが一致する必要があります:

# クラスター全体のissuer用
annotations:
  cert-manager.io/cluster-issuer: letsencrypt-prod

# ネームスペーススコープのissuer用
annotations:
  cert-manager.io/issuer: letsencrypt-staging

よくある間違い

  • tls.hostsにリストされたホストがingress.hostsにない(またはその逆)
  • ネームスペースに存在しないsecretNameの使用(cert-managerは作成するが、手動シークレットは事前に存在する必要がある)
  • 自動証明書プロビジョニングに依存する際のcert-managerアノテーションの追加忘れ

ユースケース

各顧客がcert-managerで管理された独自のTLS証明書を持つサブドメインを取得するマルチテナントSaaSアプリケーションのHTTPS設定。

試してみる — Helm Values Validator

フルツールを開く