v2

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v2 contains API Schema definitions for the maistra v2 API group +k8s:deepcopy-gen=package,register +groupName=maistra.io

Index

Constants

View Source
const (
	// APIGroup for maistr.io
	APIGroup = "maistra.io"
	// APIVersion for v2
	APIVersion = "v2"
)
View Source
const (
	ControlPlaneModeKey                = "controlPlaneMode"
	ControlPlaneModeValueClusterScoped = "ClusterScoped"
	ControlPlaneModeValueMultiTenant   = "MultiTenant"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: APIGroup, Version: APIVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

ControlPlaneComponentNames - supported runtime components

Functions

This section is empty.

Types

type AddonsConfig

type AddonsConfig struct {
	// Prometheus configures Prometheus specific addon capabilities
	Prometheus *PrometheusAddonConfig `json:"prometheus,omitempty"`
	// Stackdriver configures Stackdriver specific addon capabilities
	Stackdriver *StackdriverAddonConfig `json:"stackdriver,omitempty"`
	// Jaeger configures Jaeger specific addon capabilities
	Jaeger *JaegerAddonConfig `json:"jaeger,omitempty"`
	// Grafana configures a grafana instance to use with the mesh
	// .Values.grafana.enabled, true if not null
	// +optional
	Grafana *GrafanaAddonConfig `json:"grafana,omitempty"`
	// Kiali configures a kiali instance to use with the mesh
	// .Values.kiali.enabled, true if not null
	// +optional
	Kiali *KialiAddonConfig `json:"kiali,omitempty"`
	// ThreeScale configures the 3scale adapter
	// +optional
	ThreeScale *ThreeScaleAddonConfig `json:"3scale,omitempty"`
}

AddonsConfig configures additional features for use with the mesh

func (*AddonsConfig) DeepCopy

func (in *AddonsConfig) DeepCopy() *AddonsConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonsConfig.

func (*AddonsConfig) DeepCopyInto

func (in *AddonsConfig) DeepCopyInto(out *AddonsConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Affinity

type Affinity struct {
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`
	// +optional
	PodAffinity *corev1.PodAffinity `json:"podAffinity,omitempty"`
	// XXX: use corev1.PodAntiAffinity instead, the only things not supported are namespaces and weighting
	// +optional
	PodAntiAffinity PodAntiAffinity `json:"podAntiAffinity,omitempty"`
}

Affinity is the structure used by Istio for specifying Pod affinity XXX: istio does not support full corev1.Affinity settings, hence the special types here.

func (*Affinity) DeepCopy

func (in *Affinity) DeepCopy() *Affinity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Affinity.

func (*Affinity) DeepCopyInto

func (in *Affinity) DeepCopyInto(out *Affinity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AutoScalerConfig

type AutoScalerConfig struct {
	Enablement `json:",inline"`
	// lower limit for the number of pods that can be set by the autoscaler, default 1.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
	// +optional
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`
	// target average CPU utilization (represented as a percentage of requested CPU) over all the pods;
	// if not specified the default autoscaling policy will be used.
	// +optional
	TargetCPUUtilizationPercentage *int32 `json:"targetCPUUtilizationPercentage,omitempty"`
}

AutoScalerConfig is used to configure autoscaling for a deployment

func (*AutoScalerConfig) DeepCopy

func (in *AutoScalerConfig) DeepCopy() *AutoScalerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoScalerConfig.

func (*AutoScalerConfig) DeepCopyInto

func (in *AutoScalerConfig) DeepCopyInto(out *AutoScalerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertManagerCertificateAuthorityConfig

type CertManagerCertificateAuthorityConfig struct {
	// Address is the grpc address for an Istio compatible certificate authority endpoint.
	// .Values.global.caAddress
	Address             string `json:"address,omitempty"`
	PilotCertSecretName string `json:"pilotSecretName,omitempty"`
	RootCAConfigMapName string `json:"rootCAConfigMapName,omitempty"`
}

func (*CertManagerCertificateAuthorityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertManagerCertificateAuthorityConfig.

func (*CertManagerCertificateAuthorityConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateAuthorityConfig

type CertificateAuthorityConfig struct {
	// Type is the certificate authority to use.
	Type CertificateAuthorityType `json:"type,omitempty"`
	// Istiod is the configuration for Istio's internal certificate authority implementation.
	// each of these produces a CAEndpoint, i.e. CA_ADDR
	// +optional
	Istiod *IstiodCertificateAuthorityConfig `json:"istiod,omitempty"`
	// Custom is the configuration for a custom certificate authority.
	// +optional
	Custom      *CustomCertificateAuthorityConfig      `json:"custom,omitempty"`
	CertManager *CertManagerCertificateAuthorityConfig `json:"cert-manager,omitempty"`
}

CertificateAuthorityConfig configures the certificate authority implementation used by the control plane.

func (*CertificateAuthorityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthorityConfig.

func (*CertificateAuthorityConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateAuthorityType

type CertificateAuthorityType string

CertificateAuthorityType represents the type of CertificateAuthority implementation.

const (
	// CertificateAuthorityTypeIstiod represents Istio's internal certificate authority implementation
	CertificateAuthorityTypeIstiod CertificateAuthorityType = "Istiod"
	// CertificateAuthorityTypeCustom represents a custom certificate authority implementation
	CertificateAuthorityTypeCustom CertificateAuthorityType = "Custom"
	// CertificateAuthorityTypeCertManager represents a cert-manager istio-csr certificate authority implementation
	CertificateAuthorityTypeCertManager CertificateAuthorityType = "cert-manager"
)

type ClusterIngressGatewayConfig

type ClusterIngressGatewayConfig struct {
	IngressGatewayConfig `json:",inline"`
	// .Values.global.k8sIngress.enabled
	// implies the following:
	// .Values.global.k8sIngress.gatewayName will match the ingress gateway
	// .Values.global.k8sIngress.enableHttps will be true if gateway service exposes port 443
	// XXX: not sure whether or not this is specific to multicluster, mesh expansion, or both
	// +optional
	IngressEnabled *bool `json:"ingress,omitempty"`
	// MeshExpansionPorts define the port set used with multi-cluster/mesh expansion
	// +optional
	MeshExpansionPorts []corev1.ServicePort `json:"meshExpansionPorts,omitempty"`
	// RouteConfig specifies whether to create an OpenShift Route for istio-ingressgateway deployment
	// +optional
	RouteConfig *Enablement `json:"routeConfig,omitempty"`
}

ClusterIngressGatewayConfig represents gateway configuration for cluster ingress

func (*ClusterIngressGatewayConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIngressGatewayConfig.

func (*ClusterIngressGatewayConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommonContainerConfig

type CommonContainerConfig struct {
	// +optional
	ImageRegistry string `json:"imageRegistry,omitempty"`
	// +optional
	ImageTag string `json:"imageTag,omitempty"`
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

CommonContainerConfig represents container settings common to both defaults and component specific configuration.

func (*CommonContainerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonContainerConfig.

func (*CommonContainerConfig) DeepCopyInto

func (in *CommonContainerConfig) DeepCopyInto(out *CommonContainerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommonDeploymentRuntimeConfig

type CommonDeploymentRuntimeConfig struct {
	// .Values.global.podDisruptionBudget.enabled, if not null
	// XXX: this is currently a global setting, not per component.  perhaps
	// this should only be available on the defaults?
	// +optional
	PodDisruption *PodDisruptionBudget `json:"podDisruption,omitempty"`
}

CommonDeploymentRuntimeConfig represents deployment settings common to both default and component specific settings

func (*CommonDeploymentRuntimeConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonDeploymentRuntimeConfig.

func (*CommonDeploymentRuntimeConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommonPodRuntimeConfig

type CommonPodRuntimeConfig struct {
	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	// +optional
	// .Values.nodeSelector
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	// .Values.tolerations
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// .Values.global.priorityClassName
	// XXX: currently, this is only a global setting.  maybe only allow setting in global runtime defaults?
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`
}

CommonPodRuntimeConfig represents pod settings common to both defaults and component specific configuration

func (*CommonPodRuntimeConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonPodRuntimeConfig.

func (*CommonPodRuntimeConfig) DeepCopyInto

func (in *CommonPodRuntimeConfig) DeepCopyInto(out *CommonPodRuntimeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentIngressConfig

type ComponentIngressConfig struct {
	Enablement `json:",inline"`
	// Metadata represents additional metadata to be applied to the ingress/route.
	// +optional
	Metadata *MetadataConfig `json:"metadata,omitempty"`
	// Hosts represents a list of host names to configure.  Note, OpenShift route
	// only supports a single host name per route.  An empty host name implies
	// a default host name for the Route.
	// XXX: is a host name required for k8s Ingress?
	// +optional
	Hosts []string `json:"hosts,omitempty"`
	// ContextPath represents the context path to the service.
	// +optional
	ContextPath string `json:"contextPath,omitempty"`
	// TLS is used to configure TLS for the Ingress/Route
	// XXX: should this be something like RawExtension, as the configuration differs between Route and Ingress?
	// +optional
	TLS *v1.HelmValues `json:"tls,omitempty"`
}

ComponentIngressConfig is used to customize a k8s Ingress or OpenShift Route for the service associated with a component.

func (*ComponentIngressConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentIngressConfig.

func (*ComponentIngressConfig) DeepCopyInto

func (in *ComponentIngressConfig) DeepCopyInto(out *ComponentIngressConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentLogLevels

type ComponentLogLevels map[EnvoyComponent]LogLevel

ComponentLogLevels represent various logging levels, e.g. trace, debug, etc.

func (ComponentLogLevels) DeepCopy

func (in ComponentLogLevels) DeepCopy() ComponentLogLevels

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentLogLevels.

func (ComponentLogLevels) DeepCopyInto

func (in ComponentLogLevels) DeepCopyInto(out *ComponentLogLevels)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentPersistenceConfig

type ComponentPersistenceConfig struct {
	Enablement `json:",inline"`
	// StorageClassName for the PersistentVolumeClaim
	// +optional
	StorageClassName string `json:"storageClassName,omitempty"`
	// AccessMode for the PersistentVolumeClaim
	// +optional
	AccessMode corev1.PersistentVolumeAccessMode `json:"accessMode,omitempty"`
	// Resources to request for the PersistentVolumeClaim
	// +optional
	Resources *corev1.ResourceRequirements `json:"capacity,omitempty"`
}

ComponentPersistenceConfig is used to configure persistence for a component.

func (*ComponentPersistenceConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentPersistenceConfig.

func (*ComponentPersistenceConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentRuntimeConfig

type ComponentRuntimeConfig struct {
	// Deployment specific overrides
	// +optional
	Deployment *DeploymentRuntimeConfig `json:"deployment,omitempty"`

	// Pod specific overrides
	// +optional
	Pod *PodRuntimeConfig `json:"pod,omitempty"`

	// .Values.*.resource, imagePullPolicy, etc.
	// +optional
	Container *ContainerConfig `json:"container,omitempty"`
}

ComponentRuntimeConfig allows for partial customization of a component's runtime configuration (Deployment, PodTemplate, auto scaling, pod disruption, etc.)

func (*ComponentRuntimeConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentRuntimeConfig.

func (*ComponentRuntimeConfig) DeepCopyInto

func (in *ComponentRuntimeConfig) DeepCopyInto(out *ComponentRuntimeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentServiceConfig

type ComponentServiceConfig struct {
	// Metadata represents additional annotations/labels to be applied to the
	// component's service.
	// +optional
	Metadata *MetadataConfig `json:"metadata,omitempty"`
	// NodePort specifies a NodePort for the component's Service.
	// .Values.<component>.service.nodePort.port, ...enabled is true if not null
	// +optional
	NodePort *int32 `json:"nodePort,omitempty"`
	// Ingress specifies details for accessing the component's service through
	// a k8s Ingress or OpenShift Route.
	// +optional
	Ingress *ComponentIngressConfig `json:"ingress,omitempty"`
}

ComponentServiceConfig is used to customize the service associated with a component.

func (*ComponentServiceConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentServiceConfig.

func (*ComponentServiceConfig) DeepCopyInto

func (in *ComponentServiceConfig) DeepCopyInto(out *ComponentServiceConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ContainerConfig

type ContainerConfig struct {
	CommonContainerConfig `json:",inline"`
	// +optional
	Image string `json:"imageName,omitempty"`
	// +optional
	Env map[string]string `json:"env,omitempty"`
}

ContainerConfig to be applied to containers in a pod, in a deployment

func (*ContainerConfig) DeepCopy

func (in *ContainerConfig) DeepCopy() *ContainerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerConfig.

func (*ContainerConfig) DeepCopyInto

func (in *ContainerConfig) DeepCopyInto(out *ContainerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPlaneCertProviderType

type ControlPlaneCertProviderType string

ControlPlaneCertProviderType represents the provider used to generate serving certificates for the control plane.

const (
	// ControlPlaneCertProviderTypeIstiod identifies istiod as the provider generating the serving certifications.
	ControlPlaneCertProviderTypeIstiod ControlPlaneCertProviderType = "Istiod"
	// ControlPlaneCertProviderTypeKubernetes identifies Kubernetes as the provider generating the serving certificates.
	ControlPlaneCertProviderTypeKubernetes ControlPlaneCertProviderType = "Kubernetes"
	// ControlPlaneCertProviderTypeCustom identifies a custom provider has generated the serving certificates.
	// XXX: Not quite sure what this means. Presumably, the key and cert chain have been mounted specially
	ControlPlaneCertProviderTypeCustom ControlPlaneCertProviderType = "Custom"
)

type ControlPlaneClusterConfig

type ControlPlaneClusterConfig struct {
	// .Values.global.multiCluster.clusterName, defaults to Kubernetes
	// +optional
	Name string `json:"name,omitempty"`
	// .Values.global.network
	// XXX: not sure what the difference is between this and cluster name
	// +optional
	Network string `json:"network,omitempty"`
	// .Values.global.multiCluster.enabled, if not null
	// +optional
	MultiCluster *MultiClusterConfig `json:"multiCluster,omitempty"`
	// .Values.global.meshExpansion.enabled, if not null
	// XXX: it's not clear whether or not there is any overlap with MultiCluster,
	// i.e. does MultiCluster require mesh expansion ports to be configured on
	// the ingress gateway?
	// +optional
	MeshExpansion *MeshExpansionConfig `json:"meshExpansion,omitempty"`
}

ControlPlaneClusterConfig configures aspects related to clustering.

func (*ControlPlaneClusterConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneClusterConfig.

func (*ControlPlaneClusterConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPlaneComponentName

type ControlPlaneComponentName string

ControlPlaneComponentName simple type for control plane component names

const (
	// ControlPlaneComponentNameSecurity - security (citadel)
	ControlPlaneComponentNameSecurity ControlPlaneComponentName = "security"
	// ControlPlaneComponentNameGalley - galley
	ControlPlaneComponentNameGalley ControlPlaneComponentName = "galley"
	// ControlPlaneComponentNamePilot - pilot
	ControlPlaneComponentNamePilot ControlPlaneComponentName = "pilot"
	// ControlPlaneComponentNameMixer - mixer
	ControlPlaneComponentNameMixer ControlPlaneComponentName = "mixer"
	// ControlPlaneComponentNameMixerPolicy - mixer.policy
	ControlPlaneComponentNameMixerPolicy ControlPlaneComponentName = "mixer.policy"
	// ControlPlaneComponentNameMixerTelemetry - mixer.telemetry
	ControlPlaneComponentNameMixerTelemetry ControlPlaneComponentName = "mixer.telemetry"
	// ControlPlaneComponentNameGlobalOauthProxy - global.oauthproxy
	ControlPlaneComponentNameGlobalOauthProxy ControlPlaneComponentName = "global.oauthproxy"
	// ControlPlaneComponentNameSidecarInjectoryWebhook - sidecarInjectorWebhook
	ControlPlaneComponentNameSidecarInjectoryWebhook ControlPlaneComponentName = "sidecarInjectorWebhook"
	// ControlPlaneComponentNameTracing - tracing
	ControlPlaneComponentNameTracing ControlPlaneComponentName = "tracing"
	// ControlPlaneComponentNameTracingJaeger - tracing.jaeger
	ControlPlaneComponentNameTracingJaeger ControlPlaneComponentName = "tracing.jaeger"
	// ControlPlaneComponentNameTracingJaegerElasticsearch - tracing.jaeger.elasticsearch
	ControlPlaneComponentNameTracingJaegerElasticsearch ControlPlaneComponentName = "tracing.jaeger.elasticsearch"
	// ControlPlaneComponentNameTracingJaegerAgent - tracing.jaeger.agent
	ControlPlaneComponentNameTracingJaegerAgent ControlPlaneComponentName = "tracing.jaeger.agent"
	// ControlPlaneComponentNameTracingJaegerAllInOne - tracing.jaeger.allInOne
	ControlPlaneComponentNameTracingJaegerAllInOne ControlPlaneComponentName = "tracing.jaeger.allInOne"
	// ControlPlaneComponentNameTracingJaegerCollector - tracing.jaeger.collector
	ControlPlaneComponentNameTracingJaegerCollector ControlPlaneComponentName = "tracing.jaeger.collector"
	// ControlPlaneComponentNameTracingJaegerQuery - tracing.jaeger.query
	ControlPlaneComponentNameTracingJaegerQuery ControlPlaneComponentName = "tracing.jaeger.query"
	// ControlPlaneComponentNamePrometheus - prometheus
	ControlPlaneComponentNamePrometheus ControlPlaneComponentName = "prometheus"
	// ControlPlaneComponentNameKiali - kiali
	ControlPlaneComponentNameKiali ControlPlaneComponentName = "kiali"
	// ControlPlaneComponentNameGrafana - grafana
	ControlPlaneComponentNameGrafana ControlPlaneComponentName = "grafana"
	// ControlPlaneComponentNameThreeScale - 3scale
	ControlPlaneComponentNameThreeScale ControlPlaneComponentName = "3scale"
	// ControlPlaneComponentNameWASMCacher - wasm-extensions cacher
	ControlPlaneComponentNameWASMCacher ControlPlaneComponentName = "wasmExtensions.cacher"
	// ControlPlaneComponentNameRateLimiting - rateLimiting
	ControlPlaneComponentNameRateLimiting ControlPlaneComponentName = "rateLimiting.rls"
)

type ControlPlaneRuntimeConfig

type ControlPlaneRuntimeConfig struct {
	// Components allows specifying execution parameters for specific control plane
	// componets.  The key of the map is the component name to which the settings
	// should be applied.
	// +optional
	Components map[ControlPlaneComponentName]*ComponentRuntimeConfig `json:"components,omitempty"`
	// Defaults will be merged into specific component config.
	// .Values.global.defaultResources, e.g.
	// +optional
	Defaults *DefaultRuntimeConfig `json:"defaults,omitempty"`
}

ControlPlaneRuntimeConfig configures execution parameters for control plane componets.

func (*ControlPlaneRuntimeConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneRuntimeConfig.

func (*ControlPlaneRuntimeConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPlaneSecurityConfig

type ControlPlaneSecurityConfig struct {
	// Enable mutual TLS for the control plane components.
	// .Values.global.controlPlaneSecurityEnabled
	// +optional
	MTLS *bool `json:"mtls,omitempty"`
	// CertProvider is the certificate authority used to generate the serving
	// certificates for the control plane components.
	// .Values.global.pilotCertProvider
	// Provider used to generate serving certs for istiod (pilot)
	// +optional
	CertProvider ControlPlaneCertProviderType `json:"certProvider,omitempty"`

	// TLS configures aspects of TLS listeners created by control plane components.
	// +optional
	TLS *ControlPlaneTLSConfig `json:"tls,omitempty"`
}

ControlPlaneSecurityConfig is the mutual TLS configuration specific to the control plane.

func (*ControlPlaneSecurityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneSecurityConfig.

func (*ControlPlaneSecurityConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPlaneSpec

type ControlPlaneSpec struct {

	// Profiles selects the profile to use for default values. Defaults to
	// "default" when not set.
	// +optional
	Profiles []string `json:"profiles,omitempty"`

	// Version specifies what Maistra version of the control plane to install.
	// When creating a new ServiceMeshControlPlane with an empty version, the
	// admission webhook sets the version to the current version.
	// +optional
	Version string `json:"version,omitempty"`
	// Cluster is the general configuration of the cluster (cluster name,
	// network name, multi-cluster, mesh expansion, etc.)
	// +optional
	Cluster *ControlPlaneClusterConfig `json:"cluster,omitempty"`
	// General represents general control plane configuration that does not
	// logically fit in another area.
	// +optional
	General *GeneralConfig `json:"general,omitempty"`
	// Policy configures policy checking for the control plane.
	// .Values.policy.enabled, true if not null
	// +optional
	Policy *PolicyConfig `json:"policy,omitempty"`
	// Proxy configures the default behavior for sidecars.  Many values were
	// previously exposed through .Values.global.proxy
	// +optional
	Proxy *ProxyConfig `json:"proxy,omitempty"`
	// Security configures aspects of security for the control plane.
	// +optional
	Security *SecurityConfig `json:"security,omitempty"`
	// Telemetry configures telemetry for the mesh.
	// .Values.mixer.telemetry.enabled, true if not null.  1.6, .Values.telemetry.enabled
	// +optional
	Telemetry *TelemetryConfig `json:"telemetry,omitempty"`
	// Tracing configures tracing for the mesh.
	// +optional
	Tracing *TracingConfig `json:"tracing,omitempty"`
	// Gateways configures gateways for the mesh
	// .Values.gateways.*
	// +optional
	Gateways *GatewaysConfig `json:"gateways,omitempty"`
	// Runtime configuration for pilot (and galley, etc., pre 2.0)
	// +optional
	Runtime *ControlPlaneRuntimeConfig `json:"runtime,omitempty"`
	// Addons is used to configure additional features beyond core control plane
	// components, e.g. visualization, metric storage, etc.
	// +optional
	Addons *AddonsConfig `json:"addons,omitempty"`
	// TechPreview contains switches for features that are not GA yet.
	// +optional
	TechPreview *v1.HelmValues `json:"techPreview,omitempty"`
}

ControlPlaneSpec represents the configuration for installing a control plane

func (*ControlPlaneSpec) DeepCopy

func (in *ControlPlaneSpec) DeepCopy() *ControlPlaneSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneSpec.

func (*ControlPlaneSpec) DeepCopyInto

func (in *ControlPlaneSpec) DeepCopyInto(out *ControlPlaneSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ControlPlaneSpec) IsClusterScoped

func (s ControlPlaneSpec) IsClusterScoped() (bool, error)

func (ControlPlaneSpec) IsGrafanaEnabled

func (s ControlPlaneSpec) IsGrafanaEnabled() bool

func (ControlPlaneSpec) IsJaegerEnabled

func (s ControlPlaneSpec) IsJaegerEnabled() bool

func (ControlPlaneSpec) IsKialiEnabled

func (s ControlPlaneSpec) IsKialiEnabled() bool

func (ControlPlaneSpec) IsPrometheusEnabled

func (s ControlPlaneSpec) IsPrometheusEnabled() bool

type ControlPlaneStatus

type ControlPlaneStatus struct {
	status.StatusBase `json:",inline"`

	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	status.StatusType `json:",inline"`

	// The generation observed by the controller during the most recent
	// reconciliation. The information in the status pertains to this particular
	// generation of the object.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// The version of the operator that last processed this resource.
	OperatorVersion string `json:"operatorVersion,omitempty"`

	// The version of the charts that were last processed for this resource.
	ChartVersion string `json:"chartVersion,omitempty"`

	// The list of components comprising the control plane and their statuses.
	status.ComponentStatusList `json:",inline"`

	// The readiness status of components & owned resources
	Readiness ReadinessStatus `json:"readiness"`

	// The resulting specification of the configuration options after all profiles
	// have been applied.
	// +optional
	AppliedSpec ControlPlaneSpec `json:"appliedSpec,omitempty"`

	// The resulting values.yaml used to generate the charts.
	// +optional
	AppliedValues v1.ControlPlaneSpec `json:"appliedValues,omitempty"`
}

ControlPlaneStatus defines the observed state of ServiceMeshControlPlane ControlPlaneStatus represents the current state of a ServiceMeshControlPlane.

func (*ControlPlaneStatus) DeepCopy

func (in *ControlPlaneStatus) DeepCopy() *ControlPlaneStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneStatus.

func (*ControlPlaneStatus) DeepCopyInto

func (in *ControlPlaneStatus) DeepCopyInto(out *ControlPlaneStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControlPlaneStatus) GetReconciledVersion

func (s *ControlPlaneStatus) GetReconciledVersion() string

GetReconciledVersion returns the reconciled version, or a default for older resources

type ControlPlaneTLSConfig

type ControlPlaneTLSConfig struct {
	// CipherSuites configures the cipher suites that are available for use by
	// TLS listeners.
	// .Values.global.tls.cipherSuites
	// +optional
	CipherSuites []string `json:"cipherSuites,omitempty"`
	// ECDHCurves configures the ECDH curves that are available for use by
	// TLS listeners.
	// .Values.global.tls.ecdhCurves
	// +optional
	ECDHCurves []string `json:"ecdhCurves,omitempty"`
	// MinProtocolVersion the minimum TLS version that should be supported by
	// the listeners.
	// .Values.global.tls.minProtocolVersion
	// +optional
	MinProtocolVersion string `json:"minProtocolVersion,omitempty"`
	// MaxProtocolVersion the maximum TLS version that should be supported by
	// the listeners.
	// .Values.global.tls.maxProtocolVersion
	// +optional
	MaxProtocolVersion string `json:"maxProtocolVersion,omitempty"`
}

ControlPlaneTLSConfig configures settings on TLS listeners created by control plane components, e.g. webhooks, grpc (if mtls is enabled), etc.

func (*ControlPlaneTLSConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneTLSConfig.

func (*ControlPlaneTLSConfig) DeepCopyInto

func (in *ControlPlaneTLSConfig) DeepCopyInto(out *ControlPlaneTLSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomCertificateAuthorityConfig

type CustomCertificateAuthorityConfig struct {
	// Address is the grpc address for an Istio compatible certificate authority endpoint.
	// .Values.global.caAddress
	// XXX: assumption is this is a grpc endpoint that provides methods like istio.v1.auth.IstioCertificateService/CreateCertificate
	Address string `json:"address,omitempty"`
}

CustomCertificateAuthorityConfig is the configuration for a custom certificate authority.

func (*CustomCertificateAuthorityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomCertificateAuthorityConfig.

func (*CustomCertificateAuthorityConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataPlaneSecurityConfig

type DataPlaneSecurityConfig struct {
	// Enable mutual TLS by default.
	// .Values.global.mtls.enabled
	MTLS *bool `json:"mtls,omitempty"`
	// Auto configures the mesh to automatically detect whether or not mutual
	// TLS is required for a specific connection.
	// .Values.global.mtls.auto
	// +optional
	AutoMTLS *bool `json:"automtls,omitempty"`
}

DataPlaneSecurityConfig is the mutual TLS configuration specific to the control plane.

func (*DataPlaneSecurityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlaneSecurityConfig.

func (*DataPlaneSecurityConfig) DeepCopyInto

func (in *DataPlaneSecurityConfig) DeepCopyInto(out *DataPlaneSecurityConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DatadogTracerConfig

type DatadogTracerConfig struct {
}

DatadogTracerConfig configures a Datadog tracer for use with the mesh

func (*DatadogTracerConfig) DeepCopy

func (in *DatadogTracerConfig) DeepCopy() *DatadogTracerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogTracerConfig.

func (*DatadogTracerConfig) DeepCopyInto

func (in *DatadogTracerConfig) DeepCopyInto(out *DatadogTracerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRuntimeConfig

type DefaultRuntimeConfig struct {
	// Deployment defaults
	// +optional
	Deployment *CommonDeploymentRuntimeConfig `json:"deployment,omitempty"`
	// Pod defaults
	// +optional
	Pod *CommonPodRuntimeConfig `json:"pod,omitempty"`
	// Container overrides to be merged with component specific overrides.
	// +optional
	Container *CommonContainerConfig `json:"container,omitempty"`
}

DefaultRuntimeConfig specifies default execution parameters to apply to control plane deployments/pods when no specific component overrides have been specified. These settings will be merged with component specific settings.

func (*DefaultRuntimeConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRuntimeConfig.

func (*DefaultRuntimeConfig) DeepCopyInto

func (in *DefaultRuntimeConfig) DeepCopyInto(out *DefaultRuntimeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeploymentRuntimeConfig

type DeploymentRuntimeConfig struct {
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	// .Values.*.replicaCount
	Replicas *int32 `json:"replicas,omitempty"`

	// The deployment strategy to use to replace existing pods with new ones.
	// +optional
	// +patchStrategy=retainKeys
	// .Values.*.rollingMaxSurge, rollingMaxUnavailable, etc.
	Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys"`

	// Autoscaling specifies the configuration for a HorizontalPodAutoscaler
	// to be applied to this deployment.  Null indicates no auto scaling.
	// .Values.*.autoscale* fields
	// +optional
	AutoScaling *AutoScalerConfig `json:"autoScaling,omitempty"`
}

DeploymentRuntimeConfig allow customization of a component's Deployment resource, including additional labels/annotations, replica count, autoscaling, rollout strategy, etc.

func (*DeploymentRuntimeConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentRuntimeConfig.

func (*DeploymentRuntimeConfig) DeepCopyInto

func (in *DeploymentRuntimeConfig) DeepCopyInto(out *DeploymentRuntimeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EgressGatewayConfig

type EgressGatewayConfig struct {
	GatewayConfig `json:",inline"`
	// RequestedNetworkView is a list of networks whose services should be made
	// available to the gateway.  This is used primarily for mesh expansion/multi-cluster.
	// .Values.gateways.<gateway-name>.env.ISTIO_META_REQUESTED_NETWORK_VIEW env, defaults to empty list
	// XXX: I think this is only applicable to egress gateways
	// +optional
	RequestedNetworkView []string `json:"requestedNetworkView,omitempty"`
}

EgressGatewayConfig represents gateway configuration for egress

func (*EgressGatewayConfig) DeepCopy

func (in *EgressGatewayConfig) DeepCopy() *EgressGatewayConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressGatewayConfig.

func (*EgressGatewayConfig) DeepCopyInto

func (in *EgressGatewayConfig) DeepCopyInto(out *EgressGatewayConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Enablement

type Enablement struct {
	// Enabled specifies whether or not this feature is enabled
	Enabled *bool `json:"enabled,omitempty"`
}

Enablement is a common definition for features that can be enabled

func (*Enablement) DeepCopy

func (in *Enablement) DeepCopy() *Enablement

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Enablement.

func (*Enablement) DeepCopyInto

func (in *Enablement) DeepCopyInto(out *Enablement)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvoyComponent

type EnvoyComponent string

EnvoyComponent represents an envoy component to configure logging

const (
	EnvoyComponentAdmin         EnvoyComponent = "admin"
	EnvoyComponentAssert        EnvoyComponent = "assert"
	EnvoyComponentBacktrace     EnvoyComponent = "backtrace"
	EnvoyComponentClient        EnvoyComponent = "client"
	EnvoyComponentConfig        EnvoyComponent = "config"
	EnvoyComponentConnection    EnvoyComponent = "connection"
	EnvoyComponentConnHandler   EnvoyComponent = "conn_handler"
	EnvoyComponentFile          EnvoyComponent = "file"
	EnvoyComponentFilter        EnvoyComponent = "filter"
	EnvoyComponentForwardProxy  EnvoyComponent = "forward_proxy"
	EnvoyComponentGRPC          EnvoyComponent = "grpc"
	EnvoyComponentHealth        EnvoyComponent = "hc"
	EnvoyComponentHealthChecker EnvoyComponent = "health_checker"
	EnvoyComponentHTTP          EnvoyComponent = "http"
	EnvoyComponentHTTP2         EnvoyComponent = "http2"
	EnvoyComponentInit          EnvoyComponent = "init"
	EnvoyComponentIO            EnvoyComponent = "io"
	EnvoyComponentJWT           EnvoyComponent = "jwt"
	EnvoyComponentLua           EnvoyComponent = "lua"
	EnvoyComponentMain          EnvoyComponent = "main"
	EnvoyComponentMisc          EnvoyComponent = "misc"
	EnvoyComponentQuic          EnvoyComponent = "quic"
	EnvoyComponentPool          EnvoyComponent = "pool"
	EnvoyComponentRBAC          EnvoyComponent = "rbac"
	EnvoyComponentRouter        EnvoyComponent = "router"
	EnvoyComponentRuntime       EnvoyComponent = "runtime"
	EnvoyComponentStats         EnvoyComponent = "stats"
	EnvoyComponentSecret        EnvoyComponent = "secret"
	EnvoyComponentTap           EnvoyComponent = "tap"
	EnvoyComponentTesting       EnvoyComponent = "testing"
	EnvoyComponentTracing       EnvoyComponent = "tracing"
	EnvoyComponentUpstream      EnvoyComponent = "upstream"
	EnvoyComponentUDP           EnvoyComponent = "udp"
	EnvoyComponentWASM          EnvoyComponent = "wasm"
)

not a comprehensive list

type EnvoyServiceClientTLSSettings

type EnvoyServiceClientTLSSettings struct {
	// Mode represents the TLS mode to apply to the connection.  The following
	// values are supported: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
	// +optional
	Mode string `json:"mode,omitempty"`
	// ClientCertificate represents the file name containing the client certificate
	// to show to the Envoy service, e.g. /etc/istio/als/cert-chain.pem
	// +optional
	ClientCertificate string `json:"clientCertificate,omitempty"`
	// PrivateKey represents the file name containing the private key used by
	// the client, e.g. /etc/istio/als/key.pem
	// +optional
	PrivateKey string `json:"privateKey,omitempty"`
	// CACertificates represents the file name containing the root certificates
	// for the CA, e.g. /etc/istio/als/root-cert.pem
	// +optional
	CACertificates string `json:"caCertificates,omitempty"`
	// SNIHost represents the host name presented to the server during TLS
	// handshake, e.g. als.somedomain
	// +optional
	SNIHost string `json:"sni,omitempty"`
	// SubjectAltNames represents the list of alternative names that may be used
	// to verify the servers identity, e.g. [als.someotherdomain]
	// +optional
	SubjectAltNames []string `json:"subjectAltNames,omitempty"`
}

EnvoyServiceClientTLSSettings configures TLS settings for the Envoy service. Provides the same interface as networking.v1alpha3.istio.io, ClientTLSSettings

func (*EnvoyServiceClientTLSSettings) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyServiceClientTLSSettings.

func (*EnvoyServiceClientTLSSettings) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvoyServiceTCPKeepalive

type EnvoyServiceTCPKeepalive struct {
	// Probes represents the number of successive probe failures after which the
	// connection should be considered "dead."
	// +optional
	Probes uint32 `json:"probes,omitempty"`
	// Time represents the length of idle time that must elapse before a probe
	// is sent.
	// +optional
	Time string `json:"time,omitempty"`
	// Interval represents the interval between probes.
	// +optional
	Interval string `json:"interval,omitempty"`
}

EnvoyServiceTCPKeepalive configures keepalive settings for the Envoy service. Provides the same interface as networking.v1alpha3.istio.io, ConnectionPoolSettings_TCPSettings_TcpKeepalive

func (*EnvoyServiceTCPKeepalive) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyServiceTCPKeepalive.

func (*EnvoyServiceTCPKeepalive) DeepCopyInto

func (in *EnvoyServiceTCPKeepalive) DeepCopyInto(out *EnvoyServiceTCPKeepalive)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayConfig

type GatewayConfig struct {
	Enablement `json:",inline"`
	// Namespace is the namespace within which the gateway will be installed,
	// defaults to control plane namespace.
	// .Values.gateways.<gateway-name>.namespace
	// XXX: for the standard gateways, it might be possible that related
	// resources could be installed in control plane namespace instead of the
	// gateway namespace.  not sure if this is a problem or not.
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// Service configures the service associated with the gateway, e.g. port
	// mappings, service type, annotations/labels, etc.
	// .Values.gateways.<gateway-name>.ports, .Values.gateways.<gateway-name>.type,
	// .Values.gateways.<gateway-name>.loadBalancerIP,
	// .Values.gateways.<gateway-name>.serviceAnnotations,
	// .Values.gateways.<gateway-name>.serviceLabels
	// XXX: currently there is no distinction between labels and serviceLabels
	// +optional
	Service GatewayServiceConfig `json:"service,omitempty"`
	// The router mode to be used by the gateway.
	// .Values.gateways.<gateway-name>.env.ISTIO_META_ROUTER_MODE, defaults to sni-dnat
	// +optional
	RouterMode RouterModeType `json:"routerMode,omitempty"`
	// Volumes is used to configure additional Secret and ConfigMap volumes that
	// should be mounted for the gateway's pod.
	// .Values.gateways.<gateway-name>.secretVolumes, .Values.gateways.<gateway-name>.configMapVolumes
	// +optional
	Volumes []VolumeConfig `json:"volumes,omitempty"`
	// Runtime is used to configure execution parameters for the pod/containers
	// e.g. resources, replicas, etc.
	// +optional
	Runtime *ComponentRuntimeConfig `json:"runtime,omitempty"`
}

GatewayConfig represents the configuration for a gateway XXX: should standard istio secrets be configured automatically, i.e. should the user be forced to add these manually?

func (*GatewayConfig) DeepCopy

func (in *GatewayConfig) DeepCopy() *GatewayConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayConfig.

func (*GatewayConfig) DeepCopyInto

func (in *GatewayConfig) DeepCopyInto(out *GatewayConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayServiceConfig

type GatewayServiceConfig struct {
	// XXX: selector is ignored
	// Service details used to configure the gateway's Service resource
	// +optional
	corev1.ServiceSpec `json:",inline"`
	// metadata to be applied to the gateway's service (annotations and labels)
	// +optional
	Metadata *MetadataConfig `json:"metadata,omitempty"`
}

GatewayServiceConfig configures the k8s Service associated with the gateway

func (*GatewayServiceConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayServiceConfig.

func (*GatewayServiceConfig) DeepCopyInto

func (in *GatewayServiceConfig) DeepCopyInto(out *GatewayServiceConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayVolume

type GatewayVolume struct {
	// ConfigMap represents a configMap that should populate this volume
	// +optional
	ConfigMap *corev1.ConfigMapVolumeSource `json:"configMap,omitempty"`
	// Secret represents a secret that should populate this volume.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
	// +optional
	Secret *corev1.SecretVolumeSource `json:"secret,omitempty"`
}

GatewayVolume is a pared down version of corev1.Volume, which only supports specifying ConfigMap and Secret volume types.

func (*GatewayVolume) DeepCopy

func (in *GatewayVolume) DeepCopy() *GatewayVolume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayVolume.

func (*GatewayVolume) DeepCopyInto

func (in *GatewayVolume) DeepCopyInto(out *GatewayVolume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewaysConfig

type GatewaysConfig struct {
	Enablement `json:",inline"`
	// ClusterIngress configures the istio-ingressgateway for the mesh
	// works in conjunction with cluster.meshExpansion.ingress configuration
	// (for enabling ILB gateway and mesh expansion ports)
	// .Values.gateways.istio-ingressgateway
	// +optional
	ClusterIngress *ClusterIngressGatewayConfig `json:"ingress,omitempty"`
	// ClusterEgress configures the istio-egressgateway for the mesh.
	// .Values.gateways.istio-egressgateway
	// +optional
	ClusterEgress *EgressGatewayConfig `json:"egress,omitempty"`
	// Other user defined ingress gateways
	// .Values.gateways.<key>
	// +optional
	IngressGateways map[string]*IngressGatewayConfig `json:"additionalIngress,omitempty"`
	// Other user defined egress gateways
	// .Values.gateways.<key>
	// +optional
	EgressGateways map[string]*EgressGatewayConfig `json:"additionalEgress,omitempty"`
	// Route configures the Gateway ↔ OpenShift Route integration
	OpenShiftRoute *OpenShiftRouteConfig `json:"openshiftRoute,omitempty"`
}

GatewaysConfig configures gateways for the mesh

func (*GatewaysConfig) DeepCopy

func (in *GatewaysConfig) DeepCopy() *GatewaysConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaysConfig.

func (*GatewaysConfig) DeepCopyInto

func (in *GatewaysConfig) DeepCopyInto(out *GatewaysConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GeneralConfig

type GeneralConfig struct {
	// Logging represents the logging configuration for the control plane components
	// XXX: Should this be separate from Proxy.Logging?
	// +optional
	Logging *LoggingConfig `json:"logging,omitempty"`

	// ValidationMessages configures the control plane to add validationMessages
	// to the status fields of istio.io resources.  This can be usefule for
	// detecting configuration errors in resources.
	// .Values.galley.enableAnalysis (<v2.0)
	// .Values.global.istiod.enableAnalysis (>=v2.0)
	ValidationMessages *bool `json:"validationMessages,omitempty"`
}

GeneralConfig for control plane

func (*GeneralConfig) DeepCopy

func (in *GeneralConfig) DeepCopy() *GeneralConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GeneralConfig.

func (*GeneralConfig) DeepCopyInto

func (in *GeneralConfig) DeepCopyInto(out *GeneralConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaAddonConfig

type GrafanaAddonConfig struct {
	Enablement `json:",inline"`
	// Install a new grafana instance and manage with control plane
	// +optional
	Install *GrafanaInstallConfig `json:"install,omitempty"`
	// Address is the address of an existing grafana installation
	// implies .Values.kiali.dashboard.grafanaURL
	// +optional
	Address *string `json:"address,omitempty"`
}

GrafanaAddonConfig configures a grafana instance for use with the mesh. Only one of install or address may be specified

func (*GrafanaAddonConfig) DeepCopy

func (in *GrafanaAddonConfig) DeepCopy() *GrafanaAddonConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaAddonConfig.

func (*GrafanaAddonConfig) DeepCopyInto

func (in *GrafanaAddonConfig) DeepCopyInto(out *GrafanaAddonConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaConfig

type GrafanaConfig struct {
	// Env allows specification of various grafana environment variables to be
	// configured on the grafana container.
	// .Values.grafana.env
	// XXX: This is pretty cheesy...
	// +optional
	Env map[string]string `json:"env,omitempty"`
	// EnvSecrets allows specification of secret fields into grafana environment
	// variables to be configured on the grafana container
	// .Values.grafana.envSecrets
	// XXX: This is pretty cheesy...
	// +optional
	EnvSecrets map[string]string `json:"envSecrets,omitempty"`
}

GrafanaConfig configures the behavior of the grafana installation

func (*GrafanaConfig) DeepCopy

func (in *GrafanaConfig) DeepCopy() *GrafanaConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaConfig.

func (*GrafanaConfig) DeepCopyInto

func (in *GrafanaConfig) DeepCopyInto(out *GrafanaConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaInstallConfig

type GrafanaInstallConfig struct {
	// SelfManaged, true if the entire install should be managed by Maistra, false if using grafana CR (not supported)
	// +optional
	SelfManaged bool `json:"selfManaged,omitempty"`
	// Config configures the behavior of the grafana installation
	// +optional
	Config *GrafanaConfig `json:"config,omitempty"`
	// Service configures the k8s Service associated with the grafana installation
	// XXX: grafana service config does not follow other addon components' structure
	// +optional
	Service *ComponentServiceConfig `json:"service,omitempty"`
	// Persistence configures a PersistentVolume associated with the grafana installation
	// .Values.grafana.persist, true if not null
	// +optional
	Persistence *ComponentPersistenceConfig `json:"persistence,omitempty"`
	// Security is used to secure the grafana service.
	// .Values.grafana.security.enabled, true if not null
	// XXX: unused for maistra, as we use oauth-proxy
	// +optional
	Security *GrafanaSecurityConfig `json:"security,omitempty"`
}

GrafanaInstallConfig is used to configure a new installation of grafana.

func (*GrafanaInstallConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaInstallConfig.

func (*GrafanaInstallConfig) DeepCopyInto

func (in *GrafanaInstallConfig) DeepCopyInto(out *GrafanaInstallConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaSecurityConfig

type GrafanaSecurityConfig struct {
	Enablement `json:",inline"`
	// SecretName is the name of a secret containing the username/password that
	// should be used to access grafana.
	// +optional
	SecretName string `json:"secretName,omitempty"`
	// UsernameKey is the name of the key within the secret identifying the username.
	// +optional
	UsernameKey string `json:"usernameKey,omitempty"`
	// PassphraseKey is the name of the key within the secret identifying the password.
	// +optional
	PassphraseKey string `json:"passphraseKey,omitempty"`
}

GrafanaSecurityConfig is used to secure access to grafana

func (*GrafanaSecurityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaSecurityConfig.

func (*GrafanaSecurityConfig) DeepCopyInto

func (in *GrafanaSecurityConfig) DeepCopyInto(out *GrafanaSecurityConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityConfig

type IdentityConfig struct {
	// Type is the type of identity tokens being used.
	// .Values.global.jwtPolicy
	Type IdentityConfigType `json:"type,omitempty"`
	// ThirdParty configures istiod to use a third-party token provider for
	// identifying users. (basically uses a custom audience, e.g. istio-ca)
	// XXX: this is only supported on OCP 4.4+
	// +optional
	ThirdParty *ThirdPartyIdentityConfig `json:"thirdParty,omitempty"`
}

IdentityConfig configures the types of user tokens used by clients

func (*IdentityConfig) DeepCopy

func (in *IdentityConfig) DeepCopy() *IdentityConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityConfig.

func (*IdentityConfig) DeepCopyInto

func (in *IdentityConfig) DeepCopyInto(out *IdentityConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityConfigType

type IdentityConfigType string

IdentityConfigType represents the identity implementation being used.

const (
	// IdentityConfigTypeKubernetes specifies Kubernetes as the token provider.
	IdentityConfigTypeKubernetes IdentityConfigType = "Kubernetes" // first-party-jwt
	// IdentityConfigTypeThirdParty specifies a third-party token provider.
	IdentityConfigTypeThirdParty IdentityConfigType = "ThirdParty" // third-party-jwt
)

type IngressGatewayConfig

type IngressGatewayConfig struct {
	GatewayConfig `json:",inline"`
	// EnableSDS for the gateway.
	// .Values.gateways.<gateway-name>.sds.enabled
	// +optional
	SDS *SecretDiscoveryService `json:"sds,omitempty"`
}

IngressGatewayConfig represents gateway configuration for ingress

func (*IngressGatewayConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressGatewayConfig.

func (*IngressGatewayConfig) DeepCopyInto

func (in *IngressGatewayConfig) DeepCopyInto(out *IngressGatewayConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IstioCertificateSignerType

type IstioCertificateSignerType string

IstioCertificateSignerType represents the certificate signer implementation used by istiod.

const (
	// IstioCertificateSignerTypePrivateKey is the signer type used when signing with a user specified private key.
	IstioCertificateSignerTypePrivateKey IstioCertificateSignerType = "PrivateKey"
	// IstioCertificateSignerTypeSelfSigned is the signer type used when signing with a generated, self-signed certificate.
	IstioCertificateSignerTypeSelfSigned IstioCertificateSignerType = "SelfSigned"
)

type IstioPrivateKeyCertificateSignerConfig

type IstioPrivateKeyCertificateSignerConfig struct {
	// hard coded to use a secret named cacerts
	// +optional
	// EncryptionSecret string `json:"encryptionSecret,omitempty"`
	// ROOT_CA_DIR, defaults to /etc/cacerts
	// Mount directory for encryption secret
	// XXX: currently, not configurable in the charts
	// +optional
	RootCADir string `json:"rootCADir,omitempty"`
}

IstioPrivateKeyCertificateSignerConfig is the configuration when using a user supplied private key/cert for signing. XXX: nothing in here is currently configurable, except RootCADir

func (*IstioPrivateKeyCertificateSignerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioPrivateKeyCertificateSignerConfig.

func (*IstioPrivateKeyCertificateSignerConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IstioSelfSignedCertificateSignerConfig

type IstioSelfSignedCertificateSignerConfig struct {
	// TTL for self-signed root certificate
	// env CITADEL_SELF_SIGNED_CA_CERT_TTL
	// default is 10 years
	// +optional
	TTL string `json:"ttl,omitempty"`
	// GracePeriod percentile for self-signed cert
	// env CITADEL_SELF_SIGNED_ROOT_CERT_GRACE_PERIOD_PERCENTILE
	// default is 20%
	// +optional
	GracePeriod string `json:"gracePeriod,omitempty"`
	// CheckPeriod is the interval with which certificate is checked for rotation
	// env CITADEL_SELF_SIGNED_ROOT_CERT_CHECK_INTERVAL
	// default is 1 hour, zero or negative value disables cert rotation
	// +optional
	CheckPeriod string `json:"checkPeriod,omitempty"`
	// EnableJitter to use jitter for cert rotation
	// env CITADEL_ENABLE_JITTER_FOR_ROOT_CERT_ROTATOR
	// defaults to true
	// +optional
	EnableJitter *bool `json:"enableJitter,omitempty"`
}

IstioSelfSignedCertificateSignerConfig is the configuration for using a self-signed root certificate.

func (*IstioSelfSignedCertificateSignerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioSelfSignedCertificateSignerConfig.

func (*IstioSelfSignedCertificateSignerConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IstiodCertificateAuthorityConfig

type IstiodCertificateAuthorityConfig struct {
	// Type of certificate signer to use.
	Type IstioCertificateSignerType `json:"type,omitempty"`
	// SelfSigned configures istiod to generate and use a self-signed certificate for the root.
	// +optional
	SelfSigned *IstioSelfSignedCertificateSignerConfig `json:"selfSigned,omitempty"`
	// PrivateKey configures istiod to use a user specified private key/cert when signing certificates.
	// +optional
	PrivateKey *IstioPrivateKeyCertificateSignerConfig `json:"privateKey,omitempty"`
	// WorkloadCertTTLDefault is the default TTL for generated workload
	// certificates.  Used if not specified in CSR (<= 0)
	// env DEFAULT_WORKLOAD_CERT_TTL, 1.6
	// --workload-cert-ttl, citadel, pre-1.6
	// defaults to 24 hours
	// +optional
	WorkloadCertTTLDefault string `json:"workloadCertTTLDefault,omitempty"`
	// WorkloadCertTTLMax is the maximum TTL for generated workload certificates.
	// env MAX_WORKLOAD_CERT_TTL
	// --max-workload-cert-ttl, citadel, pre-1.6
	// defaults to 90 days
	// +optional
	WorkloadCertTTLMax string `json:"workloadCertTTLMax,omitempty"`
}

IstiodCertificateAuthorityConfig is the configuration for Istio's internal certificate authority implementation.

func (*IstiodCertificateAuthorityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstiodCertificateAuthorityConfig.

func (*IstiodCertificateAuthorityConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JaegerAddonConfig

type JaegerAddonConfig struct {
	// Name of Jaeger CR, Namespace must match control plane namespace
	Name string `json:"name,omitempty"`
	// Install configures a Jaeger installation, which will be created if the
	// named Jaeger resource is not present.  If null, the named Jaeger resource
	// must exist.
	// +optional
	Install *JaegerInstallConfig `json:"install,omitempty"`
}

JaegerAddonConfig configuration specific to Jaeger integration. XXX: this currently deviates from upstream, which creates a jaeger all-in-one deployment manually

func (*JaegerAddonConfig) DeepCopy

func (in *JaegerAddonConfig) DeepCopy() *JaegerAddonConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerAddonConfig.

func (*JaegerAddonConfig) DeepCopyInto

func (in *JaegerAddonConfig) DeepCopyInto(out *JaegerAddonConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (JaegerAddonConfig) ResourceName

func (c JaegerAddonConfig) ResourceName() string

ResourceName returns the resource name for the Jaeger resource, returning a sensible default if the Name field is not set ("jaeger").

type JaegerElasticsearchStorageConfig

type JaegerElasticsearchStorageConfig struct {
	// NodeCount represents the number of elasticsearch nodes to create.
	// .Values.tracing.jaeger.elasticsearch.nodeCount, defaults to 3
	// +optional
	NodeCount *int32 `json:"nodeCount,omitempty"`
	// Storage represents storage configuration for elasticsearch.
	// .Values.tracing.jaeger.elasticsearch.storage, raw yaml
	// XXX: RawExtension?
	// +optional
	Storage *v1.HelmValues `json:"storage,omitempty"`
	// RedundancyPolicy configures the redundancy policy for elasticsearch
	// .Values.tracing.jaeger.elasticsearch.redundancyPolicy, raw yaml
	// +optional
	RedundancyPolicy string `json:"redundancyPolicy,omitempty"`
	// IndexCleaner represents the configuration for the elasticsearch index cleaner
	// .Values.tracing.jaeger.elasticsearch.esIndexCleaner, raw yaml
	// XXX: RawExtension?
	// +optional
	IndexCleaner *v1.HelmValues `json:"indexCleaner,omitempty"`
}

JaegerElasticsearchStorageConfig configures elasticsearch storage parameters for Jaeger

func (*JaegerElasticsearchStorageConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerElasticsearchStorageConfig.

func (*JaegerElasticsearchStorageConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JaegerIngressConfig

type JaegerIngressConfig struct {
	Enablement `json:",inline"`
	// Metadata represents additional annotations/labels to be applied to the ingress/route.
	// +optional
	Metadata *MetadataConfig `json:"metadata,omitempty"`
}

JaegerIngressConfig configures k8s Ingress or OpenShift Route for exposing Jaeger services.

func (*JaegerIngressConfig) DeepCopy

func (in *JaegerIngressConfig) DeepCopy() *JaegerIngressConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerIngressConfig.

func (*JaegerIngressConfig) DeepCopyInto

func (in *JaegerIngressConfig) DeepCopyInto(out *JaegerIngressConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JaegerInstallConfig

type JaegerInstallConfig struct {
	// Config represents the configuration of Jaeger behavior.
	// +optional
	Storage *JaegerStorageConfig `json:"storage,omitempty"`
	// Ingress configures k8s Ingress or OpenShift Route for Jaeger services
	// .Values.tracing.jaeger.ingress.enabled, false if null
	// +optional
	Ingress *JaegerIngressConfig `json:"ingress,omitempty"`
}

JaegerInstallConfig configures a Jaeger installation.

func (*JaegerInstallConfig) DeepCopy

func (in *JaegerInstallConfig) DeepCopy() *JaegerInstallConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerInstallConfig.

func (*JaegerInstallConfig) DeepCopyInto

func (in *JaegerInstallConfig) DeepCopyInto(out *JaegerInstallConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JaegerMemoryStorageConfig

type JaegerMemoryStorageConfig struct {
	// MaxTraces to store
	// .Values.tracing.jaeger.memory.max_traces, defaults to 100000
	// +optional
	MaxTraces *int64 `json:"maxTraces,omitempty"`
}

JaegerMemoryStorageConfig configures in-memory storage parameters for Jaeger

func (*JaegerMemoryStorageConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerMemoryStorageConfig.

func (*JaegerMemoryStorageConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JaegerStorageConfig

type JaegerStorageConfig struct {
	// Type of storage to use
	Type JaegerStorageType `json:"type,omitempty"`
	// Memory represents configuration of in-memory storage
	// implies .Values.tracing.jaeger.template=all-in-one
	// +optional
	Memory *JaegerMemoryStorageConfig `json:"memory,omitempty"`
	// Elasticsearch represents configuration of elasticsearch storage
	// implies .Values.tracing.jaeger.template=production-elasticsearch
	// +optional
	Elasticsearch *JaegerElasticsearchStorageConfig `json:"elasticsearch,omitempty"`
}

JaegerStorageConfig configures the storage used by the Jaeger installation.

func (*JaegerStorageConfig) DeepCopy

func (in *JaegerStorageConfig) DeepCopy() *JaegerStorageConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerStorageConfig.

func (*JaegerStorageConfig) DeepCopyInto

func (in *JaegerStorageConfig) DeepCopyInto(out *JaegerStorageConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JaegerStorageType

type JaegerStorageType string

JaegerStorageType represents the type of storage configured for Jaeger

const (
	// JaegerStorageTypeMemory represents in-memory storage
	JaegerStorageTypeMemory JaegerStorageType = "Memory"
	// JaegerStorageTypeElasticsearch represents Elasticsearch storage
	JaegerStorageTypeElasticsearch JaegerStorageType = "Elasticsearch"
)

type KialiAddonConfig

type KialiAddonConfig struct {
	Enablement `json:",inline"`
	// Name of Kiali CR, Namespace must match control plane namespace
	Name string `json:"name,omitempty"`
	// Install a Kiali resource if the named Kiali resource is not present.
	// +optional
	Install *KialiInstallConfig `json:"install,omitempty"`
}

KialiAddonConfig is used to configure a kiali instance for use with the mesh

func (*KialiAddonConfig) DeepCopy

func (in *KialiAddonConfig) DeepCopy() *KialiAddonConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KialiAddonConfig.

func (*KialiAddonConfig) DeepCopyInto

func (in *KialiAddonConfig) DeepCopyInto(out *KialiAddonConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KialiAddonConfig) ResourceName

func (c KialiAddonConfig) ResourceName() string

ResourceName returns the resource name for the Kiali resource, returning a sensible default if the Name field is not set ("kiali").

type KialiDashboardConfig

type KialiDashboardConfig struct {
	// ViewOnly configures view_only_mode for the dashboard
	// .Values.kiali.dashboard.viewOnlyMode
	// +optional
	ViewOnly *bool `json:"viewOnly,omitempty"`
	// XXX: should the user have a choice here, or should these be configured
	// automatically if they are enabled for the control plane installation?
	// Grafana endpoint will be configured based on Grafana configuration
	// +optional
	EnableGrafana *bool `json:"enableGrafana,omitempty"`
	// Prometheus endpoint will be configured based on Prometheus configuration
	// +optional
	EnablePrometheus *bool `json:"enablePrometheus,omitempty"`
	// Tracing endpoint will be configured based on Tracing configuration
	// +optional
	EnableTracing *bool `json:"enableTracing,omitempty"`
}

KialiDashboardConfig configures the behavior of the kiali dashboard

func (*KialiDashboardConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KialiDashboardConfig.

func (*KialiDashboardConfig) DeepCopyInto

func (in *KialiDashboardConfig) DeepCopyInto(out *KialiDashboardConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KialiDeploymentConfig

type KialiDeploymentConfig struct {
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// If specified, the kiali pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

KialiDeploymentConfig configures the kiali deployment +deprecated Deprecated: Use runtime.components.kiali instead.

func (*KialiDeploymentConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KialiDeploymentConfig.

func (*KialiDeploymentConfig) DeepCopyInto

func (in *KialiDeploymentConfig) DeepCopyInto(out *KialiDeploymentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KialiInstallConfig

type KialiInstallConfig struct {
	// Dashboard configures the behavior of the kiali dashboard.
	// +optional
	Dashboard *KialiDashboardConfig `json:"dashboard,omitempty"`
	// Service is used to configure the k8s Service associated with the kiali
	// installation.
	// XXX: provided for upstream support, only ingress is used, and then only
	// for enablement and contextPath
	// +optional
	Service *ComponentServiceConfig `json:"service,omitempty"`

	// Deployment configures the kiali deployment.
	// +optional
	// +deprecated
	Deployment *KialiDeploymentConfig `json:"deployment,omitempty"`
}

KialiInstallConfig is used to configure a kiali installation

func (*KialiInstallConfig) DeepCopy

func (in *KialiInstallConfig) DeepCopy() *KialiInstallConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KialiInstallConfig.

func (*KialiInstallConfig) DeepCopyInto

func (in *KialiInstallConfig) DeepCopyInto(out *KialiInstallConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LightstepTracerConfig

type LightstepTracerConfig struct {
}

LightstepTracerConfig configures a Lightstep tracer for use with the mesh

func (*LightstepTracerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LightstepTracerConfig.

func (*LightstepTracerConfig) DeepCopyInto

func (in *LightstepTracerConfig) DeepCopyInto(out *LightstepTracerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogLevel

type LogLevel string

LogLevel represents the logging level

const (
	// LogLevelTrace trace logging level
	LogLevelTrace LogLevel = "trace"
	// LogLevelDebug debug logging level
	LogLevelDebug LogLevel = "debug"
	// LogLevelInfo info logging level
	LogLevelInfo LogLevel = "info"
	// LogLevelWarning warning logging level
	LogLevelWarning LogLevel = "warn"
	// LogLevelWarningProxy proxy warning logging level
	LogLevelWarningProxy LogLevel = "warning"
	// LogLevelError error logging level
	LogLevelError LogLevel = "error"
	// LogLevelCritical critical logging level
	LogLevelCritical LogLevel = "critical"
	// LogLevelOff disable logging
	LogLevelOff LogLevel = "off"
)

type LoggingConfig

type LoggingConfig struct {
	// ComponentLevels configures log level for specific envoy components
	// .Values.global.proxy.componentLogLevel, overridden by sidecar.istio.io/componentLogLevel
	// map of <component>:<level>
	// +optional
	ComponentLevels ComponentLogLevels `json:"componentLevels,omitempty"`
	// LogAsJSON enables JSON logging
	// .Values.global.logAsJson
	// +optional
	LogAsJSON *bool `json:"logAsJSON,omitempty"`
}

LoggingConfig for control plane components

func (*LoggingConfig) DeepCopy

func (in *LoggingConfig) DeepCopy() *LoggingConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingConfig.

func (*LoggingConfig) DeepCopyInto

func (in *LoggingConfig) DeepCopyInto(out *LoggingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MeshEndpointConfig

type MeshEndpointConfig struct {
	// +optional
	FromRegistry string `json:"fromRegistry,omitempty"`
	// +optional
	FromCIDR string `json:"fromCIDR,omitempty"`
}

MeshEndpointConfig specifies the endpoint of a mesh network. Only one of FromRegistry or FromCIDR may be specified

func (*MeshEndpointConfig) DeepCopy

func (in *MeshEndpointConfig) DeepCopy() *MeshEndpointConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshEndpointConfig.

func (*MeshEndpointConfig) DeepCopyInto

func (in *MeshEndpointConfig) DeepCopyInto(out *MeshEndpointConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MeshExpansionConfig

type MeshExpansionConfig struct {
	Enablement `json:",inline"`
	// .Values.global.meshExpansion.useILB, true if not null, otherwise uses ingress gateway
	// +optional
	ILBGateway *GatewayConfig `json:"ilbGateway,omitempty"`
}

MeshExpansionConfig configures aspects related to mesh expansion

func (*MeshExpansionConfig) DeepCopy

func (in *MeshExpansionConfig) DeepCopy() *MeshExpansionConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshExpansionConfig.

func (*MeshExpansionConfig) DeepCopyInto

func (in *MeshExpansionConfig) DeepCopyInto(out *MeshExpansionConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MeshGatewayConfig

type MeshGatewayConfig struct {
	// +optional
	// +deprecated
	Service string `json:"service,omitempty"`
	// +optional
	RegistryServiceName string `json:"registryServiceName,omitempty"`
	// +optional
	Address string `json:"address,omitempty"`
	// +optional
	Port int32 `json:"port,omitempty"`
}

MeshGatewayConfig specifies the gateway which should be used for accessing the network

func (*MeshGatewayConfig) DeepCopy

func (in *MeshGatewayConfig) DeepCopy() *MeshGatewayConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshGatewayConfig.

func (*MeshGatewayConfig) DeepCopyInto

func (in *MeshGatewayConfig) DeepCopyInto(out *MeshGatewayConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MeshNetworkConfig

type MeshNetworkConfig struct {
	Endpoints []MeshEndpointConfig `json:"endpoints,omitempty"`
	Gateways  []MeshGatewayConfig  `json:"gateways,omitempty"`
}

MeshNetworkConfig configures mesh networks for a multi-cluster mesh.

func (*MeshNetworkConfig) DeepCopy

func (in *MeshNetworkConfig) DeepCopy() *MeshNetworkConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeshNetworkConfig.

func (*MeshNetworkConfig) DeepCopyInto

func (in *MeshNetworkConfig) DeepCopyInto(out *MeshNetworkConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataConfig

type MetadataConfig struct {
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

MetadataConfig represents additional metadata to be applied to resources

func (*MetadataConfig) DeepCopy

func (in *MetadataConfig) DeepCopy() *MetadataConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataConfig.

func (*MetadataConfig) DeepCopyInto

func (in *MetadataConfig) DeepCopyInto(out *MetadataConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MixerPolicyAdaptersConfig

type MixerPolicyAdaptersConfig struct {
	// UseAdapterCRDs configures mixer to support deprecated mixer CRDs.
	// .Values.mixer.policy.adapters.useAdapterCRDs, removed in istio 1.4, defaults to false
	// Only supported in v1.0, where it defaulted to true
	// +optional
	UseAdapterCRDs *bool `json:"useAdapterCRDs,omitempty"`
	// Kubernetesenv configures the use of the kubernetesenv adapter.
	// .Values.mixer.policy.adapters.kubernetesenv.enabled, defaults to true
	// +optional
	KubernetesEnv *bool `json:"kubernetesenv,omitempty"`
}

MixerPolicyAdaptersConfig configures policy adapters for mixer.

func (*MixerPolicyAdaptersConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixerPolicyAdaptersConfig.

func (*MixerPolicyAdaptersConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MixerPolicyConfig

type MixerPolicyConfig struct {
	// EnableChecks configures whether or not policy checks should be enabled.
	// .Values.global.disablePolicyChecks | default "true" (false, inverted logic)
	// Set the following variable to false to disable policy checks by the Mixer.
	// Note that metrics will still be reported to the Mixer.
	// +optional
	EnableChecks *bool `json:"enableChecks,omitempty"`
	// FailOpen configures policy checks to fail if mixer cannot be reached.
	// .Values.global.policyCheckFailOpen, maps to MeshConfig.policyCheckFailOpen
	// policyCheckFailOpen allows traffic in cases when the mixer policy service cannot be reached.
	// Default is false which means the traffic is denied when the client is unable to connect to Mixer.
	// +optional
	FailOpen *bool `json:"failOpen,omitempty"`
	// SessionAffinity configures session affinity for sidecar policy connections.
	// .Values.mixer.policy.sessionAffinityEnabled
	// +optional
	SessionAffinity *bool `json:"sessionAffinity,omitempty"`
	// Adapters configures available adapters.
	// +optional
	Adapters *MixerPolicyAdaptersConfig `json:"adapters,omitempty"`
}

MixerPolicyConfig configures a mixer implementation for policy .Values.mixer.policy.enabled

func (*MixerPolicyConfig) DeepCopy

func (in *MixerPolicyConfig) DeepCopy() *MixerPolicyConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixerPolicyConfig.

func (*MixerPolicyConfig) DeepCopyInto

func (in *MixerPolicyConfig) DeepCopyInto(out *MixerPolicyConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MixerTelemetryAdaptersConfig

type MixerTelemetryAdaptersConfig struct {
	// UseAdapterCRDs specifies whether or not mixer should support deprecated CRDs.
	// .Values.mixer.adapters.useAdapterCRDs, removed in istio 1.4, defaults to false
	// XXX: i think this can be removed completely
	// +optional
	UseAdapterCRDs *bool `json:"useAdapterCRDs,omitempty"`
	// KubernetesEnv enables support for the kubernetesenv adapter.
	// .Values.mixer.adapters.kubernetesenv.enabled, defaults to true
	// +optional
	KubernetesEnv *bool `json:"kubernetesenv,omitempty"`
	// Stdio enables and configures the stdio adapter.
	// +optional
	Stdio *MixerTelemetryStdioConfig `json:"stdio,omitempty"`
}

MixerTelemetryAdaptersConfig is the configuration for mixer telemetry adapters.

func (*MixerTelemetryAdaptersConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixerTelemetryAdaptersConfig.

func (*MixerTelemetryAdaptersConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MixerTelemetryConfig

type MixerTelemetryConfig struct {
	// SessionAffinity configures session affinity for sidecar telemetry connections.
	// .Values.mixer.telemetry.sessionAffinityEnabled, maps to MeshConfig.sidecarToTelemetrySessionAffinity
	// +optional
	SessionAffinity *bool `json:"sessionAffinity,omitempty"`
	// Loadshedding configuration for telemetry
	// .Values.mixer.telemetry.loadshedding
	// +optional
	Loadshedding *TelemetryLoadSheddingConfig `json:"loadshedding,omitempty"`
	// Batching settings used when sending telemetry.
	// +optional
	Batching *TelemetryBatchingConfig `json:"batching,omitempty"`
	// Adapters configures the adapters used by mixer telemetry.
	// +optional
	Adapters *MixerTelemetryAdaptersConfig `json:"adapters,omitempty"`
}

MixerTelemetryConfig is the configuration for legacy, v1 mixer telemetry. .Values.telemetry.v1.enabled

func (*MixerTelemetryConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixerTelemetryConfig.

func (*MixerTelemetryConfig) DeepCopyInto

func (in *MixerTelemetryConfig) DeepCopyInto(out *MixerTelemetryConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MixerTelemetryStdioConfig

type MixerTelemetryStdioConfig struct {
	// .Values.mixer.adapters.stdio.enabled
	Enablement `json:",inline"`
	// OutputAsJSON if true.
	// .Values.mixer.adapters.stdio.outputAsJson, defaults to false
	// +optional
	OutputAsJSON *bool `json:"outputAsJSON,omitempty"`
}

MixerTelemetryStdioConfig configures the stdio adapter for mixer telemetry.

func (*MixerTelemetryStdioConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixerTelemetryStdioConfig.

func (*MixerTelemetryStdioConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultiClusterConfig

type MultiClusterConfig struct {
	Enablement `json:",inline"`
	// .Values.global.meshNetworks
	// XXX: if non-empty, local cluster network should be configured as:
	//  <spec.cluster.network>:
	//      endpoints:
	//      - fromRegistry: <spec.cluster.name>
	//      gateways:
	//      - service: <ingress-gateway-service-name>
	//        port: 443 # mtls port
	// +optional
	MeshNetworks map[string]MeshNetworkConfig `json:"meshNetworks,omitempty"`
}

MultiClusterConfig configures aspects related to multi-cluster. implies the following: adds external to RequestedNetworkView (ISTIO_META_REQUESTED_NETWORK_VIEW) for egress gateway adds "global" and "{{ valueOrDefault .DeploymentMeta.Namespace \"default\" }}.global" to pod dns search suffixes

func (*MultiClusterConfig) DeepCopy

func (in *MultiClusterConfig) DeepCopy() *MultiClusterConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterConfig.

func (*MultiClusterConfig) DeepCopyInto

func (in *MultiClusterConfig) DeepCopyInto(out *MultiClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenShiftRouteConfig

type OpenShiftRouteConfig struct {
	Enablement `json:",inline"`
}

OpenShiftRouteConfig represents the Gateway ↔ OpenShift Route integration

func (*OpenShiftRouteConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenShiftRouteConfig.

func (*OpenShiftRouteConfig) DeepCopyInto

func (in *OpenShiftRouteConfig) DeepCopyInto(out *OpenShiftRouteConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodAntiAffinity

type PodAntiAffinity struct {
	*corev1.PodAntiAffinity `json:",inline"`

	// +optional
	RequiredDuringScheduling []PodAntiAffinityTerm `json:"requiredDuringScheduling,omitempty"`
	// +optional
	PreferredDuringScheduling []PodAntiAffinityTerm `json:"preferredDuringScheduling,omitempty"`
}

PodAntiAffinity configures anti affinity for pod scheduling

func (*PodAntiAffinity) DeepCopy

func (in *PodAntiAffinity) DeepCopy() *PodAntiAffinity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodAntiAffinity.

func (*PodAntiAffinity) DeepCopyInto

func (in *PodAntiAffinity) DeepCopyInto(out *PodAntiAffinity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodAntiAffinityTerm

type PodAntiAffinityTerm struct {
	metav1.LabelSelectorRequirement `json:",inline"`
	// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
	// the labelSelector in the specified namespaces, where co-located is defined as running on a node
	// whose value of the label with key topologyKey matches that of any node on which any of the
	// selected pods is running.
	// Empty topologyKey is not allowed.
	// +optional
	TopologyKey string `json:"topologyKey,omitempty"`
}

PodAntiAffinityTerm is a simplified version of corev1.PodAntiAffinityTerm

func (*PodAntiAffinityTerm) DeepCopy

func (in *PodAntiAffinityTerm) DeepCopy() *PodAntiAffinityTerm

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodAntiAffinityTerm.

func (*PodAntiAffinityTerm) DeepCopyInto

func (in *PodAntiAffinityTerm) DeepCopyInto(out *PodAntiAffinityTerm)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodDisruptionBudget

type PodDisruptionBudget struct {
	Enablement `json:",inline"`
	// +optional
	MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"`
	// +optional
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

PodDisruptionBudget details XXX: currently only configurable globally (i.e. no component values.yaml equivalent)

func (*PodDisruptionBudget) DeepCopy

func (in *PodDisruptionBudget) DeepCopy() *PodDisruptionBudget

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodDisruptionBudget.

func (*PodDisruptionBudget) DeepCopyInto

func (in *PodDisruptionBudget) DeepCopyInto(out *PodDisruptionBudget)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodRuntimeConfig

type PodRuntimeConfig struct {
	CommonPodRuntimeConfig `json:",inline"`

	// Metadata allows additional annotations/labels to be applied to the pod
	// .Values.*.podAnnotations
	// XXX: currently, additional lables are not supported
	// +optional
	Metadata *MetadataConfig `json:"metadata,omitempty"`

	// If specified, the pod's scheduling constraints
	// +optional
	// .Values.podAntiAffinityLabelSelector, podAntiAffinityTermLabelSelector, nodeSelector
	// NodeAffinity is not supported at this time
	// PodAffinity is not supported at this time
	Affinity *Affinity `json:"affinity,omitempty"`
}

PodRuntimeConfig is used to customize pod configuration for a component

func (*PodRuntimeConfig) DeepCopy

func (in *PodRuntimeConfig) DeepCopy() *PodRuntimeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodRuntimeConfig.

func (*PodRuntimeConfig) DeepCopyInto

func (in *PodRuntimeConfig) DeepCopyInto(out *PodRuntimeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyConfig

type PolicyConfig struct {
	// Required, the policy implementation
	// defaults to Istiod 1.6+, Mixer pre-1.6
	Type PolicyType `json:"type,omitempty"`
	// Mixer configuration (legacy, v1)
	// .Values.mixer.policy.enabled
	// +optional
	Mixer *MixerPolicyConfig `json:"mixer,omitempty"`
	// Remote mixer configuration (legacy, v1)
	// .Values.global.remotePolicyAddress
	// +optional
	Remote *RemotePolicyConfig `json:"remote,omitempty"`
}

PolicyConfig configures policy aspects of the mesh.

func (*PolicyConfig) DeepCopy

func (in *PolicyConfig) DeepCopy() *PolicyConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyConfig.

func (*PolicyConfig) DeepCopyInto

func (in *PolicyConfig) DeepCopyInto(out *PolicyConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyType

type PolicyType string

PolicyType represents the type of policy implementation used by the mesh.

const (
	// PolicyTypeNone represents disabling of policy
	// XXX: note, this doesn't appear to affect Istio 1.6, i.e. no different than Istiod setting
	PolicyTypeNone PolicyType = "None"
	// PolicyTypeMixer represents mixer, v1 implementation
	PolicyTypeMixer PolicyType = "Mixer"
	// PolicyTypeRemote represents remote mixer, v1 implementation
	PolicyTypeRemote PolicyType = "Remote"
	// PolicyTypeIstiod represents istio, v2 implementation
	PolicyTypeIstiod PolicyType = "Istiod"
)

type PrometheusAddonConfig

type PrometheusAddonConfig struct {
	Enablement `json:",inline"`
	// MetricsExpiryDuration is the duration to hold metrics. (mixer/v1 only)
	// .Values.mixer.adapters.prometheus.metricsExpiryDuration, defaults to 10m
	// +optional
	MetricsExpiryDuration string `json:"metricsExpiryDuration,omitempty"`
	// Scrape metrics from the pod if true. (maistra-2.0+)
	// defaults to true
	// .Values.meshConfig.enablePrometheusMerge
	// +optional
	Scrape *bool `json:"scrape,omitempty"`
	// Install configuration if not using an existing prometheus installation.
	// .Values.prometheus.enabled, if not null
	// +optional
	Install *PrometheusInstallConfig `json:"install,omitempty"`
	// Address of existing prometheus installation
	// implies .Values.kiali.prometheusAddr
	// XXX: do we need to do anything to configure credentials for accessing
	// the prometheus server?
	// +optional
	Address *string `json:"address,omitempty"`
}

PrometheusAddonConfig configures a prometheus instance to be used by the control plane. Only one of Install or Address may be specified

func (*PrometheusAddonConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusAddonConfig.

func (*PrometheusAddonConfig) DeepCopyInto

func (in *PrometheusAddonConfig) DeepCopyInto(out *PrometheusAddonConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PrometheusInstallConfig

type PrometheusInstallConfig struct {
	// SelfManaged specifies whether or not the entire install should be managed
	// by Maistra (true) or the Prometheus operator (false, not supported).
	// Governs use of either prometheus charts or prometheusOperator charts.
	// +optional
	SelfManaged bool `json:"selfManaged,omitempty"`
	// Retention specifies how long metrics should be retained by prometheus.
	// .Values.prometheus.retention, defaults to 6h
	// +optional
	Retention string `json:"retention,omitempty"`
	// ScrapeInterval specifies how frequently prometheus should scrape pods for
	// metrics.
	// .Values.prometheus.scrapeInterval, defaults to 15s
	// +optional
	ScrapeInterval string `json:"scrapeInterval,omitempty"`
	// Service allows for customization of the k8s Service associated with the
	// prometheus installation.
	// +optional
	Service *ComponentServiceConfig `json:"service,omitempty"`
	// UseTLS for the prometheus server
	// .Values.prometheus.provisionPrometheusCert
	// 1.6+
	// ProvisionCert bool
	// this seems to overlap with provision cert, as this manifests something similar to the above
	// .Values.prometheus.security.enabled, version < 1.6
	// EnableSecurity bool
	// +optional
	UseTLS *bool `json:"useTLS,omitempty"`
}

PrometheusInstallConfig represents the configuration to be applied when installing a new instance of prometheus for use with the mesh.

func (*PrometheusInstallConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusInstallConfig.

func (*PrometheusInstallConfig) DeepCopyInto

func (in *PrometheusInstallConfig) DeepCopyInto(out *PrometheusInstallConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyAccessLoggingConfig

type ProxyAccessLoggingConfig struct {
	// File configures access logging to the file system
	// +optional
	File *ProxyFileAccessLogConfig `json:"file,omitempty"`
	// File configures access logging to an envoy service
	// .Values.global.proxy.envoyAccessLogService
	// +optional
	EnvoyService *ProxyEnvoyServiceConfig `json:"envoyService,omitempty"`
}

ProxyAccessLoggingConfig configures access logging for proxies. Multiple access logs can be configured.

func (*ProxyAccessLoggingConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyAccessLoggingConfig.

func (*ProxyAccessLoggingConfig) DeepCopyInto

func (in *ProxyAccessLoggingConfig) DeepCopyInto(out *ProxyAccessLoggingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyConfig

type ProxyConfig struct {
	// Logging configures logging for the sidecar.
	// e.g. .Values.global.proxy.logLevel
	// +optional
	Logging *ProxyLoggingConfig `json:"logging,omitempty"`
	// Networking represents network settings to be configured for the sidecars.
	// +optional
	Networking *ProxyNetworkingConfig `json:"networking,omitempty"`
	// Runtime is used to customize runtime configuration for the sidecar container.
	// +optional
	Runtime *ProxyRuntimeConfig `json:"runtime,omitempty"`
	// Injection is used to customize sidecar injection for the mesh.
	// +optional
	Injection *ProxyInjectionConfig `json:"injection,omitempty"`
	// AdminPort configures the admin port exposed by the sidecar.
	// maps to defaultConfig.proxyAdminPort, defaults to 15000
	// XXX: currently not configurable in charts
	// +optional
	AdminPort int32 `json:"adminPort,omitempty"`
	// Concurrency configures the number of threads that should be run by the sidecar.
	// .Values.global.proxy.concurrency, maps to defaultConfig.concurrency
	// XXX: removed in 1.7
	// XXX: this is defaulted to 2 in our values.yaml, but should probably be 0
	// +optional
	Concurrency *int32 `json:"concurrency,omitempty"`
	// AccessLogging configures access logging for proxies.
	// +optional
	AccessLogging *ProxyAccessLoggingConfig `json:"accessLogging,omitempty"`
	// EnvoyMetricsService configures reporting of Envoy metrics to an external
	// service.
	// .Values.global.proxy.envoyMetricsService
	// +optional
	EnvoyMetricsService *ProxyEnvoyServiceConfig `json:"envoyMetricsService,omitempty"`
}

ProxyConfig configures the default sidecar behavior for workloads.

func (*ProxyConfig) DeepCopy

func (in *ProxyConfig) DeepCopy() *ProxyConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfig.

func (*ProxyConfig) DeepCopyInto

func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyDNSConfig

type ProxyDNSConfig struct {
	// SearchSuffixes are additional search suffixes to be used when resolving
	// names.
	// .Values.global.podDNSSearchNamespaces
	// Custom DNS config for the pod to resolve names of services in other
	// clusters. Use this to add additional search domains, and other settings.
	// see
	// https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config
	// This does not apply to gateway pods as they typically need a different
	// set of DNS settings than the normal application pods (e.g., in
	// multicluster scenarios).
	// NOTE: If using templates, follow the pattern in the commented example below.
	//    podDNSSearchNamespaces:
	//    - global
	//    - "{{ valueOrDefault .DeploymentMeta.Namespace \"default\" }}.global"
	// +optional
	SearchSuffixes []string `json:"searchSuffixes,omitempty"`
	// RefreshRate configures the DNS refresh rate for Envoy cluster of type STRICT_DNS
	// This must be given it terms of seconds. For example, 300s is valid but 5m is invalid.
	// .Values.global.proxy.dnsRefreshRate, default 300s
	// +optional
	RefreshRate string `json:"refreshRate,omitempty"`
}

ProxyDNSConfig is used to configure aspects of the sidecar's DNS usage.

func (*ProxyDNSConfig) DeepCopy

func (in *ProxyDNSConfig) DeepCopy() *ProxyDNSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyDNSConfig.

func (*ProxyDNSConfig) DeepCopyInto

func (in *ProxyDNSConfig) DeepCopyInto(out *ProxyDNSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyEnvoyServiceConfig

type ProxyEnvoyServiceConfig struct {
	// Enable sending Envoy metrics to the service.
	// .Values.global.proxy.(envoyAccessLogService|envoyMetricsService).enabled
	Enablement `json:",inline"`
	// Address of the service specified as host:port.
	// .Values.global.proxy.(envoyAccessLogService|envoyMetricsService).host
	// .Values.global.proxy.(envoyAccessLogService|envoyMetricsService).port
	// +optional
	Address string `json:"address,omitempty"`
	// TCPKeepalive configures keepalive settings to use when connecting to the
	// service.
	// .Values.global.proxy.(envoyAccessLogService|envoyMetricsService).tcpKeepalive
	// +optional
	TCPKeepalive *EnvoyServiceTCPKeepalive `json:"tcpKeepalive,omitempty"`
	// TLSSettings configures TLS settings to use when connecting to the service.
	// .Values.global.proxy.(envoyAccessLogService|envoyMetricsService).tlsSettings
	// +optional
	TLSSettings *EnvoyServiceClientTLSSettings `json:"tlsSettings,omitempty"`
}

ProxyEnvoyServiceConfig configures reporting to an external Envoy service.

func (*ProxyEnvoyServiceConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyEnvoyServiceConfig.

func (*ProxyEnvoyServiceConfig) DeepCopyInto

func (in *ProxyEnvoyServiceConfig) DeepCopyInto(out *ProxyEnvoyServiceConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyFileAccessLogConfig

type ProxyFileAccessLogConfig struct {
	// Name is the name of the file to which access log entries will be written.
	// If Name is not specified, no log entries will be written to a file.
	// .Values.global.proxy.accessLogFile
	// +optional
	Name string `json:"name,omitempty"`
	// Encoding to use when writing access log entries.  Currently, JSON or TEXT
	// may be specified.
	// .Values.global.proxy.accessLogEncoding
	// +optional
	Encoding string `json:"encoding,omitempty"`
	// Format to use when writing access log entries.
	// .Values.global.proxy.accessLogFormat
	// +optional
	Format string `json:"format,omitempty"`
}

ProxyFileAccessLogConfig configures details related to file access log

func (*ProxyFileAccessLogConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyFileAccessLogConfig.

func (*ProxyFileAccessLogConfig) DeepCopyInto

func (in *ProxyFileAccessLogConfig) DeepCopyInto(out *ProxyFileAccessLogConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyInboundTrafficControlConfig

type ProxyInboundTrafficControlConfig struct {
	// InterceptionMode specifies how traffic is directed through the sidecar.
	// maps to meshConfig.defaultConfig.interceptionMode, overridden by sidecar.istio.io/interceptionMode
	// XXX: currently not configurable through values.yaml
	// +optional
	InterceptionMode ProxyNetworkInterceptionMode `json:"interceptionMode,omitempty"`
	// IncludedPorts to be routed through the sidecar. * or comma separated list of integers
	// .Values.global.proxy.includeInboundPorts, defaults to * (all ports), overridden by traffic.sidecar.istio.io/includeInboundPorts
	// +optional
	IncludedPorts []string `json:"includedPorts,omitempty"`
	// ExcludedPorts to be routed around the sidecar.
	// .Values.global.proxy.excludeInboundPorts, defaults to empty list, overridden by traffic.sidecar.istio.io/excludeInboundPorts
	// +optional
	ExcludedPorts []int32 `json:"excludedPorts,omitempty"`
}

ProxyInboundTrafficControlConfig configures what inbound traffic is routed through the sidecar.

func (*ProxyInboundTrafficControlConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyInboundTrafficControlConfig.

func (*ProxyInboundTrafficControlConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyInitContainerConfig

type ProxyInitContainerConfig struct {
	// Runtime configures customization of the init container (e.g. resources)
	// +optional
	Runtime *ContainerConfig `json:"runtime,omitempty"`
}

ProxyInitContainerConfig configures execution aspects for the init container

func (*ProxyInitContainerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyInitContainerConfig.

func (*ProxyInitContainerConfig) DeepCopyInto

func (in *ProxyInitContainerConfig) DeepCopyInto(out *ProxyInitContainerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyInjectionConfig

type ProxyInjectionConfig struct {
	// AutoInject configures automatic injection of sidecar proxies
	// .Values.global.proxy.autoInject
	// .Values.sidecarInjectorWebhook.enableNamespacesByDefault
	// +optional
	AutoInject *bool `json:"autoInject,omitempty"`
	// AlwaysInjectSelector allows specification of a label selector that when
	// matched will always inject a sidecar into the pod.
	// .Values.sidecarInjectorWebhook.alwaysInjectSelector
	// +optional
	AlwaysInjectSelector []metav1.LabelSelector `json:"alwaysInjectSelector,omitempty"`
	// NeverInjectSelector allows specification of a label selector that when
	// matched will never inject a sidecar into the pod.  This takes precedence
	// over AlwaysInjectSelector.
	// .Values.sidecarInjectorWebhook.neverInjectSelector
	// +optional
	NeverInjectSelector []metav1.LabelSelector `json:"neverInjectSelector,omitempty"`
	// InjectedAnnotations allows specification of additional annotations to be
	// added to pods that have sidecars injected in them.
	// .Values.sidecarInjectorWebhook.injectedAnnotations
	// +optional
	InjectedAnnotations map[string]string `json:"injectedAnnotations,omitempty"`
}

ProxyInjectionConfig configures sidecar injection for the mesh.

func (*ProxyInjectionConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyInjectionConfig.

func (*ProxyInjectionConfig) DeepCopyInto

func (in *ProxyInjectionConfig) DeepCopyInto(out *ProxyInjectionConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyLoggingConfig

type ProxyLoggingConfig struct {
	// Level the log level
	// .Values.global.proxy.logLevel, overridden by sidecar.istio.io/logLevel
	// +optional
	Level LogLevel `json:"level,omitempty"`
	// ComponentLevels configures log level for specific envoy components
	// .Values.global.proxy.componentLogLevel, overridden by sidecar.istio.io/componentLogLevel
	// map of <component>:<level>
	// +optional
	ComponentLevels ComponentLogLevels `json:"componentLevels,omitempty"`
}

ProxyLoggingConfig configures logging for a component

func (*ProxyLoggingConfig) DeepCopy

func (in *ProxyLoggingConfig) DeepCopy() *ProxyLoggingConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyLoggingConfig.

func (*ProxyLoggingConfig) DeepCopyInto

func (in *ProxyLoggingConfig) DeepCopyInto(out *ProxyLoggingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyNetworkAutoProtocolDetectionConfig

type ProxyNetworkAutoProtocolDetectionConfig struct {
	// DetectionTimeout specifies how much time the sidecar will spend determining
	// the protocol being used for the connection before reverting to raw TCP.
	// .Values.global.proxy.protocolDetectionTimeout, maps to protocolDetectionTimeout
	// +optional
	Timeout string `json:"timeout,omitempty"`
	// EnableInboundSniffing enables protocol sniffing on inbound traffic.
	// .Values.pilot.enableProtocolSniffingForInbound
	// only supported for v1.1
	// +optional
	Inbound *bool `json:"inbound,omitempty"`
	// EnableOutboundSniffing enables protocol sniffing on outbound traffic.
	// .Values.pilot.enableProtocolSniffingForOutbound
	// only supported for v1.1
	// +optional
	Outbound *bool `json:"outbound,omitempty"`
}

ProxyNetworkAutoProtocolDetectionConfig configures automatic protocol detection for the proxies.

func (*ProxyNetworkAutoProtocolDetectionConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyNetworkAutoProtocolDetectionConfig.

func (*ProxyNetworkAutoProtocolDetectionConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyNetworkInitConfig

type ProxyNetworkInitConfig struct {
	// Type of the network initialization implementation.
	Type ProxyNetworkInitType `json:"type,omitempty"`
	// InitContainer configures the use of a pod init container for initializing
	// the pod's networking.
	// istio_cni.enabled = false, if InitContainer is used
	// +optional
	InitContainer *ProxyInitContainerConfig `json:"initContainer,omitempty"`
}

ProxyNetworkInitConfig is used to configure how the pod's networking through the proxy is initialized.

func (*ProxyNetworkInitConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyNetworkInitConfig.

func (*ProxyNetworkInitConfig) DeepCopyInto

func (in *ProxyNetworkInitConfig) DeepCopyInto(out *ProxyNetworkInitConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyNetworkInitType

type ProxyNetworkInitType string

ProxyNetworkInitType represents the type of initializer to use for network initialization

const (
	// ProxyNetworkInitTypeCNI to use CNI for network initialization
	ProxyNetworkInitTypeCNI ProxyNetworkInitType = "CNI"
	// ProxyNetworkInitTypeInitContainer to use an init container for network initialization
	ProxyNetworkInitTypeInitContainer ProxyNetworkInitType = "InitContainer"
)

type ProxyNetworkInterceptionMode

type ProxyNetworkInterceptionMode string

ProxyNetworkInterceptionMode represents the InterceptMode types.

const (
	// ProxyNetworkInterceptionModeRedirect requests iptables use REDIRECT to route inbound traffic through the sidecar.
	ProxyNetworkInterceptionModeRedirect ProxyNetworkInterceptionMode = "REDIRECT"
	// ProxyNetworkInterceptionModeTProxy requests iptables use TPROXY to route inbound traffic through the sidecar.
	ProxyNetworkInterceptionModeTProxy ProxyNetworkInterceptionMode = "TPROXY"
)

type ProxyNetworkProtocolConfig

type ProxyNetworkProtocolConfig struct {
	// AutoDetect configures automatic detection of connection protocols.
	// +optional
	AutoDetect *ProxyNetworkAutoProtocolDetectionConfig `json:"autoDetect,omitempty"`
}

ProxyNetworkProtocolConfig configures the sidecar's protocol handling.

func (*ProxyNetworkProtocolConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyNetworkProtocolConfig.

func (*ProxyNetworkProtocolConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyNetworkingConfig

type ProxyNetworkingConfig struct {
	// ClusterDomain represents the domain for the cluster, defaults to cluster.local
	// .Values.global.proxy.clusterDomain
	// +optional
	ClusterDomain string `json:"clusterDomain,omitempty"`
	// maps to meshConfig.defaultConfig.connectionTimeout, defaults to 10s
	// XXX: currently not exposed through values.yaml
	// +optional
	ConnectionTimeout string `json:"connectionTimeout,omitempty"`
	// MaxConnectionAge limits how long a sidecar can be connected to pilot.
	// This may be used to balance load across pilot instances, at the cost of
	// system churn.
	// .Values.pilot.keepaliveMaxServerConnectionAge
	// +optional
	MaxConnectionAge string `json:"maxConnectionAge,omitempty"`
	// Initialization is used to specify how the pod's networking through the
	// proxy is initialized.  This configures the use of CNI or an init container.
	// +optional
	Initialization *ProxyNetworkInitConfig `json:"initialization,omitempty"`
	// TrafficControl configures what network traffic is routed through the proxy.
	// +optional
	TrafficControl *ProxyTrafficControlConfig `json:"trafficControl,omitempty"`
	// Protocol configures how the sidecar works with application protocols.
	// +optional
	Protocol *ProxyNetworkProtocolConfig `json:"protocol,omitempty"`
	// DNS configures aspects of the sidecar's usage of DNS
	// +optional
	DNS *ProxyDNSConfig `json:"dns,omitempty"`
}

ProxyNetworkingConfig is used to configure networking aspects of the sidecar.

func (*ProxyNetworkingConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyNetworkingConfig.

func (*ProxyNetworkingConfig) DeepCopyInto

func (in *ProxyNetworkingConfig) DeepCopyInto(out *ProxyNetworkingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyOutboundTrafficControlConfig

type ProxyOutboundTrafficControlConfig struct {
	// IncludedIPRanges specifies which outbound IP ranges should be routed through the sidecar.
	// .Values.global.proxy.includeIPRanges, overridden by traffic.sidecar.istio.io/includeOutboundIPRanges
	// * or comma separated list of CIDR
	// +optional
	IncludedIPRanges []string `json:"includedIPRanges,omitempty"`
	// ExcludedIPRanges specifies which outbound IP ranges should _not_ be routed through the sidecar.
	// .Values.global.proxy.excludeIPRanges, overridden by traffic.sidecar.istio.io/excludeOutboundIPRanges
	// * or comma separated list of CIDR
	// +optional
	ExcludedIPRanges []string `json:"excludedIPRanges,omitempty"`
	// ExcludedPorts specifies which outbound ports should _not_ be routed through the sidecar.
	// .Values.global.proxy.excludeOutboundPorts, overridden by traffic.sidecar.istio.io/excludeOutboundPorts
	// comma separated list of integers
	// +optional
	ExcludedPorts []int32 `json:"excludedPorts,omitempty"`
	// Policy specifies what outbound traffic is allowed through the sidecar.
	// .Values.global.outboundTrafficPolicy.mode
	// +optional
	Policy ProxyOutboundTrafficPolicy `json:"policy,omitempty"`
}

ProxyOutboundTrafficControlConfig configure what outbound traffic is routed through the sidecar

func (*ProxyOutboundTrafficControlConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyOutboundTrafficControlConfig.

func (*ProxyOutboundTrafficControlConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyOutboundTrafficPolicy

type ProxyOutboundTrafficPolicy string

ProxyOutboundTrafficPolicy represents the outbound traffic policy type.

const (
	// ProxyOutboundTrafficPolicyAllowAny allows all traffic through the sidecar.
	ProxyOutboundTrafficPolicyAllowAny ProxyOutboundTrafficPolicy = "ALLOW_ANY"
	// ProxyOutboundTrafficPolicyRegistryOnly only allows traffic destined for a
	// service in the service registry through the sidecar.  This limits outbound
	// traffic to only other services in the mesh.
	ProxyOutboundTrafficPolicyRegistryOnly ProxyOutboundTrafficPolicy = "REGISTRY_ONLY"
)

type ProxyReadinessConfig

type ProxyReadinessConfig struct {
	// RewriteApplicationProbes specifies whether or not the injector should
	// rewrite application container probes to be routed through the sidecar.
	// .Values.sidecarInjectorWebhook.rewriteAppHTTPProbe, defaults to false
	// rewrite probes for application pods to route through sidecar
	// +optional
	RewriteApplicationProbes bool `json:"rewriteApplicationProbes,omitempty"`
	// StatusPort specifies the port number to be used for status.
	// .Values.global.proxy.statusPort, overridden by status.sidecar.istio.io/port, defaults to 15020
	// Default port for Pilot agent health checks. A value of 0 will disable health checking.
	// XXX: this has no affect on which port is actually used for status.
	// +optional
	StatusPort int32 `json:"statusPort,omitempty"`
	// InitialDelaySeconds specifies the initial delay for the readiness probe
	// .Values.global.proxy.readinessInitialDelaySeconds, overridden by readiness.status.sidecar.istio.io/initialDelaySeconds, defaults to 1
	// +optional
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"`
	// PeriodSeconds specifies the period over which the probe is checked.
	// .Values.global.proxy.readinessPeriodSeconds, overridden by readiness.status.sidecar.istio.io/periodSeconds, defaults to 2
	// +optional
	PeriodSeconds int32 `json:"periodSeconds,omitempty"`
	// FailureThreshold represents the number of consecutive failures before the container is marked as not ready.
	// .Values.global.proxy.readinessFailureThreshold, overridden by readiness.status.sidecar.istio.io/failureThreshold, defaults to 30
	// +optional
	FailureThreshold int32 `json:"failureThreshold,omitempty"`
}

ProxyReadinessConfig configures the readiness probe for the sidecar.

func (*ProxyReadinessConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyReadinessConfig.

func (*ProxyReadinessConfig) DeepCopyInto

func (in *ProxyReadinessConfig) DeepCopyInto(out *ProxyReadinessConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyRuntimeConfig

type ProxyRuntimeConfig struct {
	// Readiness configures the readiness probe behavior for the injected pod.
	// +optional
	Readiness *ProxyReadinessConfig `json:"readiness,omitempty"`
	// Container configures the sidecar container.
	// +optional
	Container *ContainerConfig `json:"container,omitempty"`
}

ProxyRuntimeConfig customizes the runtime parameters of the sidecar container.

func (*ProxyRuntimeConfig) DeepCopy

func (in *ProxyRuntimeConfig) DeepCopy() *ProxyRuntimeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyRuntimeConfig.

func (*ProxyRuntimeConfig) DeepCopyInto

func (in *ProxyRuntimeConfig) DeepCopyInto(out *ProxyRuntimeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyTrafficControlConfig

type ProxyTrafficControlConfig struct {
	// Inbound configures what inbound traffic is routed through the sidecar
	// traffic.sidecar.istio.io/includeInboundPorts defaults to * (all ports)
	// +optional
	Inbound ProxyInboundTrafficControlConfig `json:"inbound,omitempty"`
	// Outbound configures what outbound traffic is routed through the sidecar.
	// +optional
	Outbound ProxyOutboundTrafficControlConfig `json:"outbound,omitempty"`
}

ProxyTrafficControlConfig configures what and how traffic is routed through the sidecar.

func (*ProxyTrafficControlConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTrafficControlConfig.

func (*ProxyTrafficControlConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReadinessMap

type ReadinessMap map[string][]string

func (ReadinessMap) DeepCopy

func (in ReadinessMap) DeepCopy() ReadinessMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessMap.

func (ReadinessMap) DeepCopyInto

func (in ReadinessMap) DeepCopyInto(out *ReadinessMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReadinessStatus

type ReadinessStatus struct {
	// The readiness status of components
	// +optional
	Components ReadinessMap `json:"components,omitempty"`
}

ReadinessStatus contains readiness information for each deployed component.

func (*ReadinessStatus) DeepCopy

func (in *ReadinessStatus) DeepCopy() *ReadinessStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessStatus.

func (*ReadinessStatus) DeepCopyInto

func (in *ReadinessStatus) DeepCopyInto(out *ReadinessStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemotePolicyConfig

type RemotePolicyConfig struct {
	// Address represents the address of the mixer server.
	// .Values.global.remotePolicyAddress, maps to MeshConfig.mixerCheckServer
	Address string `json:"address,omitempty"`
	// CreateServices specifies whether or not a k8s Service should be created for the remote policy server.
	// .Values.global.createRemoteSvcEndpoints
	// +optional
	CreateService *bool `json:"createService,omitempty"`
	// EnableChecks configures whether or not policy checks should be enabled.
	// .Values.global.disablePolicyChecks | default "true" (false, inverted logic)
	// Set the following variable to false to disable policy checks by the Mixer.
	// Note that metrics will still be reported to the Mixer.
	// +optional
	EnableChecks *bool `json:"enableChecks,omitempty"`
	// FailOpen configures policy checks to fail if mixer cannot be reached.
	// .Values.global.policyCheckFailOpen, maps to MeshConfig.policyCheckFailOpen
	// policyCheckFailOpen allows traffic in cases when the mixer policy service cannot be reached.
	// Default is false which means the traffic is denied when the client is unable to connect to Mixer.
	// +optional
	FailOpen *bool `json:"failOpen,omitempty"`
}

RemotePolicyConfig configures a remote mixer instance for policy

func (*RemotePolicyConfig) DeepCopy

func (in *RemotePolicyConfig) DeepCopy() *RemotePolicyConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemotePolicyConfig.

func (*RemotePolicyConfig) DeepCopyInto

func (in *RemotePolicyConfig) DeepCopyInto(out *RemotePolicyConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteTelemetryConfig

type RemoteTelemetryConfig struct {
	// Address is the address of the remote telemetry server
	// .Values.global.remoteTelemetryAddress, maps to MeshConfig.mixerReportServer
	Address string `json:"address,omitempty"`
	// CreateService for the remote server.
	// .Values.global.createRemoteSvcEndpoints
	// +optional
	CreateService *bool `json:"createService,omitempty"`
	// Batching settings used when sending telemetry.
	// +optional
	Batching *TelemetryBatchingConfig `json:"batching,omitempty"`
}

RemoteTelemetryConfig configures a remote, legacy, v1 mixer telemetry. .Values.telemetry.v1.enabled true

func (*RemoteTelemetryConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteTelemetryConfig.

func (*RemoteTelemetryConfig) DeepCopyInto

func (in *RemoteTelemetryConfig) DeepCopyInto(out *RemoteTelemetryConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouterModeType

type RouterModeType string

RouterModeType represents the router modes available.

const (
	// RouterModeTypeSNIDNAT represents sni-dnat router mode
	RouterModeTypeSNIDNAT RouterModeType = "sni-dnat"
	// RouterModeTypeStandard represents standard router mode
	RouterModeTypeStandard RouterModeType = "standard"
)

type SecretDiscoveryService

type SecretDiscoveryService struct {
	Enablement `json:",inline"`
	// Runtime configuration for sds sidecar
	Runtime *ContainerConfig `json:"runtime,omitempty"`
}

SecretDiscoveryService configures whether or not SDS is configured for the gateway

func (*SecretDiscoveryService) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretDiscoveryService.

func (*SecretDiscoveryService) DeepCopyInto

func (in *SecretDiscoveryService) DeepCopyInto(out *SecretDiscoveryService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityConfig

type SecurityConfig struct {
	// Trust configures trust aspects associated with mutual TLS clients.
	// +optional
	Trust *TrustConfig `json:"trust,omitempty"`
	// CertificateAuthority configures the certificate authority used by the
	// control plane to create and sign client certs and server keys.
	// +optional
	CertificateAuthority *CertificateAuthorityConfig `json:"certificateAuthority,omitempty"`
	// Identity configures the types of user tokens used by clients.
	// +optional
	Identity *IdentityConfig `json:"identity,omitempty"`
	// ControlPlane configures mutual TLS for control plane communication.
	// +optional
	ControlPlane *ControlPlaneSecurityConfig `json:"controlPlane,omitempty"`
	// DataPlane configures mutual TLS for data plane communication.
	// +optional
	DataPlane *DataPlaneSecurityConfig `json:"dataPlane,omitempty"`
	// Manages network policies that allows communication between namespace members and control plane, defaults to `true`
	// If false, operator does not create any NetworkPolicy resource, and users are responsible for managing them
	// .Values.global.manageNetworkPolicy
	// +optional
	ManageNetworkPolicy *bool `json:"manageNetworkPolicy,omitempty"`
	// JwksResolverCA is the configuration for injecting a trusted CA into the JWKSResolver.
	// +optional
	JwksResolverCA string `json:"jwksResolverCA,omitempty"`
}

SecurityConfig specifies security aspects of the control plane.

func (*SecurityConfig) DeepCopy

func (in *SecurityConfig) DeepCopy() *SecurityConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityConfig.

func (*SecurityConfig) DeepCopyInto

func (in *SecurityConfig) DeepCopyInto(out *SecurityConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceMeshControlPlane

type ServiceMeshControlPlane struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// The specification of the desired state of this ServiceMeshControlPlane.
	// This includes the configuration options for all components that comprise
	// the control plane.
	// +kubebuilder:validation:Required
	Spec ControlPlaneSpec `json:"spec"`

	// The current status of this ServiceMeshControlPlane and the components
	// that comprise the control plane. This data may be out of date by some
	// window of time.
	// +optional
	Status ControlPlaneStatus `json:"status,omitempty"`
}

ServiceMeshControlPlane is the Schema for the controlplanes API +k8s:openapi-gen=true +kubebuilder:storageversion +kubebuilder:resource:shortName=smcp,categories=maistra-io +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.annotations.readyComponentCount",description="How many of the total number of components are ready" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].reason",description="Whether or not the control plane installation is up to date and ready to handle requests." +kubebuilder:printcolumn:name="Profiles",type="string",JSONPath=".status.appliedSpec.profiles",description="The configuration profiles applied to the configuration." +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".status.chartVersion",description="The actual current version of the control plane installation." +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of the object" +kubebuilder:printcolumn:name="Image Registry",type="string",JSONPath=".status.appliedSpec.runtime.defaults.container.registry",description="The image registry used as the base for all component images.",priority=1

func (*ServiceMeshControlPlane) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMeshControlPlane.

func (*ServiceMeshControlPlane) DeepCopyInto

func (in *ServiceMeshControlPlane) DeepCopyInto(out *ServiceMeshControlPlane)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceMeshControlPlane) DeepCopyObject

func (in *ServiceMeshControlPlane) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceMeshControlPlaneList

type ServiceMeshControlPlaneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ServiceMeshControlPlane `json:"items"`
}

ServiceMeshControlPlaneList contains a list of ServiceMeshControlPlane

func (*ServiceMeshControlPlaneList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMeshControlPlaneList.

func (*ServiceMeshControlPlaneList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceMeshControlPlaneList) DeepCopyObject

func (in *ServiceMeshControlPlaneList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StackdriverAccessLogTelemetryConfig

type StackdriverAccessLogTelemetryConfig struct {
	// Enable installation of access log filter.
	// .Values.telemetry.v2.accessLogPolicy.enabled
	Enablement `json:",inline"`
	// LogWindowDuration configures the log window duration for access logs.
	// defaults to 43200s
	// To reduce the number of successful logs, default log window duration is
	// set to 12 hours.
	// .Values.telemetry.v2.accessLogPolicy.logWindowDuration
	// +optional
	LogWindowDuration string `json:"logWindowDuration,omitempty"`
}

StackdriverAccessLogTelemetryConfig for v2 telemetry.

func (*StackdriverAccessLogTelemetryConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackdriverAccessLogTelemetryConfig.

func (*StackdriverAccessLogTelemetryConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StackdriverAddonConfig

type StackdriverAddonConfig struct {
	// Configuration for Stackdriver tracer.  Applies when Addons.Tracer.Type=Stackdriver
	Tracer *StackdriverTracerConfig `json:"tracer,omitempty"`
	// Configuration for Stackdriver telemetry plugins.  Applies when telemetry
	// is enabled
	Telemetry *StackdriverTelemetryConfig `json:"telemetry,omitempty"`
}

StackdriverAddonConfig configuration specific to Stackdriver integration.

func (*StackdriverAddonConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackdriverAddonConfig.

func (*StackdriverAddonConfig) DeepCopyInto

func (in *StackdriverAddonConfig) DeepCopyInto(out *StackdriverAddonConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StackdriverAuthConfig

type StackdriverAuthConfig struct {
	// AppCredentials if true, use default app credentials.
	// .Values.mixer.adapters.stackdriver.auth.appCredentials, defaults to false
	// +optional
	AppCredentials *bool `json:"appCredentials,omitempty"`
	// APIKey use the specified key.
	// .Values.mixer.adapters.stackdriver.auth.apiKey
	// +optional
	APIKey string `json:"apiKey,omitempty"`
	// ServiceAccountPath use the path to the service account.
	// .Values.mixer.adapters.stackdriver.auth.serviceAccountPath
	// +optional
	ServiceAccountPath string `json:"serviceAccountPath,omitempty"`
}

StackdriverAuthConfig is the auth config for stackdriver. Only one field may be set

func (*StackdriverAuthConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackdriverAuthConfig.

func (*StackdriverAuthConfig) DeepCopyInto

func (in *StackdriverAuthConfig) DeepCopyInto(out *StackdriverAuthConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StackdriverTelemetryConfig

type StackdriverTelemetryConfig struct {
	// Enable installation of Stackdriver telemetry filters (mixer or v2/envoy).
	// These will only be installed if this is enabled an telemetry is enabled.
	Enablement `json:",inline"`
	// Auth configuration for stackdriver adapter (mixer/v1 telemetry only)
	// .Values.mixer.adapters.stackdriver.auth
	// +optional
	Auth *StackdriverAuthConfig `json:"auth,omitempty"`
	// EnableContextGraph for stackdriver adapter (edge reporting)
	// .Values.mixer.adapters.stackdriver.contextGraph.enabled, defaults to false
	// .Values.telemetry.v2.stackdriver.topology, defaults to false
	// +optional
	EnableContextGraph *bool `json:"enableContextGraph,omitempty"`
	// EnableLogging for stackdriver adapter
	// .Values.mixer.adapters.stackdriver.logging.enabled, defaults to true
	// .Values.telemetry.v2.stackdriver.logging, defaults to false
	// +optional
	EnableLogging *bool `json:"enableLogging,omitempty"`
	// EnableMetrics for stackdriver adapter
	// .Values.mixer.adapters.stackdriver.metrics.enabled, defaults to true
	// .Values.telemetry.v2.stackdriver.monitoring??? defaults to false
	// +optional
	EnableMetrics *bool `json:"enableMetrics,omitempty"`
	// DisableOutbound disables intallation of sidecar outbound filter
	// .Values.telemetry.v2.stackdriver.disableOutbound, defaults to false
	// +optional
	// DisableOutbound bool `json:"disableOutbound,omitempty"`
	// AccessLogging configures access logging for stackdriver
	AccessLogging *StackdriverAccessLogTelemetryConfig `json:"accessLogging,omitempty"`
	// ConfigOverride apply custom configuration to Stackdriver filters (v2
	// telemetry only)
	// .Values.telemetry.v2.stackdriver.configOverride
	// +optional
	ConfigOverride *v1.HelmValues `json:"configOverride,omitempty"`
}

StackdriverTelemetryConfig adds telemetry filters for Stackdriver.

func (*StackdriverTelemetryConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackdriverTelemetryConfig.

func (*StackdriverTelemetryConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StackdriverTracerConfig

type StackdriverTracerConfig struct {
	// .Values.global.tracer.stackdriver.debug
	// +optional
	Debug *bool `json:"debug,omitempty"`
	// .Values.global.tracer.stackdriver.maxNumberOfAttributes
	// +optional
	MaxNumberOfAttributes *int64 `json:"maxNumberOfAttributes,omitempty"`
	// .Values.global.tracer.stackdriver.maxNumberOfAnnotations
	// +optional
	MaxNumberOfAnnotations *int64 `json:"maxNumberOfAnnotations,omitempty"`
	// .Values.global.tracer.stackdriver.maxNumberOfMessageEvents
	// +optional
	MaxNumberOfMessageEvents *int64 `json:"maxNumberOfMessageEvents,omitempty"`
}

StackdriverTracerConfig configures the Stackdriver tracer

func (*StackdriverTracerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackdriverTracerConfig.

func (*StackdriverTracerConfig) DeepCopyInto

func (in *StackdriverTracerConfig) DeepCopyInto(out *StackdriverTracerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TelemetryBatchingConfig

type TelemetryBatchingConfig struct {
	// MaxEntries represents the maximum number of entries to collect before sending them to mixer.
	// .Values.mixer.telemetry.reportBatchMaxEntries, maps to MeshConfig.reportBatchMaxEntries
	// Set reportBatchMaxEntries to 0 to use the default batching behavior (i.e., every 100 requests).
	// A positive value indicates the number of requests that are batched before telemetry data
	// is sent to the mixer server
	// +optional
	MaxEntries *int32 `json:"maxEntries,omitempty"`
	// MaxTime represents the maximum amount of time to hold entries before sending them to mixer.
	// .Values.mixer.telemetry.reportBatchMaxTime, maps to MeshConfig.reportBatchMaxTime
	// Set reportBatchMaxTime to 0 to use the default batching behavior (i.e., every 1 second).
	// A positive time value indicates the maximum wait time since the last request will telemetry data
	// be batched before being sent to the mixer server
	// +optional
	MaxTime string `json:"maxTime,omitempty"`
}

TelemetryBatchingConfig configures how telemetry data is batched.

func (*TelemetryBatchingConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryBatchingConfig.

func (*TelemetryBatchingConfig) DeepCopyInto

func (in *TelemetryBatchingConfig) DeepCopyInto(out *TelemetryBatchingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TelemetryConfig

type TelemetryConfig struct {
	// Type of telemetry implementation to use.
	Type TelemetryType `json:"type,omitempty"`
	// Mixer represents legacy, v1 telemetry.
	// implies .Values.telemetry.v1.enabled, if not null
	// +optional
	Mixer *MixerTelemetryConfig `json:"mixer,omitempty"`
	// Remote represents a remote, legacy, v1 telemetry.
	// +optional
	Remote *RemoteTelemetryConfig `json:"remote,omitempty"`
}

TelemetryConfig for the mesh

func (*TelemetryConfig) DeepCopy

func (in *TelemetryConfig) DeepCopy() *TelemetryConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryConfig.

func (*TelemetryConfig) DeepCopyInto

func (in *TelemetryConfig) DeepCopyInto(out *TelemetryConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TelemetryLoadSheddingConfig

type TelemetryLoadSheddingConfig struct {
	// Mode represents the loadshedding mode applied to mixer when it becomes
	// overloaded.  Valid values: disabled, logonly or enforce
	// .Values.mixer.telemetry.loadshedding.mode
	// +optional
	Mode string `json:"mode,omitempty"`
	// LatencyThreshold --
	// .Values.mixer.telemetry.loadshedding.latencyThreshold
	// +optional
	LatencyThreshold string `json:"latencyThreshold,omitempty"`
}

TelemetryLoadSheddingConfig configures how mixer telemetry loadshedding behaves

func (*TelemetryLoadSheddingConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryLoadSheddingConfig.

func (*TelemetryLoadSheddingConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TelemetryType

type TelemetryType string

TelemetryType represents the telemetry implementation used.

const (
	// TelemetryTypeNone disables telemetry
	TelemetryTypeNone TelemetryType = "None"
	// TelemetryTypeMixer represents mixer telemetry, v1
	TelemetryTypeMixer TelemetryType = "Mixer"
	// TelemetryTypeRemote represents remote mixer telemetry server, v1
	TelemetryTypeRemote TelemetryType = "Remote"
	// TelemetryTypeIstiod represents istio, v2
	TelemetryTypeIstiod TelemetryType = "Istiod"
)

type ThirdPartyIdentityConfig

type ThirdPartyIdentityConfig struct {

	// Issuer is the URL of the issuer.
	// env TOKEN_ISSUER, defaults to iss in specified token
	// only supported in 1.6+
	// +optional
	Issuer string `json:"issuer,omitempty"`
	// Audience is the audience for whom the token is intended.
	// env AUDIENCE
	// .Values.global.sds.token.aud, defaults to istio-ca
	// +optional
	Audience string `json:"audience,omitempty"`
}

ThirdPartyIdentityConfig configures a third-party token provider for use with istiod.

func (*ThirdPartyIdentityConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThirdPartyIdentityConfig.

func (*ThirdPartyIdentityConfig) DeepCopyInto

func (in *ThirdPartyIdentityConfig) DeepCopyInto(out *ThirdPartyIdentityConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThreeScaleAddonConfig

type ThreeScaleAddonConfig struct {
	Enablement `json:",inline"`

	// ListenerAddr sets the listen address for the gRPC server.
	// PARAM_THREESCALE_LISTEN_ADDR
	// +optional
	ListenAddr *int32 `json:"listen_addr,omitempty"`
	// LogGRPC controls whether the log includes gRPC info
	// PARAM_THREESCALE_LOG_GRPC
	// +optional
	LogGRPC *bool `json:"log_grpc,omitempty"`
	// LogJSON controls whether the log is formatted as JSON
	// PARAM_THREESCALE_LOG_JSON
	// +optional
	LogJSON *bool `json:"log_json,omitempty"`
	// LogLevel sets the minimum log output level. Accepted values are one of:
	// debug, info, warn, error, none
	// PARAM_THREESCALE_LOG_LEVEL
	// +optional
	LogLevel string `json:"log_level,omitempty"`

	// Metrics configures metrics specific details
	// +optional
	Metrics *ThreeScaleMetricsConfig `json:"metrics,omitempty"`

	// System configures system specific details
	// +optional
	System *ThreeScaleSystemConfig `json:"system,omitempty"`

	// Client configures client specific details
	// +optional
	Client *ThreeScaleClientConfig `json:"client,omitempty"`

	// GRPC configures gRPC specific details
	// +optional
	GRPC *ThreeScaleGRPCConfig `json:"grpc,omitempty"`

	// Backend configures backend specific details
	// +optional
	Backend *ThreeScaleBackendConfig `json:"backend,omitempty"`
}

ThreeScaleAddonConfig represents configuration options for the installation of the 3scale adapter. The options are structured similarly to what is defined by the 3scale ConfigMap.

func (*ThreeScaleAddonConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThreeScaleAddonConfig.

func (*ThreeScaleAddonConfig) DeepCopyInto

func (in *ThreeScaleAddonConfig) DeepCopyInto(out *ThreeScaleAddonConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThreeScaleBackendConfig

type ThreeScaleBackendConfig struct {
	// EnableCache if true, attempts to create an in-memory apisonator cache for
	// authorization requests
	// PARAM_THREESCALE_USE_CACHED_BACKEND
	// +optional
	EnableCache *bool `json:"enable_cache,omitempty"`
	// CacheFlushInterval sets the interval at which metrics get reported from
	// the cache to 3scale
	// PARAM_THREESCALE_BACKEND_CACHE_FLUSH_INTERVAL_SECONDS
	// +optional
	CacheFlushInterval *int32 `json:"cache_flush_interval,omitempty"`
	// PolicyFailClosed if true, request will fail if 3scale Apisonator is
	// unreachable
	// PARAM_THREESCALE_BACKEND_CACHE_POLICY_FAIL_CLOSED
	// +optional
	PolicyFailClosed *bool `json:"policy_fail_closed,omitempty"`
}

ThreeScaleBackendConfig represents 3scale adapter options for its 'backend' section.

func (*ThreeScaleBackendConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThreeScaleBackendConfig.

func (*ThreeScaleBackendConfig) DeepCopyInto

func (in *ThreeScaleBackendConfig) DeepCopyInto(out *ThreeScaleBackendConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThreeScaleClientConfig

type ThreeScaleClientConfig struct {
	// AllowInsecureConnections skips certificate verification when calling
	// 3scale API's. Enabling is not recommended
	// PARAM_THREESCALE_ALLOW_INSECURE_CONN
	// +optional
	AllowInsecureConnections *bool `json:"allow_insecure_connections,omitempty"`
	// Timeout sets the number of seconds to wait before terminating requests
	// to 3scale System and Backend
	// PARAM_THREESCALE_CLIENT_TIMEOUT_SECONDS
	// +optional
	Timeout *int32 `json:"timeout,omitempty"`
}

ThreeScaleClientConfig represents 3scale adapter options for its 'client' section.

func (*ThreeScaleClientConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThreeScaleClientConfig.

func (*ThreeScaleClientConfig) DeepCopyInto

func (in *ThreeScaleClientConfig) DeepCopyInto(out *ThreeScaleClientConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThreeScaleGRPCConfig

type ThreeScaleGRPCConfig struct {
	// MaxConnTimeout sets the maximum amount of seconds (+/-10% jitter) a
	// connection may exist before it will be closed
	// PARAM_THREESCALE_GRPC_CONN_MAX_SECONDS
	// +optional
	MaxConnTimeout *int32 `json:"max_conn_timeout,omitempty"`
}

ThreeScaleGRPCConfig represents 3scale adapter options for its 'grpc' section.

func (*ThreeScaleGRPCConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThreeScaleGRPCConfig.

func (*ThreeScaleGRPCConfig) DeepCopyInto

func (in *ThreeScaleGRPCConfig) DeepCopyInto(out *ThreeScaleGRPCConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThreeScaleMetricsConfig

type ThreeScaleMetricsConfig struct {
	// Port sets the port which 3scale /metrics endpoint can be scrapped from
	// PARAM_THREESCALE_METRICS_PORT
	// +optional
	Port *int32 `json:"port,omitempty"`
	// Report controls whether 3scale system and backend metrics are collected
	// and reported to Prometheus
	// PARAM_THREESCALE_REPORT_METRICS
	// +optional
	Report *bool `json:"report,omitempty"`
}

ThreeScaleMetricsConfig represents 3scale adapter options for its 'metrics' section.

func (*ThreeScaleMetricsConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThreeScaleMetricsConfig.

func (*ThreeScaleMetricsConfig) DeepCopyInto

func (in *ThreeScaleMetricsConfig) DeepCopyInto(out *ThreeScaleMetricsConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThreeScaleSystemConfig

type ThreeScaleSystemConfig struct {
	// CacheMaxSize is the max number of items that can be stored in the cache
	// at any time. Set to 0 to disable caching
	// PARAM_THREESCALE_CACHE_ENTRIES_MAX
	// +optional
	CacheMaxSize *int64 `json:"cache_max_size,omitempty"`
	// CacheRefreshRetries sets the number of times unreachable hosts will be
	// retried during a cache update loop
	// PARAM_THREESCALE_CACHE_REFRESH_RETRIES
	// +optional
	CacheRefreshRetries *int32 `json:"cache_refresh_retries,omitempty"`
	// CacheRefreshInterval is the time period in seconds, before a background
	// process attempts to refresh cached entries
	// PARAM_THREESCALE_CACHE_REFRESH_SECONDS
	// +optional
	CacheRefreshInterval *int32 `json:"cache_refresh_interval,omitempty"`
	// CacheTTL is the time period, in seconds, to wait before purging expired
	// items from the cache
	// PARAM_THREESCALE_CACHE_TTL_SECONDS
	// +optional
	CacheTTL *int32 `json:"cache_ttl,omitempty"`
}

ThreeScaleSystemConfig represents 3scale adapter options for its 'system' section.

func (*ThreeScaleSystemConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThreeScaleSystemConfig.

func (*ThreeScaleSystemConfig) DeepCopyInto

func (in *ThreeScaleSystemConfig) DeepCopyInto(out *ThreeScaleSystemConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TracerType

type TracerType string

TracerType represents the tracer type to use

const (
	// TracerTypeNone is used to represent no tracer
	TracerTypeNone TracerType = "None"
	// TracerTypeJaeger is used to represent Jaeger as the tracer
	TracerTypeJaeger TracerType = "Jaeger"
	// TracerTypeStackdriver is used to represent Stackdriver as the tracer
	TracerTypeStackdriver TracerType = "Stackdriver"
)

type TracingConfig

type TracingConfig struct {
	// Type represents the type of tracer to be installed.
	Type TracerType `json:"type,omitempty"`
	// Sampling sets the mesh-wide trace sampling percentage. Should be between
	// 0.0 - 100.0. Precision to 0.01, scaled as 0 to 10000, e.g.: 100% = 10000,
	// 1% = 100
	// .Values.pilot.traceSampling
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=10000
	// +optional
	Sampling *int32 `json:"sampling,omitempty"`
}

TracingConfig configures tracing solutions for the mesh. .Values.global.enableTracing

func (*TracingConfig) DeepCopy

func (in *TracingConfig) DeepCopy() *TracingConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracingConfig.

func (*TracingConfig) DeepCopyInto

func (in *TracingConfig) DeepCopyInto(out *TracingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrustConfig

type TrustConfig struct {
	// Domain specifies the trust domain to be used by the mesh.
	// .Values.global.trustDomain, maps to trustDomain
	// The trust domain corresponds to the trust root of a system.
	// Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
	// +optional
	Domain string `json:"domain,omitempty"`
	// AdditionalDomains are additional SPIFFE trust domains that are accepted as trusted.
	// .Values.global.trustDomainAliases, maps to trustDomainAliases
	//  Any service with the identity "td1/ns/foo/sa/a-service-account", "td2/ns/foo/sa/a-service-account",
	//  or "td3/ns/foo/sa/a-service-account" will be treated the same in the Istio mesh.
	// +optional
	AdditionalDomains []string `json:"additionalDomains,omitempty"`
}

TrustConfig configures trust aspects associated with mutual TLS clients

func (*TrustConfig) DeepCopy

func (in *TrustConfig) DeepCopy() *TrustConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustConfig.

func (*TrustConfig) DeepCopyInto

func (in *TrustConfig) DeepCopyInto(out *TrustConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeConfig

type VolumeConfig struct {
	// Volume.Name maps to .Values.gateways.<gateway-name>.<type>.<type-name> (type-name is configMapName or secretName)
	// .configVolumes -> .configMapName = volume.name
	// .secretVolumes -> .secretName = volume.name
	// Only ConfigMap and Secret fields are supported
	Volume GatewayVolume `json:"volume,omitempty"`
	// Mount.Name maps to .Values.gateways.<gateway-name>.<type>.name
	// .configVolumes -> .name = mount.name, .mountPath = mount.mountPath
	// .secretVolumes -> .name = mount.name, .mountPath = mount.mountPath
	// Only Name and MountPath fields are supported
	Mount corev1.VolumeMount `json:"volumeMount,omitempty"`
}

VolumeConfig is used to specify volumes that should be mounted on the pod.

func (*VolumeConfig) DeepCopy

func (in *VolumeConfig) DeepCopy() *VolumeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeConfig.

func (*VolumeConfig) DeepCopyInto

func (in *VolumeConfig) DeepCopyInto(out *VolumeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ZipkinTracerConfig

type ZipkinTracerConfig struct {
}

ZipkinTracerConfig configures a Zipkin tracer for use with the mesh

func (*ZipkinTracerConfig) DeepCopy

func (in *ZipkinTracerConfig) DeepCopy() *ZipkinTracerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipkinTracerConfig.

func (*ZipkinTracerConfig) DeepCopyInto

func (in *ZipkinTracerConfig) DeepCopyInto(out *ZipkinTracerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL