diff --git a/helmfile.d/keycloak.yaml.gotmpl b/helmfile.d/keycloak.yaml.gotmpl new file mode 100644 index 00000000..cd332ba8 --- /dev/null +++ b/helmfile.d/keycloak.yaml.gotmpl @@ -0,0 +1,31 @@ +bases: + - ../envs/environments.yaml.gotmpl + +repositories: +- name: bitnami + url: https://charts.bitnami.com/bitnami + +commonLabels: + tier: system + +releases: +- name: manifests + namespace: keycloak + chart: manifests + condition: keycloak.enabled + missingFileHandler: Info + values: + - ../values/env.yaml + - ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml + - ../values/keycloak/env.yaml.gotmpl + - ../values/keycloak/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/keycloak/manifests + - manifests diff --git a/values/keycloak/env-oceanbox.yaml.gotmpl b/values/keycloak/env-oceanbox.yaml.gotmpl new file mode 100644 index 00000000..2ea58993 --- /dev/null +++ b/values/keycloak/env-oceanbox.yaml.gotmpl @@ -0,0 +1,3 @@ +keycloak: + enabled: {{ if eq .Environment.Name "prod" }} true {{ else }} false {{ end }} + env: prod diff --git a/values/keycloak/env.yaml.gotmpl b/values/keycloak/env.yaml.gotmpl index c7fcdd16..675056d9 100644 --- a/values/keycloak/env.yaml.gotmpl +++ b/values/keycloak/env.yaml.gotmpl @@ -1,2 +1,5 @@ keycloak: - enabled: true \ No newline at end of file + enabled: false + autosync: {{ if eq .Environment.Name "prod" }} false {{ else }} true {{ end }} + env: {{ .Environment.Name }} + diff --git a/values/keycloak/manifests/ingress.yaml b/values/keycloak/manifests/ingress.yaml index ac209dd2..08e0d99b 100644 --- a/values/keycloak/manifests/ingress.yaml +++ b/values/keycloak/manifests/ingress.yaml @@ -8,6 +8,7 @@ metadata: nginx.ingress.kubernetes.io/proxy-buffer-size: 128k nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 + oceanbox.io/expose: internal labels: app.kubernetes.io/component: keycloak app.kubernetes.io/instance: prod-keycloak diff --git a/values/keycloak/manifests/keycloak.yaml b/values/keycloak/manifests/keycloak.yaml index 110369ae..62f4d713 100644 --- a/values/keycloak/manifests/keycloak.yaml +++ b/values/keycloak/manifests/keycloak.yaml @@ -1,9 +1,8 @@ {{- if .Values.clusterConfig.argo.enabled }} -{{- range .Values.keycloak.envs }} apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: {{ . }}-keycloak + name: {{ .Values.keycloak.env }}-keycloak namespace: argocd annotations: argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true @@ -12,17 +11,30 @@ metadata: spec: destination: namespace: keycloak - server: 'https://kubernetes.default.svc' + server: https://kubernetes.default.svc + project: aux sources: - repoURL: {{ .Values.clusterConfig.manifests }} targetRevision: HEAD - path: helmfiles/keycloak + path: helmfile.d plugin: - name: helmfile + name: helmfile-cmp env: - name: CLUSTER_NAME value: {{ .Values.clusterConfig.cluster }} - project: aux + - name: HELMFILE_ENVIRONMENT + value: {{ .Values.keycloak.env }} + - name: HELMFILE_FILE_PATH + value: keycloak.yaml.gotmpl + - repoURL: https://charts.bitnami.com/bitnami + targetRevision: 24.0.2 + chart: keycloak + helm: + valueFiles: + - $values/values/keycloak/values/values-{{ .Values.keycloak.env }}.yaml + - repoURL: https://gitlab.com/oceanbox/manifests.git + targetRevision: main + ref: values syncPolicy: managedNamespaceMetadata: labels: @@ -37,4 +49,3 @@ spec: # selfHeal: false {{- end }} {{- end }} -{{- end }} diff --git a/values/keycloak/values/values.yaml b/values/keycloak/values/values-staging.yaml similarity index 100% rename from values/keycloak/values/values.yaml rename to values/keycloak/values/values-staging.yaml