Skip to content

Commit 28d5d48

Browse files
committed
document use of OCI charts for installing cert-manager
Signed-off-by: Ashley Davis <[email protected]>
1 parent 1558363 commit 28d5d48

File tree

1 file changed

+47
-12
lines changed

1 file changed

+47
-12
lines changed

content/docs/installation/helm.md

Lines changed: 47 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,60 @@ non-namespaced resources in your cluster and care must be taken to ensure that i
1616
- Install a [supported version of Kubernetes or OpenShift](../releases/README.md).
1717
- Read [Compatibility with Kubernetes Platform Providers](./compatibility.md) if you are using Kubernetes on a cloud platform.
1818

19-
### Installing cert-manager
19+
### Installing cert-manager with Helm
2020

21-
#### 1. Add the Helm repository
21+
cert-manager is available as an OCI Helm chart and from a Helm repository. We recommend using the OCI Helm chart for any recent version of cert-manager.
2222

23-
This repository is the only supported source of cert-manager charts. There are some other mirrors and copies across the internet, but those are entirely unofficial and could present a security risk.
23+
Very old versions of cert-manager (earlier than v1.12) are only officially available from the legacy Helm repository. The rest of this document assumes the use of the OCI registry.
2424

25-
Notably, the "Helm stable repository" version of cert-manager is deprecated and should not be used.
25+
#### Installing from the OCI Registry
26+
27+
For simplicity, the cert-manager Helm charts are published to the same OCI registry as the cert-manager container images, at `quay.io/jetstack`.
28+
29+
The latest cert-manager chart is available at the following location:
2630

2731
```bash
28-
helm repo add jetstack https://charts.jetstack.io --force-update
32+
oci://quay.io/jetstack/charts/cert-manager:[[VAR::cert_manager_latest_version]]
33+
```
34+
35+
You can install cert-manager using the [Helm install command](https://helm.sh/docs/helm/helm_install/) directly, with no other setup required:
36+
37+
```bash
38+
helm install \
39+
cert-manager oci://quay.io/jetstack/charts/cert-manager \
40+
--version [[VAR::cert_manager_latest_version]] \
41+
--namespace cert-manager \
42+
--create-namespace \
43+
--set crds.enabled=true
44+
```
45+
46+
It's a good idea to verify the signature on the chart too, which requires the GPG keyring to be downloaded from this website first.
47+
48+
```bash
49+
curl -LO https://cert-manager.io/public-keys/cert-manager-keyring-2021-09-20-1020CF3C033D4F35BAE1C19E1226061C665DF13E.gpg
50+
51+
helm install \
52+
cert-manager oci://quay.io/jetstack/charts/cert-manager \
53+
--version [[VAR::cert_manager_latest_version]] \
54+
--namespace cert-manager \
55+
--create-namespace \
56+
--verify \
57+
--keyring ./cert-manager-keyring-2021-09-20-1020CF3C033D4F35BAE1C19E1226061C665DF13E.gpg \
58+
--set crds.enabled=true
2959
```
3060

31-
#### 2. Install cert-manager
61+
#### Installing from the Legacy Helm Repository
62+
63+
The Helm charts for cert-manager have historically been published to the Jetstack repository at `https://charts.jetstack.io`.
3264

33-
To install the cert-manager Helm chart, use the [Helm install command](https://helm.sh/docs/helm/helm_install/) as described below.
65+
This repository is still available and there are no current plans for it to change but it is recommended to use OCI Helm charts for the latest versions of cert-manager.
66+
67+
To use the legacy repository instead of the OCI registry, you need to add the Jetstack Helm repository to your local Helm client
68+
and use a slightly different [Helm install command](https://helm.sh/docs/helm/helm_install/). Examples of both are provided below.
3469

3570
```bash
71+
helm repo add jetstack https://charts.jetstack.io --force-update
72+
3673
helm install \
3774
cert-manager jetstack/cert-manager \
3875
--namespace cert-manager \
@@ -41,7 +78,7 @@ helm install \
4178
--set crds.enabled=true
4279
```
4380

44-
#### 3. (optional) Verify installation
81+
#### (Optional) Verify installation
4582

4683
Once you have deployed cert-manager, you can [verify](./kubectl.md#verify) the installation.
4784

@@ -53,10 +90,9 @@ The example below shows how to tune the cert-manager installation by overwriting
5390

5491
```bash
5592
helm install \
56-
cert-manager jetstack/cert-manager \
93+
cert-manager oci://quay.io/jetstack/charts/cert-manager:[[VAR::cert_manager_latest_version]] \
5794
--namespace cert-manager \
5895
--create-namespace \
59-
--version [[VAR::cert_manager_latest_version]] \
6096
--set crds.enabled=true \
6197
--set prometheus.enabled=false \ # Example: disabling prometheus using a Helm parameter
6298
--set webhook.timeoutSeconds=4 # Example: changing the webhook timeout using a Helm parameter
@@ -116,9 +152,8 @@ This static manifest can be tuned by providing the flags to overwrite the defaul
116152

117153
```bash
118154
helm template \
119-
cert-manager jetstack/cert-manager \
155+
cert-manager oci://quay.io/jetstack/charts/cert-manager:[[VAR::cert_manager_latest_version]] \
120156
--namespace cert-manager \
121-
--version [[VAR::cert_manager_latest_version]] \
122157
--set crds.enabled=true \
123158
# --set prometheus.enabled=false \ # Example: disabling prometheus using a Helm parameter
124159
> cert-manager.custom.yaml

0 commit comments

Comments
 (0)