How Can I merge Configmapgenerator settings to service specific Configmaps which is also created by configmapgenerator?

30 Views Asked by At

Kustomize Tree is on Below and I have also shared service specific kustomization.yaml s and PrefixSuffixTransformers when I try use command kustomize build . under base directory it gives following error

I have tried several ways but the issue continues is there a way for adding configmap settings from base to service specific configmaps ??

Error: merging from generator &{0xc001b33110 <nil>}: found multiple objects

├── base
│   ├── assoc
│   │   ├── deployment.yaml
│   │   ├── hpa.yaml
│   │   ├── kustomization.yaml
│   │   ├── kustomizeconfig
│   │   │   └── deploy-prefix-transformer.yaml
│   │   └── service.yaml
│   ├── backend
│   │   ├── deployment.yaml
│   │   ├── kustomization.yaml
│   │   ├── kustomizeconfig
│   │   │   └── deploy-prefix-transformer.yaml
│   │   └── service.yaml
│   ├── deployment.yaml
│   ├── kustomization.yaml
├── env
│   └── dev
│       ├── assoc
│       │   ├── deployment.yaml
│       │   ├── hpa.yaml
│       │   └── kustomization.yaml
│       ├── backend
│       │   ├── deployment.yaml
│       │   └── kustomization.yaml
│       ├── kustomization.yaml

base/kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: tools

resources:
  - assoc
  - backend

patches:
- path: deployment.yaml

configMapGenerator:
  - name: ozan-tools
    behavior: merge
    literals:
      - SPRING_CLOUD_CONFIG_URI= http://configserver-svc:80
  - name: sidecar-for-config
    behavior: merge
    literals:
      - include_file_path= true
      - include_file_path_resolved= true 

base/assoc/kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: tools

resources:
  - deployment.yaml
  - service.yaml
  - hpa.yaml

transformers:
- kustomizeconfig/deploy-prefix-transformer.yaml

configMapGenerator:
  - name: ozan-tools
    behavior: create
    literals:
      - SPRING_APPLICATION_NAME=assoc
      - SPRING_CONFIG_IMPORT= optional:configserver:http://configserver-svc:80
  - name: sidecar-for-config
    behavior: create
    literals:
      - container_name_1=ozan-assoc
      - source=assoc-deployment

base/assoc/kustomizeconfig/deploy-prefix-transformer.yaml

apiVersion: builtin
kind: PrefixSuffixTransformer
metadata:
  name: customPrefixer
suffix: "-assoc"
fieldSpecs:
- kind: Deployment
  path: metadata/name
- kind: ConfigMap
  path: metadata/name
- kind: HorizontalPodAutoscaler
  path: metadata/name

base/backend/kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: tools

resources:
  - deployment.yaml
  - service.yaml

transformers:
- kustomizeconfig/deploy-prefix-transformer.yaml

configMapGenerator:
  - name: ozan-tools
    behavior: create
    literals:
      - SPRING_APPLICATION_NAME=ils
      - SPRING_CONFIG_IMPORT= optional:configserver:http://configserver-svc:80
  - name: sidecar-for-config
    behavior: create
    literals:
      - container_name_1=ozan-backend
      - source=backend-deployment

base/backend/kustomizeconfig/deploy-prefix-transformer.yaml

apiVersion: builtin
kind: PrefixSuffixTransformer
metadata:
  name: customPrefixer
suffix: "-backend"
fieldSpecs:
- kind: Deployment
  path: metadata/name
- kind: ConfigMap
  path: metadata/name
0

There are 0 best solutions below