fpatron / Quilibrium-Toolkit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quilibrium Tools: Manage your Nodes with ease

This project provides a toolkit for simplifying the management of your Quilibrium nodes.
With these tools, you can perform essential actions and monitor multiple nodes effortlessly, saving you valuable time and ensuring smooth operation.
https://source.quilibrium.com/quilibrium/ceremonyclient.git

Overview

  • Centralized Management: manage multiple Quilibrium nodes from a single location, eliminating the need to interact with each node individually.
  • Simplified Actions: perform common tasks like installation, backup, retrieval of information and rewards, starting/stopping/rebooting nodes with a single command.
  • Flexibility: group your nodes for targeted management or manage them all at once.
  • Security: leverage Ansible's robust features to manage passwords securely using Ansible Vault (explained in detail later).
  • Built with Ansible: This toolkit utilizes the power of Ansible, a popular open-source automation tool, for efficient node management (https://github.com/ansible/ansible).

Quick start

  • Configure inventories/hosts.yml
  • Configure inventories/group_vars/all.yml
  • Launch the toolkit

Getting Started

  1. Install Ansible
apt install ansible
  1. Install Python 3
apt install python3
  1. Clone this repository: use git to clone this repository onto your local system.

How to use it?

The tools are provided as a script named qtools.sh. To use it, follow this syntax:

./qtools.sh <command> <target>
  • <command>: this defines the operation you want to perform on the target node(s).
  • <target>: this specifies the node(s) you want to target. It can be:
    • all: Applies the action to all nodes defined in your inventory file.
    • A group name defined in your inventory (e.g., quilibrium).
    • The hostname of a specific node (e.g., node01).

Commands details

Node commands

Command Description
install_node Installs a new Quilibrium node on the specified target(s).
See install and configure guide
install_tools Install a little tool to check node info on the node directly.
See install and configure guide
upgrade_node Upgrade Quilibrium node on the specified target(s).
See install and configure guide
setup_node Configure sysctl and Quilibrium API (config.yml) on the specified target(s).
See install and configure guide
create_service Install your Quilibrium node as a service (daemon) on the specified target(s).
See install and configure guide
backup_node Creates a backup of Quilibrium configuration files on the target node(s) and saves them locally in the ./backup folder.
See backup guide
restore_node Restore a backup of Quilibrium configuration files on the target node(s).
See backup guide
get_node_info Retrieves information about the Quilibrium node(s), such as its current max_frame, peer id...
See node info guide
get_node_reward Fetches information about the rewards earned by the Quilibrium node(s).
See node info guide
start_node Starts the Quilibrium node(s) on the specified target(s)..
stop_node Stops the Quilibrium node(s) running on the specified target(s)..
restart_node Restarts the Quilibrium node(s) on the specified target(s)..
reboot_node Reboots the specified target(s)..

Grafana commands

Command Description
install_grafana Supervise your node(s) with grafana and get all information about it

See "Supervise your node" guide for more information

Watchdog commands

Command Description
install_watchdog Monitor your node(s) and get notify about its/their status.
start_watchdog Start watchdog service on the specified target(s).
stop_watchdog Stop watchdog service on the specified target(s).

See "Monitor your node" guide for more information

Defining your nodes (inventory)

See "Defining your nodes" guide for more information

Secure your nodes

See "Secure your nodes" guide for more information

Migrate your existing nodes

See "How to migrate your existing node(s)" guide for more information

Docs

About

License:GNU Affero General Public License v3.0


Languages

Language:Python 63.9%Language:Shell 36.1%