apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.4.1 creationTimestamp: null 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[*].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: host: type: string http-snippets: type: string ingressClassName: 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 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: 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 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 passes: type: integer path: type: string 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 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 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 status: description: VirtualServerStatus defines the status for the VirtualServer resource. type: object properties: externalEndpoints: type: array items: description: ExternalEndpoint defines the IP and ports used to connect to this resource. type: object properties: ip: type: string ports: type: string message: type: string reason: type: string state: type: string served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []