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 :

  • nodejs18
  • nodejs22
  • nodejs24
  • python3
  • python3ai
  • python314
  • go119
  • go126
  • java21
  • ruby3.3
  • php8

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 :

#!/bin/bash npm ci

Capacités

capabilities aux capacités du même nom sur Vonage Applications, les options disponibles sont les suivantes :

  • voice
  • messages-v1
  • rtc

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 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 avec le CLI en les ajoutant à l'objet environnement comme indiqué ci-dessus. API_KEY serait 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.

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

Cela vous permet de spécifier des variables d'environnement distinctes de votre Instance.

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.