apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: crd.solo.io/specHash: 583b8bdb26c577ae crd.solo.io/version: 2.14.0 labels: app: gloo-mesh-apis app.kubernetes.io/name: gloo-mesh-apis name: istiolifecyclemanagers.admin.gloo.solo.io spec: group: admin.gloo.solo.io names: categories: - solo-io kind: IstioLifecycleManager listKind: IstioLifecycleManagerList plural: istiolifecyclemanagers shortNames: - ilm singular: istiolifecyclemanager scope: Namespaced versions: - name: v2 schema: openAPIV3Schema: properties: spec: description: Specifications for the `IstioLifecycleManager` resource. properties: helmGlobal: description: Optional helm configuration applicable to all installations properties: repo: description: |- The base URL to the Helm repository that stores the Istio charts. Currently, only OCI registries are supported. Because of that, the base URL must begin with `oci://`. This base URL is used to construct the URLs for specific charts. For example, if you specify `oci://gcr.io/istio/charts` as the base URL, it is used to construct the URL to a specific chart, such as `oci://gcr.io/istio/charts/istiod`. If no base URL is specified, the IstioLifecycleManager attempts to pull the Istio charts from a set of known repositories, including the official Istio upstream repository (`oci://gcr.io/istio-release/charts`). type: string repoSecrets: description: |- Optional. If present, the Gloo agent uses the credentials in the given secrets to log in to the OCI registry to access Istio charts. Similar to ImagePullSecrets, the secrets that you specify in this section must be of type `kubernetes.io/dockerconfigjson` and must exist on all the clusters where you want the Gloo agent to install Istio. items: description: |- ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +structType=atomic properties: apiVersion: description: |- API version of the referent. +optional type: string fieldPath: description: |- If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. +optional type: string kind: description: |- Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional type: string name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names +optional type: string namespace: description: |- Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ +optional type: string resourceVersion: description: |- Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency +optional type: string uid: description: |- UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids +optional type: string type: object type: array repoSkipTlsVerify: description: |- Optional. If true, skip TLS verification when pulling Helm charts from a given OCI repository. Use this setting for testing, quick demos, and exploration purposes only. In production setups, make sure that each node is configured to trust the certificate that is presented by the chart OCI registry. type: boolean type: object installations: description: List of Istio control plane installations. items: description: |- List of Istio control plane installations. Any components that are NOT related to the control plane are ignored. properties: clusters: description: Clusters to install the Istio control planes in. items: description: Clusters to install the Istio control planes in. properties: defaultRevision: description: |- Optional: Defaults to false. When set to true, the installation for this revision is applied as the active Istio installation in the cluster. Resources with the `istio-injection=true` label entry use this revision. You might change this setting for Istio installations during a canary upgrade. For more info, see the [upgrade docs](https://docs.solo.io/gloo-mesh-enterprise/latest/istio/ilm-upgrade/). type: boolean name: description: |- Name of the cluster to install Istio into. Must match the name of the cluster that you used when you registered the cluster with Gloo. type: string trustDomain: description: |- Optional: By default, the `trustDomain` value in the `meshConfig` section of the operator spec is automatically set by the Gloo to the name of each workload cluster. To override the `trustDomain` for each cluster, you can instead specify the override value by using this `trustDomain` field, and include the value in the list of cluster names. For example, if you specify `meshConfig.trustDomain: cluster1-trust-override` in your operator spec, you then specify both the cluster name (`name: cluster1`) and the trust domain (`trustDomain: cluster1-trust-override`) in this `installations.clusters` section. Additionally, because Gloo requires multiple trust domains for east-west routing, the `PILOT_SKIP_VALIDATE_TRUST_DOMAIN` field is set to `"true"` by default. For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1). type: string type: object type: array istioController: description: Optional configuration to tune the deployment of the IstioOperator controller deployed to each workload cluster. properties: annotations: additionalProperties: type: string description: Kubernetes pod/deployment/service annotations. type: object envVars: description: |- Deployment environment variables. For more info, see the [Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). items: description: EnvVar represents an environment variable present in a Container. properties: name: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: description: |- Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". +optional type: string valueFrom: description: |- Source for the environment variable's value. Cannot be used if value is not empty. +optional properties: configMapKeyRef: description: |- Selects a key of a ConfigMap. +optional properties: key: description: The key to select. type: string localObjectReference: description: The ConfigMap to select from. properties: name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? +optional type: string type: object optional: description: |- Specify whether the ConfigMap or its key must be defined +optional type: boolean type: object fieldRef: description: |- Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +optional properties: apiVersion: description: |- Version of the schema the FieldPath is written in terms of, defaults to "v1". +optional type: string fieldPath: description: Path of the field to select in the specified API version. type: string type: object resourceFieldRef: description: |- Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +optional properties: containerName: description: |- Container name: required for volumes, optional for env vars +optional type: string divisor: description: |- Specifies the output format of the exposed resources, defaults to "1" +optional properties: string: type: string type: object resource: description: 'Required: resource to select' type: string type: object secretKeyRef: description: |- Selects a key of a secret in the pod's namespace +optional properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string localObjectReference: description: The name of the secret in the pod's namespace to select from. properties: name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? +optional type: string type: object optional: description: |- Specify whether the Secret or its key must be defined +optional type: boolean type: object type: object type: object type: array imagePullSecrets: description: |- Names of image pull secrets to use to deploy the Istio controller. For more info, see the [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret). items: description: |- LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. +structType=atomic properties: name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? +optional type: string type: object type: array labels: additionalProperties: type: string description: Kubernetes pod/deployment/service labels. type: object resources: description: |- Override for resources allocated to the Istio controller deployment. For more info, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#example-1). properties: limits: additionalProperties: type: string type: object requests: additionalProperties: type: string type: object type: object securityContext: description: |- Override for the pod's security context. For more info, see the [Kubernetes documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core). properties: allowPrivilegeEscalation: description: |- AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. +optional type: boolean capabilities: description: |- The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. +optional properties: add: description: |- Added capabilities +optional items: type: string type: array drop: description: |- Removed capabilities +optional items: type: string type: array type: object privileged: description: |- Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. +optional type: boolean procMount: description: |- procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. +optional type: string readOnlyRootFilesystem: description: |- Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. +optional type: boolean runAsGroup: description: |- The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. +optional format: int64 type: integer runAsNonRoot: description: |- Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional type: boolean runAsUser: description: |- The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. +optional format: int64 type: integer seLinuxOptions: description: |- The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. +optional properties: level: description: |- Level is SELinux level label that applies to the container. +optional type: string role: description: |- Role is a SELinux role label that applies to the container. +optional type: string type: description: |- Type is a SELinux type label that applies to the container. +optional type: string user: description: |- User is a SELinux user label that applies to the container. +optional type: string type: object seccompProfile: description: |- The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. +optional properties: localhostProfile: description: |- localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". +optional type: string type: description: |- type indicates which kind of seccomp profile will be applied. Valid options are: Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. +unionDiscriminator type: string type: object windowsOptions: description: |- The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +optional properties: gmsaCredentialSpec: description: |- GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. +optional type: string gmsaCredentialSpecName: description: |- GMSACredentialSpecName is the name of the GMSA credential spec to use. +optional type: string hostProcess: description: |- HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. +optional type: boolean runAsUserName: description: |- The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional type: string type: object type: object waitForResourcesTimeout: description: |- The amount of time to wait for resources in a component to become ready before giving up. Configured using a duration string. A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". type: string type: object istioOperatorSpec: description: |- IstioOperator specification for the control plane. For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/). properties: addonComponents: additionalProperties: properties: chartPath: description: Chart path for addon components. type: string enabled: description: Selects whether this component is installed. nullable: true type: boolean k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string schema: description: |- Optional schema to validate spec against. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#any). type: object x-kubernetes-preserve-unknown-fields: true spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true type: object description: |- Deprecated. Users should manage the installation of addon components on their own. Refer to samples/addons for demo installation of addon components. type: object components: description: |- Kubernetes resource settings, enablement and component-specific settings that are not internal to the component. properties: base: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object type: object cni: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object egressGateways: items: description: Configuration for gateways. properties: enabled: description: Selects whether this gateway is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object label: additionalProperties: type: string description: Labels for the gateway. type: object name: description: Name for the gateway. type: string namespace: description: Namespace for the gateway. type: string tag: description: Tag for the component (overrides top level tag setting). type: string type: object type: array ingressGateways: items: description: Configuration for gateways. properties: enabled: description: Selects whether this gateway is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object label: additionalProperties: type: string description: Labels for the gateway. type: object name: description: Name for the gateway. type: string namespace: description: Namespace for the gateway. type: string tag: description: Tag for the component (overrides top level tag setting). type: string type: object type: array istiodRemote: description: Remote cluster using an external control plane. properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object pilot: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object ztunnel: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object type: object defaultRevision: description: |- Identify whether this revision is the default revision for the cluster This option is currently experimental. type: boolean hub: description: Root for docker image paths e.g. `docker.io/istio` type: string installPackagePath: description: |- Path for the install package. e.g. * /tmp/istio-installer/nightly (local file path) type: string meshConfig: description: |- Config used by control plane components internally. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true namespace: description: |- Namespace to install control plane resources into. If unset, Istio will be installed into the same namespace as the `IstioOperator` CR. You must also set `values.global.istioNamespace` if you wish to install Istio in a custom namespace. If you have enabled CNI, you must exclude this namespace by adding it to the list `values.cni.excludeNamespaces`. type: string profile: description: |- Path or name for the profile e.g. * minimal (looks in profiles dir for a file called minimal.yaml) * /tmp/istio/install/values/custom/custom-install.yaml (local file path) default profile is used if this field is unset. type: string resourceSuffix: type: string revision: description: |- Identify the revision this installation is associated with. This option is currently experimental. type: string tag: description: Version tag for docker images e.g. `1.7.2` type: string unvalidatedValues: description: |- Unvalidated overrides for default `values.yaml`. Used for custom templates where new parameters are added. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true values: description: |- Overrides for default `values.yaml`. This is a validated pass-through to Helm templates. See the [Helm installation options](https://istio.io/v1.5/docs/reference/config/installation-options/) for schema details. Anything that is available in `IstioOperatorSpec` should be set above rather than using the passthrough. This includes Kubernetes resource settings for components in `KubernetesResourcesSpec`. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true type: object revision: description: |- Istio revision for this installation. Label workload resources with 'istio.io/rev=$REVISION' to use this installation. When set to `auto`, Gloo installs the control plane with the default supported version of the Solo distribution of Istio.
**Configuration constraints: This value can be a maximum of 63 characters. type: string skipUpgradeValidation: description: |- When set to true, the lifecycle manager allows you to perform in-place upgrades by skipping checks that are required for canary upgrades. In production environments, canary upgrades are recommended for updating the minor version. To update the patch version or make configuration changes within the same version, you can use in-place upgrades. Be sure to test in-place upgrades in development or staging environments first. type: boolean type: object type: array type: object status: description: The status of the `IstioLifecycleManager` resource after you apply it to your Gloo environment. properties: clusters: additionalProperties: properties: installations: additionalProperties: properties: message: description: A human readable message about the current state of the installation. type: string observedOperator: description: The IstioOperator spec that is currently deployed for this revision. properties: addonComponents: additionalProperties: properties: chartPath: description: Chart path for addon components. type: string enabled: description: Selects whether this component is installed. nullable: true type: boolean k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string schema: description: |- Optional schema to validate spec against. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#any). type: object x-kubernetes-preserve-unknown-fields: true spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true type: object description: |- Deprecated. Users should manage the installation of addon components on their own. Refer to samples/addons for demo installation of addon components. type: object components: description: |- Kubernetes resource settings, enablement and component-specific settings that are not internal to the component. properties: base: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object type: object cni: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object egressGateways: items: description: Configuration for gateways. properties: enabled: description: Selects whether this gateway is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object label: additionalProperties: type: string description: Labels for the gateway. type: object name: description: Name for the gateway. type: string namespace: description: Namespace for the gateway. type: string tag: description: Tag for the component (overrides top level tag setting). type: string type: object type: array ingressGateways: items: description: Configuration for gateways. properties: enabled: description: Selects whether this gateway is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object label: additionalProperties: type: string description: Labels for the gateway. type: object name: description: Name for the gateway. type: string namespace: description: Namespace for the gateway. type: string tag: description: Tag for the component (overrides top level tag setting). type: string type: object type: array istiodRemote: description: Remote cluster using an external control plane. properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object pilot: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object ztunnel: properties: enabled: description: Selects whether this component is installed. nullable: true type: boolean hub: description: Hub for the component (overrides top level hub setting). type: string k8s: description: Kubernetes resource spec. properties: affinity: description: |- k8s affinity. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) type: object x-kubernetes-preserve-unknown-fields: true env: description: |- Deployment environment variables. [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array hpaSpec: description: |- k8s HorizontalPodAutoscaler settings. [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) type: object x-kubernetes-preserve-unknown-fields: true imagePullPolicy: description: |- k8s imagePullPolicy. [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) type: string nodeSelector: additionalProperties: type: string description: |- k8s nodeSelector. [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) type: object overlays: description: Overlays for k8s resources in rendered manifests. items: type: object x-kubernetes-preserve-unknown-fields: true type: array podAnnotations: additionalProperties: type: string description: |- k8s pod annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object podDisruptionBudget: description: |- k8s PodDisruptionBudget settings. [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) type: object x-kubernetes-preserve-unknown-fields: true priorityClassName: description: |- k8s priority_class_name. Default for all resources unless overridden. [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) type: string readinessProbe: description: |- k8s readinessProbe settings. [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) k8s.io.api.core.v1.Probe readiness_probe = 9; type: object x-kubernetes-preserve-unknown-fields: true replicaCount: description: |- k8s Deployment replicas setting. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) maximum: 4294967295 minimum: 0 type: integer resources: description: |- k8s resources settings. [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) type: object x-kubernetes-preserve-unknown-fields: true securityContext: description: |- k8s pod security context [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) type: object x-kubernetes-preserve-unknown-fields: true service: description: |- k8s Service settings. [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) type: object x-kubernetes-preserve-unknown-fields: true serviceAnnotations: additionalProperties: type: string description: |- k8s service annotations. [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) type: object strategy: description: |- k8s deployment strategy. [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) type: object x-kubernetes-preserve-unknown-fields: true tolerations: description: |- k8s toleration [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: description: |- k8s volumeMounts VolumeMounts defines the collection of VolumeMount to inject into containers. items: type: object x-kubernetes-preserve-unknown-fields: true type: array volumes: description: |- k8s volume [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) Volumes defines the collection of Volume to inject into the pod. items: type: object x-kubernetes-preserve-unknown-fields: true type: array type: object namespace: description: Namespace for the component. type: string spec: description: |- Arbitrary install time configuration for the component. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true tag: description: Tag for the component (overrides top level tag setting). type: string type: object type: object defaultRevision: description: |- Identify whether this revision is the default revision for the cluster This option is currently experimental. type: boolean hub: description: Root for docker image paths e.g. `docker.io/istio` type: string installPackagePath: description: |- Path for the install package. e.g. * /tmp/istio-installer/nightly (local file path) type: string meshConfig: description: |- Config used by control plane components internally. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true namespace: description: |- Namespace to install control plane resources into. If unset, Istio will be installed into the same namespace as the `IstioOperator` CR. You must also set `values.global.istioNamespace` if you wish to install Istio in a custom namespace. If you have enabled CNI, you must exclude this namespace by adding it to the list `values.cni.excludeNamespaces`. type: string profile: description: |- Path or name for the profile e.g. * minimal (looks in profiles dir for a file called minimal.yaml) * /tmp/istio/install/values/custom/custom-install.yaml (local file path) default profile is used if this field is unset. type: string resourceSuffix: type: string revision: description: |- Identify the revision this installation is associated with. This option is currently experimental. type: string tag: description: Version tag for docker images e.g. `1.7.2` type: string unvalidatedValues: description: |- Unvalidated overrides for default `values.yaml`. Used for custom templates where new parameters are added. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true values: description: |- Overrides for default `values.yaml`. This is a validated pass-through to Helm templates. See the [Helm installation options](https://istio.io/v1.5/docs/reference/config/installation-options/) for schema details. Anything that is available in `IstioOperatorSpec` should be set above rather than using the passthrough. This includes Kubernetes resource settings for components in `KubernetesResourcesSpec`. For information about the value format, see the [Google protocol buffer documentation](https://protobuf.dev/reference/protobuf/google.protobuf/#struct). type: object x-kubernetes-preserve-unknown-fields: true type: object observedRevision: description: The observed revision of the Istio installation. type: string state: description: The current state of the Istio installation. enum: - PENDING - FAILED - INSTALLING_CONTROLLER - CONTROLLER_INSTALL_FAILED - INSTALLING_CONTROL_PLANE - CONTROL_PLANE_INSTALL_FAILED - HEALTHY - UNHEALTHY - ACTION_REQUIRED - UPDATING_CONTROL_PLANE - RECONCILING_CONTROL_PLANE - UNKNOWN - UNINSTALLING_CONTROL_PLANE - UNINSTALLED_CONTROL_PLANE - INSTALL_PENDING type: string type: object description: The Istio installations in the cluster, listed by revision. type: object type: object description: The list of clusters where Gloo manages Istio installations. type: object type: object type: object served: true storage: true subresources: status: {}