Documentation ¶
Index ¶
- Variables
- type PluginConfig
- func (m *PluginConfig) Clone() proto.Message
- func (*PluginConfig) Descriptor() ([]byte, []int)deprecated
- func (m *PluginConfig) Equal(that interface{}) bool
- func (x *PluginConfig) GetConfiguration() *anypb.Any
- func (x *PluginConfig) GetFailOpen() bool
- func (x *PluginConfig) GetName() string
- func (x *PluginConfig) GetRootId() string
- func (m *PluginConfig) GetVm() isPluginConfig_Vm
- func (x *PluginConfig) GetVmConfig() *VmConfig
- func (m *PluginConfig) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *PluginConfig) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*PluginConfig) ProtoMessage()
- func (x *PluginConfig) ProtoReflect() protoreflect.Message
- func (x *PluginConfig) Reset()
- func (x *PluginConfig) String() string
- type PluginConfig_VmConfig
- type VmConfig
- func (m *VmConfig) Clone() proto.Message
- func (*VmConfig) Descriptor() ([]byte, []int)deprecated
- func (m *VmConfig) Equal(that interface{}) bool
- func (x *VmConfig) GetAllowPrecompiled() bool
- func (x *VmConfig) GetCode() *v3.AsyncDataSource
- func (x *VmConfig) GetConfiguration() *anypb.Any
- func (x *VmConfig) GetNackOnCodeCacheMiss() bool
- func (x *VmConfig) GetRuntime() string
- func (x *VmConfig) GetVmId() string
- func (m *VmConfig) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *VmConfig) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*VmConfig) ProtoMessage()
- func (x *VmConfig) ProtoReflect() protoreflect.Message
- func (x *VmConfig) Reset()
- func (x *VmConfig) String() string
- type WasmService
- func (m *WasmService) Clone() proto.Message
- func (*WasmService) Descriptor() ([]byte, []int)deprecated
- func (m *WasmService) Equal(that interface{}) bool
- func (x *WasmService) GetConfig() *PluginConfig
- func (x *WasmService) GetSingleton() bool
- func (m *WasmService) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *WasmService) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*WasmService) ProtoMessage()
- func (x *WasmService) ProtoReflect() protoreflect.Message
- func (x *WasmService) Reset()
- func (x *WasmService) String() string
Constants ¶
This section is empty.
Variables ¶
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 *anypb.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) Clone ¶ added in v1.8.24
func (m *PluginConfig) Clone() proto.Message
Clone function
func (*PluginConfig) Descriptor
deprecated
func (*PluginConfig) Descriptor() ([]byte, []int)
Deprecated: Use PluginConfig.ProtoReflect.Descriptor instead.
func (*PluginConfig) GetConfiguration ¶
func (x *PluginConfig) GetConfiguration() *anypb.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
deprecated
func (m *PluginConfig) Hash(hasher hash.Hash64) (uint64, error)
Hash function
Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.
func (*PluginConfig) HashUnique ¶ added in v1.18.0
func (m *PluginConfig) HashUnique(hasher hash.Hash64) (uint64, error)
HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.
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 *anypb.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) GetAllowPrecompiled ¶
func (*VmConfig) GetCode ¶
func (x *VmConfig) GetCode() *v3.AsyncDataSource
func (*VmConfig) GetConfiguration ¶
func (*VmConfig) GetNackOnCodeCacheMiss ¶
func (*VmConfig) GetRuntime ¶
func (*VmConfig) HashUnique ¶ added in v1.18.0
HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.
func (*VmConfig) ProtoMessage ¶
func (*VmConfig) ProtoMessage()
func (*VmConfig) ProtoReflect ¶ added in v1.6.0
func (x *VmConfig) ProtoReflect() protoreflect.Message
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) Clone ¶ added in v1.8.24
func (m *WasmService) Clone() proto.Message
Clone function
func (*WasmService) Descriptor
deprecated
func (*WasmService) Descriptor() ([]byte, []int)
Deprecated: Use WasmService.ProtoReflect.Descriptor instead.
func (*WasmService) GetConfig ¶
func (x *WasmService) GetConfig() *PluginConfig
func (*WasmService) GetSingleton ¶
func (x *WasmService) GetSingleton() bool
func (*WasmService) Hash
deprecated
func (m *WasmService) Hash(hasher hash.Hash64) (uint64, error)
Hash function
Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.
func (*WasmService) HashUnique ¶ added in v1.18.0
func (m *WasmService) HashUnique(hasher hash.Hash64) (uint64, error)
HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.
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