From d48c329b18bbe8a1262a3817bc096c3c6e3a5ef4 Mon Sep 17 00:00:00 2001 From: auricom <27022259+auricom@users.noreply.github.com> Date: Fri, 20 Jun 2025 00:16:05 +0200 Subject: [PATCH] refactor: kube-system --- .../flux-system/repositories/helm/bjw-s.yaml | 10 --- .../flux-system/repositories/helm/cilium.yaml | 10 --- .../repositories/helm/coredns.yaml | 10 --- .../repositories/helm/descheduler.yaml | 10 --- .../flux-system/repositories/helm/gitea.yaml | 11 --- .../flux-system/repositories/helm/intel.yaml | 10 --- .../repositories/helm/kustomization.yaml | 12 ---- .../repositories/helm/metrics-server.yaml | 10 --- .../helm/node-feature-discovery.yaml | 11 --- .../flux-system/repositories/helm/spegel.yaml | 11 --- .../repositories/helm/stakater.yaml | 11 --- .../flux-system/repositories/helm/vector.yaml | 10 --- .../repositories/helm/windmill.yaml | 10 --- .../descheduler/app/helmrelease.yaml | 32 +++++---- .../apps/kube-system/descheduler/ks.yaml | 3 - .../kube-system/fstrim/app/helmrelease.yaml | 68 ------------------- .../kube-system/fstrim/app/kustomization.yaml | 6 -- kubernetes/apps/kube-system/fstrim/ks.yaml | 25 ------- .../intel-device-plugin/app/helmrelease.yaml | 40 ++++++----- .../intel-device-plugin/gpu/helmrelease.yaml | 40 +++++------ .../kube-system/intel-device-plugin/ks.yaml | 24 +++++-- .../app/{ => helm}/kustomizeconfig.yaml | 0 .../{helm-values.yaml => helm/values.yaml} | 0 .../kubelet-csr-approver/app/helmrelease.yaml | 25 ++++--- .../app/kustomization.yaml | 6 +- .../kube-system/kubelet-csr-approver/ks.yaml | 3 - .../apps/kube-system/kustomization.yaml | 1 - .../metrics-server/app/helmrelease.yaml | 30 +++++--- .../apps/kube-system/metrics-server/ks.yaml | 3 - .../app/helmrelease.yaml | 39 ++++++----- .../kube-system/reloader/app/helmrelease.yaml | 36 +++++----- kubernetes/apps/kube-system/reloader/ks.yaml | 5 +- .../snapshot-controller/app/helmrelease.yaml | 33 +++++---- .../kube-system/snapshot-controller/ks.yaml | 11 +-- .../app/{ => helm}/kustomizeconfig.yaml | 0 .../{helm-values.yaml => helm/values.yaml} | 0 .../kube-system/spegel/app/helmrelease.yaml | 32 +++++---- .../kube-system/spegel/app/kustomization.yaml | 6 +- kubernetes/apps/kube-system/spegel/ks.yaml | 3 - 39 files changed, 210 insertions(+), 397 deletions(-) delete mode 100644 kubernetes/apps/flux-system/repositories/helm/bjw-s.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/cilium.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/coredns.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/descheduler.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/gitea.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/intel.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/metrics-server.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/node-feature-discovery.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/spegel.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/stakater.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/vector.yaml delete mode 100644 kubernetes/apps/flux-system/repositories/helm/windmill.yaml delete mode 100644 kubernetes/apps/kube-system/fstrim/app/helmrelease.yaml delete mode 100644 kubernetes/apps/kube-system/fstrim/app/kustomization.yaml delete mode 100644 kubernetes/apps/kube-system/fstrim/ks.yaml rename kubernetes/apps/kube-system/kubelet-csr-approver/app/{ => helm}/kustomizeconfig.yaml (100%) rename kubernetes/apps/kube-system/kubelet-csr-approver/app/{helm-values.yaml => helm/values.yaml} (100%) rename kubernetes/apps/kube-system/spegel/app/{ => helm}/kustomizeconfig.yaml (100%) rename kubernetes/apps/kube-system/spegel/app/{helm-values.yaml => helm/values.yaml} (100%) diff --git a/kubernetes/apps/flux-system/repositories/helm/bjw-s.yaml b/kubernetes/apps/flux-system/repositories/helm/bjw-s.yaml deleted file mode 100644 index 823e80801..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/bjw-s.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: bjw-s - namespace: flux-system -spec: - interval: 2h - url: https://bjw-s.github.io/helm-charts/ diff --git a/kubernetes/apps/flux-system/repositories/helm/cilium.yaml b/kubernetes/apps/flux-system/repositories/helm/cilium.yaml deleted file mode 100644 index 2cd7146d9..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/cilium.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: cilium - namespace: flux-system -spec: - interval: 2h - url: https://helm.cilium.io diff --git a/kubernetes/apps/flux-system/repositories/helm/coredns.yaml b/kubernetes/apps/flux-system/repositories/helm/coredns.yaml deleted file mode 100644 index bf97567ce..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/coredns.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: coredns - namespace: flux-system -spec: - interval: 1h - url: https://coredns.github.io/helm diff --git a/kubernetes/apps/flux-system/repositories/helm/descheduler.yaml b/kubernetes/apps/flux-system/repositories/helm/descheduler.yaml deleted file mode 100644 index 147045cd2..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/descheduler.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: descheduler - namespace: flux-system -spec: - interval: 2h - url: https://kubernetes-sigs.github.io/descheduler diff --git a/kubernetes/apps/flux-system/repositories/helm/gitea.yaml b/kubernetes/apps/flux-system/repositories/helm/gitea.yaml deleted file mode 100644 index 51846bc5d..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/gitea.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: gitea - namespace: flux-system -spec: - interval: 2h - url: https://dl.gitea.io/charts - timeout: 3m diff --git a/kubernetes/apps/flux-system/repositories/helm/intel.yaml b/kubernetes/apps/flux-system/repositories/helm/intel.yaml deleted file mode 100644 index fb2c66b08..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/intel.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: intel - namespace: flux-system -spec: - interval: 2h - url: https://intel.github.io/helm-charts diff --git a/kubernetes/apps/flux-system/repositories/helm/kustomization.yaml b/kubernetes/apps/flux-system/repositories/helm/kustomization.yaml index 730144f14..2509ffdec 100644 --- a/kubernetes/apps/flux-system/repositories/helm/kustomization.yaml +++ b/kubernetes/apps/flux-system/repositories/helm/kustomization.yaml @@ -6,35 +6,23 @@ resources: - ./actions-runner-controller.yaml - ./aqua.yaml - ./backube.yaml - - ./bjw-s.yaml - ./cert-manager-webhook-ovh.yaml - - ./cilium.yaml - ./cloudnative-pg.yaml - - ./coredns.yaml - ./crunchydata.yaml - ./crowdsec.yaml - - ./descheduler.yaml - ./dysnix.yaml - ./emxq.yaml - ./external-dns.yaml - ./external-secrets.yaml - - ./gitea.yaml - ./grafana.yaml - ./hajimari.yaml - ./ingress-nginx.yaml - - ./intel.yaml - ./jetstack.yaml - ./k8s-gateway.yaml - ./kyverno.yaml - - ./metrics-server.yaml - - ./node-feature-discovery.yaml - ./openebs.yaml - ./piraeus.yaml - ./postfinance.yaml - ./prometheus-community.yaml - ./rook-ceph.yaml - - ./spegel.yaml - - ./stakater.yaml - ./stevehipwell.yaml - - ./vector.yaml - - ./windmill.yaml diff --git a/kubernetes/apps/flux-system/repositories/helm/metrics-server.yaml b/kubernetes/apps/flux-system/repositories/helm/metrics-server.yaml deleted file mode 100644 index 5b2d20f03..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/metrics-server.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: metrics-server - namespace: flux-system -spec: - interval: 2h - url: https://kubernetes-sigs.github.io/metrics-server diff --git a/kubernetes/apps/flux-system/repositories/helm/node-feature-discovery.yaml b/kubernetes/apps/flux-system/repositories/helm/node-feature-discovery.yaml deleted file mode 100644 index 650ad1418..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/node-feature-discovery.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: node-feature-discovery - namespace: flux-system -spec: - interval: 2h - url: https://kubernetes-sigs.github.io/node-feature-discovery/charts - timeout: 3m diff --git a/kubernetes/apps/flux-system/repositories/helm/spegel.yaml b/kubernetes/apps/flux-system/repositories/helm/spegel.yaml deleted file mode 100644 index 26da3cccd..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/spegel.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: spegel - namespace: flux-system -spec: - type: oci - interval: 2h - url: oci://ghcr.io/spegel-org/helm-charts diff --git a/kubernetes/apps/flux-system/repositories/helm/stakater.yaml b/kubernetes/apps/flux-system/repositories/helm/stakater.yaml deleted file mode 100644 index 654131c52..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/stakater.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: stakater - namespace: flux-system -spec: - interval: 2h - url: https://stakater.github.io/stakater-charts - timeout: 3m diff --git a/kubernetes/apps/flux-system/repositories/helm/vector.yaml b/kubernetes/apps/flux-system/repositories/helm/vector.yaml deleted file mode 100644 index 62c14a09b..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/vector.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: vector - namespace: flux-system -spec: - interval: 2h - url: https://helm.vector.dev diff --git a/kubernetes/apps/flux-system/repositories/helm/windmill.yaml b/kubernetes/apps/flux-system/repositories/helm/windmill.yaml deleted file mode 100644 index 07dbecd6e..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/windmill.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1beta2.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: windmill - namespace: flux-system -spec: - interval: 2h - url: https://windmill-labs.github.io/windmill-helm-charts/ diff --git a/kubernetes/apps/kube-system/descheduler/app/helmrelease.yaml b/kubernetes/apps/kube-system/descheduler/app/helmrelease.yaml index 41ecd6c14..63372407e 100644 --- a/kubernetes/apps/kube-system/descheduler/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/descheduler/app/helmrelease.yaml @@ -1,4 +1,18 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: descheduler +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 0.33.0 + url: oci://ghcr.io/home-operations/charts-mirror/descheduler +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -6,25 +20,17 @@ metadata: name: &app descheduler namespace: kube-system spec: - interval: 30m - chart: - spec: - chart: *app - version: 0.33.0 - sourceRef: - kind: HelmRepository - name: descheduler - namespace: flux-system - maxHistory: 2 + interval: 1h + chartRef: + kind: OCIRepository + name: descheduler install: remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true remediation: retries: 3 - uninstall: - keepHistory: false values: replicas: 2 kind: Deployment diff --git a/kubernetes/apps/kube-system/descheduler/ks.yaml b/kubernetes/apps/kube-system/descheduler/ks.yaml index 62cbf26c1..81cdd9526 100644 --- a/kubernetes/apps/kube-system/descheduler/ks.yaml +++ b/kubernetes/apps/kube-system/descheduler/ks.yaml @@ -11,9 +11,6 @@ spec: app.kubernetes.io/name: *app interval: 1h path: ./kubernetes/apps/kube-system/descheduler/app - postBuild: - substitute: - APP: *app prune: true retryInterval: 2m sourceRef: diff --git a/kubernetes/apps/kube-system/fstrim/app/helmrelease.yaml b/kubernetes/apps/kube-system/fstrim/app/helmrelease.yaml deleted file mode 100644 index 1d014324b..000000000 --- a/kubernetes/apps/kube-system/fstrim/app/helmrelease.yaml +++ /dev/null @@ -1,68 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json -apiVersion: helm.toolkit.fluxcd.io/v2 -kind: HelmRelease -metadata: - name: &app fstrim -spec: - interval: 1h - chartRef: - kind: OCIRepository - name: app-template - namespace: flux-system - install: - remediation: - retries: 3 - upgrade: - cleanupOnFail: true - remediation: - strategy: rollback - retries: 3 - values: - controllers: - fstrim: - type: cronjob - cronjob: - schedule: 0 0 * * 0 - parallelism: 4 # Set to total number of nodes - successfulJobsHistory: 1 - failedJobsHistory: 1 - containers: - app: - image: - repository: ghcr.io/onedr0p/kubanetics - tag: 2025.3.2@sha256:309a7587c2aa7ce6a99812a61c5024240a21b708f94802a09105c61513572164 - env: - SCRIPT_NAME: fstrim.sh - resources: - requests: - cpu: 25m - limits: - memory: 128Mi - securityContext: - privileged: true - defaultPodOptions: - hostNetwork: true - hostPID: true - topologySpreadConstraints: - - maxSkew: 1 - topologyKey: kubernetes.io/hostname - whenUnsatisfiable: DoNotSchedule - labelSelector: - matchLabels: - app.kubernetes.io/name: *app - persistence: - procfs: - type: hostPath - hostPath: /proc - hostPathType: Directory - globalMounts: - - path: /host/proc - readOnly: true - netfs: - type: hostPath - hostPath: /sys - hostPathType: Directory - globalMounts: - - path: /host/net - readOnly: true diff --git a/kubernetes/apps/kube-system/fstrim/app/kustomization.yaml b/kubernetes/apps/kube-system/fstrim/app/kustomization.yaml deleted file mode 100644 index 17cbc72b2..000000000 --- a/kubernetes/apps/kube-system/fstrim/app/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -# yaml-language-server: $schema=https://json.schemastore.org/kustomization -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ./helmrelease.yaml diff --git a/kubernetes/apps/kube-system/fstrim/ks.yaml b/kubernetes/apps/kube-system/fstrim/ks.yaml deleted file mode 100644 index 7dcf857b7..000000000 --- a/kubernetes/apps/kube-system/fstrim/ks.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: &app fstrim - namespace: &namespace kube-system -spec: - commonMetadata: - labels: - app.kubernetes.io/name: *app - interval: 1h - path: ./kubernetes/apps/kube-system/fstrim/app - postBuild: - substitute: - APP: *app - prune: true - retryInterval: 2m - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - namespace: flux-system - targetNamespace: *namespace - timeout: 5m - wait: false diff --git a/kubernetes/apps/kube-system/intel-device-plugin/app/helmrelease.yaml b/kubernetes/apps/kube-system/intel-device-plugin/app/helmrelease.yaml index 31e5c92d4..7dcf67ada 100644 --- a/kubernetes/apps/kube-system/intel-device-plugin/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/intel-device-plugin/app/helmrelease.yaml @@ -1,32 +1,38 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: intel-device-plugins-operator +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 0.32.1 + url: oci://ghcr.io/home-operations/charts-mirror/intel-device-plugins-operator +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: intel-device-plugin-operator - namespace: kube-system spec: - interval: 30m - chart: - spec: - chart: intel-device-plugins-operator - version: 0.32.1 - sourceRef: - kind: HelmRepository - name: intel - namespace: flux-system - maxHistory: 2 + interval: 1h + chartRef: + kind: OCIRepository + name: intel-device-plugins-operator install: crds: CreateReplace remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true crds: CreateReplace remediation: retries: 3 - uninstall: - keepHistory: false - dependsOn: - - name: node-feature-discovery - namespace: kube-system + values: + manager: + devices: + gpu: true diff --git a/kubernetes/apps/kube-system/intel-device-plugin/gpu/helmrelease.yaml b/kubernetes/apps/kube-system/intel-device-plugin/gpu/helmrelease.yaml index b0687aafe..1954b1f15 100644 --- a/kubernetes/apps/kube-system/intel-device-plugin/gpu/helmrelease.yaml +++ b/kubernetes/apps/kube-system/intel-device-plugin/gpu/helmrelease.yaml @@ -1,34 +1,36 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: intel-device-plugins-gpu +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 0.32.1 + url: oci://ghcr.io/home-operations/charts-mirror/intel-device-plugins-gpu +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: intel-device-plugin-gpu - namespace: kube-system spec: - interval: 30m - chart: - spec: - chart: intel-device-plugins-gpu - version: 0.32.1 - sourceRef: - kind: HelmRepository - name: intel - namespace: flux-system - maxHistory: 2 + interval: 1h + chartRef: + kind: OCIRepository + name: intel-device-plugins-gpu install: remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true remediation: retries: 3 - uninstall: - keepHistory: false - dependsOn: - - name: intel-device-plugin-operator - namespace: kube-system values: - name: intel-device-plugin-gpu - sharedDevNum: 3 + name: i915 nodeFeatureRule: false + sharedDevNum: 99 diff --git a/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml b/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml index 948503600..0d4b1acbf 100644 --- a/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml +++ b/kubernetes/apps/kube-system/intel-device-plugin/ks.yaml @@ -3,7 +3,7 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: - name: &app intel-device-plugin + name: &app intel-device-plugin-operator namespace: &namespace kube-system spec: commonMetadata: @@ -11,9 +11,6 @@ spec: app.kubernetes.io/name: *app interval: 1h path: ./kubernetes/apps/kube-system/intel-device-plugin/app - postBuild: - substitute: - APP: *app prune: true retryInterval: 2m sourceRef: @@ -34,11 +31,24 @@ spec: commonMetadata: labels: app.kubernetes.io/name: *app + dependsOn: + - name: intel-device-plugin-operator + namespace: *namespace + healthChecks: + - apiVersion: helm.toolkit.fluxcd.io/v2 + kind: HelmRelease + name: *app + namespace: *namespace + - apiVersion: deviceplugin.intel.com/v1 + kind: GpuDevicePlugin + name: i915 + healthCheckExprs: + - apiVersion: deviceplugin.intel.com/v1 + kind: GpuDevicePlugin + failed: status.desiredNumberScheduled != status.numberReady + current: status.desiredNumberScheduled == status.numberReady interval: 1h path: ./kubernetes/apps/kube-system/intel-device-plugin/gpu - postBuild: - substitute: - APP: *app prune: true retryInterval: 2m sourceRef: diff --git a/kubernetes/apps/kube-system/kubelet-csr-approver/app/kustomizeconfig.yaml b/kubernetes/apps/kube-system/kubelet-csr-approver/app/helm/kustomizeconfig.yaml similarity index 100% rename from kubernetes/apps/kube-system/kubelet-csr-approver/app/kustomizeconfig.yaml rename to kubernetes/apps/kube-system/kubelet-csr-approver/app/helm/kustomizeconfig.yaml diff --git a/kubernetes/apps/kube-system/kubelet-csr-approver/app/helm-values.yaml b/kubernetes/apps/kube-system/kubelet-csr-approver/app/helm/values.yaml similarity index 100% rename from kubernetes/apps/kube-system/kubelet-csr-approver/app/helm-values.yaml rename to kubernetes/apps/kube-system/kubelet-csr-approver/app/helm/values.yaml diff --git a/kubernetes/apps/kube-system/kubelet-csr-approver/app/helmrelease.yaml b/kubernetes/apps/kube-system/kubelet-csr-approver/app/helmrelease.yaml index bb0119482..fddd18624 100644 --- a/kubernetes/apps/kube-system/kubelet-csr-approver/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/kubelet-csr-approver/app/helmrelease.yaml @@ -1,4 +1,18 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: kubelet-csr-approver +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 1.2.10 + url: oci://ghcr.io/postfinance/charts/kubelet-csr-approver +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -6,14 +20,9 @@ metadata: name: kubelet-csr-approver spec: interval: 30m - chart: - spec: - chart: kubelet-csr-approver - version: 1.2.10 - sourceRef: - kind: HelmRepository - name: postfinance - namespace: flux-system + chartRef: + kind: OCIRepository + name: kubelet-csr-approver install: remediation: retries: 3 diff --git a/kubernetes/apps/kube-system/kubelet-csr-approver/app/kustomization.yaml b/kubernetes/apps/kube-system/kubelet-csr-approver/app/kustomization.yaml index 0a23fc432..4fc4eff0b 100644 --- a/kubernetes/apps/kube-system/kubelet-csr-approver/app/kustomization.yaml +++ b/kubernetes/apps/kube-system/kubelet-csr-approver/app/kustomization.yaml @@ -5,8 +5,8 @@ kind: Kustomization resources: - ./helmrelease.yaml configMapGenerator: - - name: kubelet-csr-approver-helm-values + - name: kubelet-csr-approver-values files: - - values.yaml=./helm-values.yaml + - values.yaml=./helm/values.yaml configurations: - - kustomizeconfig.yaml + - ./helm/kustomizeconfig.yaml diff --git a/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml b/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml index d4bc16d15..d104ab208 100644 --- a/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml +++ b/kubernetes/apps/kube-system/kubelet-csr-approver/ks.yaml @@ -11,9 +11,6 @@ spec: app.kubernetes.io/name: *app interval: 1h path: ./kubernetes/apps/kube-system/kubelet-csr-approver/app - postBuild: - substitute: - APP: *app prune: true retryInterval: 2m sourceRef: diff --git a/kubernetes/apps/kube-system/kustomization.yaml b/kubernetes/apps/kube-system/kustomization.yaml index cd2a3e505..f28c60b31 100644 --- a/kubernetes/apps/kube-system/kustomization.yaml +++ b/kubernetes/apps/kube-system/kustomization.yaml @@ -9,7 +9,6 @@ resources: - ./cilium/ks.yaml - ./coredns/ks.yaml - ./descheduler/ks.yaml - - ./fstrim/ks.yaml - ./intel-device-plugin/ks.yaml - ./kubelet-csr-approver/ks.yaml - ./metrics-server/ks.yaml diff --git a/kubernetes/apps/kube-system/metrics-server/app/helmrelease.yaml b/kubernetes/apps/kube-system/metrics-server/app/helmrelease.yaml index 59538154e..64d94dbbb 100644 --- a/kubernetes/apps/kube-system/metrics-server/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/metrics-server/app/helmrelease.yaml @@ -1,26 +1,34 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: metrics-server +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 3.12.2 + url: oci://ghcr.io/home-operations/charts-mirror/metrics-server +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: metrics-server spec: - interval: 30m - chart: - spec: - chart: metrics-server - version: 3.12.2 - sourceRef: - kind: HelmRepository - name: metrics-server - namespace: flux-system + interval: 1h + chartRef: + kind: OCIRepository + name: metrics-server install: remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true remediation: - strategy: rollback retries: 3 values: args: diff --git a/kubernetes/apps/kube-system/metrics-server/ks.yaml b/kubernetes/apps/kube-system/metrics-server/ks.yaml index b02026d7a..112c9305e 100644 --- a/kubernetes/apps/kube-system/metrics-server/ks.yaml +++ b/kubernetes/apps/kube-system/metrics-server/ks.yaml @@ -11,9 +11,6 @@ spec: app.kubernetes.io/name: *app interval: 1h path: ./kubernetes/apps/kube-system/metrics-server/app - postBuild: - substitute: - APP: *app prune: true retryInterval: 2m sourceRef: diff --git a/kubernetes/apps/kube-system/node-feature-discovery/app/helmrelease.yaml b/kubernetes/apps/kube-system/node-feature-discovery/app/helmrelease.yaml index e703337a7..8d3819651 100644 --- a/kubernetes/apps/kube-system/node-feature-discovery/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/node-feature-discovery/app/helmrelease.yaml @@ -1,4 +1,19 @@ --- +# yaml-language-server: $schema=https://schemas.budimanjojo.com/source.toolkit.fluxcd.io/ocirepository_v1beta2.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: node-feature-discovery +spec: + interval: 30m + timeout: 60s + url: oci://ghcr.io/home-operations/charts-mirror/node-feature-discovery + ref: + tag: 0.17.3 + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -6,28 +21,18 @@ metadata: name: node-feature-discovery namespace: kube-system spec: - interval: 30m - chart: - spec: - chart: node-feature-discovery - version: 0.17.3 - sourceRef: - kind: HelmRepository - name: node-feature-discovery - namespace: flux-system - maxHistory: 2 + interval: 1h + timeout: 5m + chartRef: + kind: OCIRepository + name: node-feature-discovery install: - createNamespace: true - crds: CreateReplace remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true - crds: CreateReplace remediation: - retries: 3 - uninstall: - keepHistory: false + retries: 5 values: worker: annotations: diff --git a/kubernetes/apps/kube-system/reloader/app/helmrelease.yaml b/kubernetes/apps/kube-system/reloader/app/helmrelease.yaml index ac54453ef..96205f50d 100644 --- a/kubernetes/apps/kube-system/reloader/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/reloader/app/helmrelease.yaml @@ -1,35 +1,39 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: reloader +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 2.1.4 + url: oci://ghcr.io/stakater/charts/reloader +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &name reloader - namespace: &namespace kube-system spec: - interval: 30m - chart: - spec: - chart: *name - version: 2.1.3 - sourceRef: - kind: HelmRepository - name: stakater - namespace: flux-system - maxHistory: 2 + interval: 1h + chartRef: + kind: OCIRepository + name: reloader install: - createNamespace: true remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true remediation: retries: 3 - uninstall: - keepHistory: false values: fullnameOverride: *name reloader: reloadStrategy: annotations podMonitor: enabled: true - namespace: *namespace + namespace: "{{ .Release.Namespace }}" diff --git a/kubernetes/apps/kube-system/reloader/ks.yaml b/kubernetes/apps/kube-system/reloader/ks.yaml index d753a024b..15012855b 100644 --- a/kubernetes/apps/kube-system/reloader/ks.yaml +++ b/kubernetes/apps/kube-system/reloader/ks.yaml @@ -11,10 +11,7 @@ spec: app.kubernetes.io/name: *app interval: 1h path: ./kubernetes/apps/kube-system/reloader/app - postBuild: - substitute: - APP: *app - prune: false + prune: true retryInterval: 2m sourceRef: kind: GitRepository diff --git a/kubernetes/apps/kube-system/snapshot-controller/app/helmrelease.yaml b/kubernetes/apps/kube-system/snapshot-controller/app/helmrelease.yaml index 41fd5bcbc..6019b172e 100644 --- a/kubernetes/apps/kube-system/snapshot-controller/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/snapshot-controller/app/helmrelease.yaml @@ -1,4 +1,18 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: snapshot-controller +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 4.0.2 + url: oci://ghcr.io/piraeusdatastore/helm-charts/snapshot-controller +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -6,28 +20,19 @@ metadata: name: snapshot-controller namespace: kube-system spec: - interval: 30m - chart: - spec: - chart: snapshot-controller - version: 4.0.2 - sourceRef: - kind: HelmRepository - name: piraeus - namespace: flux-system - maxHistory: 2 + interval: 1h + chartRef: + kind: OCIRepository + name: snapshot-controller install: crds: CreateReplace remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true crds: CreateReplace remediation: - strategy: rollback retries: 3 - uninstall: - keepHistory: false dependsOn: - name: rook-ceph-operator namespace: rook-ceph diff --git a/kubernetes/apps/kube-system/snapshot-controller/ks.yaml b/kubernetes/apps/kube-system/snapshot-controller/ks.yaml index 30ef8b83f..f3583bb67 100644 --- a/kubernetes/apps/kube-system/snapshot-controller/ks.yaml +++ b/kubernetes/apps/kube-system/snapshot-controller/ks.yaml @@ -11,10 +11,12 @@ spec: app.kubernetes.io/name: *app interval: 1h path: ./kubernetes/apps/kube-system/snapshot-controller/app - postBuild: - substitute: - APP: *app - prune: false + healthChecks: + - apiVersion: helm.toolkit.fluxcd.io/v2 + kind: HelmRelease + name: snapshot-controller + namespace: *namespace + prune: true retryInterval: 2m sourceRef: kind: GitRepository @@ -22,4 +24,3 @@ spec: namespace: flux-system targetNamespace: *namespace timeout: 5m - wait: false diff --git a/kubernetes/apps/kube-system/spegel/app/kustomizeconfig.yaml b/kubernetes/apps/kube-system/spegel/app/helm/kustomizeconfig.yaml similarity index 100% rename from kubernetes/apps/kube-system/spegel/app/kustomizeconfig.yaml rename to kubernetes/apps/kube-system/spegel/app/helm/kustomizeconfig.yaml diff --git a/kubernetes/apps/kube-system/spegel/app/helm-values.yaml b/kubernetes/apps/kube-system/spegel/app/helm/values.yaml similarity index 100% rename from kubernetes/apps/kube-system/spegel/app/helm-values.yaml rename to kubernetes/apps/kube-system/spegel/app/helm/values.yaml diff --git a/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml b/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml index 288aa4799..ec507cfd2 100644 --- a/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml +++ b/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml @@ -1,27 +1,35 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: spegel +spec: + interval: 5m + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy + ref: + tag: 0.3.0 + url: oci://ghcr.io/spegel-org/helm-charts/spegel +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: spegel spec: - interval: 30m - chart: - spec: - chart: spegel - version: 0.3.0 - sourceRef: - kind: HelmRepository - name: spegel - namespace: flux-system + interval: 1h + chartRef: + kind: OCIRepository + name: spegel install: remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true remediation: - strategy: rollback retries: 3 valuesFrom: - kind: ConfigMap - name: spegel-helm-values + name: spegel-values diff --git a/kubernetes/apps/kube-system/spegel/app/kustomization.yaml b/kubernetes/apps/kube-system/spegel/app/kustomization.yaml index 28df38d19..00e2ad48e 100644 --- a/kubernetes/apps/kube-system/spegel/app/kustomization.yaml +++ b/kubernetes/apps/kube-system/spegel/app/kustomization.yaml @@ -5,8 +5,8 @@ kind: Kustomization resources: - ./helmrelease.yaml configMapGenerator: - - name: spegel-helm-values + - name: spegel-values files: - - values.yaml=./helm-values.yaml + - values.yaml=./helm/values.yaml configurations: - - kustomizeconfig.yaml + - ./helm/kustomizeconfig.yaml diff --git a/kubernetes/apps/kube-system/spegel/ks.yaml b/kubernetes/apps/kube-system/spegel/ks.yaml index 5487b1ab1..fe8dfb33d 100644 --- a/kubernetes/apps/kube-system/spegel/ks.yaml +++ b/kubernetes/apps/kube-system/spegel/ks.yaml @@ -11,9 +11,6 @@ spec: app.kubernetes.io/name: *app interval: 1h path: ./kubernetes/apps/kube-system/spegel/app - postBuild: - substitute: - APP: *app prune: false retryInterval: 2m sourceRef: