--- # Variables globales pour le déploiement Kubernetes # Fichier: group_vars/all.yml # ============================================================ # Configuration du cluster Kubernetes # ============================================================ cluster_name: smart-city-martinique k8s_version: "1.28.0" container_runtime: containerd network_plugin: cilium # ============================================================ # Configuration réseau # ============================================================ domain: digitribe.fr traefik_namespace: traefik ingress_class: traefik # TLS tls_enabled: true tls_certresolver: letsencrypt acme_email: admin@digitribe.fr # ============================================================ # Storage # ============================================================ storage_class: nfs-client nfs_server: "192.168.1.200" nfs_path: /data/k8s # Persistent Volume sizes storage_sizes: postgres: 50Gi minio: 500Gi kafka: 100Gi influxdb: 50Gi loki: 100Gi grafana: 10Gi jupyterhub: 20Gi gitea: 20Gi metabase: 10Gi superset: 10Gi mindsdb: 20Gi odk: 10Gi mapstore: 10Gi geoserver: 20Gi airflow: 20Gi flink: 20Gi emqx: 10Gi mosquitto: 5Gi redis: 10Gi elasticsearch: 50Gi # ============================================================ # Helm Charts versions # ============================================================ helm_charts: traefik: chart: traefik/traefik version: "28.0.0" ingress_nginx: chart: ingress-nginx/ingress-nginx version: "4.8.0" cert_manager: chart: jetstack/cert-manager version: "1.13.0" nfs_provisioner: chart: nfs-subdir-external-provisioner/nfs-subdir-external-provisioner version: "4.0.18" postgresql: chart: bitnami/postgresql version: "13.2.0" postgresql_ha: chart: bitnami/postgresql-ha version: "12.2.0" redis: chart: bitnami/redis version: "18.0.0" minio: chart: bitnami/minio version: "12.10.0" kafka: chart: strimzi/kafka-operator version: "0.38.0" flink: chart: apache/flink-kubernetes-operator version: "1.7.0" airflow: chart: apache/airflow version: "1.11.0" grafana: chart: grafana/grafana version: "7.0.0" loki: chart: grafana/loki-stack version: "2.9.0" prometheus: chart: prometheus/kube-prometheus-stack version: "51.0.0" emqx: chart: emqx/emqx-operator version: "2.2.0" mosquitto: chart: k8s-at-home/mosquitto version: "4.8.0" gitea: chart: gitea/gitea version: "9.0.0" jupyterhub: chart: jupyterhub/jupyterhub version: "3.0.0" superset: chart: apache/superset version: "0.11.0" metabase: chart: bitnami/metabase version: "0.13.0" mindsdb: chart: bitnami/mindsdb version: "0.1.0" odk: chart: odk/odk-central version: "1.0.0" mapstore: chart: geosolutionsit/mapstore version: "1.0.0" geoserver: chart: kartoza/geoserver version: "2.2.0" frost: chart: fraunhoferiosb/frost-server version: "1.0.0" nodered: chart: k8s-at-home/node-red version: "4.8.0" phpipam: chart: phpipam/phpipam version: "1.0.0" clickhouse: chart: bitnami/clickhouse version: "4.0.0" starrocks: chart: starrocks/starrocks-community version: "1.0.0" trino: chart: trinodb/trino version: "0.10.0" deltalake: chart: delta-io/delta-lake version: "1.0.0" streamlit: chart: streamlit/streamlit version: "1.0.0" duckdb: chart: duckdb/duckdb version: "1.0.0" elasticsearch: chart: elastic/elasticsearch version: "8.11.0" kibana: chart: elastic/kibana version: "8.11.0" # ============================================================ # Services configuration # ============================================================ services: airflow: enabled: true namespace: airflow replicas: 2 resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "2000m" memory: "4Gi" kafka: enabled: true namespace: kafka replicas: 3 resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "2000m" memory: "4Gi" flink: enabled: true namespace: flink replicas: 2 resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "2000m" memory: "4Gi" emqx: enabled: true namespace: iot replicas: 3 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" mosquitto: enabled: true namespace: iot replicas: 2 resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "1Gi" postgresql: enabled: true namespace: default replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" redis: enabled: true namespace: default replicas: 3 resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "1Gi" minio: enabled: true namespace: default replicas: 4 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" grafana: enabled: true namespace: monitoring replicas: 1 resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "1Gi" loki: enabled: true namespace: monitoring replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" prometheus: enabled: true namespace: monitoring replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" gitea: enabled: true namespace: gitea replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" jupyterhub: enabled: true namespace: jupyterhub replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" superset: enabled: true namespace: superset replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" metabase: enabled: true namespace: metabase replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" mindsdb: enabled: true namespace: mindsdb replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" odk: enabled: true namespace: odk replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" mapstore: enabled: true namespace: mapstore replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" geoserver: enabled: true namespace: geoserver replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" frost: enabled: true namespace: iot replicas: 1 resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "1Gi" nodered: enabled: true namespace: iot replicas: 1 resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "1Gi" phpipam: enabled: true namespace: phpipam replicas: 1 resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "1Gi" smartapp: enabled: true namespace: smartapp replicas: 2 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" clickhouse: enabled: true namespace: clickhouse replicas: 1 resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "2000m" memory: "4Gi" starrocks: enabled: true namespace: starrocks replicas: 1 resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "2000m" memory: "4Gi" trino: enabled: true namespace: trino replicas: 1 resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "2000m" memory: "4Gi" deltalake: enabled: true namespace: deltalake replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" streamlit: enabled: true namespace: streamlit replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" duckdb: enabled: true namespace: duckdb replicas: 1 resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "1000m" memory: "2Gi" # ============================================================ # Monitoring # ============================================================ monitoring: enabled: true namespace: monitoring grafana_admin_password: "{{ vault_grafana_password }}" prometheus_retention: 30d loki_retention: 30d # ============================================================ # Backup # ============================================================ backup: enabled: true schedule: "0 2 * * *" retention: 30 storage_class: nfs-client storage_size: 100Gi