-
Notifications
You must be signed in to change notification settings - Fork 140
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 support for Cirrus CI tokens #748
Comments
There is this issue laying out some requirements for new IdPs: #397 As one of the comments on this issue, do we need to expand the list of cert's SAN OIDs as it currently only includes a bunch of extension for GitHub Actions. |
Hey! To implement, either we will need to add a new IDP type, or restructure the github-workflows type. My guess is it'll be simpler to have some code duplication now and add a new type, until we can make the CI workflows generic. You'll need to:
We'll need to evolve the IDP requirements to also handle IDPs for CI systems, as some of the requirements aren't relevant.
My preference would be to rename the existing SANs to be platform-agnostic, rather than register new OIDs for each CI IDP. I know there was a mention in the NPM RFC on working to standardize the list of claims for CI IDPs, that would be fantastic. |
Either works for me. Renaming is simpler, no idea if that's frowned upon though. |
It seems in case of Cirrus CI's OIDC token it will already kind of work because we set From the discussion here and #397 it seems reasonable to wait for the "standardize the list of claims for CI IDPs". Right now the GHA's one has two very specific ones: |
This sounds good! I think we should probably get a document started for these new claims. Do you want to track them here @fkorotkov? Or we could use markdown in a PR. |
@fkorotkov up to you. But I think since the goal is to have a generic set of claims it doesn't make sense to track it in this PR? You all are the most knowledgeable people here, I can only input on the CI-related stuff. |
I’ll open a new issue in Fulcio to discuss more. |
Do we have enough of a set of claims that we can try to add this one? |
Here is our configuration with claims. I should note one thing that we don't have a concept of run attempts like GitHub has. In Cirrus if a task is re-ran it will generate a new task with a unique id. But I guess in case of figuring out the origin of a given artifact it's even better to have such "immutable" entities. |
A lack of run attempts shouldn't be a blocker, we don't encode that in the identity. Do you possibly have a one to one mapping between the necessary GitHub claims? In particular, is there anything like An example of what's required:
|
|
Hi y'all, if you are interested still in adding support, check out #890 as an example PR. There's also the open PR #945 that discusses the set of claims we'd like to include in every certificate from a CI identity, although we can start with a minimum set of claims initially (audience as long as it is customizable to sigstore, issuer, and a value like job_workflow_ref) |
disclaimer: I'm one of engineers working on Cirrus CI.
Cirrus CI exposes an OIDC token via
$CIRRUS OIDC_TOKEN
and allows overriding the audience via setting$CIRRUS_OIDC_TOKEN_AUDIENCE
variable.I'm following up this comment from the NPM's RFC. I wonder what will it take to add to add support for Cirrus CI?
From a brief check it seems it will require implementing something similar to
pkg/identity/github
?The text was updated successfully, but these errors were encountered: