Common Configuration Objects
Common configuration objects shared by the different install APIs.
CertManagerSettings
CertManagerSettings represents the settings used for the cert-manager installation. TSB supports installing and managing the lifecycle of the cert-manager installation.
Field | Description | Validation Rule |
---|---|---|
managed | tetrateio.api.install.common.CertManagerSettings.Managed | – |
certManagerSpec | tetrateio.api.install.common.CertManagerSettings.CertManagerSpec | – |
certManagerWebhookSpec | tetrateio.api.install.common.CertManagerSettings.CertManagerWebhookSpec | – |
certManagerCaInjector | tetrateio.api.install.common.CertManagerSettings.CertManagerCAInjector | – |
certManagerStartupapicheck | tetrateio.api.install.common.CertManagerSettings.CertManagerStartupAPICheck | – |
CertManagerCAInjector
CertManagerCAInjector represents the settings used for cert-manager CAInjector installation in the clusters.
Field | Description | Validation Rule |
---|---|---|
kubeSpec | tetrateio.api.install.kubernetes.KubernetesComponentSpec | – |
CertManagerSpec
CertManagerSpec represents the settings used for cert-manager controller installation in the clusters.
Field | Description | Validation Rule |
---|---|---|
kubeSpec | tetrateio.api.install.kubernetes.KubernetesComponentSpec | – |
CertManagerStartupAPICheck
CertManagerStartupAPICheck represents the settings used for cert-manager startup API check job installation in the clusters. DEPRECATED. StartupAPICheck is disabled.
Field | Description | Validation Rule |
---|---|---|
kubeSpec | tetrateio.api.install.kubernetes.KubernetesJobComponentSpec | – |
CertManagerWebhookSpec
CertManagerWebhookSpec represents the settings used for cert-manager Webhook installation in the clusters.
Field | Description | Validation Rule |
---|---|---|
kubeSpec | tetrateio.api.install.kubernetes.KubernetesComponentSpec | – |
ConfigProtection
ConfigProtection contains settings for enabling/disabling config protection over XCP created resources. Config protections are disabled by default. Example:
configProtection:
enableAuthorizedUpdateDeleteOnXcpConfigs: true
enableAuthorizedCreateUpdateDeleteOnXcpConfigs: true
authorizedUsers:
- user1
- system:serviceaccount:ns1:serviceaccount-1
Field | Description | Validation Rule |
---|---|---|
enableAuthorizedUpdateDeleteOnXcpConfigs | bool | – |
enableAuthorizedCreateUpdateDeleteOnXcpConfigs | bool | – |
authorizedUsers | List of string | – |
CustomCertProviderSettings
CustomCertProviderSettings represents the settings used for the custom certificate provider. Users can configure the CSR signer required for certificate signing and point to the CA bundle to be used to validate the certificates.
Field | Description | Validation Rule |
---|---|---|
csrSignerName | string | string = { |
caBundleSecretName | string | string = { |
GitOps
The GitOps component configures the features that allow integrating the Management Plane and/or the Control Plane cluster with Continuous Deployment pipelines.
Field | Description | Validation Rule |
---|---|---|
enabled | bool | – |
reconcileInterval | google.protobuf.Duration | – |
batchWindow | google.protobuf.Duration | – |
managementplaneRequestTimeout | google.protobuf.Duration | – |
reconcileRequestTimeout | google.protobuf.Duration | – |
webhookTimeout | google.protobuf.Duration | – |
pushMode | tetrateio.api.install.common.GitOps.PushMode In SYNC mode, TSB K8s resources are validated and pushed to the Management Plane synchronously. This means that if a TSB K8s resource is not accepted by the Management Plane, it will not be stored as a resource in the K8s API. SYNC mode can be useful in scenarios where eventual consistency of resources between K8s and Management Plane could cause problems such as in CI pipelines and testing. SYNC is the default mode. In ASYNC mode, TSB K8s resources are pushed to the Management Plane asynchronously. This means that resource creation does not block the process. ASYNC mode is useful in most cases as it does not require the user to manage dependencies between TSB K8s resources. The system will reconcile in the background to achieve the desired state of objects in the Management Plane and will update the Status subresource to report progress of reconciliation. | – |
InternalCertProvider
InternalCertProvider describes the certificate provider configuration for TSB internal purposes like kubernetes webhook certificate. TSB supports cert-manager out of the box.
Field | Description | Validation Rule |
---|---|---|
certManager | tetrateio.api.install.common.CertManagerSettings oneof _internal_cert_provider | – |
custom | tetrateio.api.install.common.CustomCertProviderSettings oneof _internal_cert_provider | – |
MeshObservabilitySettings
Configure mesh observability. The following examples enable the analysis and generation of RED metrics for each endpoint of your registered services.
Notice that both, ManagementPlane and ControlPlane, need to be aligned with this configuration.
apiVersion: install.tetrate.io/v1alpha1
kind: ManagementPlane
metadata:
name: managementplane
spec:
meshObservability:
settings:
apiEndpointMetricsEnabled: true
apiVersion: install.tetrate.io/v1alpha1
kind: ControlPlane
metadata:
name: controlplane
namespace: istio-system
spec:
meshObservability:
settings:
apiEndpointMetricsEnabled: true
Field | Description | Validation Rule |
---|---|---|
apiEndpointMetricsEnabled | bool | – |
Managed
If INTERNAL, TSB will install and manage cert-manager. In case a pre-existing installation is found, the operator will not install cert-manager and fail. If EXTERNAL, TSB would rely on a pre installed cert-manager for use. Pre installed cert-manager should support signing requests raised through Kubernetes CSR
Field | Number | Description |
---|---|---|
AUTO | 0 | TSB will check if a pre-existing cert-manager installation is found in the cluster and only install and manage cert-manager if it is not found. The pre-installed cert-manager should support signing requests raised through Kubernetes CSR |
EXTERNAL | 1 | EXTERNAL represents that TSB will rely on a pre installed cert-manager for use. Pre installed cert-manager should support signing requests raised through Kubernetes CSR |
INTERNAL | 2 | INTERNAL represents that TSB will install and manage cert-manager in the cluster. In case a pre-existing installation is found, the operator will not install cert-manager and fail. |
PushMode
Push mode for GitOps component. Default: SYNC.
Field | Number | Description |
---|---|---|
SYNC | 0 | In SYNC mode TSB K8s resources are validated and pushed to Management Plane synchronously, blocking on resource creation until the resource is created successfully in the Management Plane. This is the default mode. |
ASYNC | 1 | In ASYNC mode TSB K8s resources are pushed to Management Plane asynchronously, without blocking on resource creation. To know if the resource was created successfully, check its K8s status. |