hyperledger-bevel / bevel

An automation framework for rapidly and consistently deploying production-ready DLT platforms
https://hyperledger-bevel.readthedocs.io/en/latest/
Apache License 2.0
346 stars 719 forks source link

feat(fabric): support for chaincode as an external service #1284

Closed jagpreetsinghsasan closed 1 year ago

jagpreetsinghsasan commented 3 years ago

Describe the solution you'd like Having external chaincode will help in resolving issues with Kubernetes and will also help in chaincode management (by operators and devs) For more reference, https://hyperledger-fabric.readthedocs.io/en/release-2.2/cc_service.html

alvaropicazo commented 3 years ago

Currently, chaincode is installed on every existing peer. With Fabric v2.2, we are able to deploy chaincode outside of Fabric, so it is independent of the peer. Having the availability of the external builders, we will be able to customize the build process, and running it as an external service, this build process allows us to specify the endpoint information of the server where the chaincode is running.

A possible solution to this could be specifying in the network.yaml file that we wish to use chaincode as an external service. Other steps could be similar to the ones described in the following example: https://github.com/hyperledger/fabric-samples/tree/master/asset-transfer-basic/chaincode-external

mbrandenburger commented 3 years ago

I am very interested in this.

I would like to demonstrate the deployment of Fabric Private Chaincode (FPC) with BAF. FPC deployment relies on Fabric External Chaincode feature. I've already prepared a tutorial that shows how to step a Fabric network using K8s (minikube) and install and run a FPC chaincode. Please, have a look my tutorial and let's see if we can "translate" it to use BAF. Thank you!

arsulegai commented 3 years ago

@mbrandenburger most of these steps are covered in the feature developed. However, only place which I see edits are needed is the way configuration information is passed to the chaincode container. i.e. https://github.com/hyperledger-labs/fabric-private-chaincode/blob/94f80f81c47cdc71058cd773751b502948b0d5f0/integration/k8s/README.md#start-chaincode-container

Current code has to be modified a bit over here.

suvajit-sarkar commented 2 years ago

Hi, any update on code commit for this ?

sownak commented 2 years ago

Will be looked into this by @arsulegai ..

suvajit-sarkar commented 2 years ago

Hi @arsulegai, any updates on this issue ?

manikanta-darsi commented 2 years ago

Please assign it to me.

arsulegai commented 2 years ago

@manikanta-darsi please let me know if we can connect on this topic. I have the feature implemented but on older version of the codebase. My discord ID is arsulegai#7968 and we can discuss in #bevel channel over there.

mgCepeda commented 2 years ago

I'll take this issue

suvajit-sarkar commented 1 year ago

Hi @adityajoshi12, any progress of this ?

sownak commented 1 year ago

Closed with #2293 merge

arsulegai commented 1 year ago

Closed with #2293 merge

Awesome! Thanks @sownak