Migrate databases

This commit is contained in:
Nikolai Rodionov 2025-04-07 13:42:14 +02:00
parent b2f546f0b7
commit 64d523f302
No known key found for this signature in database
GPG Key ID: 0639A45505F3BFA6
18 changed files with 113 additions and 18 deletions

View File

@ -8,3 +8,7 @@ creation_rules:
key_groups: key_groups:
- age: - age:
- age1vzkv97n2p7gfkw8dyx8ctz2kumattz89th2jq47zyjyrarmnssysdkw9v8 - age1vzkv97n2p7gfkw8dyx8ctz2kumattz89th2jq47zyjyrarmnssysdkw9v8
- path_regex: common/values/secrets.*
key_groups:
- age:
- age1vzkv97n2p7gfkw8dyx8ctz2kumattz89th2jq47zyjyrarmnssysdkw9v8

View File

@ -2,7 +2,7 @@ environments:
badhouseplants: badhouseplants:
kubeContext: badhouseplants kubeContext: badhouseplants
values: values:
#- ./common/values/values.badhouseplants.yaml - ./common/values/values.badhouseplants.yaml
- base: - base:
enabled: true enabled: true
- velero: - velero:

View File

@ -1,3 +1,6 @@
helmDefaults:
kubeContext: "{{ .StateValues.kubeContext }}"
templates: templates:
# --------------------------- # ---------------------------
# -- Hooks # -- Hooks
@ -39,19 +42,19 @@ templates:
- '{{ requiredEnv "PWD" }}/values/{{ .Environment.Name }}/secrets.{{ `{{ .Release.Name }}` }}.yaml' - '{{ requiredEnv "PWD" }}/values/{{ .Environment.Name }}/secrets.{{ `{{ .Release.Name }}` }}.yaml'
common-values: common-values:
values: values:
- '{{ requiredEnv "PWD" }}/values/common/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.yaml' - '../values/common/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.yaml'
common-values-tpl: common-values-tpl:
values: values:
- '{{ requiredEnv "PWD" }}/values/common/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.gotmpl' - '../values/common/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.gotmpl'
env-values: env-values:
values: values:
- '{{ requiredEnv "PWD" }}/values/{{ .Environment.Name }}/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.yaml' - '../values/{{ .Environment.Name }}/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.yaml'
env-values-tpl: env-values-tpl:
values: values:
- '{{ requiredEnv "PWD" }}/values/{{ .Environment.Name }}/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.gotmpl' - '../values/{{ .Environment.Name }}/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/values.gotmpl'
env-secrets: env-secrets:
secrets: secrets:
- '{{ requiredEnv "PWD" }}/values/{{ .Environment.Name }}/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/secrets.yaml' - '../values/{{ .Environment.Name }}/{{ `{{ .Release.Namespace }}` }}/{{ `{{ .Release.Name }}` }}/secrets.yaml'
# ---------------------------- # ----------------------------
# -- Extensions # -- Extensions
# ---------------------------- # ----------------------------

View File

@ -1,6 +0,0 @@
bases:
- ./common/environments.yaml
- ./common/templates.yaml
- ./helmfiles/base.yaml
- ./helmfiles/system.yaml
- ./helmfiles/platform.yaml

22
helmfile.yaml.gotmpl Normal file
View File

@ -0,0 +1,22 @@
---
bases:
- ./common/environments.yaml
---
helmfiles:
- path: ./helmfiles/base.yaml
values:
- kubeContext: "{{ .Environment.KubeContext }}"
- {{ toYaml .Environment.Values | nindent 8 }}
- path: ./helmfiles/system.yaml
values:
- kubeContext: "{{ .Environment.KubeContext }}"
- {{ toYaml .Environment.Values | nindent 8 }}
- path: ./helmfiles/platform.yaml
values:
- kubeContext: "{{ .Environment.KubeContext }}"
- {{ toYaml .Environment.Values | nindent 8 }}
- path: ./helmfiles/databases.yaml
values:
- kubeContext: "{{ .Environment.KubeContext }}"
- {{ toYaml .Environment.Values | nindent 8 }}

View File

@ -1,7 +1,10 @@
bases:
- ../common/templates.yaml
releases: releases:
# -- This one must be executed with --take-ownership at least once # -- This one must be executed with --take-ownership at least once
- name: namespaces - name: namespaces
chart: ./charts/namespaces chart: ../charts/namespaces
namespace: kube-system namespace: kube-system
createNamespace: false createNamespace: false
inherit: inherit:
@ -9,7 +12,7 @@ releases:
- template: env-secrets - template: env-secrets
- name: roles - name: roles
chart: ./charts/roles chart: ../charts/roles
namespace: kube-system namespace: kube-system
createNamespace: false createNamespace: false
needs: needs:

45
helmfiles/databases.yaml Normal file
View File

@ -0,0 +1,45 @@
bases:
- ../common/templates.yaml
repositories:
- name: bitnami
url: registry-1.docker.io/bitnamicharts
oci: true
- name: bedag
url: https://bedag.github.io/helm-charts/
commonLabels:
installation: databases
releases:
- name: redis
chart: bitnami/redis
namespace: databases
condition: redis.enabled
version: 20.11.3
inherit:
- template: common-values-tpl
- template: env-values
- template: env-secrets
- name: postgres16
labels:
bundle: postgres
namespace: databases
chart: bitnami/postgresql
condition: postgres16.enabled
version: 15.5.38
inherit:
- template: common-values-tpl
- template: env-values
- template: env-secrets
- name: postgres17
labels:
bundle: postgres
namespace: databases
chart: bitnami/postgresql
condition: postgres17.enabled
version: 16.3.4
inherit:
- template: common-values-tpl
- template: env-values
- template: env-secrets

View File

@ -1,3 +1,6 @@
bases:
- ../common/templates.yaml
repositories: repositories:
- name: keel - name: keel
url: https://keel-hq.github.io/keel/ url: https://keel-hq.github.io/keel/

View File

@ -1,3 +1,6 @@
bases:
- ../common/templates.yaml
repositories: repositories:
- name: coredns - name: coredns
url: https://coredns.github.io/helm url: https://coredns.github.io/helm
@ -54,7 +57,7 @@ releases:
- template: common-values-tpl - template: common-values-tpl
- name: issuer - name: issuer
chart: ./charts/issuer chart: ../charts/issuer
namespace: kube-system namespace: kube-system
missingFileHandler: Warn missingFileHandler: Warn
needs: needs:
@ -85,7 +88,7 @@ releases:
- kyverno/kyverno - kyverno/kyverno
- name: custom-kyverno-policies - name: custom-kyverno-policies
chart: ./kustomizations/kyverno/{{ .Environment.Name }} chart: ../kustomizations/kyverno/{{ .Environment.Name }}
namespace: kyverno namespace: kyverno
needs: needs:
- kyverno/kyverno - kyverno/kyverno
@ -102,7 +105,7 @@ releases:
- template: common-values-tpl - template: common-values-tpl
- name: metallb-resources - name: metallb-resources
chart: ./charts/metallb-resources chart: ../charts/metallb-resources
version: 2.0.0 version: 2.0.0
condition: base.enabled condition: base.enabled
namespace: kube-system namespace: kube-system

View File

@ -9,7 +9,7 @@ metrics:
primary: primary:
persistence: persistence:
size: 2Gi size: 2Gi
resources: resources:
limits: limits:
ephemeral-storage: 1Gi ephemeral-storage: 1Gi
memory: 512Mi memory: 512Mi

View File

@ -0,0 +1,6 @@
global:
imageRegistry: {{ .Values.registry }}
imagePullSecrets:
- regcred
security:
allowInsecureImages: true

View File

@ -0,0 +1,6 @@
global:
imageRegistry: {{ .Values.registry }}
imagePullSecrets:
- regcred
security:
allowInsecureImages: true

View File

@ -0,0 +1,6 @@
global:
imageRegistry: {{ .Values.registry}}
imagePullSecrets:
- regcred
security:
allowInsecureImages: true