diff --git a/argocd-operator/controllers/gitopspromoter/deployment.go b/argocd-operator/controllers/gitopspromoter/deployment.go index 8893fd0ed27..20e56706910 100644 --- a/argocd-operator/controllers/gitopspromoter/deployment.go +++ b/argocd-operator/controllers/gitopspromoter/deployment.go @@ -68,6 +68,8 @@ func createControllerConfig() deploymentConfig { securityContext: buildControllerSecurityContext(), livenessProbe: buildControllerLivenessProbe(), readinessProbe: buildControllerReadinessProbe(), + volumes: buildControllerVolumes(), + volumeMounts: buildControllerVolumeMounts(), } } @@ -445,6 +447,28 @@ func buildAPIServerArgs() []string { } } +// buildControllerVolumes provides writable storage for Git clones and temporary index files. +func buildControllerVolumes() []corev1.Volume { + return []corev1.Volume{ + { + Name: "tmp", + VolumeSource: corev1.VolumeSource{ + EmptyDir: &corev1.EmptyDirVolumeSource{}, + }, + }, + } +} + +// buildControllerVolumeMounts mounts the controller's writable temporary storage. +func buildControllerVolumeMounts() []corev1.VolumeMount { + return []corev1.VolumeMount{ + { + Name: "tmp", + MountPath: "/tmp", + }, + } +} + // buildAPIServerVolumes builds the Volumes for the API Server func buildAPIServerVolumes(cr *argoproj.ArgoCD) []corev1.Volume { return []corev1.Volume{ diff --git a/argocd-operator/controllers/gitopspromoter/deployment_test.go b/argocd-operator/controllers/gitopspromoter/deployment_test.go index 17fcedf75e2..a7f5c8283cd 100644 --- a/argocd-operator/controllers/gitopspromoter/deployment_test.go +++ b/argocd-operator/controllers/gitopspromoter/deployment_test.go @@ -477,6 +477,8 @@ func TestReconcilePromoterControllerDeployment_PromoterEnabled(t *testing.T) { assert.Equal(t, cfg.securityContext, retrievedDeployment.Spec.Template.Spec.Containers[0].SecurityContext) assert.Equal(t, cfg.livenessProbe, retrievedDeployment.Spec.Template.Spec.Containers[0].LivenessProbe) assert.Equal(t, cfg.readinessProbe, retrievedDeployment.Spec.Template.Spec.Containers[0].ReadinessProbe) + assert.Equal(t, cfg.volumeMounts, retrievedDeployment.Spec.Template.Spec.Containers[0].VolumeMounts) + assert.Equal(t, cfg.volumes, retrievedDeployment.Spec.Template.Spec.Volumes) } func TestReconcilePromoterAPIServerDeployment_PromoterDisabled(t *testing.T) {