|
| 1 | +// Module included in the following assemblies: |
| 2 | +// |
| 3 | +// * security/cert_manager_operator/cert-manager-customizing-api-fields.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: CONCEPT |
| 6 | +[id="cert-manager-explanation-of-certmanager-cr-fields_{context}"] |
| 7 | += Explanation of fields in the CertManager custom resource |
| 8 | + |
| 9 | +You can use the `CertManager` custom resource (CR) to configure the following core components of the {cert-manager-operator}: |
| 10 | + |
| 11 | +* Cert-manager controller: You can use the `spec.controllerConfig` field to configure the cert‑manager controller pod. |
| 12 | +* Webhook: You can use the `spec.webhookConfig` field to configure the webhook pod, which handles validation and mutation requests. |
| 13 | +* CA injector: You can use the `spec.cainjectorConfig` field to configure the CA injector pod. |
| 14 | +
|
| 15 | +[id="cert-manager-common-configuration-fields_{context}"] |
| 16 | +== Common configurable fields in the CertManager CR for the cert-manager components |
| 17 | + |
| 18 | +The following table lists the common fields that you can configure in the `spec.controllerConfig`, `spec.webhookConfig`, and `spec.cainjectorConfig` sections in the `CertManager` CR. |
| 19 | + |
| 20 | +.Common configurable fields in the CertManager CR for the cert-manager components |
| 21 | +[cols=".^2,.^2,.^6a",options="header"] |
| 22 | +|==== |
| 23 | + |
| 24 | +|Field|Type|Description |
| 25 | + |
| 26 | +|`overrideArgs` |
| 27 | +|`string` |
| 28 | +|You can override the supported arguments for the cert-manager components. |
| 29 | + |
| 30 | +|`overrideEnv` |
| 31 | +|`dict` |
| 32 | +|You can override the supported environment variables for the cert-manager controller. This field is only supported for the cert-manager controller component. |
| 33 | + |
| 34 | +|`overrideResources` |
| 35 | +|`object` |
| 36 | +|You can configure the CPU and memory limits for the cert-manager components. |
| 37 | + |
| 38 | +|`overrideScheduling` |
| 39 | +|`object` |
| 40 | +|You can configure the pod scheduling constraints for the cert-manager components. |
| 41 | + |
| 42 | +|==== |
| 43 | + |
| 44 | +[id="cert-manager-overridable-arguments_{context}"] |
| 45 | +== Overridable arguments for the cert-manager components |
| 46 | + |
| 47 | +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. |
| 48 | + |
| 49 | +The following table describes the overridable arguments for the cert-manager components: |
| 50 | + |
| 51 | +.Overridable arguments the cert-manager components |
| 52 | +[cols=".^5a,.^2,.^4a",options="header"] |
| 53 | +|==== |
| 54 | + |
| 55 | +|Argument|Component|Description |
| 56 | + |
| 57 | +|`--dns01-recursive-nameservers=<server_address>` |
| 58 | +|Controller |
| 59 | +|Provide a comma-separated list of nameservers to query for the DNS-01 self check. The nameservers can be specified either as `<host>:<port>`, for example, `1.1.1.1:53`, or use DNS over HTTPS (DoH), for example, `\https://1.1.1.1/dns-query`. |
| 60 | + |
| 61 | +[NOTE] |
| 62 | +==== |
| 63 | +DNS over HTTPS (DoH) is supported starting only from {cert-manager-operator} version 1.13.0 and later. |
| 64 | +==== |
| 65 | + |
| 66 | +|`--dns01-recursive-nameservers-only` |
| 67 | +|Controller |
| 68 | +|Specify to only use recursive nameservers instead of checking the authoritative nameservers associated with that domain. |
| 69 | + |
| 70 | +|`--acme-http01-solver-nameservers=<host>:<port>` |
| 71 | +|Controller |
| 72 | +|Provide a comma-separated list of `<host>:<port>` nameservers to query for the Automated Certificate Management Environment (ACME) HTTP01 self check. For example, `--acme-http01-solver-nameservers=1.1.1.1:53`. |
| 73 | + |
| 74 | +|`--metrics-listen-address=<host>:<port>` |
| 75 | +|Controller |
| 76 | +|Specify the host and port for the metrics endpoint. The default value is `--metrics-listen-address=0.0.0.0:9402`. |
| 77 | + |
| 78 | +|`--issuer-ambient-credentials` |
| 79 | +|Controller |
| 80 | +|You can use this argument to configure an ACME Issuer to solve DNS-01 challenges by using ambient credentials. |
| 81 | + |
| 82 | +|`--enable-certificate-owner-ref` |
| 83 | +|Controller |
| 84 | +|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". |
| 85 | + |
| 86 | +|`--acme-http01-solver-resource-limits-cpu` |
| 87 | +|Controller |
| 88 | +|Defines the maximum CPU limit for ACME HTTP‑01 solver pods. The default value is `100m`. |
| 89 | + |
| 90 | +|`--acme-http01-solver-resource-limits-memory` |
| 91 | +|Controller |
| 92 | +|Defines the maximum memory limit for ACME HTTP‑01 solver pods. The default value is `64Mi`. |
| 93 | + |
| 94 | +|`--acme-http01-solver-resource-request-cpu` |
| 95 | +|Controller |
| 96 | +|Defines the minimum CPU request for ACME HTTP‑01 solver pods. The default value is `10m`. |
| 97 | + |
| 98 | +|`--acme-http01-solver-resource-request-memory` |
| 99 | +|Controller |
| 100 | +|Defines the minimum memory request for ACME HTTP‑01 solver pods. The default value is `64Mi`. |
| 101 | + |
| 102 | +|`--v=<verbosity_level>` |
| 103 | +|Controller, Webhook, CA injector |
| 104 | +|Specify the log level verbosity to determine the verbosity of log messages. |
| 105 | + |
| 106 | +|==== |
| 107 | + |
| 108 | +[id="cert-manager-overridable-env-variables_{context}"] |
| 109 | +== Overridable environment variables for the cert-manager controller |
| 110 | + |
| 111 | +You can configure the overridable environment variables for the cert-manager controller in the `spec.controllerConfig.overrideEnv` field in the `CertManager` CR. |
| 112 | + |
| 113 | +The following table describes the overridable environment variables for the cert-manager controller: |
| 114 | + |
| 115 | +.Overridable environment variables for the cert-manager controller |
| 116 | +[cols=".^2,.^2",options="header"] |
| 117 | +|==== |
| 118 | + |
| 119 | +|Environment variable|Description |
| 120 | + |
| 121 | +|`HTTP_PROXY` |
| 122 | +|Proxy server for outgoing HTTP requests. |
| 123 | + |
| 124 | +|`HTTPS_PROXY` |
| 125 | +|Proxy server for outgoing HTTPS requests. |
| 126 | + |
| 127 | +|`NO_PROXY` |
| 128 | +|Comma‑separated list of hosts that bypass the proxy. |
| 129 | + |
| 130 | +|==== |
| 131 | + |
| 132 | +[id="cert-manager-overridable-resource-parameters_{context}"] |
| 133 | +== Overridable resource parameters for the cert-manager components |
| 134 | + |
| 135 | +You can configure the CPU and memory limits for the cert-manager components in the `spec.controllerConfig`, `spec.webhookConfig`, and `spec.cainjectorConfig` sections in the `CertManager` CR. |
| 136 | + |
| 137 | +The following table describes the overridable resource parameters for the cert-manager components: |
| 138 | + |
| 139 | +.Overridable resource parameters for the cert-manager components |
| 140 | +[cols=".^2,.^2",options="header"] |
| 141 | +|==== |
| 142 | + |
| 143 | +|Field|Description |
| 144 | + |
| 145 | +|`overrideResources.limits.cpu` |
| 146 | +|Defines the maximum amount of CPU that a component pod can use. |
| 147 | + |
| 148 | +|`overrideResources.limits.memory` |
| 149 | +|Defines the maximum amount of memory that a component pod can use. |
| 150 | + |
| 151 | +|`overrideResources.requests.cpu` |
| 152 | +|Defines the minimum amount of CPU requested by the scheduler for a component pod. |
| 153 | + |
| 154 | +|`overrideResources.requests.memory` |
| 155 | +|Defines the minimum amount of memory requested by the scheduler for a component pod. |
| 156 | + |
| 157 | +|==== |
| 158 | + |
| 159 | +[id="cert-manager-overridable-scheduling-parameters_{context}"] |
| 160 | +== Overridable scheduling parameters for the cert-manager components |
| 161 | + |
| 162 | +You can configure the pod scheduling constrainsts for the cert-manager components in the `spec.controllerConfig`, `spec.webhookConfig` field, and `spec.cainjectorConfig` sections in the `CertManager` CR. |
| 163 | + |
| 164 | +The following table describes the pod scheduling parameters for the cert-manager components: |
| 165 | + |
| 166 | +.Overridable scheduling parameters for the cert-manager components |
| 167 | +[cols=".^2,.^2",options="header"] |
| 168 | +|==== |
| 169 | + |
| 170 | +|Field|Description |
| 171 | + |
| 172 | +|`overrideScheduling.nodeSelector` |
| 173 | +|Key‑value pairs to constrain pods to specific nodes. |
| 174 | + |
| 175 | +|`overrideScheduling.tolerations` |
| 176 | +|List of tolerations to schedule pods on tainted nodes. |
| 177 | + |
| 178 | +|==== |
0 commit comments