diff --git a/kubernetes/apps/kube-system/k8s-ycl/app/helmrelease.yaml b/kubernetes/apps/kube-system/k8s-ycl/app/helmrelease.yaml new file mode 100644 index 000000000..c05674b6e --- /dev/null +++ b/kubernetes/apps/kube-system/k8s-ycl/app/helmrelease.yaml @@ -0,0 +1,45 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: &name k8s-ycl + namespace: kube-system +spec: + interval: 30m + chart: + spec: + chart: *name + version: 1.1.0 + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + maxHistory: 2 + install: + createNamespace: true + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + retries: 3 + uninstall: + keepHistory: false + values: + controllers: + main: + replicas: 3 + pod: + topologySpreadConstraints: + - maxSkew: 2 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: DoNotSchedule + labelSelector: + matchLabels: + app.kubernetes.io/name: *name + containers: + main: + image: + repository: ghcr.io/bjw-s/k8s-ycl + tag: v0.1.0 diff --git a/kubernetes/apps/kube-system/k8s-ycl/app/kustomization.yaml b/kubernetes/apps/kube-system/k8s-ycl/app/kustomization.yaml new file mode 100644 index 000000000..09bc749a9 --- /dev/null +++ b/kubernetes/apps/kube-system/k8s-ycl/app/kustomization.yaml @@ -0,0 +1,6 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./helmrelease.yaml diff --git a/kubernetes/apps/kube-system/k8s-ycl/ks.yaml b/kubernetes/apps/kube-system/k8s-ycl/ks.yaml new file mode 100644 index 000000000..bbfaf4e84 --- /dev/null +++ b/kubernetes/apps/kube-system/k8s-ycl/ks.yaml @@ -0,0 +1,24 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cluster-apps-k8s-ycl + namespace: flux-system +spec: + path: ./kubernetes/apps/kube-system/k8s-ycl/app + postBuild: + substituteFrom: + - kind: ConfigMap + name: cluster-settings + optional: false + - kind: Secret + name: cluster-secrets + optional: false + prune: true + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + interval: 30m + retryInterval: 1m + timeout: 3m diff --git a/kubernetes/apps/kube-system/kustomization.yaml b/kubernetes/apps/kube-system/kustomization.yaml index 770de6956..01f5f8157 100644 --- a/kubernetes/apps/kube-system/kustomization.yaml +++ b/kubernetes/apps/kube-system/kustomization.yaml @@ -10,6 +10,7 @@ resources: - ./descheduler/ks.yaml - ./external-secrets/ks.yaml - ./intel-device-plugin/ks.yaml + - ./k8s-ycl/ks.yaml - ./kubelet-csr-approver/ks.yaml - ./metrics-server/ks.yaml - ./node-feature-discovery/ks.yaml