Explanation of fields in the CertManager custom resource
To configure core components of the cert-manager Operator for Red Hat OpenShift, use the CertManager custom resource (CR). You can define settings for the cert-manager controller, such as the spec.controllerConfig field, to customize your deployment.
The core components of the cert-manager Operator for Red Hat OpenShift are as follows:
-
Cert-manager controller: You can use the
spec.controllerConfigfield to configure the cert‑manager controller pod. -
Webhook: You can use the
spec.webhookConfigfield to configure the webhook pod, which handles validation and mutation requests. -
CA injector: You can use the
spec.cainjectorConfigfield to configure the CA injector pod.
Common configurable fields in the CertManager CR for the cert-manager components
You can configure common fields in the spec.controllerConfig, spec.webhookConfig, and spec.cainjectorConfig sections in the CertManager CR to customize the cert-manager components.
| Field | Type | Description |
|---|---|---|
|
|
You can override the supported arguments for the cert-manager components. |
|
|
You can override the supported environment variables for the cert-manager controller. This field is only supported for the cert-manager controller component. |
|
|
You can configure the replicas for the cert-manager components. The default value is
|
|
|
You can configure the CPU and memory limits for the cert-manager components. |
|
|
You can configure the pod scheduling constraints for the cert-manager components. |
Overridable arguments for the cert-manager components
You can configure the overridable arguments for the cert-manager components in the spec.controllerConfig, spec.webhookConfig, and spec.cainjectorConfig sections in the CertManager CR to customize the cert-manager controller, webhook, and cainjector components.
The following table describes the overridable arguments for the cert-manager components:
| Argument | Component | Description | ||
|---|---|---|---|---|
|
Controller |
Provide a comma-separated list of nameservers to query for the DNS-01 self check. The nameservers can be specified either as
|
||
|
Controller |
Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain. |
||
|
Controller |
Provide a comma-separated list of |
||
|
Controller |
Specify the host and port for the metrics endpoint. The default value is |
||
|
Controller |
You can use this argument to configure an ACME Issuer to solve DNS-01 challenges by using ambient credentials. |
||
|
Controller |
This argument sets the certificate resource as an owner of the secret where the TLS certificate is stored. For more information, see "Deleting a TLS secret automatically upon Certificate removal". |
||
|
Controller |
Defines the maximum CPU limit for ACME HTTP‑01 solver pods. The default value is |
||
|
Controller |
Defines the maximum memory limit for ACME HTTP‑01 solver pods. The default value is |
||
|
Controller |
Defines the minimum CPU request for ACME HTTP‑01 solver pods. The default value is |
||
|
Controller |
Defines the minimum memory request for ACME HTTP‑01 solver pods. The default value is |
||
|
Controller |
Specify the minimum backoff duration for certificate requests. The default value is |
||
|
Controller |
The number of concurrent workers for each controller. The default value is |
||
|
Controller |
The maximum number of queries per second sent to the Kubernetes API server. The default value is |
||
|
Controller |
The maximum burst of queries per second sent to the Kubernetes API server. Must be greater than or equal to |
||
|
Controller |
The maximum number of ACME challenges that can run concurrently. The default value is |
||
|
Controller, Webhook, CA injector |
Specify the log level verbosity to determine the verbosity of log messages. |
Overridable environment variables for the cert-manager controller
You can configure the overridable environment variables for the cert-manager controller in the spec.controllerConfig.overrideEnv field in the CertManager CR to control proxy settings for the cert-manager controller.
The following table describes the overridable environment variables for the cert-manager controller:
| Environment variable | Description |
|---|---|
|
Proxy server for outgoing HTTP requests. |
|
Proxy server for outgoing HTTPS requests. |
|
Comma‑separated list of hosts that bypass the proxy. |
Overridable resource parameters for the cert-manager components
You can configure the CPU and memory request and limits for the cert-manager components in the CertManager CR to control resource consumption for the controller, webhook, and cainjector pods.
The following table describes the overridable resource parameters for the cert-manager components:
| Field | Description |
|---|---|
|
Defines the maximum amount of CPU that a component pod can use. |
|
Defines the maximum amount of memory that a component pod can use. |
|
Defines the minimum amount of CPU requested by the scheduler for a component pod. |
|
Defines the minimum amount of memory requested by the scheduler for a component pod. |
Overridable scheduling parameters for the cert-manager components
To optimize resource usage or isolate specific workloads, you can control the pod placement of your cert-manager components.
You can easily configure node selectors and tolerations by modifying the spec.controllerConfig, spec.webhookConfig, and spec.cainjectorConfig sections of the CertManager custom resource (CR).
The following table describes the pod scheduling parameters for the cert-manager components:
| Field | Description |
|---|---|
|
Key and value pairs to constrain pods to specific nodes. |
|
List of tolerations to schedule pods on tainted nodes. |