From 2bb184cdb1cceb02787442644b235b8a72675f8e Mon Sep 17 00:00:00 2001 From: alvaropicazo Date: Mon, 8 Jul 2024 08:53:14 +0000 Subject: [PATCH] feat(docs): Add helm charts installation guide for ops Signed-off-by: alvaropicazo --- docs/mkdocs.yml | 7 +- docs/source/guides/besu/add-new-member-org.md | 105 ++++++++++++------ .../guides/besu/add-new-validator-node.md | 79 +++++++------ docs/source/guides/corda/add-new-org.md | 83 +++++++++----- docs/source/guides/fabric/add-new-channel.md | 2 +- .../guides/{ => indy}/indy-add-new-org.md | 0 docs/source/guides/quorum-add-new-org.md | 66 ----------- .../guides/quorum/quorum-add-new-org.md | 92 +++++++++++++++ 8 files changed, 265 insertions(+), 169 deletions(-) rename docs/source/guides/{ => indy}/indy-add-new-org.md (100%) delete mode 100644 docs/source/guides/quorum-add-new-org.md create mode 100644 docs/source/guides/quorum/quorum-add-new-org.md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7c498c06490..7e6eed44ecf 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -145,9 +145,10 @@ nav: - guides/besu/add-new-validator-org.md - guides/besu/setup-cactus-connector.md - guides/besu/setup-onchain-permissioning.md - - Other Operations: - - guides/indy-add-new-org.md - - guides/quorum-add-new-org.md + - Quorum Operations: + - guides/quorum/quorum-add-new-org.md + - Indy Operations: + - guides/indy/indy-add-new-org.md - References: - Commands: references/commands.md - Troubleshooting: references/troubleshooting.md diff --git a/docs/source/guides/besu/add-new-member-org.md b/docs/source/guides/besu/add-new-member-org.md index 05c58aa78d4..e3eac3b1a2d 100644 --- a/docs/source/guides/besu/add-new-member-org.md +++ b/docs/source/guides/besu/add-new-member-org.md @@ -3,62 +3,93 @@ [//]: # (SPDX-License-Identifier: Apache-2.0) [//]: # (##############################################################################################) - -# Adding a new member organization in Besu +# Add a new member to an existing organization - - [Prerequisites](#prerequisites) - - [Create Configuration File](#create-configuration-file) - - [Run playbook](#run-playbook) +This guide explains how to add a new validator node to an existing organization in a Hyperledger Besu network using two methods: - -## Prerequisites -To add a new organization in Besu, an existing besu network should be running, enode information of all existing nodes present in the network should be available, genesis file should be available in base64 encoding and the information of besu nodes should be available. The new node account should be unlocked prior adding the new node to the existing besu network. +1. Using the `site.yaml` playbook: This playbook involves running an Ansible playbook that automates the process of adding a new org to the network. -!!! important +1. Using `helm install`: This method involves using the `helm install` commands to directly add a new org to the network. - Addition of a new organization has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. +## Method 1: Using the `site.yaml` playbook -!!! note +1. **Prerequisites** - The guide is only for the addition of member organization in existing besu network. + To add a new organization in Besu, an existing besu network should be running, enode information of all existing nodes present in the network should be available, genesis file should be available in base64 encoding and the information of besu nodes should be available. The new node account should be unlocked prior adding the new node to the existing besu network. ---- + !!! important - -## Create Configuration File + Addition of a new organization has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. -Refer [this guide](../networkyaml-besu.md) for details on editing the configuration file. + !!! note -The `network.yaml` file should contain the specific `network.organization` details along with the enode information, genesis file in base64 encoding and tessera transaction manager details + The guide is only for the addition of member organization in existing besu network. -!!! note +1. **Update network.yaml file** - Make sure that the genesis flie is provided in base64 encoding. Also, if you are adding node to the same cluster as of another node, make sure that you add the ambassador ports of the existing node present in the cluster to the network.yaml + Refer [this guide](../networkyaml-besu.md) for details on editing the configuration file. -For reference, sample `network-besu-new-memberorg.yaml` file [here](https://github.com/hyperledger/bevel/blob/main/platforms/hyperledger-besu/configuration/samples/network-besu-new-memberorg.yaml) + The `network.yaml` file should contain the specific `network.organization` details along with the enode information, genesis file in base64 encoding and tessera transaction manager details -```yaml ---8<-- "platforms/hyperledger-besu/configuration/samples/network-besu-new-memberorg.yaml:1:152" -``` + !!! note -Three new sections are added to the network.yaml + Make sure that the genesis flie is provided in base64 encoding. Also, if you are adding node to the same cluster as of another node, make sure that you add the ambassador ports of the existing node present in the cluster to the network.yaml -| Field | Description | -|-------------|----------------------------------------------------------| -| tm_nodes | Existing network's transaction manager nodes' public addresses with nodeport.| -| besu_nodes | Existing network's besu nodes' public addresses with rpc port.| -| genesis | Path to existing network's genesis.json in base64.| + For reference, sample `network-besu-new-memberorg.yaml` file [here](https://github.com/hyperledger/bevel/blob/main/platforms/hyperledger-besu/configuration/samples/network-besu-new-memberorg.yaml) + ```yaml + --8<-- "platforms/hyperledger-besu/configuration/samples/network-besu-new-memberorg.yaml:1:152" + ``` - -## Run playbook + Three new sections are added to the network.yaml -The [site.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/shared/configuration/site.yaml) playbook is used to add a new organization to the existing network. This can be done using the following command + | Field | Description | + |-------------|----------------------------------------------------------| + | tm_nodes | Existing network's transaction manager nodes' public addresses with nodeport.| + | besu_nodes | Existing network's besu nodes' public addresses with rpc port.| + | genesis | Path to existing network's genesis.json in base64.| -``` -ansible-playbook platforms/shared/configuration/add-new-organization.yaml --extra-vars "@path-to-network.yaml" -``` -## Verify network deployment -For instructions on how to troubleshoot network, read [our troubleshooting guide](../../references/troubleshooting.md) +1. **Run playbook** + The [site.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/shared/configuration/site.yaml) playbook is used to add a new organization to the existing network. This can be done using the following command + + ``` + ansible-playbook platforms/shared/configuration/add-new-organization.yaml --extra-vars "@path-to-network.yaml" + ``` + +1. **Verify network deployment** + + For instructions on how to troubleshoot network, read [our troubleshooting guide](../../references/troubleshooting.md) + + +## Method 2: Using `helm install` + + For instructions on how to troubleshoot network, read [our troubleshooting guide](../../../../platforms/hyperledger-besu/charts/README.md) + +1. **Update the txnode-sec.yaml file** + + Following changes are must in the `txnode-sec.yaml` file for a new member to be added to the network: + + - `global.proxy.externalUrlSuffix` + - `tessera.tessera.peerNodes` + +1. **Get the genesis and static nodes from existing member and place in besu-genesis/files** + + ```bash + kubectl --namespace supplychain-bes get configmap besu-peers -o jsonpath='{.data.static-nodes\.json}' > static-nodes.json + kubectl --namespace supplychain-bes get configmap besu-genesis -o jsonpath='{.data.genesis\.json}' > genesis.json + kubectl --namespace supplychain-bes get configmap besu-bootnodes -o jsonpath='{.data.bootnodes-json}' > bootnodes.json + ``` + +1. **Install the besu genesis chart** + + ```bash + helm install genesis ./besu-genesis --namespace carrier-bes --values ./values/proxy-and-vault/genesis-sec.yaml + ``` + +1. **Install the besu-node chart** + + ```bash + helm install carrier ./besu-node --namespace carrier-bes --values ./values/proxy-and-vault/txnode-sec.yaml --set global.proxy.p2p=15016 --set node.besu.identity="O=Carrier,OU=Carrier,L=51.50/-0.13/London,C=GB" + ``` \ No newline at end of file diff --git a/docs/source/guides/besu/add-new-validator-node.md b/docs/source/guides/besu/add-new-validator-node.md index 49c0aa9511f..a143b3467d7 100644 --- a/docs/source/guides/besu/add-new-validator-node.md +++ b/docs/source/guides/besu/add-new-validator-node.md @@ -3,54 +3,65 @@ [//]: # (SPDX-License-Identifier: Apache-2.0) [//]: # (##############################################################################################) - -# Adding a new validator node in Besu +# Add a new validator node to an existing organization - - [Prerequisites](#prerequisites) - - [Create Configuration File](#create-configuration-file) - - [Run playbook](#run-playbook) +This guide explains how to add a new validator node to an existing organization in a Hyperledger Besu network using two methods: - -## Prerequisites -To add a new node in Besu, an existing besu network should be running, enode information of all existing nodes present in the network should be available, genesis file should be available in base64 encoding and the information of transaction manager nodes and existing validator nodes should be available. The new node account should be unlocked prior adding the new node to the existing besu network. +1. Using the `add-validator.yaml` playbook: This method involves running an Ansible playbook that automates the process of adding a new node to the network. ---- -**NOTE**: Addition of a new validator node has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. +1. Using `helm install`: This method involves using the `helm install` commands to directly add a new node to the network. ---- +## Method 1: Using the `add-validator.yaml` playbook - -## Create Configuration File +1. **Prerequisites** -Refer [this guide](../networkyaml-besu.md) for details on editing the configuration file. + To add a new node in Besu, an existing besu network should be running, enode information of all existing nodes present in the network should be available, genesis file should be available in base64 encoding and the information of transaction manager nodes and existing validator nodes should be available. The new node account should be unlocked prior adding the new node to the existing besu network. -The `network.yaml` file should contain the specific `network.organization` details along with the tessera transaction manager node details and existing validator and member node details. + --- + **NOTE**: Addition of a new validator node has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. ---- -**NOTE**: Make sure that the genesis flie is provided in base64 encoding. Also, if you are adding node to the same cluster as of another node, make sure that you add the ambassador ports of the existing node present in the cluster to the network.yaml ---- -For reference, sample `network-besu-new-validatornode.yaml` file [here](https://github.com/hyperledger/bevel/blob/main/platforms/hyperledger-besu/configuration/samples/network-besu-new-validatornode.yaml) +1. **Update configuration file** -```yaml ---8<-- "platforms/hyperledger-besu/configuration/samples/network-besu-new-validatornode.yaml:1:201" -``` + Refer [this guide](../networkyaml-besu.md) for details on editing the configuration file. -Three new sections are added to the network.yaml + The `network.yaml` file should contain the specific `network.organization` details along with the tessera transaction manager node details and existing validator and member node details. -| Field | Description | -|-------------|----------------------------------------------------------| -| tm_nodes | Existing network's transaction manager nodes' public addresses with nodeport.| -| besu_nodes | Existing network's besu nodes' public addresses with rpc port.| -| genesis | Path to existing network's genesis.json in base64.| + --- + **NOTE**: Make sure that the genesis flie is provided in base64 encoding. Also, if you are adding node to the same cluster as of another node, make sure that you add the ambassador ports of the existing node present in the cluster to the network.yaml + --- + For reference, sample `network-besu-new-validatornode.yaml` file [here](https://github.com/hyperledger/bevel/blob/main/platforms/hyperledger-besu/configuration/samples/network-besu-new-validatornode.yaml) - -## Run playbook + ```yaml + --8<-- "platforms/hyperledger-besu/configuration/samples/network-besu-new-validatornode.yaml:1:201" + ``` -The [add-validator.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/hyperledger-besu/configuration/add-validator.yaml) playbook is used to add a new validator node to an existing organization in a running network. This can be done using the following command + Three new sections are added to the network.yaml -``` -ansible-playbook platforms/hyperledger-besu/configuration/add-validator.yaml --extra-vars "@path-to-network.yaml" -``` + | Field | Description | + |-------------|----------------------------------------------------------| + | tm_nodes | Existing network's transaction manager nodes' public addresses with nodeport.| + | besu_nodes | Existing network's besu nodes' public addresses with rpc port.| + | genesis | Path to existing network's genesis.json in base64.| + +1. **Run playbook** + + The [add-validator.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/hyperledger-besu/configuration/add-validator.yaml) playbook is used to add a new validator node to an existing organization in a running network. This can be done using the following command + + ``` + ansible-playbook platforms/hyperledger-besu/configuration/add-validator.yaml --extra-vars "@path-to-network.yaml" + ``` + +## Method 2: Using `helm install` + +1. **Update the besu-node values.yaml and besu-propose-validator values.yaml file** + + Refer to the [besu-propose-validator chart documentation](https://github.com/hyperledger/bevel/tree/main/platforms/hyperledger-besu/charts/besu-propose-validator) for a complete list of available configuration options. + +1. **Install the besu-propose-validator chart** + + ```bash + helm install validator-5 ./besu-propose-validator --namespace supplychain-bes --values besu-propose-validator/values.yaml + ``` \ No newline at end of file diff --git a/docs/source/guides/corda/add-new-org.md b/docs/source/guides/corda/add-new-org.md index 4eee1358f43..7e9944021b4 100644 --- a/docs/source/guides/corda/add-new-org.md +++ b/docs/source/guides/corda/add-new-org.md @@ -3,44 +3,71 @@ [//]: # (SPDX-License-Identifier: Apache-2.0) [//]: # (##############################################################################################) - -# Adding a new organization in R3 Corda +# Add a new member to an existing organization -- [Prerequisites](#prerequisites) -- [Create configuration file](#create-configuration-file) -- [Run playbook](#run-playbook) +This guide explains how to add a new validator node to an existing organization in a a R3 Corda network using two methods: - -## Prerequisites -To add a new organization, Corda Doorman/Idman and Networkmap services should already be running. The public certificates from Doorman/Idman and Networkmap should be available and specified in the configuration file. +1. Using the `add-new-organization.yaml` playbook: This playbook involves running an Ansible playbook that automates the process of adding a new org to the network. -!!! note - Addition of a new organization has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. +1. Using `helm install`: This method involves using the `helm install` commands to directly add a new org to the network. - -## Create Configuration File +## Method 1: Using the `add-new-organization.yaml` playbook -Refer [this guide](../networkyaml-corda.md) for details on editing the configuration file. +1. **Prerequisites** + To add a new organization, Corda Doorman/Idman and Networkmap services should already be running. The public certificates from Doorman/Idman and Networkmap should be available and specified in the configuration file. -The `network.yaml` file should contain the specific `network.organization` details along with the network service information about the networkmap and doorman service. + !!! note + Addition of a new organization has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. -!!! note - Make sure the doorman and networkmap service certificates are in plain text and not encoded in base64 or any other encoding scheme, along with correct paths to them mentioned in network.yaml. +1. **Create Configuration File** -For reference, sample `network.yaml` file [here] (https://github.com/hyperledger/bevel/blob/main/platforms/r3-corda/configuration/samples/network-cordav2.yaml) but always check the latest `network.yaml` file. + Refer [this guide](../networkyaml-corda.md) for details on editing the configuration file. -```yaml ---8<-- "platforms/r3-corda/configuration/samples/network-cordav2.yaml:1:223" -``` + The `network.yaml` file should contain the specific `network.organization` details along with the network service information about the networkmap and doorman service. - -## Run playbook + !!! note + Make sure the doorman and networkmap service certificates are in plain text and not encoded in base64 or any other encoding scheme, along with correct paths to them mentioned in network.yaml. -The [add-new-organization.yaml](https://github.com/hyperledger/bevel/blob/main/platforms/shared/configuration/add-new-organization.yaml) playbook is used to add a new organization to the existing network. This can be done using the following command + For reference, sample `network.yaml` file [here](https://github.com/hyperledger/bevel/blob/main/platforms/r3-corda/configuration/samples/network-cordav2.yaml) but always check the latest `network.yaml` file. -``` -ansible-playbook platforms/shared/configuration/add-new-organization.yaml --extra-vars "@path-to-network.yaml" -``` + ```yaml + --8<-- "platforms/r3-corda/configuration/samples/network-cordav2.yaml:1:223" + ``` -!!! note - If you have CorDapps and applications, please deploy them as well. +1. **Run playbook** + + The [add-new-organization.yaml](https://github.com/hyperledger/bevel/blob/main/platforms/shared/configuration/add-new-organization.yaml) playbook is used to add a new organization to the existing network. This can be done using the following command + + ``` + ansible-playbook platforms/shared/configuration/add-new-organization.yaml --extra-vars "@path-to-network.yaml" + ``` + + !!! note + If you have CorDapps and applications, please deploy them as well. + +## Method 2: Using `helm install` + +Refer [this guide](../../../../platforms/r3-corda/charts/README.md) for details on editing the configuration file. + +1. **Update the node.yaml file** + + Following changes are must in the `node.yaml` file for a new member to be added to the network: + + - `global.proxy.externalUrlSuffix` + - `nodeConf.legalName` + +1. **Get the init and static nodes from existing member and place in corda-init/files** + + ```bash + cd ./corda-init/files/ + kubectl --namespace supplychain-ns get secret nms-tls-certs -o jsonpath='{.data.tls\.crt}' > nms.crt + kubectl --namespace supplychain-ns get secret doorman-tls-certs -o jsonpath='{.data.tls\.crt}' > doorman.crt + ``` + +1. **Install the init-sec chart** + + ```bash + helm install init ./corda-init --namespace manufacturer-ns --values ./values/proxy-and-vault/init-sec.yaml + + helm install manufacturer ./corda-node --namespace manufacturer-ns --values ./values/proxy-and-vault/node.yaml --set nodeConf.legalName="O=Manufacturer\,OU=Manufacturer\,L=47.38/8.54/Zurich\,C=CH" + ``` \ No newline at end of file diff --git a/docs/source/guides/fabric/add-new-channel.md b/docs/source/guides/fabric/add-new-channel.md index b075a0a366d..05eb0ec7141 100644 --- a/docs/source/guides/fabric/add-new-channel.md +++ b/docs/source/guides/fabric/add-new-channel.md @@ -3,7 +3,7 @@ [//]: # (SPDX-License-Identifier: Apache-2.0) [//]: # (##############################################################################################) -# Add a new channel +# Add a new channel to an existing network This guide explains how to add a new channel in a Hyperledger Fabric network using two methods: diff --git a/docs/source/guides/indy-add-new-org.md b/docs/source/guides/indy/indy-add-new-org.md similarity index 100% rename from docs/source/guides/indy-add-new-org.md rename to docs/source/guides/indy/indy-add-new-org.md diff --git a/docs/source/guides/quorum-add-new-org.md b/docs/source/guides/quorum-add-new-org.md deleted file mode 100644 index df168ca1020..00000000000 --- a/docs/source/guides/quorum-add-new-org.md +++ /dev/null @@ -1,66 +0,0 @@ -[//]: # (##############################################################################################) -[//]: # (Copyright Accenture. All Rights Reserved.) -[//]: # (SPDX-License-Identifier: Apache-2.0) -[//]: # (##############################################################################################) - - -# Adding a new node in Quorum - - - [Prerequisites](#prerequisites) - - [Create Configuration File](#create-configuration-file) - - [Run playbook](#run-playbook) - - -## Prerequisites -To add a new organization in Quorum, an existing quorum network should be running, enode information of all existing nodes present in the network should be available, genesis block should be available in base64 encoding and the geth information of a node should be available and that node account should be unlocked prior adding the new node to the existing quorum network. - -!!! important - - Addition of a new organization has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. - - -## Create Configuration File - -Refer [this guide](./networkyaml-quorum.md) for details on editing the configuration file. - -The `network.yaml` file should contain the specific `network.organization` details along with the enode information, genesis block in base64 encoding and geth account details - -!!! note - - Make sure that the genesis block information is given in base64 encoding. Also, if you are adding node to the same cluster as of another node, make sure that you add the ambassador ports of the existing node present in the cluster to the network.yaml - -For reference, sample `network-quorum-newnode.yaml` file [here](https://github.com/hyperledger/bevel/blob/main/platforms/quorum/configuration/samples/network-quorum-newnode.yaml) - -```yaml ---8<-- "platforms/quorum/configuration/samples/network-quorum-newnode.yaml:1:133" -``` - -Below three new sections are added to the network.yaml - -| Field | Description | -|----------------------------------|----------------------------------------------------| -| staticnodes | Existing network's static nodes file path needs to be given | -| genesis | Existing network's genesis.json file path needs to be given | -| bootnode | Bootnode account details. | - - -The `network.config.bootnode` field contains: - -| Field | Description | -|----------------------------------|----------------------------------------------------| -| name | Name of the bootnode | -| url | URL of the bootnode, generally the ambassador URL | -| rpcport | RPC port of the bootnode | -| nodeid | Node ID of the bootnode | - - -## Run playbook - -The [site.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/shared/configuration/site.yaml) playbook is used to add a new organization to the existing network. This can be done using the following command - -``` -ansible-playbook platforms/shared/configuration/site.yaml --extra-vars "@path-to-network.yaml" -``` - -## Verify network deployment -For instructions on how to troubleshoot network, read [our troubleshooting guide](../references/troubleshooting.md) diff --git a/docs/source/guides/quorum/quorum-add-new-org.md b/docs/source/guides/quorum/quorum-add-new-org.md new file mode 100644 index 00000000000..aec8425c2a0 --- /dev/null +++ b/docs/source/guides/quorum/quorum-add-new-org.md @@ -0,0 +1,92 @@ +[//]: # (##############################################################################################) +[//]: # (Copyright Accenture. All Rights Reserved.) +[//]: # (SPDX-License-Identifier: Apache-2.0) +[//]: # (##############################################################################################) + +# Add a new member to an existing organization + +This guide explains how to add a new validator node to an existing organization in a Quorum network using two methods: + +1. Using the `site.yaml` playbook: This playbook involves running an Ansible playbook that automates the process of adding a new org to the network. + +1. Using `helm install`: This method involves using the `helm install` commands to directly add a new org to the network. + +## Method 1: Using the `site.yaml` playbook + +1. **Prerequisites** + + To add a new organization in Quorum, an existing quorum network should be running, enode information of all existing nodes present in the network should be available, genesis block should be available in base64 encoding and the geth information of a node should be available and that node account should be unlocked prior adding the new node to the existing quorum network. + + !!! important + + Addition of a new organization has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team. + +1. **Create Configuration File** + + Refer [this guide](./networkyaml-quorum.md) for details on editing the configuration file. + + The `network.yaml` file should contain the specific `network.organization` details along with the enode information, genesis block in base64 encoding and geth account details + + !!! note + + Make sure that the genesis block information is given in base64 encoding. Also, if you are adding node to the same cluster as of another node, make sure that you add the ambassador ports of the existing node present in the cluster to the network.yaml + + For reference, sample `network-quorum-newnode.yaml` file [here](https://github.com/hyperledger/bevel/blob/main/platforms/quorum/configuration/samples/network-quorum-newnode.yaml) + + ```yaml + --8<-- "platforms/quorum/configuration/samples/network-quorum-newnode.yaml:1:133" + ``` + + Below three new sections are added to the network.yaml + + | Field | Description | + |----------------------------------|----------------------------------------------------| + | staticnodes | Existing network's static nodes file path needs to be given | + | genesis | Existing network's genesis.json file path needs to be given | + | bootnode | Bootnode account details. | + + + The `network.config.bootnode` field contains: + + | Field | Description | + |----------------------------------|----------------------------------------------------| + | name | Name of the bootnode | + | url | URL of the bootnode, generally the ambassador URL | + | rpcport | RPC port of the bootnode | + | nodeid | Node ID of the bootnode | + +1. **Run playbook** + + The [site.yaml](https://github.com/hyperledger/bevel/tree/main/platforms/shared/configuration/site.yaml) playbook is used to add a new organization to the existing network. This can be done using the following command + + ``` + ansible-playbook platforms/shared/configuration/site.yaml --extra-vars "@path-to-network.yaml" + ``` + +1. **Verify network deployment** + + For instructions on how to troubleshoot network, read [our troubleshooting guide](../references/troubleshooting.md) + +## Method 2: Using `helm install` + + For instructions on how to troubleshoot network, read [our troubleshooting guide](../../../../platforms/quorum/charts/README.md) + +1. **Get the genesis and static nodes from existing member and place in quorum-genesis/files** + + ```bash + cd ./quorum-genesis/files/ + kubectl --namespace supplychain-quo get configmap quorum-peers -o jsonpath='{.data.static-nodes\.json}' > static-nodes.json + kubectl --namespace supplychain-quo get configmap quorum-genesis -o jsonpath='{.data.genesis\.json}' > genesis.json + ``` + +1. **Install the quorum genesis chart** + + ```bash + helm install genesis ./quorum-genesis --namespace carrier-quo --values ./values/proxy-and-vault/genesis-sec.yaml + ``` + +1. **Install the besu-node chart** + + ```bash + helm install carrier ./quorum-node --namespace carrier-quo --values ./values/proxy-and-vault/txnode-sec.yaml --set global.proxy.p2p=15016 + ``` \ No newline at end of file