Skip to content

[Feature Request] generate TLS certificates using cert-manager#663

Closed
luismacosta wants to merge 20 commits intotemporalio:mainfrom
luismacosta:certificates
Closed

[Feature Request] generate TLS certificates using cert-manager#663
luismacosta wants to merge 20 commits intotemporalio:mainfrom
luismacosta:certificates

Conversation

@luismacosta
Copy link
Copy Markdown
Contributor

@luismacosta luismacosta commented Mar 11, 2025

What was changed

Add certificates.yaml + secret.yaml to templates
Add README.md

Why?

generate certificates using cert-manager

How was this tested

  • Deployed cert-manager helm-chart
  • Deployed temporal helm chart, 0.57.0, using temporal/charts/temporal/tests/certificates.yaml as values.yaml, with my own tls.crt + tls.key

Cert-manager will:

  • Use the temporal-issuer (which refers to the CA).
  • Ask the CA (from the tls-certs secret) to sign a new certificate.
  • Create the temporal-tls-certs secret in the same namespace — this secret will contain:
    • tls.crt: the signed certificate
    • tls.key: the private key
    • Optionally, ca.crt: the CA certificate (if configured)
➜  ~ kubectl get secret -n temporal

NAME                          TYPE                   DATA       AGE
temporal-tls-certs            kubernetes.io/tls      3          3h38m
tls-certs                     Opaque                 2          153m


➜  ~ kubectl get certificate  -n temporal

NAME                READY          SECRET                       AGE
temporal-cert       True           temporal-tls-certs           5h35m


➜  ~ kubectl get certificaterequests  -n temporal-data

NAME              APPROVED   DENIED   READY   ISSUER            REQUESTER                                                                      AGE
temporal-cert-1   True                True    temporal-issuer   system:serviceaccount:cert-manager:test-cert-manager  5h

@robholland Can you please review? Thanks

Signed-off-by: luis.costa <luis.costa@talkdesk.com>
Signed-off-by: luis.costa <luis.costa@talkdesk.com>
Signed-off-by: luis.costa <luis.costa@talkdesk.com>
Signed-off-by: luis.costa <luis.costa@talkdesk.com>
Signed-off-by: luis.costa <luis.costa@talkdesk.com>
Signed-off-by: luis.costa <luis.costa@talkdesk.com>
@luismacosta luismacosta changed the title generate certificates using cert-manager [helm-charts] generate certificates using cert-manager Mar 16, 2025
@luismacosta luismacosta changed the title [helm-charts] generate certificates using cert-manager [Feature Request] generate certificates using cert-manager Mar 16, 2025
@luismacosta luismacosta changed the title [Feature Request] generate certificates using cert-manager [Feature Request] generate TLS certificates using cert-manager Mar 16, 2025
Copy link
Copy Markdown
Contributor

@tomwheeler tomwheeler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no prior experience with cert-manager, and while I was able to deploy that into Kubernetes, it will take me some time to read through its documentation and learn how to generate certificates. As I was waiting on my deployment to come online, I read through the code and found a few typos, for which I have provided suggestions.

I'll need to do a more detailed review, but these typos will need to be fixed so I wanted to point them out now.

Comment thread charts/temporal/ci/certificates.yaml Outdated
Comment thread charts/temporal/ci/certificates.yaml Outdated
Comment thread charts/temporal/values.yaml Outdated
Comment thread charts/temporal/values.yaml Outdated
luismacosta and others added 5 commits April 8, 2025 09:14
Co-authored-by: Tom Wheeler <tom@temporal.io>
Co-authored-by: Tom Wheeler <tom@temporal.io>
Co-authored-by: Tom Wheeler <tom@temporal.io>
Co-authored-by: Tom Wheeler <tom@temporal.io>
Comment thread charts/temporal/templates/certificates.yaml Outdated
@luismacosta luismacosta requested a review from tomwheeler April 8, 2025 08:21
Comment thread charts/temporal/values.yaml Outdated
@luismacosta
Copy link
Copy Markdown
Contributor Author

I have no prior experience with cert-manager, and while I was able to deploy that into Kubernetes, it will take me some time to read through its documentation and learn how to generate certificates. As I was waiting on my deployment to come online, I read through the code and found a few typos, for which I have provided suggestions.

I'll need to do a more detailed review, but these typos will need to be fixed so I wanted to point them out now.

Thanks Tom.
typos corrected.

@luiscosta18
Copy link
Copy Markdown

Hello @PhillypHenning @robholland @tomwheeler

Can you please review and merge if everything looks good to you? Thanks.

@spanktar
Copy link
Copy Markdown

Having just gone through the process of creating certs and CAs for Temporal, this is a welcome piece of work. Thanks @luismacosta! Can you elaborate a little on what isCA is doing here?

@luiscosta18
Copy link
Copy Markdown

Having just gone through the process of creating certs and CAs for Temporal, this is a welcome piece of work. Thanks @luismacosta! Can you elaborate a little on what isCA is doing here?

isCA: true
The resulting certificate will have the CA bit set in its extensions (BasicConstraints: CA:TRUE).
This means the certificate can be used to sign and issue other certificates. Essentially, it becomes a root or intermediate CA certificate.

isCA: false (default)
The certificate is treated as a leaf/end-entity certificate, used for things like securing HTTPS connections (TLS), client authentication, etc. It cannot sign other certificates.

@robholland
Copy link
Copy Markdown
Contributor

Hey @luiscosta18 we're ready to revive this now, sorry for the long delay. Please could you update this to the latest main. Please remove the README which isn't relevant to the certs feature.

@robholland robholland self-assigned this Dec 18, 2025
@robholland robholland added the needs revision Team has requested some changes label Dec 18, 2025
@luiscosta18
Copy link
Copy Markdown

luiscosta18 commented Dec 21, 2025

Hello @robholland @tomwheeler @PhillypHenning

Please close this PR.
I've created a new one #820
Thanks

@robholland robholland closed this Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs revision Team has requested some changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants