k8s-cluster-config/releases.yaml

390 lines
9.5 KiB
YAML

---
templates:
# ---------------------------
# -- Hooks
# ---------------------------
crd-management-hook:
hooks:
- events: ["preapply"]
showlogs: true
command: "sh"
args:
- -c
- |
helm show crds {{ .Release.Chart }} --version {{ .Release.Version }} | kubectl replace -f - \
|| helm show crds {{ .Release.Chart }} --version {{ .Release.Version }} | kubectl create -f - \
|| true
- events: ["prepare"]
showlogs: true
command: "sh"
args:
- -c
- "helm show crds {{ .Release.Chart }} --version {{ .Release.Version }} | kubectl diff -f - || true"
- events: ["postuninstall"]
showlogs: true
command: "sh"
args:
- -c
- "helm show crds {{ .Release.Chart }} --version {{ .Release.Version }} | kubectl delete -f - || true"
# ----------------------------
# -- Configs
# ----------------------------
default-common-values:
values:
- '{{ requiredEnv "PWD" }}/common/values.{{ .Release.Name }}.yaml'
default-env-values:
values:
- '{{ requiredEnv "PWD" }}/{{ .Environment.Name }}/values/values.{{ .Release.Name }}.yaml'
default-env-secrets:
secrets:
- '{{ requiredEnv "PWD" }}/{{ .Environment.Name }}/values/secrets.{{ .Release.Name }}.yaml'
# ----------------------------
# -- Extensions
# ----------------------------
ext-istio-gateway:
dependencies:
- chart: bedag/raw
version: 2.0.0
alias: istio-gateway
values:
- '{{ requiredEnv "PWD" }}/common/values.istio-gateway.yaml'
ext-istio-resource:
dependencies:
- chart: bedag/raw
version: 2.0.0
alias: istio
values:
- '{{ requiredEnv "PWD" }}/common/values.istio.yaml'
ext-certificate:
dependencies:
- chart: bedag/raw
version: 2.0.0
alias: certificate
values:
- '{{ requiredEnv "PWD" }}/common/values.certificate.yaml'
service-monitor:
dependencies:
- chart: bedag/raw
version: 2.0.0
alias: service-monitor
values:
- '{{ requiredEnv "PWD" }}/common/values.service-monitor.yaml'
namespace:
dependencies:
- chart: bedag/raw
version: 2.0.0
alias: ns
inherit:
- template: default-common-values
- template: default-env-values
ext-database:
dependencies:
- chart: bedag/raw
version: 2.0.0
alias: ext-database
values:
- '{{ requiredEnv "PWD" }}/common/values.database.yaml'
ext-ipaddresspool:
dependencies:
- chart: bedag/raw
version: 2.0.0
alias: ext-ipaddresspool
values:
- '{{ requiredEnv "PWD" }}/common/values.ipaddresspool.yaml'
# -------------------------------------------------------------------
# -- Releases
# -------------------------------------------------------------------
# -- System
# -- This is what has to be installed first. Without those releases
# -- cluster can't function
# -------------------------------------------------------------------
common-system:
labels:
layer: system
metrics-server: &metrics-server
name: metrics-server
chart: metrics-server/metrics-server
version: 3.11.0
inherit:
- template: common-system
values:
- common/values.{{ .Release.Name }}.yaml
metallb: &metallb
name: metallb
chart: metallb/metallb
version: 0.13.11
inherit:
- template: common-system
metallb-resources: &metallb-resources
name: metallb-resources
chart: bedag/raw
version: 2.0.0
needs:
- metallb
inherit:
- template: default-env-values
- template: ext-ipaddresspool
- template: common-system
cert-manager: &cert-manager
name: cert-manager
chart: jetstack/cert-manager
version: 1.13.1
inherit:
- template: common-system
set:
- name: installCRDs
value: true
longhorn: &longhorn
name: longhorn
chart: longhorn/longhorn
version: 1.5.1
inherit:
- template: default-env-values
- template: common-system
# ----------------------------
# -- Istio
# ----------------------------
common-istio:
labels:
bundle: istio
version: 1.19.3
inherit:
- template: common-system
istio-base: &istio-base
name: istio-base
chart: istio/base
inherit:
- template: crd-management-hook
- template: common-istio
istio-gateway: &istio-gateway
name: istio-ingressgateway
chart: istio/gateway
needs:
- istio-base
- metallb-system/metallb-resources
inherit:
- template: common-istio
- template: default-env-values
istiod: &istiod
name: istiod
chart: istio/istiod
needs:
- istio-base
inherit:
- template: common-istio
- template: default-env-values
istio-gateway-resources: &istio-gateway-resources
name: istio-gateway-resources
chart: bedag/raw
version: 2.0.0
needs:
- istio-base
inherit:
- template: ext-istio-gateway
- template: default-env-values
- template: common-system
argocd: &argocd
name: argocd
chart: argo/argo-cd
version: 5.46.8
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
monitoring-common:
labels:
bundle: monitoring
prometheus: &prometheus
name: prometheus
chart: prometheus-community/kube-prometheus-stack
version: 51.6.1
inherit:
- template: monitoring-common
- template: default-env-values
- template: default-env-secrets
- template: crd-management-hook
- template: ext-istio-resource
loki: &loki
name: loki
chart: grafana/loki
version: 5.29.0
inherit:
- template: monitoring-common
- template: default-env-values
promtail: &promtail
name: promtail
chart: grafana/promtail
version: 6.15.2
inherit:
- template: monitoring-common
- template: default-env-values
# ----------------------------
# -- Applications
# ----------------------------
openvpn: &openvpn
name: openvpn
chart: allanger-gitea/openvpn
version: 1.0.6
inherit:
- template: default-env-values
- template: ext-istio-resource
# ----------------------------
# -- Drone
# ----------------------------
drone-common:
labels:
bundle: drone
drone: &drone
name: drone
chart: drone/drone
version: 0.6.5
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
- template: drone-common
drone-runner-docker: &drone-runner-docker
name: drone-runner-docker
chart: drone/drone-runner-docker
version: 0.6.1
inherit:
- template: default-env-values
- template: default-env-secrets
- template: drone-common
nrodionov: &nrodionov
name: nrodionov
chart: bitnami/wordpress
version: 18.0.4
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
- template: ext-database
minio: &minio
name: minio
chart: minio/minio
version: 5.0.14
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
minecraft: &minecraft
name: minecraft
chart: minecraft-server-charts/minecraft
version: 4.11.0
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
gitea: &gitea
name: gitea
chart: gitea/gitea
version: 9.5.0
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
- template: ext-database
funkwhale: &funkwhale
name: funkwhale
chart: ananace-charts/funkwhale
version: 2.0.3
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
- template: ext-database
mailu: &mailu
name: mailu
chart: mailu/mailu
version: 1.2.0
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
- template: ext-certificate
bitwarden: &bitwarden
name: bitwarden
chart: bitwarden/vaultwarden
version: 0.1.7
inherit:
- template: default-env-values
- template: default-env-secrets
- template: ext-istio-resource
redis: &redis
name: redis
chart: bitnami/redis
version: 18.1.5
inherit:
- template: default-env-values
- template: default-env-secrets
postgres16: &postgres16
name: postgres16
chart: bitnami/postgresql
version: 13.1.4
inherit:
- template: default-env-values
- template: default-env-secrets
db-operator: &db-operator
name: db-operator
chart: db-operator/db-operator
version: 1.11.1
db-instances: &db-instances
name: db-instances
chart: db-operator/db-instances
version: 1.4.2
inherit:
- template: default-env-values
- template: default-env-secrets
mysql: &mysql
name: mysql
chart: bitnami/mysql
version: 9.12.5
inherit:
- template: default-env-values
- template: default-env-secrets
docker-mailserver: &docker-mailserver
name: docker-mailserver
chart: allanger-gitea/docker-mailserver
version: 2.1.3
inherit:
- template: default-env-values
- template: ext-istio-gateway
- template: ext-istio-resource