Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding external chaincode binaries to the base peer image WIP #4825

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rlfnb
Copy link
Contributor

@rlfnb rlfnb commented Apr 24, 2024

Simplify the use of external chaincodes

Type of change

  • New feature
  • Improvement (improvement to code, performance, etc)

Might be a new feature or an improvement.

Description

Using external chaincode as a service needs to change the peer image providing three binaries (detect/build/release). To simplify the setup for use cases where docker (podman, kubernetes, openshift to name a few) is not available you are forced to use external chaincodes.

Additional details

As its basically my first PR for fabric, feedback regarding tools/guidelines would be appreciated.
Maybe, the functionality could be moved into the existing tools in ccaasbuilder, but I wont risk a bug there.

Related issues

Release Note

The change wont impact existing installations

@rlfnb rlfnb requested a review from a team as a code owner April 24, 2024 09:50
@rlfnb rlfnb changed the title adding external chaincode binaries to the base peer image adding external chaincode binaries to the base peer image WIP Apr 24, 2024
@denyeart
Copy link
Contributor

When ccaasbuilder was added, the thought was that it would be the one and only 'generic' builder included in the open source version of the peer. Other use case specific builders would have to be built into your own peer image, or perhaps shared in the fabric-samples repository.

That being said, I'd like to understand your use case and why you can't use the existing ccaasbuilder.

It looks like the externalbuilder code is a copy of the ccaasbuilder code?

@rlfnb
Copy link
Contributor Author

rlfnb commented Apr 24, 2024

totally agree, I just copied ccaasbuilder to make sure i dont interfere with existing functionality. If its ok for you, I would simply integrate the three cmds into existing ccaasbuilder commands. agree?
My intention is to make external chaincode deployments simpler (as I'm using fabric in non-docker environments only). Personally, I can build my custom peer image as well and everything will work out for me, but my idea was to make it easier for others as well (e.g. kubernetes/openshift/podman users).

@denyeart
Copy link
Contributor

Ok, do you mean for discussion purposes you will update the externalbuilder code with your ideas? That would be fine for discussion. If your improvements are compatible enhancements with the existing ccaasbuilder, then you could just update ccaasbuilder. I'm still not sure the extent of changes you are proposing so I'll defer to your choice for the initial PR and discussion.

Also I'll mention that the name externalbuilder is not very clear, because that could imply a traditional external builder that actually builds chaincode, or a chaincode-as-a-service external 'builder' that points to an external service ('builder' in quotes because it doesn't actually build chaincode). I think you are talking about the latter.

@rlfnb rlfnb reopened this Sep 28, 2024
@rlfnb
Copy link
Contributor Author

rlfnb commented Sep 28, 2024

so, I did find some time and would like ask for a small review @denyeart . I added remote as a type to detect (the ccaas binary), so we wont have additional commands. If its ok like its done for detect, I would proceed with build and release as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants