Ansible role for nimbus-fluffy client
https://github.com/status-im/nimbus-eth1
9e6a5a1784
This is now done with infra-role-open-ports from the infra-nimbus repository and playbook related to fluffy. Signed-off-by: markoburcul <marko@status.im> |
||
---|---|---|
defaults | ||
files | ||
handlers | ||
meta | ||
tasks | ||
templates | ||
README.md |
README.md
Description
This role provisions a Nimbus Fluffy Eth1 node.
Introduction
The role will:
- Checkout a branch from the nimbus-eth1 repo
- Build it using the
build.sh
Bash script - Schedule regular builds using Systemd timers
- Start a node by defining a Systemd service
Ports
The service exposes three ports by default:
9009
- DevP2P UDP peering port. Must ALWAYS be public.9200
- Prometheus metrics port. Should not be public.9900
- JSON RPC port. Must NEVER be public.
Installation
Add to your requirements.yml
file:
- name: infra-role-nimbus-fluffy
src: git+git@github.com:status-im/infra-role-nimbus-fluffy.git
scm: git
Configuration
The crucial settings are:
# branch which should be built
nimbus_fluffy_repo_branch: 'master'
# Portal network to connect to
nimbus_fluffy_network: 'mainnet'
# optional setting for debug mode
nimbus_fluffy_log_level: 'DEBUG'
Management
Service
Assuming the stable
branch was built you can manage the service with:
sudo systemctl start nimbus-fluffy-master
sudo systemctl status nimbus-fluffy-master
sudo systemctl stop nimbus-fluffy-master
You can view logs under:
tail -f /data/nimbus-fluffy-master/logs/service.log
All node data is located in /data/nimbus-fluffy-master/data
.
Builds
A timer will be installed to build the image:
> sudo systemctl list-units --type=service '*nimbus-fluffy-*'
UNIT LOAD ACTIVE SUB DESCRIPTION
nimbus-fluffy-master.service loaded active running Nimbus Eth1 Fluffy node (master)
nimbus-fluffy-debug.service loaded active running Nimbus Eth1 Fluffy node (debug)
To rebuild the image:
> sudo systemctl start build-nimbus-fluffy-master
> sudo systemctl status build-nimbus-fluffy-master
● nimbus-fluffy-master-build.service - Build nimbus-fluffy-master
Loaded: loaded (/etc/systemd/system/nimbus-fluffy-master-build.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2021-09-29 12:00:12 UTC; 2h 15min ago
TriggeredBy: ● nimbus-fluffy-master-build.timer
Docs: https://github.com/status-im/infra-role-systemd-timer
Process: 1212987 ExecStart=/data/nimbus-fluffy-master/build.sh (code=exited, status=0/SUCCESS)
Main PID: 1212987 (code=exited, status=0/SUCCESS)
Sep 29 12:00:12 build.sh[1213054]: HEAD is now at f782327f reimplement engine API rpc kiln spec v2
Sep 29 12:00:12 build.sh[1212987]: >>> Binary already built
Sep 29 12:00:12 systemd[1]: nimbus-fluffy-master-build.service: Succeeded.
Sep 29 12:00:12 systemd[1]: Finished Build nimbus-fluffy-master.
To check full build logs use:
journalctl -u build-nimbus-fluffy-master.service
Requirements
Due to being part of Status infra this role assumes availability of certain things:
- The
iptables-persistent
module