-
Notifications
You must be signed in to change notification settings - Fork 162
add circleci info to fulcio #2192
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
Conversation
8f4ec20 to
9d8bee9
Compare
|
marking as ready for review as I am ready to discuss this |
|
One of the issues I'm not sure of is how the template system will interact with claims that include a |
sigstore#591 Signed-off-by: meeech <[email protected]>
Signed-off-by: meeech <[email protected]>
|
Note that with something like |
haydentherapper
left a comment
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 looks good to me! The build signer URI and cert subject being the definition of the pipeline sounds good, with the build config URI pointing to a specific instance of that pipeline.
For handling a period in the token claim name, I got to learn something new! You'll need to use {{ index . "claim.name" }}, or at least I couldn't find another solution. https://go.dev/play/p/kN6slXYC6pC to test this.
cool. and thanks for that test page. Just want to check I am understanding correctly - in Where is the right place to document the "runner_environment": "ssh-rerun" value and what it represents so people know to reject if its present? here's my test sheet: https://go.dev/play/p/jTkisalDZNQ |
Signed-off-by: meeech <[email protected]>
…ial characters Signed-off-by: meeech <[email protected]>
Signed-off-by: meeech <[email protected]>
Correct, all extension values will be strings.
I'd add it to the table in the CI provider documentation, and I'd suggest publishing documentation on CircleCI like https://docs.gitlab.com/ci/yaml/signing_examples/ that describes how to sign and verify. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2192 +/- ##
===========================================
- Coverage 57.93% 44.85% -13.09%
===========================================
Files 50 72 +22
Lines 3119 4682 +1563
===========================================
+ Hits 1807 2100 +293
- Misses 1154 2343 +1189
- Partials 158 239 +81 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
haydentherapper
left a comment
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! Just one minor comment. Can you update the PR title once it's ready to be merged?
Signed-off-by: meeech <[email protected]>
|
I'll get this merged to our staging environment shortly so you can verify the certificate extensions are correct. Once you let me know everything looks good, we can enable it in production. We should also update Cosign with support for automatically fetching CircleCI credentials from the environment. It looks like CircleCI has support for requesting custom audiences, which is needed as the audience must be To test against our staging environment from a workflow (this assumes the latest version of Cosign) |
|
@meeech I forgot we also needed to add a block like fulcio/config/identity/config.yaml Lines 28 to 34 in c4d4789
|
Summary
#591
We would like to add CircleCI as a trusted publisher for pypi (among others).
Release Note
TBD
Documentation
TBD
For Discussion
re:
runner_environmentwhile I copied what codefresh did, i am thinking a better expression of the intent of runner_environment might be expressed something likeBasically we should never trust a package from an enviroment where ssh-rerun was used.
re: SAN - made the same choice as GHA. I am open to changing it though.
Example of OIDC token
This was generated via
circleci run oidc get --claims '{"aud": "pypi"}'audis the only customizeable field in the token.