Lima 管理下の仮想マシンに Ansible Playook を適用するための Ansible Dynamic Inventory を作ってみた
さくらインターネット Advent Calendar 2025 シリーズ 2 7日目の記事です。
Lima 管理下の仮想マシンに Ansible Playbook を適用するための Ansible Dynamic Inventory を作ってみました。
使い方
$ ansible-playbook -i ./limventory.py site.yml
仕組み
limactl list –format json コマンドで Lima 管理下の仮想マシンの情報を取得し Ansible Dynamic Inventory のパラメータを生成しています。 Ansible Playbook を適用する仮想マシンの絞り込みは Lima の env を変換して ansible-playbook コマンドの -l オプションで利用できるようにしています。
なんで作ったのか
Lima 管理下の仮想マシンで Ansible Playbook を開発しようとしたときに static inventroy ではチームメンバーが開発しようとしたときに、そのメンバーの手元の環境に合わせた static inventory に編集しなければならず Ansible Dynamic Inventory を使う必要がありそうだと考えました。 limactl コマンドのコマンドラインオプションを眺めてみたところ JSON で仮想マシンの情報を取得できることがわかり Ansible Dynamic Inventory を作りました。