Approver Policy Helm values¶
Approver Policy is an cert-manager approver that approves or denies certificate requests based on policies defined in the certificate request policy custom resource.
The following Approver Policy Helm values are supported by the Venafi Kubernetes Manifest tool.
nameOverride¶
Property | nameOverride |
---|---|
Type | string |
Default |
nameOverride replaces the name of the chart in the Chart.yaml file, when this is used to construct Kubernetes object names.
http_proxy¶
Property | http_proxy |
---|---|
Type | string |
Default |
Configures the HTTP_PROXY environment variable where a HTTP proxy is required.
https_proxy¶
Property | https_proxy |
---|---|
Type | string |
Default |
Configures the HTTPS_PROXY environment variable where a HTTP proxy is required.
no_proxy¶
Property | no_proxy |
---|---|
Type | string |
Default |
Configures the NO_PROXY environment variable where a HTTP proxy is required, but certain domains should be excluded.
crds.enabled¶
Property | crds.enabled |
---|---|
Type | bool |
Default |
|
This option decides if the CRDs should be installed as part of the Helm installation.
crds.keep¶
Property | crds.keep |
---|---|
Type | bool |
Default |
|
This option makes it so that the "helm.sh/resource-policy": keep annotation is added to the CRD. This will prevent Helm from uninstalling the CRD when the Helm release is uninstalled.
WARNING: when the CRDs are removed, all cert-manager Approver Policy custom resources (CertificateRequestPolicy) will be removed too by the garbage collector.
replicaCount¶
Property | replicaCount |
---|---|
Type | number,string,null |
Default |
|
Number of replicas of Approver Policy to run.
For example:
Use integer to set a fixed number of replicas
replicaCount: 2
Use null, if you want to omit the replicas field and use the Kubernetes default value.
replicaCount: null
Use a string if you want to insert a variable for post-processing of the rendered template.
replicaCount: ${REPLICAS_OVERRIDE:=3}
image.registry¶
Property | image.registry |
---|---|
Type | string |
Default |
Target image registry. This value is prepended to the target image repository, if set.
For example:
registry: quay.io
repository: jetstack/cert-manager-approver-policy
image.repository¶
Property | image.repository |
---|---|
Type | string |
Default |
|
Target image repository.
image.tag¶
Property | image.tag |
---|---|
Type | string |
Default |
Override the image tag to deploy by setting this variable. If no value is set, the chart's appVersion is used.
image.digest¶
Property | image.digest |
---|---|
Type | string |
Default |
Target image digest. Override any tag, if set.
For example:
digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
image.pullPolicy¶
Property | image.pullPolicy |
---|---|
Type | string |
Default |
|
Kubernetes imagePullPolicy on Deployment.
imagePullSecrets¶
Property | imagePullSecrets |
---|---|
Type | array |
Default |
|
Optional secrets used for pulling the Approver Policy container image.
app.logFormat¶
Property | app.logFormat |
---|---|
Type | string |
Default |
|
The format of Approver Policy logging. Accepted values are text or json.
app.logLevel¶
Property | app.logLevel |
---|---|
Type | number |
Default |
|
Verbosity of Approver Policy logging. This is a value from 1 to 5.
app.extraArgs¶
Property | app.extraArgs |
---|---|
Type | array |
Default |
|
Extra CLI arguments that will be passed to the Approver Policy process.
app.approveSignerNames¶
Property | app.approveSignerNames |
---|---|
Type | array |
Default |
|
List of signer names that Approver Policy will be given permission to approve and deny. CertificateRequests referencing these signer names can be processed by Approver Policy. Defaults to an empty array, allowing approval for all signers. For more information, see the certificateRequest resource approval.
app.metrics.port¶
Property | app.metrics.port |
---|---|
Type | number |
Default |
|
Port for exposing Prometheus metrics on 0.0.0.0 on path '/metrics'.
app.metrics.service.servicemonitor¶
Property | app.metrics.service.servicemonitor |
---|---|
Type | bool |
Default |
|
Create a Service resource to expose metrics endpoint.
app.metrics.service.servicemonitor¶
Property | app.metrics.service.servicemonitor |
---|---|
Type | string |
Default |
|
The service type to expose metrics.
app.metrics.service.servicemonitor.enabled¶
Property | app.metrics.service.servicemonitor.enabled |
---|---|
Type | bool |
Default |
|
Create Prometheus ServiceMonitor resource for Approver Policy.
app.metrics.service.servicemonitor.prometheusInstance¶
Property | app.metrics.service.servicemonitor.prometheusInstance |
---|---|
Type | string |
Default |
|
The value for the "prometheus" label on the ServiceMonitor. This allows for multiple Prometheus instances selecting difference ServiceMonitors using label selectors.
app.metrics.service.servicemonitor.interval¶
Property | app.metrics.service.servicemonitor.interval |
---|---|
Type | string |
Default |
|
The interval that the Prometheus will scrape for metrics.
app.metrics.service.servicemonitor.scrapeTimeout¶
Property | app.metrics.service.servicemonitor.scrapeTimeout |
---|---|
Type | string |
Default |
|
The timeout on each metric probe request.
app.metrics.service.servicemonitor.labels¶
Property | app.metrics.service.servicemonitor.labels |
---|---|
Type | object |
Default |
|
Additional labels to give the ServiceMonitor resource.
app.readinessProbe.port¶
Property | app.readinessProbe.port |
---|---|
Type | number |
Default |
|
The container port to expose Approver Policy HTTP readiness probe on default network interface.
app.webhook.host¶
Property | app.webhook.host |
---|---|
Type | string |
Default |
|
The host that the webhook listens on.
app.webhook.port¶
Property | app.webhook.port |
---|---|
Type | number |
Default |
|
The port that the webhook listens on.
app.webhook.timeoutSeconds¶
Property | app.webhook.timeoutSeconds |
---|---|
Type | number |
Default |
|
The timeout of webhook HTTP request.
app.webhook.hostNetwork¶
Property | app.webhook.hostNetwork |
---|---|
Type | bool |
Default |
Deprecated. Use .hostNetwork instead.
app.webhook.dnsPolicy¶
Property | app.webhook.dnsPolicy |
---|---|
Type | string |
Default |
Deprecated. Use .dnsPolicy instead.
app.webhook.affinity¶
Property | app.webhook.affinity |
---|---|
Type | object |
Default |
Deprecated. Use .affinity instead.
app.webhook.nodeSelector¶
Property | app.webhook.nodeSelector |
---|---|
Type | object |
Default |
Deprecated. Use .nodeSelector instead.
app.webhook.tolerations¶
Property | app.webhook.tolerations |
---|---|
Type | array |
Default |
Deprecated. Use .tolerations instead.
app.webhook.service.type¶
Property | app.webhook.service.type |
---|---|
Type | string |
Default |
|
The type of Kubernetes Service used by the webhook.
app.webhook.service.nodePort¶
Property | app.webhook.service.nodePort |
---|---|
Type | number |
Default |
The nodePort set on the Service used by the webhook.
hostNetwork¶
Property | hostNetwork |
---|---|
Type | bool |
Default |
|
Boolean value, expose pod on hostNetwork.
Required when running a custom CNI in managed providers such as AWS EKS.
For more information, see AWS EKS.
dnsPolicy¶
Property | dnsPolicy |
---|---|
Type | string |
Default |
|
This value may need to be changed if hostNetwork: true
priorityClassName¶
Property | priorityClassName |
---|---|
Type | string |
Default |
|
Configure the priority class of the Pod.
For more information, see:
Guaranteed Scheduling For Critical Add-On Pods
Protect Your Mission-Critical Pods From Eviction With PriorityClass
For example:
priorityClassName: system-cluster-critical
affinity¶
Property | affinity |
---|---|
Type | object |
Default |
|
A Kubernetes Affinity, if required. For more information, see Affinity v1 core.
For example:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: foo.bar.com/role
operator: In
values:
- master
nodeSelector¶
Property | nodeSelector |
---|---|
Type | object |
Default |
|
The nodeSelector on Pods tells Kubernetes to schedule Pods on the nodes with matching labels. For more information, see Assigning Pods to Nodes.
tolerations¶
Property | tolerations |
---|---|
Type | array |
Default |
|
A list of Kubernetes Tolerations, if required. For more information, see Toleration v1 core.
For example:
tolerations:
- key: foo.bar.com/role
operator: Equal
value: master
effect: NoSchedule
topologySpreadConstraints¶
Property | topologySpreadConstraints |
---|---|
Type | array |
Default |
|
List of Kubernetes TopologySpreadConstraints. For more information, see:
Pod Topology Spread Constraints.
For example:
topologySpreadConstraints:
- maxSkew: 2
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app.kubernetes.io/name: cert-manager-approver-policy
app.kubernetes.io/instance: cert-manager-approver-policy
podDisruptionBudget.enabled¶
Property | podDisruptionBudget.enabled |
---|---|
Type | bool |
Default |
|
Enable or disable the PodDisruptionBudget resource.
This prevents downtime during voluntary disruptions such as during a Node upgrade. For example, the PodDisruptionBudget blocks kubectl drain
if it is used on the Node where the only remaining Aapprover Policy Pod is currently running.
podDisruptionBudget.minAvailable¶
Property | podDisruptionBudget.minAvailable |
---|---|
Type | number |
Default |
Configures the minimum available pods for disruptions.
Cannot be used if maxUnavailable
is set.
podDisruptionBudget.maxUnavailable¶
Property | podDisruptionBudget.maxUnavailable |
---|---|
Type | number |
Default |
Configures the maximum unavailable pods for disruptions.
Cannot be used if minAvailable
is set.
volumeMounts¶
Property | volumeMounts |
---|---|
Type | array |
Default |
|
Optional extra volume mounts. Useful for mounting custom root CAs.
For example:
volumeMounts:
- name: my-volume-mount
mountPath: /etc/approver-policy/secrets
volumes¶
Property | volumes |
---|---|
Type | array |
Default |
|
Optional extra volumes.
For example:
volumes:
- name: my-volume
secret:
secretName: my-secret
resources¶
Property | resources |
---|---|
Type | object |
Default |
|
Kubernetes pod resources.
For more information, see Resource Management for Pods and Containers.
For example:
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
commonLabels¶
Property | commonLabels |
---|---|
Type | object |
Default |
|
Allow custom labels to be placed on resources - optional.
podAnnotations¶
Property | podAnnotations |
---|---|
Type | object |
Default |
|
Allow custom annotations to be placed on cert-manager-approver pod - optional.
strategy¶
Property | strategy |
---|---|
Type | object |
Default |
|
Deployment update strategy for the Approver Policy Deployment.
This could be needed when deploying Approver Policy on each control-plane node and setting anti-affinities to forbid two pods on the same node. In this situation, default values of maxSurge (25% round up to next integer = 1) and maxUnavailable (25% round down to next integer = 0) block the rolling update as the new surge pod can't be scheduled on a control-plane node due to anti-affinities. Setting maxSurge to 0 and maxUnavailable to 1 would solve the problem.
For example:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
For more information, see the Kubernetes documentation.