Skip to content

K8s: cert manager#3001

Open
kaitlynmichael wants to merge 2 commits intorelease-k8s-cancun2from
DOC-6423
Open

K8s: cert manager#3001
kaitlynmichael wants to merge 2 commits intorelease-k8s-cancun2from
DOC-6423

Conversation

@kaitlynmichael
Copy link
Copy Markdown
Contributor

@kaitlynmichael kaitlynmichael commented Apr 8, 2026

Note

Low Risk
Documentation-only changes that add new guidance and cross-links; no product or operator behavior is modified.

Overview
Adds a new cert-manager integration page describing how to use cert-manager-issued TLS secrets across Redis Enterprise cluster components, replication, LDAP, and SSO, including renewal, troubleshooting, and migration guidance.

Updates the Kubernetes Security index to link to the new page and adds a note in manage-rec-certificates pointing readers to cert-manager as an automation alternative.

Reviewed by Cursor Bugbot for commit 7d094b3. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2026

DOC-6423

@jit-ci
Copy link
Copy Markdown

jit-ci bot commented Apr 8, 2026

🛡️ Jit Security Scan Results

CRITICAL HIGH MEDIUM

✅ No security findings were detected in this PR


Security scan by Jit

Copy link
Copy Markdown
Collaborator

@dwdougherty dwdougherty left a comment

Choose a reason for hiding this comment

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

Just one comment you should feel free to ignore. Otherwise, language LGTM.

1. After verifying the new certificates work correctly, delete the old manually created secrets:

```bash
kubectl delete secret old-api-tls -n redis-namespace
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Maybe change "old-api-tls" to "api-tls-old" to more closely match "api-tls-new".

Copy link
Copy Markdown

@heinrich-redislabs heinrich-redislabs left a comment

Choose a reason for hiding this comment

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

Added some comments.

Comment on lines +40 to +42
- `tls.crt`: The certificate in PEM format
- `tls.key`: The private key in PEM format
- `ca.crt`: (Optional) The root CA certificate
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This one is actually important.
The thing is that the ca.crt field is populated only if the cert-manager has access to the root certificate.
If it does not have access to the root certificate then it's up to the user to either populate the ca.crt field manually or make sure that tls.crt has been modified to include the root certificate.

Our documentation clearly requires the whole certificate chain to be uploaded to redis enterprise.
So our secrets must contain the whole certificate chain.

## Prerequisites

- Kubernetes cluster with Redis Enterprise operator installed
- cert-manager v1.0 or later installed
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

We never tested the solution with v1.0.
The earliest version we tested with was 1.19.0, because this was the latest available version. I'm not sure if it's critical though.

|---------|---------------------|
| Certificate | `tls.crt`, `cert`, `certificate` |
| Private key | `tls.key`, `key` |
| CA certificate | `ca.crt` (optional) |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Even though the field itself is optional, the operator requires access to the whole certificate chain.
Also, ca.crt is something we expect only TLS secrets created by the cert manager to have.


{{<note>}}The `ca.crt` field is automatically appended to the certificate chain when present. cert-manager typically populates this field when it has access to the root certificate.{{</note>}}

## Quick start
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Maybe we could shorten some of the examples in this section. Specifically, we can omit the pars that are setting up the "Issuer"/"ClusterIssuer" things. It's best to focus on providing examples of our APIs.
One thing important to stress in this document is that users can switch from opaque secrets that they are currently using to TLS secrets (the cert manager is creating K8s secrets of type "TLS") without any additional configurations.

@kaitlynmichael kaitlynmichael changed the base branch from main to release-k8s-cancun2 April 10, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants