...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 controller-gen.kubebuilder.io/version: v0.13.0
6 labels:
7 app.kubernetes.io/instance: emissary-apiext
8 app.kubernetes.io/managed-by: kubectl_apply_-f_emissary-apiext.yaml
9 app.kubernetes.io/name: emissary-apiext
10 app.kubernetes.io/part-of: emissary-apiext
11 name: tcpmappings.getambassador.io
12spec:
13 conversion:
14 strategy: Webhook
15 webhook:
16 clientConfig:
17 service:
18 name: emissary-apiext
19 namespace: emissary-system
20 conversionReviewVersions:
21 - v1
22 group: getambassador.io
23 names:
24 categories:
25 - ambassador-crds
26 kind: TCPMapping
27 listKind: TCPMappingList
28 plural: tcpmappings
29 singular: tcpmapping
30 preserveUnknownFields: false
31 scope: Namespaced
32 versions:
33 - name: v1
34 schema:
35 openAPIV3Schema:
36 description: TCPMapping is the Schema for the tcpmappings API
37 properties:
38 apiVersion:
39 description: 'APIVersion defines the versioned schema of this representation
40 of an object. Servers should convert recognized schemas to the latest
41 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
42 type: string
43 kind:
44 description: 'Kind is a string value representing the REST resource this
45 object represents. Servers may infer this from the endpoint the client
46 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
47 type: string
48 metadata:
49 type: object
50 spec:
51 description: TCPMappingSpec defines the desired state of TCPMapping
52 properties:
53 address:
54 type: string
55 circuit_breakers:
56 items:
57 properties:
58 max_connections:
59 type: integer
60 max_pending_requests:
61 type: integer
62 max_requests:
63 type: integer
64 max_retries:
65 type: integer
66 priority:
67 enum:
68 - default
69 - high
70 type: string
71 type: object
72 type: array
73 cluster_tag:
74 type: string
75 enable_ipv4:
76 type: boolean
77 enable_ipv6:
78 type: boolean
79 host:
80 type: string
81 idle_timeout_ms:
82 type: string
83 port:
84 description: Port isn't a pointer because it's required.
85 type: integer
86 resolver:
87 type: string
88 service:
89 type: string
90 v3StatsName:
91 type: string
92 weight:
93 type: integer
94 required:
95 - port
96 - service
97 type: object
98 x-kubernetes-preserve-unknown-fields: true
99 type: object
100 served: true
101 storage: false
102 - name: v2
103 schema:
104 openAPIV3Schema:
105 description: TCPMapping is the Schema for the tcpmappings API
106 properties:
107 apiVersion:
108 description: 'APIVersion defines the versioned schema of this representation
109 of an object. Servers should convert recognized schemas to the latest
110 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
111 type: string
112 kind:
113 description: 'Kind is a string value representing the REST resource this
114 object represents. Servers may infer this from the endpoint the client
115 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
116 type: string
117 metadata:
118 type: object
119 spec:
120 description: TCPMappingSpec defines the desired state of TCPMapping
121 properties:
122 address:
123 type: string
124 circuit_breakers:
125 items:
126 properties:
127 max_connections:
128 type: integer
129 max_pending_requests:
130 type: integer
131 max_requests:
132 type: integer
133 max_retries:
134 type: integer
135 priority:
136 enum:
137 - default
138 - high
139 type: string
140 type: object
141 type: array
142 cluster_tag:
143 type: string
144 enable_ipv4:
145 type: boolean
146 enable_ipv6:
147 type: boolean
148 host:
149 type: string
150 idle_timeout_ms:
151 type: string
152 port:
153 description: Port isn't a pointer because it's required.
154 type: integer
155 resolver:
156 type: string
157 service:
158 type: string
159 v3StatsName:
160 type: string
161 weight:
162 type: integer
163 required:
164 - port
165 - service
166 type: object
167 x-kubernetes-preserve-unknown-fields: true
168 type: object
169 served: true
170 storage: true
171 - name: v3alpha1
172 schema:
173 openAPIV3Schema:
174 description: TCPMapping is the Schema for the tcpmappings API
175 properties:
176 apiVersion:
177 description: 'APIVersion defines the versioned schema of this representation
178 of an object. Servers should convert recognized schemas to the latest
179 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
180 type: string
181 kind:
182 description: 'Kind is a string value representing the REST resource this
183 object represents. Servers may infer this from the endpoint the client
184 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
185 type: string
186 metadata:
187 type: object
188 spec:
189 description: TCPMappingSpec defines the desired state of TCPMapping
190 properties:
191 address:
192 type: string
193 ambassador_id:
194 description: "AmbassadorID declares which Ambassador instances should
195 pay attention to this resource. If no value is provided, the default
196 is: \n ambassador_id: - \"default\""
197 items:
198 type: string
199 type: array
200 circuit_breakers:
201 items:
202 properties:
203 max_connections:
204 type: integer
205 max_pending_requests:
206 type: integer
207 max_requests:
208 type: integer
209 max_retries:
210 type: integer
211 priority:
212 enum:
213 - default
214 - high
215 type: string
216 type: object
217 type: array
218 cluster_tag:
219 type: string
220 enable_ipv4:
221 type: boolean
222 enable_ipv6:
223 type: boolean
224 host:
225 type: string
226 idle_timeout_ms:
227 type: string
228 port:
229 description: Port isn't a pointer because it's required.
230 type: integer
231 resolver:
232 type: string
233 service:
234 type: string
235 stats_name:
236 type: string
237 tls:
238 type: string
239 v2ExplicitTLS:
240 description: V2ExplicitTLS controls some vanity/stylistic elements
241 when converting from v3alpha1 to v2. The values in an V2ExplicitTLS
242 should not in any way affect the runtime operation of Emissary;
243 except that it may affect internal names in the Envoy config, which
244 may in turn affect stats names. But it should not affect any end-user
245 observable behavior.
246 properties:
247 serviceScheme:
248 description: "ServiceScheme specifies how to spell and capitalize
249 the scheme-part of the service URL. \n Acceptable values are
250 \"http://\" (case-insensitive), \"https://\" (case-insensitive),
251 or \"\". The value is used if it agrees with whether or not
252 this resource enables TLS origination, or if something else
253 in the resource overrides the scheme."
254 pattern: ^([hH][tT][tT][pP][sS]?://)?$
255 type: string
256 tls:
257 description: "TLS controls whether and how to represent the \"tls\"
258 field when its value could be implied by the \"service\" field.
259 \ In v2, there were a lot of different ways to spell an \"empty\"
260 value, and this field specifies which way to spell it (and will
261 therefore only be used if the value will indeed be empty). \n
262 | Value | Representation | Meaning
263 of representation | |--------------+---------------------------------------+------------------------------------|
264 | \"\" | omit the field | defer
265 to service (no TLSContext) | | \"null\" | store an explicit
266 \"null\" in the field | defer to service (no TLSContext) |
267 | \"string\" | store an empty string in the field | defer
268 to service (no TLSContext) | | \"bool:false\" | store a Boolean
269 \"false\" in the field | defer to service (no TLSContext) |
270 | \"bool:true\" | store a Boolean \"true\" in the field |
271 originate TLS (no TLSContext) | \n If the meaning of the
272 representation contradicts anything else (if a TLSContext is
273 to be used, or in the case of \"bool:true\" if TLS is not to
274 be originated), then this field is ignored."
275 enum:
276 - ""
277 - "null"
278 - bool:true
279 - bool:false
280 - string
281 type: string
282 type: object
283 weight:
284 type: integer
285 required:
286 - port
287 - service
288 type: object
289 type: object
290 served: true
291 storage: false
View as plain text