WakaStart
Bases, stockage, routing

URLs et routing

Domaines, sous-domaines et HttpRoutes : comment Wakastart route le trafic HTTP vers tes services.

Version v1.03 min de lecture

URLs et routing

📍 Où trouver ça dans l'UI

  • Domaines et HttpRoutes de l'app : Infra → onglet ArchitectureURLs
  • 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)

TypeExempleSource
PLATFORM_MANAGED*.wakastart.appGéré par Wakastart, certificats SSL auto, gratuit
CUSTOMexemple.comTu 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.

text
prod → 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).

text
https://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 :

StatutSignification
READYRoute provisionnée dans cet environnement — l'URL est utilisable
PENDINGRoute déclarée dans l'architecture mais pas encore synchronisée/provisionnée dans cet environnement
NOT_CONFIGUREDAucune 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.