-
Notifications
You must be signed in to change notification settings - Fork 3
/
flowchart.txt
99 lines (98 loc) · 6.96 KB
/
flowchart.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
┌───────────────────────────┐
│ │
│ app.git │
│ │
└───────────────────────────┘
│
│
Master
branch is
updated
│
▼
┌────────────────────────────┐
│ CI pipeline builds Docker │
│images for every service in │
│ the application │
└────────────────────────────┘
│
CI posts new image tags and
digests to cfgupdater
│
│
▼
┌────────────────────────────────────┐
│ cfgupdater creates a new commit in │
│ cfg-app to update Staging images │
│ to the most recent app commit │
│ │
└────────────────────────────────────┘ ┌─────────────────────┐
│ │ Developer directly │
│ │ modifies Jsonnet to │
Effectively, git ┌──────────│ update Kubernetes │
push │ │ resource(s) │
│ │ └─────────────────────┘
▼ ▼
┌───────────────────────────────┐
│ cfg-app.git │
│ ├─────────────────┐
┌──────▶│(Jsonnet to generate k8s YAML) │ │
│ ┌────▶│ ├───────┐ │
│ │ └───────────────────────────────┘ │ │
│ │ │ │ │
│ │ │ │ │
│ │ Argo observes cfg-app.git │ │
│ │ update on Staging env │ │
│ │ config │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌──────────────────────────────┐ │ │
│ │ │ Argo CD deploys to Staging │ │ │
│ │ │ envs │ │ │
│ │ │ │ Argo observes │
│ │ └──────────────────────────────┘ cfg-app.git │
│ │ │ update on │
│ │ │ Internal env │
│ │ Argo CD post-deploy hook config │
│ │ indicating successful deploy │ │
│ │ │ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ cfgupdater creates a new commit in │ │ │
│ │ │ cfg-app, promoting the images │ │ │
│ └──│ successfully deployed to Staging, │ │ Argo observes
│ │ into Internal environments │ │ cfg-app.git
│ │ │ │ update on
│ └─────────────────────────────────────┘ │ Production env
│ │ config
│ │ │
│ │ │
│ ┌──────────────────────────────┐ │ │
│ │ Argo CD deploys to Internal │ │ │
│ │ envs │◀──────┘ │
│ └──────────────────────────────┘ │
│ │ │
│ Argo CD post-deploy │
│ hook indicating │
│ successful deploy │
│ │ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ │ │
│ │ cfgupdater creates a new commit in │ │
│ │ cfg-app, promoting the images │ │
└─────│ successfully deployed to Internal, │ │
│ into Production environments │ │
│ │ │
└─────────────────────────────────────┘ │
│
│
┌──────────────────────────────┐ │
│Argo CD deploys to Production │ │
│ environments │◀───────────────┘
│ │
└──────────────────────────────┘
Created with Monodraw