2.3 KiB
Self-signed certificate and custom Certificate Authority (CA)
Deploying openDesk into an environment with custom public key infrastructure (PKI) that is usually not part of public certificate authority chains or deploying openDesk into a local cluster without ACME challenge.
Configuration
There are two options to address the use case.
Option 1: Bring Your Own Certificate
This option is useful, when you have your own PKI in your environment which is trusted by all clients that should access openDesk.
-
Disable cert-manager.io certificate resource creation:
certificates: enabled: false -
Enable mount of self-signed certificates:
certificate: selfSigned: true -
Create a Kubernetes secret named
opendesk-certificates-tlsof typekubernetes.io/tlscontaining either a valid wildcard certificate or a certificate with all required subdomains set as SANs (Subject Alternative Name). -
Create a Kubernetes secret with name
opendesk-certificates-ca-tlsof typekubernetes.io/tlscontaining the custom CA certificate as X.509 encoded (ca.crt) and as jks trust store (truststore.jks). -
Create a Kubernetes secret with name
opendesk-certificates-keystore-jkswith keypasswordand as value the jks trust store password.
Option 2: Use cert-manager.io
This option is useful, when you do not have a trusted certificate available and can't fetch a certificate from Let’s Encrypt.
-
Create self-signed cert-manager.io Cluster Issuer:
apiVersion: "cert-manager.io/v1" kind: "ClusterIssuer" metadata: name: "selfsigned-issuer" spec: selfSigned: {} -
Enable mount and creation of self-signed certificates:
certificate: issuerRef: name: "selfsigned-issuer" selfSigned: true