mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-18 09:27:02 +00:00
455 lines
19 KiB
YAML
455 lines
19 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.12.0
|
|
labels:
|
|
app.kubernetes.io/instance: emissary-apiext
|
|
app.kubernetes.io/managed-by: kubectl_apply_-f_emissary-apiext.yaml
|
|
app.kubernetes.io/name: emissary-apiext
|
|
app.kubernetes.io/part-of: emissary-apiext
|
|
name: mappings.getambassador.io
|
|
spec:
|
|
conversion:
|
|
strategy: Webhook
|
|
webhook:
|
|
clientConfig:
|
|
service:
|
|
name: emissary-apiext
|
|
namespace: emissary-system
|
|
conversionReviewVersions:
|
|
- v1
|
|
group: getambassador.io
|
|
names:
|
|
categories:
|
|
- ambassador-crds
|
|
kind: Mapping
|
|
listKind: MappingList
|
|
plural: mappings
|
|
singular: mapping
|
|
preserveUnknownFields: false
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.host
|
|
name: Source Host
|
|
type: string
|
|
- jsonPath: .spec.prefix
|
|
name: Source Prefix
|
|
type: string
|
|
- jsonPath: .spec.service
|
|
name: Dest Service
|
|
type: string
|
|
- jsonPath: .status.state
|
|
name: State
|
|
type: string
|
|
- jsonPath: .status.reason
|
|
name: Reason
|
|
type: string
|
|
name: v2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Mapping is the Schema for the mappings API
|
|
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: MappingSpec defines the desired state of Mapping
|
|
properties:
|
|
add_linkerd_headers:
|
|
type: boolean
|
|
add_request_headers:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
add_response_headers:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
allow_upgrade:
|
|
description: "A case-insensitive list of the non-HTTP protocols to allow \"upgrading\" to from HTTP via the \"Connection: upgrade\" mechanism[1]. After the upgrade, Ambassador does not interpret the traffic, and behaves similarly to how it does for TCPMappings. \n [1]: https://tools.ietf.org/html/rfc7230#section-6.7 \n For example, if your upstream service supports WebSockets, you would write \n allow_upgrade: - websocket \n Or if your upstream service supports upgrading from HTTP to SPDY (as the Kubernetes apiserver does for `kubectl exec` functionality), you would write \n allow_upgrade: - spdy/3.1"
|
|
items:
|
|
type: string
|
|
type: array
|
|
auth_context_extensions:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
auto_host_rewrite:
|
|
type: boolean
|
|
bypass_auth:
|
|
type: boolean
|
|
bypass_error_response_overrides:
|
|
description: If true, bypasses any `error_response_overrides` set on the Ambassador module.
|
|
type: boolean
|
|
case_sensitive:
|
|
type: boolean
|
|
circuit_breakers:
|
|
items:
|
|
properties:
|
|
max_connections:
|
|
type: integer
|
|
max_pending_requests:
|
|
type: integer
|
|
max_requests:
|
|
type: integer
|
|
max_retries:
|
|
type: integer
|
|
priority:
|
|
enum:
|
|
- default
|
|
- high
|
|
type: string
|
|
type: object
|
|
type: array
|
|
cluster_idle_timeout_ms:
|
|
type: integer
|
|
cluster_max_connection_lifetime_ms:
|
|
type: integer
|
|
cluster_tag:
|
|
type: string
|
|
connect_timeout_ms:
|
|
type: integer
|
|
cors:
|
|
properties:
|
|
credentials:
|
|
type: boolean
|
|
max_age:
|
|
type: string
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
dns_type:
|
|
type: string
|
|
docs:
|
|
description: DocsInfo provides some extra information about the docs for the Mapping (used by the Dev Portal)
|
|
properties:
|
|
display_name:
|
|
type: string
|
|
ignored:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
timeout_ms:
|
|
type: integer
|
|
url:
|
|
type: string
|
|
type: object
|
|
enable_ipv4:
|
|
type: boolean
|
|
enable_ipv6:
|
|
type: boolean
|
|
envoy_override:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
error_response_overrides:
|
|
description: Error response overrides for this Mapping. Replaces all of the `error_response_overrides` set on the Ambassador module, if any.
|
|
items:
|
|
description: A response rewrite for an HTTP error response
|
|
properties:
|
|
body:
|
|
description: The new response body
|
|
properties:
|
|
content_type:
|
|
description: The content type to set on the error response body when using text_format or text_format_source. Defaults to 'text/plain'.
|
|
type: string
|
|
json_format:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'A JSON response with content-type: application/json. The values can contain format text like in text_format.'
|
|
type: object
|
|
text_format:
|
|
description: A format string representing a text response body. Content-Type can be set using the `content_type` field below.
|
|
type: string
|
|
text_format_source:
|
|
description: A format string sourced from a file on the Ambassador container. Useful for larger response bodies that should not be placed inline in configuration.
|
|
properties:
|
|
filename:
|
|
description: The name of a file on the Ambassador pod that contains a format text string.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
on_status_code:
|
|
description: The status code to match on -- not a pointer because it's required.
|
|
maximum: 599
|
|
minimum: 400
|
|
type: integer
|
|
required:
|
|
- body
|
|
- on_status_code
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
grpc:
|
|
type: boolean
|
|
headers:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
host:
|
|
type: string
|
|
host_redirect:
|
|
type: boolean
|
|
host_regex:
|
|
type: boolean
|
|
host_rewrite:
|
|
type: string
|
|
idle_timeout_ms:
|
|
type: integer
|
|
keepalive:
|
|
properties:
|
|
idle_time:
|
|
type: integer
|
|
interval:
|
|
type: integer
|
|
probes:
|
|
type: integer
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
description: A MappingLabelGroupsArray is an array of MappingLabelGroups. I know, complex.
|
|
items:
|
|
description: 'A MappingLabelGroup is a single element of a MappingLabelGroupsArray: a second map, where the key is a human-readable name that identifies the group.'
|
|
maxProperties: 1
|
|
minProperties: 1
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
description: A DomainMap is the overall Mapping.spec.Labels type. It maps domains (kind of like namespaces for Mapping labels) to arrays of label groups.
|
|
type: object
|
|
load_balancer:
|
|
properties:
|
|
cookie:
|
|
properties:
|
|
name:
|
|
type: string
|
|
path:
|
|
type: string
|
|
ttl:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
header:
|
|
type: string
|
|
policy:
|
|
enum:
|
|
- round_robin
|
|
- ring_hash
|
|
- maglev
|
|
- least_request
|
|
type: string
|
|
source_ip:
|
|
type: boolean
|
|
required:
|
|
- policy
|
|
type: object
|
|
method:
|
|
type: string
|
|
method_regex:
|
|
type: boolean
|
|
modules:
|
|
items:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
outlier_detection:
|
|
type: string
|
|
path_redirect:
|
|
description: Path replacement to use when generating an HTTP redirect. Used with `host_redirect`.
|
|
type: string
|
|
precedence:
|
|
type: integer
|
|
prefix:
|
|
type: string
|
|
prefix_exact:
|
|
type: boolean
|
|
prefix_redirect:
|
|
description: Prefix rewrite to use when generating an HTTP redirect. Used with `host_redirect`.
|
|
type: string
|
|
prefix_regex:
|
|
type: boolean
|
|
priority:
|
|
type: string
|
|
query_parameters:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
redirect_response_code:
|
|
description: The response code to use when generating an HTTP redirect. Defaults to 301. Used with `host_redirect`.
|
|
enum:
|
|
- 301
|
|
- 302
|
|
- 303
|
|
- 307
|
|
- 308
|
|
type: integer
|
|
regex_headers:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
regex_query_parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
regex_redirect:
|
|
description: Prefix regex rewrite to use when generating an HTTP redirect. Used with `host_redirect`.
|
|
properties:
|
|
pattern:
|
|
type: string
|
|
substitution:
|
|
type: string
|
|
type: object
|
|
regex_rewrite:
|
|
properties:
|
|
pattern:
|
|
type: string
|
|
substitution:
|
|
type: string
|
|
type: object
|
|
resolver:
|
|
type: string
|
|
respect_dns_ttl:
|
|
type: boolean
|
|
retry_policy:
|
|
properties:
|
|
num_retries:
|
|
type: integer
|
|
per_try_timeout:
|
|
type: string
|
|
retry_on:
|
|
enum:
|
|
- 5xx
|
|
- gateway-error
|
|
- connect-failure
|
|
- retriable-4xx
|
|
- refused-stream
|
|
- retriable-status-codes
|
|
type: string
|
|
type: object
|
|
rewrite:
|
|
type: string
|
|
service:
|
|
type: string
|
|
shadow:
|
|
type: boolean
|
|
timeout_ms:
|
|
description: The timeout for requests that use this Mapping. Overrides `cluster_request_timeout_ms` set on the Ambassador Module, if it exists.
|
|
type: integer
|
|
use_websocket:
|
|
description: 'use_websocket is deprecated, and is equivlaent to setting `allow_upgrade: ["websocket"]`'
|
|
type: boolean
|
|
v3StatsName:
|
|
type: string
|
|
v3health_checks:
|
|
items:
|
|
description: HealthCheck specifies settings for performing active health checking on upstreams
|
|
properties:
|
|
health_check:
|
|
description: Configuration for where the healthcheck request should be made to
|
|
maxProperties: 1
|
|
minProperties: 1
|
|
properties:
|
|
grpc:
|
|
description: HealthCheck for gRPC upstreams. Only one of grpc_health_check or http_health_check may be specified
|
|
properties:
|
|
authority:
|
|
description: The value of the :authority header in the gRPC health check request. If left empty the upstream name will be used.
|
|
type: string
|
|
upstream_name:
|
|
description: The upstream name parameter which will be sent to gRPC service in the health check message
|
|
type: string
|
|
required:
|
|
- upstream_name
|
|
type: object
|
|
http:
|
|
description: HealthCheck for HTTP upstreams. Only one of http_health_check or grpc_health_check may be specified
|
|
properties:
|
|
add_request_headers:
|
|
additionalProperties:
|
|
properties:
|
|
append:
|
|
type: boolean
|
|
v2Representation:
|
|
enum:
|
|
- ""
|
|
- string
|
|
- "null"
|
|
type: string
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
expected_statuses:
|
|
items:
|
|
description: A range of response statuses from Start to End inclusive
|
|
properties:
|
|
max:
|
|
description: End of the statuses to include. Must be between 100 and 599 (inclusive)
|
|
maximum: 599
|
|
minimum: 100
|
|
type: integer
|
|
min:
|
|
description: Start of the statuses to include. Must be between 100 and 599 (inclusive)
|
|
maximum: 599
|
|
minimum: 100
|
|
type: integer
|
|
required:
|
|
- max
|
|
- min
|
|
type: object
|
|
type: array
|
|
hostname:
|
|
type: string
|
|
path:
|
|
type: string
|
|
remove_request_headers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
healthy_threshold:
|
|
description: Number of expected responses for the upstream to be considered healthy. Defaults to 1.
|
|
type: integer
|
|
interval:
|
|
description: Interval between health checks. Defaults to every 5 seconds.
|
|
type: string
|
|
timeout:
|
|
description: Timeout for connecting to the health checking endpoint. Defaults to 3 seconds.
|
|
type: string
|
|
unhealthy_threshold:
|
|
description: Number of non-expected responses for the upstream to be considered unhealthy. A single 503 will mark the upstream as unhealthy regardless of the threshold. Defaults to 2.
|
|
type: integer
|
|
required:
|
|
- health_check
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
weight:
|
|
type: integer
|
|
required:
|
|
- prefix
|
|
- service
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
status:
|
|
description: MappingStatus defines the observed state of Mapping
|
|
properties:
|
|
reason:
|
|
type: string
|
|
state:
|
|
enum:
|
|
- ""
|
|
- Inactive
|
|
- Running
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|