kuma

Форк
0
/
kuma.io_meshgatewayinstances.yaml 
364 строки · 18.2 Кб
1
---
2
apiVersion: apiextensions.k8s.io/v1
3
kind: CustomResourceDefinition
4
metadata:
5
  annotations:
6
    controller-gen.kubebuilder.io/version: v0.14.0
7
  name: meshgatewayinstances.kuma.io
8
spec:
9
  group: kuma.io
10
  names:
11
    categories:
12
    - kuma
13
    kind: MeshGatewayInstance
14
    listKind: MeshGatewayInstanceList
15
    plural: meshgatewayinstances
16
    singular: meshgatewayinstance
17
  scope: Namespaced
18
  versions:
19
  - name: v1alpha1
20
    schema:
21
      openAPIV3Schema:
22
        description: |-
23
          MeshGatewayInstance represents a managed instance of a dataplane proxy for a Kuma
24
          Gateway.
25
        properties:
26
          apiVersion:
27
            description: |-
28
              APIVersion defines the versioned schema of this representation of an object.
29
              Servers should convert recognized schemas to the latest internal value, and
30
              may reject unrecognized values.
31
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
32
            type: string
33
          kind:
34
            description: |-
35
              Kind is a string value representing the REST resource this object represents.
36
              Servers may infer this from the endpoint the client submits requests to.
37
              Cannot be updated.
38
              In CamelCase.
39
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
40
            type: string
41
          metadata:
42
            type: object
43
          spec:
44
            description: MeshGatewayInstanceSpec specifies the options available for
45
              a GatewayDataplane.
46
            properties:
47
              podTemplate:
48
                description: PodTemplate configures the Pod owned by this config.
49
                properties:
50
                  metadata:
51
                    description: Metadata holds metadata configuration for a Service.
52
                    properties:
53
                      annotations:
54
                        additionalProperties:
55
                          type: string
56
                        description: Annotations holds annotations to be set on an
57
                          object.
58
                        type: object
59
                      labels:
60
                        additionalProperties:
61
                          type: string
62
                        description: Labels holds labels to be set on an objects.
63
                        type: object
64
                    type: object
65
                  spec:
66
                    description: Spec holds some customizable fields of a Pod.
67
                    properties:
68
                      container:
69
                        description: Container corresponds to PodSpec.Container
70
                        properties:
71
                          securityContext:
72
                            description: ContainerSecurityContext corresponds to PodSpec.Container.SecurityContext
73
                            properties:
74
                              readOnlyRootFilesystem:
75
                                description: ReadOnlyRootFilesystem corresponds to
76
                                  PodSpec.Container.SecurityContext.ReadOnlyRootFilesystem
77
                                type: boolean
78
                            type: object
79
                        type: object
80
                      securityContext:
81
                        description: PodSecurityContext corresponds to PodSpec.SecurityContext
82
                        properties:
83
                          fsGroup:
84
                            description: FSGroup corresponds to PodSpec.SecurityContext.FSGroup
85
                            format: int64
86
                            type: integer
87
                        type: object
88
                      serviceAccountName:
89
                        description: ServiceAccountName corresponds to PodSpec.ServiceAccountName.
90
                        type: string
91
                    type: object
92
                type: object
93
              replicas:
94
                default: 1
95
                description: |-
96
                  Replicas is the number of dataplane proxy replicas to create. For
97
                  now this is a fixed number, but in the future it could be
98
                  automatically scaled based on metrics.
99
                format: int32
100
                minimum: 1
101
                type: integer
102
              resources:
103
                description: |-
104
                  Resources specifies the compute resources for the proxy container.
105
                  The default can be set in the control plane config.
106
                properties:
107
                  claims:
108
                    description: |-
109
                      Claims lists the names of resources, defined in spec.resourceClaims,
110
                      that are used by this container.
111

112

113
                      This is an alpha field and requires enabling the
114
                      DynamicResourceAllocation feature gate.
115

116

117
                      This field is immutable. It can only be set for containers.
118
                    items:
119
                      description: ResourceClaim references one entry in PodSpec.ResourceClaims.
120
                      properties:
121
                        name:
122
                          description: |-
123
                            Name must match the name of one entry in pod.spec.resourceClaims of
124
                            the Pod where this field is used. It makes that resource available
125
                            inside a container.
126
                          type: string
127
                      required:
128
                      - name
129
                      type: object
130
                    type: array
131
                    x-kubernetes-list-map-keys:
132
                    - name
133
                    x-kubernetes-list-type: map
134
                  limits:
135
                    additionalProperties:
136
                      anyOf:
137
                      - type: integer
138
                      - type: string
139
                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
140
                      x-kubernetes-int-or-string: true
141
                    description: |-
142
                      Limits describes the maximum amount of compute resources allowed.
143
                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
144
                    type: object
145
                  requests:
146
                    additionalProperties:
147
                      anyOf:
148
                      - type: integer
149
                      - type: string
150
                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
151
                      x-kubernetes-int-or-string: true
152
                    description: |-
153
                      Requests describes the minimum amount of compute resources required.
154
                      If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
155
                      otherwise to an implementation-defined value. Requests cannot exceed Limits.
156
                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
157
                    type: object
158
                type: object
159
              serviceTemplate:
160
                description: ServiceTemplate configures the Service owned by this
161
                  config.
162
                properties:
163
                  metadata:
164
                    description: Metadata holds metadata configuration for a Service.
165
                    properties:
166
                      annotations:
167
                        additionalProperties:
168
                          type: string
169
                        description: Annotations holds annotations to be set on an
170
                          object.
171
                        type: object
172
                      labels:
173
                        additionalProperties:
174
                          type: string
175
                        description: Labels holds labels to be set on an objects.
176
                        type: object
177
                    type: object
178
                  spec:
179
                    description: Spec holds some customizable fields of a Service.
180
                    properties:
181
                      loadBalancerIP:
182
                        description: LoadBalancerIP corresponds to ServiceSpec.LoadBalancerIP.
183
                        type: string
184
                    type: object
185
                type: object
186
              serviceType:
187
                default: LoadBalancer
188
                description: |-
189
                  ServiceType specifies the type of managed Service that will be
190
                  created to expose the dataplane proxies to traffic from outside
191
                  the cluster. The ports to expose will be taken from the matching Gateway
192
                  resource. If there is no matching Gateway, the managed Service will
193
                  be deleted.
194
                enum:
195
                - LoadBalancer
196
                - ClusterIP
197
                - NodePort
198
                type: string
199
              tags:
200
                additionalProperties:
201
                  type: string
202
                description: |-
203
                  Tags specifies the Kuma tags that are propagated to the managed
204
                  dataplane proxies. These tags should include exactly one
205
                  `kuma.io/service` tag, and should match exactly one Gateway
206
                  resource.
207
                type: object
208
            type: object
209
          status:
210
            description: |-
211
              MeshGatewayInstanceStatus holds information about the status of the gateway
212
              instance.
213
            properties:
214
              conditions:
215
                description: Conditions is an array of gateway instance conditions.
216
                items:
217
                  description: "Condition contains details for one aspect of the current
218
                    state of this API Resource.\n---\nThis struct is intended for
219
                    direct use as an array at the field path .status.conditions.  For
220
                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
221
                    observations of a foo's current state.\n\t    // Known .status.conditions.type
222
                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
223
                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
224
                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
225
                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
226
                    \   // other fields\n\t}"
227
                  properties:
228
                    lastTransitionTime:
229
                      description: |-
230
                        lastTransitionTime is the last time the condition transitioned from one status to another.
231
                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
232
                      format: date-time
233
                      type: string
234
                    message:
235
                      description: |-
236
                        message is a human readable message indicating details about the transition.
237
                        This may be an empty string.
238
                      maxLength: 32768
239
                      type: string
240
                    observedGeneration:
241
                      description: |-
242
                        observedGeneration represents the .metadata.generation that the condition was set based upon.
243
                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
244
                        with respect to the current state of the instance.
245
                      format: int64
246
                      minimum: 0
247
                      type: integer
248
                    reason:
249
                      description: |-
250
                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
251
                        Producers of specific condition types may define expected values and meanings for this field,
252
                        and whether the values are considered a guaranteed API.
253
                        The value should be a CamelCase string.
254
                        This field may not be empty.
255
                      maxLength: 1024
256
                      minLength: 1
257
                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
258
                      type: string
259
                    status:
260
                      description: status of the condition, one of True, False, Unknown.
261
                      enum:
262
                      - "True"
263
                      - "False"
264
                      - Unknown
265
                      type: string
266
                    type:
267
                      description: |-
268
                        type of condition in CamelCase or in foo.example.com/CamelCase.
269
                        ---
270
                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
271
                        useful (see .node.status.conditions), the ability to deconflict is important.
272
                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
273
                      maxLength: 316
274
                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
275
                      type: string
276
                  required:
277
                  - lastTransitionTime
278
                  - message
279
                  - reason
280
                  - status
281
                  - type
282
                  type: object
283
                type: array
284
                x-kubernetes-list-map-keys:
285
                - type
286
                x-kubernetes-list-type: map
287
              loadBalancer:
288
                description: |-
289
                  LoadBalancer contains the current status of the load-balancer,
290
                  if one is present.
291
                properties:
292
                  ingress:
293
                    description: |-
294
                      Ingress is a list containing ingress points for the load-balancer.
295
                      Traffic intended for the service should be sent to these ingress points.
296
                    items:
297
                      description: |-
298
                        LoadBalancerIngress represents the status of a load-balancer ingress point:
299
                        traffic intended for the service should be sent to an ingress point.
300
                      properties:
301
                        hostname:
302
                          description: |-
303
                            Hostname is set for load-balancer ingress points that are DNS based
304
                            (typically AWS load-balancers)
305
                          type: string
306
                        ip:
307
                          description: |-
308
                            IP is set for load-balancer ingress points that are IP based
309
                            (typically GCE or OpenStack load-balancers)
310
                          type: string
311
                        ipMode:
312
                          description: |-
313
                            IPMode specifies how the load-balancer IP behaves, and may only be specified when the ip field is specified.
314
                            Setting this to "VIP" indicates that traffic is delivered to the node with
315
                            the destination set to the load-balancer's IP and port.
316
                            Setting this to "Proxy" indicates that traffic is delivered to the node or pod with
317
                            the destination set to the node's IP and node port or the pod's IP and port.
318
                            Service implementations may use this information to adjust traffic routing.
319
                          type: string
320
                        ports:
321
                          description: |-
322
                            Ports is a list of records of service ports
323
                            If used, every port defined in the service should have an entry in it
324
                          items:
325
                            properties:
326
                              error:
327
                                description: |-
328
                                  Error is to record the problem with the service port
329
                                  The format of the error shall comply with the following rules:
330
                                  - built-in error values shall be specified in this file and those shall use
331
                                    CamelCase names
332
                                  - cloud provider specific error values must have names that comply with the
333
                                    format foo.example.com/CamelCase.
334
                                  ---
335
                                  The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
336
                                maxLength: 316
337
                                pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
338
                                type: string
339
                              port:
340
                                description: Port is the port number of the service
341
                                  port of which status is recorded here
342
                                format: int32
343
                                type: integer
344
                              protocol:
345
                                default: TCP
346
                                description: |-
347
                                  Protocol is the protocol of the service port of which status is recorded here
348
                                  The supported values are: "TCP", "UDP", "SCTP"
349
                                type: string
350
                            required:
351
                            - port
352
                            - protocol
353
                            type: object
354
                          type: array
355
                          x-kubernetes-list-type: atomic
356
                      type: object
357
                    type: array
358
                type: object
359
            type: object
360
        type: object
361
    served: true
362
    storage: true
363
    subresources:
364
      status: {}
365

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.