UNPKG

@kubernetes-models/istio

Version:
88 lines (87 loc) 3.02 kB
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta"; import { Model, ModelData } from "@kubernetes-models/base"; export interface IWasmPlugin { /** * Extend the functionality provided by the Istio proxy through WebAssembly filters. See more details at: https://istio.io/docs/reference/config/proxy_extensions/wasm-plugin.html */ "spec"?: { "imagePullPolicy"?: "UNSPECIFIED_POLICY" | "IfNotPresent" | "Always"; /** * Credentials to use for OCI image pulling. */ "imagePullSecret"?: string; /** * Specifies the criteria to determine which traffic is passed to WasmPlugin. */ "match"?: Array<{ /** * Criteria for selecting traffic by their direction. */ "mode"?: "UNDEFINED" | "CLIENT" | "SERVER" | "CLIENT_AND_SERVER"; /** * Criteria for selecting traffic by their destination port. */ "ports"?: Array<{ "number"?: number; }>; }>; /** * Determines where in the filter chain this `WasmPlugin` is to be injected. */ "phase"?: "UNSPECIFIED_PHASE" | "AUTHN" | "AUTHZ" | "STATS"; /** * The configuration that will be passed on to the plugin. */ "pluginConfig"?: {}; "pluginName"?: string; /** * Determines ordering of `WasmPlugins` in the same `phase`. */ "priority"?: number; "selector"?: { "matchLabels"?: { [key: string]: string; }; }; /** * SHA256 checksum that will be used to verify Wasm module or OCI container. */ "sha256"?: string; /** * URL of a Wasm module or OCI container. */ "url"?: string; "verificationKey"?: string; /** * Configuration for a Wasm VM. */ "vmConfig"?: { /** * Specifies environment variables to be injected to this VM. */ "env"?: Array<{ "name"?: string; /** * Value for the environment variable. */ "value"?: string; "valueFrom"?: "INLINE" | "HOST"; }>; }; }; "status"?: {}; "apiVersion": "extensions.istio.io/v1alpha1"; "kind": "WasmPlugin"; "metadata"?: IObjectMeta; } export declare class WasmPlugin extends Model<IWasmPlugin> implements IWasmPlugin { "spec"?: IWasmPlugin["spec"]; "status"?: IWasmPlugin["status"]; "apiVersion": IWasmPlugin["apiVersion"]; "kind": IWasmPlugin["kind"]; "metadata"?: IWasmPlugin["metadata"]; static apiVersion: IWasmPlugin["apiVersion"]; static kind: IWasmPlugin["kind"]; static is: import("@kubernetes-models/base").TypeMetaGuard<IWasmPlugin>; constructor(data?: ModelData<IWasmPlugin>); }