v3

package
v1.6.0-beta24 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2020 License: Apache-2.0 Imports: 19 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_external_envoy_extensions_wasm_v3_wasm_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type PluginConfig

type PluginConfig struct {

	// A unique name for a filters/services in a VM for use in identifying the filter/service if
	// multiple filters/services are handled by the same *vm_id* and *root_id* and for
	// logging/debugging.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A unique ID for a set of filters/services in a VM which will share a RootContext and Contexts
	// if applicable (e.g. an Wasm HttpFilter and an Wasm AccessLog). If left blank, all
	// filters/services with a blank root_id with the same *vm_id* will share Context(s).
	RootId string `protobuf:"bytes,2,opt,name=root_id,json=rootId,proto3" json:"root_id,omitempty"`
	// Configuration for finding or starting VM.
	//
	// Types that are assignable to Vm:
	//	*PluginConfig_VmConfig
	Vm isPluginConfig_Vm `protobuf_oneof:"vm"`
	// Filter/service configuration used to configure or reconfigure a plugin
	// (proxy_on_configuration).
	// `google.protobuf.Struct` is serialized as JSON before
	// passing it to the plugin. `google.protobuf.BytesValue` and
	// `google.protobuf.StringValue` are passed directly without the wrapper.
	Configuration *any.Any `protobuf:"bytes,4,opt,name=configuration,proto3" json:"configuration,omitempty"`
	// If there is a fatal error on the VM (e.g. exception, abort(), on_start or on_configure return false),
	// then all plugins associated with the VM will either fail closed (by default), e.g. by returning an HTTP 503 error,
	// or fail open (if 'fail_open' is set to true) by bypassing the filter. Note: when on_start or on_configure return false
	// during xDS updates the xDS configuration will be rejected and when on_start or on_configuration return false on initial
	// startup the proxy will not start.
	FailOpen bool `protobuf:"varint,5,opt,name=fail_open,json=failOpen,proto3" json:"fail_open,omitempty"`
	// contains filtered or unexported fields
}

Base Configuration for Wasm Plugins e.g. filters and services. [#next-free-field: 6]

func (*PluginConfig) Descriptor deprecated

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

Deprecated: Use PluginConfig.ProtoReflect.Descriptor instead.

func (*PluginConfig) Equal

func (m *PluginConfig) Equal(that interface{}) bool

Equal function

func (*PluginConfig) GetConfiguration

func (x *PluginConfig) GetConfiguration() *any.Any

func (*PluginConfig) GetFailOpen

func (x *PluginConfig) GetFailOpen() bool

func (*PluginConfig) GetName

func (x *PluginConfig) GetName() string

func (*PluginConfig) GetRootId

func (x *PluginConfig) GetRootId() string

func (*PluginConfig) GetVm

func (m *PluginConfig) GetVm() isPluginConfig_Vm

func (*PluginConfig) GetVmConfig

func (x *PluginConfig) GetVmConfig() *VmConfig

func (*PluginConfig) Hash

func (m *PluginConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*PluginConfig) ProtoMessage

func (*PluginConfig) ProtoMessage()

func (*PluginConfig) ProtoReflect added in v1.6.0

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

func (*PluginConfig) Reset

func (x *PluginConfig) Reset()

func (*PluginConfig) String

func (x *PluginConfig) String() string

type PluginConfig_VmConfig

type PluginConfig_VmConfig struct {
	VmConfig *VmConfig `protobuf:"bytes,3,opt,name=vm_config,json=vmConfig,proto3,oneof"` // TODO: add referential VM configurations.
}

type VmConfig

type VmConfig struct {

	// An ID which will be used along with a hash of the wasm code (or the name of the registered Null
	// VM plugin) to determine which VM will be used for the plugin. All plugins which use the same
	// *vm_id* and code will use the same VM. May be left blank. Sharing a VM between plugins can
	// reduce memory utilization and make sharing of data easier which may have security implications.
	// See ref: "TODO: add ref" for details.
	VmId string `protobuf:"bytes,1,opt,name=vm_id,json=vmId,proto3" json:"vm_id,omitempty"`
	// The Wasm runtime type (either "v8" or "null" for code compiled into Envoy).
	Runtime string `protobuf:"bytes,2,opt,name=runtime,proto3" json:"runtime,omitempty"`
	// The Wasm code that Envoy will execute.
	Code *v3.AsyncDataSource `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
	// The Wasm configuration used in initialization of a new VM
	// (proxy_on_start). `google.protobuf.Struct` is serialized as JSON before
	// passing it to the plugin. `google.protobuf.BytesValue` and
	// `google.protobuf.StringValue` are passed directly without the wrapper.
	Configuration *any.Any `protobuf:"bytes,4,opt,name=configuration,proto3" json:"configuration,omitempty"`
	// Allow the wasm file to include pre-compiled code on VMs which support it.
	// Warning: this should only be enable for trusted sources as the precompiled code is not
	// verified.
	AllowPrecompiled bool `protobuf:"varint,5,opt,name=allow_precompiled,json=allowPrecompiled,proto3" json:"allow_precompiled,omitempty"`
	// If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration
	// update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter
	// warming state.
	NackOnCodeCacheMiss bool `protobuf:"varint,6,opt,name=nack_on_code_cache_miss,json=nackOnCodeCacheMiss,proto3" json:"nack_on_code_cache_miss,omitempty"`
	// contains filtered or unexported fields
}

Configuration for a Wasm VM. [#next-free-field: 7]

func (*VmConfig) Descriptor deprecated

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

Deprecated: Use VmConfig.ProtoReflect.Descriptor instead.

func (*VmConfig) Equal

func (m *VmConfig) Equal(that interface{}) bool

Equal function

func (*VmConfig) GetAllowPrecompiled

func (x *VmConfig) GetAllowPrecompiled() bool

func (*VmConfig) GetCode

func (x *VmConfig) GetCode() *v3.AsyncDataSource

func (*VmConfig) GetConfiguration

func (x *VmConfig) GetConfiguration() *any.Any

func (*VmConfig) GetNackOnCodeCacheMiss

func (x *VmConfig) GetNackOnCodeCacheMiss() bool

func (*VmConfig) GetRuntime

func (x *VmConfig) GetRuntime() string

func (*VmConfig) GetVmId

func (x *VmConfig) GetVmId() string

func (*VmConfig) Hash

func (m *VmConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*VmConfig) ProtoMessage

func (*VmConfig) ProtoMessage()

func (*VmConfig) ProtoReflect added in v1.6.0

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

func (*VmConfig) Reset

func (x *VmConfig) Reset()

func (*VmConfig) String

func (x *VmConfig) String() string

type WasmService

type WasmService struct {

	// General plugin configuration.
	Config *PluginConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// If true, create a single VM rather than creating one VM per worker. Such a singleton can
	// not be used with filters.
	Singleton bool `protobuf:"varint,2,opt,name=singleton,proto3" json:"singleton,omitempty"`
	// contains filtered or unexported fields
}

WasmService is configured as a built-in *envoy.wasm_service* :ref:`WasmService <config_wasm_service>` This opaque configuration will be used to create a Wasm Service.

func (*WasmService) Descriptor deprecated

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

Deprecated: Use WasmService.ProtoReflect.Descriptor instead.

func (*WasmService) Equal

func (m *WasmService) Equal(that interface{}) bool

Equal function

func (*WasmService) GetConfig

func (x *WasmService) GetConfig() *PluginConfig

func (*WasmService) GetSingleton

func (x *WasmService) GetSingleton() bool

func (*WasmService) Hash

func (m *WasmService) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*WasmService) ProtoMessage

func (*WasmService) ProtoMessage()

func (*WasmService) ProtoReflect added in v1.6.0

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

func (*WasmService) Reset

func (x *WasmService) Reset()

func (*WasmService) String

func (x *WasmService) String() string

Jump to

Keyboard shortcuts

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