-
Hi, Here's my issue and I completely aware that this probably hasn't a solution. However, as the Am I right, do you have any advices in order to use multiple sources AND Thank you, |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 5 replies
-
Why is it impossible? What tool are you using to merge in values which does not support merging in children of lists? |
Beta Was this translation helpful? Give feedback.
-
Hi @crenshaw-dev , Let's take a concrete example, maybe my description is not clear: I have a base application here: apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: linkerd-control-plane
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
destination:
namespace: linkerd
server: https://kubernetes.default.svc
project: observability
sources:
- repoURL: https://helm.linkerd.io/edge
chart: linkerd-control-plane
targetRevision: "1.13.1-edge"
ref: helm
helm:
objectValues:
priorityClassName: system-cluster-critical
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: karpenter.sh/provisioner-name
operator: DoesNotExist
enablePodDisruptionBudget: true
deploymentStrategy:
rollingUpdate:
maxUnavailable: 1
maxSurge: 25%
enablePodAntiAffinity: true
controllerReplicas: 3
controller: &controller_resources
cpu: &controller_resources_cpu
limit: ""
request: 300m
memory:
limit: 250Mi
request: 250Mi
# destination configuration
destinationResources:
cpu: *controller_resources_cpu
memory:
limit: 250Mi
request: 250Mi
- repoURL: https://github.com/mycompany/gitops.git
targetRevision: main
path: manifests/base/linkerd-control-plane
ref: values
syncPolicy:
automated:
selfHeal: true
syncOptions:
- ServerSideApply=true And a patch to change helm values there: apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: linkerd-control-plane
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
destination:
namespace: linkerd
server: https://kubernetes.default.svc
project: observability
sources:
- repoURL: https://helm.linkerd.io/edge
chart: linkerd-control-plane
targetRevision: "1.13.1-edge"
ref: helm
helm:
objectValues:
controllerReplicas: 10
identityResources:
memory:
limit: 1Gi
request: 1Gi The piVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: application.yaml
target:
group: argoproj.io
kind: Application
name: linkerd-control-plane
namespace: argocd
version: v1alpha1 And the result is apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: linkerd-control-plane
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
destination:
namespace: linkerd
server: https://kubernetes.default.svc
project: observability
sources:
- repoURL: https://helm.linkerd.io/edge
chart: linkerd-control-plane
targetRevision: "1.13.1-edge"
ref: helm
helm:
objectValues:
controllerReplicas: 10
identityResources:
memory:
limit: 1Gi
request: 1Gi So the valuesObjects are not merged. But again I'm not surprise as this is Thank you |
Beta Was this translation helpful? Give feedback.
It seems that I found a solution using this way of supporting custom resources in kustomize.
I downloaded the whole openapi spec from here and changed a tiny thing:
schema.json
and put t…