Statefile の引数
Statefile の引数は、Liquid テンプレートを利用して Statefile を再利用するための仕組みです。
例として、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 を作るための基本が身に付きました。
最終更新日