mirror of
https://github.com/morten-olsen/homelab-operator.git
synced 2026-02-08 01:36:28 +01:00
569 lines
16 KiB
TypeScript
569 lines
16 KiB
TypeScript
/* eslint-disable */
|
|
/**
|
|
* This file was automatically generated by json-schema-to-typescript.
|
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
* and run json-schema-to-typescript to regenerate this file.
|
|
*/
|
|
|
|
export interface K8SVirtualServiceV1Alpha3 {
|
|
/**
|
|
* Configuration affecting label/content routing, sni routing, etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html
|
|
*/
|
|
spec?: {
|
|
/**
|
|
* A list of namespaces to which this virtual service is exported.
|
|
*/
|
|
exportTo?: string[];
|
|
/**
|
|
* The names of gateways and sidecars that should apply these routes.
|
|
*/
|
|
gateways?: string[];
|
|
/**
|
|
* The destination hosts to which traffic is being sent.
|
|
*/
|
|
hosts?: string[];
|
|
/**
|
|
* An ordered list of route rules for HTTP traffic.
|
|
*/
|
|
http?: {
|
|
/**
|
|
* Cross-Origin Resource Sharing policy (CORS).
|
|
*/
|
|
corsPolicy?: {
|
|
/**
|
|
* Indicates whether the caller is allowed to send the actual request (not the preflight) using credentials.
|
|
*/
|
|
allowCredentials?: boolean;
|
|
/**
|
|
* List of HTTP headers that can be used when requesting the resource.
|
|
*/
|
|
allowHeaders?: string[];
|
|
/**
|
|
* List of HTTP methods allowed to access the resource.
|
|
*/
|
|
allowMethods?: string[];
|
|
allowOrigin?: string[];
|
|
/**
|
|
* String patterns that match allowed origins.
|
|
*/
|
|
allowOrigins?: {
|
|
[k: string]: unknown;
|
|
}[];
|
|
/**
|
|
* A list of HTTP headers that the browsers are allowed to access.
|
|
*/
|
|
exposeHeaders?: string[];
|
|
/**
|
|
* Specifies how long the results of a preflight request can be cached.
|
|
*/
|
|
maxAge?: string;
|
|
/**
|
|
* Indicates whether preflight requests not matching the configured allowed origin shouldn't be forwarded to the upstream.
|
|
*
|
|
* Valid Options: FORWARD, IGNORE
|
|
*/
|
|
unmatchedPreflights?: "UNSPECIFIED" | "FORWARD" | "IGNORE";
|
|
};
|
|
/**
|
|
* Delegate is used to specify the particular VirtualService which can be used to define delegate HTTPRoute.
|
|
*/
|
|
delegate?: {
|
|
/**
|
|
* Name specifies the name of the delegate VirtualService.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* Namespace specifies the namespace where the delegate VirtualService resides.
|
|
*/
|
|
namespace?: string;
|
|
};
|
|
/**
|
|
* A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
|
|
*/
|
|
directResponse?: {
|
|
/**
|
|
* Specifies the content of the response body.
|
|
*/
|
|
body?: {
|
|
[k: string]: unknown;
|
|
};
|
|
/**
|
|
* Specifies the HTTP response status to be returned.
|
|
*/
|
|
status: number;
|
|
};
|
|
/**
|
|
* Fault injection policy to apply on HTTP traffic at the client side.
|
|
*/
|
|
fault?: {
|
|
/**
|
|
* Abort Http request attempts and return error codes back to downstream service, giving the impression that the upstream service is faulty.
|
|
*/
|
|
abort?: {
|
|
[k: string]: unknown;
|
|
};
|
|
/**
|
|
* Delay requests before forwarding, emulating various failures such as network issues, overloaded upstream service, etc.
|
|
*/
|
|
delay?: {
|
|
[k: string]: unknown;
|
|
};
|
|
};
|
|
headers?: {
|
|
request?: {
|
|
add?: {
|
|
[k: string]: string;
|
|
};
|
|
remove?: string[];
|
|
set?: {
|
|
[k: string]: string;
|
|
};
|
|
};
|
|
response?: {
|
|
add?: {
|
|
[k: string]: string;
|
|
};
|
|
remove?: string[];
|
|
set?: {
|
|
[k: string]: string;
|
|
};
|
|
};
|
|
};
|
|
/**
|
|
* Match conditions to be satisfied for the rule to be activated.
|
|
*/
|
|
match?: {
|
|
/**
|
|
* HTTP Authority values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
|
|
*/
|
|
authority?: {
|
|
[k: string]: unknown;
|
|
};
|
|
/**
|
|
* Names of gateways where the rule should be applied.
|
|
*/
|
|
gateways?: string[];
|
|
/**
|
|
* The header keys must be lowercase and use hyphen as the separator, e.g.
|
|
*/
|
|
headers?: {
|
|
[k: string]: {
|
|
[k: string]: unknown;
|
|
};
|
|
};
|
|
/**
|
|
* Flag to specify whether the URI matching should be case-insensitive.
|
|
*/
|
|
ignoreUriCase?: boolean;
|
|
/**
|
|
* HTTP Method values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
|
|
*/
|
|
method?: {
|
|
[k: string]: unknown;
|
|
};
|
|
/**
|
|
* The name assigned to a match.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* Specifies the ports on the host that is being addressed.
|
|
*/
|
|
port?: number;
|
|
/**
|
|
* Query parameters for matching.
|
|
*/
|
|
queryParams?: {
|
|
[k: string]: {
|
|
[k: string]: unknown;
|
|
};
|
|
};
|
|
/**
|
|
* URI Scheme values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
|
|
*/
|
|
scheme?: {
|
|
[k: string]: unknown;
|
|
};
|
|
/**
|
|
* One or more labels that constrain the applicability of a rule to source (client) workloads with the given labels.
|
|
*/
|
|
sourceLabels?: {
|
|
[k: string]: string;
|
|
};
|
|
/**
|
|
* Source namespace constraining the applicability of a rule to workloads in that namespace.
|
|
*/
|
|
sourceNamespace?: string;
|
|
/**
|
|
* The human readable prefix to use when emitting statistics for this route.
|
|
*/
|
|
statPrefix?: string;
|
|
/**
|
|
* URI to match values are case-sensitive and formatted as follows: - `exact: "value"` for exact string match - `prefix: "value"` for prefix-based match - `regex: "value"` for [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
|
|
*/
|
|
uri?: {
|
|
[k: string]: unknown;
|
|
};
|
|
/**
|
|
* withoutHeader has the same syntax with the header, but has opposite meaning.
|
|
*/
|
|
withoutHeaders?: {
|
|
[k: string]: {
|
|
[k: string]: unknown;
|
|
};
|
|
};
|
|
}[];
|
|
/**
|
|
* Mirror HTTP traffic to a another destination in addition to forwarding the requests to the intended destination.
|
|
*/
|
|
mirror?: {
|
|
/**
|
|
* 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;
|
|
};
|
|
mirrorPercent?: number;
|
|
/**
|
|
* Percentage of the traffic to be mirrored by the `mirror` field.
|
|
*/
|
|
mirrorPercentage?: {
|
|
value?: number;
|
|
};
|
|
mirror_percent?: number;
|
|
/**
|
|
* Specifies the destinations to mirror HTTP traffic in addition to the original destination.
|
|
*/
|
|
mirrors?: {
|
|
/**
|
|
* Destination specifies the target of the mirror operation.
|
|
*/
|
|
destination: {
|
|
/**
|
|
* 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;
|
|
};
|
|
/**
|
|
* Percentage of the traffic to be mirrored by the `destination` field.
|
|
*/
|
|
percentage?: {
|
|
value?: number;
|
|
};
|
|
}[];
|
|
/**
|
|
* The name assigned to the route for debugging purposes.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
|
|
*/
|
|
redirect?: {
|
|
[k: string]: unknown;
|
|
};
|
|
/**
|
|
* Retry policy for HTTP requests.
|
|
*/
|
|
retries?: {
|
|
/**
|
|
* Number of retries to be allowed for a given request.
|
|
*/
|
|
attempts?: number;
|
|
/**
|
|
* Timeout per attempt for a given request, including the initial call and any retries.
|
|
*/
|
|
perTryTimeout?: string;
|
|
/**
|
|
* Specifies the conditions under which retry takes place.
|
|
*/
|
|
retryOn?: string;
|
|
/**
|
|
* Flag to specify whether the retries should retry to other localities.
|
|
*/
|
|
retryRemoteLocalities?: boolean;
|
|
};
|
|
/**
|
|
* Rewrite HTTP URIs and Authority headers.
|
|
*/
|
|
rewrite?: {
|
|
/**
|
|
* rewrite the Authority/Host header with this value.
|
|
*/
|
|
authority?: string;
|
|
/**
|
|
* rewrite the path (or the prefix) portion of the URI with this value.
|
|
*/
|
|
uri?: string;
|
|
/**
|
|
* rewrite the path portion of the URI with the specified regex.
|
|
*/
|
|
uriRegexRewrite?: {
|
|
/**
|
|
* [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
|
|
*/
|
|
match?: string;
|
|
/**
|
|
* The string that should replace into matching portions of original URI.
|
|
*/
|
|
rewrite?: string;
|
|
};
|
|
};
|
|
/**
|
|
* A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
|
|
*/
|
|
route?: {
|
|
/**
|
|
* Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
|
|
*/
|
|
destination: {
|
|
/**
|
|
* 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;
|
|
};
|
|
headers?: {
|
|
request?: {
|
|
add?: {
|
|
[k: string]: string;
|
|
};
|
|
remove?: string[];
|
|
set?: {
|
|
[k: string]: string;
|
|
};
|
|
};
|
|
response?: {
|
|
add?: {
|
|
[k: string]: string;
|
|
};
|
|
remove?: string[];
|
|
set?: {
|
|
[k: string]: string;
|
|
};
|
|
};
|
|
};
|
|
/**
|
|
* Weight specifies the relative proportion of traffic to be forwarded to the destination.
|
|
*/
|
|
weight?: number;
|
|
}[];
|
|
/**
|
|
* Timeout for HTTP requests, default is disabled.
|
|
*/
|
|
timeout?: string;
|
|
}[];
|
|
/**
|
|
* An ordered list of route rules for opaque TCP traffic.
|
|
*/
|
|
tcp?: {
|
|
/**
|
|
* Match conditions to be satisfied for the rule to be activated.
|
|
*/
|
|
match?: {
|
|
/**
|
|
* IPv4 or IPv6 ip addresses of destination with optional subnet.
|
|
*/
|
|
destinationSubnets?: string[];
|
|
/**
|
|
* Names of gateways where the rule should be applied.
|
|
*/
|
|
gateways?: string[];
|
|
/**
|
|
* Specifies the port on the host that is being addressed.
|
|
*/
|
|
port?: number;
|
|
/**
|
|
* One or more labels that constrain the applicability of a rule to workloads with the given labels.
|
|
*/
|
|
sourceLabels?: {
|
|
[k: string]: string;
|
|
};
|
|
/**
|
|
* Source namespace constraining the applicability of a rule to workloads in that namespace.
|
|
*/
|
|
sourceNamespace?: string;
|
|
sourceSubnet?: string;
|
|
}[];
|
|
/**
|
|
* The destination to which the connection should be forwarded to.
|
|
*/
|
|
route?: {
|
|
/**
|
|
* Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
|
|
*/
|
|
destination: {
|
|
/**
|
|
* 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;
|
|
};
|
|
/**
|
|
* Weight specifies the relative proportion of traffic to be forwarded to the destination.
|
|
*/
|
|
weight?: number;
|
|
}[];
|
|
}[];
|
|
/**
|
|
* An ordered list of route rule for non-terminated TLS & HTTPS traffic.
|
|
*/
|
|
tls?: {
|
|
/**
|
|
* Match conditions to be satisfied for the rule to be activated.
|
|
*/
|
|
match: {
|
|
/**
|
|
* IPv4 or IPv6 ip addresses of destination with optional subnet.
|
|
*/
|
|
destinationSubnets?: string[];
|
|
/**
|
|
* Names of gateways where the rule should be applied.
|
|
*/
|
|
gateways?: string[];
|
|
/**
|
|
* Specifies the port on the host that is being addressed.
|
|
*/
|
|
port?: number;
|
|
/**
|
|
* SNI (server name indicator) to match on.
|
|
*/
|
|
sniHosts: string[];
|
|
/**
|
|
* One or more labels that constrain the applicability of a rule to workloads with the given labels.
|
|
*/
|
|
sourceLabels?: {
|
|
[k: string]: string;
|
|
};
|
|
/**
|
|
* Source namespace constraining the applicability of a rule to workloads in that namespace.
|
|
*/
|
|
sourceNamespace?: string;
|
|
}[];
|
|
/**
|
|
* The destination to which the connection should be forwarded to.
|
|
*/
|
|
route?: {
|
|
/**
|
|
* Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
|
|
*/
|
|
destination: {
|
|
/**
|
|
* 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;
|
|
};
|
|
/**
|
|
* Weight specifies the relative proportion of traffic to be forwarded to the destination.
|
|
*/
|
|
weight?: number;
|
|
}[];
|
|
}[];
|
|
};
|
|
status?: {
|
|
/**
|
|
* Current service state of the resource.
|
|
*/
|
|
conditions?: {
|
|
/**
|
|
* Last time we probed the condition.
|
|
*/
|
|
lastProbeTime?: string;
|
|
/**
|
|
* Last time the condition transitioned from one status to another.
|
|
*/
|
|
lastTransitionTime?: string;
|
|
/**
|
|
* Human-readable message indicating details about last transition.
|
|
*/
|
|
message?: string;
|
|
/**
|
|
* Unique, one-word, CamelCase reason for the condition's last transition.
|
|
*/
|
|
reason?: string;
|
|
/**
|
|
* Status is the status of the condition.
|
|
*/
|
|
status?: string;
|
|
/**
|
|
* Type is the type of the condition.
|
|
*/
|
|
type?: string;
|
|
}[];
|
|
/**
|
|
* Resource Generation to which the Reconciled Condition refers.
|
|
*/
|
|
observedGeneration?: number | string;
|
|
/**
|
|
* Includes any errors or warnings detected by Istio's analyzers.
|
|
*/
|
|
validationMessages?: {
|
|
/**
|
|
* A url pointing to the Istio documentation for this specific error type.
|
|
*/
|
|
documentationUrl?: string;
|
|
/**
|
|
* Represents how severe a message is.
|
|
*
|
|
* Valid Options: UNKNOWN, ERROR, WARNING, INFO
|
|
*/
|
|
level?: "UNKNOWN" | "ERROR" | "WARNING" | "INFO";
|
|
type?: {
|
|
/**
|
|
* A 7 character code matching `^IST[0-9]{4}$` intended to uniquely identify the message type.
|
|
*/
|
|
code?: string;
|
|
/**
|
|
* A human-readable name for the message type.
|
|
*/
|
|
name?: string;
|
|
};
|
|
}[];
|
|
};
|
|
}
|