Compare commits

...

429 Commits

Author SHA1 Message Date
Natalie Arellano d29ba81518
Merge pull request #413 from devigned/fix-image-ex-typo
fix typo to image extension link
2025-02-24 11:46:23 -05:00
David Justice bdcac26a7d
fix typo to image extension link
Signed-off-by: David Justice <david@devigned.com>
2024-12-09 14:55:38 -05:00
Natalie Arellano f3fd7555c8
Merge pull request #410 from buildpacks/platform/0.14
Finalize Platform 0.14
2024-07-17 09:48:52 -04:00
Natalie Arellano f8b60dc65c Update version
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2024-07-09 12:36:55 -04:00
Natalie Arellano 08ee76ee4b
Merge pull request #408 from sap-contributions/add-run-flag-restorer
Add `-run` flag to the `restorer` binary
2024-07-09 12:33:20 -04:00
Pavel Busko 7f44395c97 clarify run image resolution during restore phase
Signed-off-by: Pavel Busko <pavel.busko@sap.com>
2024-07-04 12:30:56 +02:00
Pavel Busko 664e7a0eb3 Add -run flag to the restorer binary
Signed-off-by: Pavel Busko <pavel.busko@sap.com>
2024-07-03 12:32:39 +02:00
Natalie Arellano 7207c7dd71
Merge pull request #405 from ryanbrainard/patch-1
Close code fence
2024-04-19 09:53:47 -04:00
Ryan Brainard c995c549f7
Close code fence
Add closing backtick of code fence to fix rendering

Signed-off-by: Ryan Brainard <966764+ryanbrainard@users.noreply.github.com>
2024-04-18 10:20:47 -04:00
Natalie Arellano b341177441
Merge pull request #402 from edmorley/fix-distros.version-field-name
Correct name of `distros.version` field in `buildpack.toml`
2024-04-09 09:28:02 -04:00
Ed Morley 7c68e77461
Correct name of `distros.version` field in `buildpack.toml`
The correct name for the field is `distros.version` (singular), rather than
`distros.versions`.

The former is what is used elsewhere in the spec, and in the lifecycle
implementation.

The plural form looks like a leftover from the rename in:
8652ec5e49

Fixes #401.

Signed-off-by: Ed Morley <501702+edmorley@users.noreply.github.com>
2024-04-08 16:15:33 +01:00
Natalie Arellano 87dc65b961
Merge pull request #397 from edmorley/patch-1
Correct specification for deprecated `CNB_STACK_ID`
2024-03-27 15:52:27 -04:00
Ed Morley 551833d3d1
Correct specification for deprecated `CNB_STACK_ID`
Restores the specification for `CNB_STACK_ID` to the definition that was used prior to the docs refactor in #335.

Fixes #396.

Signed-off-by: Ed Morley <501702+edmorley@users.noreply.github.com>
2024-03-27 16:39:42 +00:00
Natalie Arellano bd040abaf6
Merge pull request #392 from buildpacks/platform/0.13
Finalize Platform/0.13
2024-03-05 15:52:46 -05:00
Natalie Arellano a5abebae3f
Merge branch 'main' into platform/0.13 2024-03-05 13:04:21 -05:00
Natalie Arellano 0389b50d7b
Merge pull request #393 from buildpacks/buildpack/0.11
Finalize Buildpack/0.11
2024-03-05 13:04:03 -05:00
Natalie Arellano f56c8db7bb
Merge branch 'main' into buildpack/0.11 2024-03-05 11:21:52 -05:00
Natalie Arellano 15ddfc8027
Merge branch 'main' into platform/0.13 2024-03-05 11:21:14 -05:00
Natalie Arellano a762860c1e
Merge pull request #394 from buildpacks/buildpack/v0.11
Combine Buildpack/v0.11 branches
2024-03-05 11:20:43 -05:00
Natalie Arellano b2fd486066
Merge pull request #385 from buildpacks/insecure-registries
Add insecure registries flags and env var
2024-03-04 12:42:45 -05:00
Natalie Arellano 845d862394 Merge branch 'platform/0.13' into insecure-registries 2024-03-04 12:42:11 -05:00
Natalie Arellano cc0925b862
Merge pull request #387 from loewenstein/extensions-buildpack
Remove `experimental` mark on extensions
2024-03-01 09:42:01 -05:00
Natalie Arellano 2ff96c2b34
Merge pull request #377 from buildpacks/remove-glue
Remove backwards compatible glue for unsupported buildpack API 0.2
2024-03-01 09:41:46 -05:00
Natalie Arellano 296f8becfb
Merge pull request #386 from loewenstein/extensions-platform
Remove `experimental` mark on extensions
2024-03-01 09:40:53 -05:00
Natalie Arellano 347a977e79
Merge pull request #380 from kritkasahni-google/main
Platform API changes to enable exporting app image and cache image in parallel
2024-03-01 09:40:36 -05:00
Natalie Arellano 29d53ac429
Merge pull request #390 from thiunuwan/patch-1
Update buildpack.md
2024-03-01 09:40:01 -05:00
Ravindu Thiunuwan d13cf5f53e
Update buildpack.md
Signed-off-by: Ravindu Thiunuwan <83197833+thiunuwan@users.noreply.github.com>
2024-03-01 10:18:38 +05:30
Jan von Löwenstein ae39fb0367 Remove `experimental` mark on extensions
Signed-off-by: Jan von Löwenstein <jan.von.loewenstein@sap.com>
2024-02-05 18:16:54 +00:00
Jan von Löwenstein 88050e72d5 Remove `experimental` mark on extensions
Signed-off-by: Jan von Löwenstein <jan.von.loewenstein@sap.com>
2024-02-05 18:16:21 +00:00
Natalie Arellano e7f547c3c0
Merge pull request #383 from sap-contributions/extension-contexts-extension-md
Changes for image extension build contexts
2024-02-01 13:03:22 -05:00
Natalie Arellano f4778c7805
Merge pull request #384 from sap-contributions/extension-contexts-platform-md
Platform API changes for image extension build contexts
2024-02-01 13:03:14 -05:00
Natalie Arellano 334893105d Add insecure registries flags and env var
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2024-01-17 15:00:51 -05:00
Ralf Pannemans 3bb19203e3 Add recoring of build-image.extend
Signed-off-by: Ralf Pannemans <ralf.pannemans@sap.com>
Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>
2024-01-09 13:09:03 +01:00
Ralf Pannemans b19fdbdaa8 Platform API changes for image extension build contexts
Signed-off-by: Ralf Pannemans <ralf.pannemans@sap.com>
Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>
Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>
Co-authored-by: Pavel Busko <pavel.busko@sap.com>
2024-01-09 12:52:18 +01:00
Ralf Pannemans 43c7cd9950 Changes for image extension build contexts
Signed-off-by: Ralf Pannemans <ralf.pannemans@sap.com>
Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>
Co-authored-by: Pavel Busko <pavel.busko@sap.com>
Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>
2024-01-09 12:47:48 +01:00
Natalie Arellano 36695bacab
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-11-15 10:48:22 -05:00
kritka sahni cd8843b8b4 Platform API changes to enable exporting app image and cache image in parallel
Signed-off-by: kritka sahni <kritkasahni@google.com>
2023-11-15 05:07:28 +00:00
Natalie Arellano 0f5d7f2332 Remove backwards compatible glue for unsupported buildpack API 0.2
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-08-23 15:02:47 -04:00
Natalie Arellano 7eb38d15fd
Merge pull request #371 from buildpacks/platform/0.12
Finalize Platform 0.12
2023-08-03 13:57:30 -04:00
Natalie Arellano 077230d06e
Merge branch 'main' into platform/0.12 2023-08-03 13:57:02 -04:00
Natalie Arellano e1c08bf85e
Merge pull request #376 from buildpacks/buildpack/0.10
Finalize Buildpack 0.10 (again)
2023-08-03 13:56:43 -04:00
Natalie Arellano a641ca1302
Merge pull request #375 from buildpacks/remove-target-id-from-lifecycle
Remove `target.id` from the lifecycle
2023-08-03 12:14:34 -04:00
Natalie Arellano 50be8f2111
Merge branch 'main' into buildpack/0.10 2023-08-03 12:13:57 -04:00
Natalie Arellano 0bfa2477d6
Merge pull request #374 from buildpacks/remove-target-id
Remove CNB_TARGET_ID from the Buildpack API
2023-08-03 12:13:17 -04:00
Natalie Arellano 2d58de770b Remove `target.id` from the lifecycle
Base images may still express this identifier as a label,
but it will not be used by the lifecycle nor provided to buildpacks.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-08-03 11:49:54 -04:00
Natalie Arellano 6acf1a3a83 Remove CNB_TARGET_ID from the Buildpack API
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-08-03 11:45:58 -04:00
Natalie Arellano 8e1cab2deb
Merge pull request #373 from buildpacks/buildpack/0.10
Fix typo in the buildpack spec
2023-08-02 15:46:04 -04:00
Natalie Arellano 93d7824177
Merge pull request #372 from buildpacks/fix/typo
Fix typo in the buildpack spec
2023-08-02 15:45:15 -04:00
Natalie Arellano 9e95588c38 Fix typo in the buildpack spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-08-02 11:15:43 -04:00
Natalie Arellano 3324444812
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-08-02 10:02:53 -04:00
Natalie Arellano 6738424280 Merge branch 'main' into platform/0.12 2023-08-01 13:05:50 -04:00
Natalie Arellano a65feb79c3
Merge pull request #367 from buildpacks/fix/platform-vars
Fix: platform vars
2023-08-01 12:56:13 -04:00
Natalie Arellano 73cd163308 Merge branch 'platform/0.12' into fix/platform-vars 2023-08-01 12:41:36 -04:00
Natalie Arellano 42c59ca68d
Merge pull request #347 from buildpacks/run-image-extension/platform
Platform API changes for run image extension (Dockerfiles phase 3)
2023-08-01 12:37:54 -04:00
Natalie Arellano e6f047ed95
Merge pull request #335 from buildpacks/stack-removal/platform
Stack removal: platform changes
2023-08-01 11:57:00 -04:00
Natalie Arellano ce7b1f8066 Merge branch 'stack-removal/platform' into run-image-extension/platform 2023-08-01 10:18:52 -04:00
Natalie Arellano e7ac2228c8 Merge branch 'platform/0.12' into stack-removal/platform 2023-08-01 10:15:33 -04:00
Natalie Arellano 9f8a0fbe0d
Merge pull request #352 from jjbustamante/enhancement/issue-327-image-in-oci-layout-format
OCI layout spec changes
2023-08-01 10:08:30 -04:00
Natalie Arellano 134bdde60b Fix
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-08-01 10:06:00 -04:00
Natalie Arellano 4e63c2763b
Merge pull request #365 from buildpacks/buildpack/0.10
Finalize Buildpack/0.10
2023-07-31 15:30:58 -04:00
Natalie Arellano a133f824e7 Merge branch 'stack-removal/platform' into run-image-extension/platform 2023-07-31 10:12:12 -04:00
Natalie Arellano 85819652ea Add -daemon to restorer
This is needed when extensions were used to switch (but not extend) the run image
and we need to re-read the target data from the image config.

In such cases, we don't need the run image to exist in a registry,
because we don't need a manifest for kaniko.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-31 10:09:31 -04:00
Natalie Arellano bc1e7535a8 Add further guidance about target ID
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-31 10:03:03 -04:00
Sambhav Kothari f1ff20b6c6
Merge pull request #370 from buildpacks/fix/distribution-to-distro
Buildpack spec: rename distribution to distro
2023-07-28 22:53:46 +01:00
Sambhav Kothari d3b6f14a97
Merge pull request #369 from buildpacks/fix/optional-os-arch
Buildpack spec: clarify target requirements and matching logic
2023-07-28 22:53:20 +01:00
Sambhav Kothari bae7ccd319
Merge pull request #366 from BarDweller/main
Allow metadata for extension.toml
2023-07-28 22:52:33 +01:00
Natalie Arellano 4f4aa24be5 Update definition
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-28 10:20:22 -04:00
Natalie Arellano ea0bcde72f Update more label names
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-28 10:16:54 -04:00
Natalie Arellano d6db12261e
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-28 10:14:54 -04:00
Natalie Arellano a1512afa20 Rename distributions -> distros to match platform spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-28 10:09:53 -04:00
Natalie Arellano 92146ab4f9 Clarify target requirements and matching logic
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-28 10:03:59 -04:00
Natalie Arellano b4f953901c
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-24 16:37:56 -04:00
Natalie Arellano 5feb0b5206 Fix: platform-defined env vars are not actually overridable by buildpacks
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-24 13:19:08 -04:00
Natalie Arellano aec9203a46
Apply suggestions from code review
Co-authored-by: Terence Lee <hone02@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-24 13:03:36 -04:00
Natalie Arellano b0ccf7c48b
Merge branch 'stack-removal/platform' into run-image-extension/platform
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-24 12:49:59 -04:00
Natalie Arellano 92669c592c
Merge branch 'buildpack/0.10' into main
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-24 12:44:04 -04:00
Ozzy Osborne 053e59acf4 allow metadata for extension.toml
Signed-off-by: Ozzy Osborne <bardweller@gmail.com>
2023-07-17 15:23:28 -04:00
Natalie Arellano c0e281280b Specify the correct Buildpack API version
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-13 11:56:25 -04:00
Natalie Arellano 4704d14a66 Really fix modification of platform.md in this branch
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-13 11:53:04 -04:00
Natalie Arellano cbf43c7257 Revert "Merge branch 'main' into buildpack/0.10"
This reverts commit 26f60e3a20, reversing
changes made to e16c633fd0.
2023-07-13 11:49:46 -04:00
Natalie Arellano bf7d412cdb Fix modification of platform.md in this branch
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-13 11:33:59 -04:00
Natalie Arellano 26f60e3a20 Merge branch 'main' into buildpack/0.10 2023-07-13 11:31:46 -04:00
Natalie Arellano e16c633fd0
Merge pull request #336 from buildpacks/stack-removal/buildpack
Stack removal: buildpack changes
2023-07-13 11:28:36 -04:00
Natalie Arellano 7fd95e8a14
Update buildpack.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-12 17:37:35 -04:00
Natalie Arellano db802b2645
Apply suggestions from code review
Co-authored-by: Sambhav Kothari <skothari44@bloomberg.net>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-12 17:33:00 -04:00
Natalie Arellano c6dd08c7ab Clarify run image selection
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-06 11:11:17 -04:00
Natalie Arellano 3deb450694 Update analyzed.toml description
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-05 17:00:10 -04:00
Natalie Arellano 5f0936c003 Rebaser: update -force cases
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-07-05 10:31:32 -04:00
Natalie Arellano 910c3de050
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-14 13:55:57 -04:00
Natalie Arellano a05c4410f0
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-13 13:24:27 -04:00
Natalie Arellano 2caf4d6413 Update labels to update during rebase
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-13 13:10:43 -04:00
Natalie Arellano 22ceb7f910
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-13 13:07:42 -04:00
Natalie Arellano 5b7eadeb51 Clarify target matching
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-06 11:07:43 -04:00
Natalie Arellano 9587e8cd4b
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-06 11:05:26 -04:00
Natalie Arellano f2b87a29c1 Wording
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-06 11:03:32 -04:00
Natalie Arellano a2d78bb626 Add more information in deprecations
Also update table of contents

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-06 11:00:16 -04:00
Natalie Arellano 058949f58c Extensions specify targets
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 13:13:48 -04:00
Natalie Arellano 00cecc280f
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 13:08:27 -04:00
Natalie Arellano 9741479b7f Add when labels were deprecated
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 13:01:32 -04:00
Natalie Arellano 2e06dd6c3b Add more deprecations
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 13:00:38 -04:00
Natalie Arellano a29f7fea62
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 12:57:28 -04:00
Natalie Arellano 31dd9c3c94 `stack` key is deprecated.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 12:35:14 -04:00
Natalie Arellano d11f06c5de Merge branch 'stack-removal/platform' into run-image-extension/platform 2023-06-05 11:13:04 -04:00
Natalie Arellano 5f931eba5e Merge branch 'platform/0.12' into stack-removal/platform 2023-06-05 11:03:05 -04:00
Natalie Arellano 1fe9fd48af Added -analyzed to builder
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 10:41:15 -04:00
Natalie Arellano 46dc116a3b
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 10:40:51 -04:00
Natalie Arellano 8f6c0282cc
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-06-05 10:34:32 -04:00
Natalie Arellano e41fd672c8
Merge pull request #360 from hernandanielg/platform-output-update-stack
add lifecycle output to update stack after rebase
2023-05-31 17:37:36 -04:00
Natalie Arellano 32be97287f
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-05-31 17:37:12 -04:00
Hernan Garcia 8422bfedfd
Update platform.md
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Hernan Garcia <hernandanielg@gmail.com>
2023-05-23 11:44:25 -05:00
Natalie Arellano fb093a37ff
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-05-23 12:18:11 -04:00
Hernan Garcia d44ea666ac
Merge branch 'stack-removal/platform' into platform-output-update-stack
Signed-off-by: Hernan Garcia <hernandanielg@gmail.com>
2023-05-22 17:32:14 -05:00
Hernan Garcia c05b08eefc
Update platform.md
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Hernan Garcia <hernandanielg@gmail.com>
2023-05-16 09:38:34 -05:00
Hernan Garcia 417b853eba add lifecycle output to update stack after rebase
Signed-off-by: Hernan Garcia <hernan.garcia@percona.com>
2023-05-15 14:26:19 -05:00
Natalie Arellano 02112bcff8
Merge pull request #357 from sap-contributions/enhance-run-image-resolution
Enhanced run image resolution
2023-05-08 11:25:51 -04:00
Joe Kutner 83ce49fb34
Merge pull request #359 from joe-kimmel-vmw/fix-image-extension-link
fixes link to image extension md file
2023-04-08 14:29:30 -05:00
Joe Kimmel 56a6557701 fixes link to image extension md file
Signed-off-by: Joe Kimmel <jkimmel@vmware.com>
2023-04-08 11:38:53 -07:00
Juan Bustamante 24b950d6e8
reviewing and making some fix before undraft the PR
Signed-off-by: Juan Bustamante <jbustamante@vmware.com>
2023-03-27 15:41:22 -05:00
Juan Bustamante 9a967d2c8a
adding -layout-dir flag
Signed-off-by: Juan Bustamante <jbustamante@vmware.com>
2023-03-27 15:41:22 -05:00
Juan Bustamante f8c5409746
adding -layout-dir flag
Signed-off-by: Juan Bustamante <jbustamante@vmware.com>
2023-03-27 15:41:22 -05:00
Juan Bustamante c8d3936aa1
Apply suggestions from code review
Signed-off-by: Juan Bustamante <jbustamante@vmware.com>
2023-03-27 15:40:54 -05:00
Juan Bustamante e22d523b7b
Draft of the OCI layout spec changes
Signed-off-by: Juan Bustamante <jbustamante@vmware.com>
2023-03-27 15:39:43 -05:00
Natalie Arellano 77ab37b499
Update buildpack.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-20 16:56:17 -04:00
Johannes Dillmann d3069b8611 Apply feedback on run image resolution
Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>
Signed-off-by: Ralf Pannemans <ralf.pannemans@sap.com>
2023-03-14 13:24:11 +01:00
Natalie Arellano 7bec2312dc
Update buildpack.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 14:33:51 -05:00
Natalie Arellano b127b3da70 Merge branch 'buildpack/0.10' into stack-removal/buildpack 2023-03-03 14:33:24 -05:00
Natalie Arellano 8652ec5e49 Distribution can have only one version
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 14:31:17 -05:00
Natalie Arellano c985eeb170 Clarify matching criteria
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 14:29:14 -05:00
Natalie Arellano c0cf852657
Update buildpack.md
Co-authored-by: Terence Lee <hone02@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 14:20:04 -05:00
Natalie Arellano 1d39e567a9
Update buildpack.md
Co-authored-by: Terence Lee <hone02@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 14:19:47 -05:00
Natalie Arellano 8efb92a3ff
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 12:31:25 -05:00
Natalie Arellano 381ee53903 Add back base image
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 12:28:49 -05:00
Natalie Arellano c5d1691831 Merge branch 'platform/0.12' into stack-removal/platform 2023-03-03 12:25:59 -05:00
Natalie Arellano 1b0ea79c19 Init platform 0.12
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 12:18:47 -05:00
Natalie Arellano 9957239f0a Define base image and update TOC
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 12:16:42 -05:00
Natalie Arellano 7822f9a3d1
Update platform.md
Co-authored-by: Terence Lee <hone02@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-03 11:59:25 -05:00
Natalie Arellano 8a5929f3e5 Rename image -> images
In lists we pluralize

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-02 16:11:04 -05:00
Natalie Arellano 905754ee57 Rename image -> images
In lists we pluralize

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-03-02 16:09:52 -05:00
Pavel Busko 538e1d0ca8 Enhanced run image resolution
Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>
Co-authored-by: Pavel Busko <pavel.busko@sap.com>
Signed-off-by: Ralf Pannemans <ralf.pannemans@sap.com>
2023-03-01 17:08:37 +01:00
Natalie Arellano 4de1087877 Detector doesn't need run without run image extension
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-16 13:13:43 -05:00
Natalie Arellano 7c905e171b Rename stack -> run
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-16 13:11:46 -05:00
Natalie Arellano 4480ba7997 Rename stack.toml to run.toml and validate run image selection against run.toml
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-16 13:10:53 -05:00
Natalie Arellano 5e9784721a
Merge pull request #354 from buildpacks/platform/0.11
Finalize platform/0.11
2023-02-09 12:50:12 -05:00
Natalie Arellano 1947260dfc Alphabetize inputs
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-09 12:49:04 -05:00
Natalie Arellano 9828bf3cb4
Apply suggestions from code review
Co-authored-by: Joe Kutner <jpkutner@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-08 16:38:40 -05:00
Sambhav Kothari 4cacf53062
Merge pull request #353 from buildpacks/run-image-extension/buildpack
Buildpack API changes for run image extension (Dockerfiles phase 3)
2023-02-07 23:16:27 +00:00
Sambhav Kothari 80731d259d
Merge pull request #346 from buildpacks/jab/262-spec-update
Add `<previous-image>` to rebaser
2023-02-07 23:14:04 +00:00
Sambhav Kothari a79c895d63
Merge pull request #345 from buildpacks/rfc-109-env-build
Define CNB_BUILD_CONFIG_DIR behavior
2023-02-07 23:13:28 +00:00
Sambhav Kothari f074ff25b1
Apply suggestions from code review
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Sambhav Kothari <sambhavs.email@gmail.com>
2023-02-07 23:12:45 +00:00
Natalie Arellano b5e07386d8 Add run image extension to buildpack spec as per RFC 0105
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-07 13:59:15 -05:00
Sambhav Kothari 4eb5f02e13
Apply suggestions from code review
Signed-off-by: Sambhav Kothari <sambhavs.email@gmail.com>
2023-02-04 13:51:41 +00:00
Sambhav Kothari 9f5a417bf5
Merge pull request #349 from buildpacks/rfc-109-env-build-buildpack
Define CNB_BUILD_CONFIG_DIR buildpack behavior
2023-02-04 13:47:45 +00:00
Aidan Delaney 4cff1db694 Provide changes to platform.md only
Revert changes to buildpack.md so that platform.md can be merged into
appropriate branches.

Signed-off-by: Aidan Delaney <adelaney21@bloomberg.net>
2023-02-04 08:05:53 +00:00
Aidan Delaney f4424e9851 Describe Operator provided vars in CNB_BUILD_CONFIG_DIR
Describe how CNB_BUILD_CONFIG_DIR variables MUST be provided in the
lifecycle execution environment and the suffixes that are allowed.

Signed-off-by: Aidan Delaney <adelaney21@bloomberg.net>
2023-02-04 08:05:53 +00:00
Aidan Delaney 67b286d027 Provide changes to buildpack.md only
Revert changes to platform.md so that buildpack.md can be merged into
appropriate branches.

Signed-off-by: Aidan Delaney <adelaney21@bloomberg.net>
2023-02-04 08:02:32 +00:00
Aidan Delaney 3e227b5bd4 Describe Operator provided vars in CNB_BUILD_CONFIG_DIR
Describe how CNB_BUILD_CONFIG_DIR variables MUST be provided in the
lifecycle execution environment and the suffixes that are allowed.

Signed-off-by: Aidan Delaney <adelaney21@bloomberg.net>
2023-02-04 08:02:32 +00:00
Natalie Arellano 796133ad32
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-02 18:06:27 -05:00
Natalie Arellano ef56944eb5 Rename stack.toml to run.toml and validate run image selection against run.toml
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-02 17:38:29 -05:00
Natalie Arellano 156a8124db Add run image extension to platform spec as per RFC 0105
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2023-02-02 16:55:15 -05:00
Jesse Brown f1971a0e8e
Add `<previous-image>` to rebaser
Handles https://github.com/buildpacks/rfcs/pull/262

Signed-off-by: Jesse Brown <jabrown85@gmail.com>

Signed-off-by: Jesse Brown <jabrown85@gmail.com>
2023-01-23 14:10:21 -06:00
Aidan Delaney 2c5a8057c9 Define CNB_BUILD_CONFIG_DIR behavior
RFC #109 defines a directory allowing operators to set environment
variables for detect and build phases.  Specify how the buildpack
phases should implement the behavior.

Signed-off-by: Aidan Delaney <adelaney21@bloomberg.net>
2023-01-17 06:04:40 +00:00
Natalie Arellano 64d392cc34 More rename platform -> target
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 12:18:00 -05:00
Natalie Arellano b3c883b241 Rename distro -> distribution and update schema of analyzed.toml to match buildpack spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 12:14:59 -05:00
Natalie Arellano f865cb0057 Rename distros -> distributions
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 12:13:03 -05:00
Natalie Arellano ae5039b232 Update TOC
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 12:07:18 -05:00
Natalie Arellano eb6afa242a Remove other references to stacks and mixins
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 12:04:48 -05:00
Natalie Arellano 4165ecbae8 Add target env variables
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 11:56:36 -05:00
Natalie Arellano 1231cb2100 Rename distributions -> distros for parity with platform
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 11:44:33 -05:00
Natalie Arellano 941516ee28 Wording
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 11:38:39 -05:00
Natalie Arellano ae549c2d47 Update distributions
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 11:37:07 -05:00
Natalie Arellano 0373ea9f2a Rename architecture -> arch to match buildpack spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 10:49:48 -05:00
Natalie Arellano 84e00b6e36 Update `stacks` to `targets` in buildpack.toml
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 10:48:02 -05:00
Natalie Arellano ec8769e0b3 Small syntax change
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 10:43:26 -05:00
Natalie Arellano 10293e9549 Rename platform -> target
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 10:29:38 -05:00
Natalie Arellano d6141f2f8c Remove other references to stack
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-06 10:26:49 -05:00
Natalie Arellano cac2d6e009 Describe how analyzed is used by the detector
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-05 16:55:23 -05:00
Natalie Arellano c58ae52a92 Remove language about a "contract"
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-05 16:35:55 -05:00
Natalie Arellano f31e623e17 Fix nesting
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-05 16:32:53 -05:00
Natalie Arellano 3140c7db6d Add guidance around SBOM and rebase
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-05 16:21:11 -05:00
Natalie Arellano 58904f2692 Add derive missing values for known stack ID
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-05 16:18:38 -05:00
Natalie Arellano 4531d8cf44 Format TOC, fix TODO
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-05 16:11:56 -05:00
Natalie Arellano a2d3554db4 Update analyzer
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-05 16:09:42 -05:00
Sambhav Kothari 53d6f3d685
Merge pull request #334 from edmorley/patch-1
Fix schema version markdown rendering in project-descriptor.md
2022-12-04 19:59:14 +05:30
Ed Morley 2bf99f1e67
Fix schema version markdown rendering in project-descriptor.md
The `<...>` references must be wrapped with backticks, or they are not rendered at all, making the spec hard to follow.

Example of the current broken rendering:

> MUST be in form . or , where is equivalent to .0



Signed-off-by: Ed Morley <501702+edmorley@users.noreply.github.com>
2022-12-04 13:45:45 +00:00
Natalie Arellano d38828abcd Removed stack and mixin from terminology, updated stack section
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-12-01 09:58:28 -05:00
Sambhav Kothari 55c89179db
Merge pull request #328 from buildpacks/fix/process-display
Add buildpack API to io.buildpacks.build.metadata label
2022-11-23 14:22:03 +00:00
Sambhav Kothari e418312d79
Merge pull request #329 from buildpacks/fix/kaniko-dir
Clarify: `<kaniko-dir>` is an input to the extender
2022-11-23 14:21:48 +00:00
Sambhav Kothari da08950773
Merge pull request #332 from buildpacks/lifecycle-sbom
[RFC 0112] Platform API changes for lifecycle/launcher SBOM
2022-11-21 22:14:27 +00:00
Natalie Arellano a7c0c9d485 Clarify: `<kaniko-dir>` is an input to the extender
(This was added for the restorer but inadvertently omitted from the extender)

Also lints table borders and properly alphabetizes restorer inputs

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-11-10 16:18:59 -05:00
Natalie Arellano 8023c3d44a Add buildpack API to io.buildpacks.build.metadata label
For newer platform API (0.10 and above) we need to know the buildpack API to know
if the process args are overridable or not (when there is more than one element in the command,
the process is definitely from a newer buildpack, but if there is only one element in the command,
the args could be overridable or not overridable depending on the buildpack API).

Having this information will allow platforms such as pack to display process information to end users.

The lifecycle is already adding processes[0].buildpackID to the label, this updates the spec to reflect
the current implementation.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-11-10 13:02:21 -05:00
Natalie Arellano 47785e0bdb Init platform API 0.11
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-11-10 12:33:39 -05:00
Natalie Arellano 1f6a3adf43
Merge pull request #326 from buildpacks/buildpack/0.9
Finalize buildpack/0.9
2022-10-31 13:27:48 -04:00
Natalie Arellano de932c4b1d
Merge branch 'main' into buildpack/0.9 2022-10-31 13:27:14 -04:00
Natalie Arellano d8e7ab1677
Merge pull request #325 from buildpacks/platform/0.10
Finalize platform/0.10
2022-10-31 13:24:36 -04:00
Natalie Arellano a841d93958 Update buildpack api version in README
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-31 12:18:00 -04:00
Natalie Arellano a56442e85c
Merge pull request #321 from buildpacks/extensions-buildpack-api-phase-2
Buildpack api changes to support phase 2 of Dockerfiles implementation
2022-10-31 12:16:31 -04:00
Natalie Arellano 7ff3540571
Update image_extension.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-31 12:16:22 -04:00
Natalie Arellano 2d68317d9d Fix platform/0.10
7354e22195 erroneously
pulled in old versions of files besides platform.md

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-31 11:38:15 -04:00
Natalie Arellano 63f5a99fe7 Revert "Merge branch 'main' into platform/0.10"
This reverts commit ef59a245ec, reversing
changes made to 8f7d9e539a.
2022-10-31 11:27:49 -04:00
Natalie Arellano ef59a245ec Merge branch 'main' into platform/0.10 2022-10-31 11:26:51 -04:00
Natalie Arellano 8f7d9e539a Update api version in README and platform spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-31 11:22:58 -04:00
Natalie Arellano 72ed478986
Merge pull request #323 from buildpacks/jab/update-launcher-default-args
Update launcher spec to support default process args
2022-10-31 10:27:00 -04:00
Natalie Arellano 25fb1c093c
Merge pull request #324 from buildpacks/clarify-skip-restore-2
Makes creator spec internally consistent
2022-10-31 10:26:46 -04:00
Natalie Arellano ff4a5df825
Merge pull request #320 from buildpacks/extensions-platform-api-phase-2
Platform api changes to support phase 2 of Dockerfiles implementation
2022-10-31 10:26:35 -04:00
Natalie Arellano a2fc25e1e2 Update label
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-28 12:12:28 -04:00
Natalie Arellano c68faf97ea
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-28 12:05:49 -04:00
Natalie Arellano 4864b74f77 Add build-imag to analyzed.toml
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-21 12:09:19 -04:00
Natalie Arellano f0a3ef244a Remove <image> as an argument to the extender in favor of passing the reference via analyzed.toml
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-13 11:52:55 -04:00
Natalie Arellano 687d37182d
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-13 11:44:27 -04:00
Natalie Arellano 73c62df901 Makes creator spec internally consistent by clarifying that -skip-restore
still restores store.toml.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-13 11:40:21 -04:00
Natalie Arellano 71d495bb29 Image is a required argument for the extender
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-11 12:35:19 -04:00
Natalie Arellano b31f86dd80 Platform API changes for lifecycle/launcher SBOM RFC
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-10-10 15:24:08 -04:00
Natalie Arellano a9d2f4079c Extensions for Windows are not supported
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-09-22 16:51:33 -04:00
Natalie Arellano 8b5dea8b0f MUST -> SHOULD
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-09-22 16:04:14 -04:00
Natalie Arellano e56e65df25 Add input for kaniko cache TTL
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-09-14 13:22:22 -04:00
Natalie Arellano e6c4e936d2 Extensions should receive `CNB_EXTENSION_DIR`
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-09-14 13:18:05 -04:00
Jesse Brown 21caa23e55
Update launcher spec to support default process args
Issue #322

Signed-off-by: Jesse Brown <jabrown85@gmail.com>
2022-09-01 11:07:05 -05:00
Natalie Arellano 297b8e0067 Buildpack changes to support "phase 2" (build image extension) of Dockerfiles
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-08-24 15:17:30 -04:00
Natalie Arellano af4c2fc1b1 Update table of contents
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-08-24 14:55:05 -04:00
Natalie Arellano bd18d79bc8 Platform changes to support "phase 2" (build image extension) of Dockerfiles
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-08-24 13:25:05 -04:00
Natalie Arellano fbec0bccd3
Merge pull request #319 from buildpacks/extensions-platform-api
(Fix) Platform api changes to support phase 1 of Dockerfiles implementation
2022-08-24 10:39:10 -04:00
Natalie Arellano 7354e22195 Revert "Merge branch 'main' into extensions-platform-api"
This reverts commit 2d73272a51, reversing
changes made to a5acc10fba.
2022-08-24 09:56:28 -04:00
Natalie Arellano d02326e98c
Merge pull request #318 from buildpacks/revert-308-extensions-platform-api
Revert "Platform api changes to support phase 1 of Dockerfiles implementation"
2022-08-24 09:35:57 -04:00
Natalie Arellano 27ad6edce6 Remove output-dir in favor of generated-dir
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-08-24 09:34:45 -04:00
Natalie Arellano 105a8320bb
Revert "Platform api changes to support phase 1 of Dockerfiles implementation" 2022-08-24 09:27:19 -04:00
Natalie Arellano b4eeb43906
Merge pull request #308 from buildpacks/extensions-platform-api
Platform api changes to support phase 1 of Dockerfiles implementation
2022-08-23 13:11:31 -04:00
Sambhav Kothari be79544e91
Merge pull request #307 from buildpacks/extensions-buildpack-api
Buildpack api changes to support phase 1 of Dockerfiles implementation
2022-08-23 09:54:06 +01:00
Sambhav Kothari 847476cc93
Merge pull request #300 from buildpacks/buildpack-terminology
Add terminology section to the buildpack spec
2022-08-23 09:53:47 +01:00
Natalie Arellano 2d73272a51
Merge branch 'main' into extensions-platform-api 2022-08-16 11:30:59 -04:00
Natalie Arellano a5acc10fba
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-08-16 09:51:49 -04:00
Sambhav Kothari 24a550f021
Merge pull request #305 from mboldt/remove-shell-buildpack
Remove shell-specific logic from Buildpack API
2022-08-15 23:01:32 +01:00
Sambhav Kothari 85eaef18fa
Merge pull request #317 from buildpacks/distribution-codeowner
add platform team lead as a co-codeowner of distribution spec
2022-08-12 19:55:47 +01:00
Terence Lee 3decde5af0
add platform team lead as a co-codeowner of distribution spec
Signed-off-by: Terence Lee <hone02@gmail.com>
2022-07-27 14:16:05 -05:00
Mikey Boldt 322221a83a Apply suggestions from code review
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 32a191ae00 Consolidate process definition details in launch.toml description
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 7d23c69075 Move launcher execution details to platform spec.
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 46244c32f2 Add pointer to Platform spec for launch details
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 4d57c56354 Update buildpack.md
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 6a746a0da9 Update buildpack.md
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt e64c2620c2 Update buildpack.md
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 67a95b1ca6 Add process definition section and table
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 31d63c95d8 Fix grammar
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Mikey Boldt 4578d8ce4c Remove shell-specific logic
Closes #244

Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-07-15 15:55:15 -05:00
Natalie Arellano f9057980ed Remove line describing build.toml left in by mistake
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-14 15:34:14 -04:00
Natalie Arellano e403a02f3c Updates per 7/14 Working Group
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-14 15:32:01 -04:00
Natalie Arellano a2a0e2d6ab Link to build plan
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-12 13:44:25 -04:00
Natalie Arellano e8dda220d4 Clarify the meaning of `extension` in plan.toml
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-12 12:06:20 -04:00
Natalie Arellano be44080aee
Update platform.md
Co-authored-by: Javier Romero <rjavier@vmware.com>

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-12 11:57:48 -04:00
Natalie Arellano e9b350aa48
Update platform.md
Co-authored-by: Javier Romero <rjavier@vmware.com>

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-12 11:57:18 -04:00
Natalie Arellano 642eaf4ca9
Update platform.md
Co-authored-by: Javier Romero <rjavier@vmware.com>

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-12 11:57:03 -04:00
Natalie Arellano b900760f4d Update env var name
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-07 12:06:09 -04:00
Natalie Arellano ba59390341 Add nested output directories
A couple other small fixes.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-07-07 11:40:56 -04:00
Natalie Arellano 251c7a0a2a Fix generate exit code
The 80 range is for the launcher.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-29 14:01:19 -04:00
Natalie Arellano d6324b5488 Update terminology section for image extensions
Also make clear that generation is for extensions and build is for buildpacks

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-27 15:38:00 -04:00
Natalie Arellano 0253313313 Updates from PR review
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-27 11:48:04 -04:00
Natalie Arellano 942165b7ec Merge branch 'buildpack-terminology' into extensions-buildpack-api 2022-06-27 11:43:23 -04:00
Natalie Arellano 1d79fcb2bb Update with information about experimental features
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-24 15:48:59 -04:00
Natalie Arellano 4960f4800e
Merge pull request #315 from BarDweller/extensions-buildpack-api
cache svgs and set svg bg to white (helps with github darkmode)
2022-06-24 15:30:44 -04:00
Natalie Arellano b8e6b139f2 Updates per recent Working Group discussions
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-24 15:29:55 -04:00
Natalie Arellano b75f220834 More changes
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-16 15:01:37 -04:00
Natalie Arellano 8e70e24e4a Update rest of buildpack.md with terminology
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-16 14:57:32 -04:00
Natalie Arellano b34152e572 Merge branch 'buildpack/0.9' into buildpack-terminology 2022-06-16 14:43:05 -04:00
Natalie Arellano 2af7150830 Updates from Working Group
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-16 14:41:59 -04:00
BarDweller 6f4a4084ff cache svgs and set svg bg to white (helps with github darkmode)
Signed-off-by: BarDweller <bardweller@gmail.com>
2022-06-16 11:05:18 -04:00
Natalie Arellano 505b7d5472 Updates from implementation
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-15 17:27:21 -04:00
Natalie Arellano da18b780cf Add extension to build plan
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-15 17:18:51 -04:00
Natalie Arellano 9867543440 Updates from implementation
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-06-15 17:14:23 -04:00
Sambhav Kothari 2c57001625
Merge pull request #311 from buildpacks/samj1912-patch-1
Update codeowners to reflect governance structure
2022-06-15 14:43:41 -04:00
Sambhav Kothari 0866c0de7a
Merge branch 'main' into samj1912-patch-1 2022-06-02 00:43:22 +01:00
Sambhav Kothari 96af51ad82
Merge pull request #312 from buildpacks/samj1912-patch-2
Deprecate the CNB Bindings spec
2022-06-02 00:43:04 +01:00
Sambhav Kothari beaf4496bb
Merge pull request #310 from AidanDelaney/use-oci-registry
Replace docker registry with OCI registry
2022-05-25 22:08:47 +01:00
Sambhav Kothari 02a6472f16 Update codeowners to reflect governance structure
Signed-off-by: Sambhav Kothari <skothari44@bloomberg.net>
2022-05-25 20:52:56 +01:00
Sambhav Kothari e8289884b2
Deprecate the CNB Bindings spec 2022-05-25 18:55:58 +01:00
Aidan Delaney e16727d747 Replace docker registry with OCI registry
Update language to prefer the term "OCI registry" over "docker registry"

Signed-off-by: Aidan Delaney <adelaney21@bloomberg.net>
2022-05-17 11:53:50 +01:00
Natalie Arellano e669a537b7 Add extensions to build metadata
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-05-02 12:44:01 -04:00
Natalie Arellano 9a5955f464 Buildpack api changes to support phase 1 of Dockerfiles implementation
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-04-15 17:48:33 -04:00
Natalie Arellano 42a62e905d Platform api changes to support phase 1 of Dockerfiles implementation
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-04-15 16:24:04 -04:00
Natalie Arellano ff54426f2f Updates per PR feedback
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-04-15 10:54:57 -04:00
Terence Lee 11539381c1
Merge pull request #302 from buildpacks/buildpack/0.8
Finalize Buildpack API 0.8
2022-04-06 13:30:57 -05:00
Terence Lee 33e6b7f3e1
Merge branch 'main' into buildpack/0.8 2022-04-06 13:30:24 -05:00
Terence Lee c0f5149822
Merge pull request #304 from buildpacks/clarify-cnb-buildpack-dir
List CNB_BUILDPACK_DIR with other lifecycle provided variables
2022-04-06 13:30:00 -05:00
Terence Lee edac0f7214
Merge pull request #303 from buildpacks/platform/0.9
Finalize Platform API 0.9
2022-04-06 13:11:31 -05:00
Terence Lee b9860681f1
Merge branch 'main' into platform/0.9 2022-04-06 13:09:58 -05:00
Terence Lee f38b0b2ee9
Merge pull request #301 from buildpacks/bump-version-platform
Bump platform and buildpack api versions for upcoming releases
2022-04-06 13:06:02 -05:00
Natalie Arellano 1f9f3534c3 Bump buildpack api version in README
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-04-06 13:47:25 -04:00
Natalie Arellano 31b1cf7707 Move buildpack api version bump to other PR
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-04-06 13:46:07 -04:00
Natalie Arellano 4db387c7b0 List CNB_BUILDPACK_DIR with other lifecycle provided variables
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-04-05 12:52:19 -04:00
Natalie Arellano 58cd5509d5 Bump versions in README
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-30 15:55:03 -04:00
Natalie Arellano e5db594303 Bump platform version
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-30 15:05:18 -04:00
Emily Casey b0383cae78
Merge pull request #295 from mboldt/buildpack-args-to-env
Deprecate positional args to `build` and `detect` and add env vars
2022-03-30 13:20:04 -04:00
Emily Casey 9462d35c0a
Merge pull request #292 from buildpacks/source-date-epoch
Add mechanism for platform to provide image creation time
2022-03-30 13:17:44 -04:00
Natalie Arellano 7578a07e1f Add information about layer types
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-25 14:59:48 -04:00
Natalie Arellano ad46084e46 Add terminology section to the buildpack spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-25 14:37:42 -04:00
Mikey Boldt 80c933311b Restructure Deprecations section
- Remove API version headings.
- Add "Deprecated in Buildpack API X.Y" to each item.
- Order the list of deprecations newest-on-top.

Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-03-23 16:17:28 -05:00
Mikey Boldt 16d0b14d6b Remove deprecated positional args from main body
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-03-17 12:42:43 -05:00
Emily Casey b00386e688
Merge pull request #297 from buildpacks/fix-sbom-location
Change legacy sbom location to a top level combined one
2022-03-17 09:41:13 -04:00
Natalie Arellano a3ff2cbe38 Remove superfluous wording in reproducibility
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-16 10:09:25 -04:00
Sambhav Kothari 4ecdae57a9
Change legacy sbom location to a top level combined one
Signed-off-by: Sambhav Kothari <skothari44@bloomberg.net>
2022-03-09 23:23:27 +00:00
Emily Casey 2437d7b26d
Merge pull request #289 from buildpacks/proc-work-dir
Process specific working directory
2022-03-09 14:14:29 -05:00
Emily Casey 6261d3e756
Merge pull request #288 from buildpacks/remove-bom
Remove legacy bom for platform/0.9
2022-03-09 14:13:20 -05:00
Emily Casey 5e218b6669
Merge pull request #290 from buildpacks/proc-work-dir-platform
Process specific working directory
2022-03-09 14:00:31 -05:00
Natalie Arellano 69ca1c31b5 Specify where legacy boms can be found by the platform
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-09 13:57:57 -05:00
Natalie Arellano 6f6491046a Remove legacy bom for platform/0.9
Legacy boms output by older buildpacks will be ignored by the platform.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-09 13:53:38 -05:00
Terence Lee 1c2ce7beb0
Merge pull request #282 from buildpacks/extensions/project-descriptor/0.2
RELEASE: Project Descriptor 0.2
2022-03-09 12:02:44 -06:00
Mikey Boldt 296bb61893 Add attributes of `build` and `detect` input env vars
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-03-02 22:57:35 -06:00
Mikey Boldt 78f9907ba3 Whitespace
Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-03-02 22:55:10 -06:00
Mikey Boldt 3883a60d68 Deprecate positional args to `build` and `detect` and add env vars
Per RFC 100: https://github.com/buildpacks/rfcs/blob/main/text/0100-buildpack-input-vars.md

Fixes #294.

Signed-off-by: Mikey Boldt <mboldt@vmware.com>
2022-03-02 22:53:53 -06:00
Natalie Arellano e3ba9c3b7a Change working-directory to working-dir
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-02 18:04:54 -05:00
Natalie Arellano 968f7c4a58 Change working-directory to working-dir
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-02 18:01:59 -05:00
Natalie Arellano 7261f55aad
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-03-02 17:59:32 -05:00
Emily Casey 16d50fd299
Merge pull request #293 from buildpacks/fix/layers-sbom-path
Fix layers/sbom path in platform spec
2022-03-02 13:49:09 -05:00
Natalie Arellano 0ecb2fe305 Remove standalone lines, and add one more line
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-02-24 16:23:08 -05:00
Natalie Arellano e06c670cf3
Apply suggestions from code review
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Emily Casey <ecasey@vmware.com>
2022-02-24 16:19:02 -05:00
Terence Lee 4abc9521ed
add io.buildpacks.pre.group and io.buildpacks.post.group to the schema 2022-02-23 11:08:48 -06:00
Terence Lee d9d85ecb9a
io.buildpacks.env.build -> io.buildpacks.build.env
standardize the key usage, see https://github.com/buildpacks/spec/pull/222#discussion_r640224112
2022-02-23 10:58:35 -06:00
Natalie Arellano 843dfdec90 Fix incorrect layer sbom paths in platform spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-02-17 11:10:17 -05:00
Natalie Arellano d6060b7c0b Add details for exporter
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-02-16 13:56:02 -05:00
Natalie Arellano 57ea1c9464 Further clarification
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-02-16 10:57:46 -05:00
Natalie Arellano 270ca04619 Reorder things and clarify the working directory for exec.d and profile.d
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-02-11 10:53:22 -05:00
Natalie Arellano 61351819c1 Add mechanism for platform to provide image creation time.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-02-11 09:58:52 -05:00
Natalie Arellano f56cf851b6
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Emily Casey <ecasey@vmware.com>
2022-02-09 14:07:33 -05:00
Natalie Arellano a2358f32fa Process specific working directory
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-01-27 11:51:37 -05:00
Natalie Arellano b1c7fe155f Process specific working directory
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-01-27 11:30:25 -05:00
Emily Casey 674ed57f4d
Merge pull request #283 from buildpacks/decouple-bp-api
Make the platform api more agnostic about the buildpack api WRT bom support
2022-01-26 14:13:57 -05:00
Emily Casey e7c095954f
Merge pull request #286 from buildpacks/sbom-compat
Add deprecation path for buildpacks using the legacy BOM format.
2022-01-26 13:06:58 -05:00
Terence Lee e51d0e4260
Merge pull request #280 from buildpacks/clarify-skip-restore
Clarify what -skip-restore means
2022-01-19 13:12:35 -06:00
Terence Lee 7a4e3cc3ec
Merge pull request #278 from buildpacks/sbom-fix
Updates platform spec to improve performance when restoring launch sboms from daemon
2022-01-19 13:11:10 -06:00
Natalie Arellano d965c9ca31 Add deprecation path for buildpacks using the legacy BOM format.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-01-18 16:54:49 -05:00
Natalie Arellano afb61bb471
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Anthony Emengo <anthonyemengojr@gmail.com>
2022-01-14 15:23:38 -05:00
Natalie Arellano 39cff8268a
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Anthony Emengo <anthonyemengojr@gmail.com>
2022-01-14 15:23:31 -05:00
Natalie Arellano 2685b3ffd0
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Anthony Emengo <anthonyemengojr@gmail.com>
2022-01-14 15:23:25 -05:00
Natalie Arellano 23d9b6fe89
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Emily Casey <ecasey@vmware.com>
2022-01-13 14:53:41 -05:00
Natalie Arellano 9db2976bb0 Makes the platform api less aware of the buildpack api, thus decoupling the two.
The platform api doesn't need to care in which buildpack api legacy boms are supported, only that they might be.

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2022-01-13 11:17:50 -05:00
Terence Lee d0ea5ba164
Merge pull request #281 from buildpacks/reserved-ids
Add sbom as a reserved buildpack ID
2022-01-12 13:16:31 -06:00
Terence Lee e8f6b45b12
Merge pull request #279 from buildpacks/box-link-fix
Fixes link to SBOM section in buildpack spec
2022-01-12 13:14:36 -06:00
Terence Lee 6ed6d5fc16
Merge branch 'main' into extensions/project-descriptor/0.2 2022-01-12 13:05:27 -06:00
Terence Lee 1965ee0149
Merge branch 'main' into extensions/project-descriptor/0.2 2022-01-12 12:18:34 -06:00
Natalie Arellano 90dcd478d5 Add sbom as a reserved buildpack ID
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-12-15 12:22:16 -05:00
Natalie Arellano 0034fb475c Clarify the definition of -skip-restore
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-12-15 12:18:27 -05:00
Natalie Arellano dab2facfa0 Fixes link to SBOM section in buildpack spec
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-12-15 12:16:30 -05:00
Natalie Arellano d0aaf31408 Updates platform spec to improve performance when restoring launch sboms from daemon
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-12-15 12:10:14 -05:00
Joe Kutner d76b64ee76
Merge pull request #274 from buildpacks/jromero-patch-1
Bump platform API version to 0.8
2021-11-18 14:27:24 -06:00
Javier Romero 1e6e6d9c39
Bump platform API version to 0.8 2021-11-18 14:24:29 -06:00
Joe Kutner 74f91666fc
Merge pull request #273 from buildpacks/buildpack/0.7
Finalize Buildpack API 0.7
2021-11-18 14:12:02 -06:00
Joe Kutner 007b57d4a2
Merge branch 'main' into buildpack/0.7 2021-11-18 14:11:23 -06:00
Joe Kutner 5a8c298851
Merge pull request #272 from buildpacks/platform/0.8
Finalize Platform API 0.8
2021-11-18 14:07:14 -06:00
Joe Kutner 605c6af4b8
Merge branch 'main' into platform/0.8 2021-11-18 14:07:04 -06:00
Joe Kutner f12c2c0361
Merge pull request #268 from buildpacks/sbom-platform
Platform support for sBOM
2021-11-18 10:23:42 -06:00
Natalie Arellano 7a5d6c0035
Update buildpack.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Sambhav Kothari <sambhavs.email@gmail.com>
2021-11-17 14:56:08 -05:00
Natalie Arellano 50bb6cde9f
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Anthony Emengo <anthonyemengojr@gmail.com>
2021-11-16 16:44:25 -05:00
Natalie Arellano aaa04acfc5
Update platform.md
Signed-off-by: Natalie Arellano <narellano@vmware.com>

Co-authored-by: Anthony Emengo <anthonyemengojr@gmail.com>
2021-11-16 16:44:19 -05:00
Natalie Arellano cc19f13405 Add newline
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 16:04:12 -05:00
Natalie Arellano 44173d4451 Fix
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 15:31:45 -05:00
Natalie Arellano cf677135c2 Clarify that sbom files MUST be included only if they are present
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 15:27:13 -05:00
Natalie Arellano 0e69465985 Use SBOM everywhere
Also clarify that `bom` usage is for legacy buildpacks

Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 15:25:03 -05:00
Natalie Arellano a06a41546a Use SBOM everywhere
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 15:04:42 -05:00
Natalie Arellano 54cc51d484 Rename bom -> sbom
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 14:51:00 -05:00
Natalie Arellano 313fec23d9 Rename sbom-formats -> bom-formats
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 14:04:56 -05:00
Natalie Arellano 12aff6f25b Change key name
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 11:54:18 -05:00
Natalie Arellano 41d7cfd25f Distinguish between layer-associated and not layer-associated BOM files.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 11:51:48 -05:00
Natalie Arellano dac2a68767 Replace sBOM -> BOM to avoid confusion
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 11:25:36 -05:00
Natalie Arellano 6efa274a9a Replace sBOM -> BOM to avoid confusion
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 11:24:56 -05:00
Natalie Arellano 4f6a803ac5 Add bom.sha to where
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 10:37:56 -05:00
Natalie Arellano e79d4a077f Update wording to be more accurate
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-10 10:33:44 -05:00
Natalie Arellano 3d8aa0f759
Update buildpack.md
Co-authored-by: Javier Romero <root@jromero.codes>
2021-11-10 10:29:51 -05:00
Natalie Arellano 90b12fbc4b
Update buildpack.md
Co-authored-by: Javier Romero <root@jromero.codes>
2021-11-10 10:29:32 -05:00
Terence Lee 7b20dfa070
Merge pull request #253 from buildpacks/release-process
Adds RELEASE.md
2021-11-09 19:53:04 -06:00
Terence Lee 867af80a1c
Merge branch 'main' into release-process 2021-11-09 19:52:56 -06:00
Natalie Arellano 9b6f7c5d7c Explicitly specify the supported sBOM media types.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-09 10:29:58 -05:00
Natalie Arellano 9180211f09 Fix
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-03 17:30:20 -04:00
Natalie Arellano ef75f7646a Buildpack support for sBOM
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-03 17:29:05 -04:00
Natalie Arellano 7d5d953f98 Add more detail
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-03 15:13:47 -04:00
Natalie Arellano 7078e56924 Platform support for sBOM
Signed-off-by: Natalie Arellano <narellano@vmware.com>
2021-11-03 14:14:58 -04:00
Terence Lee 32c32d0c6a
Merge pull request #265 from schneems/schneems/integer-api-major-minor
Clarify buildpack API must be u64 numbers
2021-11-03 12:22:04 -05:00
Terence Lee 87c6873efd
move contributing guidelines into CONTRIBUTING.md
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-11-03 10:02:14 -05:00
Richard Schneeman ef498f05c3 Clarify buildpack API must be u64 numbers
Currently the spec doesn't state what <major> and <minor> are expected to be.

I am proposing that we scope them to only contain numbers which seems to be what the lifecycle is already expecting:

a7428a55c2/api/version.go (L13-L16)

Going beyond specifying they should be numbers, I also want to specify "unsigned 64 bit" integer which further bounds api versions to be greater than (or equal to) zero and less than (or equal to) 1,844,674,4073,709,551,615.

Signed-off-by: Richard Schneeman <rschneeman@salesforce.com>
2021-10-27 15:30:22 -05:00
Terence Lee 0149a7bf64
Merge pull request #262 from buildpacks/merge-main-into-dist-0.3
Merge main into dist 0.3
2021-10-27 13:17:05 -05:00
Javier Romero cb87b84c33
Merge branch 'main' into merge-main-into-dist-0.3 2021-10-27 12:13:57 -05:00
Javier Romero 0dbd9ff9f8 Merge main into distribution/0.3
Signed-off-by: Javier Romero <rjavier@vmware.com>
2021-10-20 11:24:06 -05:00
Emily Casey 594c894a79 Adds RELEASE.md
Documents the lifecycle of a spec release.

Signed-off-by: Emily Casey <ecasey@vmware.com>
2021-09-28 18:15:32 -04:00
Terence Lee b474056962
Merge pull request #246 from samj1912/patch-1
Add schema version to the example
2021-09-15 13:10:09 -05:00
Sambhav Kothari 86a8e409d4
Add schema version to the example
Signed-off-by: Sambhav Kothari <skothari44@bloomberg.net>
2021-08-25 23:47:53 +05:30
Emily Casey b5589333e6
Merge pull request #233 from buildpacks/jkutner/rfc-0078
Group additions to Builder order
2021-08-25 14:07:48 -04:00
Joe Kutner 6342b5f1ea
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>

Co-authored-by: Terence Lee <hone02@gmail.com>
2021-08-25 11:01:46 -05:00
Joe Kutner d6c3d42361
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-08-25 11:01:41 -05:00
Joe Kutner 1578794653
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>

Co-authored-by: Javier Romero <rjavier@vmware.com>
2021-08-25 11:01:00 -05:00
Emily Casey 7a1125a2c8
Merge pull request #242 from buildpacks/update-distribution-api-version
Updates distribution API version in spec and README
2021-08-18 12:42:35 -04:00
Emily Casey 6171242bdf
Merge pull request #241 from buildpacks/update-buildpack-api-version
Updates buildpack API version in spec and README
2021-08-18 12:42:19 -04:00
Emily Casey ce74b2d553 Updates distribution API version in spec and README
Updates distribution API version to 0.3 in README and platform spec.

Signed-off-by: Emily Casey <ecasey@vmware.com>
2021-08-11 13:53:58 -04:00
Emily Casey a6ee48bcb4 Updates buildpack API version in spec and README
Updates buildpack API version to 0.7 in README and platform spec.

Signed-off-by: Emily Casey <ecasey@vmware.com>
2021-08-11 13:49:04 -04:00
Joe Kutner 06e0dca0e4
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-07-28 13:22:02 -05:00
Joe Kutner 6b5f954d85
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-07-28 13:21:56 -05:00
Joe Kutner 5ba5b581f1
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>

Co-authored-by: Natalie Arellano <narellano@vmware.com>
2021-07-28 13:20:45 -05:00
Emily Casey 38eb61d93e
Merge pull request #232 from buildpacks/jkutner-patch-1
Add inline buildpack example to project-desc spec
2021-07-21 14:12:13 -04:00
Emily Casey 259af9f8e1
Merge pull request #237 from Malax/patch-1
Fix typo in buildpack.md
2021-07-07 14:23:17 -04:00
Emily Casey 97db3fc928
Merge pull request #236 from buildpacks/remove-rfc-lang
Remove RFC language from spec
2021-07-07 14:22:02 -04:00
Emily Casey f93ab0fc4a
Merge pull request #235 from buildpacks/fix-layer-examples
Fix layer examples
2021-07-07 14:21:37 -04:00
Joe Kutner 8691ba31fc
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>

Co-authored-by: Natalie Arellano <narellano@vmware.com>
2021-07-02 08:52:48 -05:00
Manuel Fuchs 183b3b35d8
Fix typo in buildpack.md
Signed-off-by: Manuel Fuchs <manuel.fuchs@salesforce.com>
2021-07-01 13:39:13 +02:00
Stephen Levine 873a537c71
Fix typo
Signed-off-by: Stephen Levine <stephen.levine@gmail.com>

Co-authored-by: Joe Kutner <jpkutner@gmail.com>
2021-06-28 13:59:10 -04:00
Stephen Levine ed418f46bf
Remove RFC language from spec
Signed-off-by: Stephen Levine <stephen.levine@gmail.com>
2021-06-28 01:56:22 -04:00
Stephen Levine 65b4308279
Fix layer examples
Signed-off-by: Stephen Levine <stephen.levine@gmail.com>
2021-06-28 01:50:20 -04:00
Joe Kutner b6bbe6c489
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>

Co-authored-by: Javier Romero <rjavier@vmware.com>
2021-06-25 21:00:50 -05:00
Joe Kutner 8781b7f579
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>

Co-authored-by: Javier Romero <rjavier@vmware.com>
2021-06-25 21:00:39 -05:00
Joe Kutner c6b6731139
Added spec for RFC-0078: Group additions to Builder order
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-06-25 14:32:00 -05:00
Joe Kutner 4a76f1ed7e
Add inline buildpack example to project-desc spec
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-06-24 13:01:23 -05:00
Emily Casey 8dbc061d18
Merge pull request #224 from buildpacks/jkutner/inline-buildpacks
Add spec for RFC-0048 Inline Buildpacks
2021-06-23 14:11:44 -04:00
Joe Kutner c23b107f7f
Merge pull request #222 from buildpacks/project-descriptor-reverse-domains
Project Descriptor Reverse Domain RFC
2021-06-21 15:18:46 -05:00
Joe Kutner ea91afc6ab
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-06-21 07:45:44 -05:00
Joe Kutner 3b2f73fce3
Update extensions/project-descriptor.md
Signed-off-by: Joe Kutner <jpkutner@gmail.com>

Co-authored-by: Javier Romero <rjavier@vmware.com>
2021-06-21 07:45:22 -05:00
Joe Kutner a4d4d0dbbf
Added definition of inline buildpack to project-desc
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-05-28 22:19:31 -05:00
Joe Kutner 7fa0df9143
Added inline buildpack spec to project-descriptor
Signed-off-by: Joe Kutner <jpkutner@gmail.com>
2021-05-28 22:15:32 -05:00
Terence Lee 3d25ba0580
use more practical examples for metadata
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:26 -05:00
Terence Lee f665688f42
change Schema Version API to just Schema Versian
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:26 -05:00
Terence Lee 0f6a82b739
copy the API Version rules per @ekcasey's suggestion.
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:26 -05:00
Terence Lee f238e0f14b
drop the `build` key per @jkutner's suggestion
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:26 -05:00
Terence Lee 2f6e5bce5e
Update extensions/project-descriptor.md
Co-authored-by: Emily Casey <ecasey@vmware.com>
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:26 -05:00
Terence Lee 0231e6e22d
Update extensions/project-descriptor.md
Co-authored-by: Emily Casey <ecasey@vmware.com>
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:26 -05:00
Terence Lee 26f59bb410
for consistency use - over _
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:26 -05:00
Terence Lee 9f1e939cfe
change api -> schema_version
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:25 -05:00
Terence Lee ad3d13f384
make optional more clear
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:25 -05:00
Terence Lee 89f25a447d
update with feedback from @ekcasey
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:25 -05:00
Terence Lee 4fd34a17e1
add Project Descriptor Reverse Domain RFC
Signed-off-by: Terence Lee <hone02@gmail.com>
2021-05-26 20:22:25 -05:00
Joe Kutner afb4ea7c11
Merge pull request #217 from samj1912/project-descriptor
Add builder to the project descriptor specification
2021-05-07 11:17:34 -05:00
Sambhav Kothari b79ca5cbcf
Merge branch 'main' into project-descriptor 2021-05-01 00:21:40 +01:00
Emily Casey bb25b804ea
Merge pull request #210 from dwillist/0061_relax_mixin_contract
relax mixin contract for buildpacks
2021-04-28 14:10:51 -04:00
dwillist fec7e73861 remove platform changes, they are in a separate pr
Signed-off-by: dwillist <dthornton@vmware.com>
2021-04-15 09:27:17 -04:00
Sambhav Kothari 6fe8e87165
Merge branch 'main' into project-descriptor 2021-04-07 12:51:30 +01:00
Sambhav Kothari 8ef0a623b8 Add builder to the project descriptor specification
Signed-off-by: Sambhav Kothari <skothari44@bloomberg.net>
2021-04-01 13:06:30 +01:00
16 changed files with 1645 additions and 806 deletions

View File

@ -1 +1,6 @@
* @buildpacks/core-team
/platform.md @buildpacks/implementation-team-lead @buildpacks/platform-team-lead
/buildpack.md @buildpacks/bat-team-lead @buildpacks/implementation-team-lead
/distribution.md @buildpacks/distribution-team-lead @buildpacks/platform-team-lead
/extensions/buildpack-registry.md @buildpacks/distribution-team-lead
/extensions/project-descriptor.md @buildpacks/platform-team-lead
* @buildpacks/team-leads

13
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,13 @@
## Contributing to a Release
Contributions should generally adhere to the following guidelines:
1. Contributions should always be made to a release branch and never to the `main` branch, except when modifying [`README.md`](README.md) or files which are not formally part of the specification such as this one ([`RELEASE.md`](RELEASE.md)).
1. Other than the first commit (which bumps the specification version in `README.md`), all PRs to a given release branch should only modify the named specification (e.g. PRS to `buildpack/0.5` should exclusively modify [`buildpack.md`](buildpack.md)). If a contributor wishes to modify two specification files (for example to move contend from `buildpack.md` to `platform.md`) two PRs should be opened against the release branches for the respective specifications.
1. A PR should either:
1. Implement an issue that has been scheduled in an upcoming milestone, in which case it should point at the branch that matches the milestone.
1. Make a non-functional typographical or organizational improvement, in which case it should point at the branch for the next release of the given specification.
1. Please do not open a PR implementing an issue that is not yet associated milestone. Instead, please comment on the issue and work with the core team to get it scheduled.
1. Please do not propose major changes to the specification exclusively via a PR to this repo. Instead, please propose an [RFC](https://github.com/buildpacks/rfcs) or provide feedback via an issue so that it may eventually be addressed in an RFC. However, a draft PR may accompany/clarify an RFC.
See [`RELEASE.md`](./RELEASE.md) for more details on the release process.

4
OWNERS
View File

@ -1,4 +0,0 @@
Stephen Levine, Pivotal <slevine@pivotal.io> (@sclevine)
Ben Hale, Pivotal <bhale@pivotal.io> (@nebhale)
Terence Lee, Salesforce <hone02@gmail.com> (@hone)
Joe Kutner, Salesforce <jkutner@salesforce.com> (@jkutner)

View File

@ -50,6 +50,6 @@ When the specification refers to a path in the context of an OCI layer tar (e.g.
These documents currently specify:
- Buildpack API: `0.6`
- Distribution API: `0.2`
- Platform API: `0.7`
- Buildpack API: `0.10`
- Distribution API: `0.3`
- Platform API: `0.14`

42
RELEASE.md Normal file
View File

@ -0,0 +1,42 @@
# Release Process
## Scaffolding a New Release
When planning a spec release a maintainer should:
1. Create a milestone for the release (e.g. [`Buildpack 0.5`](https://github.com/buildpacks/spec/milestone/9))
1. Create a release branch from `main` branch with name `<spec>/<version>` (e.g. `buildpack/0.5`) or `extensions/<spec>/version>` for extension specifications.
1. Update the version of the relevant spec in `README.md` and the specification file (e.g. see commit [791363e](https://github.com/buildpacks/spec/commit/791363e329d22a7a116ac09df6e8c739ef21383e)).
1. Push the branch to the repo.
## Release Planning
Issues that are scheduled for a given release should be added to the milestone. The core team will regularly review and adjust the contents of upcoming milestones at the weekly [core team sync](https://github.com/buildpacks/community#core-team).
## Accepting Contributions to a Release
When a PR is opened, the first core team member to review should:
1. Convert to draft if the PR implements an issue that has not been scheduled in a milestone.
1. Ensure the PR is pointed at the correct branch.
1. Request changes if the PR modifies any of the other specifications.
1. Add the PR to a milestone, if this was not done already.
1. Add the matching `api/*` label if this was not done already (e.g. [api/buildpack](https://github.com/buildpacks/spec/pulls?q=is%3Apr+label%3Aapi%2Fbuildpack+is%3Aopen) )
Spec changes must be approved by a super-majority of the core team.
## Finalizing the Release
When all issues and PRs in a given milestone are complete, a core team member may:
1. Create a PR to "finalize" the release, merge the release branch to `main`.
1. Create a draft release and write release notes.
## Approving the Final Release
All core team members and any interested maintainers should:
1. Review the release in its entirety and provide last minute feedback as needed.
1. Review the release notes if they desire.
1. Approve the final PR.
## Cutting the Release
Once the final PR has the required approvals, the person that opened it should:
1. Merge the PR.
1. Publish the release.
1. Close the milestone.
1. Delete the release branch.

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@ This document specifies the artifact format, delivery mechanism, and order resol
## Distribution API Version
This document specifies Distribution API version `0.2`.
This document specifies Distribution API version `0.3`.
Distribution API versions:
- MUST be in form `<major>.<minor>` or `<major>`, where `<major>` is equivalent to `<major>.0`

View File

@ -1,109 +1,3 @@
# Bindings
# Bindings (DEPRECATED)
Bindings are exposed inside of a container during the detect, build, and launch phases of the lifecycle. The contents of bindings MUST NOT be part of the image created after the detect and build phases.
## Table of Contents
<!-- Using https://github.com/yzhang-gh/vscode-markdown to manage toc -->
- [Bindings](#bindings)
- [Table of Contents](#table-of-contents)
- [Detect and Build Phases](#detect-and-build-phases)
- [Metadata](#metadata)
- [Secret](#secret)
- [Example Directory Structure](#example-directory-structure)
- [Launch Phase](#launch-phase)
- [Metadata](#metadata-1)
- [Secret](#secret-1)
- [Example Directory Structure](#example-directory-structure-1)
## Detect and Build Phases
Before initiating the detect or build phases on the build-image, the platform MUST provide any bindings as files in `<platform>/bindings/<binding-name>` with directory names matching the name of the binding. Binding names MUST match `[a-z0-9\-\.]{1,253}`.
### Metadata
Within each binding directory the platform MUST provide a `metadata` directory containing `kind` and `provider` files. The value of the `kind` file MUST contain an abstract classification of the binding. The value of the `provider` file MUST identify the provider of this binding.
In addition to the required files, the `metadata` directory MAY contain additional metadata about the binding with file names and contents matching the metadata names and contents.
The collection of files within the directory MAY change between detect and build phase pairs. The collection of files within the directory MUST NOT change during the detect and build phase pair.
The contents of the files MAY change between detect and build phase pairs. The contents of the files MUST NOT change during the detect and build phase pair.
### Secret
Within each binding directory the platform MAY provide a `secret` directory containing the secret associated with the binding with filenames matching the secret key names.
During the detect and build phases, if the `secret` directory exists, the contents of the files MAY be one of the following:
* the values of the secret keys
* an indirect pointer to another system for value resolution
If the `secret` directory exists, the collection of files within the directory MAY change between detect and build phase pairs. The collection of files within the directory MUST NOT change during the detect and build phase pair.
If the `secret` directory exists, the contents of the files MAY change between detect and build phase pairs. The contents of the files MUST NOT change during the detect and build phase pair.
### Example Directory Structure
```plain
<platform>
└── bindings
├── primary-db
│ └── metadata
│ ├── connection-count
│ ├── kind
│ └── provider
└── secondary-db
├── metadata
│ ├── connection-count
│ ├── kind
│ └── provider
└── secret
├── endpoint
├── password
└── username
```
## Launch Phase
During the launch phase, the platform MUST provide any bindings as files in `$CNB_BINDINGS/<binding-name>` with directory names matching the name of the binding. Binding names MUST match `[a-z0-9\-\.]{1,253}`. The `CNB_BINDINGS` environment variable MUST be declared and can point to any valid filesystem location.
### Metadata
Within each binding directory the platform MUST provide a `metadata` directory containing `kind` and `provider` files. The value of the `kind` file MUST contain an abstract classification of the binding. The value of the `provider` file MUST identify the provider of this binding.
In addition to the required files, the `metadata` directory MAY contain additional metadata about the binding with file names and contents matching the metadata names and contents.
The collection of files within the directory MAY change between launches. The collection of files within the directory MUST NOT change during the launch phase.
The contents of the files MAY change between launches. The contents of the files MAY change during the launch phase.
### Secret
Within each binding directory the platform MUST provide a `secret` directory containing the secret associated with the binding with filenames matching the secret key names.
During the launch phase, the contents of the files MAY be one of the following:
* the values of the secret keys
* an indirect pointer to another system for value resolution
The collection of files within the directory MAY change between launches. The collection of files within the directory MUST NOT change during the launch phase.
The contents of the files MAY change between launches. The contents of the files MAY change during the launch phase.
### Example Directory Structure
```plain
custom-bindings-location
├── primary-db
│ ├── metadata
│ │ ├── connection-count
│ │ ├── kind
│ │ └── provider
│ └── secret
│ ├── endpoint
│ ├── password
│ └── username
└── secondary-db
├── metadata
│ ├── connection-count
│ ├── kind
│ └── provider
└── secret
├── endpoint
├── password
└── username
```
## NOTE - The CNB Bindings Spec has been deprecated in favor of https://github.com/servicebinding/spec

View File

@ -7,81 +7,154 @@ A project descriptor is a file that MAY contain configuration for apps, services
<!-- Using https://github.com/yzhang-gh/vscode-markdown to manage toc -->
- [Project Descriptor](#project-descriptor)
- [Table of Contents](#table-of-contents)
- [Schema](#schema)
- [`[project]`](#project)
- [`[[project.licenses]]`](#projectlicenses)
- [`[build.include]` and `[build.exclude]`](#buildinclude-and-buildexclude)
- [`[[build.buildpacks]]`](#buildbuildpacks)
- [`[[build.env]]`](#buildenv)
- [`[metadata]`](#metadata)
- [Schema Version](#schema-version)
- [Special Value Types](#special-value-types)
- [Top Level Tables](#top-level-tables)
- [Non-`_` Tables](#non-_-tables)
- [`_`](#_)
- [`_.licenses` (optional)](#_licenses-optional)
- [`_.metadata` (optional)](#_metadata-optional)
- [`io.buildpacks` (optional)](#iobuildpacks-optional)
- [`io.buildpacks.builder` (optional)](#iobuildpacksbuilder-optional)
- [`io.buildpacks.include` (optional) and `io.buildpacks.exclude` (optional)](#iobuildpacksinclude-optional-and-iobuildpacksexclude-optional)
- [`io.buildpacks.group` (optional)](#iobuildpacksgroup-optional)
- [`io.buildpacks.pre.group` (optional)](#iobuildpackspregroup-optional)
- [`io.buildpacks.post.group` (optional)](#iobuildpackspostgroup-optional)
- [`io.buildpacks.build.env` (optional)](#iobuildpacksbuildenv-optional)
- [Example](#example)
## Schema
## Schema Version
The TOML schema of the project descriptor is the following:
This document specifies Project Descriptor Schema Version `0.2`.
The Schema Version format follows the form of the [Buildpack API Version](https://github.com/buildpacks/spec/blob/main/buildpack.md#buildpack-api-version):
* MUST be in form `<major>.<minor>` or `<major>`, where `<major>` is equivalent to `<major>.0`
* When `<major>` is greater than 0, increments to `<minor>` SHALL exclusively indicate additive changes
## Special Value Types
* `schema-version` - A string that follows the format of [Buildpack API Version](https://github.com/buildpacks/spec/blob/main/buildpack.md#buildpack-api-version).
* `uri` - A string that follows the format of [RFC3986](https://tools.ietf.org/html/rfc3986).
## Top Level Tables
### Non-`_` Tables
All other tables besides `_` will use reverse domains, i.e. buildpacks.io will be `[io.buildpacks]`. These tables can be optionally versioned with a schema version number using the `schema-version` field. All these tables are optional.
### `_`
The TOML schema of the project section of the project descriptor:
```toml
[project]
[_]
schema-version = "<schema-version>"
id = "<string>" # machine readable
name = "<string>" # human readable
version = "<string>"
authors = ["<string>"]
documentation-url = "<url>"
source-url = "<url>"
documentation-url = "<uri>"
source-url = "<uri>"
[[project.licenses]]
[[_.licenses]]
type = "<string>"
uri = "<uri>"
[build]
include = ["<string>"]
exclude = ["<string>"]
[[build.buildpacks]]
id = "<string>"
version = "<string>"
uri = "<string>"
[[build.env]]
name = "<string>"
value = "<string>"
[metadata]
[_.metadata]
# additional arbitrary keys allowed
```
The following sections describe each part of the schema in detail.
## `[project]`
The top-level `[project]` table MAY contain configuration about the repository, including `id` and `version`. It MAY also include metadata about how it is authored, documented, and version controlled.
The `project.id`
The top-level `_` table MAY contain configuration about the repository, including `id` and `version`. It MAY also include metadata about how it is authored, documented, and version controlled. It MUST contain `schema-version` to denote which schema version the descriptor is using.
```toml
[project]
[_]
schema-version = "<string>"
id = "<string>"
name = "<string>"
version = "<string>"
authors = ["<string>"]
documentation-url = "<uri>"
source-url = "<uri>"
```
* `schema-version` - version identifier for the schema of the `_` table and structure of the project descriptor file.
* `id` - (optional) the machine readable identifier of the project (ex. "com.example.myservice")
* `name` - (optional) the human readable name of the project (ex. "My Example Service")
* `version` - (optional) and arbitrary string representing the version of the project
* `authors` - (optional) the names and/or email addresses of the project's authors
* `documentation-url` - (optional) a URL to the documentation for the project
* `documentation-url` - (optional) a URL to the documentation for the project.
* `source-url` - (optional) a URL to the source code for the project
## `[[project.licenses]]`
#### `_.licenses` (optional)
An optional list of project licenses.
This table MAY contain project licenses.
```toml
[[_.licenses]]
type = "<string>"
uri = "<uri>"
```
* `type` - This MAY use the [SPDX 2.1 license expression](https://spdx.org/spdx-specification-21-web-version), but is not limited to identifiers in the [SPDX Licenses List](https://spdx.org/licenses/).
* `uri` - If this project is using a nonstandard license, then this key MAY be specified in lieu of or in addition to `type` to point to the license.
## `[build.include]` and `[build.exclude]`
#### `_.metadata` (optional)
A optional list of files to include in the build (while excluding everything else):
This is a free form table for users to use as they see fit. The keys in this table are not validated.
```toml
[build]
[_.metadata.foo]
checksum = "a28a0d7772df1f918da2b1102da4ff35"
```
### `io.buildpacks` (optional)
This is the Cloud Native Buildpacks' section of the project descriptor. The TOML schema is the following:
```
[io.buildpacks]
builder = "<string>"
include = ["<string>"]
exclude = ["<string>"]
[[io.buildpacks.group]]
id = "<string>"
version = "<string>"
uri = "<string>"
[io.buildpacks.group.script]
api = "<buildpack api>"
shell = "<string (optional default=/bin/sh)>"
inline = "<script contents>"
[[io.buildpacks.pre.group]]
id = "<string>"
version = "<string>"
uri = "<string>"
[[io.buildpacks.post.group]]
id = "<string>"
version = "<string>"
uri = "<string>"
[[io.buildpacks.build.env]]
name = "<string>"
value = "<string>"
```
#### `io.buildpacks.builder` (optional)
This is the builder image to use (ex. "cnbs/sample-builder:bionic").
#### `io.buildpacks.include` (optional) and `io.buildpacks.exclude` (optional)
An optional list of files to include in the build (while excluding everything else):
This MAY contain a list of files to include in the build (while excluding everything else):
```toml
[io.buildpacks]
include = [
"cmd/",
"go.mod",
@ -93,7 +166,7 @@ include = [
A list of files to exclude from the build (while including everything else):
```toml
[build]
[io.buildpacks]
exclude = [
"spec/"
]
@ -101,52 +174,77 @@ exclude = [
The `.gitignore` pattern is used in both cases. The `exclude` and `include` keys are mutually exclusive, and if both are present the Lifecycle will error out.
Any files that are excluded (either via `include` or `exclude`) MUST BE excluded before the build (i.e. not only exluded from the final image).
Any files that are excluded (either via `include` or `exclude`) MUST BE excluded before the build (i.e. not only excluded from the final image).
If both `exclude` and `include` are defined, the build process MUST result in an error.
## `[[build.buildpacks]]`
#### `io.buildpacks.group` (optional)
The build table MAY contain an array of buildpacks. The schema for this table is:
This table MAY contain an array of buildpacks. The schema for this table is:
```toml
[[build.buildpacks]]
[[io.buildpacks.group]]
id = "<buildpack ID (optional)>"
version = "<buildpack version (optional default=latest)>"
uri = "<url or path to the buildpack (optional default=urn:buildpack:<id>)"
[io.buildpacks.group.script]
api = "<buildpack api>"
shell = "<string (optional default=/bin/sh)>"
inline = "<script contents>"
```
This defines the buildpacks that a platform should use on the repo.
Either an `id` or a `uri` MUST be included, but MUST NOT include both. If `uri` is provided, `version` MUST NOT be allowed.
Either a `version`, `uri`, or `script` table MUST be included, but MUST NOT include any combination of these elements.
## `[[build.env]]`
The `api` and `inline` key MUST be defined in the `script` table. The value of the `inline` key will be used as the build script for the [inline buildpack](#Definitions) this entry represents. The value of the `api` key defines its Buildpack API compatibility, and the `shell` key defines the shell used to execute the `inline` script.
Used to set environment variables at build time, for example:
#### `io.buildpacks.pre.group` (optional)
This table MAY contain a list of buildpacks to insert at the beginning of every group. Given an order with multiple groups, the list of `pre` buildpacks will be inserted at the beginning of each group such that they are run as if they were originally included in the group. Each phase of the injected buildpack(s) will execute as normal.
The schema for this table is identical to [`io.buildpacks.group`](#iobuildpacksgroup-optional)
#### `io.buildpacks.post.group` (optional)
This table MAY contain a list of buildpacks to insert at the end of every group. Given an order with multiple groups, the list of `post` buildpacks will be inserted at the end of each group such that they are run as if they were originally included in the group. Each phase of the injected buildpack(s) will execute as normal.
The schema for this table is identical to [`io.buildpacks.group`](#iobuildpacksgroup-optional)
#### `io.buildpacks.build.env` (optional)
This table MAY be used to set environment variables at build time, for example:
```toml
[[build.env]]
[[io.buildpacks.build.env]]
name = "JAVA_OPTS"
value = "-Xmx1g"
```
## `[metadata]`
## Terminology
This table includes a some defined keys, but additional keys are not validated. It can be used to add platform specific metadata. For example:
```toml
[metadata.heroku]
pipeline = "foobar"
```
* **Inline Buildpack** - a type of buildpack that can be defined in the same repo as the app it is used with
## Example
```toml
[project]
[_]
id = "io.buildpacks.my-app"
version = "0.1"
schema-version = "0.2"
[build]
[_.metadata]
cdn = "https://cdn.example.com"
[[_.metadata.assets]]
url = "https://cdn.example.com/assets/foo.jar"
checksum = "3b1b39893d8e34a6d0bd44095afcd5c4"
buzz = ["a", "b", "c"]
[io.buildpacks]
builder = "cnbs/sample-builder:bionic"
include = [
"cmd/",
"go.mod",
@ -154,17 +252,18 @@ include = [
"*.go"
]
[[build.buildpacks]]
[[io.buildpacks.group]]
id = "io.buildpacks/java"
version = "1.0"
[[build.buildpacks]]
[[io.buildpacks.group]]
id = "io.buildpacks/nodejs"
version = "1.0"
[metadata]
foo = "bar"
[metadata.fizz]
buzz = ["a", "b", "c"]
[[io.buildpacks.group]]
id = "example/post-build"
[io.buildpacks.group.script]
api = "0.5"
inline = "./post-build.sh"
```

234
image_extension.md Normal file
View File

@ -0,0 +1,234 @@
# Image Extension Interface Specification
This document specifies the interface between a lifecycle program and one or more image extensions.
## Table of Contents
<!-- Using https://github.com/yzhang-gh/vscode-markdown to manage toc -->
- [Image Extension Interface Specification](#image-extension-interface-specification)
- [Table of Contents](#table-of-contents)
- [Image Extension API Version](#image-extension-api-version)
- [Image Extension Interface](#image-extension-interface)
- [Detection](#detection)
- [Generation](#generation)
- [Phase: Generation](#phase-generation)
- [Purpose](#purpose)
- [Process](#process)
- [Dockerfile Requirements](#dockerfile-requirements)
- [Data Format](#data-format)
- [Files](#files)
- [extension.toml (TOML)](#extensiontoml-toml)
## Image Extension API Version
This document accompanies Buildpack API version `0.10`.
## Image Extension Interface
Unless otherwise noted, image extensions are expected to conform to the [Buildpack Interface Specification](buildpack.md).
### Detection
Executable: `/bin/detect`, Working Dir: `<app[AR]>`
Image extensions participate in the buildpack [detection](buildpack.md#detection) process, with the same interface for `/bin/detect`. However:
- Detection is optional for image extensions, and they are assumed to pass detection when `/bin/detect` is not present.
- If an image extension is missing `/bin/detect`, the image extension root `/detect` directory MUST be treated as a pre-populated `<output>` directory.
- Instead of the `CNB_BUILDPACK_DIR` input, image extensions MUST receive a `CNB_EXTENSION_DIR` which MUST be the absolute path of the extension root directory.
- Image extensions MUST only output `provides` entries to the build plan. They MUST NOT output `requires`.
### Generation
Executable: `/bin/generate`, Working Dir: `<app[AR]>`
Image extensions participate in a generation process that is similar to the buildpack [build](buildpack.md#build) process, with an interface that is similar to `/bin/build`. However:
- Image extensions' `/bin/generate` MUST NOT write to the app directory.
- Instead of the `CNB_LAYERS_DIR` input, image extensions MUST receive a `CNB_OUTPUT_DIR` which MUST be the absolute path of an `<output>` directory and MUST NOT be the path of the buildpack layers directory.
- Instead of the `CNB_BUILDPACK_DIR` input, image extensions MUST receive a `CNB_EXTENSION_DIR` which MUST be the absolute path of the extension root directory.
- If an image extension is missing `/bin/generate`, the image extension root `/generate` directory MUST be treated as a pre-populated `<output>` directory.
## Phase: Generation
### Purpose
The purpose of the generation phase is to generate Dockerfiles that can be used to define the build and/or runtime base image. The generation phase MUST NOT be run for Windows builds.
### Process
**GIVEN:**
- The final ordered group of image extensions determined during the detection phase,
- A directory containing application source code,
- The Buildpack Plan,
- An `<output>` directory used to store generated artifacts,
- A shell, if needed,
For each image extension in the group in order, the lifecycle MUST execute `/bin/generate`.
1. **If** the exit status of `/bin/generate` is non-zero, \
**Then** the lifecycle MUST fail the build.
2. **If** the exit status of `/bin/generate` is zero,
1. **If** there are additional image extensions in the group, \
**Then** the lifecycle MUST proceed to the next image extension's `/bin/generate`.
2. **If** there are no additional image extensions in the group, \
**Then** the lifecycle MUST proceed to the build phase.
For each `/bin/generate` executable in each image extension, the lifecycle:
- MUST provide path arguments to `/bin/generate` as described in the [generation](#generation) section.
- MUST configure the build environment as described in the [Environment](buildpack.md#environment) section.
- MUST provide all `<plan>` entries that were required by any buildpack in the group during the detection phase with names matching the names that the image extension provided.
Correspondingly, each `/bin/generate` executable:
- MAY read from the `<app>` directory.
- MUST NOT write to the `<app>` directory.
- MAY read the build environment as described in the [Environment](buildpack.md#environment) section.
- MAY read the Buildpack Plan.
- MAY log output from the build process to `stdout`.
- MAY emit error, warning, or debug messages to `stderr`.
- MAY write either or both of `build.Dockerfile` and `run.Dockerfile` to the `<output>` directory. This file MUST adhere to the requirements listed below.
- MAY create the following folders in the `<output>` directory with an arbitrary content:
either:
- `context`
or the image-specific folders:
- `context.run`
- `context.build`
- MAY write key-value pairs to `<output>/extend-config.toml` that are provided as build args to build.Dockerfile when extending the build image.
- MUST NOT write SBOM (Software-Bill-of-Materials) files as described in the [Software-Bill-of-Materials](#software-bill-of-materials) section.
#### Context Folders
- The `<output>/context` folder MUST NOT be created together with any combination of the image-specific folders.
- If the folder `<output>/context` is present it will be set as the build context during the `extend` phase of the build and run images.
- If the folder `<output>/context.run` is present it will be set as the build context during the `extend` phase of the run image only.
- If the folder `<output>/context.build` is present it will be set as the build context during the `extend` phase of the build image only.
- If none of these folders is not present, the build context defaults to the `<app>` folder.
#### Dockerfile Requirements
A `run.Dockerfile`
- MAY contain a single `FROM` instruction
- MUST NOT contain any other `FROM` instructions
- MAY contain `ADD`, `ARG`, `COPY`, `ENV`, `LABEL`, `RUN`, `SHELL`, `USER`, and `WORKDIR` instructions
- SHOULD NOT contain any other instructions
- SHOULD use the `build_id` build arg to invalidate the cache after a certain layer. When the `$build_id` build arg is referenced in a `RUN` instruction, all subsequent layers will be rebuilt on the next build (as the value will change); the `build_id` build arg SHOULD be defaulted to 0 if used (this ensures portability)
- SHOULD NOT edit `<app>`, `<layers>`, or `<platform>` directories (see the [Platform Interface Specification](platform.md)) as changes will not be persisted
- SHOULD use the `user_id` and `group_id` build args to reset the image config's `User` field to its original value if any `USER` instructions are employed
- SHOULD set the label `io.buildpacks.rebasable` to `true` to indicate that any new run image layers are safe to rebase on top of new runtime base images
- For the final image to be rebasable, all applied Dockerfiles must set this label to `true`
A `build.Dockerfile`
- MUST begin with:
```bash
ARG base_image
FROM ${base_image}
```
- MUST NOT contain any other `FROM` instructions
- MAY contain `ADD`, `ARG`, `COPY`, `ENV`, `LABEL`, `RUN`, `SHELL`, `USER`, and `WORKDIR` instructions
- SHOULD NOT contain any other instructions
- SHOULD use the `build_id` build arg to invalidate the cache after a certain layer. When the `$build_id` build arg is referenced in a `RUN` instruction, all subsequent layers will be rebuilt on the next build (as the value will change); the `build_id` build arg SHOULD be defaulted to 0 if used (this ensures portability)
- SHOULD NOT edit `<app>`, `<layers>`, or `<platform>` directories (see the [Platform Interface Specification](platform.md)) as changes will not be persisted
- SHOULD use the `user_id` and `group_id` build args to reset the image config's `User` field to its original value if any `USER` instructions are employed
## Phase: Extension
### Purpose
The purpose of the extension phase is to apply the Dockerfiles generated in the generation phase to the appropriate base image. The extension phase MUST NOT be run for Windows builds.
### Process
**GIVEN:**
- The final ordered group of Dockerfiles generated during the generation phase,
- A list of build args for each Dockerfile specified during the generation phase,
For each Dockerfile in the group in order, the lifecycle MUST apply the Dockerfile to the base image as follows:
- The lifecycle MUST provide each Dockerfile with:
- A `base_image` build arg
- For the first Dockerfile, the value MUST be the original base image.
- When there are multiple Dockerfiles, the value MUST be the intermediate image generated from the application of the previous Dockerfile.
- A `build_id` build arg
- The value MUST be a UUID
- `user_id` and `group_id` build args
- For the first Dockerfile, the values MUST be the original `uid` and `gid` from the `User` field of the config for the original base image.
- When there are multiple Dockerfiles, the values MUST be the `uid` and `gid` from the `User` field of the config for the intermediate image generated from the application of the previous Dockerfile.
## Data Format
### Files
### extension.toml (TOML)
This section describes the 'Extension descriptor'.
```toml
api = "<buildpack API version>"
[extension]
id = "<extension ID>"
name = "<extension name>"
version = "<extension version>"
homepage = "<extension homepage>"
description = "<extension description>"
keywords = [ "<string>" ]
[[extension.licenses]]
type = "<string>"
uri = "<uri>"
[[targets]]
os = "<OS name>"
arch = "<architecture>"
variant = "<architecture variant>"
[[targets.distros]]
name = "<OS distribution name>"
version = "<OS distribution version>"
[metadata]
# extension-specific data
```
Image extension authors MUST choose a globally unique ID, for example: "io.buildpacks.apt".
The image extension `id`, `version`, `api`, and `licenses` entries MUST follow the requirements defined in the [Buildpack Interface Specification](buildpack.md).
An extension descriptor MAY specify `targets` following the requirements defined in the [Buildpack Interface Specification](buildpack.md).
### extend-config.toml (TOML)
```toml
[[build.args]]
name = "<build arg name>"
value = "<build arg value>"
[[run.args]]
name = "<build arg name>"
value = "<build arg value>"
```
The image extension MAY specify any number of args.
For each `[[build.args]]`, the image extension:
- MUST specify a `name` to be the name of a build argument that will be provided to any output `build.Dockerfile` when extending the build base image.
- MUST specify a `value` to be the value of the build argument that is provided.
For each `[[run.args]]`, the image extension:
- MUST specify a `name` to be the name of a build argument that will be provided to any output `run.Dockerfile` when extending the runtime base image.
- MUST specify a `value` to be the value of the build argument that is provided.
### Build Plan (TOML)
See the [Buildpack Interface Specification](buildpack.md).
### Buildpack Plan (TOML)
See the [Buildpack Interface Specification](buildpack.md). Image extensions MUST satisfy all entries in the Buildpack Plan.

15
img/genmatrix.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
# A quick script to use tex.s2cms.ru to generate various matrix svgs.
# (requests were previously inlined directly from buildpack.md, this allows the doc to be read if the remote side is down)
wget -O matrix1.svg http://tex.s2cms.ru/svg/%0AO%20%3D%0A%5Cbegin%7Bbmatrix%7D%0AA%2C%20%26%20B%20%5C%5C%0AC%2C%20%26%20D%0A%5Cend%7Bbmatrix%7D%0A
wget -O matrix2.svg http://tex.s2cms.ru/svg/%0AP%20%3D%0A%5Cbegin%7Bbmatrix%7D%0AE%2C%20%26%20F%20%5C%5C%0AG%2C%20%26%20H%0A%5Cend%7Bbmatrix%7D%0A
wget -O matrix3.svg http://tex.s2cms.ru/svg/%0A%5Cbegin%7Bbmatrix%7D%0AE%2C%20%26%20O%2C%20%26%20F%0A%5Cend%7Bbmatrix%7D%20%3D%20%0A%5Cbegin%7Bbmatrix%7D%0AE%2C%20%26%20A%2C%20%26%20B%2C%20%26%20F%20%5C%5C%0AE%2C%20%26%20C%2C%20%26%20D%2C%20%26%20F%20%5C%5C%0A%5Cend%7Bbmatrix%7D%0A
wget -O matrix4.svg http://tex.s2cms.ru/svg/%0A%5Cbegin%7Bbmatrix%7D%0AO%2C%20%26%20P%0A%5Cend%7Bbmatrix%7D%20%3D%20%0A%5Cbegin%7Bbmatrix%7D%0AA%2C%20%26%20B%2C%20%26%20E%2C%20%26%20F%20%5C%5C%0AA%2C%20%26%20B%2C%20%26%20G%2C%20%26%20H%20%5C%5C%0AC%2C%20%26%20D%2C%20%26%20E%2C%20%26%20F%20%5C%5C%0AC%2C%20%26%20D%2C%20%26%20G%2C%20%26%20H%20%5C%5C%0A%5Cend%7Bbmatrix%7D%0A
# add background color.. (helps with github darkmode)
sed -i -e's/<svg/<svg style="background-color:white"/' matrix1.svg
sed -i -e's/<svg/<svg style="background-color:white"/' matrix2.svg
sed -i -e's/<svg/<svg style="background-color:white"/' matrix3.svg
sed -i -e's/<svg/<svg style="background-color:white"/' matrix4.svg

1
img/matrix1.svg Normal file
View File

@ -0,0 +1 @@
<svg style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="105" height="44" viewBox="1872.02 1483.609 62.765 26.301"><defs><path id="g0-20" d="M2.727 25.735h2.87v-.6h-2.27V.164h2.27v-.6h-2.87v26.17z"/><path id="g0-21" d="M2.422 25.135H.152v.6h2.87V-.436H.152v.6h2.27v24.97z"/><path id="g2-61" d="M7.495-3.567c.163 0 .37 0 .37-.218s-.207-.219-.36-.219H.971c-.153 0-.36 0-.36.219s.207.218.37.218h6.514zm.01 2.116c.153 0 .36 0 .36-.218s-.207-.218-.37-.218H.982c-.164 0-.371 0-.371.218s.207.218.36.218h6.534z"/><path id="g1-59" d="M2.215-.01c0-.72-.273-1.146-.699-1.146a.561.561 0 00-.578.578c0 .294.218.578.578.578.131 0 .273-.044.382-.142.033-.022.044-.033.055-.033s.022.011.022.164c0 .807-.382 1.462-.742 1.822-.12.12-.12.142-.12.174 0 .077.054.12.109.12.12 0 .993-.84.993-2.116z"/><path id="g1-65" d="M1.953-1.255C1.516-.524 1.09-.37.61-.338c-.131.01-.23.01-.23.218 0 .065.055.12.143.12.294 0 .632-.033.938-.033.36 0 .742.033 1.09.033.066 0 .208 0 .208-.207 0-.12-.098-.131-.175-.131-.25-.022-.512-.11-.512-.382 0-.13.065-.25.152-.404l.83-1.396h2.738c.022.23.174 1.713.174 1.822 0 .327-.567.36-.785.36-.153 0-.262 0-.262.218 0 .12.13.12.153.12.447 0 .916-.033 1.363-.033.273 0 .96.033 1.233.033.066 0 .196 0 .196-.218 0-.12-.109-.12-.25-.12-.677 0-.677-.077-.71-.393L6.24-7.549c-.022-.218-.022-.262-.207-.262-.175 0-.218.076-.284.186l-3.796 6.37zm1.309-1.603l2.149-3.6.349 3.6H3.262z"/><path id="g1-66" d="M1.745-.85c-.109.425-.13.512-.992.512-.186 0-.295 0-.295.218 0 .12.098.12.295.12h3.894c1.724 0 3.011-1.287 3.011-2.356 0-.786-.633-1.419-1.69-1.539 1.134-.207 2.28-1.014 2.28-2.05 0-.808-.72-1.506-2.03-1.506H2.553c-.208 0-.317 0-.317.218 0 .12.099.12.306.12.022 0 .229 0 .414.022.197.022.295.033.295.175 0 .043-.011.076-.044.207L1.745-.851zm1.648-3.143l.676-2.705c.098-.382.12-.415.59-.415h1.406c.96 0 1.19.644 1.19 1.124 0 .96-.939 1.996-2.27 1.996H3.393zM2.902-.338c-.153 0-.175 0-.24-.011-.11-.011-.142-.022-.142-.11 0-.032 0-.054.055-.25l.752-3.044H5.39c1.047 0 1.255.808 1.255 1.277 0 1.08-.971 2.138-2.259 2.138H2.902z"/><path id="g1-67" d="M8.29-7.582a.11.11 0 00-.12-.109c-.032 0-.043.011-.163.131l-.763.84c-.099-.153-.6-.97-1.811-.97C3-7.69.545-5.28.545-2.75.545-.95 1.833.24 3.502.24c.949 0 1.778-.436 2.356-.938 1.015-.895 1.2-1.887 1.2-1.92 0-.11-.109-.11-.13-.11-.066 0-.12.023-.143.11-.098.316-.349 1.09-1.101 1.723-.753.611-1.44.797-2.008.797-.981 0-2.138-.567-2.138-2.27 0-.621.23-2.388 1.32-3.665.666-.774 1.691-1.32 2.662-1.32 1.113 0 1.756.84 1.756 2.106 0 .436-.032.447-.032.556s.12.11.163.11c.142 0 .142-.023.197-.219l.687-2.782z"/><path id="g1-68" d="M1.735-.85c-.11.425-.131.512-.993.512-.186 0-.306 0-.306.207C.436 0 .535 0 .742 0h3.61c2.27 0 4.419-2.302 4.419-4.69 0-1.54-.927-2.76-2.564-2.76H2.542c-.207 0-.327 0-.327.206 0 .131.098.131.316.131.142 0 .338.011.469.022.175.022.24.055.24.175 0 .043-.01.076-.044.207L1.735-.851zM4.09-6.699c.098-.382.12-.415.589-.415h1.167c1.07 0 1.975.578 1.975 2.018 0 .535-.218 2.324-1.146 3.524-.316.404-1.178 1.233-2.52 1.233H2.924c-.153 0-.175 0-.24-.011-.11-.011-.142-.022-.142-.11 0-.032 0-.054.054-.25L4.091-6.7z"/><path id="g1-79" d="M8.073-4.756c0-1.757-1.157-2.935-2.782-2.935C2.935-7.69.535-5.215.535-2.673.535-.862 1.756.24 3.327.24c2.313 0 4.746-2.39 4.746-4.996zM3.393-.044c-1.08 0-1.844-.883-1.844-2.323 0-.48.153-2.073.993-3.35.753-1.134 1.822-1.701 2.683-1.701.895 0 1.877.61 1.877 2.236 0 .786-.295 2.487-1.375 3.83C5.204-.688 4.31-.045 3.393-.045z"/></defs><g id="page1"><use x="1872.02" y="1499.492" xlink:href="#g1-79"/><use x="1883.674" y="1499.492" xlink:href="#g2-61"/><use x="1895.189" y="1484.11" xlink:href="#g0-20"/><use x="1900.947" y="1492.7" xlink:href="#g1-65"/><use x="1909.129" y="1492.7" xlink:href="#g1-59"/><use x="1922.378" y="1492.7" xlink:href="#g1-66"/><use x="1901.052" y="1506.249" xlink:href="#g1-67"/><use x="1909.024" y="1506.249" xlink:href="#g1-59"/><use x="1922.122" y="1506.249" xlink:href="#g1-68"/><use x="1931.457" y="1484.11" xlink:href="#g0-21"/></g><script type="text/ecmascript">if(window.parent.postMessage)window.parent.postMessage(&quot;13.07112|78.75|33|&quot;+window.location,&quot;*&quot;);</script></svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

1
img/matrix2.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

1
img/matrix3.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.6 KiB

1
img/matrix4.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because it is too large Load Diff