Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
すべてのリポジトリを監視する魔法
Search
Shoppingjaws
November 28, 2024
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
すべてのリポジトリを監視する魔法
Shoppingjaws
November 28, 2024
More Decks by Shoppingjaws
See All by Shoppingjaws
Intent as Code LT版
shoppingjaws
0
46
Intent as Code
shoppingjaws
6
1.2k
YouはどうしてSREに?
shoppingjaws
0
1.1k
(品質を監視する)SLOと向き合うための武器
shoppingjaws
0
69
リモートで新入社員がゴキゲンに働く方法教えます
shoppingjaws
0
110
Other Decks in Technology
See All in Technology
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
190
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
300
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
290
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
180
CloudWatch Logsのコスト最適化:どこまでAIに任せてどこから人間が承認すべきか
yama3133
0
120
freeeにおけるSoftware Factory
freee
PRO
0
100
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
5
1.3k
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
630
What Is JetBrains Air
x5gtrn
PRO
0
110
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
450
Rust で関数型ドメインモデリング
takonda
0
170
夫婦で子育てするための育児標準化
codmoninc
PRO
0
470
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Raft: Consensus for Rubyists
vanstee
142
7.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Git: the NoSQL Database
bkeepers
PRO
433
67k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
Prompt Engineering for Job Search
mfonobong
0
520
The browser strikes back
jonoalderson
0
1.8k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
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 あれ、これも負債では?