v1alpha1

package
v1.21.2 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2024 License: Apache-2.0 Imports: 11 Imported by: 14

Documentation

Overview

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Code generated by protoc-gen-jsonshim. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var (
	PluginType_name = map[int32]string{
		0: "UNSPECIFIED_PLUGIN_TYPE",
		1: "HTTP",
		2: "NETWORK",
	}
	PluginType_value = map[string]int32{
		"UNSPECIFIED_PLUGIN_TYPE": 0,
		"HTTP":                    1,
		"NETWORK":                 2,
	}
)

Enum value maps for PluginType.

View Source
var (
	PluginPhase_name = map[int32]string{
		0: "UNSPECIFIED_PHASE",
		1: "AUTHN",
		2: "AUTHZ",
		3: "STATS",
	}
	PluginPhase_value = map[string]int32{
		"UNSPECIFIED_PHASE": 0,
		"AUTHN":             1,
		"AUTHZ":             2,
		"STATS":             3,
	}
)

Enum value maps for PluginPhase.

View Source
var (
	PullPolicy_name = map[int32]string{
		0: "UNSPECIFIED_POLICY",
		1: "IfNotPresent",
		2: "Always",
	}
	PullPolicy_value = map[string]int32{
		"UNSPECIFIED_POLICY": 0,
		"IfNotPresent":       1,
		"Always":             2,
	}
)

Enum value maps for PullPolicy.

View Source
var (
	EnvValueSource_name = map[int32]string{
		0: "INLINE",
		1: "HOST",
	}
	EnvValueSource_value = map[string]int32{
		"INLINE": 0,
		"HOST":   1,
	}
)

Enum value maps for EnvValueSource.

View Source
var (
	FailStrategy_name = map[int32]string{
		0: "FAIL_CLOSE",
		1: "FAIL_OPEN",
	}
	FailStrategy_value = map[string]int32{
		"FAIL_CLOSE": 0,
		"FAIL_OPEN":  1,
	}
)

Enum value maps for FailStrategy.

View Source
var (
	WasmMarshaler   = &jsonpb.Marshaler{}
	WasmUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
View Source
var File_extensions_v1alpha1_wasm_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type EnvValueSource

type EnvValueSource int32
const (
	// Explicitly given key-value pairs to be injected to this VM
	EnvValueSource_INLINE EnvValueSource = 0
	// *Istio-proxy's* environment variables exposed to this VM.
	EnvValueSource_HOST EnvValueSource = 1
)

func (EnvValueSource) Descriptor

func (EnvValueSource) Enum

func (x EnvValueSource) Enum() *EnvValueSource

func (EnvValueSource) EnumDescriptor deprecated

func (EnvValueSource) EnumDescriptor() ([]byte, []int)

Deprecated: Use EnvValueSource.Descriptor instead.

func (EnvValueSource) Number

func (EnvValueSource) String

func (x EnvValueSource) String() string

func (EnvValueSource) Type

type EnvVar

type EnvVar struct {

	// Name of the environment variable.
	// Must be a C_IDENTIFIER.
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:MinLength=1
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Source for the environment variable's value.
	ValueFrom EnvValueSource `` /* 135-byte string literal not displayed */
	// Value for the environment variable.
	// Only applicable if `valueFrom` is `HOST`.
	// Defaults to "".
	// +kubebuilder:validation:MaxLength=2048
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

+kubebuilder:validation:XValidation:message="value may only be set when valueFrom is INLINE",rule="(has(self.valueFrom) ? self.valueFrom : ”) != 'HOST' || !has(self.value)"

func (*EnvVar) DeepCopy

func (in *EnvVar) DeepCopy() *EnvVar

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar. Required by controller-gen.

func (*EnvVar) DeepCopyInterface

func (in *EnvVar) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar. Required by controller-gen.

func (*EnvVar) DeepCopyInto

func (in *EnvVar) DeepCopyInto(out *EnvVar)

DeepCopyInto supports using EnvVar within kubernetes types, where deepcopy-gen is used.

func (*EnvVar) Descriptor deprecated

func (*EnvVar) Descriptor() ([]byte, []int)

Deprecated: Use EnvVar.ProtoReflect.Descriptor instead.

func (*EnvVar) GetName

func (x *EnvVar) GetName() string

func (*EnvVar) GetValue

func (x *EnvVar) GetValue() string

func (*EnvVar) GetValueFrom

func (x *EnvVar) GetValueFrom() EnvValueSource

func (*EnvVar) MarshalJSON

func (this *EnvVar) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvVar

func (*EnvVar) ProtoMessage

func (*EnvVar) ProtoMessage()

func (*EnvVar) ProtoReflect

func (x *EnvVar) ProtoReflect() protoreflect.Message

func (*EnvVar) Reset

func (x *EnvVar) Reset()

func (*EnvVar) String

func (x *EnvVar) String() string

func (*EnvVar) UnmarshalJSON

func (this *EnvVar) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvVar

type FailStrategy

type FailStrategy int32
const (
	// A fatal error in the binary fetching or during the plugin execution causes
	// all subsequent requests to fail with 5xx.
	FailStrategy_FAIL_CLOSE FailStrategy = 0
	// Enables the fail open behavior for the Wasm plugin fatal errors to bypass
	// the plugin execution. A fatal error can be a failure to fetch the remote
	// binary, an exception, or abort() on the VM. This flag is not recommended
	// for the authentication or the authorization plugins.
	FailStrategy_FAIL_OPEN FailStrategy = 1
)

func (FailStrategy) Descriptor

func (FailStrategy) Enum

func (x FailStrategy) Enum() *FailStrategy

func (FailStrategy) EnumDescriptor deprecated

func (FailStrategy) EnumDescriptor() ([]byte, []int)

Deprecated: Use FailStrategy.Descriptor instead.

func (FailStrategy) Number

func (FailStrategy) String

func (x FailStrategy) String() string

func (FailStrategy) Type

type PluginPhase

type PluginPhase int32

The phase in the filter chain where the plugin will be injected.

const (
	// Control plane decides where to insert the plugin. This will generally
	// be at the end of the filter chain, right before the Router.
	// Do not specify `PluginPhase` if the plugin is independent of others.
	PluginPhase_UNSPECIFIED_PHASE PluginPhase = 0
	// Insert plugin before Istio authentication filters.
	PluginPhase_AUTHN PluginPhase = 1
	// Insert plugin before Istio authorization filters and after Istio authentication filters.
	PluginPhase_AUTHZ PluginPhase = 2
	// Insert plugin before Istio stats filters and after Istio authorization filters.
	PluginPhase_STATS PluginPhase = 3
)

func (PluginPhase) Descriptor

func (PluginPhase) Enum

func (x PluginPhase) Enum() *PluginPhase

func (PluginPhase) EnumDescriptor deprecated

func (PluginPhase) EnumDescriptor() ([]byte, []int)

Deprecated: Use PluginPhase.Descriptor instead.

func (PluginPhase) Number

func (x PluginPhase) Number() protoreflect.EnumNumber

func (PluginPhase) String

func (x PluginPhase) String() string

func (PluginPhase) Type

type PluginType added in v1.20.0

type PluginType int32

PluginType indicates the type of Wasm extension to be used. There are two types of extensions: `HTTP` and `NETWORK`.

The `HTTP` extension works at Layer 7 (for example, as an HTTP filter in Envoy). The detailed HTTP interface can be found here: - [C++](https://github.com/proxy-wasm/proxy-wasm-cpp-host/blob/b7e690703c7f26707438a2f1ebd7c197bc8f0296/include/proxy-wasm/context_interface.h#L199) - [Rust](https://github.com/proxy-wasm/proxy-wasm-rust-sdk/blob/6b47aec926bc29971c727471d6f4c972ec407c7f/src/traits.rs#L309)

The `NETWORK` extension works at Layer 4 (for example, as a network filter in Envoy). The detailed `NETWORK` interface can be found here: - [C++](https://github.com/proxy-wasm/proxy-wasm-cpp-host/blob/b7e690703c7f26707438a2f1ebd7c197bc8f0296/include/proxy-wasm/context_interface.h#L257) - [Rust](https://github.com/proxy-wasm/proxy-wasm-rust-sdk/blob/6b47aec926bc29971c727471d6f4c972ec407c7f/src/traits.rs#L257)

The `NETWORK` extension can be applied to HTTP traffic as well.

const (
	// Defaults to HTTP.
	PluginType_UNSPECIFIED_PLUGIN_TYPE PluginType = 0
	// Use HTTP Wasm Extension.
	PluginType_HTTP PluginType = 1
	// Use Network Wasm Extension.
	PluginType_NETWORK PluginType = 2
)

func (PluginType) Descriptor added in v1.20.0

func (PluginType) Descriptor() protoreflect.EnumDescriptor

func (PluginType) Enum added in v1.20.0

func (x PluginType) Enum() *PluginType

func (PluginType) EnumDescriptor deprecated added in v1.20.0

func (PluginType) EnumDescriptor() ([]byte, []int)

Deprecated: Use PluginType.Descriptor instead.

func (PluginType) Number added in v1.20.0

func (x PluginType) Number() protoreflect.EnumNumber

func (PluginType) String added in v1.20.0

func (x PluginType) String() string

func (PluginType) Type added in v1.20.0

type PullPolicy

type PullPolicy int32

The pull behaviour to be applied when fetching a Wam module, mirroring K8s behaviour.

<!-- buf:lint:ignore ENUM_VALUE_UPPER_SNAKE_CASE -->

const (
	// Defaults to `IfNotPresent`, except for OCI images with tag `latest`, for which
	// the default will be `Always`.
	PullPolicy_UNSPECIFIED_POLICY PullPolicy = 0
	// If an existing version of the image has been pulled before, that
	// will be used. If no version of the image is present locally, we
	// will pull the latest version.
	PullPolicy_IfNotPresent PullPolicy = 1
	// We will always pull the latest version of an image when changing
	// this plugin. Note that the change includes `metadata` field as well.
	PullPolicy_Always PullPolicy = 2
)

func (PullPolicy) Descriptor

func (PullPolicy) Descriptor() protoreflect.EnumDescriptor

func (PullPolicy) Enum

func (x PullPolicy) Enum() *PullPolicy

func (PullPolicy) EnumDescriptor deprecated

func (PullPolicy) EnumDescriptor() ([]byte, []int)

Deprecated: Use PullPolicy.Descriptor instead.

func (PullPolicy) Number

func (x PullPolicy) Number() protoreflect.EnumNumber

func (PullPolicy) String

func (x PullPolicy) String() string

func (PullPolicy) Type

type VmConfig

type VmConfig struct {

	// Specifies environment variables to be injected to this VM.
	// Note that if a key does not exist, it will be ignored.
	// +kubebuilder:validation:MaxItems=256
	// +listType=map
	// +listMapKey=name
	Env []*EnvVar `protobuf:"bytes,1,rep,name=env,proto3" json:"env,omitempty"`
	// contains filtered or unexported fields
}

Configuration for a Wasm VM. more details can be found [here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/wasm/v3/wasm.proto#extensions-wasm-v3-vmconfig).

func (*VmConfig) DeepCopy

func (in *VmConfig) DeepCopy() *VmConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VmConfig. Required by controller-gen.

func (*VmConfig) DeepCopyInterface

func (in *VmConfig) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new VmConfig. Required by controller-gen.

func (*VmConfig) DeepCopyInto

func (in *VmConfig) DeepCopyInto(out *VmConfig)

DeepCopyInto supports using VmConfig within kubernetes types, where deepcopy-gen is used.

func (*VmConfig) Descriptor deprecated

func (*VmConfig) Descriptor() ([]byte, []int)

Deprecated: Use VmConfig.ProtoReflect.Descriptor instead.

func (*VmConfig) GetEnv

func (x *VmConfig) GetEnv() []*EnvVar

func (*VmConfig) MarshalJSON

func (this *VmConfig) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for VmConfig

func (*VmConfig) ProtoMessage

func (*VmConfig) ProtoMessage()

func (*VmConfig) ProtoReflect

func (x *VmConfig) ProtoReflect() protoreflect.Message

func (*VmConfig) Reset

func (x *VmConfig) Reset()

func (*VmConfig) String

func (x *VmConfig) String() string

func (*VmConfig) UnmarshalJSON

func (this *VmConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for VmConfig

type WasmPlugin

type WasmPlugin struct {

	// Criteria used to select the specific set of pods/VMs on which
	// this plugin configuration should be applied. If omitted, this
	// configuration will be applied to all workload instances in the same
	// namespace. If the `WasmPlugin` is present in the config root
	// namespace, it will be applied to all applicable workloads in any
	// namespace.
	//
	// At most, only one of the selector or `targetRef` can be set for a given policy.
	Selector *v1beta1.WorkloadSelector `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
	// Optional. The `targetRef` specifies the gateway the policy should be
	// applied to. The targeted resource specified will determine which
	// workloads the WasmPlugin applies to. The targeted resource must be
	// a `Gateway` in the group `gateway.networking.k8s.io`. The gateway
	// must be in the same namespace as the policy.
	//
	// If the `targetRef` is not set, the policy is applied as defined by the selector.
	// At most, only one of the selector or `targetRef` can be set for a given policy.
	// Waypoint proxies will not respect selectors even if they match.
	TargetRef *v1beta1.PolicyTargetReference `protobuf:"bytes,15,opt,name=targetRef,proto3" json:"targetRef,omitempty"`
	// URL of a Wasm module or OCI container. If no scheme is present,
	// defaults to `oci://`, referencing an OCI image. Other valid schemes
	// are `file://` for referencing .wasm module files present locally
	// within the proxy container, and `http[s]://` for `.wasm` module files
	// hosted remotely.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:message="url must have schema one of [http, https, file, oci]",rule="isURL(self) ? (url(self).getScheme() in [”, 'http', 'https', 'oci', 'file']) : (isURL('http://' + self) && url('http://' +self).getScheme() in [”, 'http', 'https', 'oci', 'file'])"
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// SHA256 checksum that will be used to verify Wasm module or OCI container.
	// If the `url` field already references a SHA256 (using the `@sha256:`
	// notation), it must match the value of this field. If an OCI image is
	// referenced by tag and this field is set, its checksum will be verified
	// against the contents of this field after pulling.
	// +kubebuilder:validation:Pattern="(^$|^[a-f0-9]{64}$)"
	Sha256 string `protobuf:"bytes,3,opt,name=sha256,proto3" json:"sha256,omitempty"`
	// The pull behaviour to be applied when fetching Wasm module by either
	// OCI image or `http/https`. Only relevant when referencing Wasm module without
	// any digest, including the digest in OCI image URL or `sha256` field in `vm_config`.
	// Defaults to `IfNotPresent`, except when an OCI image is referenced in the `url`
	// and the `latest` tag is used, in which case `Always` is the default,
	// mirroring Kubernetes behaviour.
	ImagePullPolicy PullPolicy `` /* 151-byte string literal not displayed */
	// Credentials to use for OCI image pulling.
	// Name of a Kubernetes Secret in the same namespace as the `WasmPlugin` that
	// contains a Docker pull secret which is to be used to authenticate
	// against the registry when pulling the image.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	ImagePullSecret string `protobuf:"bytes,5,opt,name=image_pull_secret,json=imagePullSecret,proto3" json:"image_pull_secret,omitempty"`
	// $hide_from_docs
	// Public key that will be used to verify signatures of signed OCI images
	// or Wasm modules.
	//
	// At this moment, various ways for signing/verifying are emerging and being proposed.
	// We can observe two major streams for signing OCI images: Cosign from Sigstore and Notary,
	// which is used in Docker Content Trust.
	// In case of Wasm module, multiple approaches are still in discussion.
	//   - https://github.com/WebAssembly/design/issues/1413
	//   - https://github.com/wasm-signatures/design (various signing tools are enumerated)
	//
	// In addition, for each method for signing&verifying, we may need to consider to provide
	// additional data or configuration (e.g., key rolling, KMS, root certs, ...) as well.
	//
	// To deal with this situation, we need to elaborate more generic way to describe
	// how to sign and verify the image or wasm binary, and how to specify relevant data,
	// including this `verification_key`.
	//
	// Therefore, this field will not be implemented until the detailed design is established.
	// For the future use, just keep this field in proto and hide from documentation.
	VerificationKey string `protobuf:"bytes,6,opt,name=verification_key,json=verificationKey,proto3" json:"verification_key,omitempty"`
	// The configuration that will be passed on to the plugin.
	PluginConfig *_struct.Struct `protobuf:"bytes,7,opt,name=plugin_config,json=pluginConfig,proto3" json:"plugin_config,omitempty"`
	// The plugin name to be used in the Envoy configuration (used to be called
	// `rootID`). Some .wasm modules might require this value to select the Wasm
	// plugin to execute.
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:MinLength=1
	PluginName string `protobuf:"bytes,8,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"`
	// Determines where in the filter chain this `WasmPlugin` is to be injected.
	Phase PluginPhase `protobuf:"varint,9,opt,name=phase,proto3,enum=istio.extensions.v1alpha1.PluginPhase" json:"phase,omitempty"`
	// Determines ordering of `WasmPlugins` in the same `phase`.
	// When multiple `WasmPlugins` are applied to the same workload in the
	// same `phase`, they will be applied by priority, in descending order.
	// If `priority` is not set, or two `WasmPlugins` exist with the same
	// value, the ordering will be deterministically derived from name and
	// namespace of the `WasmPlugins`. Defaults to `0`.
	Priority *wrappers.Int32Value `protobuf:"bytes,10,opt,name=priority,proto3" json:"priority,omitempty"`
	// Specifies the failure behavior for the plugin due to fatal errors.
	FailStrategy FailStrategy `` /* 143-byte string literal not displayed */
	// Configuration for a Wasm VM.
	// More details can be found [here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/wasm/v3/wasm.proto#extensions-wasm-v3-vmconfig).
	VmConfig *VmConfig `protobuf:"bytes,11,opt,name=vm_config,json=vmConfig,proto3" json:"vm_config,omitempty"`
	// Specifies the criteria to determine which traffic is passed to WasmPlugin.
	// If a traffic satisfies any of TrafficSelectors,
	// the traffic passes the WasmPlugin.
	Match []*WasmPlugin_TrafficSelector `protobuf:"bytes,12,rep,name=match,proto3" json:"match,omitempty"`
	// Specifies the type of Wasm Extension to be used.
	Type PluginType `protobuf:"varint,14,opt,name=type,proto3,enum=istio.extensions.v1alpha1.PluginType" json:"type,omitempty"`
	// contains filtered or unexported fields
}

WasmPlugins provides a mechanism to extend the functionality provided by the Istio proxy through WebAssembly filters.

<!-- crd generation tags +cue-gen:WasmPlugin:groupName:extensions.istio.io +cue-gen:WasmPlugin:version:v1alpha1 +cue-gen:WasmPlugin:storageVersion +cue-gen:WasmPlugin:annotations:helm.sh/resource-policy=keep +cue-gen:WasmPlugin:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio +cue-gen:WasmPlugin:subresource:status +cue-gen:WasmPlugin:spec:required +cue-gen:WasmPlugin:scope:Namespaced +cue-gen:WasmPlugin:resource:categories=istio-io,extensions-istio-io +cue-gen:WasmPlugin:preserveUnknownFields:pluginConfig +cue-gen:WasmPlugin:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" -->

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=extensions.istio.io/v1alpha1 +genclient +k8s:deepcopy-gen=true -->

func (*WasmPlugin) DeepCopy

func (in *WasmPlugin) DeepCopy() *WasmPlugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WasmPlugin. Required by controller-gen.

func (*WasmPlugin) DeepCopyInterface

func (in *WasmPlugin) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new WasmPlugin. Required by controller-gen.

func (*WasmPlugin) DeepCopyInto

func (in *WasmPlugin) DeepCopyInto(out *WasmPlugin)

DeepCopyInto supports using WasmPlugin within kubernetes types, where deepcopy-gen is used.

func (*WasmPlugin) Descriptor deprecated

func (*WasmPlugin) Descriptor() ([]byte, []int)

Deprecated: Use WasmPlugin.ProtoReflect.Descriptor instead.

func (*WasmPlugin) GetFailStrategy

func (x *WasmPlugin) GetFailStrategy() FailStrategy

func (*WasmPlugin) GetImagePullPolicy

func (x *WasmPlugin) GetImagePullPolicy() PullPolicy

func (*WasmPlugin) GetImagePullSecret

func (x *WasmPlugin) GetImagePullSecret() string

func (*WasmPlugin) GetMatch

func (x *WasmPlugin) GetMatch() []*WasmPlugin_TrafficSelector

func (*WasmPlugin) GetPhase

func (x *WasmPlugin) GetPhase() PluginPhase

func (*WasmPlugin) GetPluginConfig

func (x *WasmPlugin) GetPluginConfig() *_struct.Struct

func (*WasmPlugin) GetPluginName

func (x *WasmPlugin) GetPluginName() string

func (*WasmPlugin) GetPriority

func (x *WasmPlugin) GetPriority() *wrappers.Int32Value

func (*WasmPlugin) GetSelector

func (x *WasmPlugin) GetSelector() *v1beta1.WorkloadSelector

func (*WasmPlugin) GetSha256

func (x *WasmPlugin) GetSha256() string

func (*WasmPlugin) GetTargetRef added in v1.20.0

func (x *WasmPlugin) GetTargetRef() *v1beta1.PolicyTargetReference

func (*WasmPlugin) GetType added in v1.20.0

func (x *WasmPlugin) GetType() PluginType

func (*WasmPlugin) GetUrl

func (x *WasmPlugin) GetUrl() string

func (*WasmPlugin) GetVerificationKey

func (x *WasmPlugin) GetVerificationKey() string

func (*WasmPlugin) GetVmConfig

func (x *WasmPlugin) GetVmConfig() *VmConfig

func (*WasmPlugin) MarshalJSON

func (this *WasmPlugin) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for WasmPlugin

func (*WasmPlugin) ProtoMessage

func (*WasmPlugin) ProtoMessage()

func (*WasmPlugin) ProtoReflect

func (x *WasmPlugin) ProtoReflect() protoreflect.Message

func (*WasmPlugin) Reset

func (x *WasmPlugin) Reset()

func (*WasmPlugin) String

func (x *WasmPlugin) String() string

func (*WasmPlugin) UnmarshalJSON

func (this *WasmPlugin) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for WasmPlugin

type WasmPlugin_TrafficSelector

type WasmPlugin_TrafficSelector struct {

	// Criteria for selecting traffic by their direction.
	// Note that `CLIENT` and `SERVER` are analogous to OUTBOUND and INBOUND,
	// respectively.
	// For the gateway, the field should be `CLIENT` or `CLIENT_AND_SERVER`.
	// If not specified, the default value is `CLIENT_AND_SERVER`.
	Mode v1beta1.WorkloadMode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.type.v1beta1.WorkloadMode" json:"mode,omitempty"`
	// Criteria for selecting traffic by their destination port.
	// More specifically, for the outbound traffic, the destination port would be
	// the port of the target service. On the other hand, for the inbound traffic,
	// the destination port is the port bound by the server process in the same Pod.
	//
	// If one of the given `ports` is matched, this condition is evaluated to true.
	// If not specified, this condition is evaluated to true for any port.
	// +listType=map
	// +listMapKey=number
	Ports []*v1beta1.PortSelector `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"`
	// contains filtered or unexported fields
}

TrafficSelector provides a mechanism to select a specific traffic flow for which this Wasm Plugin will be enabled. When all the sub conditions in the TrafficSelector are satisfied, the traffic will be selected.

func (*WasmPlugin_TrafficSelector) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WasmPlugin_TrafficSelector. Required by controller-gen.

func (*WasmPlugin_TrafficSelector) DeepCopyInterface

func (in *WasmPlugin_TrafficSelector) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new WasmPlugin_TrafficSelector. Required by controller-gen.

func (*WasmPlugin_TrafficSelector) DeepCopyInto

DeepCopyInto supports using WasmPlugin_TrafficSelector within kubernetes types, where deepcopy-gen is used.

func (*WasmPlugin_TrafficSelector) Descriptor deprecated

func (*WasmPlugin_TrafficSelector) Descriptor() ([]byte, []int)

Deprecated: Use WasmPlugin_TrafficSelector.ProtoReflect.Descriptor instead.

func (*WasmPlugin_TrafficSelector) GetMode

func (*WasmPlugin_TrafficSelector) GetPorts

func (*WasmPlugin_TrafficSelector) MarshalJSON

func (this *WasmPlugin_TrafficSelector) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for WasmPlugin_TrafficSelector

func (*WasmPlugin_TrafficSelector) ProtoMessage

func (*WasmPlugin_TrafficSelector) ProtoMessage()

func (*WasmPlugin_TrafficSelector) ProtoReflect

func (*WasmPlugin_TrafficSelector) Reset

func (x *WasmPlugin_TrafficSelector) Reset()

func (*WasmPlugin_TrafficSelector) String

func (x *WasmPlugin_TrafficSelector) String() string

func (*WasmPlugin_TrafficSelector) UnmarshalJSON

func (this *WasmPlugin_TrafficSelector) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for WasmPlugin_TrafficSelector

Jump to

Keyboard shortcuts

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