Files
ansible-role-monero/README.md
T
claudeandClaude Opus 5.5 46aec42185 Move RPC login to a Secret, put P2Pool on a selectable sidechain
The monerod RPC login was in both Deployments' args, readable by anyone who
can read Deployments. It now lives in the monerod-rpc Secret and reaches the
containers through an env var.

P2Pool now runs on monero_p2pool_chain, defaulting to nano. On main the
miners found a share about every 6 days and missed most PPLNS windows.
The hardcoded main-chain peer only applied to main, so peers are a variable.

monerod's RPC SSL is now autodetect: Shkeeper's Monero module always uses
plain HTTP, so with SSL required it saw the node as Offline and hid XMR.

Also: Deployments use apps/v1, monerod's ZMQ binds 0.0.0.0 to match the
live deployment (P2Pool connects from its own pod), required variables are
checked up front, and the README describes the role.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 11:46:16 -05:00

1.1 KiB

ansible-role-monero

Deploys a Monero node (monerod) and a P2Pool node to Kubernetes, in the monero namespace. Miners point xmrig at the P2Pool service on port 3333.

Role Variables

Required, from Vault:

  • monerod_user, monerod_password: monerod's RPC login. Stored in the monerod-rpc Secret and passed to both containers through an environment variable, so it doesn't show in the Deployment specs.
  • monero_p2pool_wallet_address: the address P2Pool pays out to.

Optional:

  • monero_p2pool_chain (default nano): main, mini or nano. Match it to your total hashrate; see the note in defaults/main.yml. Switching chains starts from zero shares on the new chain, and shares on the old one stop earning once they leave its PPLNS window.
  • monero_p2pool_addpeers (default []): extra P2Pool peers as host:port. They must be on the same chain.

Example Playbook

- hosts: alpha-control-plane
  become: true
  vars_files:
    - ../secrets.yaml
  roles:
    - role: ericomeehan.monero

License

MIT-0