Installing Approver Policy using Helm¶
In this tutorial, you'll use Helm to install Approver Policy, which replaces the built-in cert-manager approver with policy-driven certificate request approval.
Prerequisites¶
To complete these steps, you must have:
- On your local machine,
kubectland Helm 3.8.0+. - Permission to install Helm charts and custom resource definitions (CRDs) in your Kubernetes cluster.
- cert-manager installed in your cluster.
- As described in Configuring Next-Gen Trust Security registry access, private registry access through a Built-in Account with the OCI Registry Use Case and
cert-manager ComponentsScope, usingkubectlto create a pull secret. - Access to a Next-Gen Trust Security tenant.
Step 1: Reconfigure cert-manager¶
To use Approver Policy for certificate requests, disable the built-in cert-manager approver. Use one of these methods, depending on your cert-manager version.
Disable the approver by setting disableAutoApproval to true on the cert-manager controller:
helm upgrade cert-manager -i oci://registry.ngts.paloaltonetworks.com/charts/cert-manager \
--install \
--create-namespace \
--namespace venafi \
--version vX.X.X \
--set crds.enabled=true \
--set disableAutoApproval=true
Using a values file
If using a values file, add the following instead:
disableAutoApproval: true
Disable the approver by excluding its controller with the extraArgs flag:
helm upgrade -i cert-manager oci://registry.venafi.cloud/charts/cert-manager \
--install \
--create-namespace \
--namespace venafi \
--version v1.20.0 \
--set installCRDs=true \
--set extraArgs={--controllers='*\,-certificaterequests-approver'}
Avoiding conflicts with existing settings
- Only change
extraArgsat the top level of the values file. Do not changewebhook.extraArgs,startupAPICheck.extraArgs, orcainjector.extraArgs. - If reconfiguring an existing install, run
helm get values cert-manager --namespace venafito check whetherextraArgshas already been customized. If so, merge the existing values with the--controllersflag to avoid overwriting them.
Confirm that the approver is disabled in the cert-manager controller log:
kubectl logs -n venafi -l app=cert-manager | grep "certificaterequests-approver"
A successful reconfiguration produces output similar to the following:
I0506 14:44:51.198463 1 controller.go:182] cert-manager/controller "msg"="not starting controller as it's disabled" "controller"="certificaterequests-approver"
Step 2: Deploy Approver Policy using Helm¶
Install Approver Policy and configure it to use the pull secret from the prerequisites and specify the CA bundles Approver Policy will trust.
-
Create a file named
approver-policy.values.yaml.If using your own registry, replace
registry.ngts.paloaltonetworks.comwith your registry base URL.approver-policy.values.yamlcert-manager-approver-policy: imagePullSecrets: - name: ngts-image-pull-secret # Add if using your own registry # imageRegistry: myregistry.example.com # imageNamespace: cert-manager -
Install Approver Policy and wait for it to be ready:
helm upgrade cert-manager-approver-policy oci://registry.ngts.paloaltonetworks.com/charts/cert-manager-approver-policy \ --install \ --namespace venafi \ --values approver-policy.values.yaml \ --version v0.24.0 \ --wait