732 lines
34 KiB
YAML
732 lines
34 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.13.0
|
|
name: virtualservers.k8s.nginx.org
|
|
spec:
|
|
group: k8s.nginx.org
|
|
names:
|
|
kind: VirtualServer
|
|
listKind: VirtualServerList
|
|
plural: virtualservers
|
|
shortNames:
|
|
- vs
|
|
singular: virtualserver
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Current state of the VirtualServer. If the resource has a valid status, it means it has been validated and accepted by the Ingress Controller.
|
|
jsonPath: .status.state
|
|
name: State
|
|
type: string
|
|
- jsonPath: .spec.host
|
|
name: Host
|
|
type: string
|
|
- jsonPath: .status.externalEndpoints[*].ip
|
|
name: IP
|
|
type: string
|
|
- jsonPath: .status.externalEndpoints[*].hostname
|
|
name: ExternalHostname
|
|
priority: 1
|
|
type: string
|
|
- jsonPath: .status.externalEndpoints[*].ports
|
|
name: Ports
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VirtualServer defines the VirtualServer resource.
|
|
type: object
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: VirtualServerSpec is the spec of the VirtualServer resource.
|
|
type: object
|
|
properties:
|
|
dos:
|
|
type: string
|
|
externalDNS:
|
|
description: ExternalDNS defines externaldns sub-resource of a virtual server.
|
|
type: object
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
labels:
|
|
description: Labels stores labels defined for the Endpoint
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
providerSpecific:
|
|
description: ProviderSpecific stores provider specific config
|
|
type: array
|
|
items:
|
|
description: ProviderSpecificProperty defines specific property for using with ExternalDNS sub-resource.
|
|
type: object
|
|
properties:
|
|
name:
|
|
description: Name of the property
|
|
type: string
|
|
value:
|
|
description: Value of the property
|
|
type: string
|
|
recordTTL:
|
|
description: TTL for the record
|
|
type: integer
|
|
format: int64
|
|
recordType:
|
|
type: string
|
|
gunzip:
|
|
type: boolean
|
|
host:
|
|
type: string
|
|
http-snippets:
|
|
type: string
|
|
ingressClassName:
|
|
type: string
|
|
internalRoute:
|
|
description: InternalRoute allows for the configuration of internal routing.
|
|
type: boolean
|
|
listener:
|
|
description: Listener references a custom http and/or https listener defined in GlobalConfiguration.
|
|
type: object
|
|
properties:
|
|
http:
|
|
type: string
|
|
https:
|
|
type: string
|
|
policies:
|
|
type: array
|
|
items:
|
|
description: PolicyReference references a policy by name and an optional namespace.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
routes:
|
|
type: array
|
|
items:
|
|
description: Route defines a route.
|
|
type: object
|
|
properties:
|
|
action:
|
|
description: Action defines an action.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: string
|
|
proxy:
|
|
description: ActionProxy defines a proxy in an Action.
|
|
type: object
|
|
properties:
|
|
requestHeaders:
|
|
description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: boolean
|
|
set:
|
|
type: array
|
|
items:
|
|
description: Header defines an HTTP Header.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
responseHeaders:
|
|
description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
add:
|
|
type: array
|
|
items:
|
|
description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive.
|
|
type: object
|
|
properties:
|
|
always:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
hide:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ignore:
|
|
type: array
|
|
items:
|
|
type: string
|
|
pass:
|
|
type: array
|
|
items:
|
|
type: string
|
|
rewritePath:
|
|
type: string
|
|
upstream:
|
|
type: string
|
|
redirect:
|
|
description: ActionRedirect defines a redirect in an Action.
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
url:
|
|
type: string
|
|
return:
|
|
description: ActionReturn defines a return in an Action.
|
|
type: object
|
|
properties:
|
|
body:
|
|
type: string
|
|
code:
|
|
type: integer
|
|
type:
|
|
type: string
|
|
dos:
|
|
type: string
|
|
errorPages:
|
|
type: array
|
|
items:
|
|
description: ErrorPage defines an ErrorPage in a Route.
|
|
type: object
|
|
properties:
|
|
codes:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
redirect:
|
|
description: ErrorPageRedirect defines a redirect for an ErrorPage.
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
url:
|
|
type: string
|
|
return:
|
|
description: ErrorPageReturn defines a return for an ErrorPage.
|
|
type: object
|
|
properties:
|
|
body:
|
|
type: string
|
|
code:
|
|
type: integer
|
|
headers:
|
|
type: array
|
|
items:
|
|
description: Header defines an HTTP Header.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
type:
|
|
type: string
|
|
location-snippets:
|
|
type: string
|
|
matches:
|
|
type: array
|
|
items:
|
|
description: Match defines a match.
|
|
type: object
|
|
properties:
|
|
action:
|
|
description: Action defines an action.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: string
|
|
proxy:
|
|
description: ActionProxy defines a proxy in an Action.
|
|
type: object
|
|
properties:
|
|
requestHeaders:
|
|
description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: boolean
|
|
set:
|
|
type: array
|
|
items:
|
|
description: Header defines an HTTP Header.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
responseHeaders:
|
|
description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
add:
|
|
type: array
|
|
items:
|
|
description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive.
|
|
type: object
|
|
properties:
|
|
always:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
hide:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ignore:
|
|
type: array
|
|
items:
|
|
type: string
|
|
pass:
|
|
type: array
|
|
items:
|
|
type: string
|
|
rewritePath:
|
|
type: string
|
|
upstream:
|
|
type: string
|
|
redirect:
|
|
description: ActionRedirect defines a redirect in an Action.
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
url:
|
|
type: string
|
|
return:
|
|
description: ActionReturn defines a return in an Action.
|
|
type: object
|
|
properties:
|
|
body:
|
|
type: string
|
|
code:
|
|
type: integer
|
|
type:
|
|
type: string
|
|
conditions:
|
|
type: array
|
|
items:
|
|
description: Condition defines a condition in a MatchRule.
|
|
type: object
|
|
properties:
|
|
argument:
|
|
type: string
|
|
cookie:
|
|
type: string
|
|
header:
|
|
type: string
|
|
value:
|
|
type: string
|
|
variable:
|
|
type: string
|
|
splits:
|
|
type: array
|
|
items:
|
|
description: Split defines a split.
|
|
type: object
|
|
properties:
|
|
action:
|
|
description: Action defines an action.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: string
|
|
proxy:
|
|
description: ActionProxy defines a proxy in an Action.
|
|
type: object
|
|
properties:
|
|
requestHeaders:
|
|
description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: boolean
|
|
set:
|
|
type: array
|
|
items:
|
|
description: Header defines an HTTP Header.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
responseHeaders:
|
|
description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
add:
|
|
type: array
|
|
items:
|
|
description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive.
|
|
type: object
|
|
properties:
|
|
always:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
hide:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ignore:
|
|
type: array
|
|
items:
|
|
type: string
|
|
pass:
|
|
type: array
|
|
items:
|
|
type: string
|
|
rewritePath:
|
|
type: string
|
|
upstream:
|
|
type: string
|
|
redirect:
|
|
description: ActionRedirect defines a redirect in an Action.
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
url:
|
|
type: string
|
|
return:
|
|
description: ActionReturn defines a return in an Action.
|
|
type: object
|
|
properties:
|
|
body:
|
|
type: string
|
|
code:
|
|
type: integer
|
|
type:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
policies:
|
|
type: array
|
|
items:
|
|
description: PolicyReference references a policy by name and an optional namespace.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
route:
|
|
type: string
|
|
splits:
|
|
type: array
|
|
items:
|
|
description: Split defines a split.
|
|
type: object
|
|
properties:
|
|
action:
|
|
description: Action defines an action.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: string
|
|
proxy:
|
|
description: ActionProxy defines a proxy in an Action.
|
|
type: object
|
|
properties:
|
|
requestHeaders:
|
|
description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
pass:
|
|
type: boolean
|
|
set:
|
|
type: array
|
|
items:
|
|
description: Header defines an HTTP Header.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
responseHeaders:
|
|
description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy.
|
|
type: object
|
|
properties:
|
|
add:
|
|
type: array
|
|
items:
|
|
description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive.
|
|
type: object
|
|
properties:
|
|
always:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
hide:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ignore:
|
|
type: array
|
|
items:
|
|
type: string
|
|
pass:
|
|
type: array
|
|
items:
|
|
type: string
|
|
rewritePath:
|
|
type: string
|
|
upstream:
|
|
type: string
|
|
redirect:
|
|
description: ActionRedirect defines a redirect in an Action.
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: integer
|
|
url:
|
|
type: string
|
|
return:
|
|
description: ActionReturn defines a return in an Action.
|
|
type: object
|
|
properties:
|
|
body:
|
|
type: string
|
|
code:
|
|
type: integer
|
|
type:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
server-snippets:
|
|
type: string
|
|
tls:
|
|
description: TLS defines TLS configuration for a VirtualServer.
|
|
type: object
|
|
properties:
|
|
cert-manager:
|
|
description: CertManager defines a cert manager config for a TLS.
|
|
type: object
|
|
properties:
|
|
cluster-issuer:
|
|
type: string
|
|
common-name:
|
|
type: string
|
|
duration:
|
|
type: string
|
|
issuer:
|
|
type: string
|
|
issuer-group:
|
|
type: string
|
|
issuer-kind:
|
|
type: string
|
|
renew-before:
|
|
type: string
|
|
usages:
|
|
type: string
|
|
redirect:
|
|
description: TLSRedirect defines a redirect for a TLS.
|
|
type: object
|
|
properties:
|
|
basedOn:
|
|
type: string
|
|
code:
|
|
type: integer
|
|
enable:
|
|
type: boolean
|
|
secret:
|
|
type: string
|
|
upstreams:
|
|
type: array
|
|
items:
|
|
description: Upstream defines an upstream.
|
|
type: object
|
|
properties:
|
|
buffer-size:
|
|
type: string
|
|
buffering:
|
|
type: boolean
|
|
buffers:
|
|
description: UpstreamBuffers defines Buffer Configuration for an Upstream.
|
|
type: object
|
|
properties:
|
|
number:
|
|
type: integer
|
|
size:
|
|
type: string
|
|
client-max-body-size:
|
|
type: string
|
|
connect-timeout:
|
|
type: string
|
|
fail-timeout:
|
|
type: string
|
|
healthCheck:
|
|
description: HealthCheck defines the parameters for active Upstream HealthChecks.
|
|
type: object
|
|
properties:
|
|
connect-timeout:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
fails:
|
|
type: integer
|
|
grpcService:
|
|
type: string
|
|
grpcStatus:
|
|
type: integer
|
|
headers:
|
|
type: array
|
|
items:
|
|
description: Header defines an HTTP Header.
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
interval:
|
|
type: string
|
|
jitter:
|
|
type: string
|
|
keepalive-time:
|
|
type: string
|
|
mandatory:
|
|
type: boolean
|
|
passes:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
persistent:
|
|
type: boolean
|
|
port:
|
|
type: integer
|
|
read-timeout:
|
|
type: string
|
|
send-timeout:
|
|
type: string
|
|
statusMatch:
|
|
type: string
|
|
tls:
|
|
description: UpstreamTLS defines a TLS configuration for an Upstream.
|
|
type: object
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
keepalive:
|
|
type: integer
|
|
lb-method:
|
|
type: string
|
|
max-conns:
|
|
type: integer
|
|
max-fails:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
next-upstream:
|
|
type: string
|
|
next-upstream-timeout:
|
|
type: string
|
|
next-upstream-tries:
|
|
type: integer
|
|
ntlm:
|
|
type: boolean
|
|
port:
|
|
type: integer
|
|
queue:
|
|
description: UpstreamQueue defines Queue Configuration for an Upstream.
|
|
type: object
|
|
properties:
|
|
size:
|
|
type: integer
|
|
timeout:
|
|
type: string
|
|
read-timeout:
|
|
type: string
|
|
send-timeout:
|
|
type: string
|
|
service:
|
|
type: string
|
|
sessionCookie:
|
|
description: SessionCookie defines the parameters for session persistence.
|
|
type: object
|
|
properties:
|
|
domain:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
expires:
|
|
type: string
|
|
httpOnly:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
path:
|
|
type: string
|
|
samesite:
|
|
type: string
|
|
secure:
|
|
type: boolean
|
|
slow-start:
|
|
type: string
|
|
subselector:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
tls:
|
|
description: UpstreamTLS defines a TLS configuration for an Upstream.
|
|
type: object
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
type:
|
|
type: string
|
|
use-cluster-ip:
|
|
type: boolean
|
|
status:
|
|
description: VirtualServerStatus defines the status for the VirtualServer resource.
|
|
type: object
|
|
properties:
|
|
externalEndpoints:
|
|
type: array
|
|
items:
|
|
description: ExternalEndpoint defines the IP/ Hostname and ports used to connect to this resource.
|
|
type: object
|
|
properties:
|
|
hostname:
|
|
type: string
|
|
ip:
|
|
type: string
|
|
ports:
|
|
type: string
|
|
message:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
state:
|
|
type: string
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|