Spike: Explore kubernetes operators
Description
As a developer, I want to integrate Kubernetes operator logic in Bevel deployments, to quicky and easily manage entire Kubernetes deployments done by Hyperledger Bevel by simple commands such as
kubectl get Bevel
kubectl edit Bevel/fabric/org1/peer0
You will have to look into what Kubernetes operator provides here and also various available kubernetes operators for reference, taking ideas from them and generate a plan on what all things we can incorporate in Hyperledger Bevel https://github.com/hyperledger-labs/hlf-operator https://github.com/hyperledger-labs/besu-operator https://github.com/raftAtGit/hl-fabric-operator https://operatorhub.io/
Acceptance Criteria
- Explore atleast one existing operator, mainly out of https://github.com/hyperledger-labs/hlf-operator , https://github.com/hyperledger-labs/besu-operator to understand what all features they provide, what operator framework they use and how the code structuring happens.
- Come up with an initial plan on what all features can be implemented for Hyperledger Bevel and how can we possibly manage Bevel deployed networks with the operators in place (This should be documented here as well for future references).
- Create further issues to formalise the realisation of the same.
I'll take this issue
Will explore on the DLT operators
Below features are included in hlf-operator, this would create CRD's for peer, orderer and CA and would be deployed using hlf-operator
Creating Certificate Authorities(CA) Create Peers Create Ordering Services Create resources without manual provisioning of Cryptographic material Domain routing Run chaincode as external chaincode in Kubernetes Supports Hyperledger Fabric 2.3+
In Besu Operator, created CRD's for Besu nodes and deployed using besu Operator , Besu operator can be deployed as a Deployment kubernetes object
wrt [raftAtGit/hl-fabric-operator]
configtx, chaincode, genesis block and crypto material are given as input as a form of Kubernetes secrets/configmaps
FabricNetwork CRD is the input for Fabric Operator
Fabric Operator listens to the CRD of type Fabric Network and completely manages peer and orderer nodes
this can also be deployed as partial network comminucating with other peer and orderer nodes which reside outside Kubernetes cluster
Can we identify a common base for these and check if we can implement that using Bevel charts?