Services
Services sont des conteneurs qui sont déclenchés par un point de terminaison HTTP. Des exemples de services incluent :
- Sites web
- APIs
- Webhooks
Pour ces points de terminaison, nous utilisons notre technologie de mise à l’échelle à zéro pour arrêter les ressources inutilisées et les initialiser uniquement lorsqu’une requête arrive.
Comment ça marche
Lorsque vous créez un service, nous créons un point de terminaison public et délivrons un certificat TLS valide pour celui-ci. Par défaut, ce point de terminaison héberge un serveur HTTP vide que vous pouvez utiliser pour tester votre configuration.
Lorsque vous nous fournissez une image de conteneur, nous remplaçons notre espace réservé statique par votre site web ou votre API.
Exigences pour l’image du conteneur
Chaque image de conteneur est initialisée à la demande, donc tout système déployé sur DownToZero (DTZ) doit être conçu en tenant compte de cela.
Par défaut, DTZ attend que le conteneur ouvre un port. Le premier port ouvert sera celui auquel DTZ s’attachera et vers lequel il transmettra la requête.
Variables d’environnement
L’environnement d’exécution fournit les variables d’environnement suivantes à votre service :
| variable | modifiable | description |
|---|---|---|
| PORT | oui | Le port sur lequel votre application doit écouter. |
| DTZ_ACCESS_TOKEN | oui (l’identité peut être modifiée) | Un JWT généré à partir du contexte permettant d’accéder aux ressources dans ce contexte. |
| DTZ_CONTEXT_ID | non | Le contexte DTZ dans lequel l’application actuelle s’exécute. |
En-têtes de requête HTTP
L’environnement d’exécution injecte les en-têtes HTTP suivants dans chaque requête transférée à votre service :
| en-tête | valeur d’exemple | description |
|---|---|---|
| X-Request-ID | 5f2a9b4e-2e9e-4e6c-a2a3-9f2a1c3d4e5f | Identifiant unique pour la requête. Utile pour corréler les logs et le traçage entre les composants. |
| X-Forwarded-Host | api.example.com | La valeur Host originale demandée par le client. À utiliser lors de la génération d’URL absolues ou pour le routage multi-locataire. |
| X-Forwarded-Proto | https | Le protocole original utilisé par le client. Pour les points de terminaison publics sur DTZ, c’est toujours https. |
Ces en-têtes sont fournis par la plateforme et reflètent le contexte de la requête côté client ; votre application doit les considérer comme des entrées en lecture seule.