# Etap 006: Instalacja Agave + identity + start `solana-rpc` Cel etapu: domknąć bootstrap uruchomienia `solana-rpc` jako `solana` przez: 1. instalację binarki `agave-validator`, 2. wygenerowanie `identity.json` (jeśli brak), 3. start usługi `solana-rpc` i test endpointu RPC. ## Zakres - Rozszerzyć playbook o zadania instalacyjne Agave (idempotentnie). - Dodać provisioning `identity` jako użytkownik `solana`. - Utrzymać bezpieczny start: usługa uruchamiana tylko przy komplecie prereq. - Wykonać testy powdrożeniowe (`systemd`, port, JSON-RPC). ## Założenia - Bootstrap używa domyślnego bind `127.0.0.1` (bez publicznej ekspozycji RPC). - Produkcyjny bind na WG IP i hardening sieciowy będzie osobnym etapem. - Release tar z `agave-install` nie zawiera `agave-validator`, więc `agave-validator` budujemy ze źródeł (tag `v2.x`) i instalujemy do `/opt/solana/bin`. - Build wymaga pakietów dev, w tym `libclang`/`llvm` (Ansible instaluje je w playbooku). ## Kryteria akceptacji - `agave-validator` istnieje pod `/opt/solana/bin/agave-validator`. - `identity` istnieje pod `/var/lib/solana/identity.json` (owner `solana`). - `systemctl is-active solana-rpc` zwraca `active`. - Endpoint `http://127.0.0.1:8899` odpowiada na JSON-RPC. - Websocket (pubsub) jest na porcie `solana_rpc_port + 1` (czyli domyślnie `8900` przy `8899`).