@@ -2823,6 +2823,53 @@ func TestReconcile_DeploymentAlignment(t *testing.T) {
28232823 }
28242824 })
28252825
2826+ t .Run ("EnvFromAccessURLTakesPrecedence" , func (t * testing.T ) {
2827+ configMap := & corev1.ConfigMap {
2828+ ObjectMeta : metav1.ObjectMeta {Name : "test-deployment-alignment-envfrom-access-url" , Namespace : "default" },
2829+ Data : map [string ]string {
2830+ "CODER_ACCESS_URL" : "https://envfrom.example.test" ,
2831+ },
2832+ }
2833+ if err := k8sClient .Create (ctx , configMap ); err != nil {
2834+ t .Fatalf ("create configmap: %v" , err )
2835+ }
2836+ t .Cleanup (func () {
2837+ _ = k8sClient .Delete (ctx , configMap )
2838+ })
2839+
2840+ cp := & coderv1alpha1.CoderControlPlane {
2841+ ObjectMeta : metav1.ObjectMeta {Name : "test-deployment-alignment-envfrom-access-url" , Namespace : "default" },
2842+ Spec : coderv1alpha1.CoderControlPlaneSpec {
2843+ Image : "test-deployment-alignment:latest" ,
2844+ EnvFrom : []corev1.EnvFromSource {{
2845+ ConfigMapRef : & corev1.ConfigMapEnvSource {
2846+ LocalObjectReference : corev1.LocalObjectReference {Name : configMap .Name },
2847+ },
2848+ }},
2849+ },
2850+ }
2851+ if err := k8sClient .Create (ctx , cp ); err != nil {
2852+ t .Fatalf ("create control plane: %v" , err )
2853+ }
2854+ t .Cleanup (func () {
2855+ _ = k8sClient .Delete (ctx , cp )
2856+ })
2857+
2858+ r := & controller.CoderControlPlaneReconciler {Client : k8sClient , Scheme : scheme }
2859+ if _ , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : types.NamespacedName {Name : cp .Name , Namespace : cp .Namespace }}); err != nil {
2860+ t .Fatalf ("reconcile control plane: %v" , err )
2861+ }
2862+
2863+ deployment := & appsv1.Deployment {}
2864+ if err := k8sClient .Get (ctx , types.NamespacedName {Name : cp .Name , Namespace : cp .Namespace }, deployment ); err != nil {
2865+ t .Fatalf ("get deployment: %v" , err )
2866+ }
2867+ container := deployment .Spec .Template .Spec .Containers [0 ]
2868+ if countEnvVar (container .Env , "CODER_ACCESS_URL" ) != 0 {
2869+ t .Fatalf ("expected operator to skip default CODER_ACCESS_URL when envFrom is configured, got %v" , container .Env )
2870+ }
2871+ })
2872+
28262873 t .Run ("ResourcesAndSecurityContextsApplied" , func (t * testing.T ) {
28272874 runAsUser := int64 (1001 )
28282875 allowPrivilegeEscalation := false
@@ -2921,6 +2968,18 @@ func TestReconcile_ProbeConfiguration(t *testing.T) {
29212968 if container .ReadinessProbe .HTTPGet .Port != intstr .FromString ("http" ) {
29222969 t .Fatalf ("expected readiness probe port name %q, got %#v" , "http" , container .ReadinessProbe .HTTPGet .Port )
29232970 }
2971+ if container .ReadinessProbe .PeriodSeconds != 10 {
2972+ t .Fatalf ("expected readiness probe default periodSeconds=10, got %d" , container .ReadinessProbe .PeriodSeconds )
2973+ }
2974+ if container .ReadinessProbe .TimeoutSeconds != 1 {
2975+ t .Fatalf ("expected readiness probe default timeoutSeconds=1, got %d" , container .ReadinessProbe .TimeoutSeconds )
2976+ }
2977+ if container .ReadinessProbe .SuccessThreshold != 1 {
2978+ t .Fatalf ("expected readiness probe default successThreshold=1, got %d" , container .ReadinessProbe .SuccessThreshold )
2979+ }
2980+ if container .ReadinessProbe .FailureThreshold != 3 {
2981+ t .Fatalf ("expected readiness probe default failureThreshold=3, got %d" , container .ReadinessProbe .FailureThreshold )
2982+ }
29242983 })
29252984
29262985 t .Run ("LivenessProbeDisabled" , func (t * testing.T ) {
0 commit comments