Sealed Secrets
KubernetesのSecretをクラスターの公開鍵で暗号化し、クラスター以外の誰にも読めない形でGitにコミットできるようにする仕組み。
問題はGitOpsを採用した途端に表面化する。あらゆるものをリポジトリに入れるべきなのに、Kubernetesのシークレットはbase64でエンコードされただけで、誰でも読めてしまう。Bitnamiの答えは、鍵ペアを持つクラスター内のコントローラーである。開発者が kubeseal を実行すると、どこに公開しても無害な SealedSecret が得られ、適用時にコントローラーがそれを本物の Secret に復号する。暗号化は既定で名前空間と名前に結び付くため、盗まれたファイルをクラスター内の別の場所で再利用することはできない。ただし鍵がクラスター内にあるので、失うと全シークレットが失われる。バックアップは必須だ。