You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
8.8 KiB

  1. ---
  2. apiVersion: apiextensions.k8s.io/v1
  3. kind: CustomResourceDefinition
  4. metadata:
  5. annotations:
  6. api-approved.kubernetes.io: https://github.com/kubernetes-sigs/scheduler-plugins/pull/432 # edited manually
  7. controller-gen.kubebuilder.io/version: v0.11.1
  8. creationTimestamp: null
  9. name: appgroups.appgroup.diktyo.x-k8s.io
  10. spec:
  11. group: appgroup.diktyo.x-k8s.io
  12. names:
  13. kind: AppGroup
  14. listKind: AppGroupList
  15. plural: appgroups
  16. shortNames:
  17. - ag
  18. singular: appgroup
  19. scope: Namespaced
  20. versions:
  21. - name: v1alpha1
  22. schema:
  23. openAPIV3Schema:
  24. description: AppGroup is a collection of Pods belonging to the same application.
  25. properties:
  26. apiVersion:
  27. description: 'APIVersion defines the versioned schema of this representation
  28. of an object. Servers should convert recognized schemas to the latest
  29. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  30. type: string
  31. kind:
  32. description: 'Kind is a string value representing the REST resource this
  33. object represents. Servers may infer this from the endpoint the client
  34. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  35. type: string
  36. metadata:
  37. type: object
  38. spec:
  39. description: AppGroupSpec defines the number of Pods and which Pods belong
  40. to the group.
  41. properties:
  42. numMembers:
  43. description: NumMembers defines the number of Pods belonging to the
  44. App Group
  45. format: int32
  46. minimum: 1
  47. type: integer
  48. topologySortingAlgorithm:
  49. description: The preferred Topology Sorting Algorithm
  50. type: string
  51. workloads:
  52. description: Workloads defines the workloads belonging to the group
  53. items:
  54. description: AppGroupWorkload represents the Workloads belonging
  55. to the App Group.
  56. properties:
  57. dependencies:
  58. description: Dependencies of the Workload.
  59. items:
  60. description: DependenciesInfo contains information about one
  61. dependency.
  62. properties:
  63. maxNetworkCost:
  64. description: Max Network Cost between workloads
  65. format: int64
  66. maximum: 10000
  67. minimum: 0
  68. type: integer
  69. minBandwidth:
  70. anyOf:
  71. - type: integer
  72. - type: string
  73. description: MinBandwidth between workloads
  74. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  75. x-kubernetes-int-or-string: true
  76. workload:
  77. description: Workload reference Info.
  78. properties:
  79. apiVersion:
  80. description: ApiVersion defines the versioned schema
  81. of an object.
  82. type: string
  83. kind:
  84. description: 'Kind of the workload, info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
  85. type: string
  86. name:
  87. description: 'Name represents the workload, info:
  88. http://kubernetes.io/docs/user-guide/identifiers#names'
  89. type: string
  90. namespace:
  91. description: Namespace of the workload
  92. type: string
  93. selector:
  94. description: Selector defines how to find Pods related
  95. to the Workload (key = workload). (e.g., workload=w1)
  96. type: string
  97. required:
  98. - kind
  99. - name
  100. - selector
  101. type: object
  102. required:
  103. - workload
  104. type: object
  105. type: array
  106. workload:
  107. description: Workload reference Info.
  108. properties:
  109. apiVersion:
  110. description: ApiVersion defines the versioned schema of
  111. an object.
  112. type: string
  113. kind:
  114. description: 'Kind of the workload, info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
  115. type: string
  116. name:
  117. description: 'Name represents the workload, info: http://kubernetes.io/docs/user-guide/identifiers#names'
  118. type: string
  119. namespace:
  120. description: Namespace of the workload
  121. type: string
  122. selector:
  123. description: Selector defines how to find Pods related to
  124. the Workload (key = workload). (e.g., workload=w1)
  125. type: string
  126. required:
  127. - kind
  128. - name
  129. - selector
  130. type: object
  131. required:
  132. - workload
  133. type: object
  134. type: array
  135. required:
  136. - numMembers
  137. - topologySortingAlgorithm
  138. - workloads
  139. type: object
  140. status:
  141. description: AppGroupStatus defines the observed use.
  142. properties:
  143. runningWorkloads:
  144. description: The number of actively running workloads (e.g., number
  145. of pods).
  146. format: int32
  147. minimum: 0
  148. type: integer
  149. scheduleStartTime:
  150. description: ScheduleStartTime of the group
  151. format: date-time
  152. type: string
  153. topologyCalculationTime:
  154. description: TopologyCalculationTime of the group
  155. format: date-time
  156. type: string
  157. topologyOrder:
  158. description: Topology order for TopSort plugin (QueueSort)
  159. items:
  160. description: AppGroupTopologyInfo represents the calculated order
  161. for a given Workload.
  162. properties:
  163. index:
  164. description: Topology index.
  165. format: int32
  166. type: integer
  167. workload:
  168. description: Workload reference Info.
  169. properties:
  170. apiVersion:
  171. description: ApiVersion defines the versioned schema of
  172. an object.
  173. type: string
  174. kind:
  175. description: 'Kind of the workload, info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
  176. type: string
  177. name:
  178. description: 'Name represents the workload, info: http://kubernetes.io/docs/user-guide/identifiers#names'
  179. type: string
  180. namespace:
  181. description: Namespace of the workload
  182. type: string
  183. selector:
  184. description: Selector defines how to find Pods related to
  185. the Workload (key = workload). (e.g., workload=w1)
  186. type: string
  187. required:
  188. - kind
  189. - name
  190. - selector
  191. type: object
  192. type: object
  193. type: array
  194. type: object
  195. type: object
  196. served: true
  197. storage: true