Skip to content

Additional Pre-requisites for own Ansible Controller

Tip

These are not needed when using bevel-build container as these comes pre-packaged.

Ansible

Hyperledger Bevel configuration is essentially Ansible scripts, so install Ansible on the machine from which you will deploy the DLT/Blockchain network. This can be a local machine as long as Ansible commands can run on it.

As per our sequence diagram, this machine (also called Ansible Controller) should have connectivity to the Kubernetes cluster(s) and the Hashicorp Vault service(s). And it is essential to install the git client on the Ansible Controller.

Warning

Minimum Ansible version should be 2.12.6 with Python3

Also, Ansible k8s module requires the openshift python package (>= 0.12.0) and some collections and jq. Install them with following commands

pip3 install openshift==0.13.1
ansible-galaxy install -r platforms/shared/configuration/requirements.yaml
apt-get install -y jq       #Run equivalent for Mac or Linux

Tip

Ansible requires GNU tar. Install it on MacOS through Homebrew brew install gnu-tar

Configuring Ansible Inventory file

In Hyperledger Bevel, we connect to Kubernetes cluster through the Ansible Controller and do not modify or connect to any other machine directly. Hyperledger Bevel's sample inventory file is located here.

Add the contents of this file in your Ansible host configuration file (typically in file /etc/ansible/hosts).

Read more about Ansible inventory here.

NPM

Hyperledger Bevel provides the feature of automated validation of the configuration file (network.yaml), this is done using ajv (JSON schema validator) cli. The deployment scripts install ajv using npm module which requires npm as prerequisite.

You can install the latest NPM version from official site.

Note

Bevel needs npm version >= 8.15.0