Commit fab81fa

mo khan <mo@mokhan.ca>
2021-11-17 06:18:11
flush out some of the slides
1 parent e54cb3f
Changed files (1)
README.md
@@ -1,7 +1,193 @@
 ---
 title: Dependabot
-author: github.com/xlgmokha/dependabot-talk
-date: 2021-11-16
+author: mo (xlgmokha) (he/him)
+date: 2021-11-17
 ---
 
 # Dependabot
+
+```plaintext
+=----------------------------------------------------------------------=
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+---------------------------------*@@@@@@@-------------------------------
+--------------------------------:*@@@@@@@-------------------------------
+--------------------------------:#@@@@@@@-------------------------------
+---------------------------------+%%%%@@@-------------------------------
+--------------------------------------*@@=------------------------------
+----------------*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*----------------
+---------------=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=---------------
+---------------=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=---------------
+---------------=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=---------------
+---------------=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=---------------
+--------------:-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-:--------------
+-------------+%%@@@@@@@@@@@@%+--+@@@@@@@@@@@@%+--#@@@@@@%%+-------------
+-------------#@@@@@@@@%=-=#*-::=*@@@@@@%=-+#+-:-=#@@@@@@@@#-------------
+-------------#@@@@@@@@@+-:-:-=#@@@@@@@@%=-:-:-=#@@@@@@@@@@#-------------
+-------------#@@@@@@@@@@%+-=#@@@@@@@@@@@@%+-=#@@@@@@@@@@@@#-------------
+-------------#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-------------
+-------------=+*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+=-------------
+--------------:-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-:--------------
+---------------=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=---------------
+----------------#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#----------------
+------------------===============------===============------------------
+---------------------------------*####*---------------------------------
+--------------------------------#@@@@@@#--------------------------------
+--------------------------------@@@@@@@@--------------------------------
+-------------------------------+@@@@@@@@+-------------------------------
+-------------------------------%@@@@@@@@%-------------------------------
+-------------------------------%@@@@@@@@%-------------------------------
+--------------------------------+@@@@@@+--------------------------------
+--------------------------------:-#@@#-:--------------------------------
+=----------------------------------==----------------------------------=
+```
+
+# Agenda
+
+1. What is Dependabot?
+1. Map of Dependabot
+1. Dependabot Internals
+1. Debugging Dependabot
+1. Tracepoint + Signals ?
+
+# What is Dependabot?
+
+```yaml
+# .github/dependabot.yml
+version: 2
+updates:
+  - package-ecosystem: "bundler"
+    directory: "/"
+    schedule:
+      interval: "daily"
+```
+              |
+              |
+              V
+
+```diff
+--- a/Gemfile.lock
++++ b/Gemfile.lock
+@@ -78,7 +78,7 @@ GEM
+     minitest (5.14.4)
+-    net-hippie (1.0.0)
++    net-hippie (1.1.1)
+     nio4r (2.5.8)
+```
+
+# Map of Dependabot (dotcom)
+
+```plaintext
+   --------------
+  ||-------------|
+  || $ git push  |-o-o-o-o-
+  ||             |        o
+   ---------------        |
+   \ 000000000000 \       o
+    \ 000000000000 \      |
+     \   \      \   \     o
+      ----------------    |
+         o-o-o-o-o-o-o-o-o-
+         |
+         o
+   ------|----------------------------
+   |     v        GitHub DC          |
+   | ----------                      |
+   | | dotcom |                      |
+   | ----------                      |
+   |  |                -----------   |
+   |  |- webhooks, --> | 🤖-api  |   |
+   |     hyro          -----|-----   |
+   -------------------------|---------
+                            |
+   -------------------------|---------      ---------------
+   |     AWS                |        |  |->-|...          |
+   |                --------|------  |  |   ---------------
+   |     ----------|     SQS Queue | |  |   ---------------
+   |     |V        |(o,x,o,o,x,...)| |  |>--| pypi.org    |
+   |     V|         ---------------  |  |   ---------------
+   |     ||                          |  |   ---------------
+   |  --------                       |  |-->| rubygems.org|
+   | |🤖-updater|\                   |  |   ---------------
+   |  --------\||\  <- The           |  |   ---------------
+   |  \________\|||   ~magic~ danger |  |->-| npmjs.org   |
+   |   \        \||    happens       |  |   ---------------
+   |    \-----|---|    here.         |  |
+   |----------|----------------------|  |
+              |                         |
+              |--------------------------
+```
+
+# Behind the Curtain
+
+```plaintext
+                     ______
+                |-<-() SQS )
+                V    ------
+                |
+ ---------------V----------------------------------
+ | ec2-metal    |                                 |
+ |              V                                 |
+ |       -------|------                           |
+ |       | job runner |                           |      --------------
+ |       --------------                           |   |->|...         |
+ |     /                \-----------------------  |   |  --------------
+ |     |                | docker               |  |   |->|pypi.org    |
+ |     |                | -------------------- |  |   |  --------------
+ | (export env)         | |  🤖-proxy        ->->->->-|->|rubygems.org|
+ |     |                | -|------------------ |  |   |  --------------
+ |     |                ---|-------------------   |   |->|npmjs.org   |
+ |     |                   A                      |      --------------
+ |  -----------------------|-----                 |
+ |  | firecracker vm       A     |\               |
+ |  |                      |     ||\              |
+ |  | -------------        A     |||\             |
+ |  | | job guest |        |     ||||             |
+ |  | -------------        A     ||||             |
+ |  |    |     |           |     ||||             |
+ |  | ---------------------A---- ||||             |
+ |  | | docker             |   | ||||             |
+ |  | | -------------------|-- | ||||             |
+ |  | | | 🤖-updater         | | ||||             |
+ |  | | ---------------------- | ||||             |
+ |  | |------------------------- ||||             |
+ |  ------------------------------|||             |
+ --------------------------------------------------
+```
+
+# A little deeper down the rabbit hole
+
+```plaintext
+--------------------------      ------------------------
+| 🤖-updater (private)   |      |  🤖-core (public OSS)|
+--------------------------      ------------------------
+| /bin                   |      | /bin                 |
+|  - run.sh fetch|update |      |  - dry-run.rb        |
+| /lib                   |      | /bundler             |
+|  - fetch.rb            |      |  - file_fetcher      |
+|  - update.rb           |      |  - file_parser       |
+| Gemfile                |      |  - file_updater      |
+|  - dependabot-omnibus  |----> |  - update_checker    |
+|  - dependabot-bundler  |      | /npm                 |
+|  - dependabot-npm      |      | /python              |
+|  - dependabot-python   |      | /...                 |
+|  - dependabot-...      |      |                      |
+--------------------------      ------------------------
+```
+
+*  50+ Open Pull Requests
+* 700+ Open Issues
+* 140+ Contributors
+* Supports:
+  * Azure
+  * BitBucket
+  * GitHub
+  * GitLab
+* 15+ supported eco-systems
+* Used by 56 Public Repos
+* Oldest Open PR (2018)
+
+https://github.com/dependabot/dependabot-core