Skip to content
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 injecting the CA bundle into secrets #205

Closed
wants to merge 1 commit into from

Conversation

mbaldessari
Copy link
Member

This patch adds support for annotating secrets, so it becomes possible
to have CA bundles inside them. Some operators only allow looking up CAs
inside secrets (cert-manager being the most notable case), so adding
this support allows us to reference OCP's internal CA easily.

Tested as follows:

$ oc create secret generic test --from-literal=key1=bar
secret/test created
$ oc annotate secret test service.beta.openshift.io/inject-cabundle="true"
$ oc extract secret/test --keys=service-ca.crt --to=-
# service-ca.crt
-----BEGIN CERTIFICATE-----
MIIDUTCCAjmgAwIBAgIIZ6CJ/clzacAwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE
Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTY3MDMyNzk1MTAe
Fw0yMjEyMDYxMjAxMjJaFw0yNTAyMDMxMjAxMjNaMDYxNDAyBgNVBAMMK29wZW5z
aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE2NzAzMjc5NTEwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCnybNjpCLmnqcecoUoMLtj6r+6F5lF8J2l
2WF/CnYWHAKkgBZel+Wz6LfDAxVphlPdL6EM1+T1Z5RzqogJJmTSOiGzsTuHdPMo
KDcvILjXzEZOpKWzlBE+ybrioXFRmm3jc2fx1UWB78pIOPp7rhUvlkAap9HRbMGo
QL6HYSONVPtsrIzWt3ETf6PXyZIlvaqlLkzvdoGo8XMEtdbdB/cpr2LbjzqBzO8/
eVXhMBrRqYs8QvHYlNimkR1zjKMiWxkn6paLTIlTE7hj5URTgtz6NVzXm2qTNetx
nmeMzwa+2vMJqNxLHuLCYbIA3NLTepTWgMbX71h7Q+wEl+ZHZeXXAgMBAAGjYzBh
MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRQR9uF
APYIGEceUSI4I+xJgyroIzAfBgNVHSMEGDAWgBRQR9uFAPYIGEceUSI4I+xJgyro
IzANBgkqhkiG9w0BAQsFAAOCAQEAkyiD1C6FWQ9s7d05PxhmNqrtmMJ7hIWBwHc+
EyPQKaiboEAiFtxnr8NHzLeBAD+nQeS9FM1kbpEqgLuf6BxmS/dvTJQAVjzjY2Qu
JsCLeJCMu8t6vVdqGi4rLnllVsuscaNjcbVhG+Ci1/m7cQcab5GLFOKywYYdZ1KC
eMUIt6J9tpAO97gD51EOwjgdoVPTd4+LocUkwMf4F46e2jR8KqYayZzUycppRryr
dD/y4EV4oaK7kxlY2uaLrRLqNcZowSzONpEcNJzEa8c4qgIfYFsZZ2CFVqS+KFyE
z8eCQ1gBgPzO6w32mGJlW322Cy05PeRgYt10bTTjCNdaRL6bCw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDUTCCAjmgAwIBAgIIVgXzfLvx0vAwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE
Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTY3MDMyNzk1MTAe
Fw0yMjEyMDYxMjAwMTlaFw0yNTAyMDMxMzAwMjBaMDYxNDAyBgNVBAMMK29wZW5z
aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE2NzAzMjc5NTEwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDBZrtW6iF42z+8/5icHIq+Z3pg/aDLmNm
OHgrS9gmRa2t9hx5VFBaUoA+B3+4eYK8oX0G925TLA9o7rBF26mCg5spHT+j3hRt
FugoH8sT1lJC3dSrM1YVEn1TecomSaUJ42ksc8C1oUoh6T681eEQgODz0lOzKV5b
Ung+GaiSqmWVczfEmx30AqU/vPwlG9CkFHBRIsfy2G4tHdSa5hcWsXkX3gawwC5l
OFMKIUb7zbjIkQNE+AcGFebL66yxDTfBe/FXZmz72ikswyrhiX72Lo92hnVlLAFH
50eOJtcO+QiTVvq5rw2JRB0HbhqandIzmO6RZUH6qQwzDI+VTvwVAgMBAAGjYzBh
MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR3WYX6
kxQH/BxKqAAeMaxjzT+p5jAfBgNVHSMEGDAWgBRQR9uFAPYIGEceUSI4I+xJgyro
IzANBgkqhkiG9w0BAQsFAAOCAQEADt1m+za3zAjPVc90WN27d9RYx7X+R1boA6+8
gYoHUOvPHF/EJpeDQvlZ4rp23n7RgMyOEbLLIX1uYo1hLEvnX7vmgoixyL6UJ4OW
ElpEQBAF3UjwxLR74TTHyXmnAs/FoSDPQsMWUKn1fBpYZrHkhbSfYbJ0Vu2MwN2z
v2BtZtS7aewwLbYlLXVNCfxRCxY4AHvkBeXa4i7K0tLw02H4HH/jptbWBHfNd9su
mnk2ITSq2OVpwb8wbRw1jh0qg2mj8LmEv0hiyu1Fzgqol+hgnI8i6jUA9XlQFElq
5eskNOMyKnLZ0JpAfqXeLpqokMo+q1o4DyiDgXRd+6BvEcEzOg==
-----END CERTIFICATE-----

This patch adds support for annotating secrets, so it becomes possible
to have CA bundles inside them. Some operators only allow looking up CAs
inside secrets (cert-manager being the most notable case), so adding
this support allows us to reference OCP's internal CA easily.

Tested as follows:

    $ oc create secret generic test --from-literal=key1=bar
    secret/test created
    $ oc annotate secret test service.beta.openshift.io/inject-cabundle="true"
    $ oc extract secret/test --keys=service-ca.crt --to=-
    # service-ca.crt
    -----BEGIN CERTIFICATE-----
    MIIDUTCCAjmgAwIBAgIIZ6CJ/clzacAwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE
    Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTY3MDMyNzk1MTAe
    Fw0yMjEyMDYxMjAxMjJaFw0yNTAyMDMxMjAxMjNaMDYxNDAyBgNVBAMMK29wZW5z
    aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE2NzAzMjc5NTEwggEiMA0GCSqG
    SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCnybNjpCLmnqcecoUoMLtj6r+6F5lF8J2l
    2WF/CnYWHAKkgBZel+Wz6LfDAxVphlPdL6EM1+T1Z5RzqogJJmTSOiGzsTuHdPMo
    KDcvILjXzEZOpKWzlBE+ybrioXFRmm3jc2fx1UWB78pIOPp7rhUvlkAap9HRbMGo
    QL6HYSONVPtsrIzWt3ETf6PXyZIlvaqlLkzvdoGo8XMEtdbdB/cpr2LbjzqBzO8/
    eVXhMBrRqYs8QvHYlNimkR1zjKMiWxkn6paLTIlTE7hj5URTgtz6NVzXm2qTNetx
    nmeMzwa+2vMJqNxLHuLCYbIA3NLTepTWgMbX71h7Q+wEl+ZHZeXXAgMBAAGjYzBh
    MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRQR9uF
    APYIGEceUSI4I+xJgyroIzAfBgNVHSMEGDAWgBRQR9uFAPYIGEceUSI4I+xJgyro
    IzANBgkqhkiG9w0BAQsFAAOCAQEAkyiD1C6FWQ9s7d05PxhmNqrtmMJ7hIWBwHc+
    EyPQKaiboEAiFtxnr8NHzLeBAD+nQeS9FM1kbpEqgLuf6BxmS/dvTJQAVjzjY2Qu
    JsCLeJCMu8t6vVdqGi4rLnllVsuscaNjcbVhG+Ci1/m7cQcab5GLFOKywYYdZ1KC
    eMUIt6J9tpAO97gD51EOwjgdoVPTd4+LocUkwMf4F46e2jR8KqYayZzUycppRryr
    dD/y4EV4oaK7kxlY2uaLrRLqNcZowSzONpEcNJzEa8c4qgIfYFsZZ2CFVqS+KFyE
    z8eCQ1gBgPzO6w32mGJlW322Cy05PeRgYt10bTTjCNdaRL6bCw==
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDUTCCAjmgAwIBAgIIVgXzfLvx0vAwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE
    Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTY3MDMyNzk1MTAe
    Fw0yMjEyMDYxMjAwMTlaFw0yNTAyMDMxMzAwMjBaMDYxNDAyBgNVBAMMK29wZW5z
    aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE2NzAzMjc5NTEwggEiMA0GCSqG
    SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDBZrtW6iF42z+8/5icHIq+Z3pg/aDLmNm
    OHgrS9gmRa2t9hx5VFBaUoA+B3+4eYK8oX0G925TLA9o7rBF26mCg5spHT+j3hRt
    FugoH8sT1lJC3dSrM1YVEn1TecomSaUJ42ksc8C1oUoh6T681eEQgODz0lOzKV5b
    Ung+GaiSqmWVczfEmx30AqU/vPwlG9CkFHBRIsfy2G4tHdSa5hcWsXkX3gawwC5l
    OFMKIUb7zbjIkQNE+AcGFebL66yxDTfBe/FXZmz72ikswyrhiX72Lo92hnVlLAFH
    50eOJtcO+QiTVvq5rw2JRB0HbhqandIzmO6RZUH6qQwzDI+VTvwVAgMBAAGjYzBh
    MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR3WYX6
    kxQH/BxKqAAeMaxjzT+p5jAfBgNVHSMEGDAWgBRQR9uFAPYIGEceUSI4I+xJgyro
    IzANBgkqhkiG9w0BAQsFAAOCAQEADt1m+za3zAjPVc90WN27d9RYx7X+R1boA6+8
    gYoHUOvPHF/EJpeDQvlZ4rp23n7RgMyOEbLLIX1uYo1hLEvnX7vmgoixyL6UJ4OW
    ElpEQBAF3UjwxLR74TTHyXmnAs/FoSDPQsMWUKn1fBpYZrHkhbSfYbJ0Vu2MwN2z
    v2BtZtS7aewwLbYlLXVNCfxRCxY4AHvkBeXa4i7K0tLw02H4HH/jptbWBHfNd9su
    mnk2ITSq2OVpwb8wbRw1jh0qg2mj8LmEv0hiyu1Fzgqol+hgnI8i6jUA9XlQFElq
    5eskNOMyKnLZ0JpAfqXeLpqokMo+q1o4DyiDgXRd+6BvEcEzOg==
    -----END CERTIFICATE-----
@openshift-ci openshift-ci bot requested review from deads2k and stlaz December 6, 2022 12:57
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 6, 2022

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: mbaldessari
Once this PR has been reviewed and has the lgtm label, please assign sttts for approval by writing /assign @sttts in a comment. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mbaldessari
Copy link
Member Author

/retest-required

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 6, 2022

@mbaldessari: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 7, 2023
@stlaz
Copy link
Contributor

stlaz commented Mar 23, 2023

/close
If there are operators that don't allow you to look up the CA in a configmap, fix those operators.

@openshift-ci openshift-ci bot closed this Mar 23, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 23, 2023

@stlaz: Closed this PR.

In response to this:

/close
If there are operators that don't allow you to look up the CA in a configmap, fix those operators.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants