-
Notifications
You must be signed in to change notification settings - Fork 362
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
Explore CNCF v3 buildpacks #720
Comments
Is there a list somewhere of existing buildpacks and their implementation? I had a quick look at https://buildpacks.io/docs/ but couldn't find that list. |
From buildpacks.slack.com I found https://github.com/cloudfoundry/conda-cnb |
Wow this was exciting stuff @yuvipanda ! ❤️ 🎉 |
https://github.com/buildpack/pack is probably the best way to get started playing around locally. (Disclosure I'm the "anchor" (tech lead) on the pivotal buildpacks team).
If you inspect our cflinuxfs3 builder image, for example, you can get an idea of the CNBs that we've published that are "ready", although we have a bunch more in flight:
|
I should further add that our slack https://slack.buildpacks.io/ is a great place to chat about all things buildpacks and https://hub.docker.com/r/cloudfoundry/cnb is a decent overview with links to a bunch of the CNBs. |
I'll dig in a bit more because I think this is a really cool project:
https://github.com/cloudfoundry/conda-cnb
We have not written an R cnb but its somewhere in our backlog. a julia cnb is slightly higher in priority.
We don't have this written, but I don't think it would be massively hard to implement
This will possibly be handled by buildpacks/rfcs#23 |
In case it's useful, here is a link to a recent post on the topic by Jose Diaz-Gonzalez, the lead developer of dokku, including some notes on how CNB tech differs between cloudfoundry, heroku and herokuish |
Is this something that could be used for new repo2docker buildpacks, e.g. Java? #780 |
Hello 👋 I am a maintainer on the Cloud Native Buildpacks project. Happy to answer questions and provide support if y'all decide to go forward with CNB support :) Just some links that might be useful in this context. You can also write CNBs in Python (if that reduces the integration barrier here). Here are some example buildpacks written in python - https://github.com/samj1912/proc-descriptor-buildpack/blob/main/main.py You can take these small pieces and compose them into a "meta-buildpack" if you want to which allows you to alias the combination of the above buildpacks in a simple-to-use wrapper - https://github.com/samj1912/project-descriptor-buildpack (this is mostly just a shell with an order file https://github.com/samj1912/project-descriptor-buildpack/blob/0978e93ab8e417a63baae9f9092c646b71685518/buildpack.toml#L14 (Note that all buildpacks here are optional so you could have 2**3 -1 valid combinations here which are automatically handled) Link to CNB Python bindings library that was used to create these - Link to the official golang CNB bindings - Our katacoda tutorials to help you get off the ground quickly (fully set up with CNB tools and an interactive walkthrough on creating a simple buildpack in bash) - https://katacoda.com/buildpacks EDIT - Here is a simple |
This issue has been mentioned on Jupyter Community Forum. There might be relevant details there: https://discourse.jupyter.org/t/building-a-the-littlest-binderhub/9824/8 |
From @jchesterpivotal in #707 (comment)
I've bolded the bits that I think are most relevant to us. It would be great if someone could take a look at https://buildpacks.io to see if we can base repo2docker off v3 of buildpacks. http://words.yuvi.in/post/why-not-s2i/ contains reasons why we moved off s2i (which is similar to v2 of buildpacks).
A useful test case would be to try to make:
And then see how easy / hard it is to have a repo with any combination of these 4 files produce one single image. My rudimentary math skills tell me that there's
4!
possible combinations here (24), and we shouldn't have to write more than 4 buildpacks...The text was updated successfully, but these errors were encountered: