Hyperledger Fabric Charts
The structure below represents the Chart structure for Hyperledger fabric components in Hyperledger Bevel implementation.
/hyperledger-fabric
|-- charts
| |-- fabric-ca-server
| |-- fabric-catools
| |-- fabric-channel-create
| |-- fabric-cli
| |-- fabric-chaincode-install
| |-- fabric-chaincode-instantiate
| |-- fabric-channel-join
| |-- fabric-orderernode
| |-- fabric-peernode
| |-- fabric-chaincode-upgrade
| |-- verify_chaincode
| |-- zkkafka
Pre-requisites
helm to be installed and configured on the cluster.
CA tools
About
This folder consists CA tools helm charts which are used by the ansible playbooks for the deployment of the CA tools component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-catools
|-- templates
| |-- volumes.yaml
| |-- deployment.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values, will generate valid Kubernetes manifest files for CA tools implementation.
This folder contains following template files for CA tools implementation
deployment.yaml
This file is used as a basic manifest for creating a Kubernetes deployment for CA tools. The file basically describes the container and volume specifications of the CA tools
volume.yaml
This yaml is used to create persistent volumes claim for the Orderer deployment. A persistentVolumeClaim volume is used to mount a PersistentVolume into a Pod. PersistentVolumes provide a way for users to ‘claim’ durable storage without having the information details of the particular cloud environment. This file creates two persistentVolumeClaims, one for CA tools pvc and the other to store crypto config in the ca-tools-crypto-pvc persistent volume.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name etc.
values.yaml
This file contains the default configuration values for the chart.
Create channel
About
This folder consists of fabric-channel-create helm charts which are used by the ansible playbooks for the deployment of the fabric-channel-create component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-channel-create
|-- templates
| |--_helpers.tpl
| |-- create_channel.yaml
| |-- configmap.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values, will generate valid Kubernetes manifest files for Peer implementation.
This folder contains following template files for peer implementation
_helpers.tpl
This file doesn’t output a Kubernetes manifest file as it begins with underscore (_). And it’s a place to put template helpers that we can re-use throughout the chart. That file is the default location for template partials, as we have defined a template to encapsulate a Kubernetes block of labels for channels.
configmap.yaml
The configmap.yaml file through template engine generate configmaps. In Kubernetes, a ConfigMap is a container for storing configuration data. Things like pods can access the data in a ConfigMap. The configmap.yaml file creates two configmaps namely genesis-block-peer and peer-config. For fabric-channel-create component, it creates two configmaps, one for the channel creation having various data fields such as channel, peer and orderer details, and another for the generation of channel artifacts containing the channel transaction (channeltx) block and other labels.
create_channel.yaml
This file creates channel creation job where in the createchannel container the create channel peer commands are fired based on checking the results obtained from fetching channeltx block to see if channel has already been created or not. Additionally, the commands are fired based on the tls status whether it is enabled or not. The init container is used to setup vault configurations, and certificates are obtained from the volume mount paths.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name etc.
values.yaml
This file contains the default configuration values for the chart.
Install Chaincode
About
This folder consists of fabric-chaincode-install helm charts which are used by the ansible playbooks for the deployment of the fabric-chaincode-install component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-chaincode-install
|-- templates
| |--_helpers.tpl
| |-- install_chaincode.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values, will generate valid Kubernetes manifest files for install_chaincode implementation.
This folder contains following template files for install_chaincode implementation
_helpers.tpl
This fie doesn’t output a Kubernetes manifest file as it begins with underscore (_). And it’s a place to put template helpers that we can re-use throughout the chart. This file is the default location for template partials, as we have defined a template to encapsulate a Kubernetes block of labels for install_chaincodes.
install_chaincode.yaml
This yaml file basically creates a job for the installation of chaincode. We define containers where fabrictools image is pulled and chaincode install peer commands are fired. Moreover, the chart provides the environment requirements such as docker endpoint, peer and orderer related information, volume mounts, etc for the chaincode to be installed. The init container basically configures the vault with various vault parameters.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name, etc.
values.yaml
This file contains the default configuration values for the chart.
Instantiate Chaincode
About
This folder consists fabric-chaincode-instantiate helm charts, which are used by the ansible playbooks for the deployment of the fabric-chaincode-instantiate component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-chaincode-instantiate
|-- templates
| |--_helpers.tpl
| |-- instantiate_chaincode.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values, will generate valid Kubernetes manifest files for fabric-chaincode-instantiate implementation.
This folder contains following template files for fabric-chaincode-instantiate implementation
_helpers.tpl
This file doesn’t output a Kubernetes manifest file as it begins with underscore (_). And it’s a place to put template helpers that we can re-use throughout the chart. This file is the default location for template partials, as we have defined a template to encapsulate a Kubernetes block of labels for instantiate_chaincodes.
instantiate_chaincode.yaml
This yaml file basically creates a job for the instantiation of chaincode. We define containers where fabrictools image is pulled and based on the endorsement policies set, chaincode instantiate peer commands are fired. Moreover, the chart provides the environment requirements such as docker endpoint, peer and orderer related information, volume mounts, etc for the chaincode to be instantiated. The init container basically configures the vault with various vault parameter.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name, etc.
values.yaml
This file contains the default configuration values for the chart.
Join channel
About
This folder consists fabric-channel-join helm charts which are used by the ansible playbooks for the deployment of the fabric-channel-join component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-channel-join
|-- templates
| |--_helpers.tpl
| |-- join_channel.yaml
| |-- configmap.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which, when combined with values, will generate valid Kubernetes manifest files for Peer implementation.
This folder contains following template files for peer implementation
_helpers.tpl
This file doesn’t output a Kubernetes manifest file as it begins with underscore (_). And it’s a place to put template helpers that we can re-use throughout the chart. That file is the default location for template partials, as we have defined a template to encapsulate a Kubernetes block of labels for peers.
configmap.yaml
The configmap.yaml file through template engine generate configmaps. In Kubernetes, a ConfigMap is a container for storing configuration data. Things like pods, can access the data in a ConfigMap. The configmap.yaml file creates two configmaps namely genesis-block-peer and peer-config. For fabric-channel-join component, it creates two configmaps, one for the channel creation having various data fields such as channel, peer and orderer details, and another for the generation of channel artifacts containing the channel transaction (channeltx) block and other labels.
fabric-channel-join.yaml
This file creates channel join job where in the joinchannel container the commands are fired based on the tls status whether it is enabled or not wherein first the channel config is fetched and then the peers join the created channel. The init container is used to setup vault configurations. And certificates are obatined from the volume mount paths.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name, etc.
values.yaml
This file contains the default configuration values for the chart.
Orderer Chart
About
This folder consists Orderer helm charts which are used by the ansible playbooks for the deployment of the Orderer component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-orderernode
|-- templates
| |--_helpers.tpl
| |-- volumes.yaml
| |-- deployment.yaml
| |-- service.yaml
| |-- configmap.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values ,will generate valid Kubernetes manifest files for Orderer implementation.
This folder contains following template files for Orderer implementation
_helpers.tpl
This fie doesnt output a Kubernetes manifest file as it begins with underscore (_) .And its a place to put template helpers that we can re-use throughout the chart. That file is the default location for template partials ,as we have defined a template to encapsulate a Kubernetes block of labels for Orderers.
configmap.yaml
The configmap.yaml file through template engine generate configmaps.In Kubernetes, a ConfigMap is a container for storing configuration data.Things like pods, can access the data in a ConfigMap. The configmap.yaml file creates two configmaps namely genesis-block-orderer and orderer-config.
deployment.yaml
This file is used as a basic manifest for creating a Kubernetes deployment.For the Orderer node, this file creates orderer deployment.
service.yaml
This template is used as a basic manifest for creating a service endpoint for our deployment.This service.yaml creates orderer service endpoint
volume.yaml
This yaml is used to create persistent volumes claim for the Orderer deployment.A persistentVolumeClaim volume is used to mount a PersistentVolume into a Pod. PersistentVolumes provide a way for users to ‘claim’ durable storage without having the information details of the particular cloud environment. This file creates orderer-pvc for , the volume claim for Orderer.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name, etc.
values.yaml
This file contains the default configuration values for the chart.
Peer Chart
About
This folder consists Peer helm charts which are used by the ansible playbooks for the deployment of the Peer component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-peernode
|-- templates
| |--_helpers.tpl
| |-- volumes.yaml
| |-- deployment.yaml
| |-- service.yaml
| |-- configmap.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values, will generate valid Kubernetes manifest files for Peer implementation.
This folder contains following template files for peer implementation
_helpers.tpl
This file doesn’t output a Kubernetes manifest file as it begins with underscore (_). And it’s a place to put template helpers that we can re-use throughout the chart. That file is the default location for template partials, as we have defined a template to encapsulate a Kubernetes block of labels for peers.
configmap.yaml
The configmap.yaml file through template engine generate configmaps. In Kubernetes, a ConfigMap is a container for storing configuration data. Things like pods can access the data in a ConfigMap. The configmap.yaml file creates two configmaps namely genesis-block-peer and peer-config.
service.yaml
This template is used as a basic manifest for creating a service endpoint for our deployment. This service.yaml creates peer service endpoint.
volume.yaml
This yaml is used to create persistent volumes claim for the peer deployment. A persistentVolumeClaim volume is used to mount a PersistentVolume into a Pod. PersistentVolumes provide a way for users to ‘claim’ durable storage without having the information details of the particular cloud environment. This file creates peer-pvc for the volume claim for peer.
deployment.yaml
This file is used as a basic manifest for creating a Kubernetes deployment. For the peer node, this file creates three deployments namely ca, ca-tools and peer.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name, etc.
values.yaml
This file contains the default configuration values for the chart.
Upgrade Chaincode
About
This folder consists of fabric-chaincode-upgrade helm charts, which are used by the ansible playbooks for the deployment of the fabric-chaincode-upgrade component. The folder contains a templates folder, a chart file and a value file.
Folder Structure
/fabric-chaincode-upgrade
|-- templates
| |--_helpers.tpl
| |-- upgrade_chaincode.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values, will generate valid Kubernetes manifest files for fabric-chaincode-upgrade implementation.
This folder contains following template files for fabric-chaincode-upgrade implementation
_helpers.tpl
This file doesn’t output a Kubernetes manifest file as it begins with underscore (_). And it’s a place to put template helpers that we can re-use throughout the chart. This file is the default location for template partials, as we have defined a template to encapsulate a Kubernetes block of labels for upgrade_chaincodes.
upgrade_chaincode.yaml
This yaml file basically creates a job for the upgradation of chaincode. We define containers where fabrictools image is pulled and based on the endorsement policies set, chaincode upgrade peer commands are fired. Moreover, the chart provides the environment requirements such as docker endpoint, peer and orderer related information, volume mounts, channel information, etc, for the chaincode to be upgraded. The init container basically configures the vault with various vault parameter.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion ,name etc.
values.yaml
This file contains the default configuration values for the chart.
zkkafka
About
This folder consists zkkafka helm charts which are used by the ansible playbooks for the deployment of the zkkafka component. The folder contains a templates folder,a chart file and a value file.
Folder Structure
/zkkafka
|-- templates
| |--_helpers.tpl
| |-- volumes.yaml
| |-- deployment.yaml
| |-- service.yaml
|-- Chart.yaml
|-- values.yaml
Charts description
templates
This folder contains template structures which when combined with values, will generate valid Kubernetes manifest files for zkkafka implementation.
This folder contains following template files for zkkafka implementation
_helpers.tpl
This file doesn’t output a Kubernetes manifest file as it begins with underscore (_). And it’s a place to put template helpers that we can re-use throughout the chart. That file is the default location for template partials, as we have defined a template to encapsulate a Kubernetes block of labels for zkkafkas.
deployment.yaml
This file is used as a basic manifest for creating a Kubernetes deployment.For the zkkafka node, this file creates zkkafka deployment.
service.yaml
This template is used as a basic manifest for creating a service endpoint for our deployment. This service.yaml creates zkkafka service endpoint
volume.yaml
This yaml is used to create persistent volumes claim for the zkkafka deployment. A persistentVolumeClaim volume is used to mount a PersistentVolume into a Pod. PersistentVolumes provide a way for users to ‘claim’ durable storage without having the information details of the particular cloud environment. This file creates zkkafka pvc for the volume claim for zkkafka.
Chart.yaml
This file contains the information about the chart such as apiversion, appversion, name, etc.
values.yaml
This file contains the default configuration values for the chart.