この記事は、Pulumi dotnet Advent Calendar 2019の22日目です。
あまりないのですが、時にすでにあるProjectとローカルのpulumiを紐づけたいときがあります。
そんなときにどうやればいいのか見ておきます。
TL;DR
- アカウントのProjectとの紐づけは、Pulumi.yamlで行っている
pulumi up
したディレクトリと同一名のstackがあればそれをつかい、なければ聞かれるのでそこで紐づける
Summary
Pulumiは、 Project - Stack
という構造で組まれています。
アカウントは複数のProjectを持つことができ、Projectは複数のStackを持つことができます。
そのため、手元のプロジェクトを、他のプロジェクトやStackと紐づけたい場合には、そのプロジェクトで明示したり、 pulumi up
時にstackの選択/stackの作成をする必要があります。
Pulumi Project の紐づけ
ローカルのPulumi定義を見てみると、Pulumi.yaml
とPulumi.STACKNAME.yaml
があります。
このうち、Pulumi Projectと現在のPulumi定義の紐づけを行っているのが、Pulumi.yamlです。
例えば、Project名にaws-sandbox、ランタイムにC#、概要をAWSサンドボックスのプロジェクトであることを明示するなら次のようになります。
name: aws-sandbox runtime: dotnet description: AWS Sandbox Project
このYAMLが定義の元であるため、Web上の表示はYAMLの内容で表示されます。
表示の更新タイミングは、pulumi up
時です。
Pulumi Stack の紐づけ
Stackは、具体的な定義ファイルで紐づいていません。
Web上にStateを持っているので、手元のプロジェクトをpulumi up
やpulumi stack select
で紐づけるだけです。
ローカルのPulumi定義とWebを紐づけるのは、configファイルで、Pulumi.STACKNAME.yaml
というルールで存在します。
例えば、awsのregionがap-northeast-1
であるStack ekscluster
では、次のようなYAMLファイルがあるでしょう。
config: aws:region: ap-northeast-1