Aller au contenu

Onboarding client

Runbook pour onboarder un nouveau client sur AKKO. Le point de départ est helm/examples/values-customer-template.yaml — un fichier values empty-by-default qui ne contient aucune identité de démo AKKO (pas de personas alice/bob/carol/dave/eve, pas de défauts akko-admin, pas de références aux datasets de démo).

Cette page est le pendant opérationnel de ADR-039 — pas d'identités hardcodées et du refactor zéro-hardcoding du Sprint 56.

Prérequis apportés par le client

# Élément Pourquoi
1 Cluster Kubernetes 1.28+ avec un StorageClass par défaut Les sub-charts AKKO ciblent k3s/EKS/AKS/GKE/OpenShift/OVH/Outscale (cf. ADR-036)
2 Entrée DNS *.<CUSTOMER_DOMAIN> pointant vers l'Ingress Cert wildcard TLS + 18 FQDN fonctionnels
3 cert-manager installé OU un cert wildcard pré-émis Sprint 47 V2 / ADR-035
4 Un IdP OIDC avec le client confidentiel AKKO créé SSO pour cockpit + ADEN + chaque sub-app
5 Un endpoint object-storage S3-compatible + credentials Lac Iceberg, store documents RAG, warehouse Spark
6 Credentials Postgres (ou accepter l'akko-postgres bundlé) Métadonnées applicatives, audit log, store DPIA

Étape 1 — Copier le template

cd akko
cp helm/examples/values-customer-template.yaml \
   helm/examples/values-<CUSTOMER>.yaml

Remplacer chaque placeholder <CUSTOMER_*> par la valeur réelle.

Étape 2 — Fournir les secrets

Créer helm/examples/values-<CUSTOMER>-secrets.yaml (gitignored) avec les credentials OIDC, S3, Postgres, Keycloak admin.

Étape 3 — Mapper les groupes AD du client vers les rôles AKKO

Éditer la section global.groupRoleMapping :

global:
  groupRoleMapping:
    "CN=DataAdmins,OU=IT,DC=corp":     "akko-admin"
    "CN=DataEng,OU=Teams,DC=corp":     "akko-engineer"
    "CN=Analysts,OU=Teams,DC=corp":    "akko-analyst"
    "CN=DPO,OU=Compliance,DC=corp":    "akko-steward"
    "CN=Viewers,OU=Teams,DC=corp":     "akko-viewer"

Liste vide = aucune opinion AKKO sur les groupes existants (ADR-039).

Étape 4 — Générer realm + domain values

bash helm/scripts/generate-domain-values.sh <CUSTOMER_DOMAIN>

Étape 5 — Pre-flight check

bash helm/scripts/akko-test-all.sh --pre-deploy

Étape 6 — Helm install

helm install akko helm/akko/ -n akko --create-namespace \
  -f helm/examples/values-<CUSTOMER>.yaml \
  -f helm/examples/values-<CUSTOMER>-domain.yaml \
  -f helm/examples/values-<CUSTOMER>-secrets.yaml \
  --set-file akko-keycloak.realm.data=helm/examples/realm-<CUSTOMER>.json

Étape 7 — Configurer Keycloak User Federation

Sync read-only de l'AD client vers Keycloak. Mapper memberOf vers un claim groups que les apps AKKO consomment via groupRoleMapping.

Étape 8 — Smoke post-deploy

bash helm/scripts/akko-test-all.sh --post-deploy

Voir aussi