31 lines
959 B
Markdown
31 lines
959 B
Markdown
|
+-------+ +--------+
|
||
|
| State | | Config | Phase 1
|
||
|
+-------+ +--------+
|
||
|
| ||
|
||
|
V \/
|
||
|
+-------+ +-------+
|
||
|
| Repo1 | | Repo1 |
|
||
|
| Repo2 | | Repo2 |
|
||
|
| Repo3 | | Repo3 |
|
||
|
| Repo4 | | Repo5 |
|
||
|
+-------+ +-------+
|
||
|
||
|
||
|
|| Phase 1.5
|
||
|
\/
|
||
|
+-------+ +--------+
|
||
|
| State | | Config | Phase 2
|
||
|
+-------+ +--------+
|
||
|
| ||
|
||
|
V \/
|
||
|
+-------+ +-------+
|
||
|
| Repo1 | | Repo1 |
|
||
|
| Repo2 | | Repo2 |
|
||
|
| Repo3 | | Repo3 |
|
||
|
| Repo5 | | Repo5 |
|
||
|
+-------+ +-------+
|
||
|
|
||
|
Internally in phase 1.5, Config compares itself to State, removes keys that are in State and then installs plugins that are not in State
|
||
|
Config also modifies State by removing the keys that aren't in Config
|
||
|
|
||
|
Note: Config never modifies itself or State manually, instead delegating that work to the install() and uninstall() functions
|