Skip to content

Commit 2086395

Browse files
Ajay-singh1dhawton
authored andcommitted
Add Documentation for ClusterTrustBundle (#16665)
* Add Documentation for ClusterTrustBundle * Fix: Lint * Update content/en/docs/concepts/security/index.md Co-authored-by: Daniel Hawton <[email protected]> * Update content/en/docs/concepts/security/index.md Co-authored-by: Daniel Hawton <[email protected]> * Update content/en/docs/concepts/security/index.md Co-authored-by: Daniel Hawton <[email protected]> * Update content/en/docs/concepts/security/index.md Co-authored-by: Daniel Hawton <[email protected]> * Update content/en/docs/concepts/security/index.md Co-authored-by: Daniel Hawton <[email protected]> * Update content/en/docs/concepts/security/index.md Co-authored-by: Daniel Hawton <[email protected]> * Update content/en/docs/concepts/security/index.md Co-authored-by: Daniel Hawton <[email protected]> * Update content/en/docs/concepts/security/index.md --------- Co-authored-by: Daniel Hawton <[email protected]>
1 parent 3fac2ec commit 2086395

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

.spelling

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,8 @@ cluster.local
257257
cluster1
258258
cluster2
259259
ClusterSPIFFEID
260+
ClusterTrustBundle
261+
ClusterTrustBundles
260262
CNCF-hosted
261263
CNI
262264
CNIs

content/en/docs/concepts/security/index.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,49 @@ Istio provisions keys and certificates through the following flow:
137137
1. Istio agent monitors the expiration of the workload certificate.
138138
The above process repeats periodically for certificate and key rotation.
139139

140+
## ClusterTrustBundle
141+
142+
`ClusterTrustBundle` is a Kubernetes Custom Resource Definition (CRD) introduced to help manage trusted Certificate Authority (CA) bundles cluster-wide. It is primarily used to distribute and trust public X.509 certificates across the entire cluster. This concept is especially useful in environments where components and workloads need to validate TLS certificates signed by non-standard or private CAs. Istio has added experimental support for this in recent versions, making it easier to manage trust for services.
143+
144+
### Enabling the feature
145+
146+
To use `ClusterTrustBundle` in Istio, you must enable it by setting a flag during installation.
147+
Here's how:
148+
149+
1. Ensure your Kubernetes cluster is version 1.27 or later and that [`ClusterTrustBundles` are enabled](https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/#cluster-trust-bundles).
150+
151+
1. Add this to your istio configuration
152+
153+
{{< text yaml >}}
154+
values:
155+
pilot:
156+
env:
157+
ENABLE_CLUSTER_TRUST_BUNDLE_API: "true"
158+
{{< /text >}}
159+
160+
### Creating and Using ClusterTrustBundles
161+
162+
You create `ClusterTrustBundles` as Kubernetes resources, for example:
163+
164+
{{< text yaml >}}
165+
apiVersion: certificates.k8s.io/v1alpha1
166+
kind: ClusterTrustBundle
167+
metadata:
168+
name: my-trust-bundle
169+
spec:
170+
trustBundle |
171+
-----BEGIN CERTIFICATE-----
172+
<your-root-certificate-here>
173+
-----END CERTIFICATE-----
174+
{{< /text >}}
175+
176+
Once created, the Istio control plane will use these for validating certificates in secure communications, like mutual TLS (mTLS).
177+
178+
### Important notes
179+
180+
- This is experimental, so expect changes in future versions.
181+
- Make sure the Istio service account has the right permissions to access `ClusterTrustBundles`, or you may encounter errors.
182+
140183
## Authentication
141184

142185
Istio provides two types of authentication:

0 commit comments

Comments
 (0)