v2

package
v0.0.0-...-d2b1218 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2021 License: Apache-2.0 Imports: 10 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

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"
)

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 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"`
}

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"
)

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"`
}

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"`
	// +optional
	Readiness *corev1.Probe `json:"readiness,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 persistance 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 addtional 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.
	// Existing ServiceMeshControlPlanes with an empty version are treated as
	// having the version set to "v1.0"
	// +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) 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
	// XXX: capacity is not supported in the charts, hard coded to 5Gi
	// +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 addtional 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"`
}

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

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 precendence
	// 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 applicaiton 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"`
}

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.

func (*ServiceMeshControlPlane) Hub

func (smcp *ServiceMeshControlPlane) Hub()

Hub marks v2 SMCP resource as the storage version

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