# Overview

slingnode.ethereum\_node\_mgmt is an Ansible role that facilitates common management tasks on servers running Ethereum clients. It is designed to seamlessly work with nodes deployed using [slingnode.ethereum](http://localhost:5000/s/Ib9tX0kORM9rMi1DWQvF/) role.

The role supports the following tasks:

* validator key import (using command line or Key Manager API)
* Slashing protection DB import and export

The role uses ephemeral containers to carry out command line tasks. The management commands must be executed in the containers with the same configuration (image version, data directories, users, etc) as the Client containers. This is the default for the role and if you don't change any of the paths, you don't need to worry about any of that.

## Command line output

Importing keys using command line as well as importing/exporting slashing protection DB tasks execute commands in short lived containers. This poses a challenge knowing what whether the command executed successfully (the container exit status is the same regardles if the command was successfull or not). Implemented logging configuration addresses this issue. Refer to [Logging](/slingnode.ethereum_node_mgmt/logging.md) section.

The API based key import task executes directly on the managed host and does not use a container.

## Repositories

Ansible Galaxy: <https://galaxy.ansible.com/slingnode/ethereum_node_mgmt>

The source code: <https://github.com/SlingNode/slingnode-ansible-ethereum_node_mgmt>

Example playbooks: <https://github.com/SlingNode/slingnode-ethereum-examples>

## Supported client tasks

The role supports the same clients and Operating Systems as the slingnode.ethereum role. The table below shows supported tasks validator clients.

| Task               | Lighthouse | Prysm   | Teku    | Nimbus |
| ------------------ | ---------- | ------- | ------- | ------ |
| Key import         | CMD/API    | CMD/API | CMD/API | API    |
| Slashing DB import | CMD        | CMD     | CMD     | CMD    |
| Slashing DB export | CMD        | CMD     | CMD     | CMD    |

## Requirements

Ansible Docker module is required on the Ansible controller. It can be installed using the below command:

```sh
ansible-galaxy collection install community.docker:==3.8.0
```

## Contact

If you have any questions join our [Discord server](https://discord.gg/EPg7yfhmUU) or log a GitHub issue.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.slingnode.com/slingnode.ethereum_node_mgmt/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
