-
Notifications
You must be signed in to change notification settings - Fork 558
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
Support mTLS towards container registry #3922
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3922 +/- ##
==========================================
- Coverage 40.10% 36.35% -3.75%
==========================================
Files 155 209 +54
Lines 10044 13379 +3335
==========================================
+ Hits 4028 4864 +836
- Misses 5530 7889 +2359
- Partials 486 626 +140 ☔ View full report in Codecov by Sentry. |
This commit refactors the registry options handling in the `cmd/cosign/cli/options/registry.go` file. It introduces new flags for specifying the X.509 CA certificate, client certificate, client key, and server name for the connection to the registry. This allows cosign to connect to registries that requires mTLS for authentication. Signed-off-by: Søren Juul <[email protected]>
Signed-off-by: Søren Juul <[email protected]>
Increase test coverage of `getTLSConfig` method. Signed-off-by: Søren Juul <[email protected]>
Signed-off-by: Søren Juul <[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.
Thank you for your contribution!
Signed-off-by: Søren Juul <[email protected]>
@haydentherapper Thanks for the approval. I added another commit to fix unittest on Windows. Can you take another look? |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [cosign](https://github.com/sigstore/cosign) | patch | `2.4.1` -> `2.4.2` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>sigstore/cosign (cosign)</summary> ### [`v2.4.2`](https://github.com/sigstore/cosign/blob/HEAD/CHANGELOG.md#v242) [Compare Source](sigstore/cosign@v2.4.1...v2.4.2) #### Features - Updated open-policy-agent to 1.1.0 library ([#​4036](sigstore/cosign#4036)) - Note that only Rego v0 policies are supported at this time - Add UseSignedTimestamps to CheckOpts, refactor TSA options ([#​4006](sigstore/cosign#4006)) - Add support for verifying root checksum in cosign initialize ([#​3953](sigstore/cosign#3953)) - Detect if user supplied a valid protobuf bundle ([#​3931](sigstore/cosign#3931)) - Add a log message if user doesn't provide `--trusted-root` ([#​3933](sigstore/cosign#3933)) - Support mTLS towards container registry ([#​3922](sigstore/cosign#3922)) - Add bundle create helper command ([#​3901](sigstore/cosign#3901)) - Add trusted-root create helper command ([#​3876](sigstore/cosign#3876)) #### Bug Fixes - fix: set tls config while retaining other fields from default http transport ([#​4007](sigstore/cosign#4007)) - policy fuzzer: ignore known panics ([#​3993](sigstore/cosign#3993)) - Fix for multiple WithRemote options ([#​3982](sigstore/cosign#3982)) - Add nightly conformance test workflow ([#​3979](sigstore/cosign#3979)) - Fix copy --only for signatures + update/align docs ([#​3904](sigstore/cosign#3904)) #### Documentation - Remove usage.md from spec, point to client spec ([#​3918](sigstore/cosign#3918)) - move reference from gcr to ghcr ([#​3897](sigstore/cosign#3897)) #### Contributors - AdamKorcz - Aditya Sirish - Bob Callaway - Carlos Tadeu Panato Junior - Cody Soyland - Colleen Murphy - Hayden B - Jussi Kukkonen - Marco Franssen - Nianyu Shen - Slavek Kabrda - Søren Juul - Warren Hodgkinson - Zach Steindler </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNTguMSIsInVwZGF0ZWRJblZlciI6IjM5LjE1OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Summary
Some container registries require that the client present a certificate when establishing the connection. There is currently no way of specifying this when using cosign.
This change adds four arguments that allows the users to specify the root CA, the client cert and the client key and the expected SAN name.
Release Note
Documentation
Documentation has been added for these new arguments added:
All code is Copyright 2024 by Uber Technologies, Inc.
Closes #3915