Workflow complet — créer une app de zéro
Narration end-to-end : créer l'App, définir l'architecture, lancer un build, déployer en dev puis en prod.
Workflow complet — créer une app de zéro
Voici une narration de bout en bout pour bien comprendre comment tout s'enchaîne.
Étape 1 — Créer l'App
Tu vas dans l'UI, "Nouvelle App", tu donnes un nom. Wakastart crée :
- L'enregistrement
Appen DB - Un espace dédié dans le registry pour tes futures images Docker
- Un espace dédié dans le coffre-fort de secrets pour tes credentials
Étape 2 — Définir l'Architecture
Tu navigues dans Infra → Architecture. Tu crées :
- Un Repository managé
exemple-backend(Wakastart crée le repo sur GitHub via l'orgWaka-Start) - Une ServiceDefinition
backend(role: BACK, exposure: PUBLIC, port: 3000, depuis le repoexemple-backend) - Une DatabaseDefinition
primary(engine: PostgreSQL, defaultMode: IN_CLUSTER) - Une StorageBucketDefinition
medias(defaultMode: MANAGED)
Étape 3 — Créer un environnement
Tu crées un environnement dev :
- gitRef:
main - autoDeploy: true
→ Wakastart crée pour cet environnement :
- Un namespace Kubernetes dédié qui isole les ressources de l'env
- Les DatabaseInstance et StorageBucketInstance correspondant aux Definitions (in-cluster en dev)
- Les credentials applicatives pour accéder aux ressources de l'env
- Une URL platform-managed
app.dev.exemple.wakastart.app
Étape 4 — Build et déployer
Tu commits du code, tu push sur main. Wakastart :
- Détecte le push via webhook GitHub
- Crée un Build PENDING
- Le build passe BUILDING → PUSHING → SUCCEEDED
- Mode AUTO → l'image est déployée dans l'env
dev - Un Deployment apparaît, status PROGRESSING, puis SUCCEEDED
- Tes pods tournent, ton API est accessible sur
app.dev.exemple.wakastart.app
Étape 5 — Promouvoir en prod
Tu crées un environnement prod :
- gitRef:
prod(branche dédiée) - autoDeploy: true
- Tu overrides ta DatabaseInstance :
mode: MANAGED(PostgreSQL managé, HA + backups auto) - Tu ajoutes un domaine custom
exemple.com
→ Ton app tourne en prod sur infrastructure managée, isolée du dev.
Questions fréquentes
"Pourquoi y a-t-il une distinction Definition / Instance ?" → Pour que tu puisses définir ton architecture une seule fois et la dupliquer dans plusieurs environnements avec des overrides locaux (plan moins cher en dev, plus puissant en prod).
"Mon build a échoué, où je regarde ?" → Infra → Builds → cliquer sur le build : tu vois les logs Docker build et l'erreur précise.
"Mon service ne démarre pas, où je regarde ?" → Infra → Environments → {env} → Services → {service} : onglet Logs pour les logs du conteneur, onglet Deployments pour voir si le déploiement a échoué.
"Comment je rotate les credentials de ma BDD ?"
→ Pour les bases en mode MANAGED : la rotation est déclenchée côté provider cloud. Les secrets K8s sont régénérés et les services redéployés.
"Comment je restore une sauvegarde ?" → Infra → Backups : tu vois la liste des sauvegardes, tu cliques Restore sur celle voulue.