You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/installation/helm.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,13 +118,14 @@ This static manifest can be tuned by providing the flags to overwrite the defaul
118
118
helm template \
119
119
cert-manager jetstack/cert-manager \
120
120
--namespace cert-manager \
121
-
--create-namespace \
122
121
--version [[VAR::cert_manager_latest_version]] \
123
122
--set crds.enabled=true \
124
123
# --set prometheus.enabled=false \ # Example: disabling prometheus using a Helm parameter
125
124
> cert-manager.custom.yaml
126
125
```
127
126
127
+
> ℹ️ The `helm template` command will not output a Namespace resource and ignores the `--create-namespace` flag. You must ensure the namespace you are deploying the generated YAML to exists.
128
+
128
129
## Uninstalling
129
130
130
131
> **Warning**: To uninstall cert-manager you should always use the same process for
> From this release, the Helm chart will no longer uninstall the CRDs when the
19
-
> chart is uninstalled. If you want the CRDs to be removed on uninstall use
18
+
> From this release, the Helm chart will no longer uninstall the CRDs when the
19
+
> chart is uninstalled. If you want the CRDs to be removed on uninstall use
20
20
> `crds.keep=false` when installing the Helm chart.
21
21
22
22
cert-manager 1.15 promotes several features to beta, including GatewayAPI support (`ExperimentalGatewayAPISupport`), the ability to provide a subject in the Certificate that will be used literally in the CertificateSigningRequest (`LiteralCertificateSubject`) and the outputting of additional certificate formats (`AdditionalCertificateOutputFormats`).
@@ -33,6 +33,18 @@ Thanks also to the CNCF, which provides resources and support, and to the AWS op
33
33
34
34
In addition, massive thanks to Venafi for contributing developer time and resources towards the continued maintenance of cert-manager projects.
35
35
36
+
37
+
## `v1.15.2`
38
+
39
+
### Bug or Regression
40
+
41
+
- BUGFIX `route53`: explicitly set the `aws-global` STS region which is now required by the `github.com/aws/aws-sdk-go-v2` library. ([#7189](https://github.com/cert-manager/cert-manager/pull/7189), [`@cert-manager-bot`](https://github.com/cert-manager-bot))
42
+
- Bump `grpc-go` to fix `GHSA-xr7q-jx4m-x55m` ([#7167](https://github.com/cert-manager/cert-manager/pull/7167), [`@SgtCoDFish`](https://github.com/SgtCoDFish))
- Fix incorrect value and indentation of `endpointAdditionalProperties` in the `PodMonitor` template of the Helm chart ([#7191](https://github.com/cert-manager/cert-manager/pull/7191), [`@inteon`](https://github.com/inteon))
45
+
- Fixes ACME HTTP01 challenge behavior when using Gateway API to prevent unbounded creation of `HTTPRoute` resources ([#7186](https://github.com/cert-manager/cert-manager/pull/7186), [`@cert-manager-bot`](https://github.com/cert-manager-bot))
46
+
- Upgrade `golang` from `1.22.3` to `1.22.5` ([#7165](https://github.com/cert-manager/cert-manager/pull/7165), [`@github-actions`](https://github.com/github-actions))
47
+
36
48
## `v1.15.1`
37
49
38
50
### Bug or Regression
@@ -104,4 +116,4 @@ In addition, massive thanks to Venafi for contributing developer time and resour
- Upgrade Kind to `v0.23.0` and update supported node image digests ([#7020](https://github.com/cert-manager/cert-manager/pull/7020), @github-actions[bot])
106
118
- If the `--controllers` flag only specifies disabled controllers, the default controllers are now enabled implicitly. ([#7054](https://github.com/cert-manager/cert-manager/pull/7054), [@inteon](https://github.com/inteon))
107
-
- Upgrade to Go 1.22.3, fixing `GO-2024-2824`. ([#6996](https://github.com/cert-manager/cert-manager/pull/6996), @github-actions[bot])
119
+
- Upgrade to Go 1.22.3, fixing `GO-2024-2824`. ([#6996](https://github.com/cert-manager/cert-manager/pull/6996), @github-actions[bot])
If you're running cert-manager without the default approver, see [approver-policy Integration](#approver-policy-integration)
36
+
for details on how to avoid a stuck installation.
37
+
38
+
If you don't want to rely on cert-manager, you can install using a Helm-generated cert; see [Installing trust-manager without cert-manager](./installation.md#install-without-cert-manager).
39
+
40
+
### 3. Install trust-manager
41
+
42
+
trust-manager is simple to install and is contained in a single Helm chart:
Various options are available, and some are documented below.
52
+
37
53
## Installation Options
38
54
39
55
#### Enable Secret targets
@@ -47,6 +63,8 @@ for details and trade-offs.
47
63
48
64
#### approver-policy Integration
49
65
66
+
<aname="approver-policy-integration"></a>
67
+
50
68
If you're running [approver-policy](../../policy/approval/approver-policy/README.md) then cert-manager's default approver will be disabled which will mean that
51
69
trust-manager's webhook certificate will - by default - block when you install the Helm chart until it's manually approved.
52
70
@@ -79,6 +97,27 @@ namespace to whichever is most appropriate for your environment.
79
97
An ideal deployment would be a fresh namespace dedicated entirely to trust-manager, to minimize the number of actors in your
80
98
cluster that can modify your trust sources.
81
99
100
+
#### Installing trust-manager without cert-manager
101
+
102
+
<aname="install-without-cert-manager"></a>
103
+
104
+
As an alternative to generating a webhook certificate using cert-manager, it's possible to opt to use Helm to generate the webhook certificate instead.
105
+
106
+
This isn't recommended for production, since Helm-generated certificates might be complicated to monitor or to reason about. The certificate is also rotated
107
+
every time trust-manager is upgraded, which necessitates pod restarts and may complicate the upgrade process.
108
+
109
+
Installing without cert-manager can be great for smaller, more resource-constrained deployments such as experiments, demos or home labs.
110
+
111
+
Using a Helm-generated cert requires a single flag:
Copy file name to clipboardExpand all lines: content/docs/usage/istio-csr/installation.md
+105Lines changed: 105 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,20 @@ This guide will run through installing and using istio-csr from scratch. We'll u
9
9
10
10
Note that if you're following the Platform Setup guide for OpenShift, do not run the `istioctl install` command listed in that guide; we'll run our own command later.
11
11
12
+
### 0. Background
13
+
14
+
istio-csr uses cert-manager to issue Istio certificates, and needs to be able to reference an issuer resource to do this.
15
+
16
+
You can choose to configure an issuer when installing with the Helm chart and / or to configure a ConfigMap to watch which can then be used to configure an issuer at runtime.
17
+
18
+
Configuring a ConfigMap for the issuer details is called "runtime configuration", and it's required if no issuer is specified in the Helm chart.
19
+
20
+
If you configure an issuer in the chart, you'll be able to start issuing as soon as the istio-csr pods come online but you'll need to have already installed cert-manager and created the issuer.
21
+
22
+
If you don't set an issuer in the chart, istio-csr will not become ready until an issuer is specified via runtime configuration, but you'll be able to install cert-manager and istio-csr concurrently.
23
+
24
+
Note that the chart contains a default issuer name and so using runtime configuration requires an explicit opt-in. The guide below assumes you'll install istio-csr after an issuer is configured without runtime configuration; there are notes for runtime configuration at the bottom.
25
+
12
26
### 1. Initial Setup
13
27
14
28
You'll need the following tools installed on your machine:
@@ -278,6 +292,97 @@ Assuming your running inside kind, you can simply remove the cluster:
278
292
kind delete cluster
279
293
```
280
294
295
+
## Installation with Runtime Configuration
296
+
297
+
There are two options for installing with runtime configuration:
298
+
299
+
1. Install after cert-manager, still providing an explicit `issuerRef` in the Helm chart
300
+
2. Blank out the `issuerRef` in the Helm chart and use pure runtime configuration
301
+
302
+
Both options will require a ConfigMap to be created to point at an issuer. This ConfigMap can be created
303
+
before or after installation, and must be created in the same namespace as the istio-csr pods.
304
+
305
+
### Creating the ConfigMap
306
+
307
+
Three keys are required, specifying the issuer name, kind and group. Any method of creating a ConfigMap will work. For example:
If cert-manager is already installed, you can use the same `helm upgrade` command as above but also specifying the name of the runtime configuration ConfigMap:
In this scenario, the issuer defined in `app.certmanager.issuer` will be used at startup and to create the `istiod` certificate.
330
+
331
+
When istio-csr detects the runtime ConfigMap, it'll use the issuer configured there. If the ConfigMap is updated, istio-csr will respect the update dynamically.
332
+
333
+
If the runtime ConfigMap is deleted, istio-csr will revert to using the value from `app.certmanager.issuer`.
334
+
335
+
### Option 2: Pure Runtime Configuration
336
+
337
+
Pure runtime configuration is only practical with istio-csr `v0.11.0` or newer.
338
+
339
+
Pure runtime configuration requires more values to be set:
340
+
341
+
1. The `app.certmanager.issuer` values must be blanked out (as they're set to a default value in the chart)
342
+
2. The `istiod` certificate must not be provisioned alongside the istio-csr resources. By passing `app.tls.istiodCertificateEnable=dynamic`, the istiod will be dynamically generated when runtime configuration is available.
343
+
4.`app.runtimeIssuanceConfigMap` must be set.
344
+
345
+
An example `values.yaml` file for pure runtime configuration is as follows:
346
+
347
+
```yaml
348
+
app:
349
+
runtimeIssuanceConfigMap: istio-issuer
350
+
certmanager:
351
+
issuer:
352
+
name: ""# explicitly blanked out
353
+
kind: ""# explicitly blanked out
354
+
group: ""# explicitly blanked out
355
+
tls:
356
+
rootCAFile: "/var/run/secrets/istio-csr/ca.pem"
357
+
istiodCertificateEnable: dynamic
358
+
volumeMounts:
359
+
- name: root-ca
360
+
mountPath: /var/run/secrets/istio-csr
361
+
volumes:
362
+
- name: root-ca
363
+
secret:
364
+
secretName: istio-root-ca
365
+
```
366
+
367
+
This file could then be used with the following command:
0 commit comments