Skip to content

Commit

Permalink
docs(r3corda): operations section under guides tab
Browse files Browse the repository at this point in the history
**Primary Changes**
1.Updated operations corda docs
2.Removed cenm console in corda operations

fixes hyperledger-bevel#2483

Signed-off-by: sailajakommineni <[email protected]>
  • Loading branch information
sailajakommineni committed Feb 9, 2024
1 parent 2159176 commit faa54dd
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 284 deletions.
1 change: 0 additions & 1 deletion docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@ nav:
- guides/fabric/upgrade-network-1.4.x-2.2.x.md
- guides/fabric/upgrade-network.md
- Corda Operations:
- guides/corda/add-cenm-console.md
- guides/corda/add-cordapps.md
- guides/corda/add-new-notary.md
- guides/corda/add-new-org.md
Expand Down
149 changes: 0 additions & 149 deletions docs/source/guides/corda/add-cenm-console.md

This file was deleted.

15 changes: 8 additions & 7 deletions docs/source/guides/corda/add-new-notary.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ To overcome this, we have created an Ansible playbook. The playbook will update

`run flagDay` command must be run after the network parameters update deadline is over (+10 minutes by default). And this command must be run during downtime as it will trigger Corda node restart.


- [Prerequisites](#prerequisites)
- [Deploy new Notary Service](#deploy-new-notary-service)
- [Run playbook](#run-playbook)
Expand All @@ -20,20 +19,22 @@ To overcome this, we have created an Ansible playbook. The playbook will update
## Prerequisites
To add a new Notary organization, Corda Idman and Networkmap services should already be running. The public certificates and NetworkTrustStore from Idman and Networkmap should be available and specified in the configuration file.

---
**NOTE**: Addition of a new Notary 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
Addition of a new Notary 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.

<a name = "deploy-new-notary-service"></a>
## Deploy new Notary Service

Deploy the additional notary/notaries as separate organizations by following the guidance on [how to add new organizations here](./add-new-org.md). A sample network.yaml for adding new notary orgs can be found [here](https://github.com/hyperledger/bevel/tree/develop/platforms/r3-corda-ent/configuration/samples).
Deploy the additional notary/notaries as separate organizations by following the guidance on [how to add new organizations here](./add-new-org.md). A sample network.yaml for adding new notary orgs can be found [here](https://github.com/hyperledger/bevel/blob/main/platforms/r3-corda-ent/configuration/samples/network-addNotary.yaml).

```yaml
--8<-- "platforms/r3-corda-ent/configuration/samples/network-addNotary.yaml:1:306"
```

<a name = "run-playbook"></a>
## Run Playbook

After the new notary is running, execute the playbook `platforms/r3-corda-ent/configuration/add-notaries.yaml` with the same configuration file as used in previous step.
After the new notary is running, execute the playbook [add-notaries.yaml] (https://github.com/hyperledger/bevel/blob/main/platforms/r3-corda-ent/configuration/add-notaries.yaml) with the same configuration file as used in previous step. This can be done using the following command

```
ansible-playbook platforms/r3-corda-ent/configuration/add-notaries.yaml --extra-vars "@path-to-new-network.yaml"
Expand Down
137 changes: 10 additions & 127 deletions docs/source/guides/corda/add-new-org.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,8 @@
## 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.

---
**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
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.

<a name = "create_config_file"></a>
## Create Configuration File
Expand All @@ -26,138 +24,23 @@ Refer [this guide](../networkyaml-corda.md) for details on editing the configura

The `network.yaml` file should contain the specific `network.organization` details along with the network service information about the networkmap and doorman service.

---
**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.

---
For reference, sample `network.yaml` file looks like below (but always check the latest at `platforms/r3-corda/configuration/samples`):

```
network:
# Network level configuration specifies the attributes required for each organization
# to join an existing network.
type: corda
version: 4.0
#enabled flag is frontend is enabled for nodes
frontend: enabled
#Environment section for Kubernetes setup
env:
type: "env_type" # tag for the environment. Important to run multiple flux on single cluster
proxy: ambassador # value has to be 'ambassador' as 'haproxy' has not been implemented for Corda
ambassadorPorts: # Any additional Ambassador ports can be given here, this is valid only if proxy='ambassador'
portRange: # For a range of ports
from: 15010
to: 15043
# ports: 15020,15021 # For specific ports
retry_count: 20 # Retry count for the checks
external_dns: enabled # Should be enabled if using external-dns for automatic route configuration
# Docker registry details where images are stored. This will be used to create k8s secrets
# Please ensure all required images are built and stored in this registry.
# Do not check-in docker_password.
docker:
url: "docker_url"
username: "docker_username"
password: "docker_password"
# Remote connection information for doorman and networkmap (will be blank or removed for hosting organization)
network_service:
- service:
type: doorman
uri: https://doorman.test.corda.blockchaincloudpoc.com:8443
certificate: home_dir/platforms/r3-corda/configuration/build/corda/doorman/tls/ambassador.crt
- service:
type: networkmap
uri: https://networkmap.test.corda.blockchaincloudpoc.com:8443
certificate: home_dir/platforms/r3-corda/configuration/build/corda/networkmap/tls/ambassador.crt
# Allows specification of one or many organizations that will be connecting to a network.
# If an organization is also hosting the root of the network (e.g. doorman, membership service, etc),
# then these services should be listed in this section as well.
organizations:
# Specification for the new organization. Each organization maps to a VPC and a separate k8s cluster
- organization:
name: neworg
country: US
state: New York
location: New York
subject: "O=Neworg,OU=Neworg,L=New York,C=US"
type: node
external_url_suffix: test.corda.blockchaincloudpoc.com
cloud_provider: aws # Options: aws, azure, gcp
aws:
access_key: "aws_access_key" # AWS Access key, only used when cloud_provider=aws
secret_key: "aws_secret_key" # AWS Secret key, only used when cloud_provider=aws
# Kubernetes cluster deployment variables. The config file path and name has to be provided in case
# the cluster has already been created.
k8s:
region: "cluster_region"
context: "cluster_context"
config_file: "cluster_config"
# Hashicorp Vault server address and root-token. Vault should be unsealed.
# Do not check-in root_token
vault:
url: "vault_addr"
root_token: "vault_root_token"
!!! 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.

# Git Repo details which will be used by GitOps/Flux.
# Do not check-in git_access_token
gitops:
git_protocol: "https" # Option for git over https or ssh
git_url: "gitops_ssh_url" # Gitops https or ssh url for flux value files like "https://github.com/hyperledger/bevel.git"
branch: "gitops_branch" # Git branch where release is being made
release_dir: "gitops_release_dir" # Relative Path in the Git repo for flux sync per environment.
chart_source: "gitops_charts" # Relative Path where the Helm charts are stored in Git repo
git_repo: "gitops_repo_url" # Gitops git repository URL for git push like "github.com/hyperledger/bevel.git"
username: "git_username" # Git Service user who has rights to check-in in all branches
password: "git_access_token" # Git Server user access token (Optional for ssh; Required for https)
email: "git_email" # Email to use in git config
private_key: "path_to_private_key" # Path to private key file which has write-access to the git repo (Optional for https; Required for ssh)
services:
peers:
- peer:
name: neworg
subject: "O=Neworg,OU=Neworg,L=New York,C=US"
type: node
p2p:
port: 10002
targetPort: 10002
ambassador: 10070 #Port for ambassador service (use one port per org if using single cluster)
rpc:
port: 10003
targetPort: 10003
rpcadmin:
port: 10005
targetPort: 10005
dbtcp:
port: 9101
targetPort: 1521
dbweb:
port: 8080
targetPort: 81
springboot:
targetPort: 20001
port: 20001
expressapi:
targetPort: 3000
port: 3000
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.

```yaml
--8<-- "platforms/r3-corda/configuration/samples/network-cordav2.yaml:1:223"
```

<a name = "run_network"></a>
## Run playbook

The [add-new-organization.yaml](https://github.com/hyperledger/bevel/tree/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
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.

!!! note
If you have CorDapps and applications, please deploy them as well.

0 comments on commit faa54dd

Please sign in to comment.