-
Notifications
You must be signed in to change notification settings - Fork 56
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
[Feature]: App pusher can specify a particular buildpack from the available list #2474
Comments
The normal use case for this feature is:
Step 1 results in a failed kpack.Build on the kpack.Image associated with the CFApp. Step 2 modifies the kpack.Image to point to a new Builder with just the desired buildpack in it, but kpack Image reconciler logic says this should not trigger a new Build because the lastBuild status is failed: https://github.com/pivotal/kpack/blob/9081a1861d6551e86110653f80259c9a17c2b28f/pkg/reconciler/image/build_required.go#L108. I've raised an issue with kpack here: buildpacks-community/kpack#1198. I think we need to block this feature on that. |
Allow use of app's buildpack or buildpacks field in the manifest, and `cf push -b BUILDPACK_NAME ...` Issue: #2474
Allow use of app's buildpack or buildpacks field in the manifest, and `cf push -b BUILDPACK_NAME ...` Issue: #2474
Allow use of app's buildpack or buildpacks field in the manifest, and `cf push -b BUILDPACK_NAME ...` Issue: #2474 Co-authored-by: Kieron Browne <kbrowne@vmware.com>
Allow use of app's buildpack or buildpacks field in the manifest, and `cf push -b BUILDPACK_NAME ...` Issue: #2474 Co-authored-by: Kieron Browne <kbrowne@vmware.com>
Allow use of app's buildpack or buildpacks field in the manifest, and `cf push -b BUILDPACK_NAME ...` Issue: #2474 Co-authored-by: Kieron Browne <kbrowne@vmware.com>
Blockers/Dependencies
This will address bug #1784
Background
As a app developer
I want to specify building using a particular buildpack from the ones available
So that I can address problems where the wrong buildpack is selected for the build.
The list of available buildpack is retrieved using the
cf buildpacks
command:There are instances where the presence of a certain file may confuse the automatic buildpack selection. The app developer can fix this themselves by specifying the
-b
or--buildpack
option forcf push
.It is also possible to specify buildpacks in an app manifest using the (deprecated)
buildpack
field, or thebuildpacks
list field. This should be supported in the same way as using thecf push
--buildpack
option.Note: this feature will allow selecting an existing buildpack only; custom buildpacks specified by a git URL are out of scope.
Acceptance Criteria
GIVEN a buildpack exists with the name 'repo/my-buildpack'
WHEN I
cf push
my app using the option-b repo/my-buildpack
or--buildpack repo/my-buildpack
THEN I see the app was built using the buildpack specified
GIVEN a buildpack exists with the name 'repo/my-buildpack'
WHEN I
cf push
my app using a manifest withbuildpack
set to 'repo/my-buildpack' orbuildpacks
set to a list of ['repo/my-buildpack']THEN I see the app was built using the buildpack specified
GIVEN buildpacks exists with names 'repo/my-buildpack', 'repo/another-buildpack'
AND 'repo/another-buildpack' will not build my app by 'repo/my-buildpack' will
WHEN I
cf push
my app using a manifest withbuildpacks
set to a list of ['repo/another-buildpack', 'repo/my-buildpack']THEN I see the app was built trying the buildpacks specified
Dev Notes
When the kpack-image-builder reconciles a BuildWorkload resource with non-empty
buildpacks
list, it should:serviceAccountRef
,stack
, andstore
from the default ClusterBuilder. Theorder
field should contain the list of buildpack IDs in the formatThe text was updated successfully, but these errors were encountered: