Skip to Content

Аргументы Statefile

Аргументы Statefile позволяют повторно использовать Statefile с шаблонами Liquid.
Создайте файл my-deployment.yml с таким содержимым:

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 }}

Если применить его командой:

nanocl state apply -s my-deployment.yml

Вы увидите ошибку:

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'.

Теперь Statefile требует аргументы для формирования конфигурации.

Правильная команда:

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

Так можно быстро и легко развернуть любой HTTP-сервис.
Теперь вы знаете основы создания отличного Statefile!

Последнее обновление