diff --git a/helmfile.d/kueue.yaml.gotmpl b/helmfile.d/kueue.yaml.gotmpl new file mode 100644 index 00000000..c3bcc3f8 --- /dev/null +++ b/helmfile.d/kueue.yaml.gotmpl @@ -0,0 +1,40 @@ +bases: + - ../envs/environments.yaml.gotmpl + + + +commonLabels: + tier: system + +releases: +- name: kueue + namespace: kueue-system + chart: oci://registry.k8s.io/kueue/charts/kueue + version: 0.15.0 + condition: kueue.enabled + values: + - ../values/kueue/values/values.yaml + postRenderer: ../bin/kustomizer + postRendererArgs: + - ../values/kueue/kustomize/{{ .Environment.Name }} + missingFileHandler: Info +- name: manifests + namespace: kueue-system + chart: manifests + condition: kueue.enabled + missingFileHandler: Info + values: + - ../values/env.yaml + - ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml + - ../values/kueue/env.yaml.gotmpl + - ../values/kueue/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl + hooks: + - events: [ prepare, cleanup ] + showlogs: true + command: ../bin/helmify + args: + - '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}' + - '{{`{{ .Release.Chart }}`}}' + - '{{`{{ .Environment.Name }}`}}' + - ../values/kueue/manifests + - manifests diff --git a/values/kueue/env-ekman.yaml.gotmpl b/values/kueue/env-ekman.yaml.gotmpl new file mode 100644 index 00000000..0e677a53 --- /dev/null +++ b/values/kueue/env-ekman.yaml.gotmpl @@ -0,0 +1,3 @@ +kueue: + enabled: true + autosync: false diff --git a/values/kueue/env-rossby.yaml.gotmpl b/values/kueue/env-rossby.yaml.gotmpl new file mode 100644 index 00000000..0e677a53 --- /dev/null +++ b/values/kueue/env-rossby.yaml.gotmpl @@ -0,0 +1,3 @@ +kueue: + enabled: true + autosync: false diff --git a/values/kueue/env.yaml.gotmpl b/values/kueue/env.yaml.gotmpl new file mode 100644 index 00000000..05830a46 --- /dev/null +++ b/values/kueue/env.yaml.gotmpl @@ -0,0 +1,4 @@ +kueue: + enabled: false + autosync: false + env: {{ .Environment.Name }} diff --git a/values/kueue/manifests/kueue.yaml b/values/kueue/manifests/kueue.yaml new file mode 100644 index 00000000..6ec47620 --- /dev/null +++ b/values/kueue/manifests/kueue.yaml @@ -0,0 +1,43 @@ +{{ if .Values.clusterConfig.argo.enabled }} +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kueue + namespace: argocd + annotations: + argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true + argocd.argoproj.io/compare-options: ServerSideDiff=true + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + destination: + namespace: kueue-system + server: https://kubernetes.default.svc + project: default + sources: + - repoURL: {{ .Values.clusterConfig.manifests }} + targetRevision: HEAD + path: helmfile.d + plugin: + name: helmfile-cmp + env: + - name: CLUSTER_NAME + value: {{ .Values.clusterConfig.cluster }} + - name: HELMFILE_ENVIRONMENT + value: {{ .Values.kueue.env }} + - name: HELMFILE_FILE_PATH + value: kueue.yaml.gotmpl + - repoURL: https://gitlab.com/oceanbox/manifests.git + targetRevision: main + ref: values + syncPolicy: + syncOptions: + - CreateNamespace=true + - ApplyOutOfSyncOnly=true + {{- if .Values.kueue.autosync }} + automated: + prune: true + selfHeal: false + {{- end }} +{{- end }} + diff --git a/values/kueue/values/values.yaml b/values/kueue/values/values.yaml new file mode 100644 index 00000000..e69de29b