-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcrd-route.openshift.io_routes.yaml
269 lines (269 loc) · 13.3 KB
/
crd-route.openshift.io_routes.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.5
creationTimestamp: null
name: routes.route.openshift.io
spec:
group: route.openshift.io
names:
kind: Route
listKind: RouteList
plural: routes
singular: route
scope: Namespaced
validation:
openAPIV3Schema:
description: "A route allows developers to expose services through an HTTP(S)
aware load balancing and proxy layer via a public DNS entry. The route may
further specify TLS options and a certificate, or specify a public CNAME that
the router should also accept for HTTP and HTTPS traffic. An administrator
typically configures their router to be visible outside the cluster firewall,
and may also add additional security, caching, or traffic controls on the
service content. Routers usually talk directly to the service endpoints. \n
Once a route is created, the `host` field may not be changed. Generally, routers
use the oldest route with a given host when resolving conflicts. \n Routers
are subject to additional customization and may support additional controls
via the annotations field. \n Because administrators may configure multiple
routers, the route status field is used to return information to clients about
the names and states of the route under each router. If a client chooses a
duplicate name, for instance, the route status conditions are used to indicate
the route cannot be chosen. \n To enable HTTP/2 ALPN on a route it requires
a custom (non-wildcard) certificate. This prevents connection coalescing by
clients, notably web browsers. We do not support HTTP/2 ALPN on routes that
use the default certificate because of the risk of connection re-use/coalescing.
Routes that do not have their own custom certificate will not be HTTP/2 ALPN-enabled
on either the frontend or the backend."
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: spec is the desired state of the route
properties:
alternateBackends:
description: alternateBackends allows up to 3 additional backends to
be assigned to the route. Only the Service kind is allowed, and it
will be defaulted to Service. Use the weight field in RouteTargetReference
object to specify relative preference.
items:
description: RouteTargetReference specifies the target that resolve
into endpoints. Only the 'Service' kind is allowed. Use 'weight'
field to emphasize one over others.
properties:
kind:
description: The kind of target that the route is referring to.
Currently, only 'Service' is allowed
type: string
name:
description: name of the service/target that is being referred
to. e.g. name of the service
type: string
weight:
description: weight as an integer between 0 and 256, default 100,
that specifies the target's relative weight against other target
reference objects. 0 suppresses requests to this backend.
format: int32
type: integer
required:
- kind
- name
type: object
type: array
host:
description: host is an alias/DNS that points to the service. Optional.
If not specified a route name will typically be automatically chosen.
Must follow DNS952 subdomain conventions.
type: string
path:
description: path that the router watches for, to route traffic for
to the service. Optional
type: string
port:
description: If specified, the port to be used by the router. Most routers
will use all endpoints exposed by the service by default - set this
value to instruct routers which port to use.
properties:
targetPort:
anyOf:
- type: integer
- type: string
description: The target port on pods selected by the service this
route points to. If this is a string, it will be looked up as
a named port in the target endpoints port list. Required
x-kubernetes-int-or-string: true
required:
- targetPort
type: object
subdomain:
description: "subdomain is a DNS subdomain that is requested within
the ingress controller's domain (as a subdomain). If host is set this
field is ignored. An ingress controller may choose to ignore this
suggested name, in which case the controller will report the assigned
name in the status.ingress array or refuse to admit the route. If
this value is set and the server does not support this field host
will be populated automatically. Otherwise host is left empty. The
field may have multiple parts separated by a dot, but not all ingress
controllers may honor the request. This field may not be changed after
creation except by a user with the update routes/custom-host permission.
\n Example: subdomain `frontend` automatically receives the router
subdomain `apps.mycluster.com` to have a full hostname `frontend.apps.mycluster.com`."
type: string
tls:
description: The tls field provides the ability to configure certificates
and termination for the route.
properties:
caCertificate:
description: caCertificate provides the cert authority certificate
contents
type: string
certificate:
description: certificate provides certificate contents
type: string
destinationCACertificate:
description: destinationCACertificate provides the contents of the
ca certificate of the final destination. When using reencrypt
termination this file should be provided in order to have routers
use it for health checks on the secure connection. If this field
is not specified, the router may provide its own destination CA
and perform hostname validation using the short service name (service.namespace.svc),
which allows infrastructure generated certificates to automatically
verify.
type: string
insecureEdgeTerminationPolicy:
description: "insecureEdgeTerminationPolicy indicates the desired
behavior for insecure connections to a route. While each router
may make its own decisions on which ports to expose, this is normally
port 80. \n * Allow - traffic is sent to the server on the insecure
port (default) * Disable - no traffic is allowed on the insecure
port. * Redirect - clients are redirected to the secure port."
type: string
key:
description: key provides key file contents
type: string
termination:
description: termination indicates termination type.
type: string
required:
- termination
type: object
to:
description: to is an object the route should use as the primary backend.
Only the Service kind is allowed, and it will be defaulted to Service.
If the weight field (0-256 default 100) is set to zero, no traffic
will be sent to this backend.
properties:
kind:
description: The kind of target that the route is referring to.
Currently, only 'Service' is allowed
type: string
name:
description: name of the service/target that is being referred to.
e.g. name of the service
type: string
weight:
description: weight as an integer between 0 and 256, default 100,
that specifies the target's relative weight against other target
reference objects. 0 suppresses requests to this backend.
format: int32
type: integer
required:
- kind
- name
type: object
wildcardPolicy:
description: Wildcard policy if any for the route. Currently only 'Subdomain'
or 'None' is allowed.
type: string
required:
- to
type: object
status:
description: status is the current state of the route
properties:
ingress:
description: ingress describes the places where the route may be exposed.
The list of ingress points may contain duplicate Host or RouterName
values. Routes are considered live once they are `Ready`
items:
description: RouteIngress holds information about the places where
a route is exposed.
properties:
conditions:
description: Conditions is the state of the route, may be empty.
items:
description: RouteIngressCondition contains details for the
current condition of this route on a particular router.
properties:
lastTransitionTime:
description: RFC 3339 date and time when this condition
last transitioned
format: date-time
type: string
message:
description: Human readable message indicating details about
last transition.
type: string
reason:
description: (brief) reason for the condition's last transition,
and is usually a machine and human readable constant
type: string
status:
description: Status is the status of the condition. Can
be True, False, Unknown.
type: string
type:
description: Type is the type of the condition. Currently
only Ready.
type: string
required:
- status
- type
type: object
type: array
host:
description: Host is the host string under which the route is
exposed; this value is required
type: string
routerCanonicalHostname:
description: CanonicalHostname is the external host name for the
router that can be used as a CNAME for the host requested for
this route. This value is optional and may not be set in all
cases.
type: string
routerName:
description: Name is a name chosen by the router to identify itself;
this value is required
type: string
wildcardPolicy:
description: Wildcard policy is the wildcard policy that was allowed
where this route is exposed.
type: string
type: object
type: array
type: object
required:
- spec
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []