Fichier de configuration
Le fichier de configuration de Vonage Cloud Runtime (vcr.yml), donne des informations à la plateforme sur la manière de déboguer et de déployer votre application. C'est un fichier YAML qui comporte des objets vous permettant de configurer où vos instances sont déployées, à quelle application Vonage vous êtes connecté, etc. Voici un exemple de fichier de configuration :
project:
name: app
instance:
name: dev
runtime: nodejs22
region: aws.use1
application-id: 773c2b45-c20a-4d6b-8afe-24ce29ba6f92
entrypoint: [node, index.js]
build-script: "./build.sh"
capabilities:
- voice
- messages-v1
environment:
- name: VONAGE_NUMBER
value: "44700000000"
- name: INTEGRATION_API_KEY
secret: MY_SECRET_API_KEY
secrets:
- MY_SECRET_API_KEY
debug:
name: debug
application-id: 884c2b45-c20a-4d6b-8afe-24ce29ba6f93
environment:
- name: DEBUG_VONAGE_NUMBER
value: "4471111111"
entrypoint: [nodemon, --inspect, index.js]
preserve-data: false
Projet
Un projet est un espace de noms permettant de regrouper des instances.
Nom
name est une chaîne d'identification unique pour votre projet. Vous pouvez avoir plusieurs instances au sein d'un projet, dans une relation d'un projet à plusieurs instances. Par exemple, une instance pour exécuter votre code de production, une instance pour exécuter votre code de développement et une instance pour la mise à disposition.
Pour avoir plusieurs instances, créez un nouveau fichier de configuration, par exemple prod.ymlet assurez-vous que le nom du projet est le même. Pour déployer différents fichiers de configuration, vous pouvez passer leurs chemins d'accès à la fonction commande CLI deploy.
Instance
Une instance est votre code qui s'exécute sur la plateforme Vonage Cloud Runtime. Pour exécuter votre code, la plateforme a besoin d'informations sur l'endroit où l'exécuter et comment l'exécuter.
Nom
name est une chaîne d'identification unique pour votre instance. Cela vous permet de faire la différence lorsque vous avez plusieurs instances dans votre projet. Le nom de l'instance n'a aucune incidence sur l'environnement dans lequel elle fonctionnera, qui est contrôlé par la directive region.
Temps d'exécution
runtime est le langage avec lequel vous avez construit votre code source, les options disponibles sont les suivantes :
nodejs18nodejs22nodejs24python3python3aipython314go119go126java21ruby3.3php8
Région
region est l'endroit où l'instance s'exécutera. Les régions actuellement disponibles sont les suivantes :
- UNION EUROPÉENNE -
aws.euw1 - US -
aws.use1 - APAC (Singapour) -
aws.apse1 - APAC (Sydney) -
aws.apse2
ID de l'application
application-id est l'identifiant de l'application Vonage à laquelle l'instance sera connectée, ce qui permettra à Vonage Cloud Runtime de définir les rappels de l'application pour vous et d'accéder aux numéros liés.
Point d'entrée
entrypoint est utilisé pour donner des ordres à Vonage Cloud Runtime sur la façon d'exécuter votre application. entrypoint prend un tableau de chaînes de caractères qui est ensuite exécuté pour démarrer votre application. Par exemple, pour lancer mon application, j'utiliserais :
node index.js
Il deviendra :
entrypoint: [node, index.js]
Le premier élément est la commande à exécuter, suivie d'éventuels drapeaux ou paramètres.
Script de construction
build-script vous permet de spécifier un script à exécuter par le VCR lors de la construction de votre application. Le script de construction est exécuté avant que votre entrypoint est appelée. Voici un exemple de script de construction pour un projet JavaScript et NPM :
Capacités
capabilities aux capacités du même nom sur Vonage Applications, les options disponibles sont les suivantes :
voicemessages-v1rtc
Cela permet à Vonage Cloud Runtime de gérer les webhooks pour ces capacités. Pour recevoir les webhooks, vous pouvez utiliser la fonction correspondante sur le SDK de Vonage Cloud Runtime. Voir la documentation de la fonction Voix, Messages et Conversation (RTC) pour plus d'informations.
Environnement
environment vous permet de transmettre facultativement des variables d'environnement à votre application. Vonage Cloud Runtime injectera les variables d'environnement pour vous lorsque vous exécuterez la commande vcr debug ou lorsque votre application est déployée dans Vonage Cloud Runtime. Par exemple, VONAGE_NUMBER de ce qui précède serait disponible en tant que :
process.env.VONAGE_NUMBER;
Vonage Cloud Runtime injecte également certaines variables d'environnement par défaut pour vous. Il s'agit notamment d'éléments tels que l'identifiant de l'application Vonage et la clé privée. Pour une liste complète, voir la page guide de déploiement.
Secrets
Vous pouvez exposer à l'instance les secrets que vous avez créés à l'aide de l'interface de programmation de deux manières.
L'utilisation de la secrets liste - le secret est exposé directement comme une variable d'environnement utilisant son propre nom :
instance:
secrets:
- MY_API_KEY
- DATABASE_PASSWORD
MY_API_KEY serait alors disponible en tant que process.env.MY_API_KEY.
L'utilisation de la environment objet - le secret est associé à un nom de variable spécifique :
instance:
environment:
- name: API_KEY
secret: MY_API_KEY
API_KEY serait alors disponible en tant que process.env.API_KEY.
Pour plus d'informations sur la création et la gestion des secrets, consultez la page Guide des secrets de Vonage Cloud Runtime.
Parcours du bilan de santé
health-check-path vous permet de personnaliser le chemin utilisé par la plateforme pour vérifier la santé de votre instance. Le chemin par défaut est /_/health. Le point d'accès doit renvoyer un état HTTP 200.
instance:
health-check-path: /_/health
Pour plus d'informations sur l'obligation de réaliser un bilan de santé, voir le site internet de la Commission européenne. guide de déploiement.
Sécurité
security vous permet de contrôler l'accès aux points de terminaison de votre application. Par défaut, tous les points d'accès sont accessibles au public. Vous pouvez définir un niveau d'accès par défaut et ajouter des dérogations spécifiques aux chemins d'accès.
instance:
security:
access: private
override:
- path: "/webhooks/*"
access: public
- path: "/api/**"
access: authenticated
auth-method: vonage_basic
Les niveaux d'accès disponibles sont les suivants :
public- pas d'authentification requiseprivate- non accessible depuis l'extérieur de la plate-formeauthenticated- nécessite une authentification viaauth-method
Le seul support auth-method est vonage_basic.
Les modèles de chemin d'accès prennent en charge deux caractères génériques :
*- correspond à un seul segment de chemin (par ex./users/*/profile)**- correspond à plusieurs segments de chemin (par exemple/api/**)
Remarque : les rappels du webhook de Vonage doivent être réglés sur public afin que la plateforme Vonage puisse les atteindre.
Mise à l'échelle
scaling vous permet de contrôler le nombre minimum et maximum de répliques que la plateforme exécutera pour votre instance.
instance:
scaling:
min-scale: 1
max-scale: 5
Paramètres min-scale à 1 ou plus permet de maintenir au moins une réplique en fonctionnement à tout moment, ce qui évite les démarrages à froid. Le minimum par défaut est de 0 (échelle à zéro au repos).
Domaines
domains vous permet de configurer un ou plusieurs noms de domaine personnalisés pour votre instance. Avant d'ajouter un domaine, créez un enregistrement DNS CNAME pointant vers custom.[region].runtime.vonage.cloud.
instance:
domains:
- api.myapp.example.com
Débogage
L'objet de débogage donne des informations à la CLI de Vonage Cloud Runtime sur la façon d'exécuter votre application en mode débogage. Pour plus d'informations sur le débogage, consultez la section Guide de débogage de Vonage Cloud Runtime.
Nom
name vous permet de donner un nom à votre débogueur afin que l'URL de débogage générée soit statique, plutôt qu'aléatoire au démarrage du débogueur.
ID de l'application
Cela vous permet de spécifier un ID d'application Vonage distinct de votre Instance.
Environnement
environment dans la section de débogage fonctionne de la même manière que environnement de l'instancemais ne s'applique qu'en cas d'exécution vcr debug. Cela vous permet d'utiliser localement différentes variables d'environnement sans affecter l'instance déployée.
debug:
environment:
- name: LOG_LEVEL
value: "debug"
- name: API_KEY
secret: DEV_API_KEY
Point d'entrée
entrypoint pour le débogage fonctionne de la même manière que l'option point d'entrée de l'instance. Cela vous donne la possibilité d'avoir un flux de travail de débogage séparé, par exemple en incluant un observateur de fichiers pour redémarrer l'application lorsque des modifications sont apportées :
nodemon --inspect index.js
Devient :
entrypoint: [nodemon, --inspect, index.js]
Préserver les données
preserve-data vous permet de conserver les données stockées dans État de l'instance entre les exécutions du débogueur. Il est faux par défaut.