Skip to content

Commit

Permalink
Add disabling webhook component guide
Browse files Browse the repository at this point in the history
Signed-off-by: James Munnelly <james@munnelly.eu>
  • Loading branch information
munnerz committed Jan 30, 2019
1 parent c01c631 commit 6b3051a
Showing 1 changed file with 50 additions and 1 deletion.
51 changes: 50 additions & 1 deletion docs/getting-started/webhook.rst
Expand Up @@ -175,12 +175,61 @@ Alternatively, you can read how to `disable the webhook component`_ below.
Disable the webhook component
==============================

If you are having issues with the webhook and cannot use it at this time,
you can optionally disable the webhook altogether.

Doing this may expose your cluster to mis-configuration problems that in some
cases could cause cert-manager to stop working altogether (i.e. if invalid
types are set for fields on cert-manager resources).

How you disable the webhook depends on your deployment method.

With Helm
---------

The Helm chart exposes an option that can be used to disable the webhook.

To do so with an existing installation, you can run:

.. code-block::
helm upgrade cert-manager \
--reuse-values \
--set webhook.enabled=false
If you have not installed cert-manager yet, you can add the
``--set webhook.enabled=false`` to the ``helm install`` command used to install
cert-manager.

With static manifests
---------------------

Because we cannot specify options when installing the static manifests to
conditionally disable different components, we also ship a copy of the
deployment files that do not include the webhook.

Instead of installing with `cert-manager.yaml`_ file, you should instead use
the `cert-manager-no-webhook.yaml`_ file located in the deploy directory.

This is a destructive operation, as it will remove the CustomResourceDefinition
resources, causing your configured Issuers, Certificates etc to be deleted.

You should first :doc:`backup your configuration </tasks/backup-restore-crds>`
before running the following commands.

To re-install cert-manager without the webhook, run:

.. code-block::
kubectl delete -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.6/deploy/manifests/cert-manager.yaml
kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.6/deploy/manifests/cert-manager-no-webhook.yaml
Once you have re-installed cert-manager, you should then
:doc:`restore your configuration </tasks/backup-restore-crds>`.

.. _`munnerz/apiextensions-ca-helper`: https://github.com/munnerz/apiextensions-ca-helper
.. _`deploy directory`: https://github.com/jetstack/cert-manager/blob/release-0.5/contrib/manifests/cert-manager
.. _`deploy directory`: https://github.com/jetstack/cert-manager/blob/release-0.6/deploy/manifests
.. _`cert-manager.yaml`: https://github.com/jetstack/cert-manager/blob/release-0.6/deploy/manifests/cert-manager.yaml
.. _`cert-manager-no-webhook.yaml`: https://github.com/jetstack/cert-manager/blob/release-0.6/deploy/manifests/cert-manager-no-webhook.yaml
.. _`GKE docs`: https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules

0 comments on commit 6b3051a

Please sign in to comment.