sandbox icon indicating copy to clipboard operation
sandbox copied to clipboard

[Sandbox] Shipwright

Open qu1queee opened this issue 1 year ago β€’ 6 comments

Application contact emails

[email protected] [email protected] [email protected]

Project Summary

An extensible framework for building container images on Kubernetes.

Project Description

Shipwright is designed to make it easy to build container images securely and reliably. The community is rooted in the fundamental principles of simplicity, flexibility, and security. Shipwright is currently an incubating project under the Continuous Delivery Foundation (a subsidiary of the Linux Foundation).

This project introduces a layer of standardisation across many of today's build tools (such as Kaniko, ko or Buildpacks). By abstracting the complexity of today's build processes, Shipwright establishes a common layer within Kubernetes, that can work across multiple tools and runtimes.

In essence, Shipwright empowers developers and organisations to easily build container images, leveraging their preferred build tools with the confidence of adhering to security best practices. Shipwright extensible and pluggable nature, makes it an invaluable asset for integration into existing Kubernetes components or CI/CD systems.

Org repo URL (provide if all repos under the org are in scope of the application)

https://github.com/shipwright-io

Project repo URL in scope of application

N/A

Additional repos in scope of the application

N/A

Website URL

https://shipwright.io

Roadmap

https://github.com/shipwright-io/build/blob/main/ROADMAP.md

Roadmap context

No response

Contributing Guide

https://github.com/shipwright-io/.github/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/shipwright-io/.github/blob/main/CODE_OF_CONDUCT.md

Adopters

https://github.com/shipwright-io/build/blob/main/ADOPTERS.md

Contributing or Sponsoring Org

https://www.ibm.com/, https://www.redhat.com/ . Contributors are primarily employees from IBM and RedHat. Project Shipwright is already a vendor-neutral Linux Foundation Project, incubating inside the Continuous Delivery Foundation.

Maintainers file

https://github.com/shipwright-io/build/blob/main/OWNERS

IP Policy

  • [X] If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • [X] If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

Shipwright is currently an incubating project within the Continuous Delivery Foundation (CDF). After further evaluation, we believe the project is more closely aligned with the CNCF. We are confident the CNCF will help us increase community contributions and adoption, and foster closer collaboration with our mutual project dependencies.

The goals of our project align with the CNCF Sandbox goals and with CNCF's mission by addressing key challenges in the Cloud Native space related to application delivery. Shipwright empowers organisations to build and run scalable applications in today's diverse cloud environments.

Benefit to the Landscape

In the evolving landscape of today's Cloud Native ecosystem, developers encounter a multitude of build tools for creating container images. Project Shipwright addresses this variety by introducing standardisation across multiple CNCF build tools, promoting their adoption through an extensible declarative API accessible to both developers and organisations.

This standardisation can be consumed by other projects that aim to provide a unique experience when building and deploying applications, using Shipwright as a fundamental building block.

In addition, Project Shipwright aims to provide throughout the same declarative API, today's Supply Chain Security Best Practices.

Cloud Native 'Fit'

Shipwright is build with and for Cloud Native technologies, fitting into the Application Definition & Image Build category.

Cloud Native 'Integration'

We complement the following projects:

  • OpenFunction
    • How?
      • Uses Shipwright as a Building Block
  • Tekton
    • How?
      • Can integrate Shipwright inside a Tekton Pipeline, as the building block.

We depend on the following projects:

  • ko
    • How?
      • Shipwright can use ko to delegate the mechanism of building a container image.
  • Buildpacks
    • How?
      • Shipwright can use Buildpacks to delegate the mechanism of building a container image.
  • Kaniko
    • How?
      • Shipwright can use Kaniko to delegate the mechanism of building a container image.
  • Tekton
    • How?
      • Shipwright uses Tekton to achieve the sequential execution of containers inside a Kubernetes Pod, plus other Tekton features.

Cloud Native Overlap

None.

Similar projects

N/A

Landscape

Yes.

Business Product or Service to Project separation

N/A

Project presentations

N/A

Project champions

  • Karena Angell
  • Derek Carr

Additional information

Our decision to contribute the project to CDF was primarily driven by its integration with Tekton, Shipwright is built on Tekton, a CDF project since its inception. However, we anticipate that this association will become less influential over time, especially in light of Tekton's departure from CDF and the growing number of CNCF projects used by or that rely on Shipwright.

qu1queee avatar Feb 06 '24 08:02 qu1queee

@qu1queee are you available April 3 to present to TAG App Delivery?

angellk avatar Feb 21 '24 17:02 angellk

@angellk yes, I'm available.

qu1queee avatar Feb 22 '24 08:02 qu1queee

Interestingly, Kaniko is also candidate https://github.com/cncf/sandbox/issues/88

pgonin avatar Feb 29 '24 10:02 pgonin

@qu1queee we'd like to move your presentation from 4/3 to 3/6 (this coming wednesday) - are you available?

angellk avatar Mar 04 '24 19:03 angellk

We will give an introduction on the Project to the TAG App delivery on 3rd of April. Just for the record.

qu1queee avatar Mar 25 '24 13:03 qu1queee

@lianmakesthings - Does TAG App Delivery have a recommendation on this project?

TheFoxAtWork avatar Jul 22 '24 21:07 TheFoxAtWork

Here is my evaluation (fwiw):

The build process is now cloud-native (k8s CRDs) https://shipwright.io/docs/#build which I think is pretty neat.

What are the competing proposals or existing solutions though? For example, does tekton have its own build job CRDs etc?

rchincha avatar Aug 01 '24 18:08 rchincha

Shipwright review

The Shipwright project had a presentation for TAG App Delivery at our meeting held April 3rd, 2023. The project was presented by Adam Kaplan. The TAG leadership was represented by Lian Li, Karena Angell, Alois Reitbauer

Recording of the meeting Meeting notes: CNCF TAG App Delivery Meeting Notes

Project Summary

History

Shipwright is looking to move from the CDF to the CNCF. It runs on Tekton, like a swiss army knife, and has a direct dependency on Tekton. Architecture Project is written primarily Golang It has a direct dependency on Tekton When creating a build, it creates a Tekton task In the future it could look to decouple and support something like Argo Workflows Goals & Roadmap

Need to clarify if Tekton is a hard dependency and roadmap Additional Signatures Additional provenance Shipwright could correct some gaps in Tekton Multi-arch Project called Triggers Integrate with Tekton custom tasks feature Expose shipwright API to build custom tasks Appropriate chain of owner

Key Considerations:

Community and Growth

Currently all issues stem from June (two months ago) - there seems to be about three core maintainers (1, 2, 3) all from IBM.

TAG Recommendation to TOC

Currently the project is tied strongly to Tekton, which is a CDF project - and with maintainers primarily from IBM. We would ideally like to see Shipwright collaborate more with CNCF projects and have a more diverse set of maintainers. Currently voting "yes"

schristoff avatar Aug 06 '24 00:08 schristoff

TAG Contributor strategy has reviewed this project and found the following:

  • The contributor guide is basic.
  • There is currently no written governance beyond an OWNERS file
  • The roadmap was created 7 months ago and defines a few high level directions
  • There are 5 approves, who all work for IBM/RedHat
  • The project doesn't currently require a CLA or DCO
  • The project also references Kubernetes documentation for how things work in the project instead of using K8s as a template to write their own governance documentation, see OWNERS as an example

This review is for the TOC’s information only. Sandbox projects are not required to have full governance or contributor documentation.

xmulligan avatar Aug 09 '24 08:08 xmulligan

/vote

mrbobbytables avatar Aug 13 '24 15:08 mrbobbytables

Vote created

@mrbobbytables has called for a vote on [Sandbox] Shipwright (#85).

The members of the following teams have binding votes:

Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
πŸ‘ πŸ‘Ž πŸ‘€

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 2months 30days 2h 52m 48s. It will pass if at least 66% of the users with binding votes vote In favor πŸ‘. Once it's closed, results will be published here as a new comment.

git-vote[bot] avatar Aug 13 '24 15:08 git-vote[bot]

Is there a public discussion wherein the decision to move to the Cloud Native Compute Foundation over the CDF?

mauilion avatar Aug 13 '24 15:08 mauilion

@donaldliu @mauilion :+1: that email is the authoritative proposal to start the move. It links back to the community meeting minutes that prompted the proposal.

We also tracked the sandbox application work in https://github.com/shipwright-io/community/issues/178.

adambkaplan avatar Aug 16 '24 07:08 adambkaplan

/check-vote

mrbobbytables avatar Aug 20 '24 22:08 mrbobbytables

Vote status

So far 0.00% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
0 0 2 9

Binding votes (2)

User Vote Timestamp
TheFoxAtWork Abstain 2024-08-13 15:31:15.0 +00:00:00
angellk Abstain 2024-08-13 16:24:08.0 +00:00:00
@dims Pending
@rochaporto Pending
@mauilion Pending
@linsun Pending
@dzolotusky Pending
@kevin-wangzefeng Pending
@cathyhongzhang Pending
@nikhita Pending
@kgamanji Pending

Non-binding votes (17)

User Vote Timestamp
qu1queee In favor 2024-08-14 8:26:05.0 +00:00:00
isibeni In favor 2024-08-14 8:29:47.0 +00:00:00
MaheshRKumawat In favor 2024-08-14 8:34:13.0 +00:00:00
ayushsatyam146 In favor 2024-08-14 8:36:25.0 +00:00:00
avinal In favor 2024-08-14 8:36:36.0 +00:00:00
ramessesii2 In favor 2024-08-14 8:42:50.0 +00:00:00
anchi205 In favor 2024-08-14 8:56:40.0 +00:00:00
sayan-biswas In favor 2024-08-14 9:14:09.0 +00:00:00
aka-vm In favor 2024-08-14 9:24:12.0 +00:00:00
apoorvajagtap In favor 2024-08-14 10:40:51.0 +00:00:00
imjasonh In favor 2024-08-14 11:32:29.0 +00:00:00
chitrangpatel In favor 2024-08-14 14:20:35.0 +00:00:00
karanibm6 In favor 2024-08-14 15:35:49.0 +00:00:00
Adarsh-jaiss In favor 2024-08-14 17:34:12.0 +00:00:00
adambkaplan In favor 2024-08-16 7:07:42.0 +00:00:00
duglin In favor 2024-08-18 17:39:44.0 +00:00:00
smoser-ibm In favor 2024-08-20 13:22:11.0 +00:00:00

git-vote[bot] avatar Aug 20 '24 22:08 git-vote[bot]

/check-vote

mrbobbytables avatar Aug 21 '24 23:08 mrbobbytables

Vote status

So far 27.27% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
3 0 2 6

Binding votes (5)

User Vote Timestamp
rochaporto In favor 2024-08-21 7:29:18.0 +00:00:00
TheFoxAtWork Abstain 2024-08-13 15:31:15.0 +00:00:00
angellk Abstain 2024-08-13 16:24:08.0 +00:00:00
linsun In favor 2024-08-21 13:49:19.0 +00:00:00
kevin-wangzefeng In favor 2024-08-21 0:44:39.0 +00:00:00
@dims Pending
@mauilion Pending
@dzolotusky Pending
@cathyhongzhang Pending
@nikhita Pending
@kgamanji Pending

Non-binding votes (17)

User Vote Timestamp
qu1queee In favor 2024-08-14 8:26:05.0 +00:00:00
isibeni In favor 2024-08-14 8:29:47.0 +00:00:00
MaheshRKumawat In favor 2024-08-14 8:34:13.0 +00:00:00
ayushsatyam146 In favor 2024-08-14 8:36:25.0 +00:00:00
avinal In favor 2024-08-14 8:36:36.0 +00:00:00
ramessesii2 In favor 2024-08-14 8:42:50.0 +00:00:00
anchi205 In favor 2024-08-14 8:56:40.0 +00:00:00
sayan-biswas In favor 2024-08-14 9:14:09.0 +00:00:00
aka-vm In favor 2024-08-14 9:24:12.0 +00:00:00
apoorvajagtap In favor 2024-08-14 10:40:51.0 +00:00:00
imjasonh In favor 2024-08-14 11:32:29.0 +00:00:00
chitrangpatel In favor 2024-08-14 14:20:35.0 +00:00:00
karanibm6 In favor 2024-08-14 15:35:49.0 +00:00:00
Adarsh-jaiss In favor 2024-08-14 17:34:12.0 +00:00:00
adambkaplan In favor 2024-08-16 7:07:42.0 +00:00:00
duglin In favor 2024-08-18 17:39:44.0 +00:00:00
smoser-ibm In favor 2024-08-20 13:22:11.0 +00:00:00

git-vote[bot] avatar Aug 21 '24 23:08 git-vote[bot]

/check-vote

mrbobbytables avatar Aug 28 '24 15:08 mrbobbytables

Vote status

So far 63.64% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
7 0 2 2

Binding votes (9)

User Vote Timestamp
angellk Abstain 2024-08-13 16:24:08.0 +00:00:00
TheFoxAtWork Abstain 2024-08-13 15:31:15.0 +00:00:00
linsun In favor 2024-08-21 13:49:19.0 +00:00:00
kevin-wangzefeng In favor 2024-08-21 0:44:39.0 +00:00:00
nikhita In favor 2024-08-23 10:43:17.0 +00:00:00
cathyhongzhang In favor 2024-08-22 0:37:44.0 +00:00:00
dzolotusky In favor 2024-08-22 14:11:55.0 +00:00:00
kgamanji In favor 2024-08-27 13:58:39.0 +00:00:00
rochaporto In favor 2024-08-21 7:29:18.0 +00:00:00
@dims Pending
@mauilion Pending

Non-binding votes (17)

User Vote Timestamp
qu1queee In favor 2024-08-14 8:26:05.0 +00:00:00
isibeni In favor 2024-08-14 8:29:47.0 +00:00:00
MaheshRKumawat In favor 2024-08-14 8:34:13.0 +00:00:00
ayushsatyam146 In favor 2024-08-14 8:36:25.0 +00:00:00
avinal In favor 2024-08-14 8:36:36.0 +00:00:00
ramessesii2 In favor 2024-08-14 8:42:50.0 +00:00:00
anchi205 In favor 2024-08-14 8:56:40.0 +00:00:00
sayan-biswas In favor 2024-08-14 9:14:09.0 +00:00:00
aka-vm In favor 2024-08-14 9:24:12.0 +00:00:00
apoorvajagtap In favor 2024-08-14 10:40:51.0 +00:00:00
imjasonh In favor 2024-08-14 11:32:29.0 +00:00:00
chitrangpatel In favor 2024-08-14 14:20:35.0 +00:00:00
karanibm6 In favor 2024-08-14 15:35:49.0 +00:00:00
Adarsh-jaiss In favor 2024-08-14 17:34:12.0 +00:00:00
adambkaplan In favor 2024-08-16 7:07:42.0 +00:00:00
duglin In favor 2024-08-18 17:39:44.0 +00:00:00
smoser-ibm In favor 2024-08-20 13:22:11.0 +00:00:00

git-vote[bot] avatar Aug 28 '24 15:08 git-vote[bot]

Vote closed

The vote passed! πŸŽ‰

72.73% of the users with binding vote were in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 2 1

Binding votes (10)

User Vote Timestamp
@angellk Abstain 2024-08-13 16:24:08.0 +00:00:00
@dims In favor 2024-08-28 16:05:28.0 +00:00:00
@kevin-wangzefeng In favor 2024-08-21 0:44:39.0 +00:00:00
@linsun In favor 2024-08-21 13:49:19.0 +00:00:00
@cathyhongzhang In favor 2024-08-22 0:37:44.0 +00:00:00
@kgamanji In favor 2024-08-27 13:58:39.0 +00:00:00
@dzolotusky In favor 2024-08-22 14:11:55.0 +00:00:00
@TheFoxAtWork Abstain 2024-08-13 15:31:15.0 +00:00:00
@rochaporto In favor 2024-08-21 7:29:18.0 +00:00:00
@nikhita In favor 2024-08-23 10:43:17.0 +00:00:00

Non-binding votes (17)

User Vote Timestamp
@qu1queee In favor 2024-08-14 8:26:05.0 +00:00:00
@isibeni In favor 2024-08-14 8:29:47.0 +00:00:00
@MaheshRKumawat In favor 2024-08-14 8:34:13.0 +00:00:00
@ayushsatyam146 In favor 2024-08-14 8:36:25.0 +00:00:00
@avinal In favor 2024-08-14 8:36:36.0 +00:00:00
@ramessesii2 In favor 2024-08-14 8:42:50.0 +00:00:00
@anchi205 In favor 2024-08-14 8:56:40.0 +00:00:00
@sayan-biswas In favor 2024-08-14 9:14:09.0 +00:00:00
@aka-vm In favor 2024-08-14 9:24:12.0 +00:00:00
@apoorvajagtap In favor 2024-08-14 10:40:51.0 +00:00:00
@imjasonh In favor 2024-08-14 11:32:29.0 +00:00:00
@chitrangpatel In favor 2024-08-14 14:20:35.0 +00:00:00
@karanibm6 In favor 2024-08-14 15:35:49.0 +00:00:00
@Adarsh-jaiss In favor 2024-08-14 17:34:12.0 +00:00:00
@adambkaplan In favor 2024-08-16 7:07:42.0 +00:00:00
@duglin In favor 2024-08-18 17:39:44.0 +00:00:00
@smoser-ibm In favor 2024-08-20 13:22:11.0 +00:00:00

git-vote[bot] avatar Aug 29 '24 08:08 git-vote[bot]

Welcome and congrats on getting accepted as a CNCF Sandbox project!

You can get started on your on-boarding checklist here: https://github.com/cncf/sandbox/issues/131

and if you have any questions, please don't hesitate to reach out!

Cmierly avatar Aug 29 '24 18:08 Cmierly

Hello @Cmierly, we're really excited to join the CNCF Foundation! I'll follow up with my peers to coordinate the next steps.

qu1queee avatar Sep 03 '24 06:09 qu1queee

With https://github.com/cncf/sandbox/issues/131 created, we can go ahead and close this out :)

Congrats again!

mrbobbytables avatar Sep 03 '24 20:09 mrbobbytables