1.9 KiB
1.9 KiB
Bare metal (mevnode) jako IaC: runner na VPS
Cel: utrzymywać mevnode-baremetal (Solana RPC box) jako
IaC w Git, wdrażane z VPS.
Dlaczego z VPS:
- masz stały “runner” (k3s box), który i tak żyje 24/7,
- łatwiej ograniczyć dostęp do bare metalu (WireGuard + allowlist),
- nie mieszasz kluczy i narzędzi na laptopie.
Założenia
- Na VPS masz alias SSH
mevnode-baremetal(w~/.ssh/config). - Na bare metalu w
root/.ssh/authorized_keysjest publiczny klucz z VPS. - Repo
tradejest dostępne na VPS (clone).
Katalog IaC w repo
W tym repo jest starter Ansible:
infra/baremetal-solana-rpc/— Agave (systemd) + opcjonalny Geyser + monitoring.
Sekrety (identity keypair, tokeny) nie są w repo.
Setup na VPS (runner)
- Zainstaluj Ansible (Ubuntu/Debian na VPS):
sudo apt-get update
sudo apt-get install -y ansible- Clone repo (jeśli nie masz):
git clone <YOUR_REPO_URL> trade
cd trade- Uzupełnij inventory/vars (lokalne, nie commitujemy):
cd infra/baremetal-solana-rpc/ansible
cp inventory/hosts.ini.example inventory/hosts.ini
cp group_vars/solana_rpc.yml.example group_vars/solana_rpc.ymlDostosuj
group_vars/solana_rpc.ymlpod Wasz WireGuard IP, ścieżki danych i opcje Geyser.Wdroż:
ansible-playbook -i inventory/hosts.ini playbook.ymlCo to już robi (MVP)
- instaluje pakiety bazowe +
chrony, - przygotowuje usera
solana+ katalogi danych/logów, - wrzuca systemd unit
solana-rpc(Agave), - (opcjonalnie) wrzuca config Yellowstone i podpina plugin,
- instaluje monitoring (node_exporter + probe RPC) opisany w
doc/rpc/baremetal-monitoring.md.
Co dalej (kolejne warstwy)
- WireGuard + firewall (żeby RPC/WS/gRPC nie wisiały publicznie),
- ograniczenie
RPC/WSbind do WG IP, - rotacja logów / limity journald,
- backup identity keypair + runbook odtwarzania.