URLs et routing
Domaines, sous-domaines et HttpRoutes : comment Wakastart route le trafic HTTP vers tes services.
URLs et routing
📍 Où trouver ça dans l'UI
- Domaines et HttpRoutes de l'app : Infra → onglet Architecture → URLs
- URLs réelles par env : Infra → Environments → {env} → URLs
Comment tes utilisateurs accèdent à ton app ?
Wakastart gère le routing HTTP de bout en bout : DNS → load balancer → service.
Domaines (App Domain)
| Type | Exemple | Source |
|---|---|---|
| PLATFORM_MANAGED | *.wakastart.app | Géré par Wakastart, certificats SSL auto, gratuit |
| CUSTOM | exemple.com | Tu apportes ton domaine, tu délègues la gestion du DNS chez Wakastart |
App URL = sous-domaine + (préfixe d'env) + domaine
Le pattern d'URL Wakastart insère le slug de l'environnement comme préfixe entre le sous-domaine et le domaine racine — sauf pour la prod, qui n'a pas de préfixe.
textprod → sous-domaine "app" + domaine "exemple.com" = https://app.exemple.com dev → sous-domaine "app" + préfixe env "dev" + domaine = https://app.dev.exemple.com
HttpRoute = routing interne d'une URL
À une URL on attache une HttpRoute qui dit "envoie tout /api/* vers le ServiceInstance backend, tout / vers le ServiceInstance frontend". C'est du routage applicatif (équivalent d'un reverse proxy nginx, mais déclaratif).
texthttps://app.dev.exemple.com/api/users ↓ Gateway Wakastart ↓ Match HttpRoute path /api/* ↓ Forward vers ServiceInstance "backend" ↓ Pod backend renvoie 200 OK
URL front officielle (Primary Front URL)
Une app peut avoir plusieurs routes (AppRoute) pointant vers plusieurs services de rôle FRONT (front web, front mobile packagé en PWA, etc.). Rien ne distingue par défaut laquelle est "la" URL front de référence de l'app.
Sur l'écran Architecture → URLs, chaque route ciblant un service role: FRONT peut être désignée comme URL front officielle de l'app :
- Via l'étoile dans le tableau des routes, ou via la case à cocher du dialogue de création/modification de route.
- Une seule route active peut porter ce flag par app (contrainte imposée en base par un index partiel unique) — cocher une nouvelle route désactive automatiquement l'ancienne (comportement radio-button, pas de confirmation nécessaire).
- Le flag n'est disponible que pour une route dont le service cible a
role: FRONT— pour tout autre rôle (BACK,BFF,WORKER), l'action est indisponible.
Important : ce flag est purement déclaratif/affichage. Il ne pilote aucune ressource K8s/cloud et n'a aucune influence sur les variables
ROUTE_*injectées aux services — il sert uniquement à savoir "quelle URL montrer à un humain" pour cette app.
Consulter l'URL par environnement
L'endpoint GET /app-routes/primary-front-url-by-environment?appId= résout la route désignée et calcule son FQDN pour chaque environnement de l'app :
| Statut | Signification |
|---|---|
READY | Route provisionnée dans cet environnement — l'URL est utilisable |
PENDING | Route déclarée dans l'architecture mais pas encore synchronisée/provisionnée dans cet environnement |
NOT_CONFIGURED | Aucune route n'est désignée comme officielle pour cette app |
Côté dashboard, cette information est affichée via le bouton Voir les URLs sur la liste des Applications.