apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.13.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: tcpmappings.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: TCPMapping listKind: TCPMappingList plural: tcpmappings singular: tcpmapping preserveUnknownFields: false scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: description: TCPMapping is the Schema for the tcpmappings 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: TCPMappingSpec defines the desired state of TCPMapping properties: address: type: string 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_tag: type: string enable_ipv4: type: boolean enable_ipv6: type: boolean host: type: string idle_timeout_ms: type: string port: description: Port isn't a pointer because it's required. type: integer resolver: type: string service: type: string v3StatsName: type: string weight: type: integer required: - port - service type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: false - name: v2 schema: openAPIV3Schema: description: TCPMapping is the Schema for the tcpmappings 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: TCPMappingSpec defines the desired state of TCPMapping properties: address: type: string 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_tag: type: string enable_ipv4: type: boolean enable_ipv6: type: boolean host: type: string idle_timeout_ms: type: string port: description: Port isn't a pointer because it's required. type: integer resolver: type: string service: type: string v3StatsName: type: string weight: type: integer required: - port - service type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: true - name: v3alpha1 schema: openAPIV3Schema: description: TCPMapping is the Schema for the tcpmappings 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: TCPMappingSpec defines the desired state of TCPMapping properties: address: type: string ambassador_id: description: "AmbassadorID declares which Ambassador instances should pay attention to this resource. If no value is provided, the default is: \n ambassador_id: - \"default\"" items: type: string type: array 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_tag: type: string enable_ipv4: type: boolean enable_ipv6: type: boolean host: type: string idle_timeout_ms: type: string port: description: Port isn't a pointer because it's required. type: integer resolver: type: string service: type: string stats_name: type: string tls: type: string v2ExplicitTLS: description: V2ExplicitTLS controls some vanity/stylistic elements when converting from v3alpha1 to v2. The values in an V2ExplicitTLS should not in any way affect the runtime operation of Emissary; except that it may affect internal names in the Envoy config, which may in turn affect stats names. But it should not affect any end-user observable behavior. properties: serviceScheme: description: "ServiceScheme specifies how to spell and capitalize the scheme-part of the service URL. \n Acceptable values are \"http://\" (case-insensitive), \"https://\" (case-insensitive), or \"\". The value is used if it agrees with whether or not this resource enables TLS origination, or if something else in the resource overrides the scheme." pattern: ^([hH][tT][tT][pP][sS]?://)?$ type: string tls: description: "TLS controls whether and how to represent the \"tls\" field when its value could be implied by the \"service\" field. \ In v2, there were a lot of different ways to spell an \"empty\" value, and this field specifies which way to spell it (and will therefore only be used if the value will indeed be empty). \n | Value | Representation | Meaning of representation | |--------------+---------------------------------------+------------------------------------| | \"\" | omit the field | defer to service (no TLSContext) | | \"null\" | store an explicit \"null\" in the field | defer to service (no TLSContext) | | \"string\" | store an empty string in the field | defer to service (no TLSContext) | | \"bool:false\" | store a Boolean \"false\" in the field | defer to service (no TLSContext) | | \"bool:true\" | store a Boolean \"true\" in the field | originate TLS (no TLSContext) | \n If the meaning of the representation contradicts anything else (if a TLSContext is to be used, or in the case of \"bool:true\" if TLS is not to be originated), then this field is ignored." enum: - "" - "null" - bool:true - bool:false - string type: string type: object weight: type: integer required: - port - service type: object type: object served: true storage: false