apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization # Order matters: CRDs should be at the top #resources: #- ./linkerd-crds.yaml # - linkerd-control-plane.yaml # - linkerd-viz.yaml helmCharts: - name: linkerd-crds releaseName: linkerd-crds #version: 1.8.0 #version: 2026.3.3 # Replace with your target version repo: https://helm.linkerd.io/stable namespace: linkerd valuesInline: installGatewayAPI: true enableExperimental: true - name: linkerd-control-plane releaseName: linkerd-control-plane #version: 1.16.11 #version: 2026.3.3 # Replace with your target version repo: https://helm.linkerd.io/stable namespace: linkerd # Values here replace the --set flags you used in the CLI valuesInline: identity: issuer: scheme: kubernetes.io/tls disableHeartbeat: true enableGatewayAPI: false valuesFile: values-identity.yaml - name: linkerd-viz releaseName: linkerd-viz #version: 30.12.0 # Replace with your target version repo: https://helm.linkerd.io/stable namespace: linkerd-viz # You can manage the secret here instead of manual kubectl commands secretGenerator: - name: linkerd-identity-issuer namespace: linkerd type: kubernetes.io/tls files: - tls.crt=issuer.crt - tls.key=issuer.key # Generators for the identityTrustAnchorsPEM generatorOptions: disableNameSuffixHash: true configMapGenerator: - name: linkerd-ca-bundle namespace: linkerd files: - ca.crt #THIS BLOCK RESOLVES THE MERGE ERROR # patches: # - target: # group: apiextensions.k8s.io # version: v1 # kind: CustomResourceDefinition # patch: |- # # This tells K8s/Kustomize to "Replace" if it sees this ID twice # $patch: replace # metadata: # annotations: # kustomize.config.k8s.io/behavior: merge # - target: # group: apiextensions.k8s.io # version: v1 # kind: CustomResourceDefinition # name: httproutes.gateway.networking.k8s.io # patch: |- # apiVersion: apiextensions.k8s.io/v1 # kind: CustomResourceDefinition # metadata: # name: httproutes.gateway.networking.k8s.io # - target: # group: apiextensions.k8s.io # version: v1 # kind: CustomResourceDefinition # name: gateways.gateway.networking.k8s.io # patch: |- # apiVersion: apiextensions.k8s.io/v1 # kind: CustomResourceDefinition # metadata: # name: gateways.gateway.networking.k8s.io # If you need to override the namespace for everything at once: # namespace: apps