kpack
kpack copied to clipboard
Create a curated file for use with `kp import`
Motivation
When users onboard to kpack we offer a tutorial to get them started. Steps 3, 4, and 5 of this tutorial instruct the user to create a clusterstore, clusterstack, and a builder configuration. By providing a file that allows users to bootstrap and update clusterstacks, clusterstores, and clusterbuilders using kp import
we have two opportunities:
- To minimize the friction of onboarding onto the kpack project and allow users to see value more quickly
- Provide a less manual way of to update these resources when new dependencies are made available by a provider of buildpacks and stack images
What
Create a file that contains paths to images that can be used by kp import
to create or update clusterbuilder, clusterstack, and clusterstore resources. Release a new version of this file with paths to new images when the provider of the dependencies releases new versions of buildpacks and stacks.
As we do in the tutorial, I propose we use the resources provided by the Paketo project and reference images they provide.
Solutioning:
The outcomes specified in the above section could be achieved by configuring the file users import as follows:
- Create/update three clusterstack resources for each of the Stacks Paketo provides
- Create/update a clusterstore with Paketo buildpacks for Java, NodeJS, Go, PHP, Ruby, .NET Core, nginx, and httpd
- Create/update clusterbuilders that each use a different Paketo stack (base, full, tiny)
- When the Paketo project makes new stacks and buildpack images referenced in the file available, we should release a new version of the file in our Github repo
This will require users to be able to configure the kp-config
. I created an issue on the kpack-cli repo: https://github.com/vmware-tanzu/kpack-cli/issues/160
Worth discussing if we want to include all paketo stacks/buildpacks on the repo & where exactly we publish this descriptor.