Open rlfnb opened 10 months ago
@rlfnb The fabric-samples repository contains an example of using Podman with the test-network. https://github.com/hyperledger/fabric-samples/blob/02d9f8c58b8416019682120dc179fa8146ae7dad/test-network/README.md#podman
As there is no Docker-Daemon when using podman, only the ./network.sh deployCCAAS command will work. Following the Chaincode-as-a-service Tutorial above should work.
From the above description, it seems that since Podman does not have a Docker-Daemon, it is necessary to use External Chaincode as a Service.
sorry for late reply. @satota2 I think, fabric should deprecate the way to deploy chain codes the "old way" relying on docker, because basically no one will use docker to run fabric today and its fully incompatible to run HLF in kubernetes (no docker damon at all). What do you think?
@rlfnb I would also like to see Fabric deprecate the old built in chaincode support, although I think there needs to be better out of the box support for the new(ish!) builder and launcher framework first.
Currently the only built in builder/launcher is the chaincode as a server builder, which is great for developing and debugging chaincode but is fiddly to get working and is not well suited to production deployments.
There's also issue #3649 to add an out of the box "binary" builder, which could help with the initial Fabric experience, test networks, etc. but needs a bit more thought... and implementing!
And finally, there's the Kubernetes builder lab project which I hope will provide a better option for production deployments on Kubernetes.
sorry for coming back so lately to the topic. IMO, hyperledger need to get rid of the whole docker specifics and targeting podman. Making the whole value chain work with podman would mean having most of all kubernetes specific stuff already done, e.g. pod definitions, yaml files being usable for kubernetes as well. Other advantage would be also having a really lightweight dev setup without any need for minikube (or something else) on a dev machine. Having the chain contract as a standalone image would even fine for production deployments, but as you said, its too fiddly ATM. Describing the contract better and paving out the way with more meaningful error messages might help already?
@rlfnb the purpose of the external builders and launchers is to make Fabric agnostic to deployment environments.
I'm sure it would be possible to create a podman builder but for kubernetes specific deployments, I would definitely recommend using the Kubernetes builder lab project instead.
Similarly, for a really lightweight dev setup, I think the nano test network with the chaincode-as-a-service builder work really well together,— no need for any containers. There's a new Developing and debuging chaincode tutorial which should hopefully help with the dev setup if you're interested in giving it a try.
Description
Packaged a chain contract and tried to install it with the following command:
peer lifecycle chaincode install mycc.tar.gz
I'm using on my machine podman instead of docker and basically all the remaining things work like a charm. Is there an existing env variable I can use to make it work with podman?
Steps to reproduce