@kubernetes-models/istio
Version:
88 lines (87 loc) • 3.02 kB
TypeScript
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"?: {
[]: 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>);
}