Files
K3S/addons/crowdsec/role/defaults/main.yml
Sergey Antropoff 80dbf686b0 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
2026-04-25 11:11:18 +03:00

55 lines
2.7 KiB
YAML

---
crowdsec_version: "0.10.1"
crowdsec_namespace: "crowdsec"
crowdsec_chart_repo: "https://crowdsecurity.github.io/helm-charts"
# ── Энролмент в CrowdSec Central API (опционально) ───────────────────────────
# Получи ключ на https://app.crowdsec.net → My Instances → +
# Задай в group_vars/all/vault.yml:
# vault_crowdsec_enroll_key: "..." # ключ энролмента (оставь "" для оффлайн-режима)
crowdsec_enroll_key: "{{ vault_crowdsec_enroll_key | default('') }}"
crowdsec_instance_name: "k3s-cluster"
crowdsec_enroll_tags: "k3s kubernetes"
# Container runtime для k3s
crowdsec_container_runtime: "containerd"
# ── Коллекции ─────────────────────────────────────────────────────────────────
# Список коллекций через пробел
crowdsec_collections: "crowdsecurity/linux crowdsecurity/nginx crowdsecurity/kubernetes"
# ── Мониторируемые поды (acquisition) ─────────────────────────────────────────
crowdsec_acquisition:
- namespace: ingress-nginx
podName: "ingress-nginx-controller-*"
program: nginx
# ── Nginx Bouncer (remediation component) ─────────────────────────────────────
# Блокирует IP через nginx auth_request — требует отдельного деплоя
# Инструкция в debug после установки
crowdsec_nginx_bouncer_enabled: false
crowdsec_nginx_bouncer_version: "0.1.6"
# ── LAPI — постоянное хранилище ───────────────────────────────────────────────
crowdsec_lapi_storage_enabled: true
crowdsec_lapi_storage_size: "1Gi"
crowdsec_lapi_storage_class: ""
# ── Ресурсы LAPI ───────────────────────────────────────────────────────────────
crowdsec_lapi_resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 500m
memory: 256Mi
# ── Ресурсы агентов (DaemonSet) ───────────────────────────────────────────────
crowdsec_agent_resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 500m
memory: 256Mi