IstioOperator
IstioOperator API reference.
Proto: istio_operator.proto
Package: common.gloo.solo.io
Affinity
See k8s.io.api.core.v1.Affinity.
Field | Description |
---|---|
nodeAffinity | (NodeAffinity ) |
podAffinity | (PodAffinity ) |
podAntiAffinity | (PodAntiAffinity ) |
BaseComponentSpec
Configuration for base component.
Field | Description |
---|---|
enabled | (google.protobuf.BoolValue )Selects whether this component is installed. |
k8s | (KubernetesResourcesSpec )Kubernetes resource spec. |
ClientIPConfig
See k8s.io.api.core.v1.ClientIPConfig.
Field | Description |
---|---|
timeoutSeconds | (int32 ) |
ComponentSpec
Configuration for internal components.
Field | Description |
---|---|
enabled | (google.protobuf.BoolValue )Selects whether this component is installed. |
namespace | (string )Namespace for the component. |
hub | (string )Hub for the component (overrides top level hub setting). |
tag | (string )Tag for the component (overrides top level tag setting). |
spec | (google.protobuf.Struct )Arbitrary install time configuration for the component. For information about the value format, see the Google protocol buffer documentation. |
k8s | (KubernetesResourcesSpec )Kubernetes resource spec. |
ConfigMapKeySelector
See k8s.io.api.core.v1.ConfigMapKeySelector.
Field | Description |
---|---|
localObjectReference | (LocalObjectReference ) |
key | (string ) |
optional | (bool ) |
ContainerResourceMetricSource
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricSource.
Field | Description |
---|---|
name | (string ) |
target | (MetricTarget ) |
container | (string ) |
ContainerResourceMetricStatus
See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricStatus.
Field | Description |
---|---|
name | (string ) |
current | (MetricValueStatus ) |
container | (string ) |
CrossVersionObjectReference
See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference.
Field | Description |
---|---|
kind | (string ) |
name | (string ) |
apiVersion | (string ) |
DeploymentStrategy
See k8s.io.api.apps.v1.DeploymentStrategy.
Field | Description |
---|---|
type | (string ) |
rollingUpdate | (RollingUpdateDeployment ) |
EnvVar
See k8s.io.api.core.v1.EnvVar.
Field | Description |
---|---|
name | (string ) |
value | (string ) |
valueFrom | (EnvVarSource ) |
EnvVarSource
See k8s.io.api.core.v1.EnvVarSource.
Field | Description |
---|---|
fieldRef | (ObjectFieldSelector ) |
resourceFieldRef | (ResourceFieldSelector ) |
configMapKeyRef | (ConfigMapKeySelector ) |
secretKeyRef | (SecretKeySelector ) |
ExecAction
See k8s.io.api.core.v1.ExecAction.
Field | Description |
---|---|
command | (repeated string ) |
ExternalComponentSpec
Configuration for external components.
Field | Description |
---|---|
enabled | (google.protobuf.BoolValue )Selects whether this component is installed. |
namespace | (string )Namespace for the component. |
spec | (google.protobuf.Struct )Arbitrary install time configuration for the component. For information about the value format, see the Google protocol buffer documentation. |
chartPath | (string )Chart path for addon components. |
schema | (google.protobuf.Any )Optional schema to validate spec against. For information about the value format, see the Google protocol buffer documentation. |
k8s | (KubernetesResourcesSpec )Kubernetes resource spec. |
ExternalMetricSource
See k8s.io.api.autoscaling.v2beta2.ExternalMetricSource.
Field | Description |
---|---|
metricName | (string ) |
metricSelector | (k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector )For information about the value format, see the Kubernetes API reference documentation. |
targetValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
targetAverageValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
metric | (MetricIdentifier ) |
target | (MetricTarget ) |
ExternalMetricStatus
See k8s.io.autoscaling.v2beta2.ExternalMetricStatus.
Field | Description |
---|---|
metric | (MetricIdentifier ) |
current | (MetricValueStatus ) |
GatewaySpec
Configuration for gateways.
Field | Description |
---|---|
enabled | (google.protobuf.BoolValue )Selects whether this gateway is installed. |
namespace | (string )Namespace for the gateway. |
name | (string )Name for the gateway. |
label | (repeated GatewaySpec.LabelEntry )Labels for the gateway. |
hub | (string )Hub for the component (overrides top level hub setting). |
tag | (string )Tag for the component (overrides top level tag setting). |
k8s | (KubernetesResourcesSpec )Kubernetes resource spec. |
GatewaySpec.LabelEntry
Field | Description |
---|---|
key | (string ) |
value | (string ) |
HPAScalingPolicy
See k8s.io.autoscaling.v2beta2.HPAScalingPolicy.
Field | Description |
---|---|
type | (string ) |
value | (int32 ) |
periodSeconds | (int32 ) |
HPAScalingRules
See k8s.io.autoscaling.v2beta2.HPAScalingRules.
Field | Description |
---|---|
stabilizationWindowSeconds | (int32 ) |
selectPolicy | (string ) |
policies | (HPAScalingPolicy ) |
HTTPGetAction
See k8s.io.api.core.v1.HTTPGetAction.
Field | Description |
---|---|
path | (string ) |
port | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
host | (string ) |
scheme | (string ) |
httpHeaders | (repeated HTTPHeader ) |
HTTPHeader
See k8s.io.api.core.v1.HTTPHeader.
Field | Description |
---|---|
name | (string ) |
value | (string ) |
HorizontalPodAutoScalerBehavior
See k8s.io.autoscaling.v2beta2.HorizontalPodAutoScalerBehavior.
Field | Description |
---|---|
scaleUp | (HPAScalingRules ) |
scaleDown | (HPAScalingRules ) |
HorizontalPodAutoscalerSpec
See k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec.
Field | Description |
---|---|
scaleTargetRef | (CrossVersionObjectReference ) |
minReplicas | (int32 ) |
maxReplicas | (int32 ) |
metrics | (repeated MetricSpec ) |
behavior | (HorizontalPodAutoScalerBehavior ) |
InstallStatus
Observed state of IstioOperator
Field | Description |
---|---|
status | (InstallStatus.Status )Overall status of all components controlled by the operator. * If all components have status NONE , overall status is NONE . * If all components are HEALTHY , overall status is HEALTHY . * If one or more components are RECONCILING and others are HEALTHY , overall status is RECONCILING . * If one or more components are UPDATING and others are HEALTHY , overall status is UPDATING . * If components are a mix of RECONCILING , UPDATING and HEALTHY , overall status is UPDATING . * If any component is in ERROR state, overall status is ERROR . * If further action is needed for reconciliation to proceed, overall status is ACTION_REQUIRED . |
message | (string )Optional message providing additional information about the existing overall status. |
componentStatus | (repeated InstallStatus.ComponentStatusEntry )Individual status of each component controlled by the operator. The map key is the name of the component. |
InstallStatus.ComponentStatusEntry
Field | Description |
---|---|
key | (string ) |
value | (InstallStatus.VersionStatus ) |
InstallStatus.VersionStatus
VersionStatus is the status and version of a component.
Field | Description |
---|---|
version | (string ) |
status | (InstallStatus.Status ) |
error | (string ) |
IstioComponentSetSpec
IstioComponentSpec defines the desired installed state of Istio components.
Field | Description |
---|---|
base | (BaseComponentSpec ) |
pilot | (ComponentSpec ) |
cni | (ComponentSpec ) |
ztunnel | (ComponentSpec ) |
istiodRemote | (ComponentSpec )Remote cluster using an external control plane. |
ingressGateways | (repeated GatewaySpec ) |
egressGateways | (repeated GatewaySpec ) |
IstioOperatorSpec
Copied from https://github.com/istio/api/blob/master/operator/v1alpha1/operator.proto
Field | Description |
---|---|
profile | (string )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. |
installPackagePath | (string )Path for the install package. e.g. * /tmp/istio-installer/nightly (local file path) |
hub | (string )Root for docker image paths e.g. docker.io/istio |
tag | (string )Version tag for docker images e.g. 1.7.2 |
resourceSuffix | (string )$hide_from_docs Resource suffix is appended to all resources installed by each component. Never implemented; replaced by revision. |
namespace | (string )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 . |
revision | (string )Identify the revision this installation is associated with. This option is currently experimental. |
defaultRevision | (bool )Identify whether this revision is the default revision for the cluster This option is currently experimental. |
meshConfig | (google.protobuf.Struct )Config used by control plane components internally. For information about the value format, see the Google protocol buffer documentation. |
components | (IstioComponentSetSpec )Kubernetes resource settings, enablement and component-specific settings that are not internal to the component. |
addonComponents | (repeated IstioOperatorSpec.AddonComponentsEntry )Deprecated. Users should manage the installation of addon components on their own. Refer to samples/addons for demo installation of addon components. |
values | (google.protobuf.Struct )Overrides for default values.yaml . This is a validated pass-through to Helm templates. See the Helm 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. |
unvalidatedValues | (google.protobuf.Struct )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. |
IstioOperatorSpec.AddonComponentsEntry
Field | Description |
---|---|
key | (string ) |
value | (ExternalComponentSpec ) |
K8sObjectOverlay
Patch for an existing k8s resource.
Field | Description |
---|---|
apiVersion | (string )Resource API version. |
kind | (string )Resource kind. |
name | (string )Name of resource. Namespace is always the component namespace. |
patches | (repeated K8sObjectOverlay.PathValue )List of patches to apply to resource. |
K8sObjectOverlay.PathValue
Field | Description |
---|---|
path | (string )Path of the form a.[key1:value1].b.[:value2] Where [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value selector to identify a list element in a leaf list. All path intermediate nodes must exist. |
value | (google.protobuf.Value )Value to add, delete or replace. For add, the path should be a new leaf. For delete, value should be unset. For replace, path should reference an existing node. All values are strings but are converted into appropriate type based on schema. For information about the value format, see the Google protocol buffer documentation. |
KubernetesResourcesSpec
KubernetesResourcesConfig is a common set of k8s resource configs for components.
KubernetesResourcesSpec.NodeSelectorEntry
Field | Description |
---|---|
key | (string ) |
value | (string ) |
KubernetesResourcesSpec.PodAnnotationsEntry
Field | Description |
---|---|
key | (string ) |
value | (string ) |
KubernetesResourcesSpec.ServiceAnnotationsEntry
Field | Description |
---|---|
key | (string ) |
value | (string ) |
LocalObjectReference
See k8s.io.api.core.v1.LocalObjectReference.
Field | Description |
---|---|
name | (string ) |
MetricIdentifier
See k8s.io.autoscaling.v2beta2.MetricIdentifier.
Field | Description |
---|---|
name | (string ) |
selector | (k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector )For information about the value format, see the Kubernetes API reference documentation. |
MetricSpec
See k8s.io.autoscaling.v2beta2.MetricSpec.
Field | Description |
---|---|
type | (string ) |
object | (ObjectMetricSource ) |
pods | (PodsMetricSource ) |
resource | (ResourceMetricSource ) |
containerResource | (ContainerResourceMetricSource ) |
external | (ExternalMetricSource ) |
MetricStatus
See k8s.io.autoscaling.v2beta2.MetricStatus.
Field | Description |
---|---|
type | (string ) |
object | (ObjectMetricStatus ) |
pods | (PodsMetricStatus ) |
resource | (ResourceMetricStatus ) |
containerResource | (ContainerResourceMetricStatus ) |
external | (ExternalMetricStatus ) |
MetricTarget
See k8s.io.autoscaling.v2beta2.MetricTarget.
Field | Description |
---|---|
type | (string ) |
value | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
averageValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
averageUtilization | (int32 ) |
MetricValueStatus
See k8s.io.autoscaling.v2beta2.MetricValueStatus.
Field | Description |
---|---|
value | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
averageValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
averageUtilization | (int32 ) |
NodeAffinity
See k8s.io.api.core.v1.NodeAffinity.
Field | Description |
---|---|
requiredDuringSchedulingIgnoredDuringExecution | (NodeSelector ) |
preferredDuringSchedulingIgnoredDuringExecution | (repeated PreferredSchedulingTerm ) |
NodeSelector
See k8s.io.api.core.v1.NodeSelector.
Field | Description |
---|---|
nodeSelectorTerms | (repeated NodeSelectorTerm ) |
NodeSelectorRequirement
See k8s.io.api.core.v1.NodeSelectorRequirement.
Field | Description |
---|---|
key | (string ) |
operator | (string ) |
values | (repeated string ) |
NodeSelectorTerm
See k8s.io.api.core.v1.NodeSelectorTerm.
Field | Description |
---|---|
matchExpressions | (repeated NodeSelectorRequirement ) |
matchFields | (repeated NodeSelectorRequirement ) |
ObjectFieldSelector
See k8s.io.api.core.v1.ObjectFieldSelector.
Field | Description |
---|---|
apiVersion | (string ) |
fieldPath | (string ) |
ObjectMeta
From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta.
Field | Description |
---|---|
name | (string ) |
namespace | (string ) |
ObjectMetricSource
See k8s.io.autoscaling.v2beta2.ObjectMetricSource.
Field | Description |
---|---|
metricName | (string ) |
targetValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
selector | (k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector )For information about the value format, see the Kubernetes API reference documentation. |
averageValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
target | (google.protobuf.Value )Type changes from CrossVersionObjectReference to ResourceMetricTarget in autoscaling v2beta2/v2 compared with v2beta1 Change it to dynamic type to keep backward compatible For information about the value format, see the Google protocol buffer documentation. |
describedObject | (CrossVersionObjectReference ) |
metric | (MetricIdentifier ) |
ObjectMetricStatus
See k8s.io.autoscaling.v2beta2.ObjectMetricStatus.
Field | Description |
---|---|
metric | (MetricIdentifier ) |
current | (MetricValueStatus ) |
describedObject | (CrossVersionObjectReference ) |
PodAffinity
See k8s.io.api.core.v1.PodAffinity.
Field | Description |
---|---|
requiredDuringSchedulingIgnoredDuringExecution | (repeated PodAffinityTerm ) |
preferredDuringSchedulingIgnoredDuringExecution | (repeated WeightedPodAffinityTerm ) |
PodAffinityTerm
See k8s.io.api.core.v1.PodAntiAffinity.
Field | Description |
---|---|
labelSelector | (k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector )For information about the value format, see the Kubernetes API reference documentation. |
namespaces | (repeated string ) |
topologyKey | (string ) |
PodAntiAffinity
See k8s.io.api.core.v1.PodAntiAffinity.
Field | Description |
---|---|
requiredDuringSchedulingIgnoredDuringExecution | (repeated PodAffinityTerm ) |
preferredDuringSchedulingIgnoredDuringExecution | (repeated WeightedPodAffinityTerm ) |
PodDisruptionBudgetSpec
See k8s.io.api.policy.v1beta1.PodDisruptionBudget.
Field | Description |
---|---|
minAvailable | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
selector | (k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector )For information about the value format, see the Kubernetes API reference documentation. |
maxUnavailable | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
PodSecurityContext
See k8s.io.api.core.v1.PodSecurityContext.
Field | Description |
---|---|
seLinuxOptions | (SELinuxOptions ) |
runAsUser | (int64 ) |
runAsNonRoot | (bool ) |
supplementalGroups | (repeated int64 ) |
fsGroup | (int64 ) |
runAsGroup | (int64 ) |
sysctls | (repeated Sysctl ) |
windowsOptions | (WindowsSecurityContextOptions ) |
fsGroupChangePolicy | (string ) |
seccompProfile | (SeccompProfile ) |
PodsMetricSource
See k8s.io.autoscaling.v2beta2.PodsMetricSource.
Field | Description |
---|---|
metricName | (string ) |
targetAverageValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
selector | (k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector )For information about the value format, see the Kubernetes API reference documentation. |
metric | (MetricIdentifier )v2beta2/v2 fields |
target | (MetricTarget ) |
PodsMetricStatus
See k8s.io.autoscaling.v2beta2.PodsMetricStatus.
Field | Description |
---|---|
metric | (MetricIdentifier ) |
current | (MetricValueStatus ) |
PreferredSchedulingTerm
See k8s.io.api.core.v1.PreferredSchedulingTerm.
Field | Description |
---|---|
weight | (int32 ) |
preference | (NodeSelectorTerm ) |
ReadinessProbe
See k8s.io.api.core.v1.ReadinessProbe.
Field | Description |
---|---|
exec | (ExecAction ) |
httpGet | (HTTPGetAction ) |
tcpSocket | (TCPSocketAction ) |
initialDelaySeconds | (int32 ) |
timeoutSeconds | (int32 ) |
periodSeconds | (int32 ) |
successThreshold | (int32 ) |
failureThreshold | (int32 ) |
ResourceFieldSelector
See k8s.io.api.core.v1..
Field | Description |
---|---|
containerName | (string ) |
resource | (string ) |
divisor | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
ResourceMetricSource
See k8s.io.autoscaling.v2beta2.ResourceMetricSource.
Field | Description |
---|---|
name | (string ) |
targetAverageUtilization | (int32 ) |
targetAverageValue | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
target | (MetricTarget ) |
ResourceMetricStatus
See k8s.io.autoscaling.v2beta2.ResourceMetricStatus.
Field | Description |
---|---|
name | (string ) |
current | (MetricValueStatus ) |
Resources
See k8s.io.api.core.v1.ResourceRequirements.
Field | Description |
---|---|
limits | (repeated Resources.LimitsEntry ) |
requests | (repeated Resources.RequestsEntry ) |
Resources.LimitsEntry
Field | Description |
---|---|
key | (string ) |
value | (string ) |
Resources.RequestsEntry
Field | Description |
---|---|
key | (string ) |
value | (string ) |
RollingUpdateDeployment
See k8s.io.api.apps.v1.RollingUpdateDeployment.
Field | Description |
---|---|
maxUnavailable | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
maxSurge | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
SELinuxOptions
See k8s.io.api.core.v1.SELinuxOptions.
Field | Description |
---|---|
user | (string ) |
role | (string ) |
type | (string ) |
level | (string ) |
SeccompProfile
See k8s.io.api.core.v1.SeccompProfile.
Field | Description |
---|---|
type | (string ) |
localhostProfile | (string ) |
SecretKeySelector
See k8s.io.api.core.v1.SecretKeySelector.
Field | Description |
---|---|
localObjectReference | (LocalObjectReference ) |
key | (string ) |
optional | (bool ) |
ServicePort
See k8s.io.api.core.v1..
Field | Description |
---|---|
name | (string ) |
protocol | (string ) |
port | (int32 ) |
targetPort | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
nodePort | (int32 ) |
ServiceSpec
See k8s.io.api.core.v1.ServiceSpec.
Field | Description |
---|---|
ports | (repeated ServicePort ) |
selector | (repeated ServiceSpec.SelectorEntry ) |
clusterIP | (string ) |
type | (string ) |
externalIPs | (repeated string ) |
sessionAffinity | (string ) |
loadBalancerIP | (string ) |
loadBalancerSourceRanges | (repeated string ) |
externalName | (string ) |
externalTrafficPolicy | (string ) |
healthCheckNodePort | (int32 ) |
publishNotReadyAddresses | (bool ) |
sessionAffinityConfig | (SessionAffinityConfig ) |
ServiceSpec.SelectorEntry
Field | Description |
---|---|
key | (string ) |
value | (string ) |
SessionAffinityConfig
See k8s.io.api.core.v1.SessionAffinityConfig.
Field | Description |
---|---|
clientIP | (ClientIPConfig ) |
Sysctl
See k8s.io.api.core.v1.Sysctl.
Field | Description |
---|---|
name | (string ) |
value | (string ) |
TCPSocketAction
See k8s.io.api.core.v1.TCPSocketAction.
Field | Description |
---|---|
port | (google.protobuf.Value )For information about the value format, see the Google protocol buffer documentation. |
host | (string ) |
Toleration
See k8s.io.api.core.v1.Toleration.
Field | Description |
---|---|
key | (string ) |
operator | (string ) |
value | (string ) |
effect | (string ) |
tolerationSeconds | (int64 ) |
WeightedPodAffinityTerm
See k8s.io.api.core.v1.WeightedPodAffinityTerm.
Field | Description |
---|---|
weight | (int32 ) |
podAffinityTerm | (PodAffinityTerm ) |
WindowsSecurityContextOptions
See k8s.io.api.core.v1.WindowsSecurityContextOptions.
Field | Description |
---|---|
gmsaCredentialSpecName | (string ) |
gmsaCredentialSpec | (string ) |
runAsUserName | (string ) |
InstallStatus.Status
Status describes the current state of a component.
Name | Number | Description |
---|---|---|
NONE | 0 | Component is not present. |
UPDATING | 1 | Component is being updated to a different version. |
RECONCILING | 2 | Controller has started but not yet completed reconciliation loop for the component. |
HEALTHY | 3 | Component is healthy. |
ERROR | 4 | Component is in an error state. |
ACTION_REQUIRED | 5 | Overall status only and would not be set as a component status. Action is needed from the user for reconciliation to proceed e.g. There are proxies still pointing to the control plane revision when try to remove an IstioOperator CR. |