Deployer for Hyperledger Fabric networks onto Kubernetes
Project description
[![Known Vulnerabilities](https://snyk.io/test/github/aidtechnology/nephos/badge.svg?targetFile=requirements.txt)](https://snyk.io/test/github/aidtechnology/nephos?targetFile=requirements.txt) [![<Sonarcloud quality gate>](https://sonarcloud.io/api/project_badges/measure?project=aidtechnology_nephos&metric=alert_status)](https://sonarcloud.io/dashboard?id=aidtechnology_nephos)
# nephos
Library to deploy Hyperledger Fabric projects to Kubernetes.
Source resides here: https://github.com/aidtechnology/nephos Documentation resides here: https://nephos.readthedocs.io
[Prerequisites](#prerequisites)
- [Installation](#installation)
[Pip](#pip)
- [Git repository](#git-repository)
[Virtual environment](#virtual-environment)
[Requirements](#requirements)
- [Testing](#testing)
[Unit tests](#unit-tests)
[Usage](#usage)
## Prerequisites
This library requires an existing Kubernetes cluster.
For best results, use a real cluster (e.g. on a cloud like AWS, GCP, Azure, IBM Cloud, etc.). However, you may also use [Minikube](https://kubernetes.io/docs/setup/minikube/).
Either way, you will need to have the following tools installed:
[python 3.7.0](https://www.python.org/downloads/release/python-370/) or above
[kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
## Installation
### Pip
You can install nephos from PyPI by running:
pip install nephos
### Git repository
You can also download the git repository with:
And work locally by installing the following:
#### Virtual environment
This library currently only supports Python 3:
python3 -m venv ./venv
source ./venv/bin/activate
#### Requirements
All requirments are held in the requirements.txt file
pip install -r requirements.txt
## Testing
### Unit tests
Once you have all requirments installed, all the unit tests should pass:
PYTHONPATH=. pytest –cov=. –cov-report term-missing
## Usage
To use nephos, run the deploy.py executable CLI script.
For instance, you can see available commands/options by running:
./nephos/deploy.py –help
To install a full end-to-end fabric network, you can run:
./nephos/deploy.py -f ./PATH_TO_YOUR_SETTINGS/file.yaml fabric
You can also upgrade a network:
./nephos/deploy.py –upgrade -f ./PATH_TO_YOUR_SETTINGS/file.yaml fabric
## Examples
Example of development/QA/production(-ish) networks are provided in the examples folder.
To run the dev example from the git repository, use this command:
./nephos/deploy.py –verbose -f ./examples/dev/nephos_settings.yaml fabric
For the QA and production examples, you will need to replace the CA hostname to one pointing to your K8S cluster Ingress Controller (e.g. NGINX or Traefik) IP address.
For instance, you may wish to install an ingress controller and a certificate manager. We include in the repository two example Cluster Issuers (you will need to modify the email field in them) for the cert-manager deployment:
helm install stable/nginx-ingress -n nginx-ingress –namespace ingress-controller
helm install stable/cert-manager -n cert-manager –namespace cert-manager
kubectl create -f ./examples/certManagerCI_staging.yaml
kubectl create -f ./examples/certManagerCI_production.yaml
To use the Composer examples, you will need a Cloud system capable of a “ReadWriteMany” policy (e.g. “azurefile” on Azure).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nephos-0.2.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78654a8e600a143283274fbabad491f3f1eb6434ee7ca9430f68ea8c161b7947 |
|
MD5 | 98ac98d5fefe74b44344d3b93c577462 |
|
BLAKE2b-256 | 34523e19e0fb246fea702945fd96ea6fb480a8b16c957b01af029348de7b857f |