Pulumi+Ansibleのベストプラクティス
Pulumiでサーバタグを設定すれば、Ansibleでグループとして扱える
サーバ説明⽂にJSON⽂字を⼊れれば、Ansibleで変数として読める
// ホストの収集対象に設定・stack_dev or stack_prodのグループに追加する
const COMMON_SERVER_TAGS = ['__with_sacloud_inventory', 'stack_' + pulumi.getStack()];
const serverDesc = {
sacloud_inventory: {
hostname_type: 'nic0_ip', // ⾃動的に ansible_host=***.***.***.*** のように展開
host_vers: {
http_server_port: '8080', // Ansible内で参照する変数を定義
},
},
};
const server = new sakuracloud.Server('web-server-01', {
tags: [...COMMON_SERVER_TAGS, 'web_server'], // タグ
description: JSON.stringify(serverDesc), // 説明⽂
});