Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add Extension Spec for Builder #116

Merged
merged 14 commits into from
Nov 13, 2020

Conversation

dfreilich
Copy link
Member

@dfreilich dfreilich commented Sep 15, 2020

Signed-off-by: David Freilich <dfreilich@vmware.com>
Signed-off-by: David Freilich <dfreilich@vmware.com>
@dfreilich dfreilich requested a review from a team as a code owner September 15, 2020 19:54
text/0000-builder-spec.md Outdated Show resolved Hide resolved
Signed-off-by: David Freilich <dfreilich@vmware.com>
@dfreilich dfreilich changed the title Extension spec builder Add Builder to Distribution Spec Sep 16, 2020
Copy link
Member

@ekcasey ekcasey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my mind the big missing piece here is a API number or similar concept for builder images. An API number would allow us to change label schemas and file paths in an explicit and predictable way.

text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Show resolved Hide resolved
* Add reference to lifecycle descriptor file

Signed-off-by: David Freilich <dfreilich@vmware.com>
@dfreilich
Copy link
Member Author

Feedback from WG meeting (09/16):

  • It should be in extension spec, because platforms don't need to use builders at all. Add a link in platform spec noting that a builder is a fully functioning build-environment of a stack. kpack, despite having different style builders, still tries to support the same spec of builders.
  • Builder API should certainly be versioned. There was a suggestion for using OCI media-type labels to define the version on the builder image, with a cross-cutting concern that we wouldn't want to lose support for any registries just because we use an OCI compliant feature that isn't necessarily supported on every registry.

I'll rework it using that feedback.

@dfreilich dfreilich changed the title Add Builder to Distribution Spec Add Extension Spec for Builder Sep 17, 2020
* Add concept of versioning

Signed-off-by: David Freilich <dfreilich@vmware.com>
Signed-off-by: David Freilich <dfreilich@vmware.com>
@hone
Copy link
Member

hone commented Sep 23, 2020

Is a file like builder.toml pack specific or something included here?

@dfreilich
Copy link
Member Author

@hone It came up here: #116 (comment). Consensus in WG was that it was pack specific.

text/0000-builder-spec.md Show resolved Hide resolved
text/0000-builder-spec.md Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
* Spelling/grammar corrections
* Move builder.api to its own Labels
* Add drawback
* Clarify spec changes

Signed-off-by: David Freilich <dfreilich@vmware.com>
@dfreilich
Copy link
Member Author

@buildpacks/core-team There were 2 open questions from @ekcasey I wanted to get feedback for:

  1. Should we specify a dedicated directory for service bindings, like /platform/bindings, and require builders to set $SERVICE_BINDING_ROOT to /platform/bindings?
  2. Do we actually want to specify any literal file paths or should we use CNB_X env vars to be set to an appropriate directory?

Signed-off-by: David Freilich <dfreilich@vmware.com>
* Use CNB_X vars to define directories and allow maximum flexibility
* Require SERVICE_BINDING_ROOT to be at CNB_PLATFORM_DIR/bindings

Signed-off-by: David Freilich <dfreilich@vmware.com>
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
* Fix spelling
* Specify that the env_dirs must correspond to a dir in the builder

Signed-off-by: David Freilich <dfreilich@vmware.com>
text/0000-builder-spec.md Outdated Show resolved Hide resolved
text/0000-builder-spec.md Outdated Show resolved Hide resolved
Signed-off-by: David Freilich <dfreilich@vmware.com>
@sclevine
Copy link
Member

FCP closing on 11/4

ekcasey added a commit that referenced this pull request Nov 13, 2020
[#116]

Signed-off-by: Emily Casey <ecasey@vmware.com>
@ekcasey ekcasey merged commit d800213 into buildpacks:main Nov 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants