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

Exhaustive list of generalized Build API/CRD attributes #184

Open
sbose78 opened this issue May 10, 2020 · 7 comments
Open

Exhaustive list of generalized Build API/CRD attributes #184

sbose78 opened this issue May 10, 2020 · 7 comments

Comments

@sbose78
Copy link
Member

sbose78 commented May 10, 2020

The goal of the Build API is to be able to support:

  • strongly typed 'popular' attributes that can be used to drive builds with different strategies.
  • loosely typed not-so-popular name/value pairs in Build API's spec.parameters that would be used to express build steps in the BuildStrategy object definition.

As an exploration, we should enhance the Build API to have the common/popular strongly typed API attributes. Example,

Opening this issue to crowdsource suggestions on Build API enhancements.

@sbose78
Copy link
Member Author

sbose78 commented May 11, 2020

https://skaffold.dev/docs/references/yaml/
Even though the API objectives are different, the API sheds light on key attributes for popular strategies.

@zhangtbj
Copy link
Contributor

Hi @sbose78 ,

I have a basic question. :)

Where this Build API can be used? Will it just be used in OpenShift, or we can publish it for all kinds of kube platform?

Access from the kube api?

@sbose78
Copy link
Member Author

sbose78 commented May 11, 2020

By Build API , I mean the Build CRD.
And as per the project's promise, it's Kubernetes-native :)

@sbose78 sbose78 changed the title Exhaustive list of generalized Build API options Exhaustive list of generalized Build API/CRD attributes May 11, 2020
@qu1queee
Copy link
Contributor

qu1queee commented May 11, 2020

@sbose78 thanks for the issue. Im trying to get this idea first, compared to how tekton tasks manage the spec.params see https://github.com/tektoncd/pipeline/blob/master/docs/tasks.md#specifying-parameters , how is it different to the spec.parameters that we want for the Build? Is there any overlap?

@sbose78
Copy link
Member Author

sbose78 commented May 15, 2020

It's kinda similar in idea, but in case of Build it's more of a loosely typed way to define parameterized values.

Imagine a build strategy which needs user input which isn't part of a strongly typed attribute in the BUILD CRD.

In that case, user could define it in params, and expect the build to pick it up and do the necessary replacement in the BuildStrategy for $(build.spec.params.something).

I'll add an example to show it

@qu1queee
Copy link
Contributor

@sbose78 I think I get the idea. Do we need to also layout specific PARAMs we know all strategies share?

@sbose78
Copy link
Member Author

sbose78 commented May 21, 2020

If there are specific params which all build strategies share in a non-optional way, then that param should most likely be a strongly typed API attribute.

@qu1queee qu1queee added this to the release-v0.4.0 milestone Feb 19, 2021
@adambkaplan adambkaplan removed this from the release-v0.4.0 milestone Mar 10, 2021
qu1queee added a commit to qu1queee/build that referenced this issue Mar 25, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Mar 29, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Mar 29, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Mar 29, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 3, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 19, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 20, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 20, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 20, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 20, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 20, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
qu1queee added a commit to qu1queee/build that referenced this issue Apr 20, 2021
This covers the use case introduced in issue
shipwright-io#184

This also will provide an enhancement in the current Build API, by
migrating existing fields into a more readable/understandable path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants