Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
External SecretsのさくらProvider初期実装を担当しています
Search
logica / Takuto Nagami
May 23, 2025
Programming
0
270
External SecretsのさくらProvider初期実装を担当しています
2024/5/23 さくらのテックナイト in 那覇 〜さくらのクラウド編〜にて登壇した際の資料です。
logica / Takuto Nagami
May 23, 2025
Tweet
Share
More Decks by logica / Takuto Nagami
See All by logica / Takuto Nagami
Gophers EX: What We’ve Been Up To in Feb–May 2025 / 2025年2~5月 Gophers EX活動報告書
logica0419
0
45
Gophers EX プロジェクト説明
logica0419
2
18
HA K8s Clusterのスタンダードが覆る!? Cilium 1.18の🔥激アツ🔥新機能
logica0419
0
140
え!! 日本国内でGo言語のバイリンガル勉強会を!?
logica0419
2
260
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
470
プロポーザル一次〆切に向けて
logica0419
1
62
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
1
2.8k
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
3.4k
Proposal Challengers 2025 募集説明会
logica0419
1
39
Other Decks in Programming
See All in Programming
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
プロダクト開発でも使おう 関数のオーバーロード
yoiwamoto
0
130
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
6
1.4k
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
0
110
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
15
3.2k
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
140
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
1.2k
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
21
5.7k
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
460
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
2.4k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
270
從零到一:搭建你的第一個 Observability 平台
blueswen
0
600
Featured
See All Featured
Embracing the Ebb and Flow
colly
85
4.7k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
870
Practical Orchestrator
shlominoach
188
11k
Raft: Consensus for Rubyists
vanstee
138
7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
470
Thoughts on Productivity
jonyablonski
69
4.7k
RailsConf 2023
tenderlove
30
1.1k
Scaling GitHub
holman
459
140k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
Takuto Nagami X: @logica0419 GitHub: @logica0419 External Secretsの さくらProvider 初期実装を
担当しています
自己紹介 • Takuto Nagami (logica) • 千葉工業大学 情報科学部 情報ネットワーク学科 4年
• ネットワークコンテンツ研究会 所属 ◦ 数人の自宅サーバーをVPNで繋いでクラウド基盤 作ろうとしてます • CNDS本編では、CiliumというCNIに 次のマイナーバージョンで入る新機能に ついてLTをしました
CNDS2025 本編でもLT登壇してました
さくら「13の新機能を追加しました」 • 長野さんのお話で出てきましたね!
シークレットマネージャ • ありがとうございます!!!!!👏👏👏👏👏👏👏👏 ◦ ICTSCという学生向けIT大会でさくらのクラウド上 にK8sクラスタを建てているので、とても嬉しい • これでさくら上に機密情報を移せる!
シークレット管理サービスとK8sを繋ぐ • アプリケーションから直接アクセス: 面倒 & 拡張不可 • 取ってきた情報を、K8sのSecretに変換して使いたい ◦ この需要に応えるのがExternal
Secrets Operator 出典: https://external-secrets.io/
External Secrets Operator • ClusterSecretStore / SecretStoreを作成 ◦ 任意のProvider (使いたい
管理サービス) を指定 • ExternalSecretを作成 ◦ SecretStoreから 機密情報を取ってきて K8sのSecretを自動生成
External Secretsでさくらを使いたい • External Secretsのユーザーによる拡張機構は貧弱 ◦ WebhookProvider ▪ Webhookサーバーに対してシークレットの読み 書きを行う
◦ それ以外はほぼ用意されてない • 新しいクラウドサービスを使いたければ、Providerを公 式で提供すべきという発想だと思う ◦ Providerを作ってExternal Secretsに入れる必要が
長野さんに相談だ • logica: さくら内でProvider作成する予定あります? • 長野さん: 今のところ無い、サービス開発に注力したい • logica: じゃあメンテナンスのことは後々相談するとして
僕が初期実装やるのはどうですか? • 長野さん: ぜひやってください 👌 という流れで僕が初期実装をやることになりました
ひとまずIssueを建てる • External Secretsのメンテナの方も「Providerをメンテ ナンスする人が付けられればいいよ」とのこと
Providerの構造 • apis パッケージ ◦ さくらのシークレットマネージャ向け設定を追加 • esv1.Provider インターフェース ◦
apiで定義した設定から、SecretsClientを作成する ◦ これをExternal Secretsのコア部分に登録 • esv1.SecretsClient インターフェース ◦ 実際にシークレットを読み書きする こんな感じで、かなりシンプルな仕組み
現在の進捗 • apis パッケージ ← 完了 ◦ さくらのシークレットマネージャ向け設定を追加 • esv1.Provider
インターフェース ← ほぼ完了 ◦ apiで定義した設定から、SecretStoreを作成する ◦ これをExternal Secretsのコア部分に登録 • esv1.SecretsClient インターフェース ← 要相談段階 ◦ 実際にシークレットを読み書きする External Secretsのみに依存している部分はほぼできた
SecretStore - さくらに依存する難しさ • シークレットマネージャはつい最近β版が提供開始で、 GoのSDKがまだ出ていない ◦ SDKを優先実装してもらう? ◦ External
Secrets側で仮のSDKを用意する? ◦ HTTPのエンドポイントを直接叩く? • さくらさんのAPI利用の方針に従いたいので、ちゃんと さくらの社員さんと実装方針を共有しておきたい ◦ 来週MTGをするので、本格的な実装はそこからかな
夏までには完成させたい と思っています! 応援よろしくお願いします 実装ができたら、是非使ってみて下さい
ありがとう ございました 今後の進捗に乞うご期待!