Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
External SecretsのさくらProvider初期実装を担当しています
Search
Takuto Nagami
May 23, 2025
Programming
0
340
External SecretsのさくらProvider初期実装を担当しています
2024/5/23 さくらのテックナイト in 那覇 〜さくらのクラウド編〜にて登壇した際の資料です。
Takuto Nagami
May 23, 2025
Tweet
Share
More Decks by Takuto Nagami
See All by Takuto Nagami
【2025改訂版】ITエンジニアとして知っておいてほしい、電子メールという大きな穴
logica0419
1
79
Fundamentals of Memory Management in Go: Learning Through the History
logica0419
0
92
GopherCon Tourのつくりかた
logica0419
2
70
Go言語はstack overflowの夢を見るか?
logica0419
2
720
あなたの言葉に力を与える、演繹的なアプローチ
logica0419
1
230
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
1
730
GopherCon Tour 概略
logica0419
2
450
言葉の壁を越えて ~Gophers EXと歩む海外登壇への道~
logica0419
1
64
Maintainer Meetupで「生の声」を聞く ~講演だけじゃないKubeCon
logica0419
1
650
Other Decks in Programming
See All in Programming
GeistFabrik and AI-augmented software development
adewale
PRO
0
220
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
200
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
4
1.7k
CSC305 Lecture 14
javiergs
PRO
0
330
CSC305 Lecture 15
javiergs
PRO
0
210
無秩序からの脱却 / Emergence from chaos
nrslib
2
10k
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
320
Level up your Gemini CLI - D&D Style!
palladius
1
140
AWS CDKの推しポイントN選
akihisaikeda
1
220
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
110
WebRTC と Rust と8K 60fps
tnoho
2
1k
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 1
philipschwarz
PRO
0
110
Featured
See All Featured
A better future with KSS
kneath
239
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
680
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Scaling GitHub
holman
464
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
How STYLIGHT went responsive
nonsquared
100
5.9k
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をするので、本格的な実装はそこからかな
夏までには完成させたい と思っています! 応援よろしくお願いします 実装ができたら、是非使ってみて下さい
ありがとう ございました 今後の進捗に乞うご期待!