Appearance
qvsctl manifest compile
Infrastructure Adapter をコンパイルして Application Manifestを生成します。
使い方
qvsctl manifest compile -c ${applicationConfig} [-p ${parameterFile} -o ${outputFileOrDir}]
説明
Infrastructure Adapter をコンパイルして Manifest を生成します。
QVS Config と QVS Config で利用するパラメータが記述されたファイルを指定することで Adapter を利用して Manifest を生成します。
QVS Configの仕様については QVS Config を参照してください。
リモートにあるGitリポジトリのadapterをモジュールとして利用する場合は、リポジトリへの接続方法に応じて以下の環境変数を設定してください。
- HTTPS接続用:
GIT_TOKEN
- SSH接続用:
GIT_SSH_KEY_PATH
Warning
これまでGitアクセストークンの指定にはGITHUB_TOKEN
という環境変数を用いていましたが、こちらは非推奨となります。
HTTPS接続にはGIT_TOKEN
を使用してください。
// Gitのアクセストークンを環境変数GIT_TOKENに設定
export GIT_TOKEN=ghp_AbCdefghiJklmnopqrStuVwXyz1234567890
// SSH接続用の秘密鍵の絶対パスを環境変数GIT_SSH_KEY_PATHに設定
export GIT_SSH_KEY_PATH=/home/user/.ssh/id_ecdsa
以下はパラメータファイルの一例です。QVS Config と一緒にコンパイルすることで、k8sNamespace
、imageName
という2つのパラメータにそれぞれ value 相当の値を渡すためのファイルです。
{
"params": [
{
"name": "k8sNamespace",
"value": "test-namespace"
},
{
"name": "imageName",
"value": "nginx:latest"
}
]
}
注意点として Application Manifest を生成する際、パラメータファイルは必須となります。パラメータを必要としない QVS Config を利用する場合は次のように パラメータのリストが空のパラメータファイルを用意してください。
{
"params": []
}
また、通常 QVS Config に記述された リモートの module を取得して利用しますが、-m
オプションを利用することでローカルのモジュールを利用するように動作を変更できます。
// e.g. カレントディレクトリをモジュールディレクトリとして指定してコンパイル実行
qvsctl manifest compile -c qvs.yaml -m .
出力先として末尾に拡張子がない文字列を指定した場合はディレクトリのパスとして扱い、ファイル名を manifests.yml
として Manifest を書き出します。拡張子がある場合はファイル名が指定されたパスとして扱いファイルを出力します。
オプション
-c, --qvsconfig string QVS Config のファイルパス
-m, --module-dir string ローカルのモジュールを利用する場合には、モジュールのディレクトリを指定
-o, --out string 生成した Application Manifest を出力するディレクトリまたはファイル (Default: output/)
-p, --param-file string Infrastructure Adapter に渡されるパラメータが記述された json ファイル (Default: ./params.json)