operator.yaml 159 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878
  1. apiVersion: v1
  2. kind: ServiceAccount
  3. metadata:
  4. name: hostpath-provisioner-operator
  5. ---
  6. apiVersion: rbac.authorization.k8s.io/v1
  7. kind: ClusterRole
  8. metadata:
  9. name: hostpath-provisioner-operator
  10. rules:
  11. - apiGroups:
  12. - ""
  13. resources:
  14. - persistentvolumes
  15. verbs:
  16. - '*'
  17. - apiGroups:
  18. - ""
  19. resources:
  20. - persistentvolumeclaims
  21. verbs:
  22. - get
  23. - list
  24. - watch
  25. - create
  26. - update
  27. - apiGroups:
  28. - ""
  29. resources:
  30. - events
  31. verbs:
  32. - get
  33. - list
  34. - watch
  35. - create
  36. - patch
  37. - update
  38. - apiGroups:
  39. - rbac.authorization.k8s.io
  40. resources:
  41. - clusterrolebindings
  42. resourceNames:
  43. - hostpath-provisioner
  44. - hostpath-provisioner-admin
  45. - hostpath-provisioner-admin-csi
  46. verbs:
  47. - update
  48. - delete
  49. - apiGroups:
  50. - rbac.authorization.k8s.io
  51. resources:
  52. - clusterrolebindings
  53. verbs:
  54. - list
  55. - get
  56. - watch
  57. - create # Need watch and create here or it cannot create the specific hostpath-provisioner cluster roles, cannot put watch and create on the specific resourceName
  58. - apiGroups:
  59. - rbac.authorization.k8s.io
  60. resources:
  61. - clusterroles
  62. verbs:
  63. - list
  64. - get
  65. - watch
  66. - create
  67. - apiGroups:
  68. - rbac.authorization.k8s.io
  69. resources:
  70. - clusterroles
  71. resourceNames:
  72. - hostpath-provisioner
  73. - hostpath-provisioner-admin
  74. - hostpath-provisioner-admin-csi
  75. verbs:
  76. - update
  77. - delete
  78. - apiGroups:
  79. - apps
  80. resourceNames:
  81. - hostpath-provisioner-operator
  82. resources:
  83. - deployments/finalizers
  84. verbs:
  85. - update
  86. - apiGroups:
  87. - hostpathprovisioner.kubevirt.io
  88. resources:
  89. - '*'
  90. verbs:
  91. - '*'
  92. - apiGroups:
  93. - security.openshift.io
  94. resources:
  95. - securitycontextconstraints
  96. verbs:
  97. - list
  98. - get
  99. - watch
  100. - create
  101. - apiGroups:
  102. - security.openshift.io
  103. resources:
  104. - securitycontextconstraints
  105. resourceNames:
  106. - hostpath-provisioner
  107. - hostpath-provisioner-csi
  108. verbs:
  109. - delete
  110. - update
  111. - apiGroups:
  112. - config.openshift.io
  113. resources:
  114. - apiservers
  115. verbs:
  116. - get
  117. - list
  118. - watch
  119. - apiGroups:
  120. - storage.k8s.io
  121. resources:
  122. - storageclasses
  123. verbs:
  124. - list
  125. - get
  126. - watch
  127. - apiGroups:
  128. - ""
  129. resources:
  130. - nodes
  131. verbs:
  132. - get
  133. - list
  134. - watch
  135. - apiGroups:
  136. - "storage.k8s.io"
  137. resources:
  138. - csinodes
  139. verbs:
  140. - get
  141. - list
  142. - watch
  143. - apiGroups:
  144. - "storage.k8s.io"
  145. resources:
  146. - csidrivers
  147. verbs:
  148. - list
  149. - create
  150. - get
  151. - watch
  152. - apiGroups:
  153. - "storage.k8s.io"
  154. resourceNames:
  155. - kubevirt.io.hostpath-provisioner
  156. resources:
  157. - csidrivers
  158. verbs:
  159. - delete
  160. - update
  161. - apiGroups:
  162. - "storage.k8s.io"
  163. resources:
  164. - volumeattachments
  165. verbs:
  166. - get
  167. - list
  168. - watch
  169. - patch
  170. - apiGroups:
  171. - "storage.k8s.io"
  172. resources:
  173. - volumeattachments/status
  174. verbs:
  175. - patch
  176. - apiGroups:
  177. - "snapshot.storage.k8s.io"
  178. resources:
  179. - volumesnapshotclasses
  180. verbs:
  181. - get
  182. - list
  183. - watch
  184. - apiGroups:
  185. - "snapshot.storage.k8s.io"
  186. resources:
  187. - volumesnapshots
  188. verbs:
  189. - get
  190. - apiGroups:
  191. - "snapshot.storage.k8s.io"
  192. resources:
  193. - volumesnapshotcontents
  194. verbs:
  195. - create
  196. - get
  197. - list
  198. - watch
  199. - update
  200. - delete
  201. - patch
  202. - apiGroups:
  203. - "snapshot.storage.k8s.io"
  204. resources:
  205. - volumesnapshotcontents/status
  206. verbs:
  207. - update
  208. - patch
  209. - apiGroups:
  210. - ""
  211. resources:
  212. - pods
  213. verbs:
  214. - get
  215. - list
  216. - watch
  217. ---
  218. apiVersion: rbac.authorization.k8s.io/v1
  219. kind: Role
  220. metadata:
  221. name: hostpath-provisioner-operator
  222. rules:
  223. - apiGroups:
  224. - apps
  225. resources:
  226. - daemonsets
  227. verbs:
  228. - list
  229. - get
  230. - watch
  231. - create
  232. - apiGroups:
  233. - apps
  234. resources:
  235. - daemonsets
  236. resourceNames:
  237. - hostpath-provisioner
  238. - hostpath-provisioner-csi
  239. verbs:
  240. - delete
  241. - update
  242. - apiGroups:
  243. - apps
  244. resources:
  245. - deployments
  246. verbs:
  247. - list
  248. - get
  249. - watch
  250. - create
  251. - delete
  252. - update
  253. - apiGroups:
  254. - ""
  255. resources:
  256. - endpoints
  257. verbs:
  258. - get
  259. - list
  260. - watch
  261. - apiGroups:
  262. - ""
  263. resources:
  264. - services
  265. verbs:
  266. - get
  267. - list
  268. - watch
  269. - create
  270. - apiGroups:
  271. - ""
  272. resources:
  273. - services
  274. resourceNames:
  275. - hpp-prometheus-metrics
  276. verbs:
  277. - 'update'
  278. - 'delete'
  279. - apiGroups:
  280. - ""
  281. resources:
  282. - configmaps
  283. verbs:
  284. - create
  285. - get
  286. - apiGroups:
  287. - ""
  288. resources:
  289. - configmaps
  290. resourceNames:
  291. - hostpath-provisioner-operator-lock
  292. verbs:
  293. - update
  294. - apiGroups:
  295. - ""
  296. resources:
  297. - serviceaccounts
  298. verbs:
  299. - 'list'
  300. - 'get'
  301. - 'create'
  302. - 'watch'
  303. - apiGroups:
  304. - ""
  305. resources:
  306. - serviceaccounts
  307. resourceNames:
  308. - hostpath-provisioner-admin
  309. - hostpath-provisioner-admin-csi
  310. verbs:
  311. - 'update'
  312. - 'delete'
  313. - apiGroups:
  314. - "coordination.k8s.io"
  315. resources:
  316. - leases
  317. verbs:
  318. - '*'
  319. - apiGroups:
  320. - "storage.k8s.io"
  321. resources:
  322. - csistoragecapacities
  323. verbs:
  324. - '*'
  325. - apiGroups:
  326. - monitoring.coreos.com
  327. resources:
  328. - servicemonitors
  329. - prometheusrules
  330. verbs:
  331. - list
  332. - get
  333. - watch
  334. - create
  335. - delete
  336. - update
  337. - patch
  338. - apiGroups:
  339. - rbac.authorization.k8s.io
  340. resources:
  341. - rolebindings
  342. verbs:
  343. - list
  344. - get
  345. - watch
  346. - create
  347. - apiGroups:
  348. - rbac.authorization.k8s.io
  349. resources:
  350. - roles
  351. verbs:
  352. - list
  353. - get
  354. - watch
  355. - create
  356. - apiGroups:
  357. - rbac.authorization.k8s.io
  358. resources:
  359. - rolebindings
  360. resourceNames:
  361. - hostpath-provisioner
  362. - hostpath-provisioner-admin
  363. - hostpath-provisioner-admin-csi
  364. - hostpath-provisioner-monitoring
  365. verbs:
  366. - update
  367. - delete
  368. - apiGroups:
  369. - rbac.authorization.k8s.io
  370. resources:
  371. - roles
  372. resourceNames:
  373. - hostpath-provisioner
  374. - hostpath-provisioner-admin
  375. - hostpath-provisioner-admin-csi
  376. - hostpath-provisioner-monitoring
  377. verbs:
  378. - update
  379. - delete
  380. - apiGroups:
  381. - batch
  382. resources:
  383. - jobs
  384. verbs:
  385. - create
  386. - delete
  387. - list
  388. - watch
  389. ---
  390. apiVersion: rbac.authorization.k8s.io/v1
  391. kind: ClusterRoleBinding
  392. metadata:
  393. name: hostpath-provisioner-operator
  394. subjects:
  395. - kind: ServiceAccount
  396. name: hostpath-provisioner-operator
  397. namespace: hostpath-provisioner
  398. roleRef:
  399. kind: ClusterRole
  400. name: hostpath-provisioner-operator
  401. apiGroup: rbac.authorization.k8s.io
  402. ---
  403. apiVersion: rbac.authorization.k8s.io/v1
  404. kind: RoleBinding
  405. metadata:
  406. name: hostpath-provisioner-operator
  407. subjects:
  408. - kind: ServiceAccount
  409. name: hostpath-provisioner-operator
  410. namespace: hostpath-provisioner
  411. roleRef:
  412. kind: Role
  413. name: hostpath-provisioner-operator
  414. apiGroup: rbac.authorization.k8s.io
  415. ---
  416. apiVersion: apiextensions.k8s.io/v1
  417. kind: CustomResourceDefinition
  418. metadata:
  419. annotations:
  420. controller-gen.kubebuilder.io/version: v0.7.0
  421. creationTimestamp: null
  422. name: hostpathprovisioners.hostpathprovisioner.kubevirt.io
  423. spec:
  424. group: hostpathprovisioner.kubevirt.io
  425. names:
  426. kind: HostPathProvisioner
  427. listKind: HostPathProvisionerList
  428. plural: hostpathprovisioners
  429. singular: hostpathprovisioner
  430. scope: Cluster
  431. versions:
  432. - name: v1alpha1
  433. schema:
  434. openAPIV3Schema:
  435. description: HostPathProvisioner is the Schema for the hostpathprovisioners
  436. API
  437. properties:
  438. apiVersion:
  439. description: 'APIVersion defines the versioned schema of this representation
  440. of an object. Servers should convert recognized schemas to the latest
  441. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  442. type: string
  443. kind:
  444. description: 'Kind is a string value representing the REST resource this
  445. object represents. Servers may infer this from the endpoint the client
  446. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  447. type: string
  448. metadata:
  449. type: object
  450. spec:
  451. description: HostPathProvisionerSpec defines the desired state of HostPathProvisioner
  452. properties:
  453. imagePullPolicy:
  454. description: ImagePullPolicy is the container pull policy for the
  455. host path provisioner containers
  456. type: string
  457. pathConfig:
  458. description: PathConfig describes the location and layout of PV storage
  459. on nodes
  460. properties:
  461. path:
  462. description: Path The path the directories for the PVs are created
  463. under
  464. type: string
  465. useNamingPrefix:
  466. description: UseNamingPrefix Use the name of the PVC requesting
  467. the PV as part of the directory created
  468. type: string
  469. type: object
  470. workload:
  471. description: Restrict on which nodes HPP workload pods will be scheduled
  472. properties:
  473. affinity:
  474. description: affinity enables pod affinity/anti-affinity placement
  475. expanding the types of constraints that can be expressed with
  476. nodeSelector. affinity is going to be applied to the relevant
  477. kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  478. properties:
  479. nodeAffinity:
  480. description: Describes node affinity scheduling rules for
  481. the pod.
  482. properties:
  483. preferredDuringSchedulingIgnoredDuringExecution:
  484. description: The scheduler will prefer to schedule pods
  485. to nodes that satisfy the affinity expressions specified
  486. by this field, but it may choose a node that violates
  487. one or more of the expressions. The node that is most
  488. preferred is the one with the greatest sum of weights,
  489. i.e. for each node that meets all of the scheduling
  490. requirements (resource request, requiredDuringScheduling
  491. affinity expressions, etc.), compute a sum by iterating
  492. through the elements of this field and adding "weight"
  493. to the sum if the node matches the corresponding matchExpressions;
  494. the node(s) with the highest sum are the most preferred.
  495. items:
  496. description: An empty preferred scheduling term matches
  497. all objects with implicit weight 0 (i.e. it's a no-op).
  498. A null preferred scheduling term matches no objects
  499. (i.e. is also a no-op).
  500. properties:
  501. preference:
  502. description: A node selector term, associated with
  503. the corresponding weight.
  504. properties:
  505. matchExpressions:
  506. description: A list of node selector requirements
  507. by node's labels.
  508. items:
  509. description: A node selector requirement is
  510. a selector that contains values, a key,
  511. and an operator that relates the key and
  512. values.
  513. properties:
  514. key:
  515. description: The label key that the selector
  516. applies to.
  517. type: string
  518. operator:
  519. description: Represents a key's relationship
  520. to a set of values. Valid operators
  521. are In, NotIn, Exists, DoesNotExist.
  522. Gt, and Lt.
  523. type: string
  524. values:
  525. description: An array of string values.
  526. If the operator is In or NotIn, the
  527. values array must be non-empty. If the
  528. operator is Exists or DoesNotExist,
  529. the values array must be empty. If the
  530. operator is Gt or Lt, the values array
  531. must have a single element, which will
  532. be interpreted as an integer. This array
  533. is replaced during a strategic merge
  534. patch.
  535. items:
  536. type: string
  537. type: array
  538. required:
  539. - key
  540. - operator
  541. type: object
  542. type: array
  543. matchFields:
  544. description: A list of node selector requirements
  545. by node's fields.
  546. items:
  547. description: A node selector requirement is
  548. a selector that contains values, a key,
  549. and an operator that relates the key and
  550. values.
  551. properties:
  552. key:
  553. description: The label key that the selector
  554. applies to.
  555. type: string
  556. operator:
  557. description: Represents a key's relationship
  558. to a set of values. Valid operators
  559. are In, NotIn, Exists, DoesNotExist.
  560. Gt, and Lt.
  561. type: string
  562. values:
  563. description: An array of string values.
  564. If the operator is In or NotIn, the
  565. values array must be non-empty. If the
  566. operator is Exists or DoesNotExist,
  567. the values array must be empty. If the
  568. operator is Gt or Lt, the values array
  569. must have a single element, which will
  570. be interpreted as an integer. This array
  571. is replaced during a strategic merge
  572. patch.
  573. items:
  574. type: string
  575. type: array
  576. required:
  577. - key
  578. - operator
  579. type: object
  580. type: array
  581. type: object
  582. weight:
  583. description: Weight associated with matching the
  584. corresponding nodeSelectorTerm, in the range 1-100.
  585. format: int32
  586. type: integer
  587. required:
  588. - preference
  589. - weight
  590. type: object
  591. type: array
  592. requiredDuringSchedulingIgnoredDuringExecution:
  593. description: If the affinity requirements specified by
  594. this field are not met at scheduling time, the pod will
  595. not be scheduled onto the node. If the affinity requirements
  596. specified by this field cease to be met at some point
  597. during pod execution (e.g. due to an update), the system
  598. may or may not try to eventually evict the pod from
  599. its node.
  600. properties:
  601. nodeSelectorTerms:
  602. description: Required. A list of node selector terms.
  603. The terms are ORed.
  604. items:
  605. description: A null or empty node selector term
  606. matches no objects. The requirements of them are
  607. ANDed. The TopologySelectorTerm type implements
  608. a subset of the NodeSelectorTerm.
  609. properties:
  610. matchExpressions:
  611. description: A list of node selector requirements
  612. by node's labels.
  613. items:
  614. description: A node selector requirement is
  615. a selector that contains values, a key,
  616. and an operator that relates the key and
  617. values.
  618. properties:
  619. key:
  620. description: The label key that the selector
  621. applies to.
  622. type: string
  623. operator:
  624. description: Represents a key's relationship
  625. to a set of values. Valid operators
  626. are In, NotIn, Exists, DoesNotExist.
  627. Gt, and Lt.
  628. type: string
  629. values:
  630. description: An array of string values.
  631. If the operator is In or NotIn, the
  632. values array must be non-empty. If the
  633. operator is Exists or DoesNotExist,
  634. the values array must be empty. If the
  635. operator is Gt or Lt, the values array
  636. must have a single element, which will
  637. be interpreted as an integer. This array
  638. is replaced during a strategic merge
  639. patch.
  640. items:
  641. type: string
  642. type: array
  643. required:
  644. - key
  645. - operator
  646. type: object
  647. type: array
  648. matchFields:
  649. description: A list of node selector requirements
  650. by node's fields.
  651. items:
  652. description: A node selector requirement is
  653. a selector that contains values, a key,
  654. and an operator that relates the key and
  655. values.
  656. properties:
  657. key:
  658. description: The label key that the selector
  659. applies to.
  660. type: string
  661. operator:
  662. description: Represents a key's relationship
  663. to a set of values. Valid operators
  664. are In, NotIn, Exists, DoesNotExist.
  665. Gt, and Lt.
  666. type: string
  667. values:
  668. description: An array of string values.
  669. If the operator is In or NotIn, the
  670. values array must be non-empty. If the
  671. operator is Exists or DoesNotExist,
  672. the values array must be empty. If the
  673. operator is Gt or Lt, the values array
  674. must have a single element, which will
  675. be interpreted as an integer. This array
  676. is replaced during a strategic merge
  677. patch.
  678. items:
  679. type: string
  680. type: array
  681. required:
  682. - key
  683. - operator
  684. type: object
  685. type: array
  686. type: object
  687. type: array
  688. required:
  689. - nodeSelectorTerms
  690. type: object
  691. type: object
  692. podAffinity:
  693. description: Describes pod affinity scheduling rules (e.g.
  694. co-locate this pod in the same node, zone, etc. as some
  695. other pod(s)).
  696. properties:
  697. preferredDuringSchedulingIgnoredDuringExecution:
  698. description: The scheduler will prefer to schedule pods
  699. to nodes that satisfy the affinity expressions specified
  700. by this field, but it may choose a node that violates
  701. one or more of the expressions. The node that is most
  702. preferred is the one with the greatest sum of weights,
  703. i.e. for each node that meets all of the scheduling
  704. requirements (resource request, requiredDuringScheduling
  705. affinity expressions, etc.), compute a sum by iterating
  706. through the elements of this field and adding "weight"
  707. to the sum if the node has pods which matches the corresponding
  708. podAffinityTerm; the node(s) with the highest sum are
  709. the most preferred.
  710. items:
  711. description: The weights of all of the matched WeightedPodAffinityTerm
  712. fields are added per-node to find the most preferred
  713. node(s)
  714. properties:
  715. podAffinityTerm:
  716. description: Required. A pod affinity term, associated
  717. with the corresponding weight.
  718. properties:
  719. labelSelector:
  720. description: A label query over a set of resources,
  721. in this case pods.
  722. properties:
  723. matchExpressions:
  724. description: matchExpressions is a list
  725. of label selector requirements. The requirements
  726. are ANDed.
  727. items:
  728. description: A label selector requirement
  729. is a selector that contains values,
  730. a key, and an operator that relates
  731. the key and values.
  732. properties:
  733. key:
  734. description: key is the label key
  735. that the selector applies to.
  736. type: string
  737. operator:
  738. description: operator represents a
  739. key's relationship to a set of values.
  740. Valid operators are In, NotIn, Exists
  741. and DoesNotExist.
  742. type: string
  743. values:
  744. description: values is an array of
  745. string values. If the operator is
  746. In or NotIn, the values array must
  747. be non-empty. If the operator is
  748. Exists or DoesNotExist, the values
  749. array must be empty. This array
  750. is replaced during a strategic merge
  751. patch.
  752. items:
  753. type: string
  754. type: array
  755. required:
  756. - key
  757. - operator
  758. type: object
  759. type: array
  760. matchLabels:
  761. additionalProperties:
  762. type: string
  763. description: matchLabels is a map of {key,value}
  764. pairs. A single {key,value} in the matchLabels
  765. map is equivalent to an element of matchExpressions,
  766. whose key field is "key", the operator
  767. is "In", and the values array contains
  768. only "value". The requirements are ANDed.
  769. type: object
  770. type: object
  771. namespaceSelector:
  772. description: A label query over the set of namespaces
  773. that the term applies to. The term is applied
  774. to the union of the namespaces selected by
  775. this field and the ones listed in the namespaces
  776. field. null selector and null or empty namespaces
  777. list means "this pod's namespace". An empty
  778. selector ({}) matches all namespaces.
  779. properties:
  780. matchExpressions:
  781. description: matchExpressions is a list
  782. of label selector requirements. The requirements
  783. are ANDed.
  784. items:
  785. description: A label selector requirement
  786. is a selector that contains values,
  787. a key, and an operator that relates
  788. the key and values.
  789. properties:
  790. key:
  791. description: key is the label key
  792. that the selector applies to.
  793. type: string
  794. operator:
  795. description: operator represents a
  796. key's relationship to a set of values.
  797. Valid operators are In, NotIn, Exists
  798. and DoesNotExist.
  799. type: string
  800. values:
  801. description: values is an array of
  802. string values. If the operator is
  803. In or NotIn, the values array must
  804. be non-empty. If the operator is
  805. Exists or DoesNotExist, the values
  806. array must be empty. This array
  807. is replaced during a strategic merge
  808. patch.
  809. items:
  810. type: string
  811. type: array
  812. required:
  813. - key
  814. - operator
  815. type: object
  816. type: array
  817. matchLabels:
  818. additionalProperties:
  819. type: string
  820. description: matchLabels is a map of {key,value}
  821. pairs. A single {key,value} in the matchLabels
  822. map is equivalent to an element of matchExpressions,
  823. whose key field is "key", the operator
  824. is "In", and the values array contains
  825. only "value". The requirements are ANDed.
  826. type: object
  827. type: object
  828. namespaces:
  829. description: namespaces specifies a static list
  830. of namespace names that the term applies to.
  831. The term is applied to the union of the namespaces
  832. listed in this field and the ones selected
  833. by namespaceSelector. null or empty namespaces
  834. list and null namespaceSelector means "this
  835. pod's namespace".
  836. items:
  837. type: string
  838. type: array
  839. topologyKey:
  840. description: This pod should be co-located (affinity)
  841. or not co-located (anti-affinity) with the
  842. pods matching the labelSelector in the specified
  843. namespaces, where co-located is defined as
  844. running on a node whose value of the label
  845. with key topologyKey matches that of any node
  846. on which any of the selected pods is running.
  847. Empty topologyKey is not allowed.
  848. type: string
  849. required:
  850. - topologyKey
  851. type: object
  852. weight:
  853. description: weight associated with matching the
  854. corresponding podAffinityTerm, in the range 1-100.
  855. format: int32
  856. type: integer
  857. required:
  858. - podAffinityTerm
  859. - weight
  860. type: object
  861. type: array
  862. requiredDuringSchedulingIgnoredDuringExecution:
  863. description: If the affinity requirements specified by
  864. this field are not met at scheduling time, the pod will
  865. not be scheduled onto the node. If the affinity requirements
  866. specified by this field cease to be met at some point
  867. during pod execution (e.g. due to a pod label update),
  868. the system may or may not try to eventually evict the
  869. pod from its node. When there are multiple elements,
  870. the lists of nodes corresponding to each podAffinityTerm
  871. are intersected, i.e. all terms must be satisfied.
  872. items:
  873. description: Defines a set of pods (namely those matching
  874. the labelSelector relative to the given namespace(s))
  875. that this pod should be co-located (affinity) or not
  876. co-located (anti-affinity) with, where co-located
  877. is defined as running on a node whose value of the
  878. label with key <topologyKey> matches that of any node
  879. on which a pod of the set of pods is running
  880. properties:
  881. labelSelector:
  882. description: A label query over a set of resources,
  883. in this case pods.
  884. properties:
  885. matchExpressions:
  886. description: matchExpressions is a list of label
  887. selector requirements. The requirements are
  888. ANDed.
  889. items:
  890. description: A label selector requirement
  891. is a selector that contains values, a key,
  892. and an operator that relates the key and
  893. values.
  894. properties:
  895. key:
  896. description: key is the label key that
  897. the selector applies to.
  898. type: string
  899. operator:
  900. description: operator represents a key's
  901. relationship to a set of values. Valid
  902. operators are In, NotIn, Exists and
  903. DoesNotExist.
  904. type: string
  905. values:
  906. description: values is an array of string
  907. values. If the operator is In or NotIn,
  908. the values array must be non-empty.
  909. If the operator is Exists or DoesNotExist,
  910. the values array must be empty. This
  911. array is replaced during a strategic
  912. merge patch.
  913. items:
  914. type: string
  915. type: array
  916. required:
  917. - key
  918. - operator
  919. type: object
  920. type: array
  921. matchLabels:
  922. additionalProperties:
  923. type: string
  924. description: matchLabels is a map of {key,value}
  925. pairs. A single {key,value} in the matchLabels
  926. map is equivalent to an element of matchExpressions,
  927. whose key field is "key", the operator is
  928. "In", and the values array contains only "value".
  929. The requirements are ANDed.
  930. type: object
  931. type: object
  932. namespaceSelector:
  933. description: A label query over the set of namespaces
  934. that the term applies to. The term is applied
  935. to the union of the namespaces selected by this
  936. field and the ones listed in the namespaces field.
  937. null selector and null or empty namespaces list
  938. means "this pod's namespace". An empty selector
  939. ({}) matches all namespaces.
  940. properties:
  941. matchExpressions:
  942. description: matchExpressions is a list of label
  943. selector requirements. The requirements are
  944. ANDed.
  945. items:
  946. description: A label selector requirement
  947. is a selector that contains values, a key,
  948. and an operator that relates the key and
  949. values.
  950. properties:
  951. key:
  952. description: key is the label key that
  953. the selector applies to.
  954. type: string
  955. operator:
  956. description: operator represents a key's
  957. relationship to a set of values. Valid
  958. operators are In, NotIn, Exists and
  959. DoesNotExist.
  960. type: string
  961. values:
  962. description: values is an array of string
  963. values. If the operator is In or NotIn,
  964. the values array must be non-empty.
  965. If the operator is Exists or DoesNotExist,
  966. the values array must be empty. This
  967. array is replaced during a strategic
  968. merge patch.
  969. items:
  970. type: string
  971. type: array
  972. required:
  973. - key
  974. - operator
  975. type: object
  976. type: array
  977. matchLabels:
  978. additionalProperties:
  979. type: string
  980. description: matchLabels is a map of {key,value}
  981. pairs. A single {key,value} in the matchLabels
  982. map is equivalent to an element of matchExpressions,
  983. whose key field is "key", the operator is
  984. "In", and the values array contains only "value".
  985. The requirements are ANDed.
  986. type: object
  987. type: object
  988. namespaces:
  989. description: namespaces specifies a static list
  990. of namespace names that the term applies to. The
  991. term is applied to the union of the namespaces
  992. listed in this field and the ones selected by
  993. namespaceSelector. null or empty namespaces list
  994. and null namespaceSelector means "this pod's namespace".
  995. items:
  996. type: string
  997. type: array
  998. topologyKey:
  999. description: This pod should be co-located (affinity)
  1000. or not co-located (anti-affinity) with the pods
  1001. matching the labelSelector in the specified namespaces,
  1002. where co-located is defined as running on a node
  1003. whose value of the label with key topologyKey
  1004. matches that of any node on which any of the selected
  1005. pods is running. Empty topologyKey is not allowed.
  1006. type: string
  1007. required:
  1008. - topologyKey
  1009. type: object
  1010. type: array
  1011. type: object
  1012. podAntiAffinity:
  1013. description: Describes pod anti-affinity scheduling rules
  1014. (e.g. avoid putting this pod in the same node, zone, etc.
  1015. as some other pod(s)).
  1016. properties:
  1017. preferredDuringSchedulingIgnoredDuringExecution:
  1018. description: The scheduler will prefer to schedule pods
  1019. to nodes that satisfy the anti-affinity expressions
  1020. specified by this field, but it may choose a node that
  1021. violates one or more of the expressions. The node that
  1022. is most preferred is the one with the greatest sum of
  1023. weights, i.e. for each node that meets all of the scheduling
  1024. requirements (resource request, requiredDuringScheduling
  1025. anti-affinity expressions, etc.), compute a sum by iterating
  1026. through the elements of this field and adding "weight"
  1027. to the sum if the node has pods which matches the corresponding
  1028. podAffinityTerm; the node(s) with the highest sum are
  1029. the most preferred.
  1030. items:
  1031. description: The weights of all of the matched WeightedPodAffinityTerm
  1032. fields are added per-node to find the most preferred
  1033. node(s)
  1034. properties:
  1035. podAffinityTerm:
  1036. description: Required. A pod affinity term, associated
  1037. with the corresponding weight.
  1038. properties:
  1039. labelSelector:
  1040. description: A label query over a set of resources,
  1041. in this case pods.
  1042. properties:
  1043. matchExpressions:
  1044. description: matchExpressions is a list
  1045. of label selector requirements. The requirements
  1046. are ANDed.
  1047. items:
  1048. description: A label selector requirement
  1049. is a selector that contains values,
  1050. a key, and an operator that relates
  1051. the key and values.
  1052. properties:
  1053. key:
  1054. description: key is the label key
  1055. that the selector applies to.
  1056. type: string
  1057. operator:
  1058. description: operator represents a
  1059. key's relationship to a set of values.
  1060. Valid operators are In, NotIn, Exists
  1061. and DoesNotExist.
  1062. type: string
  1063. values:
  1064. description: values is an array of
  1065. string values. If the operator is
  1066. In or NotIn, the values array must
  1067. be non-empty. If the operator is
  1068. Exists or DoesNotExist, the values
  1069. array must be empty. This array
  1070. is replaced during a strategic merge
  1071. patch.
  1072. items:
  1073. type: string
  1074. type: array
  1075. required:
  1076. - key
  1077. - operator
  1078. type: object
  1079. type: array
  1080. matchLabels:
  1081. additionalProperties:
  1082. type: string
  1083. description: matchLabels is a map of {key,value}
  1084. pairs. A single {key,value} in the matchLabels
  1085. map is equivalent to an element of matchExpressions,
  1086. whose key field is "key", the operator
  1087. is "In", and the values array contains
  1088. only "value". The requirements are ANDed.
  1089. type: object
  1090. type: object
  1091. namespaceSelector:
  1092. description: A label query over the set of namespaces
  1093. that the term applies to. The term is applied
  1094. to the union of the namespaces selected by
  1095. this field and the ones listed in the namespaces
  1096. field. null selector and null or empty namespaces
  1097. list means "this pod's namespace". An empty
  1098. selector ({}) matches all namespaces.
  1099. properties:
  1100. matchExpressions:
  1101. description: matchExpressions is a list
  1102. of label selector requirements. The requirements
  1103. are ANDed.
  1104. items:
  1105. description: A label selector requirement
  1106. is a selector that contains values,
  1107. a key, and an operator that relates
  1108. the key and values.
  1109. properties:
  1110. key:
  1111. description: key is the label key
  1112. that the selector applies to.
  1113. type: string
  1114. operator:
  1115. description: operator represents a
  1116. key's relationship to a set of values.
  1117. Valid operators are In, NotIn, Exists
  1118. and DoesNotExist.
  1119. type: string
  1120. values:
  1121. description: values is an array of
  1122. string values. If the operator is
  1123. In or NotIn, the values array must
  1124. be non-empty. If the operator is
  1125. Exists or DoesNotExist, the values
  1126. array must be empty. This array
  1127. is replaced during a strategic merge
  1128. patch.
  1129. items:
  1130. type: string
  1131. type: array
  1132. required:
  1133. - key
  1134. - operator
  1135. type: object
  1136. type: array
  1137. matchLabels:
  1138. additionalProperties:
  1139. type: string
  1140. description: matchLabels is a map of {key,value}
  1141. pairs. A single {key,value} in the matchLabels
  1142. map is equivalent to an element of matchExpressions,
  1143. whose key field is "key", the operator
  1144. is "In", and the values array contains
  1145. only "value". The requirements are ANDed.
  1146. type: object
  1147. type: object
  1148. namespaces:
  1149. description: namespaces specifies a static list
  1150. of namespace names that the term applies to.
  1151. The term is applied to the union of the namespaces
  1152. listed in this field and the ones selected
  1153. by namespaceSelector. null or empty namespaces
  1154. list and null namespaceSelector means "this
  1155. pod's namespace".
  1156. items:
  1157. type: string
  1158. type: array
  1159. topologyKey:
  1160. description: This pod should be co-located (affinity)
  1161. or not co-located (anti-affinity) with the
  1162. pods matching the labelSelector in the specified
  1163. namespaces, where co-located is defined as
  1164. running on a node whose value of the label
  1165. with key topologyKey matches that of any node
  1166. on which any of the selected pods is running.
  1167. Empty topologyKey is not allowed.
  1168. type: string
  1169. required:
  1170. - topologyKey
  1171. type: object
  1172. weight:
  1173. description: weight associated with matching the
  1174. corresponding podAffinityTerm, in the range 1-100.
  1175. format: int32
  1176. type: integer
  1177. required:
  1178. - podAffinityTerm
  1179. - weight
  1180. type: object
  1181. type: array
  1182. requiredDuringSchedulingIgnoredDuringExecution:
  1183. description: If the anti-affinity requirements specified
  1184. by this field are not met at scheduling time, the pod
  1185. will not be scheduled onto the node. If the anti-affinity
  1186. requirements specified by this field cease to be met
  1187. at some point during pod execution (e.g. due to a pod
  1188. label update), the system may or may not try to eventually
  1189. evict the pod from its node. When there are multiple
  1190. elements, the lists of nodes corresponding to each podAffinityTerm
  1191. are intersected, i.e. all terms must be satisfied.
  1192. items:
  1193. description: Defines a set of pods (namely those matching
  1194. the labelSelector relative to the given namespace(s))
  1195. that this pod should be co-located (affinity) or not
  1196. co-located (anti-affinity) with, where co-located
  1197. is defined as running on a node whose value of the
  1198. label with key <topologyKey> matches that of any node
  1199. on which a pod of the set of pods is running
  1200. properties:
  1201. labelSelector:
  1202. description: A label query over a set of resources,
  1203. in this case pods.
  1204. properties:
  1205. matchExpressions:
  1206. description: matchExpressions is a list of label
  1207. selector requirements. The requirements are
  1208. ANDed.
  1209. items:
  1210. description: A label selector requirement
  1211. is a selector that contains values, a key,
  1212. and an operator that relates the key and
  1213. values.
  1214. properties:
  1215. key:
  1216. description: key is the label key that
  1217. the selector applies to.
  1218. type: string
  1219. operator:
  1220. description: operator represents a key's
  1221. relationship to a set of values. Valid
  1222. operators are In, NotIn, Exists and
  1223. DoesNotExist.
  1224. type: string
  1225. values:
  1226. description: values is an array of string
  1227. values. If the operator is In or NotIn,
  1228. the values array must be non-empty.
  1229. If the operator is Exists or DoesNotExist,
  1230. the values array must be empty. This
  1231. array is replaced during a strategic
  1232. merge patch.
  1233. items:
  1234. type: string
  1235. type: array
  1236. required:
  1237. - key
  1238. - operator
  1239. type: object
  1240. type: array
  1241. matchLabels:
  1242. additionalProperties:
  1243. type: string
  1244. description: matchLabels is a map of {key,value}
  1245. pairs. A single {key,value} in the matchLabels
  1246. map is equivalent to an element of matchExpressions,
  1247. whose key field is "key", the operator is
  1248. "In", and the values array contains only "value".
  1249. The requirements are ANDed.
  1250. type: object
  1251. type: object
  1252. namespaceSelector:
  1253. description: A label query over the set of namespaces
  1254. that the term applies to. The term is applied
  1255. to the union of the namespaces selected by this
  1256. field and the ones listed in the namespaces field.
  1257. null selector and null or empty namespaces list
  1258. means "this pod's namespace". An empty selector
  1259. ({}) matches all namespaces.
  1260. properties:
  1261. matchExpressions:
  1262. description: matchExpressions is a list of label
  1263. selector requirements. The requirements are
  1264. ANDed.
  1265. items:
  1266. description: A label selector requirement
  1267. is a selector that contains values, a key,
  1268. and an operator that relates the key and
  1269. values.
  1270. properties:
  1271. key:
  1272. description: key is the label key that
  1273. the selector applies to.
  1274. type: string
  1275. operator:
  1276. description: operator represents a key's
  1277. relationship to a set of values. Valid
  1278. operators are In, NotIn, Exists and
  1279. DoesNotExist.
  1280. type: string
  1281. values:
  1282. description: values is an array of string
  1283. values. If the operator is In or NotIn,
  1284. the values array must be non-empty.
  1285. If the operator is Exists or DoesNotExist,
  1286. the values array must be empty. This
  1287. array is replaced during a strategic
  1288. merge patch.
  1289. items:
  1290. type: string
  1291. type: array
  1292. required:
  1293. - key
  1294. - operator
  1295. type: object
  1296. type: array
  1297. matchLabels:
  1298. additionalProperties:
  1299. type: string
  1300. description: matchLabels is a map of {key,value}
  1301. pairs. A single {key,value} in the matchLabels
  1302. map is equivalent to an element of matchExpressions,
  1303. whose key field is "key", the operator is
  1304. "In", and the values array contains only "value".
  1305. The requirements are ANDed.
  1306. type: object
  1307. type: object
  1308. namespaces:
  1309. description: namespaces specifies a static list
  1310. of namespace names that the term applies to. The
  1311. term is applied to the union of the namespaces
  1312. listed in this field and the ones selected by
  1313. namespaceSelector. null or empty namespaces list
  1314. and null namespaceSelector means "this pod's namespace".
  1315. items:
  1316. type: string
  1317. type: array
  1318. topologyKey:
  1319. description: This pod should be co-located (affinity)
  1320. or not co-located (anti-affinity) with the pods
  1321. matching the labelSelector in the specified namespaces,
  1322. where co-located is defined as running on a node
  1323. whose value of the label with key topologyKey
  1324. matches that of any node on which any of the selected
  1325. pods is running. Empty topologyKey is not allowed.
  1326. type: string
  1327. required:
  1328. - topologyKey
  1329. type: object
  1330. type: array
  1331. type: object
  1332. type: object
  1333. nodeSelector:
  1334. additionalProperties:
  1335. type: string
  1336. description: 'nodeSelector is the node selector applied to the
  1337. relevant kind of pods It specifies a map of key-value pairs:
  1338. for the pod to be eligible to run on a node, the node must have
  1339. each of the indicated key-value pairs as labels (it can have
  1340. additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
  1341. type: object
  1342. tolerations:
  1343. description: tolerations is a list of tolerations applied to the
  1344. relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1345. for more info. These are additional tolerations other than default
  1346. ones.
  1347. items:
  1348. description: The pod this Toleration is attached to tolerates
  1349. any taint that matches the triple <key,value,effect> using
  1350. the matching operator <operator>.
  1351. properties:
  1352. effect:
  1353. description: Effect indicates the taint effect to match.
  1354. Empty means match all taint effects. When specified, allowed
  1355. values are NoSchedule, PreferNoSchedule and NoExecute.
  1356. type: string
  1357. key:
  1358. description: Key is the taint key that the toleration applies
  1359. to. Empty means match all taint keys. If the key is empty,
  1360. operator must be Exists; this combination means to match
  1361. all values and all keys.
  1362. type: string
  1363. operator:
  1364. description: Operator represents a key's relationship to
  1365. the value. Valid operators are Exists and Equal. Defaults
  1366. to Equal. Exists is equivalent to wildcard for value,
  1367. so that a pod can tolerate all taints of a particular
  1368. category.
  1369. type: string
  1370. tolerationSeconds:
  1371. description: TolerationSeconds represents the period of
  1372. time the toleration (which must be of effect NoExecute,
  1373. otherwise this field is ignored) tolerates the taint.
  1374. By default, it is not set, which means tolerate the taint
  1375. forever (do not evict). Zero and negative values will
  1376. be treated as 0 (evict immediately) by the system.
  1377. format: int64
  1378. type: integer
  1379. value:
  1380. description: Value is the taint value the toleration matches
  1381. to. If the operator is Exists, the value should be empty,
  1382. otherwise just a regular string.
  1383. type: string
  1384. type: object
  1385. type: array
  1386. type: object
  1387. required:
  1388. - pathConfig
  1389. type: object
  1390. status:
  1391. description: HostPathProvisionerStatus defines the observed state of HostPathProvisioner
  1392. properties:
  1393. conditions:
  1394. description: Conditions contains the current conditions observed by
  1395. the operator
  1396. items:
  1397. description: Condition represents the state of the operator's reconciliation
  1398. functionality.
  1399. properties:
  1400. lastHeartbeatTime:
  1401. format: date-time
  1402. type: string
  1403. lastTransitionTime:
  1404. format: date-time
  1405. type: string
  1406. message:
  1407. type: string
  1408. reason:
  1409. type: string
  1410. status:
  1411. type: string
  1412. type:
  1413. description: ConditionType is the state of the operator's reconciliation
  1414. functionality.
  1415. type: string
  1416. required:
  1417. - status
  1418. - type
  1419. type: object
  1420. type: array
  1421. x-kubernetes-list-type: atomic
  1422. observedVersion:
  1423. description: ObservedVersion The observed version of the HostPathProvisioner
  1424. deployment
  1425. type: string
  1426. operatorVersion:
  1427. description: OperatorVersion The version of the HostPathProvisioner
  1428. Operator
  1429. type: string
  1430. targetVersion:
  1431. description: TargetVersion The targeted version of the HostPathProvisioner
  1432. deployment
  1433. type: string
  1434. type: object
  1435. type: object
  1436. served: true
  1437. storage: false
  1438. - name: v1beta1
  1439. schema:
  1440. openAPIV3Schema:
  1441. description: HostPathProvisioner is the Schema for the hostpathprovisioners
  1442. API
  1443. properties:
  1444. apiVersion:
  1445. description: 'APIVersion defines the versioned schema of this representation
  1446. of an object. Servers should convert recognized schemas to the latest
  1447. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1448. type: string
  1449. kind:
  1450. description: 'Kind is a string value representing the REST resource this
  1451. object represents. Servers may infer this from the endpoint the client
  1452. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1453. type: string
  1454. metadata:
  1455. type: object
  1456. spec:
  1457. description: HostPathProvisionerSpec defines the desired state of HostPathProvisioner
  1458. properties:
  1459. featureGates:
  1460. description: FeatureGates are a list of specific enabled feature gates
  1461. items:
  1462. type: string
  1463. type: array
  1464. x-kubernetes-list-type: set
  1465. imagePullPolicy:
  1466. description: ImagePullPolicy is the container pull policy for the
  1467. host path provisioner containers
  1468. type: string
  1469. pathConfig:
  1470. description: PathConfig describes the location and layout of PV storage
  1471. on nodes. Deprecated
  1472. properties:
  1473. path:
  1474. description: Path The path the directories for the PVs are created
  1475. under
  1476. type: string
  1477. useNamingPrefix:
  1478. description: UseNamingPrefix Use the name of the PVC requesting
  1479. the PV as part of the directory created
  1480. type: boolean
  1481. type: object
  1482. storagePools:
  1483. description: StoragePools are a list of storage pools
  1484. items:
  1485. description: StoragePool defines how and where hostpath provisioner
  1486. can use storage to create volumes.
  1487. properties:
  1488. name:
  1489. description: Name specifies an identifier that is used in the
  1490. storage class arguments to identify the source to use.
  1491. type: string
  1492. path:
  1493. description: path the path to use on the host, this is a required
  1494. field
  1495. type: string
  1496. pvcTemplate:
  1497. description: PVCTemplate is the template of the PVC to create
  1498. as the source volume
  1499. properties:
  1500. accessModes:
  1501. description: 'accessModes contains the desired access modes
  1502. the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  1503. items:
  1504. type: string
  1505. type: array
  1506. dataSource:
  1507. description: 'dataSource field can be used to specify either:
  1508. * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  1509. * An existing PVC (PersistentVolumeClaim) If the provisioner
  1510. or an external controller can support the specified data
  1511. source, it will create a new volume based on the contents
  1512. of the specified data source. If the AnyVolumeDataSource
  1513. feature gate is enabled, this field will always have the
  1514. same contents as the DataSourceRef field.'
  1515. properties:
  1516. apiGroup:
  1517. description: APIGroup is the group for the resource
  1518. being referenced. If APIGroup is not specified, the
  1519. specified Kind must be in the core API group. For
  1520. any other third-party types, APIGroup is required.
  1521. type: string
  1522. kind:
  1523. description: Kind is the type of resource being referenced
  1524. type: string
  1525. name:
  1526. description: Name is the name of resource being referenced
  1527. type: string
  1528. required:
  1529. - kind
  1530. - name
  1531. type: object
  1532. dataSourceRef:
  1533. description: 'dataSourceRef specifies the object from which
  1534. to populate the volume with data, if a non-empty volume
  1535. is desired. This may be any local object from a non-empty
  1536. API group (non core object) or a PersistentVolumeClaim
  1537. object. When this field is specified, volume binding will
  1538. only succeed if the type of the specified object matches
  1539. some installed volume populator or dynamic provisioner.
  1540. This field will replace the functionality of the DataSource
  1541. field and as such if both fields are non-empty, they must
  1542. have the same value. For backwards compatibility, both
  1543. fields (DataSource and DataSourceRef) will be set to the
  1544. same value automatically if one of them is empty and the
  1545. other is non-empty. There are two important differences
  1546. between DataSource and DataSourceRef: * While DataSource
  1547. only allows two specific types of objects, DataSourceRef allows
  1548. any non-core object, as well as PersistentVolumeClaim
  1549. objects. * While DataSource ignores disallowed values
  1550. (dropping them), DataSourceRef preserves all values,
  1551. and generates an error if a disallowed value is specified.
  1552. (Beta) Using this field requires the AnyVolumeDataSource
  1553. feature gate to be enabled.'
  1554. properties:
  1555. apiGroup:
  1556. description: APIGroup is the group for the resource
  1557. being referenced. If APIGroup is not specified, the
  1558. specified Kind must be in the core API group. For
  1559. any other third-party types, APIGroup is required.
  1560. type: string
  1561. kind:
  1562. description: Kind is the type of resource being referenced
  1563. type: string
  1564. name:
  1565. description: Name is the name of resource being referenced
  1566. type: string
  1567. required:
  1568. - kind
  1569. - name
  1570. type: object
  1571. resources:
  1572. description: 'resources represents the minimum resources
  1573. the volume should have. If RecoverVolumeExpansionFailure
  1574. feature is enabled users are allowed to specify resource
  1575. requirements that are lower than previous value but must
  1576. still be higher than capacity recorded in the status field
  1577. of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  1578. properties:
  1579. limits:
  1580. additionalProperties:
  1581. anyOf:
  1582. - type: integer
  1583. - type: string
  1584. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1585. x-kubernetes-int-or-string: true
  1586. description: 'Limits describes the maximum amount of
  1587. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1588. type: object
  1589. requests:
  1590. additionalProperties:
  1591. anyOf:
  1592. - type: integer
  1593. - type: string
  1594. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1595. x-kubernetes-int-or-string: true
  1596. description: 'Requests describes the minimum amount
  1597. of compute resources required. If Requests is omitted
  1598. for a container, it defaults to Limits if that is
  1599. explicitly specified, otherwise to an implementation-defined
  1600. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1601. type: object
  1602. type: object
  1603. selector:
  1604. description: selector is a label query over volumes to consider
  1605. for binding.
  1606. properties:
  1607. matchExpressions:
  1608. description: matchExpressions is a list of label selector
  1609. requirements. The requirements are ANDed.
  1610. items:
  1611. description: A label selector requirement is a selector
  1612. that contains values, a key, and an operator that
  1613. relates the key and values.
  1614. properties:
  1615. key:
  1616. description: key is the label key that the selector
  1617. applies to.
  1618. type: string
  1619. operator:
  1620. description: operator represents a key's relationship
  1621. to a set of values. Valid operators are In,
  1622. NotIn, Exists and DoesNotExist.
  1623. type: string
  1624. values:
  1625. description: values is an array of string values.
  1626. If the operator is In or NotIn, the values array
  1627. must be non-empty. If the operator is Exists
  1628. or DoesNotExist, the values array must be empty.
  1629. This array is replaced during a strategic merge
  1630. patch.
  1631. items:
  1632. type: string
  1633. type: array
  1634. required:
  1635. - key
  1636. - operator
  1637. type: object
  1638. type: array
  1639. matchLabels:
  1640. additionalProperties:
  1641. type: string
  1642. description: matchLabels is a map of {key,value} pairs.
  1643. A single {key,value} in the matchLabels map is equivalent
  1644. to an element of matchExpressions, whose key field
  1645. is "key", the operator is "In", and the values array
  1646. contains only "value". The requirements are ANDed.
  1647. type: object
  1648. type: object
  1649. storageClassName:
  1650. description: 'storageClassName is the name of the StorageClass
  1651. required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  1652. type: string
  1653. volumeMode:
  1654. description: volumeMode defines what type of volume is required
  1655. by the claim. Value of Filesystem is implied when not
  1656. included in claim spec.
  1657. type: string
  1658. volumeName:
  1659. description: volumeName is the binding reference to the
  1660. PersistentVolume backing this claim.
  1661. type: string
  1662. type: object
  1663. required:
  1664. - name
  1665. - path
  1666. type: object
  1667. type: array
  1668. x-kubernetes-list-type: atomic
  1669. workload:
  1670. description: Restrict on which nodes HPP workload pods will be scheduled
  1671. properties:
  1672. affinity:
  1673. description: affinity enables pod affinity/anti-affinity placement
  1674. expanding the types of constraints that can be expressed with
  1675. nodeSelector. affinity is going to be applied to the relevant
  1676. kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  1677. properties:
  1678. nodeAffinity:
  1679. description: Describes node affinity scheduling rules for
  1680. the pod.
  1681. properties:
  1682. preferredDuringSchedulingIgnoredDuringExecution:
  1683. description: The scheduler will prefer to schedule pods
  1684. to nodes that satisfy the affinity expressions specified
  1685. by this field, but it may choose a node that violates
  1686. one or more of the expressions. The node that is most
  1687. preferred is the one with the greatest sum of weights,
  1688. i.e. for each node that meets all of the scheduling
  1689. requirements (resource request, requiredDuringScheduling
  1690. affinity expressions, etc.), compute a sum by iterating
  1691. through the elements of this field and adding "weight"
  1692. to the sum if the node matches the corresponding matchExpressions;
  1693. the node(s) with the highest sum are the most preferred.
  1694. items:
  1695. description: An empty preferred scheduling term matches
  1696. all objects with implicit weight 0 (i.e. it's a no-op).
  1697. A null preferred scheduling term matches no objects
  1698. (i.e. is also a no-op).
  1699. properties:
  1700. preference:
  1701. description: A node selector term, associated with
  1702. the corresponding weight.
  1703. properties:
  1704. matchExpressions:
  1705. description: A list of node selector requirements
  1706. by node's labels.
  1707. items:
  1708. description: A node selector requirement is
  1709. a selector that contains values, a key,
  1710. and an operator that relates the key and
  1711. values.
  1712. properties:
  1713. key:
  1714. description: The label key that the selector
  1715. applies to.
  1716. type: string
  1717. operator:
  1718. description: Represents a key's relationship
  1719. to a set of values. Valid operators
  1720. are In, NotIn, Exists, DoesNotExist.
  1721. Gt, and Lt.
  1722. type: string
  1723. values:
  1724. description: An array of string values.
  1725. If the operator is In or NotIn, the
  1726. values array must be non-empty. If the
  1727. operator is Exists or DoesNotExist,
  1728. the values array must be empty. If the
  1729. operator is Gt or Lt, the values array
  1730. must have a single element, which will
  1731. be interpreted as an integer. This array
  1732. is replaced during a strategic merge
  1733. patch.
  1734. items:
  1735. type: string
  1736. type: array
  1737. required:
  1738. - key
  1739. - operator
  1740. type: object
  1741. type: array
  1742. matchFields:
  1743. description: A list of node selector requirements
  1744. by node's fields.
  1745. items:
  1746. description: A node selector requirement is
  1747. a selector that contains values, a key,
  1748. and an operator that relates the key and
  1749. values.
  1750. properties:
  1751. key:
  1752. description: The label key that the selector
  1753. applies to.
  1754. type: string
  1755. operator:
  1756. description: Represents a key's relationship
  1757. to a set of values. Valid operators
  1758. are In, NotIn, Exists, DoesNotExist.
  1759. Gt, and Lt.
  1760. type: string
  1761. values:
  1762. description: An array of string values.
  1763. If the operator is In or NotIn, the
  1764. values array must be non-empty. If the
  1765. operator is Exists or DoesNotExist,
  1766. the values array must be empty. If the
  1767. operator is Gt or Lt, the values array
  1768. must have a single element, which will
  1769. be interpreted as an integer. This array
  1770. is replaced during a strategic merge
  1771. patch.
  1772. items:
  1773. type: string
  1774. type: array
  1775. required:
  1776. - key
  1777. - operator
  1778. type: object
  1779. type: array
  1780. type: object
  1781. weight:
  1782. description: Weight associated with matching the
  1783. corresponding nodeSelectorTerm, in the range 1-100.
  1784. format: int32
  1785. type: integer
  1786. required:
  1787. - preference
  1788. - weight
  1789. type: object
  1790. type: array
  1791. requiredDuringSchedulingIgnoredDuringExecution:
  1792. description: If the affinity requirements specified by
  1793. this field are not met at scheduling time, the pod will
  1794. not be scheduled onto the node. If the affinity requirements
  1795. specified by this field cease to be met at some point
  1796. during pod execution (e.g. due to an update), the system
  1797. may or may not try to eventually evict the pod from
  1798. its node.
  1799. properties:
  1800. nodeSelectorTerms:
  1801. description: Required. A list of node selector terms.
  1802. The terms are ORed.
  1803. items:
  1804. description: A null or empty node selector term
  1805. matches no objects. The requirements of them are
  1806. ANDed. The TopologySelectorTerm type implements
  1807. a subset of the NodeSelectorTerm.
  1808. properties:
  1809. matchExpressions:
  1810. description: A list of node selector requirements
  1811. by node's labels.
  1812. items:
  1813. description: A node selector requirement is
  1814. a selector that contains values, a key,
  1815. and an operator that relates the key and
  1816. values.
  1817. properties:
  1818. key:
  1819. description: The label key that the selector
  1820. applies to.
  1821. type: string
  1822. operator:
  1823. description: Represents a key's relationship
  1824. to a set of values. Valid operators
  1825. are In, NotIn, Exists, DoesNotExist.
  1826. Gt, and Lt.
  1827. type: string
  1828. values:
  1829. description: An array of string values.
  1830. If the operator is In or NotIn, the
  1831. values array must be non-empty. If the
  1832. operator is Exists or DoesNotExist,
  1833. the values array must be empty. If the
  1834. operator is Gt or Lt, the values array
  1835. must have a single element, which will
  1836. be interpreted as an integer. This array
  1837. is replaced during a strategic merge
  1838. patch.
  1839. items:
  1840. type: string
  1841. type: array
  1842. required:
  1843. - key
  1844. - operator
  1845. type: object
  1846. type: array
  1847. matchFields:
  1848. description: A list of node selector requirements
  1849. by node's fields.
  1850. items:
  1851. description: A node selector requirement is
  1852. a selector that contains values, a key,
  1853. and an operator that relates the key and
  1854. values.
  1855. properties:
  1856. key:
  1857. description: The label key that the selector
  1858. applies to.
  1859. type: string
  1860. operator:
  1861. description: Represents a key's relationship
  1862. to a set of values. Valid operators
  1863. are In, NotIn, Exists, DoesNotExist.
  1864. Gt, and Lt.
  1865. type: string
  1866. values:
  1867. description: An array of string values.
  1868. If the operator is In or NotIn, the
  1869. values array must be non-empty. If the
  1870. operator is Exists or DoesNotExist,
  1871. the values array must be empty. If the
  1872. operator is Gt or Lt, the values array
  1873. must have a single element, which will
  1874. be interpreted as an integer. This array
  1875. is replaced during a strategic merge
  1876. patch.
  1877. items:
  1878. type: string
  1879. type: array
  1880. required:
  1881. - key
  1882. - operator
  1883. type: object
  1884. type: array
  1885. type: object
  1886. type: array
  1887. required:
  1888. - nodeSelectorTerms
  1889. type: object
  1890. type: object
  1891. podAffinity:
  1892. description: Describes pod affinity scheduling rules (e.g.
  1893. co-locate this pod in the same node, zone, etc. as some
  1894. other pod(s)).
  1895. properties:
  1896. preferredDuringSchedulingIgnoredDuringExecution:
  1897. description: The scheduler will prefer to schedule pods
  1898. to nodes that satisfy the affinity expressions specified
  1899. by this field, but it may choose a node that violates
  1900. one or more of the expressions. The node that is most
  1901. preferred is the one with the greatest sum of weights,
  1902. i.e. for each node that meets all of the scheduling
  1903. requirements (resource request, requiredDuringScheduling
  1904. affinity expressions, etc.), compute a sum by iterating
  1905. through the elements of this field and adding "weight"
  1906. to the sum if the node has pods which matches the corresponding
  1907. podAffinityTerm; the node(s) with the highest sum are
  1908. the most preferred.
  1909. items:
  1910. description: The weights of all of the matched WeightedPodAffinityTerm
  1911. fields are added per-node to find the most preferred
  1912. node(s)
  1913. properties:
  1914. podAffinityTerm:
  1915. description: Required. A pod affinity term, associated
  1916. with the corresponding weight.
  1917. properties:
  1918. labelSelector:
  1919. description: A label query over a set of resources,
  1920. in this case pods.
  1921. properties:
  1922. matchExpressions:
  1923. description: matchExpressions is a list
  1924. of label selector requirements. The requirements
  1925. are ANDed.
  1926. items:
  1927. description: A label selector requirement
  1928. is a selector that contains values,
  1929. a key, and an operator that relates
  1930. the key and values.
  1931. properties:
  1932. key:
  1933. description: key is the label key
  1934. that the selector applies to.
  1935. type: string
  1936. operator:
  1937. description: operator represents a
  1938. key's relationship to a set of values.
  1939. Valid operators are In, NotIn, Exists
  1940. and DoesNotExist.
  1941. type: string
  1942. values:
  1943. description: values is an array of
  1944. string values. If the operator is
  1945. In or NotIn, the values array must
  1946. be non-empty. If the operator is
  1947. Exists or DoesNotExist, the values
  1948. array must be empty. This array
  1949. is replaced during a strategic merge
  1950. patch.
  1951. items:
  1952. type: string
  1953. type: array
  1954. required:
  1955. - key
  1956. - operator
  1957. type: object
  1958. type: array
  1959. matchLabels:
  1960. additionalProperties:
  1961. type: string
  1962. description: matchLabels is a map of {key,value}
  1963. pairs. A single {key,value} in the matchLabels
  1964. map is equivalent to an element of matchExpressions,
  1965. whose key field is "key", the operator
  1966. is "In", and the values array contains
  1967. only "value". The requirements are ANDed.
  1968. type: object
  1969. type: object
  1970. namespaceSelector:
  1971. description: A label query over the set of namespaces
  1972. that the term applies to. The term is applied
  1973. to the union of the namespaces selected by
  1974. this field and the ones listed in the namespaces
  1975. field. null selector and null or empty namespaces
  1976. list means "this pod's namespace". An empty
  1977. selector ({}) matches all namespaces.
  1978. properties:
  1979. matchExpressions:
  1980. description: matchExpressions is a list
  1981. of label selector requirements. The requirements
  1982. are ANDed.
  1983. items:
  1984. description: A label selector requirement
  1985. is a selector that contains values,
  1986. a key, and an operator that relates
  1987. the key and values.
  1988. properties:
  1989. key:
  1990. description: key is the label key
  1991. that the selector applies to.
  1992. type: string
  1993. operator:
  1994. description: operator represents a
  1995. key's relationship to a set of values.
  1996. Valid operators are In, NotIn, Exists
  1997. and DoesNotExist.
  1998. type: string
  1999. values:
  2000. description: values is an array of
  2001. string values. If the operator is
  2002. In or NotIn, the values array must
  2003. be non-empty. If the operator is
  2004. Exists or DoesNotExist, the values
  2005. array must be empty. This array
  2006. is replaced during a strategic merge
  2007. patch.
  2008. items:
  2009. type: string
  2010. type: array
  2011. required:
  2012. - key
  2013. - operator
  2014. type: object
  2015. type: array
  2016. matchLabels:
  2017. additionalProperties:
  2018. type: string
  2019. description: matchLabels is a map of {key,value}
  2020. pairs. A single {key,value} in the matchLabels
  2021. map is equivalent to an element of matchExpressions,
  2022. whose key field is "key", the operator
  2023. is "In", and the values array contains
  2024. only "value". The requirements are ANDed.
  2025. type: object
  2026. type: object
  2027. namespaces:
  2028. description: namespaces specifies a static list
  2029. of namespace names that the term applies to.
  2030. The term is applied to the union of the namespaces
  2031. listed in this field and the ones selected
  2032. by namespaceSelector. null or empty namespaces
  2033. list and null namespaceSelector means "this
  2034. pod's namespace".
  2035. items:
  2036. type: string
  2037. type: array
  2038. topologyKey:
  2039. description: This pod should be co-located (affinity)
  2040. or not co-located (anti-affinity) with the
  2041. pods matching the labelSelector in the specified
  2042. namespaces, where co-located is defined as
  2043. running on a node whose value of the label
  2044. with key topologyKey matches that of any node
  2045. on which any of the selected pods is running.
  2046. Empty topologyKey is not allowed.
  2047. type: string
  2048. required:
  2049. - topologyKey
  2050. type: object
  2051. weight:
  2052. description: weight associated with matching the
  2053. corresponding podAffinityTerm, in the range 1-100.
  2054. format: int32
  2055. type: integer
  2056. required:
  2057. - podAffinityTerm
  2058. - weight
  2059. type: object
  2060. type: array
  2061. requiredDuringSchedulingIgnoredDuringExecution:
  2062. description: If the affinity requirements specified by
  2063. this field are not met at scheduling time, the pod will
  2064. not be scheduled onto the node. If the affinity requirements
  2065. specified by this field cease to be met at some point
  2066. during pod execution (e.g. due to a pod label update),
  2067. the system may or may not try to eventually evict the
  2068. pod from its node. When there are multiple elements,
  2069. the lists of nodes corresponding to each podAffinityTerm
  2070. are intersected, i.e. all terms must be satisfied.
  2071. items:
  2072. description: Defines a set of pods (namely those matching
  2073. the labelSelector relative to the given namespace(s))
  2074. that this pod should be co-located (affinity) or not
  2075. co-located (anti-affinity) with, where co-located
  2076. is defined as running on a node whose value of the
  2077. label with key <topologyKey> matches that of any node
  2078. on which a pod of the set of pods is running
  2079. properties:
  2080. labelSelector:
  2081. description: A label query over a set of resources,
  2082. in this case pods.
  2083. properties:
  2084. matchExpressions:
  2085. description: matchExpressions is a list of label
  2086. selector requirements. The requirements are
  2087. ANDed.
  2088. items:
  2089. description: A label selector requirement
  2090. is a selector that contains values, a key,
  2091. and an operator that relates the key and
  2092. values.
  2093. properties:
  2094. key:
  2095. description: key is the label key that
  2096. the selector applies to.
  2097. type: string
  2098. operator:
  2099. description: operator represents a key's
  2100. relationship to a set of values. Valid
  2101. operators are In, NotIn, Exists and
  2102. DoesNotExist.
  2103. type: string
  2104. values:
  2105. description: values is an array of string
  2106. values. If the operator is In or NotIn,
  2107. the values array must be non-empty.
  2108. If the operator is Exists or DoesNotExist,
  2109. the values array must be empty. This
  2110. array is replaced during a strategic
  2111. merge patch.
  2112. items:
  2113. type: string
  2114. type: array
  2115. required:
  2116. - key
  2117. - operator
  2118. type: object
  2119. type: array
  2120. matchLabels:
  2121. additionalProperties:
  2122. type: string
  2123. description: matchLabels is a map of {key,value}
  2124. pairs. A single {key,value} in the matchLabels
  2125. map is equivalent to an element of matchExpressions,
  2126. whose key field is "key", the operator is
  2127. "In", and the values array contains only "value".
  2128. The requirements are ANDed.
  2129. type: object
  2130. type: object
  2131. namespaceSelector:
  2132. description: A label query over the set of namespaces
  2133. that the term applies to. The term is applied
  2134. to the union of the namespaces selected by this
  2135. field and the ones listed in the namespaces field.
  2136. null selector and null or empty namespaces list
  2137. means "this pod's namespace". An empty selector
  2138. ({}) matches all namespaces.
  2139. properties:
  2140. matchExpressions:
  2141. description: matchExpressions is a list of label
  2142. selector requirements. The requirements are
  2143. ANDed.
  2144. items:
  2145. description: A label selector requirement
  2146. is a selector that contains values, a key,
  2147. and an operator that relates the key and
  2148. values.
  2149. properties:
  2150. key:
  2151. description: key is the label key that
  2152. the selector applies to.
  2153. type: string
  2154. operator:
  2155. description: operator represents a key's
  2156. relationship to a set of values. Valid
  2157. operators are In, NotIn, Exists and
  2158. DoesNotExist.
  2159. type: string
  2160. values:
  2161. description: values is an array of string
  2162. values. If the operator is In or NotIn,
  2163. the values array must be non-empty.
  2164. If the operator is Exists or DoesNotExist,
  2165. the values array must be empty. This
  2166. array is replaced during a strategic
  2167. merge patch.
  2168. items:
  2169. type: string
  2170. type: array
  2171. required:
  2172. - key
  2173. - operator
  2174. type: object
  2175. type: array
  2176. matchLabels:
  2177. additionalProperties:
  2178. type: string
  2179. description: matchLabels is a map of {key,value}
  2180. pairs. A single {key,value} in the matchLabels
  2181. map is equivalent to an element of matchExpressions,
  2182. whose key field is "key", the operator is
  2183. "In", and the values array contains only "value".
  2184. The requirements are ANDed.
  2185. type: object
  2186. type: object
  2187. namespaces:
  2188. description: namespaces specifies a static list
  2189. of namespace names that the term applies to. The
  2190. term is applied to the union of the namespaces
  2191. listed in this field and the ones selected by
  2192. namespaceSelector. null or empty namespaces list
  2193. and null namespaceSelector means "this pod's namespace".
  2194. items:
  2195. type: string
  2196. type: array
  2197. topologyKey:
  2198. description: This pod should be co-located (affinity)
  2199. or not co-located (anti-affinity) with the pods
  2200. matching the labelSelector in the specified namespaces,
  2201. where co-located is defined as running on a node
  2202. whose value of the label with key topologyKey
  2203. matches that of any node on which any of the selected
  2204. pods is running. Empty topologyKey is not allowed.
  2205. type: string
  2206. required:
  2207. - topologyKey
  2208. type: object
  2209. type: array
  2210. type: object
  2211. podAntiAffinity:
  2212. description: Describes pod anti-affinity scheduling rules
  2213. (e.g. avoid putting this pod in the same node, zone, etc.
  2214. as some other pod(s)).
  2215. properties:
  2216. preferredDuringSchedulingIgnoredDuringExecution:
  2217. description: The scheduler will prefer to schedule pods
  2218. to nodes that satisfy the anti-affinity expressions
  2219. specified by this field, but it may choose a node that
  2220. violates one or more of the expressions. The node that
  2221. is most preferred is the one with the greatest sum of
  2222. weights, i.e. for each node that meets all of the scheduling
  2223. requirements (resource request, requiredDuringScheduling
  2224. anti-affinity expressions, etc.), compute a sum by iterating
  2225. through the elements of this field and adding "weight"
  2226. to the sum if the node has pods which matches the corresponding
  2227. podAffinityTerm; the node(s) with the highest sum are
  2228. the most preferred.
  2229. items:
  2230. description: The weights of all of the matched WeightedPodAffinityTerm
  2231. fields are added per-node to find the most preferred
  2232. node(s)
  2233. properties:
  2234. podAffinityTerm:
  2235. description: Required. A pod affinity term, associated
  2236. with the corresponding weight.
  2237. properties:
  2238. labelSelector:
  2239. description: A label query over a set of resources,
  2240. in this case pods.
  2241. properties:
  2242. matchExpressions:
  2243. description: matchExpressions is a list
  2244. of label selector requirements. The requirements
  2245. are ANDed.
  2246. items:
  2247. description: A label selector requirement
  2248. is a selector that contains values,
  2249. a key, and an operator that relates
  2250. the key and values.
  2251. properties:
  2252. key:
  2253. description: key is the label key
  2254. that the selector applies to.
  2255. type: string
  2256. operator:
  2257. description: operator represents a
  2258. key's relationship to a set of values.
  2259. Valid operators are In, NotIn, Exists
  2260. and DoesNotExist.
  2261. type: string
  2262. values:
  2263. description: values is an array of
  2264. string values. If the operator is
  2265. In or NotIn, the values array must
  2266. be non-empty. If the operator is
  2267. Exists or DoesNotExist, the values
  2268. array must be empty. This array
  2269. is replaced during a strategic merge
  2270. patch.
  2271. items:
  2272. type: string
  2273. type: array
  2274. required:
  2275. - key
  2276. - operator
  2277. type: object
  2278. type: array
  2279. matchLabels:
  2280. additionalProperties:
  2281. type: string
  2282. description: matchLabels is a map of {key,value}
  2283. pairs. A single {key,value} in the matchLabels
  2284. map is equivalent to an element of matchExpressions,
  2285. whose key field is "key", the operator
  2286. is "In", and the values array contains
  2287. only "value". The requirements are ANDed.
  2288. type: object
  2289. type: object
  2290. namespaceSelector:
  2291. description: A label query over the set of namespaces
  2292. that the term applies to. The term is applied
  2293. to the union of the namespaces selected by
  2294. this field and the ones listed in the namespaces
  2295. field. null selector and null or empty namespaces
  2296. list means "this pod's namespace". An empty
  2297. selector ({}) matches all namespaces.
  2298. properties:
  2299. matchExpressions:
  2300. description: matchExpressions is a list
  2301. of label selector requirements. The requirements
  2302. are ANDed.
  2303. items:
  2304. description: A label selector requirement
  2305. is a selector that contains values,
  2306. a key, and an operator that relates
  2307. the key and values.
  2308. properties:
  2309. key:
  2310. description: key is the label key
  2311. that the selector applies to.
  2312. type: string
  2313. operator:
  2314. description: operator represents a
  2315. key's relationship to a set of values.
  2316. Valid operators are In, NotIn, Exists
  2317. and DoesNotExist.
  2318. type: string
  2319. values:
  2320. description: values is an array of
  2321. string values. If the operator is
  2322. In or NotIn, the values array must
  2323. be non-empty. If the operator is
  2324. Exists or DoesNotExist, the values
  2325. array must be empty. This array
  2326. is replaced during a strategic merge
  2327. patch.
  2328. items:
  2329. type: string
  2330. type: array
  2331. required:
  2332. - key
  2333. - operator
  2334. type: object
  2335. type: array
  2336. matchLabels:
  2337. additionalProperties:
  2338. type: string
  2339. description: matchLabels is a map of {key,value}
  2340. pairs. A single {key,value} in the matchLabels
  2341. map is equivalent to an element of matchExpressions,
  2342. whose key field is "key", the operator
  2343. is "In", and the values array contains
  2344. only "value". The requirements are ANDed.
  2345. type: object
  2346. type: object
  2347. namespaces:
  2348. description: namespaces specifies a static list
  2349. of namespace names that the term applies to.
  2350. The term is applied to the union of the namespaces
  2351. listed in this field and the ones selected
  2352. by namespaceSelector. null or empty namespaces
  2353. list and null namespaceSelector means "this
  2354. pod's namespace".
  2355. items:
  2356. type: string
  2357. type: array
  2358. topologyKey:
  2359. description: This pod should be co-located (affinity)
  2360. or not co-located (anti-affinity) with the
  2361. pods matching the labelSelector in the specified
  2362. namespaces, where co-located is defined as
  2363. running on a node whose value of the label
  2364. with key topologyKey matches that of any node
  2365. on which any of the selected pods is running.
  2366. Empty topologyKey is not allowed.
  2367. type: string
  2368. required:
  2369. - topologyKey
  2370. type: object
  2371. weight:
  2372. description: weight associated with matching the
  2373. corresponding podAffinityTerm, in the range 1-100.
  2374. format: int32
  2375. type: integer
  2376. required:
  2377. - podAffinityTerm
  2378. - weight
  2379. type: object
  2380. type: array
  2381. requiredDuringSchedulingIgnoredDuringExecution:
  2382. description: If the anti-affinity requirements specified
  2383. by this field are not met at scheduling time, the pod
  2384. will not be scheduled onto the node. If the anti-affinity
  2385. requirements specified by this field cease to be met
  2386. at some point during pod execution (e.g. due to a pod
  2387. label update), the system may or may not try to eventually
  2388. evict the pod from its node. When there are multiple
  2389. elements, the lists of nodes corresponding to each podAffinityTerm
  2390. are intersected, i.e. all terms must be satisfied.
  2391. items:
  2392. description: Defines a set of pods (namely those matching
  2393. the labelSelector relative to the given namespace(s))
  2394. that this pod should be co-located (affinity) or not
  2395. co-located (anti-affinity) with, where co-located
  2396. is defined as running on a node whose value of the
  2397. label with key <topologyKey> matches that of any node
  2398. on which a pod of the set of pods is running
  2399. properties:
  2400. labelSelector:
  2401. description: A label query over a set of resources,
  2402. in this case pods.
  2403. properties:
  2404. matchExpressions:
  2405. description: matchExpressions is a list of label
  2406. selector requirements. The requirements are
  2407. ANDed.
  2408. items:
  2409. description: A label selector requirement
  2410. is a selector that contains values, a key,
  2411. and an operator that relates the key and
  2412. values.
  2413. properties:
  2414. key:
  2415. description: key is the label key that
  2416. the selector applies to.
  2417. type: string
  2418. operator:
  2419. description: operator represents a key's
  2420. relationship to a set of values. Valid
  2421. operators are In, NotIn, Exists and
  2422. DoesNotExist.
  2423. type: string
  2424. values:
  2425. description: values is an array of string
  2426. values. If the operator is In or NotIn,
  2427. the values array must be non-empty.
  2428. If the operator is Exists or DoesNotExist,
  2429. the values array must be empty. This
  2430. array is replaced during a strategic
  2431. merge patch.
  2432. items:
  2433. type: string
  2434. type: array
  2435. required:
  2436. - key
  2437. - operator
  2438. type: object
  2439. type: array
  2440. matchLabels:
  2441. additionalProperties:
  2442. type: string
  2443. description: matchLabels is a map of {key,value}
  2444. pairs. A single {key,value} in the matchLabels
  2445. map is equivalent to an element of matchExpressions,
  2446. whose key field is "key", the operator is
  2447. "In", and the values array contains only "value".
  2448. The requirements are ANDed.
  2449. type: object
  2450. type: object
  2451. namespaceSelector:
  2452. description: A label query over the set of namespaces
  2453. that the term applies to. The term is applied
  2454. to the union of the namespaces selected by this
  2455. field and the ones listed in the namespaces field.
  2456. null selector and null or empty namespaces list
  2457. means "this pod's namespace". An empty selector
  2458. ({}) matches all namespaces.
  2459. properties:
  2460. matchExpressions:
  2461. description: matchExpressions is a list of label
  2462. selector requirements. The requirements are
  2463. ANDed.
  2464. items:
  2465. description: A label selector requirement
  2466. is a selector that contains values, a key,
  2467. and an operator that relates the key and
  2468. values.
  2469. properties:
  2470. key:
  2471. description: key is the label key that
  2472. the selector applies to.
  2473. type: string
  2474. operator:
  2475. description: operator represents a key's
  2476. relationship to a set of values. Valid
  2477. operators are In, NotIn, Exists and
  2478. DoesNotExist.
  2479. type: string
  2480. values:
  2481. description: values is an array of string
  2482. values. If the operator is In or NotIn,
  2483. the values array must be non-empty.
  2484. If the operator is Exists or DoesNotExist,
  2485. the values array must be empty. This
  2486. array is replaced during a strategic
  2487. merge patch.
  2488. items:
  2489. type: string
  2490. type: array
  2491. required:
  2492. - key
  2493. - operator
  2494. type: object
  2495. type: array
  2496. matchLabels:
  2497. additionalProperties:
  2498. type: string
  2499. description: matchLabels is a map of {key,value}
  2500. pairs. A single {key,value} in the matchLabels
  2501. map is equivalent to an element of matchExpressions,
  2502. whose key field is "key", the operator is
  2503. "In", and the values array contains only "value".
  2504. The requirements are ANDed.
  2505. type: object
  2506. type: object
  2507. namespaces:
  2508. description: namespaces specifies a static list
  2509. of namespace names that the term applies to. The
  2510. term is applied to the union of the namespaces
  2511. listed in this field and the ones selected by
  2512. namespaceSelector. null or empty namespaces list
  2513. and null namespaceSelector means "this pod's namespace".
  2514. items:
  2515. type: string
  2516. type: array
  2517. topologyKey:
  2518. description: This pod should be co-located (affinity)
  2519. or not co-located (anti-affinity) with the pods
  2520. matching the labelSelector in the specified namespaces,
  2521. where co-located is defined as running on a node
  2522. whose value of the label with key topologyKey
  2523. matches that of any node on which any of the selected
  2524. pods is running. Empty topologyKey is not allowed.
  2525. type: string
  2526. required:
  2527. - topologyKey
  2528. type: object
  2529. type: array
  2530. type: object
  2531. type: object
  2532. nodeSelector:
  2533. additionalProperties:
  2534. type: string
  2535. description: 'nodeSelector is the node selector applied to the
  2536. relevant kind of pods It specifies a map of key-value pairs:
  2537. for the pod to be eligible to run on a node, the node must have
  2538. each of the indicated key-value pairs as labels (it can have
  2539. additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
  2540. type: object
  2541. tolerations:
  2542. description: tolerations is a list of tolerations applied to the
  2543. relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  2544. for more info. These are additional tolerations other than default
  2545. ones.
  2546. items:
  2547. description: The pod this Toleration is attached to tolerates
  2548. any taint that matches the triple <key,value,effect> using
  2549. the matching operator <operator>.
  2550. properties:
  2551. effect:
  2552. description: Effect indicates the taint effect to match.
  2553. Empty means match all taint effects. When specified, allowed
  2554. values are NoSchedule, PreferNoSchedule and NoExecute.
  2555. type: string
  2556. key:
  2557. description: Key is the taint key that the toleration applies
  2558. to. Empty means match all taint keys. If the key is empty,
  2559. operator must be Exists; this combination means to match
  2560. all values and all keys.
  2561. type: string
  2562. operator:
  2563. description: Operator represents a key's relationship to
  2564. the value. Valid operators are Exists and Equal. Defaults
  2565. to Equal. Exists is equivalent to wildcard for value,
  2566. so that a pod can tolerate all taints of a particular
  2567. category.
  2568. type: string
  2569. tolerationSeconds:
  2570. description: TolerationSeconds represents the period of
  2571. time the toleration (which must be of effect NoExecute,
  2572. otherwise this field is ignored) tolerates the taint.
  2573. By default, it is not set, which means tolerate the taint
  2574. forever (do not evict). Zero and negative values will
  2575. be treated as 0 (evict immediately) by the system.
  2576. format: int64
  2577. type: integer
  2578. value:
  2579. description: Value is the taint value the toleration matches
  2580. to. If the operator is Exists, the value should be empty,
  2581. otherwise just a regular string.
  2582. type: string
  2583. type: object
  2584. type: array
  2585. type: object
  2586. type: object
  2587. status:
  2588. description: HostPathProvisionerStatus defines the observed state of HostPathProvisioner
  2589. properties:
  2590. conditions:
  2591. description: Conditions contains the current conditions observed by
  2592. the operator
  2593. items:
  2594. description: Condition represents the state of the operator's reconciliation
  2595. functionality.
  2596. properties:
  2597. lastHeartbeatTime:
  2598. format: date-time
  2599. type: string
  2600. lastTransitionTime:
  2601. format: date-time
  2602. type: string
  2603. message:
  2604. type: string
  2605. reason:
  2606. type: string
  2607. status:
  2608. type: string
  2609. type:
  2610. description: ConditionType is the state of the operator's reconciliation
  2611. functionality.
  2612. type: string
  2613. required:
  2614. - status
  2615. - type
  2616. type: object
  2617. type: array
  2618. x-kubernetes-list-type: atomic
  2619. observedVersion:
  2620. description: ObservedVersion The observed version of the HostPathProvisioner
  2621. deployment
  2622. type: string
  2623. operatorVersion:
  2624. description: OperatorVersion The version of the HostPathProvisioner
  2625. Operator
  2626. type: string
  2627. storagePoolStatuses:
  2628. items:
  2629. description: StoragePoolStatus is the status of the named storage
  2630. pool
  2631. properties:
  2632. claimStatuses:
  2633. description: The status of all the claims.
  2634. items:
  2635. description: ClaimStatus defines the storage claim status
  2636. for each PVC in a storage pool
  2637. properties:
  2638. name:
  2639. description: Name of the PersistentVolumeClaim
  2640. type: string
  2641. status:
  2642. description: Status of the PersistentVolumeClaim
  2643. properties:
  2644. accessModes:
  2645. description: 'accessModes contains the actual access
  2646. modes the volume backing the PVC has. More info:
  2647. https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  2648. items:
  2649. type: string
  2650. type: array
  2651. allocatedResources:
  2652. additionalProperties:
  2653. anyOf:
  2654. - type: integer
  2655. - type: string
  2656. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2657. x-kubernetes-int-or-string: true
  2658. description: allocatedResources is the storage resource
  2659. within AllocatedResources tracks the capacity allocated
  2660. to a PVC. It may be larger than the actual capacity
  2661. when a volume expansion operation is requested.
  2662. For storage quota, the larger value from allocatedResources
  2663. and PVC.spec.resources is used. If allocatedResources
  2664. is not set, PVC.spec.resources alone is used for
  2665. quota calculation. If a volume expansion capacity
  2666. request is lowered, allocatedResources is only lowered
  2667. if there are no expansion operations in progress
  2668. and if the actual volume capacity is equal or lower
  2669. than the requested capacity. This is an alpha field
  2670. and requires enabling RecoverVolumeExpansionFailure
  2671. feature.
  2672. type: object
  2673. capacity:
  2674. additionalProperties:
  2675. anyOf:
  2676. - type: integer
  2677. - type: string
  2678. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2679. x-kubernetes-int-or-string: true
  2680. description: capacity represents the actual resources
  2681. of the underlying volume.
  2682. type: object
  2683. conditions:
  2684. description: conditions is the current Condition of
  2685. persistent volume claim. If underlying persistent
  2686. volume is being resized then the Condition will
  2687. be set to 'ResizeStarted'.
  2688. items:
  2689. description: PersistentVolumeClaimCondition contails
  2690. details about state of pvc
  2691. properties:
  2692. lastProbeTime:
  2693. description: lastProbeTime is the time we probed
  2694. the condition.
  2695. format: date-time
  2696. type: string
  2697. lastTransitionTime:
  2698. description: lastTransitionTime is the time
  2699. the condition transitioned from one status
  2700. to another.
  2701. format: date-time
  2702. type: string
  2703. message:
  2704. description: message is the human-readable message
  2705. indicating details about last transition.
  2706. type: string
  2707. reason:
  2708. description: reason is a unique, this should
  2709. be a short, machine understandable string
  2710. that gives the reason for condition's last
  2711. transition. If it reports "ResizeStarted"
  2712. that means the underlying persistent volume
  2713. is being resized.
  2714. type: string
  2715. status:
  2716. type: string
  2717. type:
  2718. description: PersistentVolumeClaimConditionType
  2719. is a valid value of PersistentVolumeClaimCondition.Type
  2720. type: string
  2721. required:
  2722. - status
  2723. - type
  2724. type: object
  2725. type: array
  2726. phase:
  2727. description: phase represents the current phase of
  2728. PersistentVolumeClaim.
  2729. type: string
  2730. resizeStatus:
  2731. description: resizeStatus stores status of resize
  2732. operation. ResizeStatus is not set by default but
  2733. when expansion is complete resizeStatus is set to
  2734. empty string by resize controller or kubelet. This
  2735. is an alpha field and requires enabling RecoverVolumeExpansionFailure
  2736. feature.
  2737. type: string
  2738. type: object
  2739. required:
  2740. - name
  2741. - status
  2742. type: object
  2743. type: array
  2744. x-kubernetes-list-type: atomic
  2745. currentReady:
  2746. description: CurrentReady is the number of currently ready replicasets.
  2747. type: integer
  2748. desiredReady:
  2749. description: DesiredReady is the number of desired ready replicasets.
  2750. type: integer
  2751. name:
  2752. description: Name is the name of the storage pool
  2753. type: string
  2754. phase:
  2755. description: StoragePoolPhase indicates which phase the storage
  2756. pool is in.
  2757. type: string
  2758. required:
  2759. - name
  2760. - phase
  2761. type: object
  2762. type: array
  2763. x-kubernetes-list-type: atomic
  2764. targetVersion:
  2765. description: TargetVersion The targeted version of the HostPathProvisioner
  2766. deployment
  2767. type: string
  2768. type: object
  2769. type: object
  2770. served: true
  2771. storage: true
  2772. status:
  2773. acceptedNames:
  2774. kind: ""
  2775. plural: ""
  2776. conditions: []
  2777. storedVersions: []
  2778. ---
  2779. apiVersion: apps/v1
  2780. kind: Deployment
  2781. metadata:
  2782. labels:
  2783. prometheus.hostpathprovisioner.kubevirt.io: "true"
  2784. name: hostpath-provisioner-operator
  2785. spec:
  2786. replicas: 1
  2787. selector:
  2788. matchLabels:
  2789. name: hostpath-provisioner-operator
  2790. template:
  2791. metadata:
  2792. labels:
  2793. name: hostpath-provisioner-operator
  2794. prometheus.hostpathprovisioner.kubevirt.io: "true"
  2795. spec:
  2796. serviceAccountName: hostpath-provisioner-operator
  2797. containers:
  2798. - name: hostpath-provisioner-operator
  2799. ports:
  2800. - containerPort: 8080
  2801. name: "metrics"
  2802. protocol: "TCP"
  2803. # Replace this with the built image name
  2804. image: quay.io/kubevirt/hostpath-provisioner-operator:latest
  2805. command:
  2806. - hostpath-provisioner-operator
  2807. imagePullPolicy: Always
  2808. livenessProbe:
  2809. failureThreshold: 1
  2810. httpGet:
  2811. path: /livez
  2812. port: 6060
  2813. scheme: HTTP
  2814. initialDelaySeconds: 30
  2815. periodSeconds: 5
  2816. readinessProbe:
  2817. failureThreshold: 1
  2818. httpGet:
  2819. path: /readyz
  2820. port: 6060
  2821. scheme: HTTP
  2822. initialDelaySeconds: 5
  2823. periodSeconds: 5
  2824. resources:
  2825. requests:
  2826. cpu: 10m
  2827. memory: 150Mi
  2828. env:
  2829. - name: WATCH_NAMESPACE
  2830. valueFrom:
  2831. fieldRef:
  2832. fieldPath: metadata.namespace
  2833. - name: POD_NAME
  2834. valueFrom:
  2835. fieldRef:
  2836. fieldPath: metadata.name
  2837. - name: INSTALLER_PART_OF_LABEL
  2838. valueFrom:
  2839. fieldRef:
  2840. fieldPath: metadata.labels['app.kubernetes.io/part-of']
  2841. - name: INSTALLER_VERSION_LABEL
  2842. valueFrom:
  2843. fieldRef:
  2844. fieldPath: metadata.labels['app.kubernetes.io/version']
  2845. - name: OPERATOR_NAME
  2846. value: "hostpath-provisioner-operator"
  2847. - name: OPERATOR_IMAGE
  2848. value: "quay.io/kubevirt/hostpath-provisioner-operator:v0.14.0"
  2849. - name: PROVISIONER_IMAGE
  2850. value: "quay.io/kubevirt/hostpath-provisioner:v0.14.0"
  2851. - name: CSI_PROVISIONER_IMAGE
  2852. value: "quay.io/kubevirt/hostpath-csi-driver:v0.14.0"
  2853. - name: NODE_DRIVER_REG_IMAGE
  2854. value: "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.2.0"
  2855. - name: LIVENESS_PROBE_IMAGE
  2856. value: "k8s.gcr.io/sig-storage/livenessprobe:v2.3.0"
  2857. - name: CSI_SNAPSHOT_IMAGE
  2858. value: "k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.1"
  2859. - name: CSI_SIG_STORAGE_PROVISIONER_IMAGE
  2860. value: "k8s.gcr.io/sig-storage/csi-provisioner:v2.2.1"
  2861. - name: VERBOSITY
  2862. value: "3"
  2863. - name: MONITORING_NAMESPACE
  2864. value: ""
  2865. volumeMounts:
  2866. - mountPath: /tmp/k8s-webhook-server/serving-certs
  2867. name: apiservice-cert
  2868. volumes:
  2869. - name: apiservice-cert
  2870. secret:
  2871. defaultMode: 420
  2872. items:
  2873. - key: tls.crt
  2874. path: tls.crt
  2875. - key: tls.key
  2876. path: tls.key
  2877. secretName: hostpath-provisioner-operator-webhook-service-cert