-
Notifications
You must be signed in to change notification settings - Fork 226
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
blog: post for Build-Your-Own-Builder on GHA #929
blog: post for Build-Your-Own-Builder on GHA #929
Conversation
✅ Deploy Preview for slsa ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Can someone advise on showing |
@MarkLodato can you take a second look to see if your comments are addressed? |
Looking for a second round of reviews. Thanks everyone |
Can someone from @slsa-framework/slsa-steering-committee please take a look at this. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the blog post! Great idea, but needs a bit more explication of what the problems are, why the solution addresses them, and what this all means for the everyday user. Thanks again!
|
||
SLSA now provides and maintains official builders for [Go](2022-06-20-slsa-github-workflows.md), [Node.js](2023-05-11-bringing-improved-supply-chain-security-to-the-nodejs-ecosystem.md) and [Container](2023-06-13-slsa-github-worfklows-container-based.md) based projects. But what if you don't use any of these languages or use custom tooling that isn't supported by the official builders? | ||
|
||
To empower the community to create their own provenance builders and leverage the secure architecture of the official SLSA builders we are releasing the ["Build Your Own Builder" (BYOB) framework](https://github.com/slsa-framework/slsa-github-generator/tree/main#build-your-own-builder) for GitHub Actions. This makes it easy to take an existing GitHub Action (e.g. [JReleaser](https://jreleaser.org/)) and make it produce [SLSA Build Level 3 provenance](/spec/v1.0/requirements#provenance-generation). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: Have a more direct answer to the question in the previous sentence/paragraph.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It could for example be:
change
"To empower the community to create their own provenance builders and leverage the secure architecture of the official SLSA builders we are releasing the "Build Your Own Builder" (BYOB) framework for GitHub Actions."
to
"Today we release "Build Your Own Builder" (BYOB) framework for GitHub Actions which will empower the community to create their own provenance builders and leverage the secure architecture of the official SLSA builders."
or a bit more casual:
"Enter the "Build Your Own Builder" (BYOB) framework which will empower the community to create their own provenance builders and leverage the secure architecture of the official SLSA builders."
bcaa38d
to
3beada0
Compare
Please don't merge. I'll merge once we're ready (release cut, etc). Thanks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM in the interest of unblocking
Bah, it didn't let me finish. I still think the threat model is unclear, but I think as long as readers get the idea that, "Hey, I really should use BYOB instead of my own stuff due to some apparently complicated details pertaining security", then that's good enough. Thanks for all of your hard work! |
c4d0523
to
eb33552
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewing this made me wonder about some meta questions about how this work is positioned with regard to the OpenSSF governance structure but I think this is a good post and I applaud the effort to make it easier for people to support SLSA.
|
||
SLSA already provides and maintains official builders for [Go](2022-06-20-slsa-github-workflows.md), [Node.js](2023-05-11-bringing-improved-supply-chain-security-to-the-nodejs-ecosystem.md) and [Container](2023-06-13-slsa-github-worfklows-container-based.md) based projects. But what if you don't use any of these languages or use custom tooling that isn't supported by the official builders? | ||
|
||
To empower the community to create their own provenance builders and leverage the secure architecture of the official SLSA builders we are releasing the ["Build Your Own Builder" (BYOB) framework](https://github.com/slsa-framework/slsa-github-generator/tree/main#build-your-own-builder) for GitHub Actions. This makes it easy to take an existing GitHub Action (e.g. [JReleaser](https://jreleaser.org/)) and make it produce [SLSA Build Level 3 provenance](/spec/v1.0/requirements#provenance-generation). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who decides what's an "official SLSA builder"? And who's "we"?
Sorry again for bugging everybody with process and governance questions... :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good question. Till now we've been calling them "official" because their code lives under the slsa-framework org... Happy to re-phrase if you have a suggestion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW I don't think we've specifically used the word "official" to describe them in our blog posts or documentation so we could technically drop it.
We have used "SLSA Tooling SIG" and "SLSA Tooling working group" in our past blog posts to describe "us". I think that might be the best way to go instead of just saying "SLSA".
See:
- https://slsa.dev/blog/2023/05/bringing-improved-supply-chain-security-to-the-nodejs-ecosystem
- https://slsa.dev/blog/2023/02/slsa-github-workflows-container-ga
The SLSA Tooling SIG is listed on the community page: https://slsa.dev/community
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is that SIGs aren't meant to be primarily about producing code, Projects are:
https://github.com/ossf/tac/blob/main/organizational-structure-overview.md
So, we should move from SLSA Tooling SIG to SLSA Tooling Project and get it listed on the TAC page:
https://github.com/ossf/tac/blob/main/README.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fine with me. I'll update to "SLSA Tooling Project". Can you make the change to the TAC's README?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose the TAC page update would include the reporting WG.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is also just a side note, but it seems strange that SLSA wouldn't be mentioned anywhere on the TAC page if it is indeed owned by OpenSSF
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, so I think what we should do is to get a page for the project in the SCI WG repo that is linked from its README. I don't think it's worth creating a whole new repo for that since it would merely contained a README. That page can just explain what the project is about and point to the different tools already available and any other info that is relevant.
Then we can get it also listed on and linked from the TAC page.
I'm happy to help with all of that.
I agree it's unfortunate that SLSA doesn't appear on the TAC page at all. This is because it's a SIG and currently SIGs are not listed... I think it'd be worth adding but that requires the WGs to play along and submit changes to reflect changes in their WGs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, I just submitted a PR to give the Tooling project a home page and official standing in the openssf governance structure: ossf/wg-supply-chain-integrity#72
|
||
SLSA already provides and maintains official builders for [Go](2022-06-20-slsa-github-workflows.md), [Node.js](2023-05-11-bringing-improved-supply-chain-security-to-the-nodejs-ecosystem.md) and [Container](2023-06-13-slsa-github-worfklows-container-based.md) based projects. But what if you don't use any of these languages or use custom tooling that isn't supported by the official builders? | ||
|
||
To empower the community to create their own provenance builders and leverage the secure architecture of the official SLSA builders we are releasing the ["Build Your Own Builder" (BYOB) framework](https://github.com/slsa-framework/slsa-github-generator/tree/main#build-your-own-builder) for GitHub Actions. This makes it easy to take an existing GitHub Action (e.g. [JReleaser](https://jreleaser.org/)) and make it produce [SLSA Build Level 3 provenance](/spec/v1.0/requirements#provenance-generation). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we make the release status clear and say that BYOB is being released in beta?
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Co-authored-by: Philip Harrison <[email protected]> Signed-off-by: laurentsimon <[email protected]>
Co-authored-by: Philip Harrison <[email protected]> Signed-off-by: laurentsimon <[email protected]>
Co-authored-by: Philip Harrison <[email protected]> Signed-off-by: laurentsimon <[email protected]>
Co-authored-by: Philip Harrison <[email protected]> Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
Signed-off-by: laurentsimon <[email protected]>
aee09cc
to
b1c195c
Compare
Signed-off-by: laurentsimon <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice work on BYOB and implementations for Java. 👏
Adds a guest blog post for Build-Your-Own-Builder on GHA.
ETA 14 Aug 2023. (May change if needed)
Images needed for the post:
Notes: a few TODOs in the text.
cc @aalmiray, @AdamKorcz, @steiza, @feelepxyz, @asraa @ianlewis @loosebazooka