From ac5645fc0321408386867ec5e70bf8ef9c3899fc Mon Sep 17 00:00:00 2001 From: Jonas Juselius Date: Sun, 22 Jun 2025 19:45:52 +0200 Subject: [PATCH] feat: add loki as helmfile --- helmfile.d/loki.yaml.gotmpl | 43 ++++++++++++++++++++++++++++ values/loki/env-oceanbox.yaml.gotmpl | 3 ++ values/loki/env.yaml.gotmpl | 20 ++++++------- values/loki/manifests/loki.yaml | 12 +++++--- values/loki/values/loki.yaml.gotmpl | 40 +++++++++++++------------- 5 files changed, 84 insertions(+), 34 deletions(-) create mode 100644 helmfile.d/loki.yaml.gotmpl create mode 100644 values/loki/env-oceanbox.yaml.gotmpl diff --git a/helmfile.d/loki.yaml.gotmpl b/helmfile.d/loki.yaml.gotmpl new file mode 100644 index 00000000..a442c036 --- /dev/null +++ b/helmfile.d/loki.yaml.gotmpl @@ -0,0 +1,43 @@ +bases: + - ../envs/environments.yaml.gotmpl + +repositories: +- name: loki + url: https://grafana.github.io/helm-charts + +commonLabels: + tier: system + +releases: +- name: loki + namespace: loki + chart: loki/loki + # version: 1.2.3 + condition: loki.enabled + values: + - ../values/loki/values/loki.yaml.gotmpl + - ../values/loki/values/loki-{{ .Environment.Name }}.yaml.gotmpl + postRenderer: ../bin/kustomizer + postRendererArgs: + - ../values/loki/kustomize/{{ .Environment.Name }} + missingFileHandler: Info +- name: manifests + namespace: loki + chart: manifests + condition: loki.enabled + missingFileHandler: Info + values: + - ../values/env.yaml + - ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml + - ../values/loki/env.yaml.gotmpl + - ../values/loki/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/loki/manifests + - manifests diff --git a/values/loki/env-oceanbox.yaml.gotmpl b/values/loki/env-oceanbox.yaml.gotmpl new file mode 100644 index 00000000..eb75dc4e --- /dev/null +++ b/values/loki/env-oceanbox.yaml.gotmpl @@ -0,0 +1,3 @@ +loki: + enabled: true + diff --git a/values/loki/env.yaml.gotmpl b/values/loki/env.yaml.gotmpl index 48db8d4a..ce530d13 100644 --- a/values/loki/env.yaml.gotmpl +++ b/values/loki/env.yaml.gotmpl @@ -3,14 +3,14 @@ loki: autosync: true compactor: false s3: - endpoint: "" - region: "" + endpoint: "http://10.255.241.30:30080" + region: tos insecure_skip_verify: false - secret: - name: "" - access_key: "" - access_secret: "" - buckets: - chunks: "" - ruler: "" - admin: "" + secret: + name: loki-s3 + access_key: AWS_ACCESS_KEY_ID + access_secret: AWS_ACCESS_KEY_SECRET + buckets: + chunks: loki-chunks + ruler: loki-chunks + admin: loki-chunks diff --git a/values/loki/manifests/loki.yaml b/values/loki/manifests/loki.yaml index f0bd8204..8a91351e 100644 --- a/values/loki/manifests/loki.yaml +++ b/values/loki/manifests/loki.yaml @@ -2,7 +2,7 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: loki + name: loki namespace: argocd annotations: argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true @@ -15,12 +15,16 @@ spec: sources: - repoURL: {{ .Values.clusterConfig.manifests }} targetRevision: HEAD - path: helmfiles/loki + path: helmfile.d plugin: - name: helmfile + name: helmfile-cmp env: - name: CLUSTER_NAME value: {{ .Values.clusterConfig.cluster }} + - name: HELMFILE_ENVIRONMENT + value: default + - name: HELMFILE_FILE_PATH + value: ingress-nginx.yaml.gotmpl project: sys syncPolicy: managedNamespaceMetadata: @@ -29,7 +33,7 @@ spec: syncOptions: - CreateNamespace=true - ApplyOutOfSyncOnly=true - # - ServerSideApply=true + - ServerSideApply=true {{- if .Values.loki.autosync }} automated: prune: true diff --git a/values/loki/values/loki.yaml.gotmpl b/values/loki/values/loki.yaml.gotmpl index b2fab6ff..8713f81c 100644 --- a/values/loki/values/loki.yaml.gotmpl +++ b/values/loki/values/loki.yaml.gotmpl @@ -2,11 +2,11 @@ loki: auth_enabled: false storage: bucketNames: - chunks: {{ .Values.loki.buckets.chunks }} - ruler: {{ .Values.loki.buckets.ruler }} - admin: {{ .Values.loki.buckets.admin }} + chunks: {{ .Values.loki.s3.buckets.chunks }} + ruler: {{ .Values.loki.s3.buckets.ruler }} + admin: {{ .Values.loki.s3.buckets.admin }} s3: - endpoint: {{ .Values.loki.s3.endpoint | default "https://s3.production.itpartner.no" }} + endpoint: {{ .Values.loki.s3.endpoint }} region: {{ .Values.loki.s3.region | default "us-east-1" }} secretAccessKey: ${S3SECRET} accessKeyId: ${S3KEY} @@ -40,13 +40,13 @@ write: - name: S3KEY valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_key" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_key" }} - name: S3SECRET valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_secret" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_secret" }} tolerations: - effect: "NoSchedule" operator: "Equal" @@ -59,13 +59,13 @@ read: - name: S3KEY valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_key" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_key" }} - name: S3SECRET valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_secret" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_secret" }} tolerations: - effect: "NoSchedule" operator: "Equal" @@ -79,13 +79,13 @@ compactor: - name: S3KEY valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_key" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_key" }} - name: S3SECRET valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_secret" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_secret" }} {{- end }} backend: extraArgs: @@ -94,10 +94,10 @@ backend: - name: S3KEY valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_key" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_key" }} - name: S3SECRET valueFrom: secretKeyRef: - name: {{ .Values.loki.secret.name | default "s3-credentials"}} - key: {{ .Values.loki.secret.access_key | default "access_secret" }} + name: {{ .Values.loki.s3.secret.name | default "s3-credentials"}} + key: {{ .Values.loki.s3.secret.access_key | default "access_secret" }}