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
すべてのリポジトリを監視する魔法
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
MasayaNakamura
November 28, 2024
Technology
0
74
すべてのリポジトリを監視する魔法
MasayaNakamura
November 28, 2024
Tweet
Share
More Decks by MasayaNakamura
See All by MasayaNakamura
YouはどうしてSREに?
shoppingjaws
0
790
(品質を監視する)SLOと向き合うための武器
shoppingjaws
0
48
リモートで新入社員がゴキゲンに働く方法教えます
shoppingjaws
0
87
Other Decks in Technology
See All in Technology
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
850
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
140
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
210
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
390
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
100
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
370
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
200
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.2k
Amusing Abliteration
ianozsvald
0
110
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Between Models and Reality
mayunak
1
200
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Building Applications with DynamoDB
mza
96
6.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
The SEO Collaboration Effect
kristinabergwall1
0
350
Transcript
すべてのリポジトリを管理する魔法 @ShoppingJaws / かいもの 監視
自己紹介 名前:@ShoppingJaws / かいもの 所属:スタディスト 役割:SRE 主食:CI/CD,IaC,DevOps 他 :SRE NEXT運営 好きなツール:1Password,aqua
本名がタガログ語で ”かいもの上手”(意訳)って意味
背景 - どちらかというとPolyレポ環境 - メンテ対象のリポジトリの数は30くらい(多分) - 弊社のリポジトリはIaCで管理されている - wetなmanifestを保つために検証環境を立ち上げると、Botが自動でいろいろなリ ポジトリにPushする
負債 - 脆弱性検知の通知を見逃しがち - ちゃんと設定しないと通知されない - FailureしているActionsに気付けない - リポジトリ間で相互に作用する仕組みがあり、Push先以外でFail する
- 全部にif: failureを導入し、徹底するのがむずい - リポジトリ一つ一つに手作業で設定をし続けるのは大変 - 作業は30秒で終わるけど、x30となると話が違う 漏れなく、特定のイベントだけ監視したい
アイデア - Github Webhookが使えそうだけど - SlackがNestedなJSONを受付ない仕様 - Webhookの通知すべてを知りたい訳じゃない - dependabot_alert
イベントはopen/closeなど事ある毎にWebhookを とばしてくる - リポジトリをIaC管理しているので、宣言的に通知を設定したい - 対象リポジトリに抜け漏れなく導入
何したの LTなのでいろいろ端折って
GitHub Webhook ->Lambda -> Slack Workflow
Lambdaの処理 平滑化 NestedなJSONを1階層しかないJSONへ変換 →SlackWebhookはフラットなJSONしか受け取ってくれない仕様 例)repository.name => repository-name 条件フィルタ クエリパラメータで渡された条件を元にSlackへ転送するか判断 例)dependabot_alertなら、https://<lambdaURL>?alert.state=open
github_repository_webhookに宣言的に通知を記述できるようになった
結論 リポジトリを作る時に宣言するだけで、通知が飛ぶようになった ここにあるイベントであれば通知 できるはず PushイベントだけはLambdaの 同時実行Quotaを念の為確認し ておいた方がよい
EOF あれ、これも負債では?