From d68232e852fe06dadc6620f7e77fb86b78d7fe52 Mon Sep 17 00:00:00 2001 From: u1 Date: Fri, 6 Feb 2026 22:55:38 +0100 Subject: [PATCH] feat(ansible): add minimal doc-rpc sol bootstrap playbook --- ansible/ansible.cfg | 9 +++++++++ ansible/inventory/hosts.ini | 2 ++ ansible/playbooks/doc-rpc-sol-min.yml | 27 +++++++++++++++++++++++++++ doc/etap-001-doc-rpc-sol-ansible.md | 23 +++++++++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 ansible/ansible.cfg create mode 100644 ansible/inventory/hosts.ini create mode 100644 ansible/playbooks/doc-rpc-sol-min.yml create mode 100644 doc/etap-001-doc-rpc-sol-ansible.md diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg new file mode 100644 index 0000000..70c8a6b --- /dev/null +++ b/ansible/ansible.cfg @@ -0,0 +1,9 @@ +[defaults] +inventory = inventory/hosts.ini +host_key_checking = False +stdout_callback = yaml +interpreter_python = auto_silent +retry_files_enabled = False + +[ssh_connection] +pipelining = True diff --git a/ansible/inventory/hosts.ini b/ansible/inventory/hosts.ini new file mode 100644 index 0000000..59fea72 --- /dev/null +++ b/ansible/inventory/hosts.ini @@ -0,0 +1,2 @@ +[sol_rpc] +mevnode ansible_host=mevnode ansible_user=root diff --git a/ansible/playbooks/doc-rpc-sol-min.yml b/ansible/playbooks/doc-rpc-sol-min.yml new file mode 100644 index 0000000..588072a --- /dev/null +++ b/ansible/playbooks/doc-rpc-sol-min.yml @@ -0,0 +1,27 @@ +--- +- name: Minimal check for doc/rpc Sol host + hosts: sol_rpc + gather_facts: true + become: false + + tasks: + - name: Validate Ansible transport + ansible.builtin.ping: + + - name: Show host basics + ansible.builtin.debug: + msg: + - "inventory_hostname={{ inventory_hostname }}" + - "ansible_host={{ ansible_host | default('n/a') }}" + - "hostname={{ ansible_facts['hostname'] | default('n/a') }}" + - "os_family={{ ansible_facts['os_family'] | default('n/a') }}" + - "kernel={{ ansible_facts['kernel'] | default('n/a') }}" + + - name: Read uptime + ansible.builtin.command: uptime + register: uptime_cmd + changed_when: false + + - name: Print uptime + ansible.builtin.debug: + var: uptime_cmd.stdout diff --git a/doc/etap-001-doc-rpc-sol-ansible.md b/doc/etap-001-doc-rpc-sol-ansible.md new file mode 100644 index 0000000..7a656ad --- /dev/null +++ b/doc/etap-001-doc-rpc-sol-ansible.md @@ -0,0 +1,23 @@ +# Etap 001: Ansible bootstrap + minimalny playbook (`doc/rpc` Sol) + +Cel etapu: uruchomić pierwszy, bezpieczny playbook Ansible dla hosta RPC (`mevnode`) zgodnie z kierunkiem z `doc/rpc/*`. + +## Zakres + +1. Sprawdzić i zainstalować Ansible na VPS (control node), jeśli brak. +2. Dodać minimalną strukturę Ansible w `trade-iac`: + - inventory dla `mevnode`, + - minimalny playbook testowy (bez zmian destrukcyjnych). +3. Wykonać playbook z VPS i zweryfikować wynik. + +## Założenia + +- VPS ma działający alias SSH `mevnode` (lub `mvnode`) do hosta bare-metal. +- Wdrożenie docelowe będzie wykonywane z VPS (nie z k3s). +- Ten etap nie wdraża jeszcze pełnej konfiguracji Solana; to tylko bootstrap i test ścieżki IaC. + +## Kryteria akceptacji + +- `ansible-playbook --version` działa na VPS. +- Playbook kończy się statusem success dla grupy `sol_rpc`. +- Wynik zawiera podstawowe fakty hosta i potwierdzenie łączności Ansible.