go-control-plane: github.com/envoyproxy/go-control-plane/envoy/extensions/wasm/v3 Index | Files

package envoy_extensions_wasm_v3

import "github.com/envoyproxy/go-control-plane/envoy/extensions/wasm/v3"

Index

Package Files

wasm.pb.go wasm.pb.validate.go

Variables

var File_envoy_extensions_wasm_v3_wasm_proto protoreflect.FileDescriptor

type PluginConfig Uses

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 Uses

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

Deprecated: Use PluginConfig.ProtoReflect.Descriptor instead.

func (*PluginConfig) GetConfiguration Uses

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

func (*PluginConfig) GetFailOpen Uses

func (x *PluginConfig) GetFailOpen() bool

func (*PluginConfig) GetName Uses

func (x *PluginConfig) GetName() string

func (*PluginConfig) GetRootId Uses

func (x *PluginConfig) GetRootId() string

func (*PluginConfig) GetVm Uses

func (m *PluginConfig) GetVm() isPluginConfig_Vm

func (*PluginConfig) GetVmConfig Uses

func (x *PluginConfig) GetVmConfig() *VmConfig

func (*PluginConfig) ProtoMessage Uses

func (*PluginConfig) ProtoMessage()

func (*PluginConfig) ProtoReflect Uses

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

func (*PluginConfig) Reset Uses

func (x *PluginConfig) Reset()

func (*PluginConfig) String Uses

func (x *PluginConfig) String() string

func (*PluginConfig) Validate Uses

func (m *PluginConfig) Validate() error

Validate checks the field values on PluginConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type PluginConfigValidationError Uses

type PluginConfigValidationError struct {
    // contains filtered or unexported fields
}

PluginConfigValidationError is the validation error returned by PluginConfig.Validate if the designated constraints aren't met.

func (PluginConfigValidationError) Cause Uses

func (e PluginConfigValidationError) Cause() error

Cause function returns cause value.

func (PluginConfigValidationError) Error Uses

func (e PluginConfigValidationError) Error() string

Error satisfies the builtin error interface

func (PluginConfigValidationError) ErrorName Uses

func (e PluginConfigValidationError) ErrorName() string

ErrorName returns error name.

func (PluginConfigValidationError) Field Uses

func (e PluginConfigValidationError) Field() string

Field function returns field value.

func (PluginConfigValidationError) Key Uses

func (e PluginConfigValidationError) Key() bool

Key function returns key value.

func (PluginConfigValidationError) Reason Uses

func (e PluginConfigValidationError) Reason() string

Reason function returns reason value.

type PluginConfig_VmConfig Uses

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

type VmConfig Uses

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.
    // Available Wasm runtime types are registered as extensions. The following runtimes are included
    // in Envoy code base:
    //
    // .. _extension_envoy.wasm.runtime.null:
    //
    // **envoy.wasm.runtime.null**: Null sandbox, the Wasm module must be compiled and linked into the
    // Envoy binary. The registered name is given in the *code* field as *inline_string*.
    //
    // .. _extension_envoy.wasm.runtime.v8:
    //
    // **envoy.wasm.runtime.v8**: `V8 <https://v8.dev/>`_-based WebAssembly runtime.
    //
    // .. _extension_envoy.wasm.runtime.wavm:
    //
    // **envoy.wasm.runtime.wavm**: `WAVM <https://wavm.github.io/>`_-based WebAssembly runtime.
    // This runtime is not enabled in the official build.
    //
    // .. _extension_envoy.wasm.runtime.wasmtime:
    //
    // **envoy.wasm.runtime.wasmtime**: `Wasmtime <https://wasmtime.dev/>`_-based WebAssembly runtime.
    // This runtime is not enabled in the official build.
    //
    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 Uses

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

Deprecated: Use VmConfig.ProtoReflect.Descriptor instead.

func (*VmConfig) GetAllowPrecompiled Uses

func (x *VmConfig) GetAllowPrecompiled() bool

func (*VmConfig) GetCode Uses

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

func (*VmConfig) GetConfiguration Uses

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

func (*VmConfig) GetNackOnCodeCacheMiss Uses

func (x *VmConfig) GetNackOnCodeCacheMiss() bool

func (*VmConfig) GetRuntime Uses

func (x *VmConfig) GetRuntime() string

func (*VmConfig) GetVmId Uses

func (x *VmConfig) GetVmId() string

func (*VmConfig) ProtoMessage Uses

func (*VmConfig) ProtoMessage()

func (*VmConfig) ProtoReflect Uses

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

func (*VmConfig) Reset Uses

func (x *VmConfig) Reset()

func (*VmConfig) String Uses

func (x *VmConfig) String() string

func (*VmConfig) Validate Uses

func (m *VmConfig) Validate() error

Validate checks the field values on VmConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type VmConfigValidationError Uses

type VmConfigValidationError struct {
    // contains filtered or unexported fields
}

VmConfigValidationError is the validation error returned by VmConfig.Validate if the designated constraints aren't met.

func (VmConfigValidationError) Cause Uses

func (e VmConfigValidationError) Cause() error

Cause function returns cause value.

func (VmConfigValidationError) Error Uses

func (e VmConfigValidationError) Error() string

Error satisfies the builtin error interface

func (VmConfigValidationError) ErrorName Uses

func (e VmConfigValidationError) ErrorName() string

ErrorName returns error name.

func (VmConfigValidationError) Field Uses

func (e VmConfigValidationError) Field() string

Field function returns field value.

func (VmConfigValidationError) Key Uses

func (e VmConfigValidationError) Key() bool

Key function returns key value.

func (VmConfigValidationError) Reason Uses

func (e VmConfigValidationError) Reason() string

Reason function returns reason value.

type WasmService Uses

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 Uses

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

Deprecated: Use WasmService.ProtoReflect.Descriptor instead.

func (*WasmService) GetConfig Uses

func (x *WasmService) GetConfig() *PluginConfig

func (*WasmService) GetSingleton Uses

func (x *WasmService) GetSingleton() bool

func (*WasmService) ProtoMessage Uses

func (*WasmService) ProtoMessage()

func (*WasmService) ProtoReflect Uses

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

func (*WasmService) Reset Uses

func (x *WasmService) Reset()

func (*WasmService) String Uses

func (x *WasmService) String() string

func (*WasmService) Validate Uses

func (m *WasmService) Validate() error

Validate checks the field values on WasmService with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type WasmServiceValidationError Uses

type WasmServiceValidationError struct {
    // contains filtered or unexported fields
}

WasmServiceValidationError is the validation error returned by WasmService.Validate if the designated constraints aren't met.

func (WasmServiceValidationError) Cause Uses

func (e WasmServiceValidationError) Cause() error

Cause function returns cause value.

func (WasmServiceValidationError) Error Uses

func (e WasmServiceValidationError) Error() string

Error satisfies the builtin error interface

func (WasmServiceValidationError) ErrorName Uses

func (e WasmServiceValidationError) ErrorName() string

ErrorName returns error name.

func (WasmServiceValidationError) Field Uses

func (e WasmServiceValidationError) Field() string

Field function returns field value.

func (WasmServiceValidationError) Key Uses

func (e WasmServiceValidationError) Key() bool

Key function returns key value.

func (WasmServiceValidationError) Reason Uses

func (e WasmServiceValidationError) Reason() string

Reason function returns reason value.

Package envoy_extensions_wasm_v3 imports 20 packages (graph) and is imported by 13 packages. Updated 2021-01-07. Refresh now. Tools for package owners.