bevel icon indicating copy to clipboard operation
bevel copied to clipboard

Spike: Explore kubernetes operators

Open TheJagpreet opened this issue 3 years ago • 2 comments

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

  1. 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.
  2. 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).
  3. Create further issues to formalise the realisation of the same.

TheJagpreet avatar Aug 29 '22 07:08 TheJagpreet

I'll take this issue

mgCepeda avatar Aug 30 '22 10:08 mgCepeda

Will explore on the DLT operators

ravikiranjanjanam avatar Sep 26 '22 10:09 ravikiranjanjanam

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+

image

ravikiranjanjanam avatar Oct 11 '22 08:10 ravikiranjanjanam

In Besu Operator, created CRD's for Besu nodes and deployed using besu Operator , Besu operator can be deployed as a Deployment kubernetes object

ravikiranjanjanam avatar Oct 12 '22 05:10 ravikiranjanjanam

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

image

ravikiranjanjanam avatar Oct 12 '22 05:10 ravikiranjanjanam

Can we identify a common base for these and check if we can implement that using Bevel charts?

sownak avatar Oct 12 '22 09:10 sownak