Skip to Content

Arguments Statefile

Les arguments Statefile permettent de réutiliser votre Statefile grâce aux modèles Liquid.
Prenons cet exemple : créez un fichier my-deployment.yml et ajoutez le contenu suivant :

ApiVersion: v0.18 # Definition of your arguments # The type of argument, can be: # - String # - Number # - Boolean Args: - Name: name Kind: String - Name: domain Kind: String - Name: image Kind: String - Name: port Kind: String Namespace: global Cargoes: - Name: ${{ Args.name }} Containers: - Name: app Image: ${{ Args.image }} Resources: - Name: ${{ Args.domain }} Kind: ncproxy.io/rule/v0.15 Data: Rules: - Domain: ${{ Args.domain }} Network: Public Locations: - Path: / Target: Key: global.${{ Args.name }}.c Port: ${{ Args.port }}

Si vous l’appliquez avec :

nanocl state apply -s my-deployment.yml

vous verrez le message d’erreur suivant :

error: the following required arguments were not provided: --name <name> --domain <domain> --image <image> --port <port> Usage: nanocl state args -- --name <name> --domain <domain> --image <image> --port <port> For more information, try '--help'.

Le Statefile nécessite maintenant des arguments pour son rendu.

La commande correcte est :

state apply -s my-deployment.yml -- --name deploy-example \ --domain deploy-example.com \ --image ghcr.io/next-hat/nanocl-get-started:latest \ --port 9000

Vous pouvez ainsi déployer très facilement n’importe quel service HTTP.
Vous avez maintenant les bases pour créer un excellent Statefile !

Dernière mise à jour le