GithubHelp home page GithubHelp logo

ansible-role-rsk-node's Introduction

Ansible

Introduction

This role was made with the main purpouse of deployng the RSKj node in hosts provisioned by the rsk-node Terraform module.

How to use

Add the server(s) to the inventory, modify variables to suits your needs and run playbook like this:

$ ansible-playbook -i inventory -u ubuntu deploy-rsk-node.yml

Tasks

Installs and a configure a released rskj version.

  • Installs OpenJDK.
  • Adds rsk user for running rskj.
  • Creates required directories and sets the right ownership.
  • Fetches released RSK version and checks its PGP signature.
  • Fetches a specific build of RSK available in some artifacts repo.
  • Copies configuration files.
  • Adds rsk SystemD service and ensures it's up and running.

Group vars

  • rsk_network: the symbolic name of the network. Must be one of MainNet, TestNet or RegTest.
  • rsk_blockchain_name: the name of the network as expected by blockchain.config.name configuration option. Must be one of main, testnet or regtest.

Files

  • AEIDELMAN.txt, rsk-release-signing-key.asc: PGP signing keys.
  • logback.xml: logging configuration file.

Handlers

  • Restart RSK: triggered on JAR change or configurations changes.

Templates

  • node.conf.j2: rskj config file. Sets blockchain.name and database.dir, overrides default peer.connection.timeout, adds host's DNS name and all its IP addresses for RPC.
  • rsk.env.j2: options for overriding rsk.system SystemD unit file values, to avoid running systemctl daemon-reload after modifying the service file.
  • rsk.system.j2: SystemD unit file for RSK.

Defaults

  • rskj_install_dir: where rsk.jar is stored.

  • rskj_workdir: where to download RSK JAR and PGP keys for verification.

  • rskj_cfg_dir: where RSK config files are stored.

  • rskj_data_dir: where RSK DB is stored.

  • rskj_logs_dir: where RSK logs are stored.

  • rskj_release_download_base_url: URLs to fetch the JAR.

  • rskj_version_number, rskj_version_codename: the RSK release version number and codename, used to compute the release tag and the release JAR name.

  • rskj_release_tag, rskj_download_jar: computed from previous.

ansible-role-rsk-node's People

Contributors

juan-rsk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.