WasmExtension Service

import { PanelContent, PanelContentCode, } from “@theme/Panel”;

Service to manage WASM extensions.

WasmExtensions

The WasmExtension service provides methods to manage the extensions inside an Organization. WasmExtensions are created inside TSB and assigned later to SecuritySettings and IngressGateways.

GetWasmExtension

rpc GetWasmExtension (tetrateio.api.tsb.extension.v2.GetWasmExtensionRequest) returns (tetrateio.api.tsb.extension.v2.WasmExtension)

Requires READ

Get a WASM extension

ListWasmExtension

rpc ListWasmExtension (tetrateio.api.tsb.extension.v2.ListWasmExtensionRequest) returns (tetrateio.api.tsb.extension.v2.ListWasmExtensionResponse)

List the WASM extensions that are defined for the Organization.

CreateWasmExtension

rpc CreateWasmExtension (tetrateio.api.tsb.extension.v2.CreateWasmExtensionRequest) returns (tetrateio.api.tsb.extension.v2.WasmExtension)

Requires CREATE

Creates a new WasmExtension object in TSB. This is needed to let the extensions run. Once a WasmExtension has been created, it can be assigned to IngressGateway and SecuritySetting. This method returns the created extension.

UpdateWasmExtension

rpc UpdateWasmExtension (tetrateio.api.tsb.extension.v2.WasmExtension) returns (tetrateio.api.tsb.extension.v2.WasmExtension)

Requires WRITE

Modify an existing WasmExtension. When modifying the details of an extension in use, such as the image property, enabled flag, phase, or default configuration, a redeploy or reconfiguration of the extension may be triggered, affecting live traffic in all those places that reference the extension. Similarly, changes to the allowed_in property may trigger the removal of the extension from all places where the extension was in use that are not allowed to use it anymore, affecting live traffic on the relevant namespaces as well.

DeleteWasmExtension

rpc DeleteWasmExtension (tetrateio.api.tsb.extension.v2.DeleteWasmExtensionRequest) returns (google.protobuf.Empty)

Requires DELETE

Delete a WasmExtension. Note that deleting a WasmExtension will delete the extension itself, and also its assignments to IngressGateway and SecuritySetting.

CreateWasmExtensionRequest

Request to create a WasmExtension and make it available to be assigned to IngressGateway and SecuritySetting.

Field Description Validation Rule

parent

string
REQUIRED
Parent resource where the extension will be created. This is the FQN of the organization.

string = {
  min_len: 1
}

name

string
REQUIRED
The short name for the resource to be created.

string = {
  min_len: 1
}

wasmExtension

tetrateio.api.tsb.extension.v2.WasmExtension
REQUIRED
Details of the extension to be created.

message = {
  required: true
}

DeleteWasmExtensionRequest

Request to delete a WasmExtension.

Field Description Validation Rule

fqn

string
REQUIRED
Fully-qualified name of the WasmExtension.

string = {
  min_len: 1
}

GetWasmExtensionRequest

Request to retrieve a WASM extension.

Field Description Validation Rule

fqn

string
REQUIRED
Fully-qualified name of the extension.

string = {
  min_len: 1
}

ListWasmExtensionRequest

Request to retrieve the list of WASM extensions for a given Organization.

Field Description Validation Rule

parent

string
REQUIRED
Parent resource where the WasmExtension will be created.

string = {
  min_len: 1
}

ListWasmExtensionResponse

List of WASM Extensions.

Field Description Validation Rule

extensions

List of tetrateio.api.tsb.extension.v2.WasmExtension