|
3 | 3 | [//]: # (SPDX-License-Identifier: Apache-2.0)
|
4 | 4 | [//]: # (##############################################################################################)
|
5 | 5 |
|
6 |
| -<a name = "deploy-fabric-network-using-operator"></a> |
7 | 6 | # Deploy Fabric Network using Operator
|
8 | 7 |
|
9 |
| - - [Introduction](#introduction) |
10 |
| - - [Modifying Configuration File](#modifying-configuration-file) |
11 |
| - - [Run playbook](#run-playbook) |
12 |
| - |
13 | 8 | ## Introduction
|
14 |
| -The [bevel-operator-fabric](https://github.com/hyperledger/bevel-operator-fabric) provides a different approach to deploying the Fabric Network. It uses |
15 |
| -the kubernetes operator to deploy CAs, Orderers and Peers. |
16 |
| -This release supports bevel-operator-fabric version 1.9.0 and all the Fabric platforms supported by it. Also, chaincode and user/certificate management is not yet supported, there will be separate issues to handle this. Current implementation supports till Channel creation and joining. |
17 | 9 |
|
18 |
| -Due to open issues with bevel-operator-fabric, it is not recommended for Production workloads yet. |
| 10 | +The [bevel-operator-fabric](https://github.com/hyperledger/bevel-operator-fabric) provides a streamlined way to deploy a Fabric network. It leverages the Kubernetes operator to manage the deployment of Certificate Authorities (CAs), Orderers, and Peers. This guide covers the deployment process using _bevel-operator-fabric_ version **1.9.0** and the Fabric platforms it supports. |
| 11 | + |
| 12 | +!!! important |
| 13 | + |
| 14 | + Chaincode and user/certificate management are not yet supported by this Bevel release. There will be separate issues to address these features. The current implementation supports channel creation and joining. |
19 | 15 |
|
20 |
| ---- |
21 |
| -**NOTE**: The bevel-operator-fabric deployment has been tested only for Fabric 2.5.3 |
22 | 16 |
|
23 |
| ---- |
| 17 | +!!! note |
24 | 18 |
|
25 |
| -## Modifying Configuration File |
| 19 | + The bevel-operator-fabric automated deployment has been tested with Fabric 2.5.4. |
26 | 20 |
|
27 |
| -A Sample configuration file for deploying using bevel-operator-fabric is available [here](https://github.com/hyperledger/bevel/blob/main/platforms/hyperledger-fabric/configuration/samples/network-operator-fabric.yaml). Following are the main changes in this file from previous versions: |
| 21 | +## Understanding the Configuration File |
28 | 22 |
|
29 |
| -1. `network.env.type` must be `operator`. This is how Ansible will understand that bevel-operator-fabric will be used. |
30 |
| -2. `network.env.proxy` must be `istio` as no other proxy is supported by bevel-operator-fabric. |
31 |
| -3. Only `443` is supported as external port because that is what bevel-operator-fabric supports. |
32 |
| -4. `vault` and `gitops` sections are removed as they are not applicable. |
| 23 | +A Sample configuration file for deploying using _bevel-operator-fabric_ is available [here](https://github.com/hyperledger/bevel/blob/main/platforms/hyperledger-fabric/configuration/samples/network-operator-fabric.yaml). |
33 | 24 |
|
| 25 | +Here are the key changes from other versions: |
| 26 | + |
| 27 | +1. **`network.env.type`:** Must be set to `operator`. This tells Ansible to use _bevel-operator-fabric_ for deployment. |
| 28 | +1. **`network.env.proxy`:** Must be set to `istio` as _bevel-operator-fabric_ currently only supports Istio as a proxy. |
| 29 | +1. **External Port:** Only port `443` is supported for external access. |
| 30 | +1. **Removed Sections:** The `vault` and `gitops` sections are removed as they are not applicable to this deployment method. |
34 | 31 |
|
35 | 32 | ```yaml
|
36 | 33 | --8<-- "platforms/hyperledger-fabric/configuration/samples/network-operator-fabric.yaml:8:21"
|
37 | 34 | ..
|
38 | 35 | ..
|
39 | 36 | ```
|
40 | 37 |
|
| 38 | +For a comprehensive guide on the Fabric configuration file, refer to [this guide](../networkyaml-fabric.md). |
41 | 39 |
|
42 |
| -For generic instructions on the Fabric configuration file, refer [this guide](../networkyaml-fabric.md). |
| 40 | +## Running the Deployment Playbook |
43 | 41 |
|
44 |
| -<a name = "run-playbook"></a> |
45 |
| -## Run playbook |
| 42 | +After updating the `network.yaml` file with the necessary configurations, follow these steps to create your DLT network. |
46 | 43 |
|
47 |
| -After all the configurations are updated in the `network.yaml`, execute the following to create the DLT network |
48 |
| -``` |
49 |
| -# Run the provisioning scripts |
50 |
| -ansible-playbook platforms/shared/configuration/site.yaml -e "@./build/network.yaml" |
| 44 | +1. Run the provisioning scripts: |
| 45 | + ``` |
| 46 | + ansible-playbook platforms/shared/configuration/site.yaml -e "@./build/network.yaml" |
| 47 | + ``` |
51 | 48 |
|
52 |
| -``` |
53 |
| -The `site.yaml` playbook, in turn calls various playbooks depending on the configuration file and sets up your DLT/Blockchain network. |
| 49 | + The `site.yaml` playbook will call various other playbooks based on your configuration file and set up your DLT/Blockchain network. |
54 | 50 |
|
55 |
| -The [deploy-operator-network.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/hyperledger-fabric/configuration/deploy-operator-network.yaml) playbook can be used as well if the pre-requisites like Istio and krew is already installed. This can be done using the following command |
| 51 | +1. Alternative Deployment Method (Pre-requisites installed): |
56 | 52 |
|
57 |
| -``` |
58 |
| -ansible-playbook platforms/hyperledger-fabric/configuration/deploy-operator-network.yaml -e "@/path/to/network.yaml" |
59 |
| -``` |
| 53 | + If you have already installed and configured Istio and krew, you can use the [deploy-operator-network.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/hyperledger-fabric/configuration/deploy-operator-network.yaml) playbook: |
| 54 | + |
| 55 | + ``` |
| 56 | + ansible-playbook platforms/hyperledger-fabric/configuration/deploy-operator-network.yaml -e "@/path/to/network.yaml" |
| 57 | + ``` |
60 | 58 |
|
61 |
| -Refer to [bevel-operator-fabric docs](https://hyperledger.github.io/bevel-operator-fabric/) for details the operator and latest releases. |
| 59 | +## Manual Deployment |
| 60 | +For detailed information about the operator and latest releases, and also for manual deployment instructions, refer to the [bevel-operator-fabric documentation](https://hyperledger.github.io/bevel-operator-fabric/). |
0 commit comments