Skip to content

Commit 6c29fd3

Browse files
committed
Syncing Repo from branch sync-2024-06-07-141738-803e027
1 parent 803e027 commit 6c29fd3

File tree

10 files changed

+508
-141
lines changed

10 files changed

+508
-141
lines changed

charts/devtron/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: v2
22
name: devtron-operator
3-
appVersion: 0.6.29
3+
appVersion: 0.7.0
44
description: Chart to configure and install Devtron. Devtron is a Kubernetes Orchestration system.
55
keywords:
66
- Devtron
@@ -11,7 +11,7 @@ keywords:
1111
- argocd
1212
- Hyperion
1313
engine: gotpl
14-
version: 0.22.71
14+
version: 0.22.72
1515
sources:
1616
- https://github.com/devtron-labs/charts
1717
dependencies:

charts/devtron/devtron-bom.yaml

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ global:
88
runAsUser: 1000
99
runAsNonRoot: true
1010
containerRegistry: "quay.io/devtron"
11-
11+
1212
installer:
13-
release: "v0.6.29"
13+
release: "v0.7.0"
1414
registry: ""
1515
image: "inception"
1616
tag: "473deaa4-185-21582"
17+
1718
components:
1819
dashboard:
1920
config:
@@ -30,31 +31,30 @@ components:
3031
SERVICE_WORKER_TIMEOUT: "1"
3132
API_BATCH_SIZE: "30"
3233
registry: ""
33-
image: "dashboard:1c86e84e-325-22108"
34+
image: "dashboard:87aaf7ac-690-23135"
3435
imagePullPolicy: IfNotPresent
35-
36+
3637
devtron:
3738
registry: ""
38-
image: "hyperion:e7f34f5a-280-22107"
39-
cicdImage: "devtron:e7f34f5a-434-22106"
39+
image: "hyperion:3aa7e420-280-23147"
40+
cicdImage: "devtron:3aa7e420-434-23146"
4041
imagePullPolicy: IfNotPresent
4142
customOverrides: {}
42-
43+
4344
ciRunner:
4445
registry: ""
45-
image: "ci-runner:f5614d79-541-22176"
46-
47-
46+
image: "ci-runner:6e721248-138-23081"
47+
4848
argocdDexServer:
4949
registry: ""
5050
image: "dex:v2.30.2"
5151
imagePullPolicy: IfNotPresent
5252
initContainer:
5353
authenticator: "authenticator:e414faff-393-13273"
54-
54+
5555
kubelink:
5656
registry: ""
57-
image: "kubelink:2610ac5a-564-22109"
57+
image: "kubelink:a810dbae-564-23055"
5858
imagePullPolicy: IfNotPresent
5959
configs:
6060
ENABLE_HELM_RELEASE_CACHE: "true"
@@ -69,18 +69,18 @@ components:
6969
dbconfig:
7070
secretName: postgresql-postgresql
7171
keyName: postgresql-password
72-
72+
7373
kubewatch:
7474
registry: ""
75-
image: "kubewatch:50d4d32d-419-22116"
75+
image: "kubewatch:f8ac0fe6-419-23054"
7676
imagePullPolicy: IfNotPresent
7777
configs:
7878
devtroncd_NAMESPACE: "devtron-ci"
7979
CI_INFORMER: "true"
8080
ACD_NAMESPACE: "devtroncd"
8181
ACD_INFORMER: "true"
8282
NATS_STREAM_MAX_AGE: "10800"
83-
83+
8484
postgres:
8585
registry: ""
8686
image: "postgres:11.9.0-debian-10-r26"
@@ -90,6 +90,7 @@ components:
9090
metrics:
9191
image: postgres_exporter:v0.4.7
9292
armImage: postgres_exporter:v0.10.1
93+
9394
gitsensor:
9495
registry: ""
9596
image: "git-sensor:8545feb5-200-22005"
@@ -107,10 +108,10 @@ components:
107108
dbconfig:
108109
secretName: postgresql-postgresql
109110
keyName: postgresql-password
110-
# Values for lens
111+
# Values for lens
111112
lens:
112113
registry: ""
113-
image: "lens:70577aaa-333-21179"
114+
image: "lens:3d3e8f08-333-23057"
114115
imagePullPolicy: IfNotPresent
115116
configs:
116117
GIT_SENSOR_PROTOCOL: GRPC
@@ -123,7 +124,7 @@ components:
123124
dbconfig:
124125
secretName: postgresql-postgresql
125126
keyName: postgresql-password
126-
# Change below values for nats
127+
# Change below values for nats
127128
nats:
128129
registry: ""
129130
image: nats:2.9.3-alpine
@@ -139,6 +140,7 @@ components:
139140
enabled: false
140141
persistence:
141142
storage: 5Gi
143+
142144
migrator:
143145
registry: ""
144146
image: "migrator:v4.16.2"
@@ -151,13 +153,11 @@ components:
151153
DB_NAME: "casbin"
152154
gitsensor:
153155
DB_NAME: "git_sensor"
154-
lens:
156+
lens:
155157
DB_NAME: "lens"
156-
157158
chartSync:
158159
registry: ""
159-
image: chart-sync:d0dcc590-373-21074
160-
160+
image: chart-sync:b67ab589-150-23082
161161
# values for argocd integration
162162
argo-cd:
163163
global:
@@ -175,21 +175,22 @@ workflowController:
175175
executorImage: "argoexec:v3.4.3"
176176
IMDSv1Image: "workflow-controller:v3.0.7"
177177
IMDSv1ExecutorImage: "argoexec:v3.0.7"
178+
178179
security:
179180
imageScanner:
180-
image: "image-scanner:c0416bc2-334-22111"
181+
image: "image-scanner:3ab2ba46-141-23064"
181182
clair:
182183
image:
183184
repository: clair
184185
tag: 4.3.6
185186
# Values for notifier integration
186187
notifier:
187188
image: "notifier:924a17f6-372-22110"
189+
188190
minio:
189191
image: "minio:RELEASE.2021-02-14T04-01-33Z"
190192
mbImage: "minio-mc:RELEASE.2021-02-14T04-28-06Z"
191193
gatewayImage: "minio:RELEASE.2020-12-03T05-49-24Z"
192-
193194
# Values for grafana integration
194195
monitoring:
195196
grafana:

charts/devtron/templates/_helpers.tpl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ it randomly.
1919
{{- end -}}
2020
{{- end }}
2121

22-
2322
{{/*
2423
Return full image
2524
{{ include "common.image" ( dict "component" .Values.path.to.the.component "global" .Values.global .extraImage .extraImageTag .extraImageDigest ) }}
@@ -50,4 +49,4 @@ Return full image
5049
{{- printf "%s" $imageName -}}
5150
{{- end }}
5251
{{- end -}}
53-
{{- end -}}
52+
{{- end -}}

charts/devtron/templates/argocd-secret.yaml

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,178 @@ data:
5656
- name: kedacore
5757
type: helm
5858
url: https://kedacore.github.io/charts
59+
resource.customizations: >
60+
kubernetes-client.io/ExternalSecret:
61+
health.lua: |
62+
hs = {}
63+
if obj.status ~= nil then
64+
if obj.status.status ~= nil then
65+
hs.status = "Degraded"
66+
hs.message = obj.status.status
67+
else
68+
hs.status = "Healthy"
69+
end
70+
else
71+
hs.status = "Healthy"
72+
end
73+
return hs
74+
argoproj.io/Rollout:
75+
health.lua: |
76+
function checkReplicasStatus(obj)
77+
hs = {}
78+
replicasCount = getNumberValueOrDefault(obj.spec.replicas)
79+
replicasStatus = getNumberValueOrDefault(obj.status.replicas)
80+
updatedReplicas = getNumberValueOrDefault(obj.status.updatedReplicas)
81+
availableReplicas = getNumberValueOrDefault(obj.status.availableReplicas)
82+
83+
if updatedReplicas < replicasCount then
84+
hs.status = "Progressing"
85+
hs.message = "Waiting for roll out to finish: More replicas need to be updated"
86+
return hs
87+
end
88+
-- Since the scale down delay can be very high, BlueGreen does not wait for all the old replicas to scale
89+
-- down before marking itself healthy. As a result, only evaluate this condition if the strategy is canary.
90+
if obj.spec.strategy.canary ~= nil and replicasStatus > updatedReplicas then
91+
hs.status = "Progressing"
92+
hs.message = "Waiting for roll out to finish: old replicas are pending termination"
93+
return hs
94+
end
95+
if availableReplicas < updatedReplicas then
96+
hs.status = "Progressing"
97+
hs.message = "Waiting for roll out to finish: updated replicas are still becoming available"
98+
return hs
99+
end
100+
return nil
101+
end
102+
103+
function getNumberValueOrDefault(field)
104+
if field ~= nil then
105+
return field
106+
end
107+
return 0
108+
end
109+
110+
function checkPaused(obj)
111+
hs = {}
112+
local paused = false
113+
if obj.status.verifyingPreview ~= nil then
114+
paused = obj.status.verifyingPreview
115+
elseif obj.spec.paused ~= nil then
116+
paused = obj.spec.paused
117+
end
118+
119+
if paused then
120+
hs.status = "Suspended"
121+
hs.message = "Rollout is paused"
122+
return hs
123+
end
124+
return nil
125+
end
126+
127+
hs = {}
128+
if obj.status ~= nil then
129+
if obj.status.conditions ~= nil then
130+
for _, condition in ipairs(obj.status.conditions) do
131+
if condition.type == "InvalidSpec" then
132+
hs.status = "Degraded"
133+
hs.message = condition.message
134+
return hs
135+
end
136+
if condition.type == "Progressing" and condition.reason == "RolloutAborted" then
137+
hs.status = "Degraded"
138+
hs.message = condition.message
139+
return hs
140+
end
141+
if condition.type == "Progressing" and condition.reason == "ProgressDeadlineExceeded" then
142+
hs.status = "Degraded"
143+
hs.message = condition.message
144+
return hs
145+
end
146+
end
147+
end
148+
if obj.status.currentPodHash ~= nil then
149+
if obj.spec.strategy.blueGreen ~= nil then
150+
isPaused = checkPaused(obj)
151+
if isPaused ~= nil then
152+
return isPaused
153+
end
154+
replicasHS = checkReplicasStatus(obj)
155+
if replicasHS ~= nil then
156+
return replicasHS
157+
end
158+
if obj.status.blueGreen ~= nil and obj.status.blueGreen.activeSelector ~= nil and obj.status.blueGreen.activeSelector == obj.status.currentPodHash then
159+
hs.status = "Healthy"
160+
hs.message = "The active Service is serving traffic to the current pod spec"
161+
return hs
162+
end
163+
hs.status = "Progressing"
164+
hs.message = "The current pod spec is not receiving traffic from the active service"
165+
return hs
166+
end
167+
if obj.spec.strategy.recreate ~= nil then
168+
isPaused = checkPaused(obj)
169+
if isPaused ~= nil then
170+
return isPaused
171+
end
172+
replicasHS = checkReplicasStatus(obj)
173+
if replicasHS ~= nil then
174+
return replicasHS
175+
end
176+
if obj.status.recreate ~= nil and obj.status.recreate.currentRS ~= nil and obj.status.recreate.currentRS == obj.status.currentPodHash then
177+
hs.status = "Healthy"
178+
hs.message = "Rollout is successful"
179+
return hs
180+
end
181+
hs.status = "Progressing"
182+
hs.message = "Rollout is in progress"
183+
return hs
184+
end
185+
if obj.spec.strategy.canary ~= nil then
186+
currentRSIsStable = obj.status.canary.stableRS == obj.status.currentPodHash
187+
if obj.spec.strategy.canary.steps ~= nil and table.getn(obj.spec.strategy.canary.steps) > 0 then
188+
stepCount = table.getn(obj.spec.strategy.canary.steps)
189+
if obj.status.currentStepIndex ~= nil then
190+
currentStepIndex = obj.status.currentStepIndex
191+
isPaused = checkPaused(obj)
192+
if isPaused ~= nil then
193+
return isPaused
194+
end
195+
196+
if paused then
197+
hs.status = "Suspended"
198+
hs.message = "Rollout is paused"
199+
return hs
200+
end
201+
if currentRSIsStable and stepCount == currentStepIndex then
202+
replicasHS = checkReplicasStatus(obj)
203+
if replicasHS ~= nil then
204+
return replicasHS
205+
end
206+
hs.status = "Healthy"
207+
hs.message = "The rollout has completed all steps"
208+
return hs
209+
end
210+
end
211+
hs.status = "Progressing"
212+
hs.message = "Waiting for rollout to finish steps"
213+
return hs
214+
end
215+
216+
-- The detecting the health of the Canary deployment when there are no steps
217+
replicasHS = checkReplicasStatus(obj)
218+
if replicasHS ~= nil then
219+
return replicasHS
220+
end
221+
if currentRSIsStable then
222+
hs.status = "Healthy"
223+
hs.message = "The rollout has completed canary deployment"
224+
return hs
225+
end
226+
hs.status = "Progressing"
227+
hs.message = "Waiting for rollout to finish canary deployment"
228+
end
229+
end
230+
end
231+
hs.status = "Progressing"
232+
hs.message = "Waiting for rollout to finish: status has not been reconciled."
233+
return hs

0 commit comments

Comments
 (0)