isolated-issuer Controller Configuration
isolated-issuer currently supports two controller options: cert-manager and kubernetes-csr.
cert-manager
The cert-manager controller listens for relevant CertificateRequests which are created in a configured target cluster, and fulfills those requests.
Configuration might look like the example below:
...controller:# The namespace to hold the leader election lease for the replica groupleaderElectionNamespace: cert-manager# The maximum duration that may be requested against the controller. If the# requested duration is larger than the maximum, the maxium will be requested# from the signer instead. Defaults to 24 hours. Accepts# [valid golang duration strings](https://golang.org/pkg/time/#ParseDuration).maxCSRDuration: 48hcert-manager:# Sign CertificateRequests whose Issuer Reference contains this group namegroupName: isolated-issuer.jetstack.io# A PEM encoded CA certificate file that will be used to populate# the CA field when signing CertificateRequestscaFile: ca.pem# Denote where the cert-manager controller should wait for a# CertificateRequests to have an approval condition before signing. Useful for# when using cert-manager pre v1.3, or an approver is not available.checkApproval: true
An approver needs sufficient permissions in order to approve CertificateRequests that reference the isolated-issuer controller. Example manifests are available for CRD and RBAC, which give permissions to the cert-manager internal approver that approves all CertificateRequests. An empty CustomResourceDefinition is also provided which is required by cert-manager to enforce these permission checks.
kubernetes-csr
The kubernetes-csr controller listens for Kubernetes CertificateSigningRequest resources.
isolated-issuer will only sign CertificateSigningRequests that are Approved, and match the given signer name.
Clients requesting certificates can optionally use the annotation experimental.cert-manager.io/request-duration on CertificateSigningRequests to request a specific duration. Requests with a requested duration that is larger than the configured maximum will be signed using the configured maximum.
...controller:# The namespace to hold the leader election lease for the replica groupleaderElectionNamespace: kube-system# The maximum duration that may be requested against the controller. Defaults# to 24 hours. Accepts [valid golang duration# strings](https://golang.org/pkg/time/#ParseDuration).maxCSRDuration: 48hkubernetes-csr:# Sign CertificateSigningRequests whose signerName is set to this value. The# controller will wait for approvalsignerName: isolated-issuer.jetstack.io/mesh-1