crds.yaml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. # NGINX Gateway API CustomResourceDefinitions
  2. #
  3. # deploy/manifests/crds/gateway.nginx.org_nginxgateways.yaml
  4. #
  5. ---
  6. apiVersion: apiextensions.k8s.io/v1
  7. kind: CustomResourceDefinition
  8. metadata:
  9. annotations:
  10. controller-gen.kubebuilder.io/version: v0.13.0
  11. name: nginxgateways.gateway.nginx.org
  12. spec:
  13. group: gateway.nginx.org
  14. names:
  15. kind: NginxGateway
  16. listKind: NginxGatewayList
  17. plural: nginxgateways
  18. singular: nginxgateway
  19. scope: Namespaced
  20. versions:
  21. - name: v1alpha1
  22. schema:
  23. openAPIV3Schema:
  24. description: NginxGateway represents the dynamic configuration for an NGINX
  25. Gateway Fabric control plane.
  26. properties:
  27. apiVersion:
  28. description: 'APIVersion defines the versioned schema of this representation
  29. of an object. Servers should convert recognized schemas to the latest
  30. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  31. type: string
  32. kind:
  33. description: 'Kind is a string value representing the REST resource this
  34. object represents. Servers may infer this from the endpoint the client
  35. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  36. type: string
  37. metadata:
  38. type: object
  39. spec:
  40. description: NginxGatewaySpec defines the desired state of the NginxGateway.
  41. properties:
  42. logging:
  43. description: Logging defines logging related settings for the control
  44. plane.
  45. properties:
  46. level:
  47. default: info
  48. description: Level defines the logging level.
  49. enum:
  50. - info
  51. - debug
  52. - error
  53. type: string
  54. type: object
  55. type: object
  56. status:
  57. description: NginxGatewayStatus defines the state of the NginxGateway.
  58. properties:
  59. conditions:
  60. items:
  61. description: "Condition contains details for one aspect of the current
  62. state of this API Resource. --- This struct is intended for direct
  63. use as an array at the field path .status.conditions. For example,
  64. \n type FooStatus struct{ // Represents the observations of a
  65. foo's current state. // Known .status.conditions.type are: \"Available\",
  66. \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
  67. // +listType=map // +listMapKey=type Conditions []metav1.Condition
  68. `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
  69. protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
  70. properties:
  71. lastTransitionTime:
  72. description: lastTransitionTime is the last time the condition
  73. transitioned from one status to another. This should be when
  74. the underlying condition changed. If that is not known, then
  75. using the time when the API field changed is acceptable.
  76. format: date-time
  77. type: string
  78. message:
  79. description: message is a human readable message indicating
  80. details about the transition. This may be an empty string.
  81. maxLength: 32768
  82. type: string
  83. observedGeneration:
  84. description: observedGeneration represents the .metadata.generation
  85. that the condition was set based upon. For instance, if .metadata.generation
  86. is currently 12, but the .status.conditions[x].observedGeneration
  87. is 9, the condition is out of date with respect to the current
  88. state of the instance.
  89. format: int64
  90. minimum: 0
  91. type: integer
  92. reason:
  93. description: reason contains a programmatic identifier indicating
  94. the reason for the condition's last transition. Producers
  95. of specific condition types may define expected values and
  96. meanings for this field, and whether the values are considered
  97. a guaranteed API. The value should be a CamelCase string.
  98. This field may not be empty.
  99. maxLength: 1024
  100. minLength: 1
  101. pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  102. type: string
  103. status:
  104. description: status of the condition, one of True, False, Unknown.
  105. enum:
  106. - "True"
  107. - "False"
  108. - Unknown
  109. type: string
  110. type:
  111. description: type of condition in CamelCase or in foo.example.com/CamelCase.
  112. --- Many .condition.type values are consistent across resources
  113. like Available, but because arbitrary conditions can be useful
  114. (see .node.status.conditions), the ability to deconflict is
  115. important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  116. maxLength: 316
  117. 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])$
  118. type: string
  119. required:
  120. - lastTransitionTime
  121. - message
  122. - reason
  123. - status
  124. - type
  125. type: object
  126. maxItems: 8
  127. type: array
  128. x-kubernetes-list-map-keys:
  129. - type
  130. x-kubernetes-list-type: map
  131. type: object
  132. required:
  133. - spec
  134. type: object
  135. served: true
  136. storage: true
  137. subresources:
  138. status: {}