No more sleep disorders... No more spending nights wondering whether a certificate has expired in your cluster...
The automation power of cert-manager
is now unleashed for OpenShift routes 🚀
An OpenShift Container Platform cluster with cert-manager
installed.
We recommend that you use the
cert-manager Operator for RedHat Openshift
- Make sure that the chart repository is installed and up-to-date
helm repo add its4u-cm https://its4u.github.io/cert-manager-routes-controller
helm repo update
- Install
cert-manager-routes-controller
- In the default
cert-manager
namespace:
helm upgrade --install cert-manager-routes-controller its4u-cm/cert-manager-routes-controller
- In a custom
<CUSTOM_NS_NAME>
namespace:
helm upgrade --install cert-manager-routes-controller its4u-cm/cert-manager-routes-controller \
--set cert_manager_namespace=<CUSTOM_NS_NAME>
- Create a
ClusterIssuer
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: <CLUSTER_ISSUER_NAME>
spec:
...
- Annotate the
Route
that needs to be managed bycert-manager
as follows:
annotations:
cert-manager.io/cluster-issuer: <CLUSTER_ISSUER_NAME>
- Sit tight and watch your route's TLS being automatically populated!
On the first certificate issuance, it might take a few minutes for the certificate to be ready. Hence, you might have to wait a little before you see your route being populated 😉
- That's it!
cert-manager
will take care of the certificate renewal process.
Our controller will ensure that your route's TLS is always populated with the correct up-to-date certificate.
All of the Certificate
s and their respective Secret
are stored in the same CERT_MANAGER_NAMESPACE
. This allows us to reuse a Certificate
cluster-wide and avoid reordering a Certificate
that already exists in the cluster.
For instance, we have a route
https://example.com/hello
in thehello
NS and a routehttps://example.com/world
in theworld
NS. Both of these routes use the same domain, hence only one certificate is required. Therefore, we won't be ordering two certificates. We'll merely use the same one for both routes even though they're in a different namespace.