feat(indy): enable platform deployment via ansible-server
This commit introduces support for deploying a decentralized ledger technology (DLT) network using Ansible automation. The changes include:
1. Updated the Ansible codebase to support network deployment in respect of the standalone Helm chart.
2. The following Ansible roles have been introduced to appropriately deploy the network:
- 1. Generate keys for each node of each organization.
- 2. Fetch generated keys in JSON format to deploy genesis with known nodes only.
- 3. Utilize keys stored in the JSON file to configure the genesis with known nodes and then install the genesis block.
- 4. A secondary genesis setup is also included to support deployment in multiple namespaces for a multi-organization Indy network.
- 5. Deploy stewards for all organizations.
- 6. Deploy the endorser.
3. Updated the Reset Ansible code to delete each node's key from the vault, along with the organization policy and Authentication engine.
4. Added an individual role to clean all the network-supported local files (JSON files).
5. Updated the sample network configuration file to provide information on which networks can be deployed using this file and how to customize the network by following the network rules specified in the file itself.
This PR will allow users to set an Indy network with support of the following rules:
1. Exactly 1 trustee is required per organization.
2. Up to 1 endorser is allowed per organization.
3. At least 4 stewards are required collectively across the entire Indy network.
Commit to be reviewed
feat(indy): enable platform deployment via ansible-server
fixes #2557