Role Variables

This page describes the the main variables.

Role variables are defined in 'defaults'. This means they have the lowest precedence and can be easily overridden. See Ansible documentation for details on the precedence.

All client specific variables are defined in their corresponding variable file. All client specific variables have unique names (prefixed with clientname_) so there's no risk of a clash.

Variable locationPurpose


generic variables for the role; common variables for all clients


variables specific to the client


variables specific to the OS

Important variables

This section outlines variables that you will most likely want to modify.


"clients" variable defines what clients will be deployed. It defaults to geth and lighthouse. Possible values are:

  • execution: geth / nethermind / erigon / besu

  • consensus and validator: lighthouse, prysm, teku, nimbus

  execution: geth
  consensus: lighthouse
  validator: lighthouse

deploy_execution / deploy_consensus / deploy_validator

These three variables define which layer of the stack will be deployed. By default all three layers are deployed. Check out examples to see how they can be used.

deploy_execution: true
deploy_consensus: true
deploy_validator: true


By default set to true, the role will make sure the firewall package is installed and will configure rules for the client that is being deployed.

enable_firewall: true

This is meant to be a safe default for anyone who uses the role to deploy on a server that is directly exposed to the internet (for example an OVH bare metal server). It is expected that for more enterprise type of deployments this would be set to false. Refer to Host firewall section for details and notes on SSH port.


Specifies Ethereum network to connect to.

network: goerli


Enable/disable consensus client checkpoint sync feature. Defaults to "true" (sync from checkpoint).

consensus_checkpoint_sync_enabled: true

Refer to Checkpoint sync section for details.


Beacon endpoint to sync from. This needs to match the network you are deploying on - network variable. Defaults to Goerli.


Refer to Checkpoint sync section for details.


A priority fee recipient address on your validator client instance and consensus node.

suggested_fee_recipient: "0xa10214731A6D9eC03d36d1437796D1cEe6a061f7" 



Last updated