Upgrade to Pro — share decks privately, control downloads, hide ads and more …

External SecretsのさくらProvider初期実装を担当しています

External SecretsのさくらProvider初期実装を担当しています

2024/5/23 さくらのテックナイト in 那覇 〜さくらのクラウド編〜にて登壇した際の資料です。

Avatar for logica / Takuto Nagami

logica / Takuto Nagami

May 23, 2025
Tweet

More Decks by logica / Takuto Nagami

Other Decks in Programming

Transcript

  1. 自己紹介 • Takuto Nagami (logica) • 千葉工業大学 情報科学部 情報ネットワーク学科 4年

    • ネットワークコンテンツ研究会 所属 ◦ 数人の自宅サーバーをVPNで繋いでクラウド基盤 作ろうとしてます • CNDS本編では、CiliumというCNIに 次のマイナーバージョンで入る新機能に ついてLTをしました
  2. External Secrets Operator • ClusterSecretStore / SecretStoreを作成 ◦ 任意のProvider (使いたい

    管理サービス) を指定 • ExternalSecretを作成 ◦ SecretStoreから 機密情報を取ってきて K8sのSecretを自動生成
  3. External Secretsでさくらを使いたい • External Secretsのユーザーによる拡張機構は貧弱 ◦ WebhookProvider ▪ Webhookサーバーに対してシークレットの読み 書きを行う

    ◦ それ以外はほぼ用意されてない • 新しいクラウドサービスを使いたければ、Providerを公 式で提供すべきという発想だと思う ◦ Providerを作ってExternal Secretsに入れる必要が
  4. 長野さんに相談だ • logica: さくら内でProvider作成する予定あります? • 長野さん: 今のところ無い、サービス開発に注力したい • logica: じゃあメンテナンスのことは後々相談するとして

    僕が初期実装やるのはどうですか? • 長野さん: ぜひやってください 👌 という流れで僕が初期実装をやることになりました
  5. Providerの構造 • apis パッケージ ◦ さくらのシークレットマネージャ向け設定を追加 • esv1.Provider インターフェース ◦

    apiで定義した設定から、SecretsClientを作成する ◦ これをExternal Secretsのコア部分に登録 • esv1.SecretsClient インターフェース ◦ 実際にシークレットを読み書きする こんな感じで、かなりシンプルな仕組み
  6. 現在の進捗 • apis パッケージ ← 完了 ◦ さくらのシークレットマネージャ向け設定を追加 • esv1.Provider

    インターフェース ← ほぼ完了 ◦ apiで定義した設定から、SecretStoreを作成する ◦ これをExternal Secretsのコア部分に登録 • esv1.SecretsClient インターフェース ← 要相談段階 ◦ 実際にシークレットを読み書きする External Secretsのみに依存している部分はほぼできた
  7. SecretStore - さくらに依存する難しさ • シークレットマネージャはつい最近β版が提供開始で、 GoのSDKがまだ出ていない ◦ SDKを優先実装してもらう? ◦ External

    Secrets側で仮のSDKを用意する? ◦ HTTPのエンドポイントを直接叩く? • さくらさんのAPI利用の方針に従いたいので、ちゃんと さくらの社員さんと実装方針を共有しておきたい ◦ 来週MTGをするので、本格的な実装はそこからかな