Sources de données démo — périmètre 3 Postgres simulés client¶
akko-demo-sources déploie quatre StatefulSets Postgres autonomes
dans le namespace akko-demo-sources. Le chart est séparé de
l'umbrella AKKO par design : il représente ce qu'un client posséderait
déjà (OLTP opérationnel, PostGIS IoT, registre secteur public, ESG
géospatial) avant l'installation d'AKKO. Le Trino d'AKKO fédère ces
sources via le connecteur postgresql standard.
C'est le troisième périmètre de déploiement AKKO (ADR-045) :
- AKKO core (namespace
akko) — la plateforme elle-même - AKKO demo AD (namespace
akko-demo-ad) — LLDAP pour la démo SSO - AKKO demo sources (namespace
akko-demo-sources) — ce chart
Instances¶
| Instance | Image | Domaine | Catalog Trino (ADR-046) |
|---|---|---|---|
akko-demo-sources-banking |
postgres:16-alpine | OLTP banking | postgres_oltp_banking |
akko-demo-sources-iot |
postgis/postgis:16-3.4-alpine | IoT spatial | postgres_postgis_iot |
akko-demo-sources-publicsector |
postgres:16-alpine | INSEE SIRENE | postgres_oltp_publicsector |
akko-demo-sources-esg |
postgis/postgis:16-3.4-alpine | Immobilier / climat | postgres_postgis_esg |
La nomenclature des catalogs (<engine>_<storage>_<domaine>) rend la
page Catalogs du cockpit auto-explicative : un prospect comprend
immédiatement que postgres_postgis_iot est une instance Postgres
avec PostGIS contenant des données IoT, fédérée via Trino.
Source de vérité unique pour les credentials¶
Ce chart et l'umbrella AKKO lisent les quatre mots de passe depuis
global.demoSources.passwords.<domaine>. L'umbrella matérialise un
Secret miroir akko-demo-sources-passwords dans le namespace akko
afin que Trino puisse résoudre les env vars dans ses fichiers
.properties (Kubernetes ne permet pas le secretKeyRef
cross-namespace).
helm install akko-demo-sources helm/akko-demo-sources/ \
-n akko-demo-sources --create-namespace \
--set postgresPasswords.banking=<32 caractères aléatoires> \
--set postgresPasswords.iot=<32 caractères aléatoires> \
--set postgresPasswords.publicsector=<32 caractères aléatoires> \
--set postgresPasswords.esg=<32 caractères aléatoires>
L'umbrella reçoit les MÊMES valeurs via global.demoSources.passwords.
Toute dérive entre le password côté chart et le password côté Trino
est structurellement impossible.
Données shaped sur de l'open data (Sprint 62.3)¶
Les DAGs compagnons airflow/dags/akko_load_*.py (et leur miroir
airflow/dags/sql/seed_*.sql) chargent des données synthétiques dont
le schéma reproduit fidèlement de l'open data réelle :
- PaySim Kaggle (CC0) — 100 k transactions, taux de fraude 0,13 %
- NOAA Global Hourly ISD — 50 stations × 30 jours horaires + 1 k actifs industriels en France
- INSEE SIRENE Licence Ouverte 2.0 — 100 k entreprises françaises synthétiques avec SIRET, SIREN, NAF, distribution départementale pondérée
- Copernicus CDS + ENTSO-E Transparency + DPE — 50 k annonces immobilières + 50 k scores risque inondation + 60 k lignes énergie
Basculer vers le téléchargement CSV réel = un changement d'une ligne par DAG. Les seeds SQL sont des équivalents server-side qui bootstrap les données en quelques secondes sur un cluster neuf.
NetworkPolicy¶
Le chart impose une NetworkPolicy stricte par instance :
- Ingress autorisé depuis les pods same-namespace + le namespace
plateforme AKKO (
global.akkoNamespace, défautakko) - Egress limité à
kube-dnsuniquement (pas d'Internet public, pas de Slack, rien)
Smoke test¶
# Connexion depuis l'intérieur de Trino
TRINO_POD=$(kubectl -n akko get pod -l app.kubernetes.io/component=coordinator \
-l app.kubernetes.io/name=trino -o name | head -1)
kubectl -n akko exec $TRINO_POD -- \
trino --user alice --execute 'SHOW SCHEMAS FROM postgres_oltp_banking'
# attendu : information_schema, pg_catalog, public