feat: добавить аддоны postgresql, mysql, databasus, minio, velero, crowdsec

Базы данных:
- addons/postgresql: Bitnami PostgreSQL (Helm), vault_postgresql_*
- addons/mysql: Bitnami MySQL (Helm), vault_mysql_*

Объектное хранилище и backup:
- addons/minio: Bitnami MinIO в distributed режиме (4 ноды по умолчанию)
- addons/velero: backup кластера через Velero + MinIO как S3 backend;
  bucket создаётся автоматически через mc Job; daily schedule 02:00

Безопасность:
- addons/crowdsec: CrowdSec LAPI + DaemonSet агенты, мониторит ingress-nginx;
  опциональный nginx bouncer (crowdsec_nginx_bouncer_enabled: true)

Резервное копирование БД:
- addons/databasus: OCI chart, автоматически подключается к addon_postgresql
  и addon_mysql когда те включены (shared endpoint через postgresql_external_host
  и mysql_external_host)

Общее:
- group_vars/all/addons.yml: флаги addon_* + конфиги для всех 6 аддонов;
  shared DB endpoints postgresql_external_host / mysql_external_host
- group_vars/all/vault.yml.example: примеры паролей для всех аддонов
- Makefile: targets addon-postgresql/mysql/databasus/minio/velero/crowdsec
This commit is contained in:
Sergey Antropoff
2026-04-25 11:11:18 +03:00
parent a94039e0f1
commit 80dbf686b0
22 changed files with 933 additions and 0 deletions

View File

@@ -87,3 +87,51 @@
when: addon_kubernetes_dashboard | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/kubernetes-dashboard/role"
- name: Install PostgreSQL
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_postgresql | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/postgresql/role"
- name: Install MySQL
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_mysql | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/mysql/role"
- name: Install Databasus
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_databasus | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/databasus/role"
- name: Install MinIO
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_minio | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/minio/role"
- name: Install Velero
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_velero | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/velero/role"
- name: Install CrowdSec
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_crowdsec | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/crowdsec/role"