|
| 1 | +// A RootTrustPolicy is used to designate the root of trust, including the trust domain and root |
| 2 | +// certificates used by one or more service meshes. With a RootTrustPolicy, you can set |
| 3 | +// set up an Istio root CA and use that root CA to automatically issue intermediate CA certificates |
| 4 | +// for all your workload clusters that make up your multicluster service mesh. Because all intermediate CA certificates are |
| 5 | +// derived from the same root, your workloads can securely talk to each other, even across cluster boundaries. |
| 6 | +// This approach is also referred to as federated trust. |
| 7 | +// |
| 8 | +// You have the option to fully or partially manage the Istio CA certificate lifecycle. The |
| 9 | +// option that is right for you depends on the type of environment that you have and the level |
| 10 | +// of control you want to have over the Istio CA certificate lifecycle. |
| 11 | +// |
| 12 | +// ## Examples |
| 13 | +// |
| 14 | +// The following example instructs {{% reuse "conrefs/snippets/policies/ov_fault_injection.md" %}} to |
| 15 | +// create a self-signed root CA certificate that is valid for 730 days. |
| 16 | +// |
| 17 | +// ```yaml |
| 18 | +// apiVersion: admin.gloo.solo.io/v2 |
| 19 | +// kind: RootTrustPolicy |
| 20 | +// metadata: |
| 21 | +// name: root-trust-policy |
| 22 | +// namespace: gloo-mesh |
| 23 | +// spec: |
| 24 | +// config: |
| 25 | +// mgmtServerCa: |
| 26 | +// generated: |
| 27 | +// ttlDays: 730 |
| 28 | +// ``` |
| 29 | +// |
| 30 | +// To bring your own root CA certificate, store the root CA credentials in a Kubernetes secret. Then, |
| 31 | +// reference this secret in your RootTrustPolicy. |
| 32 | +// |
| 33 | +// ```yaml |
| 34 | +// apiVersion: admin.gloo.solo.io/v2 |
| 35 | +// kind: RootTrustPolicy |
| 36 | +// metadata: |
| 37 | +// name: istio-ingressgateway |
| 38 | +// namespace: gloo-mesh |
| 39 | +// spec: |
| 40 | +// config: |
| 41 | +// mgmtServerCa: |
| 42 | +// secretRef: |
| 43 | +// name: my-root-trust-cert |
| 44 | +// namespace: gloo-mesh |
| 45 | +// ``` |
| 46 | +// |
| 47 | +// {{% alert %}} |
| 48 | +// Creating a RootTrustPoliy resource triggers the renewal of Istio certificates. |
| 49 | +// If your service mesh uses sidecars, you must restart your applications |
| 50 | +// to apply the latest certificate. |
| 51 | +// {{% /alert %}} |
| 52 | + |
1 | 53 | // Code generated by protoc-gen-go. DO NOT EDIT.
|
2 | 54 | // versions:
|
3 | 55 | // protoc-gen-go v1.26.0
|
@@ -26,8 +78,6 @@ const (
|
26 | 78 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
27 | 79 | )
|
28 | 80 |
|
29 |
| -// RootTrustPolicy is used to designate the root of trust, including the trust domain and root certificates used by one or more service meshes. |
30 |
| -// A shared RootTrustPolicy is currently required to support communication between workloads and destinations running in different meshes. In the future Gloo Mesh will support cross-mesh connectivity using a Limited Trust model (where participating meshes are permitted to use separate roots of trust). |
31 | 81 | type RootTrustPolicySpec struct {
|
32 | 82 | state protoimpl.MessageState
|
33 | 83 | sizeCache protoimpl.SizeCache
|
@@ -337,12 +387,14 @@ type isRootTrustPolicySpec_Config_MgmtServerCertificateAuthority_CaSource interf
|
337 | 387 | }
|
338 | 388 |
|
339 | 389 | type RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated struct {
|
340 |
| - // Generate a self-signed root certificate with the given options. |
| 390 | + // Generate a self-signed root certificate with the given options. By default, the root CA |
| 391 | + // is valid for 1 year. |
341 | 392 | Generated *tls.CommonCertOptions `protobuf:"bytes,1,opt,name=generated,proto3,oneof"`
|
342 | 393 | }
|
343 | 394 |
|
344 | 395 | type RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef struct {
|
345 |
| - // Name of a Kubernetes Secret in the same namespace as the RootTrustPolicy containing the root certificate authority. |
| 396 | + // The name of a Kubernetes secret in the same namespace as the RootTrustPolicy that contains the |
| 397 | + // root certificate authority. |
346 | 398 | // Provided certificates must conform to a specified format, [documented here]({{< link path="/setup/prod/certs/relay/" >}}).
|
347 | 399 | SecretRef *v1.ObjectRef `protobuf:"bytes,2,opt,name=secret_ref,json=secretRef,proto3,oneof"`
|
348 | 400 | }
|
|
0 commit comments