WakaStart
Workflow

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.

Version v1.02 min de lecture

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 App en 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 :

  1. Un Repository managé exemple-backend (Wakastart crée le repo sur GitHub via l'org Waka-Start)
  2. Une ServiceDefinition backend (role: BACK, exposure: PUBLIC, port: 3000, depuis le repo exemple-backend)
  3. Une DatabaseDefinition primary (engine: PostgreSQL, defaultMode: IN_CLUSTER)
  4. 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 :

  1. Détecte le push via webhook GitHub
  2. Crée un Build PENDING
  3. Le build passe BUILDING → PUSHING → SUCCEEDED
  4. Mode AUTO → l'image est déployée dans l'env dev
  5. Un Deployment apparaît, status PROGRESSING, puis SUCCEEDED
  6. 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.