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.ymlvous 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 9000Vous 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