@@ -72,6 +72,10 @@ func controllerDefaultVolumes() []corev1.Volume {
7272 Key : "controller.profile.enabled" ,
7373 Path : "profiler.enabled" ,
7474 },
75+ {
76+ Key : "controller.resource.health.persist" ,
77+ Path : "controller.resource.health.persist" ,
78+ },
7579 },
7680 },
7781 },
@@ -208,7 +212,9 @@ func TestReconcileArgoCD_reconcileApplicationController(t *testing.T) {
208212 "--status-processors" , "20" ,
209213 "--kubectl-parallelism-limit" , "10" ,
210214 "--loglevel" , "info" ,
211- "--logformat" , "text" }
215+ "--logformat" , "text" ,
216+ "--persist-resource-health" ,
217+ }
212218 if diff := cmp .Diff (want , command ); diff != "" {
213219 t .Fatalf ("reconciliation failed:\n %s" , diff )
214220 }
@@ -254,7 +260,8 @@ func TestReconcileArgoCD_reconcileApplicationController_withRedisTLS(t *testing.
254260 "--status-processors" , "20" ,
255261 "--kubectl-parallelism-limit" , "10" ,
256262 "--loglevel" , "info" ,
257- "--logformat" , "text" }
263+ "--logformat" , "text" ,
264+ "--persist-resource-health" }
258265 if diff := cmp .Diff (want , command ); diff != "" {
259266 t .Fatalf ("reconciliation failed:\n %s" , diff )
260267 }
@@ -293,7 +300,8 @@ func TestReconcileArgoCD_reconcileApplicationController_withUpdate(t *testing.T)
293300 "--status-processors" , "30" ,
294301 "--kubectl-parallelism-limit" , "10" ,
295302 "--loglevel" , "info" ,
296- "--logformat" , "text" }
303+ "--logformat" , "text" ,
304+ "--persist-resource-health" }
297305 if diff := cmp .Diff (want , command ); diff != "" {
298306 t .Fatalf ("reconciliation failed:\n %s" , diff )
299307 }
@@ -401,6 +409,12 @@ func TestReconcileArgoCD_reconcileApplicationController_withSharding(t *testing.
401409 },
402410 replicas : 1 ,
403411 vars : []corev1.EnvVar {
412+ {Name : "ARGOCD_CONTROLLER_RESOURCE_HEALTH_PERSIST" , ValueFrom : & corev1.EnvVarSource {
413+ ConfigMapKeyRef : & corev1.ConfigMapKeySelector {
414+ LocalObjectReference : corev1.LocalObjectReference {Name : common .ArgoCDCmdParamsConfigMapName },
415+ Key : "controller.resource.health.persist" ,
416+ },
417+ }},
404418 {Name : "HOME" , Value : "/home/argocd" },
405419 {Name : "REDIS_PASSWORD" , Value : "" ,
406420 ValueFrom : & corev1.EnvVarSource {
@@ -421,6 +435,12 @@ func TestReconcileArgoCD_reconcileApplicationController_withSharding(t *testing.
421435 replicas : 1 ,
422436 vars : []corev1.EnvVar {
423437 {Name : "ARGOCD_CONTROLLER_REPLICAS" , Value : "1" },
438+ {Name : "ARGOCD_CONTROLLER_RESOURCE_HEALTH_PERSIST" , ValueFrom : & corev1.EnvVarSource {
439+ ConfigMapKeyRef : & corev1.ConfigMapKeySelector {
440+ LocalObjectReference : corev1.LocalObjectReference {Name : common .ArgoCDCmdParamsConfigMapName },
441+ Key : "controller.resource.health.persist" ,
442+ },
443+ }},
424444 {Name : "HOME" , Value : "/home/argocd" },
425445 {Name : "REDIS_PASSWORD" , Value : "" ,
426446 ValueFrom : & corev1.EnvVarSource {
@@ -441,6 +461,12 @@ func TestReconcileArgoCD_reconcileApplicationController_withSharding(t *testing.
441461 replicas : 3 ,
442462 vars : []corev1.EnvVar {
443463 {Name : "ARGOCD_CONTROLLER_REPLICAS" , Value : "3" },
464+ {Name : "ARGOCD_CONTROLLER_RESOURCE_HEALTH_PERSIST" , ValueFrom : & corev1.EnvVarSource {
465+ ConfigMapKeyRef : & corev1.ConfigMapKeySelector {
466+ LocalObjectReference : corev1.LocalObjectReference {Name : common .ArgoCDCmdParamsConfigMapName },
467+ Key : "controller.resource.health.persist" ,
468+ },
469+ }},
444470 {Name : "HOME" , Value : "/home/argocd" },
445471 {Name : "REDIS_PASSWORD" , Value : "" ,
446472 ValueFrom : & corev1.EnvVarSource {
@@ -463,6 +489,12 @@ func TestReconcileArgoCD_reconcileApplicationController_withSharding(t *testing.
463489 replicas : 2 ,
464490 vars : []corev1.EnvVar {
465491 {Name : "ARGOCD_CONTROLLER_REPLICAS" , Value : "2" },
492+ {Name : "ARGOCD_CONTROLLER_RESOURCE_HEALTH_PERSIST" , ValueFrom : & corev1.EnvVarSource {
493+ ConfigMapKeyRef : & corev1.ConfigMapKeySelector {
494+ LocalObjectReference : corev1.LocalObjectReference {Name : common .ArgoCDCmdParamsConfigMapName },
495+ Key : "controller.resource.health.persist" ,
496+ },
497+ }},
466498 {Name : "HOME" , Value : "/home/argocd" },
467499 {Name : "REDIS_PASSWORD" , Value : "" ,
468500 ValueFrom : & corev1.EnvVarSource {
@@ -520,6 +552,12 @@ func TestReconcileArgoCD_reconcileApplicationController_withSharding(t *testing.
520552func TestReconcileArgoCD_reconcileApplicationController_withAppSync (t * testing.T ) {
521553
522554 expectedEnv := []corev1.EnvVar {
555+ {Name : "ARGOCD_CONTROLLER_RESOURCE_HEALTH_PERSIST" , ValueFrom : & corev1.EnvVarSource {
556+ ConfigMapKeyRef : & corev1.ConfigMapKeySelector {
557+ LocalObjectReference : corev1.LocalObjectReference {Name : common .ArgoCDCmdParamsConfigMapName },
558+ Key : "controller.resource.health.persist" ,
559+ },
560+ }},
523561 {Name : "ARGOCD_RECONCILIATION_TIMEOUT" , Value : "600s" },
524562 {Name : "HOME" , Value : "/home/argocd" },
525563 {Name : "REDIS_PASSWORD" , Value : "" ,
@@ -567,6 +605,12 @@ func TestReconcileArgoCD_reconcileApplicationController_withAppSync(t *testing.T
567605func TestReconcileArgoCD_reconcileApplicationController_withEnv (t * testing.T ) {
568606
569607 expectedEnv := []corev1.EnvVar {
608+ {Name : "ARGOCD_CONTROLLER_RESOURCE_HEALTH_PERSIST" , ValueFrom : & corev1.EnvVarSource {
609+ ConfigMapKeyRef : & corev1.ConfigMapKeySelector {
610+ LocalObjectReference : corev1.LocalObjectReference {Name : common .ArgoCDCmdParamsConfigMapName },
611+ Key : "controller.resource.health.persist" ,
612+ },
613+ }},
570614 {Name : "CUSTOM_ENV_VAR" , Value : "custom-value" },
571615 {Name : "HOME" , Value : "/home/argocd" },
572616 {Name : "REDIS_PASSWORD" , Value : "" ,
0 commit comments