Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
I'm trying to implement bases and overlays for some Kubernetes configurations that I have, but I'm running into an issue where labels and annotations are not being applied correctly to some specifi...
#1: Initial revision
Labels and annotations not merging for specific resources in overlays
I'm trying to implement bases and overlays for some Kubernetes configurations that I have, but I'm running into an issue where labels and annotations are not being applied correctly to some specific resource files. Basically, I have a base configuration consisting of `configmap.yaml`, `service.yaml`, `deployment.yaml`, `kustomization.yaml`, and `virtual-service.yaml`. These files contain common configuration settings that apply to all environments. ```yaml # Common /path/to/project-name/base/kustomization.yaml file apiVersion: kustomize.config.k8s.io/v1beta1 commonAnnotations: k8s.company/build-system: build-system.domain.tld # Some other common annotation that apply to all environments kind: Kustomization labels: - includeSelectors: true includeTemplates: true pairs: k8s.something/cost-center: group k8s.something.else/project: project # Some other common labels that apply to all environments resources: - configmap.yaml - deployment.yaml - service.yaml - virtual-service.yaml ``` In one environment, everything works as expected. In another one, where I need to add two additional configuration files: `autoscaler.yaml` and `destination-rules.yaml`, the labels and annotations from the base `kustomization.yaml` are not being correctly to `autoscaler.yaml` and `destination-rules.yaml`, but for the rest of the files. The `kustomization.yaml` for this environment looks like: ```yaml # /path/to/project-name/env2/kustomization.yaml file for ENV2 apiVersion: kustomize.config.k8s.io/v1beta1 commonAnnotations: k8s.foo/bar: value-to-be-merged-with-the-common-ones-for-this-env kind: Kustomization labels: - includeSelectors: true includeTemplates: true pairs: k8s.something/environment: env2 resources: - ../base - autoscaler.yaml - destination-rules.yaml ``` Is there a way to resolve this issue?