Skip to content

The installer for the Contributoor service; a monitoring and data-gathering tool that helps improve Ethereum’s network visibility

License

Notifications You must be signed in to change notification settings

ethpandaops/contributoor-installer

Repository files navigation

contributoor-installer

This repository contains the installer for the contributoor service, which collects data from Ethereum consensus clients.

Getting Started

🔒 Installation

Download and inspect the installation script before running:

# Download the script.
curl -O https://raw.githubusercontent.com/ethpandaops/contributoor-installer/refs/heads/master/install.sh

# Inspect the script contents.
less install.sh

# Make it executable and run if you're satisfied with the contents.
chmod +x install.sh && ./install.sh
⚡ Quick Installation

If you trust the source, you can run this one-liner:

curl -O https://raw.githubusercontent.com/ethpandaops/contributoor-installer/refs/heads/master/install.sh && chmod +x install.sh && ./install.sh

🐳 With Eth-Docker

If you're using eth-docker, setup is as follows:

  • Run ./ethd update
  • Then edit your .env file:
    • add :contributoor.yml to the end of COMPOSE_FILE variable
    • add CONTRIBUTOOR_USERNAME variable and set it to your username
    • add CONTRIBUTOOR_PASSWORD variable and set it to your password
  • Run ./ethd update
  • Run ./ethd up

You can read more about configuring eth-docker here.

🚀 With Rocketpool Smart Node

  • Install contributoor via the Install Script

  • During the Contributoor setup:

    • Set Beacon Node Address to http://eth2:5052
    • Set Optional Docker Network to rocketpool_net

    Note: These can also be set later contributoor config

  • Run contributoor start

⎈ With Kubernetes (Helm)

Contributoor can be deployed on Kubernetes using the Helm chart from the ethereum-helm-charts repository.

# Add the Helm repository
helm repo add ethereum-helm-charts https://ethpandaops.github.io/ethereum-helm-charts

# Update your repositories
helm repo update

# Install contributoor
helm install contributoor ethereum-helm-charts/contributoor

For more details and configuration options, see the contributoor chart documentation.

😔 Uninstall

Uninstalling contributoor can be done by running the installer with the -u flag:

curl -O https://raw.githubusercontent.com/ethpandaops/contributoor-installer/refs/heads/master/install.sh && chmod +x install.sh && ./install.sh -u

⚙️ Post-Installation

Note: you may need to start a new shell session before you can run the contributoor command.

After installation, Contributoor can be managed using these commands:

contributoor start    # Start the service
contributoor stop     # Stop the service
contributoor status   # Check service status
contributoor restart  # Restart the service
contributoor config   # View/edit configuration
contributoor update   # Update to latest version
contributoor logs     # Show logs

If you chose to install contributoor under a custom directory, you will need to specify the directory when running the commands, for example:

contributoor --config-path /path/to/contributoor start

🔨 Development

Go Tests

Execute the full test suite:

go test ./...

Run short tests only:

go test -test.short ./...

Run with coverage:

go test -failfast -cover -coverpkg=./... -coverprofile=coverage.out ./... && go tool cover -html=coverage.out
Shell Tests

Requires bats:

bats *.bats

For test coverage (requires kcov):

kcov --bash-parser="$(which bash)" --include-pattern=install.sh /path/to/coverage/output bats --tap install.bats

🤝 Contributing

Contributoor is part of EthPandaOps' suite of tools for Ethereum network operations. Contributions are welcome! Please check our GitHub repository for more information.

About

The installer for the Contributoor service; a monitoring and data-gathering tool that helps improve Ethereum’s network visibility

Resources

License

Stars

Watchers

Forks