We are happy to announce that we have released our first project! A couple of months ago we set out to create an Infrastructure as Code project (IaC) for Ethereum. The aim of the project is to enable deployment of Ethereum nodes at scale using IaC. We began by writing Terraform code but quickly realized we first needed a consistent way of deploying and configuring the Ethereum clients. This led us to developing an Ansible role, which, morphed into 4 roles. Last week we released the first one.
slingnode.ethereum
slingnode.ethereum is an Ansible role that facilitates deployment of Ethereum clients. Its objective is to enable a consistent way of deploying and upgrading the chosen client mix. The role can be used to deploy:
- a single node running execution, consensus and validator layers
- hundreds of nodes running all three layers
- a distributed set up with each layer running on a separate server on a single or hundreds of servers
- change client mix (as seamlessly as this can be done)
- upgrade clients
The best place to start is by reading the documentation:
https://docs.slingnode.com/slingnode.ethereum/
View the role on Ansible-Galaxy:
https://galaxy.ansible.com/slingnode/ethereum
Review the source code and contribute on GitHub:
https://github.com/SlingNode/slingnode-ansible-ethereum
Check out examples:
https://github.com/SlingNode/slingnode-ethereum-examples
What’s next?
We’re planning on releasing three more roles:
- node management – carry out various operational tasks
- observability – out of the box Ethereum node monitoring stack
- security – SELinux policy slingnode.ethereum nodes
We are excited! It’s taken us many hours of work to get to this point but it should be all downhill from here!
Leave a comment