Skip to content

Install Common Pre-requisites

Following are the common prerequisite software/client/platforms etc. needed before you can start deploying/operating blockchain networks using Hyperledger Bevel.

Git Repository

GitOps is a key concept for Hyperledger Bevel, so a Git repository is needed for Bevel (this can be a GitHub repository as well). Fork or import the Bevel GitHub repo to this Git repository.

The Operator should have a user created on this repo with read-write access to the Git Repository.

Tip

Install Git Client Version > 2.31.0

Kubernetes

Hyperledger Bevel deploys the DLT/Blockchain network on Kubernetes clusters; hence, at least one Kubernetes cluster should be available. Bevel recommends one Kubernetes cluster per organization for production-ready projects. Also, a user needs to make sure that the Kubernetes clusters can support the number of pods and persistent volumes that will be created by Bevel.

Tip

For the current release Bevel has been tested on Amazon EKS with Kubernetes version 1.23.

Bevel has been tested on Kubernetes >= 1.19 and <= 1.23

Warning

Also, install kubectl Client version as per Kubernetes version v1.23.0

Please follow respective Cloud provider instructions, like for Amazon to set-up your required Kubernetes cluster(s). To connect to Kubernetes cluster(s), you will also need kubectl Command Line Interface (CLI). Refer here for installation instructions, although Hyperledger Bevel configuration code (Ansible scripts) installs this automatically.

HashiCorp Vault

In this current release, Hashicorp Vault is mandatory for Hyperledger Bevel as the certificate and key storage solution; hence, at least one Vault server should be available. Bevel recommends one Vault per organization for production-ready projects.

Follow official instructions to deploy Vault in your environment.

Tip

The recommended approach is to create one Vault deployment on one VM and configure the backend as cloud storage.

Warning

Vault version should be 1.13.1

Internet Domain

Hyperledger Bevel uses Ambassador Edge Stack or HAProxy Ingress Controller for inter-cluster communication. So, for the Kubernetes services to be available outside the specific cluster, at least one DNS Domain is required. This domain name can then be sub-divided across multiple clusters and the domain-resolution configured for each. Although for production implementations, each organization (and thereby each cluster), must have one domain name.

Tip

If single cluster is being used for all organizations in a dev/POC environment, then domain name is not needed.

Docker

Hyperledger Bevel provides pre-built docker images which are available on GitHub Repo. If specific changes are needed in the Docker images, then you can build them locally using the Docker files provided. A user needs to install Docker CLI to make sure the environment has the capability of building these Docker files to generate various docker images. Platform specific docker image details are mentioned here.

Tip

Hyperledger Bevel uses minimum Docker version 18.03.0

You can check the version of Docker you have installed with the following command from a terminal prompt:

docker --version

For storing private docker images, a private docker registry can be used. Information such as registry url, username, password, etc. can be configured in the configuration file like Fabric configuration file.