これはなに
Pulumi の新規 Project 作成に関して公式ドキュメントでは、AWS, Google Cloud, Azure, Kubernetes を管理する前提となっており、 pulumi new aws-typescript, pulumi new azure-typescriptと記述されている。
複数クラウドを管理したい場合や、クラウドを管理する目的以外に Pulumi を利用する場合、余計な設定など含まれてしまうため以下のように作成しているのでメモです。
Pulumi CLI のインストール
以下 URL を参考に Pulumi CLI をインストールしてください。
使用する Node をインストール
今回は、 v16.3.0 を nodenv1 経由で設定する。
nodenv install 16.3.0
Pulumi project 用のディレクトリを作成
今回は、 pulumi ディレクトリ内にセットアップしていく。
mkdir pulumi && cd pulumi
使用する Node のバージョンを固定
nodenv local を実行し .node-version を作成します
nodenv local 16.3.0
今後セットアップに yarn を利用する場合
以下コマンドを実行し yarn を install してください
npm i -g yarn
Pulumi project を作成
pulumi new で TypeScript Project を作成すると、デフォルトで npm を利用します。
yarn を利用したい場合は PULUMI_EXPERIMENTAL に true を設定します 2
それぞれコマンド実行後 package install が実行されるので気長に待ちます。
npm を利用する場合
pulumi new typescript
yarn を利用する場合
GitHub 等で公開されている Project template から Project を作成する場合は Project 側の設定に従ってください。
PULUMI_EXPERIMENTAL=true pulumi new typescript
コマンド実行後
Project のセットアップが終わると以下のようなディレクトリ構成になります。
drwxr-xr-x   11 mziyut  staff     352 Sep  5 22:24 .
drwxr-xr-x   14 mziyut  staff     448 Sep  5 22:21 ..
-rw-r--r--    1 mziyut  staff      21 Sep  5 22:22 .gitignore
-rw-r--r--    1 mziyut  staff       7 Sep  5 22:22 .node-version
-rw-r--r--    1 mziyut  staff      86 Sep  5 22:22 Pulumi.yaml
-rw-r--r--    1 mziyut  staff      42 Sep  5 22:22 index.ts
drwxr-xr-x  315 mziyut  staff   10080 Sep  5 22:33 node_modules
-rw-r--r--    1 mziyut  staff     253 Sep  5 22:33 package.json
-rw-r--r--    1 mziyut  staff     438 Sep  5 22:22 tsconfig.json
-rw-r--r--    1 mziyut  staff  135600 Sep  5 22:33 yarn.lock
ここまで実行すれば、最小構成の Pulumi project の作成は完了です。
