commit b7b02d8a8fa13fa336b70d3eb0d3e20735c20d13
parent 7b4d9ab14ea5474e2cc89df3badf603b9960b92d
Author: Minerva_juppiter <94231606+minerva-jupiter@users.noreply.github.com>
Date: Sat, 16 May 2026 22:36:19 +0900
Update README with Vulcanus Ansible playbook details
Added detailed documentation for Vulcanus Ansible playbook, including features, directory structure, prerequisites, and operational steps.
Diffstat:
| M | README.md | | | 53 | ++++++++++++++++++++++++++++++++++++++++++++++++++++- |
1 file changed, 52 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
@@ -1 +1,52 @@
-Here is Vulcanus to administrate my persoanl servers.
+# Vulcanus
+
+インフラ環境における複数OS(Debian, Ubuntu, Gentoo Linux)の一元的なパッケージアップデートを自動化するための Ansible プレイブック。
+
+## 特徴
+
+- **異種OS混在環境への対応**: `apt` を使用する Debian/Ubuntu 系と、`emerge` (Portage) を使用する Gentoo Linux のアップデートを単一のコマンドで並行実行。
+- **柔軟な権限昇格**: 一般ユーザーからの `sudo` による昇格に加え、ミニマル環境(`devcontainer` 等)における `doas` を用いた権限昇格にホスト単位で対応。
+
+## ディレクトリ構成
+
+```text
+ansible/
+├── inventory.ini # ホスト定義および接続・権限昇格設定
+├── site.yml # 全体制御プレイブック
+└── roles/
+ ├── debian_base/ # Debian/Ubuntu 向けパッケージ更新タスク
+ │ └── tasks/
+ │ └── main.yml
+ └── gentoo_base/ # Gentoo 向け Portage 同期・@world 更新タスク
+ └── tasks/
+ └── main.yml
+
+```
+
+## 事前準備
+
+### 1. SSH公開鍵の配置
+
+コントロールノードの公開鍵を、対象ホストの各接続ユーザー(`root` または `tetsu`)の `~/.ssh/authorized_keys` に事前に登録すること。
+
+### 2. インベントリの設定
+
+`inventory.ini` を環境に合わせて変更する。接続ユーザーや、`doas` を使用するホスト固有の設定はインベントリ内で定義する。
+
+## 運用・実行手順
+
+### 疎通確認 (Ping)
+
+すべての対象ホストに対してSSH経由で正常に介入できるかを確認する。
+
+```bash
+ANSIBLE_HOST_KEY_CHECKING=False ansible all -m ping -i inventory.ini
+```
+
+### アップデートの実行
+
+権限昇格(`sudo` / `doas`)のパスワード対話入力を有効にしてプレイブックを実行する。
+
+```bash
+ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i inventory.ini site.yml -K
+```