Fablo is a tool to generate the Hyperledger Fabric blockchain network and run it on Docker. It's main goal is to provide a super-easy start with Hyperledger Fabric. It has a declarative approach - a whole network is described in a single file. Right now only the Docker environment is supported and we want add support for Kubertnetes Operators.
Name | Timezone | Email |
---|
Umegbewe Nwebedu | UTC +1 | nwebedujunior55@gmail.com |
https://github.com/hyperledger-labs/fablo
Outcomes:
- Fablo is able to generate scripts and config files needed for kubernetes deployment
Timeline:
Week | Deliverables | Status |
---|
June 1 - June 19 | - Onboarding and documentation exercises
- Get high level understanding of Fablo codebase
- Read Documentation for hyperledger fabric operator
- Environment Setup
| Done |
June 20 - June 30 | - Use https://github.com/hyperledger-labs/hlf-operator to set up a simple network on k8s. Network should contain:
- two organizations (Orderer, Org1)
- one Orderer named orderer0.orderer.example.com
- two peers peer0.org1.example.com, peer1.org1.example.com both using LevelDb
- one channel `my-channel1` that joins both peer
- one chaincode `chaincode1` installed on `my-channel1` (we can provide sample one)
- Try to do the setup as a separate script, independent of Fablo generated files. We will connect them later.
- Try to list every component that Hyperledger offers (peers, orderers, ca's) and read about them. (we can provide useful links)
| Done |
July 1 - July 19 | - Rewrite Fablo target scripts for the simplest network on Kubernetes operators (CAs, Orderers, Peers)
- Learning part (by Mentor): Certificates. How they are used in Hyperledger, why they are so important, how they are implemented in k8s operators
| done |
July 20 - July 31 | - Rewrite Fablo target scripts for the simplest network on Kubernetes operators (channels, chaincodes)
- Learning part (by Mentor): How do we test Fablo using GitHub actions
| done |
August 1 - August 19 | - Prepare templates for created scripts, similar to current templates for Docker
| done |
August 20 - August 31 | - Write snapshot tests for templates for k8s
|
|
Septemeber 1 - September 19 | - Add and test validation rules (for instance: TLS is not supported for k8s)
|
|
October 1 - October 19 | - Investigate the possibility to support Fablo's advanced feat
Use https://github.com/hyperledger-labs/hlf-operator to set up a simple network on k8s. Network should contain: two organizations (Orderer, Org1) one Orderer named orderer0.orderer.example.com two peers peer0.org1.example.com, peer1.org1.example.com both using LevelDb one channel `my-channel1` that joins both peer one chaincode `chaincode1` installed on `my-channel1` (we can provide sample one) Try to do the setup as a separate script, independent of Fablo generated files. We will connect them later. Try to list every component that Hyperledger offers (peers, orderers, ca's) and read about them. (we can provide useful links) July 1 - July 19 Rewrite Fablo target scripts for the simplest network on Kubernetes operators (CAs, Orderers, Peers) Learning part (by Mentor): Certificates. How they are used in Hyperledger, why they are so important, how they are implemented in k8s operators ures:- Orderer sharding
- Chaincode upgrade
- Snapshot/restore
- Fablo REST
- Channel query scripts
| done |
October 19 - October 31 | - Investigate the possibility to support multi-tenant deployments (different clusters for orgs)
| done |
November 1 - November 12 | - Verify all Fablo commands are properly supported: `./fablo k8s generate|start|stop|up|down|chaincode|...`
| done |
TBD