An automation framework for rapidly and consistently deploying production-ready DLT platforms.
Blockchain Automation Framework delivers an automation framework for rapidly and consistently deploying production-ready DLT platforms to cloud infrastructure.
Blockchain Automation Framework makes use of Ansible, Helm, and Kubernetes to deploy production DLT networks. Specifically, it makes use of Ansible for configuration of the network by DevOps Engineers. It then uses Helm charts as instructions for deploying the necessary components to Kubernetes. Kubernetes was chosen to allow for Blockchain Automation Framework to deploy the DLT networks to any cloud that supports Kubernetes.
Blockchain Automation Framework currently supports Corda, Hyperledger Fabric, Hyperledger Indy and Quorum. It is the intention to add support for Hyperledger Besu and Corda Enterprise in the near future. Other DLT platforms can easily be added.
To get started with the framework quickly, follow our Getting Started guidelines.
Detailed operator and developer documentation is available on our ReadTheDocs site.
The documentation can also be built locally be following instructions in the docs
folder.
For Hyperledger Fabric, we use the official Docker containers provided by that project. A number of different Ansible scripts will allow you to either create a new network (across clouds) or join an existing network.
For Corda Enterprise, we build Docker containers from the Corda source with licensed jars. A number of different Ansible scripts will allow you to either create a new network (across clouds) or join an existing network.
For Corda Opensource, we build Docker containers from the Corda source. A number of different Ansible scripts will allow you to either create a new network (across clouds) or join an existing network.
For Hyperledger Indy, we build Docker containers from our source code. A number of different Ansible scripts will allow you to create a new network (across clouds).
For Quorum, we use the official Docker containers provided by Quorum. A number of different Ansible scripts will allow you to either create a new network (across clouds) with choice of Consensus (between IBFT and RAFT) and a choice of Transaction Manager (between Tessera and Constellation).
For Hyperledger Besu, we use the official Docker containers provided by that project. A number of different Ansible scripts will allow you to create a new network (across clouds).
We welcome your questions & feedback on our Rocketchat channel.
We welcome contributions to BAF in many forms, and there’s always plenty to do!
Please review contributing guidelines to get started.
If you are not using the provided Jenkins automation scripts, you can run the provisioning scripts within a docker runtime independent from your target Kubernetes cluster.
# Build provisioning image
docker build . -t hyperledgerlabs/baf-build
# Run the provisioning scripts
docker run -it -v $(pwd):/home/blockchain-automation-framework/ hyperledgerlabs/baf-build
Mark Wagner (Github: n1zyz, email: mwagner@redhat.com) - TSC Member
Thanks goes to these wonderful people (emoji key):
Alvaro Picazo 🚧 |
Suvajit Sarkar 💻 📖 |
Deepak Kumar 💻 |
Jagpreet Singh Sasan 💻 🚧 |
Angela.Alagbe 📖 🖋 |
Marina Gómez Cepeda 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!