A collection of reusable ansible components used by the EthPandaOps team.
- beaconchain_explorer_aio
- blockscout
- cl_bootnode
- dshackle
- dugtrio
- ethereum_auth_jwt
- ethereum_genesis
- ethereum_metrics_exporter
- ethstats
- goomy
- mev_boost
- mev_relay
- mev_rs
- powfaucet
- snapshotter
- xatu_sentry
- bootstrap
- docker_cleanup
- docker_network
- docker_nginx_proxy
- firewall
- json_rpc_snooper
- k3s
- litestream
- logsprout
- oh_my_zsh
- prometheus
- s3_cron_backup
- traffic_control
- vector
Currently we're not publishing the collection to Ansible Galaxy. We'll do that once it grows bigger.
To install the collection directly from our git repository you can do the following:
ansible-galaxy collection install git+https://github.com/ethpandaops/ansible-collection-general.git,masterOr using a requirements.yml file that looks like:
collections:
- name: ethpandaops.general
source: https://github.com/ethpandaops/ansible-collection-general.git,master
type: gitThen run the following command:
ansible-galaxy install -r requirements.ymlClone the repository. Make sure that you follow that directory structure, otherwise ansible test won't work:
git clone [email protected]:ethpandaops/ansible-collection-general.git ansible_collections/ethpandaops/generalIf you want to test and develop on this ansible collection you'll need some tools. We're using asdf to commit to certain versions of those tools. Some additional python specific tools are defined in the requirements.txt.
Make sure you have asdf installed and then you can run the ./setup.sh script which will install all required tools.
For linting and sanity checks you can run the following commands:
ansible-lint
ansible-test sanitySome roles have molecule tests inside. You can check this if a role has a molecule directory within. To run molecule ona given role you can do the following:
cd roles/blockscout
molecule testIf you want to test the ethereum_node role with molecule, you can pass it the specific execution and consensus clients via ENV vars:
cd roles/ethereum_node
EXECUTION_CLIENT=geth CONSENSUS_CLIENT=lighthouse molecule test