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
Takuto Nagami
May 23, 2025
Programming
400
0
Share
External SecretsのさくらProvider初期実装を担当しています
2024/5/23 さくらのテックナイト in 那覇 〜さくらのクラウド編〜にて登壇した際の資料です。
Takuto Nagami
May 23, 2025
More Decks by Takuto Nagami
See All by Takuto Nagami
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
9
910
キャリア科目では教えてくれない、就活を生き抜く法則
logica0419
2
260
歴史から学ぶ、Goのメモリ管理基礎
logica0419
17
3.7k
【2025改訂版】ITエンジニアとして知っておいてほしい、電子メールという大きな穴
logica0419
2
180
Fundamentals of Memory Management in Go: Learning Through the History
logica0419
1
150
GopherCon Tourのつくりかた
logica0419
2
130
Go言語はstack overflowの夢を見るか?
logica0419
2
830
あなたの言葉に力を与える、演繹的なアプローチ
logica0419
1
280
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
3
1k
Other Decks in Programming
See All in Programming
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
1
320
ロボットのための工場に灯りは要らない
watany
12
3.3k
モダンOBSプラグイン開発
umireon
0
200
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
1
240
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
550
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.8k
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
780
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
190
KagglerがMixSeekを触ってみた
morim
0
360
How to stabilize UI tests using XCTest
akkeylab
0
150
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
690
AI活用のコスパを最大化する方法
ochtum
0
370
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
700
GraphQLとの向き合い方2022年版
quramy
50
14k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Technical Leadership for Architectural Decision Making
baasie
3
310
The Cult of Friendly URLs
andyhume
79
6.8k
Embracing the Ebb and Flow
colly
88
5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
180
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
460
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
340
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をするので、本格的な実装はそこからかな
夏までには完成させたい と思っています! 応援よろしくお願いします 実装ができたら、是非使ってみて下さい
ありがとう ございました 今後の進捗に乞うご期待!