diff --git a/internal/controller/mapserver/deployment.go b/internal/controller/mapserver/deployment.go index 8170f2f..43ac40c 100644 --- a/internal/controller/mapserver/deployment.go +++ b/internal/controller/mapserver/deployment.go @@ -78,14 +78,6 @@ func GetVolumesForDeployment[O pdoknlv3.WMSWFS](obj O, configMapNames types.Hash Name: ConfigMapVolumeName, VolumeSource: newVolumeSource(configMapNames.ConfigMap), }, - { - Name: ConfigMapMapfileGeneratorVolumeName, - VolumeSource: newVolumeSource(configMapNames.MapfileGenerator), - }, - { - Name: ConfigMapCapabilitiesGeneratorVolumeName, - VolumeSource: newVolumeSource(configMapNames.CapabilitiesGenerator), - }, } if mapfile := obj.Mapfile(); mapfile != nil { @@ -95,6 +87,23 @@ func GetVolumesForDeployment[O pdoknlv3.WMSWFS](obj O, configMapNames types.Hash }) } + if obj.Options().PrefetchData { + vol := newVolumeSource(configMapNames.BlobDownload) + vol.ConfigMap.DefaultMode = smoothoperatorutils.Pointer(int32(0777)) + volumes = append(volumes, v1.Volume{ + Name: ConfigMapBlobDownloadVolumeName, + VolumeSource: vol, + }) + } + + // Add capabilitiesgenerator config here to get the same order as the ansible operator + // Needed to compare deployments from the ansible operator and this one + volumes = append(volumes, v1.Volume{ + Name: ConfigMapCapabilitiesGeneratorVolumeName, + VolumeSource: newVolumeSource(configMapNames.CapabilitiesGenerator), + }) + + var stylingFilesVolume *v1.Volume if obj.Type() == pdoknlv3.ServiceTypeWMS { lgVolume := v1.Volume{ Name: ConfigMapLegendGeneratorVolumeName, @@ -119,7 +128,7 @@ func GetVolumesForDeployment[O pdoknlv3.WMSWFS](obj O, configMapNames types.Hash } } - stylingFilesVolume := v1.Volume{ + stylingFilesVolume = &v1.Volume{ Name: ConfigMapStylingFilesVolumeName, VolumeSource: v1.VolumeSource{ Projected: &v1.ProjectedVolumeSource{ @@ -127,17 +136,19 @@ func GetVolumesForDeployment[O pdoknlv3.WMSWFS](obj O, configMapNames types.Hash }, }, } - volumes = append(volumes, lgVolume, figVolume, stylingFilesVolume) + volumes = append(volumes, figVolume, lgVolume) } - if obj.Options().PrefetchData { - vol := newVolumeSource(configMapNames.BlobDownload) - vol.ConfigMap.DefaultMode = smoothoperatorutils.Pointer(int32(0777)) - volumes = append(volumes, v1.Volume{ - Name: ConfigMapBlobDownloadVolumeName, - VolumeSource: vol, - }) + // Add mapfilegenerator config and styling-files (if applicable) here to get the same order as the ansible operator + // Needed to compare deployments from the ansible operator and this one + volumes = append(volumes, v1.Volume{ + Name: ConfigMapMapfileGeneratorVolumeName, + VolumeSource: newVolumeSource(configMapNames.MapfileGenerator), + }) + if stylingFilesVolume != nil { + volumes = append(volumes, *stylingFilesVolume) } + if obj.Type() == pdoknlv3.ServiceTypeWMS && obj.Options().UseWebserviceProxy() { volumes = append(volumes, v1.Volume{ Name: ConfigMapOgcWebserviceProxyVolumeName, @@ -201,6 +212,7 @@ func GetEnvVarsForDeployment[O pdoknlv3.WMSWFS](obj O, blobsSecretName string) [ Name: "MAPSERVER_CONFIG_FILE", Value: "/srv/mapserver/config/default_mapserver.conf", }, + GetMapfileEnvVar(obj), { Name: "AZURE_STORAGE_CONNECTION_STRING", ValueFrom: &v1.EnvVarSource{ @@ -212,7 +224,6 @@ func GetEnvVarsForDeployment[O pdoknlv3.WMSWFS](obj O, blobsSecretName string) [ }, }, }, - GetMapfileEnvVar(obj), } } @@ -338,8 +349,7 @@ func GetProbesForDeployment[O pdoknlv3.WMSWFS](obj O) (livenessProbe *v1.Probe, } func getLivenessProbe[O pdoknlv3.WMSWFS](obj O) *v1.Probe { - webserviceType := strings.ToLower(string(obj.Type())) - queryString := "SERVICE=" + webserviceType + "&request=GetCapabilities" + queryString := "SERVICE=" + string(obj.Type()) + "&request=GetCapabilities" return getProbe(queryString, mimeTextXML) } diff --git a/internal/controller/mapserver/deployment_test.go b/internal/controller/mapserver/deployment_test.go index f0df376..470115b 100644 --- a/internal/controller/mapserver/deployment_test.go +++ b/internal/controller/mapserver/deployment_test.go @@ -114,8 +114,8 @@ func TestGetVolumesForDeployment(t *testing.T) { {Name: "base", VolumeSource: v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}}, {Name: "data", VolumeSource: v1.VolumeSource{EmptyDir: &v1.EmptyDirVolumeSource{}}}, {Name: "mapserver", VolumeSource: v1.VolumeSource{ConfigMap: &v1.ConfigMapVolumeSource{LocalObjectReference: v1.LocalObjectReference{Name: "rws-nwbwegen-v1-0-wfs-mapserver-bb59c7f4f4"}, DefaultMode: smoothoperatorutils.Pointer(int32(420))}}}, - {Name: "mapfile-generator-config", VolumeSource: v1.VolumeSource{ConfigMap: &v1.ConfigMapVolumeSource{LocalObjectReference: v1.LocalObjectReference{Name: "rws-nwbwegen-v1-0-wfs-mapfile-generator-bbbtd999dh"}, DefaultMode: smoothoperatorutils.Pointer(int32(420))}}}, {Name: "capabilities-generator-config", VolumeSource: v1.VolumeSource{ConfigMap: &v1.ConfigMapVolumeSource{LocalObjectReference: v1.LocalObjectReference{Name: "rws-nwbwegen-v1-0-wfs-capabilities-generator-6m4mfkgb5d"}, DefaultMode: smoothoperatorutils.Pointer(int32(420))}}}, + {Name: "mapfile-generator-config", VolumeSource: v1.VolumeSource{ConfigMap: &v1.ConfigMapVolumeSource{LocalObjectReference: v1.LocalObjectReference{Name: "rws-nwbwegen-v1-0-wfs-mapfile-generator-bbbtd999dh"}, DefaultMode: smoothoperatorutils.Pointer(int32(420))}}}, } assert.Equal(t, expected, result) diff --git a/internal/controller/mapserver/test_data/expected_envvars.yaml b/internal/controller/mapserver/test_data/expected_envvars.yaml index 9cb6eb4..69b7d8f 100644 --- a/internal/controller/mapserver/test_data/expected_envvars.yaml +++ b/internal/controller/mapserver/test_data/expected_envvars.yaml @@ -3,10 +3,10 @@ envVars: value: WFS - name: MAPSERVER_CONFIG_FILE value: /srv/mapserver/config/default_mapserver.conf +- name: MS_MAPFILE + value: /srv/data/config/mapfile/service.map - name: AZURE_STORAGE_CONNECTION_STRING valueFrom: secretKeyRef: key: AZURE_STORAGE_CONNECTION_STRING name: blobs-secret -- name: MS_MAPFILE - value: /srv/data/config/mapfile/service.map diff --git a/internal/controller/mapserver/test_data/expected_livenessprobe.yaml b/internal/controller/mapserver/test_data/expected_livenessprobe.yaml index f67d447..49e53e5 100644 --- a/internal/controller/mapserver/test_data/expected_livenessprobe.yaml +++ b/internal/controller/mapserver/test_data/expected_livenessprobe.yaml @@ -2,7 +2,7 @@ exec: command: - /bin/sh - -c - - 'wget -SO- -T 10 -t 2 ''http://127.0.0.1:80/mapserver?SERVICE=wfs&request=GetCapabilities'' + - 'wget -SO- -T 10 -t 2 ''http://127.0.0.1:80/mapserver?SERVICE=WFS&request=GetCapabilities'' 2>&1 | egrep -aiA10 ''HTTP/1.1 200'' | egrep -i ''Content-Type: text/xml''' failureThreshold: 3 initialDelaySeconds: 20 diff --git a/internal/controller/shared_controller.go b/internal/controller/shared_controller.go index f102cd0..c97c623 100644 --- a/internal/controller/shared_controller.go +++ b/internal/controller/shared_controller.go @@ -8,26 +8,26 @@ import ( "strings" "time" - "github.com/pdok/mapserver-operator/internal/controller/featureinfogenerator" - "github.com/pdok/mapserver-operator/internal/controller/legendgenerator" - "github.com/pdok/mapserver-operator/internal/controller/mapserver" - "github.com/pdok/mapserver-operator/internal/controller/ogcwebserviceproxy" - "github.com/pdok/mapserver-operator/internal/controller/types" - appsv1 "k8s.io/api/apps/v1" "k8s.io/apimachinery/pkg/api/resource" pdoknlv3 "github.com/pdok/mapserver-operator/api/v3" "github.com/pdok/mapserver-operator/internal/controller/blobdownload" "github.com/pdok/mapserver-operator/internal/controller/capabilitiesgenerator" + "github.com/pdok/mapserver-operator/internal/controller/featureinfogenerator" + "github.com/pdok/mapserver-operator/internal/controller/legendgenerator" "github.com/pdok/mapserver-operator/internal/controller/mapfilegenerator" "github.com/pdok/mapserver-operator/internal/controller/mapperutils" + "github.com/pdok/mapserver-operator/internal/controller/mapserver" + "github.com/pdok/mapserver-operator/internal/controller/ogcwebserviceproxy" "github.com/pdok/mapserver-operator/internal/controller/static" + "github.com/pdok/mapserver-operator/internal/controller/types" smoothoperatorv1 "github.com/pdok/smooth-operator/api/v1" "github.com/pdok/smooth-operator/model" smoothoperatork8s "github.com/pdok/smooth-operator/pkg/k8s" smoothoperatorutils "github.com/pdok/smooth-operator/pkg/util" traefikdynamic "github.com/traefik/traefik/v3/pkg/config/dynamic" traefikiov1alpha1 "github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefikio/v1alpha1" + appsv1 "k8s.io/api/apps/v1" autoscalingv2 "k8s.io/api/autoscaling/v2" corev1 "k8s.io/api/core/v1" v1 "k8s.io/api/policy/v1" @@ -261,8 +261,8 @@ func getInitContainerForDeployment[R Reconciler, O pdoknlv3.WMSWFS](r R, obj O) initContainers := []corev1.Container{ *blobDownloadInitContainer, - *mapfileGeneratorInitContainer, *capabilitiesGeneratorInitContainer, + *mapfileGeneratorInitContainer, } if wms, ok := any(obj).(*pdoknlv3.WMS); ok { @@ -301,30 +301,6 @@ func getContainersForDeployment[R Reconciler, O pdoknlv3.WMSWFS](r R, obj O) ([] } containers := []corev1.Container{ - { - Name: "apache-exporter", - Image: images.ApacheExporterImage, - ImagePullPolicy: corev1.PullIfNotPresent, - TerminationMessagePolicy: corev1.TerminationMessageReadFile, - TerminationMessagePath: "/dev/termination-log", - Ports: []corev1.ContainerPort{ - { - ContainerPort: 9117, - Protocol: corev1.ProtocolTCP, - }, - }, - Args: []string{ - "--scrape_uri=http://localhost/server-status?auto", - }, - Resources: corev1.ResourceRequirements{ - Limits: corev1.ResourceList{ - corev1.ResourceMemory: resource.MustParse("48M"), - }, - Requests: corev1.ResourceList{ - corev1.ResourceCPU: resource.MustParse("0.02"), - }, - }, - }, { Name: MapserverName, Image: images.MapserverImage, @@ -351,6 +327,30 @@ func getContainersForDeployment[R Reconciler, O pdoknlv3.WMSWFS](r R, obj O) ([] }, }, }, + { + Name: "apache-exporter", + Image: images.ApacheExporterImage, + ImagePullPolicy: corev1.PullIfNotPresent, + TerminationMessagePolicy: corev1.TerminationMessageReadFile, + TerminationMessagePath: "/dev/termination-log", + Ports: []corev1.ContainerPort{ + { + ContainerPort: 9117, + Protocol: corev1.ProtocolTCP, + }, + }, + Args: []string{ + "--scrape_uri=http://localhost/server-status?auto", + }, + Resources: corev1.ResourceRequirements{ + Limits: corev1.ResourceList{ + corev1.ResourceMemory: resource.MustParse("48M"), + }, + Requests: corev1.ResourceList{ + corev1.ResourceCPU: resource.MustParse("0.02"), + }, + }, + }, } if wms, ok := any(obj).(*pdoknlv3.WMS); ok { @@ -414,8 +414,7 @@ func mutateIngressRoute[R Reconciler, O pdoknlv3.WMSWFS](r R, obj O, ingressRout } middlewareRef := traefikiov1alpha1.MiddlewareRef{ - Name: getBareCorsHeadersMiddleware(obj).GetName(), - Namespace: obj.GetNamespace(), + Name: getBareCorsHeadersMiddleware(obj).GetName(), } if obj.Type() == pdoknlv3.ServiceTypeWMS { @@ -463,6 +462,9 @@ func mutateIngressRoute[R Reconciler, O pdoknlv3.WMSWFS](r R, obj O, ingressRout }} } + // Add finalizers + ingressRoute.Finalizers = []string{"uptime.pdok.nl/finalizer"} + if err := smoothoperatorutils.EnsureSetGVK(reconcilerClient, ingressRoute, ingressRoute); err != nil { return err } @@ -675,8 +677,9 @@ func mutateHorizontalPodAutoscaler[R Reconciler, O pdoknlv3.WMSWFS](r R, obj O, autoscaler.Spec = autoscalingv2.HorizontalPodAutoscalerSpec{ ScaleTargetRef: autoscalingv2.CrossVersionObjectReference{ - Kind: "Deployment", - Name: getSuffixedName(obj, MapserverName), + APIVersion: "apps/v1", + Kind: "Deployment", + Name: getSuffixedName(obj, MapserverName), }, MinReplicas: &minReplicas, MaxReplicas: maxReplicas, @@ -698,13 +701,13 @@ func mutateHorizontalPodAutoscaler[R Reconciler, O pdoknlv3.WMSWFS](r R, obj O, SelectPolicy: smoothoperatorutils.Pointer(autoscalingv2.MaxChangePolicySelect), Policies: []autoscalingv2.HPAScalingPolicy{ { - Type: autoscalingv2.PodsScalingPolicy, - Value: 1, + Type: autoscalingv2.PercentScalingPolicy, + Value: 10, PeriodSeconds: 600, }, { - Type: autoscalingv2.PercentScalingPolicy, - Value: 10, + Type: autoscalingv2.PodsScalingPolicy, + Value: 1, PeriodSeconds: 600, }, }, diff --git a/internal/controller/wfs_controller_test.go b/internal/controller/wfs_controller_test.go index af75693..8c608e8 100644 --- a/internal/controller/wfs_controller_test.go +++ b/internal/controller/wfs_controller_test.go @@ -160,6 +160,11 @@ var _ = Describe("WFS Controller", func() { By("Waiting for the owned resources to be deleted") Eventually(func() error { for _, o := range expectedBareObjects { + // TODO make finalizers work in the test environment + if len(o.GetFinalizers()) > 0 { + continue + } + err := k8sClient.Get(ctx, types.NamespacedName{Namespace: namespace, Name: o.GetName()}, o) if err == nil { return errors.New("expected " + smoothoperatorutils.GetObjectFullName(k8sClient, o) + " to not be found") @@ -236,7 +241,7 @@ var _ = Describe("WFS Controller", func() { /** Container tests */ - container := deployment.Spec.Template.Spec.Containers[1] + container := deployment.Spec.Template.Spec.Containers[0] Expect(container.Name).Should(Equal("mapserver")) Expect(container.Ports[0].ContainerPort).Should(Equal(int32(80))) Expect(container.Image).Should(Equal(reconcilerImages.MapserverImage)) @@ -244,7 +249,7 @@ var _ = Describe("WFS Controller", func() { Expect(container.Resources.Limits.Memory().String()).Should(Equal("12M")) Expect(container.Resources.Requests.Cpu().String()).Should(Equal("150m")) Expect(len(container.LivenessProbe.Exec.Command)).Should(Equal(3)) - Expect(container.LivenessProbe.Exec.Command[2]).Should(Equal("wget -SO- -T 10 -t 2 'http://127.0.0.1:80/mapserver?SERVICE=wfs&request=GetCapabilities' 2>&1 | egrep -aiA10 'HTTP/1.1 200' | egrep -i 'Content-Type: text/xml'")) + Expect(container.LivenessProbe.Exec.Command[2]).Should(Equal("wget -SO- -T 10 -t 2 'http://127.0.0.1:80/mapserver?SERVICE=WFS&request=GetCapabilities' 2>&1 | egrep -aiA10 'HTTP/1.1 200' | egrep -i 'Content-Type: text/xml'")) Expect(container.LivenessProbe.FailureThreshold).Should(Equal(int32(3))) Expect(container.LivenessProbe.InitialDelaySeconds).Should(Equal(int32(20))) Expect(container.LivenessProbe.PeriodSeconds).Should(Equal(int32(10))) @@ -530,8 +535,9 @@ var _ = Describe("WFS Controller", func() { Expect(autoscaler.GetName()).To(Equal(wfs.GetName() + "-wfs-mapserver")) Expect(autoscaler.Spec.ScaleTargetRef).To(Equal(v2.CrossVersionObjectReference{ - Kind: "Deployment", - Name: wfs.GetName() + "-wfs-mapserver", + APIVersion: "apps/v1", + Kind: "Deployment", + Name: wfs.GetName() + "-wfs-mapserver", })) /** @@ -550,13 +556,13 @@ var _ = Describe("WFS Controller", func() { Policies: []v2.HPAScalingPolicy{ { PeriodSeconds: int32(600), - Value: int32(1), - Type: v2.PodsScalingPolicy, + Value: int32(10), + Type: v2.PercentScalingPolicy, }, { PeriodSeconds: int32(600), - Value: int32(10), - Type: v2.PercentScalingPolicy, + Value: int32(1), + Type: v2.PodsScalingPolicy, }, }, })) @@ -645,7 +651,7 @@ var _ = Describe("WFS Controller", func() { Expect(ingressRoute.Spec.Routes[0]).To(Equal(traefikiov1alpha1.Route{ Kind: "Rule", Match: "Host(`localhost`) && Path(`/eigenaar/dataset/wfs/1.0.0`)", - Middlewares: []traefikiov1alpha1.MiddlewareRef{{Name: wfs.GetName() + "-wfs-mapserver-headers", Namespace: "default"}}, + Middlewares: []traefikiov1alpha1.MiddlewareRef{{Name: wfs.GetName() + "-wfs-mapserver-headers"}}, Services: []traefikiov1alpha1.Service{{ LoadBalancerSpec: traefikiov1alpha1.LoadBalancerSpec{ Kind: "Service", diff --git a/internal/controller/wms_controller_test.go b/internal/controller/wms_controller_test.go index be23638..6d96493 100644 --- a/internal/controller/wms_controller_test.go +++ b/internal/controller/wms_controller_test.go @@ -157,6 +157,11 @@ var _ = Describe("WMS Controller", func() { By("Waiting for the owned resources to be deleted") Eventually(func() error { for _, o := range expectedBareObjects { + // TODO make finalizers work in the test environment + if len(o.GetFinalizers()) > 0 { + continue + } + err := k8sClient.Get(ctx, types.NamespacedName{Namespace: namespace, Name: o.GetName()}, o) if err == nil { return errors.New("expected " + smoothoperatorutils.GetObjectFullName(k8sClient, o) + " to not be found") @@ -233,7 +238,7 @@ var _ = Describe("WMS Controller", func() { /** Container tests */ - containerMapserver := deployment.Spec.Template.Spec.Containers[1] + containerMapserver := deployment.Spec.Template.Spec.Containers[0] Expect(containerMapserver.Name).Should(Equal("mapserver")) Expect(containerMapserver.Ports[0].ContainerPort).Should(Equal(int32(80))) Expect(containerMapserver.Image).Should(Equal(reconcilerImages.MapserverImage)) @@ -241,7 +246,7 @@ var _ = Describe("WMS Controller", func() { Expect(containerMapserver.Resources.Limits.Memory().String()).Should(Equal("12M")) Expect(containerMapserver.Resources.Requests.Cpu().String()).Should(Equal("100m")) Expect(len(containerMapserver.LivenessProbe.Exec.Command)).Should(Equal(3)) - Expect(containerMapserver.LivenessProbe.Exec.Command[2]).Should(Equal("wget -SO- -T 10 -t 2 'http://127.0.0.1:80/mapserver?SERVICE=wms&request=GetCapabilities' 2>&1 | egrep -aiA10 'HTTP/1.1 200' | egrep -i 'Content-Type: text/xml'")) + Expect(containerMapserver.LivenessProbe.Exec.Command[2]).Should(Equal("wget -SO- -T 10 -t 2 'http://127.0.0.1:80/mapserver?SERVICE=WMS&request=GetCapabilities' 2>&1 | egrep -aiA10 'HTTP/1.1 200' | egrep -i 'Content-Type: text/xml'")) Expect(containerMapserver.LivenessProbe.FailureThreshold).Should(Equal(int32(3))) Expect(containerMapserver.LivenessProbe.InitialDelaySeconds).Should(Equal(int32(20))) Expect(containerMapserver.LivenessProbe.PeriodSeconds).Should(Equal(int32(10))) @@ -758,8 +763,9 @@ var _ = Describe("WMS Controller", func() { Expect(autoscaler.GetName()).To(Equal(wms.GetName() + "-wms-mapserver")) Expect(autoscaler.Spec.ScaleTargetRef).To(Equal(autoscalingv2.CrossVersionObjectReference{ - Kind: "Deployment", - Name: wms.GetName() + "-wms-mapserver", + APIVersion: "apps/v1", + Kind: "Deployment", + Name: wms.GetName() + "-wms-mapserver", })) /** @@ -778,13 +784,13 @@ var _ = Describe("WMS Controller", func() { Policies: []autoscalingv2.HPAScalingPolicy{ { PeriodSeconds: int32(600), - Value: int32(1), - Type: autoscalingv2.PodsScalingPolicy, + Value: int32(10), + Type: autoscalingv2.PercentScalingPolicy, }, { PeriodSeconds: int32(600), - Value: int32(10), - Type: autoscalingv2.PercentScalingPolicy, + Value: int32(1), + Type: autoscalingv2.PodsScalingPolicy, }, }, })) @@ -879,7 +885,7 @@ var _ = Describe("WMS Controller", func() { Expect(ingressRoute.Spec.Routes[0]).To(Equal(traefikiov1alpha1.Route{ Kind: "Rule", Match: "Host(`localhost`) && Path(`/owner/dataset/wms/1.0.0/legend`)", - Middlewares: []traefikiov1alpha1.MiddlewareRef{{Name: wms.GetName() + "-wms-mapserver-headers", Namespace: "default"}}, + Middlewares: []traefikiov1alpha1.MiddlewareRef{{Name: wms.GetName() + "-wms-mapserver-headers"}}, Services: []traefikiov1alpha1.Service{{ LoadBalancerSpec: traefikiov1alpha1.LoadBalancerSpec{ Kind: "Service", @@ -891,7 +897,7 @@ var _ = Describe("WMS Controller", func() { Expect(ingressRoute.Spec.Routes[1]).To(Equal(traefikiov1alpha1.Route{ Kind: "Rule", Match: "Host(`localhost`) && Path(`/owner/dataset/wms/1.0.0`)", - Middlewares: []traefikiov1alpha1.MiddlewareRef{{Name: wms.GetName() + "-wms-mapserver-headers", Namespace: "default"}}, + Middlewares: []traefikiov1alpha1.MiddlewareRef{{Name: wms.GetName() + "-wms-mapserver-headers"}}, Services: []traefikiov1alpha1.Service{{ LoadBalancerSpec: traefikiov1alpha1.LoadBalancerSpec{ Kind: "Service", @@ -951,6 +957,7 @@ var _ = Describe("WMS Controller", func() { Value: "/srv/mapserver/config/default_mapserver.conf", ValueFrom: nil, }, + {Name: "MS_MAPFILE", Value: "/srv/data/config/mapfile/mapfile.map", ValueFrom: nil}, { Name: "AZURE_STORAGE_CONNECTION_STRING", Value: "", @@ -963,9 +970,8 @@ var _ = Describe("WMS Controller", func() { }, }, }, - {Name: "MS_MAPFILE", Value: "/srv/data/config/mapfile/mapfile.map", ValueFrom: nil}, } - Expect(deployment.Spec.Template.Spec.Containers[1].Env).Should(Equal(envContainer)) + Expect(deployment.Spec.Template.Spec.Containers[0].Env).Should(Equal(envContainer)) }) }) })