config:
  description: Core Components for Kubernetes

apps:
- name: ssd-storage
  namespace: ssd-storage
  repoURL: https://github.com/rancher/local-path-provisioner
  path: deploy/chart/local-path-provisioner
  syncWave: '0'
  parameters:
  - name: storageClass.name
    value: ssd
  - name: nodePathMap[0].node
    value: DEFAULT_PATH_FOR_NON_LISTED_NODES
  - name: nodePathMap[0].paths[0]
    value: /data/kubernetes/ssd

- name: metallb
  repoURL: https://metallb.github.io/metallb
  chart: metallb
  namespace: metallb
  targetRevision: 0.13.9
  syncWave: '0'

  ignoreDiff:
    - group: "*"
      kind: CustomResourceDefinition
      name: addresspools.metallb.io
      jsonPointers:
      - /spec/conversion/webhook/clientConfig/caBundle
    - group: "*"
      kind: CustomResourceDefinition
      name: bgppeers.metallb.io
      jsonPointers:
      - /spec/conversion/webhook/clientConfig/caBundle
    - group: "*"
      kind: Secret
      name: metallb-memberlist


- name: ingress-internal
  namespace: ingress-internal
  repoURL: https://kubernetes.github.io/ingress-nginx
  chart: ingress-nginx
  targetRevision: 4.11.3
  syncWave: '0'

- name: cilium
  existingNamespace: kube-system
  repoURL: https://helm.cilium.io
  chart: cilium
  targetRevision: 1.16.4

- name: external-dns
  repoURL: https://kubernetes-sigs.github.io/external-dns
  chart: external-dns
  targetRevision: 1.15.0
  secrets:
  - name: cloudflare-api
    keys:
    - CF_API_TOKEN

- name: external-dns-adguard
  repoURL: https://kubernetes-sigs.github.io/external-dns
  chart: external-dns
  targetRevision: 1.15.0
  secrets:
  - name: adguard-config
    keys:
    - ADGUARD_URL
    - ADGUARD_USER
    - ADGUARD_PASSWORD

- name: cert-manager
  namespace: cert-manager
  repoURL: https://charts.jetstack.io
  chart: cert-manager
  targetRevision: v1.16.2
  secrets:
  - name: cert-manager-vault-approle
    keys:
    - secretId
  - name: cloudflare-api
    fromApp: external-dns
    keys:
    - CF_API_TOKEN