@kubernetes-models/istio
Version:
133 lines (132 loc) • 4.68 kB
TypeScript
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@kubernetes-models/base";
export interface ISidecar {
/**
* Configuration affecting network reachability of a sidecar. See more details at: https://istio.io/docs/reference/config/networking/sidecar.html
*/
"spec"?: {
"egress"?: Array<{
"bind"?: string;
"captureMode"?: "DEFAULT" | "IPTABLES" | "NONE";
"hosts"?: Array<string>;
/**
* The port associated with the listener.
*/
"port"?: {
/**
* Label assigned to the port.
*/
"name"?: string;
/**
* A valid non-negative integer port number.
*/
"number"?: number;
/**
* The protocol exposed on the port.
*/
"protocol"?: string;
"targetPort"?: number;
};
}>;
"ingress"?: Array<{
/**
* The IP(IPv4 or IPv6) to which the listener should be bound.
*/
"bind"?: string;
"captureMode"?: "DEFAULT" | "IPTABLES" | "NONE";
"defaultEndpoint"?: string;
/**
* The port associated with the listener.
*/
"port"?: {
/**
* Label assigned to the port.
*/
"name"?: string;
/**
* A valid non-negative integer port number.
*/
"number"?: number;
/**
* The protocol exposed on the port.
*/
"protocol"?: string;
"targetPort"?: number;
};
"tls"?: {
/**
* REQUIRED if mode is `MUTUAL`.
*/
"caCertificates"?: string;
/**
* Optional: If specified, only support the specified cipher list.
*/
"cipherSuites"?: Array<string>;
"credentialName"?: string;
"httpsRedirect"?: boolean;
/**
* Optional: Maximum TLS protocol version.
*/
"maxProtocolVersion"?: "TLS_AUTO" | "TLSV1_0" | "TLSV1_1" | "TLSV1_2" | "TLSV1_3";
/**
* Optional: Minimum TLS protocol version.
*/
"minProtocolVersion"?: "TLS_AUTO" | "TLSV1_0" | "TLSV1_1" | "TLSV1_2" | "TLSV1_3";
"mode"?: "PASSTHROUGH" | "SIMPLE" | "MUTUAL" | "AUTO_PASSTHROUGH" | "ISTIO_MUTUAL";
/**
* REQUIRED if mode is `SIMPLE` or `MUTUAL`.
*/
"privateKey"?: string;
/**
* REQUIRED if mode is `SIMPLE` or `MUTUAL`.
*/
"serverCertificate"?: string;
"subjectAltNames"?: Array<string>;
"verifyCertificateHash"?: Array<string>;
"verifyCertificateSpki"?: Array<string>;
};
}>;
/**
* Configuration for the outbound traffic policy.
*/
"outboundTrafficPolicy"?: {
"egressProxy"?: {
/**
* The name of a service from the service registry.
*/
"host"?: string;
/**
* Specifies the port on the host that is being addressed.
*/
"port"?: {
"number"?: number;
};
/**
* The name of a subset within the service.
*/
"subset"?: string;
};
"mode"?: "REGISTRY_ONLY" | "ALLOW_ANY";
};
"workloadSelector"?: {
"labels"?: {
[key: string]: string;
};
};
};
"status"?: {};
"apiVersion": "networking.istio.io/v1alpha3";
"kind": "Sidecar";
"metadata"?: IObjectMeta;
}
export declare class Sidecar extends Model<ISidecar> implements ISidecar {
"spec"?: ISidecar["spec"];
"status"?: ISidecar["status"];
"apiVersion": ISidecar["apiVersion"];
"kind": ISidecar["kind"];
"metadata"?: ISidecar["metadata"];
static apiVersion: ISidecar["apiVersion"];
static kind: ISidecar["kind"];
static is: import("@kubernetes-models/base").TypeMetaGuard<ISidecar>;
constructor(data?: ModelData<ISidecar>);
}