Obol's Ansible Playbooks
- Ansible 2.13.2+
For installing and setting up Ansible please refer to the setup guide
### Charon Node
A distributed validator node is a machine running:
- An Ethereum Execution client
- An Ethereum Consensus client
- An Ethereum Distributed Validator client [This playbook]
- An Ethereum Validator client
You have the followin charon node artifacts generated locally under a .charon folder:
- validator-keys
- charon-enr-private-key
- cluster-lock
ansible-playbook -e config.beacon_node_endpoints=<beacon_node_endpoints> -i <hosts.yml> charon-node.yml
- Update the validator client to connect to charon node API endpoint instead of the beacon node endpoint --beacon-node-api-endpoint="http://charon0:3600"
### Charon Cluster
A distributed validator cluster is a docker-compose file with the following containers running:
- Single execution layer client
- Single consensus layer client
- Number of Distributed Validator clients [This playbook]
- Number of Validator clients
- Prometheus, Grafana and Jaeger clients for monitoring this cluster.
- Distributed Validator Cluster
You have the followin charon artifacts generated locally under a .charon folder per each node:
- nodeX/validator-keys
- nodeX/charon-enr-private-key
- nodeX/cluster-lock
Install the dependant ansible packages by running:
ansible-galaxy install -r requirements.yml
ansible-playbook -e config.beacon_node_endpoints=<beacon_node_endpoints> -i <hosts.yml> charon-cluster.yml
- Update each validator client to connect to charon node API endpoint instead of the beacon node endpoint --beacon-node-api-endpoint="http://charon``:3600"