cdi-operator.yaml 295 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. labels:
  5. cdi.kubevirt.io: ""
  6. name: cdi
  7. ---
  8. apiVersion: apiextensions.k8s.io/v1
  9. kind: CustomResourceDefinition
  10. metadata:
  11. annotations:
  12. controller-gen.kubebuilder.io/version: v0.11.3
  13. name: cdis.cdi.kubevirt.io
  14. spec:
  15. group: cdi.kubevirt.io
  16. names:
  17. kind: CDI
  18. listKind: CDIList
  19. plural: cdis
  20. shortNames:
  21. - cdi
  22. - cdis
  23. singular: cdi
  24. scope: Cluster
  25. versions:
  26. - additionalPrinterColumns:
  27. - jsonPath: .metadata.creationTimestamp
  28. name: Age
  29. type: date
  30. - jsonPath: .status.phase
  31. name: Phase
  32. type: string
  33. name: v1alpha1
  34. schema:
  35. openAPIV3Schema:
  36. description: CDI is the CDI Operator CRD
  37. properties:
  38. apiVersion:
  39. description: 'APIVersion defines the versioned schema of this representation
  40. of an object. Servers should convert recognized schemas to the latest
  41. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  42. type: string
  43. kind:
  44. description: 'Kind is a string value representing the REST resource this
  45. object represents. Servers may infer this from the endpoint the client
  46. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  47. type: string
  48. metadata:
  49. type: object
  50. spec:
  51. description: CDISpec defines our specification for the CDI installation
  52. properties:
  53. certConfig:
  54. description: certificate configuration
  55. properties:
  56. ca:
  57. description: CA configuration CA certs are kept in the CA bundle
  58. as long as they are valid
  59. properties:
  60. duration:
  61. description: The requested 'duration' (i.e. lifetime) of the
  62. Certificate.
  63. type: string
  64. renewBefore:
  65. description: The amount of time before the currently issued
  66. certificate's `notAfter` time that we will begin to attempt
  67. to renew the certificate.
  68. type: string
  69. type: object
  70. server:
  71. description: Server configuration Certs are rotated and discarded
  72. properties:
  73. duration:
  74. description: The requested 'duration' (i.e. lifetime) of the
  75. Certificate.
  76. type: string
  77. renewBefore:
  78. description: The amount of time before the currently issued
  79. certificate's `notAfter` time that we will begin to attempt
  80. to renew the certificate.
  81. type: string
  82. type: object
  83. type: object
  84. cloneStrategyOverride:
  85. description: 'Clone strategy override: should we use a host-assisted
  86. copy even if snapshots are available?'
  87. enum:
  88. - copy
  89. - snapshot
  90. - csi-clone
  91. type: string
  92. config:
  93. description: CDIConfig at CDI level
  94. properties:
  95. dataVolumeTTLSeconds:
  96. description: DataVolumeTTLSeconds is the time in seconds after
  97. DataVolume completion it can be garbage collected. Disabled
  98. by default.
  99. format: int32
  100. type: integer
  101. featureGates:
  102. description: FeatureGates are a list of specific enabled feature
  103. gates
  104. items:
  105. type: string
  106. type: array
  107. filesystemOverhead:
  108. description: FilesystemOverhead describes the space reserved for
  109. overhead when using Filesystem volumes. A value is between 0
  110. and 1, if not defined it is 0.055 (5.5% overhead)
  111. properties:
  112. global:
  113. description: Global is how much space of a Filesystem volume
  114. should be reserved for overhead. This value is used unless
  115. overridden by a more specific value (per storageClass)
  116. pattern: ^(0(?:\.\d{1,3})?|1)$
  117. type: string
  118. storageClass:
  119. additionalProperties:
  120. description: 'Percent is a string that can only be a value
  121. between [0,1) (Note: we actually rely on reconcile to
  122. reject invalid values)'
  123. pattern: ^(0(?:\.\d{1,3})?|1)$
  124. type: string
  125. description: StorageClass specifies how much space of a Filesystem
  126. volume should be reserved for safety. The keys are the storageClass
  127. and the values are the overhead. This value overrides the
  128. global value
  129. type: object
  130. type: object
  131. imagePullSecrets:
  132. description: The imagePullSecrets used to pull the container images
  133. items:
  134. description: LocalObjectReference contains enough information
  135. to let you locate the referenced object inside the same namespace.
  136. properties:
  137. name:
  138. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  139. TODO: Add other useful fields. apiVersion, kind, uid?'
  140. type: string
  141. type: object
  142. x-kubernetes-map-type: atomic
  143. type: array
  144. importProxy:
  145. description: ImportProxy contains importer pod proxy configuration.
  146. properties:
  147. HTTPProxy:
  148. description: HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port>
  149. of the import proxy for HTTP requests. Empty means unset
  150. and will not result in the import pod env var.
  151. type: string
  152. HTTPSProxy:
  153. description: HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port>
  154. of the import proxy for HTTPS requests. Empty means unset
  155. and will not result in the import pod env var.
  156. type: string
  157. noProxy:
  158. description: NoProxy is a comma-separated list of hostnames
  159. and/or CIDRs for which the proxy should not be used. Empty
  160. means unset and will not result in the import pod env var.
  161. type: string
  162. trustedCAProxy:
  163. description: "TrustedCAProxy is the name of a ConfigMap in
  164. the cdi namespace that contains a user-provided trusted
  165. certificate authority (CA) bundle. The TrustedCAProxy ConfigMap
  166. is consumed by the DataImportCron controller for creating
  167. cronjobs, and by the import controller referring a copy
  168. of the ConfigMap in the import namespace. Here is an example
  169. of the ConfigMap (in yaml): \n apiVersion: v1 kind: ConfigMap
  170. metadata: name: my-ca-proxy-cm namespace: cdi data: ca.pem:
  171. | -----BEGIN CERTIFICATE----- ... <base64 encoded cert>
  172. ... -----END CERTIFICATE-----"
  173. type: string
  174. type: object
  175. insecureRegistries:
  176. description: InsecureRegistries is a list of TLS disabled registries
  177. items:
  178. type: string
  179. type: array
  180. podResourceRequirements:
  181. description: ResourceRequirements describes the compute resource
  182. requirements.
  183. properties:
  184. claims:
  185. description: "Claims lists the names of resources, defined
  186. in spec.resourceClaims, that are used by this container.
  187. \n This is an alpha field and requires enabling the DynamicResourceAllocation
  188. feature gate. \n This field is immutable."
  189. items:
  190. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  191. properties:
  192. name:
  193. description: Name must match the name of one entry in
  194. pod.spec.resourceClaims of the Pod where this field
  195. is used. It makes that resource available inside a
  196. container.
  197. type: string
  198. required:
  199. - name
  200. type: object
  201. type: array
  202. x-kubernetes-list-map-keys:
  203. - name
  204. x-kubernetes-list-type: map
  205. limits:
  206. additionalProperties:
  207. anyOf:
  208. - type: integer
  209. - type: string
  210. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  211. x-kubernetes-int-or-string: true
  212. description: 'Limits describes the maximum amount of compute
  213. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  214. type: object
  215. requests:
  216. additionalProperties:
  217. anyOf:
  218. - type: integer
  219. - type: string
  220. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  221. x-kubernetes-int-or-string: true
  222. description: 'Requests describes the minimum amount of compute
  223. resources required. If Requests is omitted for a container,
  224. it defaults to Limits if that is explicitly specified, otherwise
  225. to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  226. type: object
  227. type: object
  228. preallocation:
  229. description: Preallocation controls whether storage for DataVolumes
  230. should be allocated in advance.
  231. type: boolean
  232. scratchSpaceStorageClass:
  233. description: 'Override the storage class to used for scratch space
  234. during transfer operations. The scratch space storage class
  235. is determined in the following order: 1. value of scratchSpaceStorageClass,
  236. if that doesn''t exist, use the default storage class, if there
  237. is no default storage class, use the storage class of the DataVolume,
  238. if no storage class specified, use no storage class for scratch
  239. space'
  240. type: string
  241. tlsSecurityProfile:
  242. description: TLSSecurityProfile is used by operators to apply
  243. cluster-wide TLS security settings to operands.
  244. properties:
  245. custom:
  246. description: "custom is a user-defined TLS security profile.
  247. Be extremely careful using a custom profile as invalid configurations
  248. can be catastrophic. An example custom profile looks like
  249. this: \n ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305
  250. - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256
  251. minTLSVersion: TLSv1.1"
  252. nullable: true
  253. properties:
  254. ciphers:
  255. description: "ciphers is used to specify the cipher algorithms
  256. that are negotiated during the TLS handshake. Operators
  257. may remove entries their operands do not support. For
  258. example, to use DES-CBC3-SHA (yaml): \n ciphers: -
  259. DES-CBC3-SHA"
  260. items:
  261. type: string
  262. type: array
  263. minTLSVersion:
  264. description: "minTLSVersion is used to specify the minimal
  265. version of the TLS protocol that is negotiated during
  266. the TLS handshake. For example, to use TLS versions
  267. 1.1, 1.2 and 1.3 (yaml): \n minTLSVersion: TLSv1.1 \n
  268. NOTE: currently the highest minTLSVersion allowed is
  269. VersionTLS12"
  270. enum:
  271. - VersionTLS10
  272. - VersionTLS11
  273. - VersionTLS12
  274. - VersionTLS13
  275. type: string
  276. type: object
  277. intermediate:
  278. description: "intermediate is a TLS security profile based
  279. on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29
  280. \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256
  281. - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256
  282. - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256
  283. - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384
  284. - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305
  285. - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384
  286. minTLSVersion: TLSv1.2"
  287. nullable: true
  288. type: object
  289. modern:
  290. description: "modern is a TLS security profile based on: \n
  291. https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
  292. \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256
  293. - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256
  294. minTLSVersion: TLSv1.3 \n NOTE: Currently unsupported."
  295. nullable: true
  296. type: object
  297. old:
  298. description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility
  299. \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256
  300. - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256
  301. - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256
  302. - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384
  303. - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305
  304. - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384
  305. - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256
  306. - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA
  307. - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 -
  308. ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256
  309. - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384
  310. - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA
  311. - DES-CBC3-SHA minTLSVersion: TLSv1.0"
  312. nullable: true
  313. type: object
  314. type:
  315. description: "type is one of Old, Intermediate, Modern or
  316. Custom. Custom provides the ability to specify individual
  317. TLS security profile parameters. Old, Intermediate and Modern
  318. are TLS security profiles based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations
  319. \n The profiles are intent based, so they may change over
  320. time as new ciphers are developed and existing ciphers are
  321. found to be insecure. Depending on precisely which ciphers
  322. are available to a process, the list may be reduced. \n
  323. Note that the Modern profile is currently not supported
  324. because it is not yet well adopted by common software libraries."
  325. enum:
  326. - Old
  327. - Intermediate
  328. - Modern
  329. - Custom
  330. type: string
  331. type: object
  332. uploadProxyURLOverride:
  333. description: Override the URL used when uploading to a DataVolume
  334. type: string
  335. type: object
  336. imagePullPolicy:
  337. description: PullPolicy describes a policy for if/when to pull a container
  338. image
  339. enum:
  340. - Always
  341. - IfNotPresent
  342. - Never
  343. type: string
  344. infra:
  345. description: Rules on which nodes CDI infrastructure pods will be
  346. scheduled
  347. properties:
  348. affinity:
  349. description: affinity enables pod affinity/anti-affinity placement
  350. expanding the types of constraints that can be expressed with
  351. nodeSelector. affinity is going to be applied to the relevant
  352. kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  353. properties:
  354. nodeAffinity:
  355. description: Describes node affinity scheduling rules for
  356. the pod.
  357. properties:
  358. preferredDuringSchedulingIgnoredDuringExecution:
  359. description: The scheduler will prefer to schedule pods
  360. to nodes that satisfy the affinity expressions specified
  361. by this field, but it may choose a node that violates
  362. one or more of the expressions. The node that is most
  363. preferred is the one with the greatest sum of weights,
  364. i.e. for each node that meets all of the scheduling
  365. requirements (resource request, requiredDuringScheduling
  366. affinity expressions, etc.), compute a sum by iterating
  367. through the elements of this field and adding "weight"
  368. to the sum if the node matches the corresponding matchExpressions;
  369. the node(s) with the highest sum are the most preferred.
  370. items:
  371. description: An empty preferred scheduling term matches
  372. all objects with implicit weight 0 (i.e. it's a no-op).
  373. A null preferred scheduling term matches no objects
  374. (i.e. is also a no-op).
  375. properties:
  376. preference:
  377. description: A node selector term, associated with
  378. the corresponding weight.
  379. properties:
  380. matchExpressions:
  381. description: A list of node selector requirements
  382. by node's labels.
  383. items:
  384. description: A node selector requirement is
  385. a selector that contains values, a key,
  386. and an operator that relates the key and
  387. values.
  388. properties:
  389. key:
  390. description: The label key that the selector
  391. applies to.
  392. type: string
  393. operator:
  394. description: Represents a key's relationship
  395. to a set of values. Valid operators
  396. are In, NotIn, Exists, DoesNotExist.
  397. Gt, and Lt.
  398. type: string
  399. values:
  400. description: An array of string values.
  401. If the operator is In or NotIn, the
  402. values array must be non-empty. If the
  403. operator is Exists or DoesNotExist,
  404. the values array must be empty. If the
  405. operator is Gt or Lt, the values array
  406. must have a single element, which will
  407. be interpreted as an integer. This array
  408. is replaced during a strategic merge
  409. patch.
  410. items:
  411. type: string
  412. type: array
  413. required:
  414. - key
  415. - operator
  416. type: object
  417. type: array
  418. matchFields:
  419. description: A list of node selector requirements
  420. by node's fields.
  421. items:
  422. description: A node selector requirement is
  423. a selector that contains values, a key,
  424. and an operator that relates the key and
  425. values.
  426. properties:
  427. key:
  428. description: The label key that the selector
  429. applies to.
  430. type: string
  431. operator:
  432. description: Represents a key's relationship
  433. to a set of values. Valid operators
  434. are In, NotIn, Exists, DoesNotExist.
  435. Gt, and Lt.
  436. type: string
  437. values:
  438. description: An array of string values.
  439. If the operator is In or NotIn, the
  440. values array must be non-empty. If the
  441. operator is Exists or DoesNotExist,
  442. the values array must be empty. If the
  443. operator is Gt or Lt, the values array
  444. must have a single element, which will
  445. be interpreted as an integer. This array
  446. is replaced during a strategic merge
  447. patch.
  448. items:
  449. type: string
  450. type: array
  451. required:
  452. - key
  453. - operator
  454. type: object
  455. type: array
  456. type: object
  457. x-kubernetes-map-type: atomic
  458. weight:
  459. description: Weight associated with matching the
  460. corresponding nodeSelectorTerm, in the range 1-100.
  461. format: int32
  462. type: integer
  463. required:
  464. - preference
  465. - weight
  466. type: object
  467. type: array
  468. requiredDuringSchedulingIgnoredDuringExecution:
  469. description: If the affinity requirements specified by
  470. this field are not met at scheduling time, the pod will
  471. not be scheduled onto the node. If the affinity requirements
  472. specified by this field cease to be met at some point
  473. during pod execution (e.g. due to an update), the system
  474. may or may not try to eventually evict the pod from
  475. its node.
  476. properties:
  477. nodeSelectorTerms:
  478. description: Required. A list of node selector terms.
  479. The terms are ORed.
  480. items:
  481. description: A null or empty node selector term
  482. matches no objects. The requirements of them are
  483. ANDed. The TopologySelectorTerm type implements
  484. a subset of the NodeSelectorTerm.
  485. properties:
  486. matchExpressions:
  487. description: A list of node selector requirements
  488. by node's labels.
  489. items:
  490. description: A node selector requirement is
  491. a selector that contains values, a key,
  492. and an operator that relates the key and
  493. values.
  494. properties:
  495. key:
  496. description: The label key that the selector
  497. applies to.
  498. type: string
  499. operator:
  500. description: Represents a key's relationship
  501. to a set of values. Valid operators
  502. are In, NotIn, Exists, DoesNotExist.
  503. Gt, and Lt.
  504. type: string
  505. values:
  506. description: An array of string values.
  507. If the operator is In or NotIn, the
  508. values array must be non-empty. If the
  509. operator is Exists or DoesNotExist,
  510. the values array must be empty. If the
  511. operator is Gt or Lt, the values array
  512. must have a single element, which will
  513. be interpreted as an integer. This array
  514. is replaced during a strategic merge
  515. patch.
  516. items:
  517. type: string
  518. type: array
  519. required:
  520. - key
  521. - operator
  522. type: object
  523. type: array
  524. matchFields:
  525. description: A list of node selector requirements
  526. by node's fields.
  527. items:
  528. description: A node selector requirement is
  529. a selector that contains values, a key,
  530. and an operator that relates the key and
  531. values.
  532. properties:
  533. key:
  534. description: The label key that the selector
  535. applies to.
  536. type: string
  537. operator:
  538. description: Represents a key's relationship
  539. to a set of values. Valid operators
  540. are In, NotIn, Exists, DoesNotExist.
  541. Gt, and Lt.
  542. type: string
  543. values:
  544. description: An array of string values.
  545. If the operator is In or NotIn, the
  546. values array must be non-empty. If the
  547. operator is Exists or DoesNotExist,
  548. the values array must be empty. If the
  549. operator is Gt or Lt, the values array
  550. must have a single element, which will
  551. be interpreted as an integer. This array
  552. is replaced during a strategic merge
  553. patch.
  554. items:
  555. type: string
  556. type: array
  557. required:
  558. - key
  559. - operator
  560. type: object
  561. type: array
  562. type: object
  563. x-kubernetes-map-type: atomic
  564. type: array
  565. required:
  566. - nodeSelectorTerms
  567. type: object
  568. x-kubernetes-map-type: atomic
  569. type: object
  570. podAffinity:
  571. description: Describes pod affinity scheduling rules (e.g.
  572. co-locate this pod in the same node, zone, etc. as some
  573. other pod(s)).
  574. properties:
  575. preferredDuringSchedulingIgnoredDuringExecution:
  576. description: The scheduler will prefer to schedule pods
  577. to nodes that satisfy the affinity expressions specified
  578. by this field, but it may choose a node that violates
  579. one or more of the expressions. The node that is most
  580. preferred is the one with the greatest sum of weights,
  581. i.e. for each node that meets all of the scheduling
  582. requirements (resource request, requiredDuringScheduling
  583. affinity expressions, etc.), compute a sum by iterating
  584. through the elements of this field and adding "weight"
  585. to the sum if the node has pods which matches the corresponding
  586. podAffinityTerm; the node(s) with the highest sum are
  587. the most preferred.
  588. items:
  589. description: The weights of all of the matched WeightedPodAffinityTerm
  590. fields are added per-node to find the most preferred
  591. node(s)
  592. properties:
  593. podAffinityTerm:
  594. description: Required. A pod affinity term, associated
  595. with the corresponding weight.
  596. properties:
  597. labelSelector:
  598. description: A label query over a set of resources,
  599. in this case pods.
  600. properties:
  601. matchExpressions:
  602. description: matchExpressions is a list
  603. of label selector requirements. The requirements
  604. are ANDed.
  605. items:
  606. description: A label selector requirement
  607. is a selector that contains values,
  608. a key, and an operator that relates
  609. the key and values.
  610. properties:
  611. key:
  612. description: key is the label key
  613. that the selector applies to.
  614. type: string
  615. operator:
  616. description: operator represents a
  617. key's relationship to a set of values.
  618. Valid operators are In, NotIn, Exists
  619. and DoesNotExist.
  620. type: string
  621. values:
  622. description: values is an array of
  623. string values. If the operator is
  624. In or NotIn, the values array must
  625. be non-empty. If the operator is
  626. Exists or DoesNotExist, the values
  627. array must be empty. This array
  628. is replaced during a strategic merge
  629. patch.
  630. items:
  631. type: string
  632. type: array
  633. required:
  634. - key
  635. - operator
  636. type: object
  637. type: array
  638. matchLabels:
  639. additionalProperties:
  640. type: string
  641. description: matchLabels is a map of {key,value}
  642. pairs. A single {key,value} in the matchLabels
  643. map is equivalent to an element of matchExpressions,
  644. whose key field is "key", the operator
  645. is "In", and the values array contains
  646. only "value". The requirements are ANDed.
  647. type: object
  648. type: object
  649. x-kubernetes-map-type: atomic
  650. namespaceSelector:
  651. description: A label query over the set of namespaces
  652. that the term applies to. The term is applied
  653. to the union of the namespaces selected by
  654. this field and the ones listed in the namespaces
  655. field. null selector and null or empty namespaces
  656. list means "this pod's namespace". An empty
  657. selector ({}) matches all namespaces.
  658. properties:
  659. matchExpressions:
  660. description: matchExpressions is a list
  661. of label selector requirements. The requirements
  662. are ANDed.
  663. items:
  664. description: A label selector requirement
  665. is a selector that contains values,
  666. a key, and an operator that relates
  667. the key and values.
  668. properties:
  669. key:
  670. description: key is the label key
  671. that the selector applies to.
  672. type: string
  673. operator:
  674. description: operator represents a
  675. key's relationship to a set of values.
  676. Valid operators are In, NotIn, Exists
  677. and DoesNotExist.
  678. type: string
  679. values:
  680. description: values is an array of
  681. string values. If the operator is
  682. In or NotIn, the values array must
  683. be non-empty. If the operator is
  684. Exists or DoesNotExist, the values
  685. array must be empty. This array
  686. is replaced during a strategic merge
  687. patch.
  688. items:
  689. type: string
  690. type: array
  691. required:
  692. - key
  693. - operator
  694. type: object
  695. type: array
  696. matchLabels:
  697. additionalProperties:
  698. type: string
  699. description: matchLabels is a map of {key,value}
  700. pairs. A single {key,value} in the matchLabels
  701. map is equivalent to an element of matchExpressions,
  702. whose key field is "key", the operator
  703. is "In", and the values array contains
  704. only "value". The requirements are ANDed.
  705. type: object
  706. type: object
  707. x-kubernetes-map-type: atomic
  708. namespaces:
  709. description: namespaces specifies a static list
  710. of namespace names that the term applies to.
  711. The term is applied to the union of the namespaces
  712. listed in this field and the ones selected
  713. by namespaceSelector. null or empty namespaces
  714. list and null namespaceSelector means "this
  715. pod's namespace".
  716. items:
  717. type: string
  718. type: array
  719. topologyKey:
  720. description: This pod should be co-located (affinity)
  721. or not co-located (anti-affinity) with the
  722. pods matching the labelSelector in the specified
  723. namespaces, where co-located is defined as
  724. running on a node whose value of the label
  725. with key topologyKey matches that of any node
  726. on which any of the selected pods is running.
  727. Empty topologyKey is not allowed.
  728. type: string
  729. required:
  730. - topologyKey
  731. type: object
  732. weight:
  733. description: weight associated with matching the
  734. corresponding podAffinityTerm, in the range 1-100.
  735. format: int32
  736. type: integer
  737. required:
  738. - podAffinityTerm
  739. - weight
  740. type: object
  741. type: array
  742. requiredDuringSchedulingIgnoredDuringExecution:
  743. description: If the affinity requirements specified by
  744. this field are not met at scheduling time, the pod will
  745. not be scheduled onto the node. If the affinity requirements
  746. specified by this field cease to be met at some point
  747. during pod execution (e.g. due to a pod label update),
  748. the system may or may not try to eventually evict the
  749. pod from its node. When there are multiple elements,
  750. the lists of nodes corresponding to each podAffinityTerm
  751. are intersected, i.e. all terms must be satisfied.
  752. items:
  753. description: Defines a set of pods (namely those matching
  754. the labelSelector relative to the given namespace(s))
  755. that this pod should be co-located (affinity) or not
  756. co-located (anti-affinity) with, where co-located
  757. is defined as running on a node whose value of the
  758. label with key <topologyKey> matches that of any node
  759. on which a pod of the set of pods is running
  760. properties:
  761. labelSelector:
  762. description: A label query over a set of resources,
  763. in this case pods.
  764. properties:
  765. matchExpressions:
  766. description: matchExpressions is a list of label
  767. selector requirements. The requirements are
  768. ANDed.
  769. items:
  770. description: A label selector requirement
  771. is a selector that contains values, a key,
  772. and an operator that relates the key and
  773. values.
  774. properties:
  775. key:
  776. description: key is the label key that
  777. the selector applies to.
  778. type: string
  779. operator:
  780. description: operator represents a key's
  781. relationship to a set of values. Valid
  782. operators are In, NotIn, Exists and
  783. DoesNotExist.
  784. type: string
  785. values:
  786. description: values is an array of string
  787. values. If the operator is In or NotIn,
  788. the values array must be non-empty.
  789. If the operator is Exists or DoesNotExist,
  790. the values array must be empty. This
  791. array is replaced during a strategic
  792. merge patch.
  793. items:
  794. type: string
  795. type: array
  796. required:
  797. - key
  798. - operator
  799. type: object
  800. type: array
  801. matchLabels:
  802. additionalProperties:
  803. type: string
  804. description: matchLabels is a map of {key,value}
  805. pairs. A single {key,value} in the matchLabels
  806. map is equivalent to an element of matchExpressions,
  807. whose key field is "key", the operator is
  808. "In", and the values array contains only "value".
  809. The requirements are ANDed.
  810. type: object
  811. type: object
  812. x-kubernetes-map-type: atomic
  813. namespaceSelector:
  814. description: A label query over the set of namespaces
  815. that the term applies to. The term is applied
  816. to the union of the namespaces selected by this
  817. field and the ones listed in the namespaces field.
  818. null selector and null or empty namespaces list
  819. means "this pod's namespace". An empty selector
  820. ({}) matches all namespaces.
  821. properties:
  822. matchExpressions:
  823. description: matchExpressions is a list of label
  824. selector requirements. The requirements are
  825. ANDed.
  826. items:
  827. description: A label selector requirement
  828. is a selector that contains values, a key,
  829. and an operator that relates the key and
  830. values.
  831. properties:
  832. key:
  833. description: key is the label key that
  834. the selector applies to.
  835. type: string
  836. operator:
  837. description: operator represents a key's
  838. relationship to a set of values. Valid
  839. operators are In, NotIn, Exists and
  840. DoesNotExist.
  841. type: string
  842. values:
  843. description: values is an array of string
  844. values. If the operator is In or NotIn,
  845. the values array must be non-empty.
  846. If the operator is Exists or DoesNotExist,
  847. the values array must be empty. This
  848. array is replaced during a strategic
  849. merge patch.
  850. items:
  851. type: string
  852. type: array
  853. required:
  854. - key
  855. - operator
  856. type: object
  857. type: array
  858. matchLabels:
  859. additionalProperties:
  860. type: string
  861. description: matchLabels is a map of {key,value}
  862. pairs. A single {key,value} in the matchLabels
  863. map is equivalent to an element of matchExpressions,
  864. whose key field is "key", the operator is
  865. "In", and the values array contains only "value".
  866. The requirements are ANDed.
  867. type: object
  868. type: object
  869. x-kubernetes-map-type: atomic
  870. namespaces:
  871. description: namespaces specifies a static list
  872. of namespace names that the term applies to. The
  873. term is applied to the union of the namespaces
  874. listed in this field and the ones selected by
  875. namespaceSelector. null or empty namespaces list
  876. and null namespaceSelector means "this pod's namespace".
  877. items:
  878. type: string
  879. type: array
  880. topologyKey:
  881. description: This pod should be co-located (affinity)
  882. or not co-located (anti-affinity) with the pods
  883. matching the labelSelector in the specified namespaces,
  884. where co-located is defined as running on a node
  885. whose value of the label with key topologyKey
  886. matches that of any node on which any of the selected
  887. pods is running. Empty topologyKey is not allowed.
  888. type: string
  889. required:
  890. - topologyKey
  891. type: object
  892. type: array
  893. type: object
  894. podAntiAffinity:
  895. description: Describes pod anti-affinity scheduling rules
  896. (e.g. avoid putting this pod in the same node, zone, etc.
  897. as some other pod(s)).
  898. properties:
  899. preferredDuringSchedulingIgnoredDuringExecution:
  900. description: The scheduler will prefer to schedule pods
  901. to nodes that satisfy the anti-affinity expressions
  902. specified by this field, but it may choose a node that
  903. violates one or more of the expressions. The node that
  904. is most preferred is the one with the greatest sum of
  905. weights, i.e. for each node that meets all of the scheduling
  906. requirements (resource request, requiredDuringScheduling
  907. anti-affinity expressions, etc.), compute a sum by iterating
  908. through the elements of this field and adding "weight"
  909. to the sum if the node has pods which matches the corresponding
  910. podAffinityTerm; the node(s) with the highest sum are
  911. the most preferred.
  912. items:
  913. description: The weights of all of the matched WeightedPodAffinityTerm
  914. fields are added per-node to find the most preferred
  915. node(s)
  916. properties:
  917. podAffinityTerm:
  918. description: Required. A pod affinity term, associated
  919. with the corresponding weight.
  920. properties:
  921. labelSelector:
  922. description: A label query over a set of resources,
  923. in this case pods.
  924. properties:
  925. matchExpressions:
  926. description: matchExpressions is a list
  927. of label selector requirements. The requirements
  928. are ANDed.
  929. items:
  930. description: A label selector requirement
  931. is a selector that contains values,
  932. a key, and an operator that relates
  933. the key and values.
  934. properties:
  935. key:
  936. description: key is the label key
  937. that the selector applies to.
  938. type: string
  939. operator:
  940. description: operator represents a
  941. key's relationship to a set of values.
  942. Valid operators are In, NotIn, Exists
  943. and DoesNotExist.
  944. type: string
  945. values:
  946. description: values is an array of
  947. string values. If the operator is
  948. In or NotIn, the values array must
  949. be non-empty. If the operator is
  950. Exists or DoesNotExist, the values
  951. array must be empty. This array
  952. is replaced during a strategic merge
  953. patch.
  954. items:
  955. type: string
  956. type: array
  957. required:
  958. - key
  959. - operator
  960. type: object
  961. type: array
  962. matchLabels:
  963. additionalProperties:
  964. type: string
  965. description: matchLabels is a map of {key,value}
  966. pairs. A single {key,value} in the matchLabels
  967. map is equivalent to an element of matchExpressions,
  968. whose key field is "key", the operator
  969. is "In", and the values array contains
  970. only "value". The requirements are ANDed.
  971. type: object
  972. type: object
  973. x-kubernetes-map-type: atomic
  974. namespaceSelector:
  975. description: A label query over the set of namespaces
  976. that the term applies to. The term is applied
  977. to the union of the namespaces selected by
  978. this field and the ones listed in the namespaces
  979. field. null selector and null or empty namespaces
  980. list means "this pod's namespace". An empty
  981. selector ({}) matches all namespaces.
  982. properties:
  983. matchExpressions:
  984. description: matchExpressions is a list
  985. of label selector requirements. The requirements
  986. are ANDed.
  987. items:
  988. description: A label selector requirement
  989. is a selector that contains values,
  990. a key, and an operator that relates
  991. the key and values.
  992. properties:
  993. key:
  994. description: key is the label key
  995. that the selector applies to.
  996. type: string
  997. operator:
  998. description: operator represents a
  999. key's relationship to a set of values.
  1000. Valid operators are In, NotIn, Exists
  1001. and DoesNotExist.
  1002. type: string
  1003. values:
  1004. description: values is an array of
  1005. string values. If the operator is
  1006. In or NotIn, the values array must
  1007. be non-empty. If the operator is
  1008. Exists or DoesNotExist, the values
  1009. array must be empty. This array
  1010. is replaced during a strategic merge
  1011. patch.
  1012. items:
  1013. type: string
  1014. type: array
  1015. required:
  1016. - key
  1017. - operator
  1018. type: object
  1019. type: array
  1020. matchLabels:
  1021. additionalProperties:
  1022. type: string
  1023. description: matchLabels is a map of {key,value}
  1024. pairs. A single {key,value} in the matchLabels
  1025. map is equivalent to an element of matchExpressions,
  1026. whose key field is "key", the operator
  1027. is "In", and the values array contains
  1028. only "value". The requirements are ANDed.
  1029. type: object
  1030. type: object
  1031. x-kubernetes-map-type: atomic
  1032. namespaces:
  1033. description: namespaces specifies a static list
  1034. of namespace names that the term applies to.
  1035. The term is applied to the union of the namespaces
  1036. listed in this field and the ones selected
  1037. by namespaceSelector. null or empty namespaces
  1038. list and null namespaceSelector means "this
  1039. pod's namespace".
  1040. items:
  1041. type: string
  1042. type: array
  1043. topologyKey:
  1044. description: This pod should be co-located (affinity)
  1045. or not co-located (anti-affinity) with the
  1046. pods matching the labelSelector in the specified
  1047. namespaces, where co-located is defined as
  1048. running on a node whose value of the label
  1049. with key topologyKey matches that of any node
  1050. on which any of the selected pods is running.
  1051. Empty topologyKey is not allowed.
  1052. type: string
  1053. required:
  1054. - topologyKey
  1055. type: object
  1056. weight:
  1057. description: weight associated with matching the
  1058. corresponding podAffinityTerm, in the range 1-100.
  1059. format: int32
  1060. type: integer
  1061. required:
  1062. - podAffinityTerm
  1063. - weight
  1064. type: object
  1065. type: array
  1066. requiredDuringSchedulingIgnoredDuringExecution:
  1067. description: If the anti-affinity requirements specified
  1068. by this field are not met at scheduling time, the pod
  1069. will not be scheduled onto the node. If the anti-affinity
  1070. requirements specified by this field cease to be met
  1071. at some point during pod execution (e.g. due to a pod
  1072. label update), the system may or may not try to eventually
  1073. evict the pod from its node. When there are multiple
  1074. elements, the lists of nodes corresponding to each podAffinityTerm
  1075. are intersected, i.e. all terms must be satisfied.
  1076. items:
  1077. description: Defines a set of pods (namely those matching
  1078. the labelSelector relative to the given namespace(s))
  1079. that this pod should be co-located (affinity) or not
  1080. co-located (anti-affinity) with, where co-located
  1081. is defined as running on a node whose value of the
  1082. label with key <topologyKey> matches that of any node
  1083. on which a pod of the set of pods is running
  1084. properties:
  1085. labelSelector:
  1086. description: A label query over a set of resources,
  1087. in this case pods.
  1088. properties:
  1089. matchExpressions:
  1090. description: matchExpressions is a list of label
  1091. selector requirements. The requirements are
  1092. ANDed.
  1093. items:
  1094. description: A label selector requirement
  1095. is a selector that contains values, a key,
  1096. and an operator that relates the key and
  1097. values.
  1098. properties:
  1099. key:
  1100. description: key is the label key that
  1101. the selector applies to.
  1102. type: string
  1103. operator:
  1104. description: operator represents a key's
  1105. relationship to a set of values. Valid
  1106. operators are In, NotIn, Exists and
  1107. DoesNotExist.
  1108. type: string
  1109. values:
  1110. description: values is an array of string
  1111. values. If the operator is In or NotIn,
  1112. the values array must be non-empty.
  1113. If the operator is Exists or DoesNotExist,
  1114. the values array must be empty. This
  1115. array is replaced during a strategic
  1116. merge patch.
  1117. items:
  1118. type: string
  1119. type: array
  1120. required:
  1121. - key
  1122. - operator
  1123. type: object
  1124. type: array
  1125. matchLabels:
  1126. additionalProperties:
  1127. type: string
  1128. description: matchLabels is a map of {key,value}
  1129. pairs. A single {key,value} in the matchLabels
  1130. map is equivalent to an element of matchExpressions,
  1131. whose key field is "key", the operator is
  1132. "In", and the values array contains only "value".
  1133. The requirements are ANDed.
  1134. type: object
  1135. type: object
  1136. x-kubernetes-map-type: atomic
  1137. namespaceSelector:
  1138. description: A label query over the set of namespaces
  1139. that the term applies to. The term is applied
  1140. to the union of the namespaces selected by this
  1141. field and the ones listed in the namespaces field.
  1142. null selector and null or empty namespaces list
  1143. means "this pod's namespace". An empty selector
  1144. ({}) matches all namespaces.
  1145. properties:
  1146. matchExpressions:
  1147. description: matchExpressions is a list of label
  1148. selector requirements. The requirements are
  1149. ANDed.
  1150. items:
  1151. description: A label selector requirement
  1152. is a selector that contains values, a key,
  1153. and an operator that relates the key and
  1154. values.
  1155. properties:
  1156. key:
  1157. description: key is the label key that
  1158. the selector applies to.
  1159. type: string
  1160. operator:
  1161. description: operator represents a key's
  1162. relationship to a set of values. Valid
  1163. operators are In, NotIn, Exists and
  1164. DoesNotExist.
  1165. type: string
  1166. values:
  1167. description: values is an array of string
  1168. values. If the operator is In or NotIn,
  1169. the values array must be non-empty.
  1170. If the operator is Exists or DoesNotExist,
  1171. the values array must be empty. This
  1172. array is replaced during a strategic
  1173. merge patch.
  1174. items:
  1175. type: string
  1176. type: array
  1177. required:
  1178. - key
  1179. - operator
  1180. type: object
  1181. type: array
  1182. matchLabels:
  1183. additionalProperties:
  1184. type: string
  1185. description: matchLabels is a map of {key,value}
  1186. pairs. A single {key,value} in the matchLabels
  1187. map is equivalent to an element of matchExpressions,
  1188. whose key field is "key", the operator is
  1189. "In", and the values array contains only "value".
  1190. The requirements are ANDed.
  1191. type: object
  1192. type: object
  1193. x-kubernetes-map-type: atomic
  1194. namespaces:
  1195. description: namespaces specifies a static list
  1196. of namespace names that the term applies to. The
  1197. term is applied to the union of the namespaces
  1198. listed in this field and the ones selected by
  1199. namespaceSelector. null or empty namespaces list
  1200. and null namespaceSelector means "this pod's namespace".
  1201. items:
  1202. type: string
  1203. type: array
  1204. topologyKey:
  1205. description: This pod should be co-located (affinity)
  1206. or not co-located (anti-affinity) with the pods
  1207. matching the labelSelector in the specified namespaces,
  1208. where co-located is defined as running on a node
  1209. whose value of the label with key topologyKey
  1210. matches that of any node on which any of the selected
  1211. pods is running. Empty topologyKey is not allowed.
  1212. type: string
  1213. required:
  1214. - topologyKey
  1215. type: object
  1216. type: array
  1217. type: object
  1218. type: object
  1219. nodeSelector:
  1220. additionalProperties:
  1221. type: string
  1222. description: 'nodeSelector is the node selector applied to the
  1223. relevant kind of pods It specifies a map of key-value pairs:
  1224. for the pod to be eligible to run on a node, the node must have
  1225. each of the indicated key-value pairs as labels (it can have
  1226. additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
  1227. type: object
  1228. tolerations:
  1229. description: tolerations is a list of tolerations applied to the
  1230. relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1231. for more info. These are additional tolerations other than default
  1232. ones.
  1233. items:
  1234. description: The pod this Toleration is attached to tolerates
  1235. any taint that matches the triple <key,value,effect> using
  1236. the matching operator <operator>.
  1237. properties:
  1238. effect:
  1239. description: Effect indicates the taint effect to match.
  1240. Empty means match all taint effects. When specified, allowed
  1241. values are NoSchedule, PreferNoSchedule and NoExecute.
  1242. type: string
  1243. key:
  1244. description: Key is the taint key that the toleration applies
  1245. to. Empty means match all taint keys. If the key is empty,
  1246. operator must be Exists; this combination means to match
  1247. all values and all keys.
  1248. type: string
  1249. operator:
  1250. description: Operator represents a key's relationship to
  1251. the value. Valid operators are Exists and Equal. Defaults
  1252. to Equal. Exists is equivalent to wildcard for value,
  1253. so that a pod can tolerate all taints of a particular
  1254. category.
  1255. type: string
  1256. tolerationSeconds:
  1257. description: TolerationSeconds represents the period of
  1258. time the toleration (which must be of effect NoExecute,
  1259. otherwise this field is ignored) tolerates the taint.
  1260. By default, it is not set, which means tolerate the taint
  1261. forever (do not evict). Zero and negative values will
  1262. be treated as 0 (evict immediately) by the system.
  1263. format: int64
  1264. type: integer
  1265. value:
  1266. description: Value is the taint value the toleration matches
  1267. to. If the operator is Exists, the value should be empty,
  1268. otherwise just a regular string.
  1269. type: string
  1270. type: object
  1271. type: array
  1272. type: object
  1273. priorityClass:
  1274. description: PriorityClass of the CDI control plane
  1275. type: string
  1276. uninstallStrategy:
  1277. description: CDIUninstallStrategy defines the state to leave CDI on
  1278. uninstall
  1279. enum:
  1280. - RemoveWorkloads
  1281. - BlockUninstallIfWorkloadsExist
  1282. type: string
  1283. workload:
  1284. description: Restrict on which nodes CDI workload pods will be scheduled
  1285. properties:
  1286. affinity:
  1287. description: affinity enables pod affinity/anti-affinity placement
  1288. expanding the types of constraints that can be expressed with
  1289. nodeSelector. affinity is going to be applied to the relevant
  1290. kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  1291. properties:
  1292. nodeAffinity:
  1293. description: Describes node affinity scheduling rules for
  1294. the pod.
  1295. properties:
  1296. preferredDuringSchedulingIgnoredDuringExecution:
  1297. description: The scheduler will prefer to schedule pods
  1298. to nodes that satisfy the affinity expressions specified
  1299. by this field, but it may choose a node that violates
  1300. one or more of the expressions. The node that is most
  1301. preferred is the one with the greatest sum of weights,
  1302. i.e. for each node that meets all of the scheduling
  1303. requirements (resource request, requiredDuringScheduling
  1304. affinity expressions, etc.), compute a sum by iterating
  1305. through the elements of this field and adding "weight"
  1306. to the sum if the node matches the corresponding matchExpressions;
  1307. the node(s) with the highest sum are the most preferred.
  1308. items:
  1309. description: An empty preferred scheduling term matches
  1310. all objects with implicit weight 0 (i.e. it's a no-op).
  1311. A null preferred scheduling term matches no objects
  1312. (i.e. is also a no-op).
  1313. properties:
  1314. preference:
  1315. description: A node selector term, associated with
  1316. the corresponding weight.
  1317. properties:
  1318. matchExpressions:
  1319. description: A list of node selector requirements
  1320. by node's labels.
  1321. items:
  1322. description: A node selector requirement is
  1323. a selector that contains values, a key,
  1324. and an operator that relates the key and
  1325. values.
  1326. properties:
  1327. key:
  1328. description: The label key that the selector
  1329. applies to.
  1330. type: string
  1331. operator:
  1332. description: Represents a key's relationship
  1333. to a set of values. Valid operators
  1334. are In, NotIn, Exists, DoesNotExist.
  1335. Gt, and Lt.
  1336. type: string
  1337. values:
  1338. description: An array of string values.
  1339. If the operator is In or NotIn, the
  1340. values array must be non-empty. If the
  1341. operator is Exists or DoesNotExist,
  1342. the values array must be empty. If the
  1343. operator is Gt or Lt, the values array
  1344. must have a single element, which will
  1345. be interpreted as an integer. This array
  1346. is replaced during a strategic merge
  1347. patch.
  1348. items:
  1349. type: string
  1350. type: array
  1351. required:
  1352. - key
  1353. - operator
  1354. type: object
  1355. type: array
  1356. matchFields:
  1357. description: A list of node selector requirements
  1358. by node's fields.
  1359. items:
  1360. description: A node selector requirement is
  1361. a selector that contains values, a key,
  1362. and an operator that relates the key and
  1363. values.
  1364. properties:
  1365. key:
  1366. description: The label key that the selector
  1367. applies to.
  1368. type: string
  1369. operator:
  1370. description: Represents a key's relationship
  1371. to a set of values. Valid operators
  1372. are In, NotIn, Exists, DoesNotExist.
  1373. Gt, and Lt.
  1374. type: string
  1375. values:
  1376. description: An array of string values.
  1377. If the operator is In or NotIn, the
  1378. values array must be non-empty. If the
  1379. operator is Exists or DoesNotExist,
  1380. the values array must be empty. If the
  1381. operator is Gt or Lt, the values array
  1382. must have a single element, which will
  1383. be interpreted as an integer. This array
  1384. is replaced during a strategic merge
  1385. patch.
  1386. items:
  1387. type: string
  1388. type: array
  1389. required:
  1390. - key
  1391. - operator
  1392. type: object
  1393. type: array
  1394. type: object
  1395. x-kubernetes-map-type: atomic
  1396. weight:
  1397. description: Weight associated with matching the
  1398. corresponding nodeSelectorTerm, in the range 1-100.
  1399. format: int32
  1400. type: integer
  1401. required:
  1402. - preference
  1403. - weight
  1404. type: object
  1405. type: array
  1406. requiredDuringSchedulingIgnoredDuringExecution:
  1407. description: If the affinity requirements specified by
  1408. this field are not met at scheduling time, the pod will
  1409. not be scheduled onto the node. If the affinity requirements
  1410. specified by this field cease to be met at some point
  1411. during pod execution (e.g. due to an update), the system
  1412. may or may not try to eventually evict the pod from
  1413. its node.
  1414. properties:
  1415. nodeSelectorTerms:
  1416. description: Required. A list of node selector terms.
  1417. The terms are ORed.
  1418. items:
  1419. description: A null or empty node selector term
  1420. matches no objects. The requirements of them are
  1421. ANDed. The TopologySelectorTerm type implements
  1422. a subset of the NodeSelectorTerm.
  1423. properties:
  1424. matchExpressions:
  1425. description: A list of node selector requirements
  1426. by node's labels.
  1427. items:
  1428. description: A node selector requirement is
  1429. a selector that contains values, a key,
  1430. and an operator that relates the key and
  1431. values.
  1432. properties:
  1433. key:
  1434. description: The label key that the selector
  1435. applies to.
  1436. type: string
  1437. operator:
  1438. description: Represents a key's relationship
  1439. to a set of values. Valid operators
  1440. are In, NotIn, Exists, DoesNotExist.
  1441. Gt, and Lt.
  1442. type: string
  1443. values:
  1444. description: An array of string values.
  1445. If the operator is In or NotIn, the
  1446. values array must be non-empty. If the
  1447. operator is Exists or DoesNotExist,
  1448. the values array must be empty. If the
  1449. operator is Gt or Lt, the values array
  1450. must have a single element, which will
  1451. be interpreted as an integer. This array
  1452. is replaced during a strategic merge
  1453. patch.
  1454. items:
  1455. type: string
  1456. type: array
  1457. required:
  1458. - key
  1459. - operator
  1460. type: object
  1461. type: array
  1462. matchFields:
  1463. description: A list of node selector requirements
  1464. by node's fields.
  1465. items:
  1466. description: A node selector requirement is
  1467. a selector that contains values, a key,
  1468. and an operator that relates the key and
  1469. values.
  1470. properties:
  1471. key:
  1472. description: The label key that the selector
  1473. applies to.
  1474. type: string
  1475. operator:
  1476. description: Represents a key's relationship
  1477. to a set of values. Valid operators
  1478. are In, NotIn, Exists, DoesNotExist.
  1479. Gt, and Lt.
  1480. type: string
  1481. values:
  1482. description: An array of string values.
  1483. If the operator is In or NotIn, the
  1484. values array must be non-empty. If the
  1485. operator is Exists or DoesNotExist,
  1486. the values array must be empty. If the
  1487. operator is Gt or Lt, the values array
  1488. must have a single element, which will
  1489. be interpreted as an integer. This array
  1490. is replaced during a strategic merge
  1491. patch.
  1492. items:
  1493. type: string
  1494. type: array
  1495. required:
  1496. - key
  1497. - operator
  1498. type: object
  1499. type: array
  1500. type: object
  1501. x-kubernetes-map-type: atomic
  1502. type: array
  1503. required:
  1504. - nodeSelectorTerms
  1505. type: object
  1506. x-kubernetes-map-type: atomic
  1507. type: object
  1508. podAffinity:
  1509. description: Describes pod affinity scheduling rules (e.g.
  1510. co-locate this pod in the same node, zone, etc. as some
  1511. other pod(s)).
  1512. properties:
  1513. preferredDuringSchedulingIgnoredDuringExecution:
  1514. description: The scheduler will prefer to schedule pods
  1515. to nodes that satisfy the affinity expressions specified
  1516. by this field, but it may choose a node that violates
  1517. one or more of the expressions. The node that is most
  1518. preferred is the one with the greatest sum of weights,
  1519. i.e. for each node that meets all of the scheduling
  1520. requirements (resource request, requiredDuringScheduling
  1521. affinity expressions, etc.), compute a sum by iterating
  1522. through the elements of this field and adding "weight"
  1523. to the sum if the node has pods which matches the corresponding
  1524. podAffinityTerm; the node(s) with the highest sum are
  1525. the most preferred.
  1526. items:
  1527. description: The weights of all of the matched WeightedPodAffinityTerm
  1528. fields are added per-node to find the most preferred
  1529. node(s)
  1530. properties:
  1531. podAffinityTerm:
  1532. description: Required. A pod affinity term, associated
  1533. with the corresponding weight.
  1534. properties:
  1535. labelSelector:
  1536. description: A label query over a set of resources,
  1537. in this case pods.
  1538. properties:
  1539. matchExpressions:
  1540. description: matchExpressions is a list
  1541. of label selector requirements. The requirements
  1542. are ANDed.
  1543. items:
  1544. description: A label selector requirement
  1545. is a selector that contains values,
  1546. a key, and an operator that relates
  1547. the key and values.
  1548. properties:
  1549. key:
  1550. description: key is the label key
  1551. that the selector applies to.
  1552. type: string
  1553. operator:
  1554. description: operator represents a
  1555. key's relationship to a set of values.
  1556. Valid operators are In, NotIn, Exists
  1557. and DoesNotExist.
  1558. type: string
  1559. values:
  1560. description: values is an array of
  1561. string values. If the operator is
  1562. In or NotIn, the values array must
  1563. be non-empty. If the operator is
  1564. Exists or DoesNotExist, the values
  1565. array must be empty. This array
  1566. is replaced during a strategic merge
  1567. patch.
  1568. items:
  1569. type: string
  1570. type: array
  1571. required:
  1572. - key
  1573. - operator
  1574. type: object
  1575. type: array
  1576. matchLabels:
  1577. additionalProperties:
  1578. type: string
  1579. description: matchLabels is a map of {key,value}
  1580. pairs. A single {key,value} in the matchLabels
  1581. map is equivalent to an element of matchExpressions,
  1582. whose key field is "key", the operator
  1583. is "In", and the values array contains
  1584. only "value". The requirements are ANDed.
  1585. type: object
  1586. type: object
  1587. x-kubernetes-map-type: atomic
  1588. namespaceSelector:
  1589. description: A label query over the set of namespaces
  1590. that the term applies to. The term is applied
  1591. to the union of the namespaces selected by
  1592. this field and the ones listed in the namespaces
  1593. field. null selector and null or empty namespaces
  1594. list means "this pod's namespace". An empty
  1595. selector ({}) matches all namespaces.
  1596. properties:
  1597. matchExpressions:
  1598. description: matchExpressions is a list
  1599. of label selector requirements. The requirements
  1600. are ANDed.
  1601. items:
  1602. description: A label selector requirement
  1603. is a selector that contains values,
  1604. a key, and an operator that relates
  1605. the key and values.
  1606. properties:
  1607. key:
  1608. description: key is the label key
  1609. that the selector applies to.
  1610. type: string
  1611. operator:
  1612. description: operator represents a
  1613. key's relationship to a set of values.
  1614. Valid operators are In, NotIn, Exists
  1615. and DoesNotExist.
  1616. type: string
  1617. values:
  1618. description: values is an array of
  1619. string values. If the operator is
  1620. In or NotIn, the values array must
  1621. be non-empty. If the operator is
  1622. Exists or DoesNotExist, the values
  1623. array must be empty. This array
  1624. is replaced during a strategic merge
  1625. patch.
  1626. items:
  1627. type: string
  1628. type: array
  1629. required:
  1630. - key
  1631. - operator
  1632. type: object
  1633. type: array
  1634. matchLabels:
  1635. additionalProperties:
  1636. type: string
  1637. description: matchLabels is a map of {key,value}
  1638. pairs. A single {key,value} in the matchLabels
  1639. map is equivalent to an element of matchExpressions,
  1640. whose key field is "key", the operator
  1641. is "In", and the values array contains
  1642. only "value". The requirements are ANDed.
  1643. type: object
  1644. type: object
  1645. x-kubernetes-map-type: atomic
  1646. namespaces:
  1647. description: namespaces specifies a static list
  1648. of namespace names that the term applies to.
  1649. The term is applied to the union of the namespaces
  1650. listed in this field and the ones selected
  1651. by namespaceSelector. null or empty namespaces
  1652. list and null namespaceSelector means "this
  1653. pod's namespace".
  1654. items:
  1655. type: string
  1656. type: array
  1657. topologyKey:
  1658. description: This pod should be co-located (affinity)
  1659. or not co-located (anti-affinity) with the
  1660. pods matching the labelSelector in the specified
  1661. namespaces, where co-located is defined as
  1662. running on a node whose value of the label
  1663. with key topologyKey matches that of any node
  1664. on which any of the selected pods is running.
  1665. Empty topologyKey is not allowed.
  1666. type: string
  1667. required:
  1668. - topologyKey
  1669. type: object
  1670. weight:
  1671. description: weight associated with matching the
  1672. corresponding podAffinityTerm, in the range 1-100.
  1673. format: int32
  1674. type: integer
  1675. required:
  1676. - podAffinityTerm
  1677. - weight
  1678. type: object
  1679. type: array
  1680. requiredDuringSchedulingIgnoredDuringExecution:
  1681. description: If the affinity requirements specified by
  1682. this field are not met at scheduling time, the pod will
  1683. not be scheduled onto the node. If the affinity requirements
  1684. specified by this field cease to be met at some point
  1685. during pod execution (e.g. due to a pod label update),
  1686. the system may or may not try to eventually evict the
  1687. pod from its node. When there are multiple elements,
  1688. the lists of nodes corresponding to each podAffinityTerm
  1689. are intersected, i.e. all terms must be satisfied.
  1690. items:
  1691. description: Defines a set of pods (namely those matching
  1692. the labelSelector relative to the given namespace(s))
  1693. that this pod should be co-located (affinity) or not
  1694. co-located (anti-affinity) with, where co-located
  1695. is defined as running on a node whose value of the
  1696. label with key <topologyKey> matches that of any node
  1697. on which a pod of the set of pods is running
  1698. properties:
  1699. labelSelector:
  1700. description: A label query over a set of resources,
  1701. in this case pods.
  1702. properties:
  1703. matchExpressions:
  1704. description: matchExpressions is a list of label
  1705. selector requirements. The requirements are
  1706. ANDed.
  1707. items:
  1708. description: A label selector requirement
  1709. is a selector that contains values, a key,
  1710. and an operator that relates the key and
  1711. values.
  1712. properties:
  1713. key:
  1714. description: key is the label key that
  1715. the selector applies to.
  1716. type: string
  1717. operator:
  1718. description: operator represents a key's
  1719. relationship to a set of values. Valid
  1720. operators are In, NotIn, Exists and
  1721. DoesNotExist.
  1722. type: string
  1723. values:
  1724. description: values is an array of string
  1725. values. If the operator is In or NotIn,
  1726. the values array must be non-empty.
  1727. If the operator is Exists or DoesNotExist,
  1728. the values array must be empty. This
  1729. array is replaced during a strategic
  1730. merge patch.
  1731. items:
  1732. type: string
  1733. type: array
  1734. required:
  1735. - key
  1736. - operator
  1737. type: object
  1738. type: array
  1739. matchLabels:
  1740. additionalProperties:
  1741. type: string
  1742. description: matchLabels is a map of {key,value}
  1743. pairs. A single {key,value} in the matchLabels
  1744. map is equivalent to an element of matchExpressions,
  1745. whose key field is "key", the operator is
  1746. "In", and the values array contains only "value".
  1747. The requirements are ANDed.
  1748. type: object
  1749. type: object
  1750. x-kubernetes-map-type: atomic
  1751. namespaceSelector:
  1752. description: A label query over the set of namespaces
  1753. that the term applies to. The term is applied
  1754. to the union of the namespaces selected by this
  1755. field and the ones listed in the namespaces field.
  1756. null selector and null or empty namespaces list
  1757. means "this pod's namespace". An empty selector
  1758. ({}) matches all namespaces.
  1759. properties:
  1760. matchExpressions:
  1761. description: matchExpressions is a list of label
  1762. selector requirements. The requirements are
  1763. ANDed.
  1764. items:
  1765. description: A label selector requirement
  1766. is a selector that contains values, a key,
  1767. and an operator that relates the key and
  1768. values.
  1769. properties:
  1770. key:
  1771. description: key is the label key that
  1772. the selector applies to.
  1773. type: string
  1774. operator:
  1775. description: operator represents a key's
  1776. relationship to a set of values. Valid
  1777. operators are In, NotIn, Exists and
  1778. DoesNotExist.
  1779. type: string
  1780. values:
  1781. description: values is an array of string
  1782. values. If the operator is In or NotIn,
  1783. the values array must be non-empty.
  1784. If the operator is Exists or DoesNotExist,
  1785. the values array must be empty. This
  1786. array is replaced during a strategic
  1787. merge patch.
  1788. items:
  1789. type: string
  1790. type: array
  1791. required:
  1792. - key
  1793. - operator
  1794. type: object
  1795. type: array
  1796. matchLabels:
  1797. additionalProperties:
  1798. type: string
  1799. description: matchLabels is a map of {key,value}
  1800. pairs. A single {key,value} in the matchLabels
  1801. map is equivalent to an element of matchExpressions,
  1802. whose key field is "key", the operator is
  1803. "In", and the values array contains only "value".
  1804. The requirements are ANDed.
  1805. type: object
  1806. type: object
  1807. x-kubernetes-map-type: atomic
  1808. namespaces:
  1809. description: namespaces specifies a static list
  1810. of namespace names that the term applies to. The
  1811. term is applied to the union of the namespaces
  1812. listed in this field and the ones selected by
  1813. namespaceSelector. null or empty namespaces list
  1814. and null namespaceSelector means "this pod's namespace".
  1815. items:
  1816. type: string
  1817. type: array
  1818. topologyKey:
  1819. description: This pod should be co-located (affinity)
  1820. or not co-located (anti-affinity) with the pods
  1821. matching the labelSelector in the specified namespaces,
  1822. where co-located is defined as running on a node
  1823. whose value of the label with key topologyKey
  1824. matches that of any node on which any of the selected
  1825. pods is running. Empty topologyKey is not allowed.
  1826. type: string
  1827. required:
  1828. - topologyKey
  1829. type: object
  1830. type: array
  1831. type: object
  1832. podAntiAffinity:
  1833. description: Describes pod anti-affinity scheduling rules
  1834. (e.g. avoid putting this pod in the same node, zone, etc.
  1835. as some other pod(s)).
  1836. properties:
  1837. preferredDuringSchedulingIgnoredDuringExecution:
  1838. description: The scheduler will prefer to schedule pods
  1839. to nodes that satisfy the anti-affinity expressions
  1840. specified by this field, but it may choose a node that
  1841. violates one or more of the expressions. The node that
  1842. is most preferred is the one with the greatest sum of
  1843. weights, i.e. for each node that meets all of the scheduling
  1844. requirements (resource request, requiredDuringScheduling
  1845. anti-affinity expressions, etc.), compute a sum by iterating
  1846. through the elements of this field and adding "weight"
  1847. to the sum if the node has pods which matches the corresponding
  1848. podAffinityTerm; the node(s) with the highest sum are
  1849. the most preferred.
  1850. items:
  1851. description: The weights of all of the matched WeightedPodAffinityTerm
  1852. fields are added per-node to find the most preferred
  1853. node(s)
  1854. properties:
  1855. podAffinityTerm:
  1856. description: Required. A pod affinity term, associated
  1857. with the corresponding weight.
  1858. properties:
  1859. labelSelector:
  1860. description: A label query over a set of resources,
  1861. in this case pods.
  1862. properties:
  1863. matchExpressions:
  1864. description: matchExpressions is a list
  1865. of label selector requirements. The requirements
  1866. are ANDed.
  1867. items:
  1868. description: A label selector requirement
  1869. is a selector that contains values,
  1870. a key, and an operator that relates
  1871. the key and values.
  1872. properties:
  1873. key:
  1874. description: key is the label key
  1875. that the selector applies to.
  1876. type: string
  1877. operator:
  1878. description: operator represents a
  1879. key's relationship to a set of values.
  1880. Valid operators are In, NotIn, Exists
  1881. and DoesNotExist.
  1882. type: string
  1883. values:
  1884. description: values is an array of
  1885. string values. If the operator is
  1886. In or NotIn, the values array must
  1887. be non-empty. If the operator is
  1888. Exists or DoesNotExist, the values
  1889. array must be empty. This array
  1890. is replaced during a strategic merge
  1891. patch.
  1892. items:
  1893. type: string
  1894. type: array
  1895. required:
  1896. - key
  1897. - operator
  1898. type: object
  1899. type: array
  1900. matchLabels:
  1901. additionalProperties:
  1902. type: string
  1903. description: matchLabels is a map of {key,value}
  1904. pairs. A single {key,value} in the matchLabels
  1905. map is equivalent to an element of matchExpressions,
  1906. whose key field is "key", the operator
  1907. is "In", and the values array contains
  1908. only "value". The requirements are ANDed.
  1909. type: object
  1910. type: object
  1911. x-kubernetes-map-type: atomic
  1912. namespaceSelector:
  1913. description: A label query over the set of namespaces
  1914. that the term applies to. The term is applied
  1915. to the union of the namespaces selected by
  1916. this field and the ones listed in the namespaces
  1917. field. null selector and null or empty namespaces
  1918. list means "this pod's namespace". An empty
  1919. selector ({}) matches all namespaces.
  1920. properties:
  1921. matchExpressions:
  1922. description: matchExpressions is a list
  1923. of label selector requirements. The requirements
  1924. are ANDed.
  1925. items:
  1926. description: A label selector requirement
  1927. is a selector that contains values,
  1928. a key, and an operator that relates
  1929. the key and values.
  1930. properties:
  1931. key:
  1932. description: key is the label key
  1933. that the selector applies to.
  1934. type: string
  1935. operator:
  1936. description: operator represents a
  1937. key's relationship to a set of values.
  1938. Valid operators are In, NotIn, Exists
  1939. and DoesNotExist.
  1940. type: string
  1941. values:
  1942. description: values is an array of
  1943. string values. If the operator is
  1944. In or NotIn, the values array must
  1945. be non-empty. If the operator is
  1946. Exists or DoesNotExist, the values
  1947. array must be empty. This array
  1948. is replaced during a strategic merge
  1949. patch.
  1950. items:
  1951. type: string
  1952. type: array
  1953. required:
  1954. - key
  1955. - operator
  1956. type: object
  1957. type: array
  1958. matchLabels:
  1959. additionalProperties:
  1960. type: string
  1961. description: matchLabels is a map of {key,value}
  1962. pairs. A single {key,value} in the matchLabels
  1963. map is equivalent to an element of matchExpressions,
  1964. whose key field is "key", the operator
  1965. is "In", and the values array contains
  1966. only "value". The requirements are ANDed.
  1967. type: object
  1968. type: object
  1969. x-kubernetes-map-type: atomic
  1970. namespaces:
  1971. description: namespaces specifies a static list
  1972. of namespace names that the term applies to.
  1973. The term is applied to the union of the namespaces
  1974. listed in this field and the ones selected
  1975. by namespaceSelector. null or empty namespaces
  1976. list and null namespaceSelector means "this
  1977. pod's namespace".
  1978. items:
  1979. type: string
  1980. type: array
  1981. topologyKey:
  1982. description: This pod should be co-located (affinity)
  1983. or not co-located (anti-affinity) with the
  1984. pods matching the labelSelector in the specified
  1985. namespaces, where co-located is defined as
  1986. running on a node whose value of the label
  1987. with key topologyKey matches that of any node
  1988. on which any of the selected pods is running.
  1989. Empty topologyKey is not allowed.
  1990. type: string
  1991. required:
  1992. - topologyKey
  1993. type: object
  1994. weight:
  1995. description: weight associated with matching the
  1996. corresponding podAffinityTerm, in the range 1-100.
  1997. format: int32
  1998. type: integer
  1999. required:
  2000. - podAffinityTerm
  2001. - weight
  2002. type: object
  2003. type: array
  2004. requiredDuringSchedulingIgnoredDuringExecution:
  2005. description: If the anti-affinity requirements specified
  2006. by this field are not met at scheduling time, the pod
  2007. will not be scheduled onto the node. If the anti-affinity
  2008. requirements specified by this field cease to be met
  2009. at some point during pod execution (e.g. due to a pod
  2010. label update), the system may or may not try to eventually
  2011. evict the pod from its node. When there are multiple
  2012. elements, the lists of nodes corresponding to each podAffinityTerm
  2013. are intersected, i.e. all terms must be satisfied.
  2014. items:
  2015. description: Defines a set of pods (namely those matching
  2016. the labelSelector relative to the given namespace(s))
  2017. that this pod should be co-located (affinity) or not
  2018. co-located (anti-affinity) with, where co-located
  2019. is defined as running on a node whose value of the
  2020. label with key <topologyKey> matches that of any node
  2021. on which a pod of the set of pods is running
  2022. properties:
  2023. labelSelector:
  2024. description: A label query over a set of resources,
  2025. in this case pods.
  2026. properties:
  2027. matchExpressions:
  2028. description: matchExpressions is a list of label
  2029. selector requirements. The requirements are
  2030. ANDed.
  2031. items:
  2032. description: A label selector requirement
  2033. is a selector that contains values, a key,
  2034. and an operator that relates the key and
  2035. values.
  2036. properties:
  2037. key:
  2038. description: key is the label key that
  2039. the selector applies to.
  2040. type: string
  2041. operator:
  2042. description: operator represents a key's
  2043. relationship to a set of values. Valid
  2044. operators are In, NotIn, Exists and
  2045. DoesNotExist.
  2046. type: string
  2047. values:
  2048. description: values is an array of string
  2049. values. If the operator is In or NotIn,
  2050. the values array must be non-empty.
  2051. If the operator is Exists or DoesNotExist,
  2052. the values array must be empty. This
  2053. array is replaced during a strategic
  2054. merge patch.
  2055. items:
  2056. type: string
  2057. type: array
  2058. required:
  2059. - key
  2060. - operator
  2061. type: object
  2062. type: array
  2063. matchLabels:
  2064. additionalProperties:
  2065. type: string
  2066. description: matchLabels is a map of {key,value}
  2067. pairs. A single {key,value} in the matchLabels
  2068. map is equivalent to an element of matchExpressions,
  2069. whose key field is "key", the operator is
  2070. "In", and the values array contains only "value".
  2071. The requirements are ANDed.
  2072. type: object
  2073. type: object
  2074. x-kubernetes-map-type: atomic
  2075. namespaceSelector:
  2076. description: A label query over the set of namespaces
  2077. that the term applies to. The term is applied
  2078. to the union of the namespaces selected by this
  2079. field and the ones listed in the namespaces field.
  2080. null selector and null or empty namespaces list
  2081. means "this pod's namespace". An empty selector
  2082. ({}) matches all namespaces.
  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. x-kubernetes-map-type: atomic
  2132. namespaces:
  2133. description: namespaces specifies a static list
  2134. of namespace names that the term applies to. The
  2135. term is applied to the union of the namespaces
  2136. listed in this field and the ones selected by
  2137. namespaceSelector. null or empty namespaces list
  2138. and null namespaceSelector means "this pod's namespace".
  2139. items:
  2140. type: string
  2141. type: array
  2142. topologyKey:
  2143. description: This pod should be co-located (affinity)
  2144. or not co-located (anti-affinity) with the pods
  2145. matching the labelSelector in the specified namespaces,
  2146. where co-located is defined as running on a node
  2147. whose value of the label with key topologyKey
  2148. matches that of any node on which any of the selected
  2149. pods is running. Empty topologyKey is not allowed.
  2150. type: string
  2151. required:
  2152. - topologyKey
  2153. type: object
  2154. type: array
  2155. type: object
  2156. type: object
  2157. nodeSelector:
  2158. additionalProperties:
  2159. type: string
  2160. description: 'nodeSelector is the node selector applied to the
  2161. relevant kind of pods It specifies a map of key-value pairs:
  2162. for the pod to be eligible to run on a node, the node must have
  2163. each of the indicated key-value pairs as labels (it can have
  2164. additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
  2165. type: object
  2166. tolerations:
  2167. description: tolerations is a list of tolerations applied to the
  2168. relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  2169. for more info. These are additional tolerations other than default
  2170. ones.
  2171. items:
  2172. description: The pod this Toleration is attached to tolerates
  2173. any taint that matches the triple <key,value,effect> using
  2174. the matching operator <operator>.
  2175. properties:
  2176. effect:
  2177. description: Effect indicates the taint effect to match.
  2178. Empty means match all taint effects. When specified, allowed
  2179. values are NoSchedule, PreferNoSchedule and NoExecute.
  2180. type: string
  2181. key:
  2182. description: Key is the taint key that the toleration applies
  2183. to. Empty means match all taint keys. If the key is empty,
  2184. operator must be Exists; this combination means to match
  2185. all values and all keys.
  2186. type: string
  2187. operator:
  2188. description: Operator represents a key's relationship to
  2189. the value. Valid operators are Exists and Equal. Defaults
  2190. to Equal. Exists is equivalent to wildcard for value,
  2191. so that a pod can tolerate all taints of a particular
  2192. category.
  2193. type: string
  2194. tolerationSeconds:
  2195. description: TolerationSeconds represents the period of
  2196. time the toleration (which must be of effect NoExecute,
  2197. otherwise this field is ignored) tolerates the taint.
  2198. By default, it is not set, which means tolerate the taint
  2199. forever (do not evict). Zero and negative values will
  2200. be treated as 0 (evict immediately) by the system.
  2201. format: int64
  2202. type: integer
  2203. value:
  2204. description: Value is the taint value the toleration matches
  2205. to. If the operator is Exists, the value should be empty,
  2206. otherwise just a regular string.
  2207. type: string
  2208. type: object
  2209. type: array
  2210. type: object
  2211. type: object
  2212. status:
  2213. description: CDIStatus defines the status of the installation
  2214. properties:
  2215. conditions:
  2216. description: A list of current conditions of the resource
  2217. items:
  2218. description: Condition represents the state of the operator's reconciliation
  2219. functionality.
  2220. properties:
  2221. lastHeartbeatTime:
  2222. format: date-time
  2223. type: string
  2224. lastTransitionTime:
  2225. format: date-time
  2226. type: string
  2227. message:
  2228. type: string
  2229. reason:
  2230. type: string
  2231. status:
  2232. type: string
  2233. type:
  2234. description: ConditionType is the state of the operator's reconciliation
  2235. functionality.
  2236. type: string
  2237. required:
  2238. - status
  2239. - type
  2240. type: object
  2241. type: array
  2242. observedVersion:
  2243. description: The observed version of the resource
  2244. type: string
  2245. operatorVersion:
  2246. description: The version of the resource as defined by the operator
  2247. type: string
  2248. phase:
  2249. description: Phase is the current phase of the deployment
  2250. type: string
  2251. targetVersion:
  2252. description: The desired version of the resource
  2253. type: string
  2254. type: object
  2255. required:
  2256. - spec
  2257. type: object
  2258. served: true
  2259. storage: false
  2260. subresources: {}
  2261. - additionalPrinterColumns:
  2262. - jsonPath: .metadata.creationTimestamp
  2263. name: Age
  2264. type: date
  2265. - jsonPath: .status.phase
  2266. name: Phase
  2267. type: string
  2268. name: v1beta1
  2269. schema:
  2270. openAPIV3Schema:
  2271. description: CDI is the CDI Operator CRD
  2272. properties:
  2273. apiVersion:
  2274. description: 'APIVersion defines the versioned schema of this representation
  2275. of an object. Servers should convert recognized schemas to the latest
  2276. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2277. type: string
  2278. kind:
  2279. description: 'Kind is a string value representing the REST resource this
  2280. object represents. Servers may infer this from the endpoint the client
  2281. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2282. type: string
  2283. metadata:
  2284. type: object
  2285. spec:
  2286. description: CDISpec defines our specification for the CDI installation
  2287. properties:
  2288. certConfig:
  2289. description: certificate configuration
  2290. properties:
  2291. ca:
  2292. description: CA configuration CA certs are kept in the CA bundle
  2293. as long as they are valid
  2294. properties:
  2295. duration:
  2296. description: The requested 'duration' (i.e. lifetime) of the
  2297. Certificate.
  2298. type: string
  2299. renewBefore:
  2300. description: The amount of time before the currently issued
  2301. certificate's `notAfter` time that we will begin to attempt
  2302. to renew the certificate.
  2303. type: string
  2304. type: object
  2305. server:
  2306. description: Server configuration Certs are rotated and discarded
  2307. properties:
  2308. duration:
  2309. description: The requested 'duration' (i.e. lifetime) of the
  2310. Certificate.
  2311. type: string
  2312. renewBefore:
  2313. description: The amount of time before the currently issued
  2314. certificate's `notAfter` time that we will begin to attempt
  2315. to renew the certificate.
  2316. type: string
  2317. type: object
  2318. type: object
  2319. cloneStrategyOverride:
  2320. description: 'Clone strategy override: should we use a host-assisted
  2321. copy even if snapshots are available?'
  2322. enum:
  2323. - copy
  2324. - snapshot
  2325. - csi-clone
  2326. type: string
  2327. config:
  2328. description: CDIConfig at CDI level
  2329. properties:
  2330. dataVolumeTTLSeconds:
  2331. description: DataVolumeTTLSeconds is the time in seconds after
  2332. DataVolume completion it can be garbage collected. Disabled
  2333. by default.
  2334. format: int32
  2335. type: integer
  2336. featureGates:
  2337. description: FeatureGates are a list of specific enabled feature
  2338. gates
  2339. items:
  2340. type: string
  2341. type: array
  2342. filesystemOverhead:
  2343. description: FilesystemOverhead describes the space reserved for
  2344. overhead when using Filesystem volumes. A value is between 0
  2345. and 1, if not defined it is 0.055 (5.5% overhead)
  2346. properties:
  2347. global:
  2348. description: Global is how much space of a Filesystem volume
  2349. should be reserved for overhead. This value is used unless
  2350. overridden by a more specific value (per storageClass)
  2351. pattern: ^(0(?:\.\d{1,3})?|1)$
  2352. type: string
  2353. storageClass:
  2354. additionalProperties:
  2355. description: 'Percent is a string that can only be a value
  2356. between [0,1) (Note: we actually rely on reconcile to
  2357. reject invalid values)'
  2358. pattern: ^(0(?:\.\d{1,3})?|1)$
  2359. type: string
  2360. description: StorageClass specifies how much space of a Filesystem
  2361. volume should be reserved for safety. The keys are the storageClass
  2362. and the values are the overhead. This value overrides the
  2363. global value
  2364. type: object
  2365. type: object
  2366. imagePullSecrets:
  2367. description: The imagePullSecrets used to pull the container images
  2368. items:
  2369. description: LocalObjectReference contains enough information
  2370. to let you locate the referenced object inside the same namespace.
  2371. properties:
  2372. name:
  2373. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2374. TODO: Add other useful fields. apiVersion, kind, uid?'
  2375. type: string
  2376. type: object
  2377. x-kubernetes-map-type: atomic
  2378. type: array
  2379. importProxy:
  2380. description: ImportProxy contains importer pod proxy configuration.
  2381. properties:
  2382. HTTPProxy:
  2383. description: HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port>
  2384. of the import proxy for HTTP requests. Empty means unset
  2385. and will not result in the import pod env var.
  2386. type: string
  2387. HTTPSProxy:
  2388. description: HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port>
  2389. of the import proxy for HTTPS requests. Empty means unset
  2390. and will not result in the import pod env var.
  2391. type: string
  2392. noProxy:
  2393. description: NoProxy is a comma-separated list of hostnames
  2394. and/or CIDRs for which the proxy should not be used. Empty
  2395. means unset and will not result in the import pod env var.
  2396. type: string
  2397. trustedCAProxy:
  2398. description: "TrustedCAProxy is the name of a ConfigMap in
  2399. the cdi namespace that contains a user-provided trusted
  2400. certificate authority (CA) bundle. The TrustedCAProxy ConfigMap
  2401. is consumed by the DataImportCron controller for creating
  2402. cronjobs, and by the import controller referring a copy
  2403. of the ConfigMap in the import namespace. Here is an example
  2404. of the ConfigMap (in yaml): \n apiVersion: v1 kind: ConfigMap
  2405. metadata: name: my-ca-proxy-cm namespace: cdi data: ca.pem:
  2406. | -----BEGIN CERTIFICATE----- ... <base64 encoded cert>
  2407. ... -----END CERTIFICATE-----"
  2408. type: string
  2409. type: object
  2410. insecureRegistries:
  2411. description: InsecureRegistries is a list of TLS disabled registries
  2412. items:
  2413. type: string
  2414. type: array
  2415. podResourceRequirements:
  2416. description: ResourceRequirements describes the compute resource
  2417. requirements.
  2418. properties:
  2419. claims:
  2420. description: "Claims lists the names of resources, defined
  2421. in spec.resourceClaims, that are used by this container.
  2422. \n This is an alpha field and requires enabling the DynamicResourceAllocation
  2423. feature gate. \n This field is immutable."
  2424. items:
  2425. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  2426. properties:
  2427. name:
  2428. description: Name must match the name of one entry in
  2429. pod.spec.resourceClaims of the Pod where this field
  2430. is used. It makes that resource available inside a
  2431. container.
  2432. type: string
  2433. required:
  2434. - name
  2435. type: object
  2436. type: array
  2437. x-kubernetes-list-map-keys:
  2438. - name
  2439. x-kubernetes-list-type: map
  2440. limits:
  2441. additionalProperties:
  2442. anyOf:
  2443. - type: integer
  2444. - type: string
  2445. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2446. x-kubernetes-int-or-string: true
  2447. description: 'Limits describes the maximum amount of compute
  2448. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2449. type: object
  2450. requests:
  2451. additionalProperties:
  2452. anyOf:
  2453. - type: integer
  2454. - type: string
  2455. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2456. x-kubernetes-int-or-string: true
  2457. description: 'Requests describes the minimum amount of compute
  2458. resources required. If Requests is omitted for a container,
  2459. it defaults to Limits if that is explicitly specified, otherwise
  2460. to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2461. type: object
  2462. type: object
  2463. preallocation:
  2464. description: Preallocation controls whether storage for DataVolumes
  2465. should be allocated in advance.
  2466. type: boolean
  2467. scratchSpaceStorageClass:
  2468. description: 'Override the storage class to used for scratch space
  2469. during transfer operations. The scratch space storage class
  2470. is determined in the following order: 1. value of scratchSpaceStorageClass,
  2471. if that doesn''t exist, use the default storage class, if there
  2472. is no default storage class, use the storage class of the DataVolume,
  2473. if no storage class specified, use no storage class for scratch
  2474. space'
  2475. type: string
  2476. tlsSecurityProfile:
  2477. description: TLSSecurityProfile is used by operators to apply
  2478. cluster-wide TLS security settings to operands.
  2479. properties:
  2480. custom:
  2481. description: "custom is a user-defined TLS security profile.
  2482. Be extremely careful using a custom profile as invalid configurations
  2483. can be catastrophic. An example custom profile looks like
  2484. this: \n ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305
  2485. - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256
  2486. minTLSVersion: TLSv1.1"
  2487. nullable: true
  2488. properties:
  2489. ciphers:
  2490. description: "ciphers is used to specify the cipher algorithms
  2491. that are negotiated during the TLS handshake. Operators
  2492. may remove entries their operands do not support. For
  2493. example, to use DES-CBC3-SHA (yaml): \n ciphers: -
  2494. DES-CBC3-SHA"
  2495. items:
  2496. type: string
  2497. type: array
  2498. minTLSVersion:
  2499. description: "minTLSVersion is used to specify the minimal
  2500. version of the TLS protocol that is negotiated during
  2501. the TLS handshake. For example, to use TLS versions
  2502. 1.1, 1.2 and 1.3 (yaml): \n minTLSVersion: TLSv1.1 \n
  2503. NOTE: currently the highest minTLSVersion allowed is
  2504. VersionTLS12"
  2505. enum:
  2506. - VersionTLS10
  2507. - VersionTLS11
  2508. - VersionTLS12
  2509. - VersionTLS13
  2510. type: string
  2511. type: object
  2512. intermediate:
  2513. description: "intermediate is a TLS security profile based
  2514. on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29
  2515. \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256
  2516. - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256
  2517. - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256
  2518. - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384
  2519. - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305
  2520. - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384
  2521. minTLSVersion: TLSv1.2"
  2522. nullable: true
  2523. type: object
  2524. modern:
  2525. description: "modern is a TLS security profile based on: \n
  2526. https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
  2527. \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256
  2528. - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256
  2529. minTLSVersion: TLSv1.3 \n NOTE: Currently unsupported."
  2530. nullable: true
  2531. type: object
  2532. old:
  2533. description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility
  2534. \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256
  2535. - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256
  2536. - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256
  2537. - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384
  2538. - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305
  2539. - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384
  2540. - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256
  2541. - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA
  2542. - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 -
  2543. ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256
  2544. - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384
  2545. - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA
  2546. - DES-CBC3-SHA minTLSVersion: TLSv1.0"
  2547. nullable: true
  2548. type: object
  2549. type:
  2550. description: "type is one of Old, Intermediate, Modern or
  2551. Custom. Custom provides the ability to specify individual
  2552. TLS security profile parameters. Old, Intermediate and Modern
  2553. are TLS security profiles based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations
  2554. \n The profiles are intent based, so they may change over
  2555. time as new ciphers are developed and existing ciphers are
  2556. found to be insecure. Depending on precisely which ciphers
  2557. are available to a process, the list may be reduced. \n
  2558. Note that the Modern profile is currently not supported
  2559. because it is not yet well adopted by common software libraries."
  2560. enum:
  2561. - Old
  2562. - Intermediate
  2563. - Modern
  2564. - Custom
  2565. type: string
  2566. type: object
  2567. uploadProxyURLOverride:
  2568. description: Override the URL used when uploading to a DataVolume
  2569. type: string
  2570. type: object
  2571. imagePullPolicy:
  2572. description: PullPolicy describes a policy for if/when to pull a container
  2573. image
  2574. enum:
  2575. - Always
  2576. - IfNotPresent
  2577. - Never
  2578. type: string
  2579. infra:
  2580. description: Rules on which nodes CDI infrastructure pods will be
  2581. scheduled
  2582. properties:
  2583. affinity:
  2584. description: affinity enables pod affinity/anti-affinity placement
  2585. expanding the types of constraints that can be expressed with
  2586. nodeSelector. affinity is going to be applied to the relevant
  2587. kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  2588. properties:
  2589. nodeAffinity:
  2590. description: Describes node affinity scheduling rules for
  2591. the pod.
  2592. properties:
  2593. preferredDuringSchedulingIgnoredDuringExecution:
  2594. description: The scheduler will prefer to schedule pods
  2595. to nodes that satisfy the affinity expressions specified
  2596. by this field, but it may choose a node that violates
  2597. one or more of the expressions. The node that is most
  2598. preferred is the one with the greatest sum of weights,
  2599. i.e. for each node that meets all of the scheduling
  2600. requirements (resource request, requiredDuringScheduling
  2601. affinity expressions, etc.), compute a sum by iterating
  2602. through the elements of this field and adding "weight"
  2603. to the sum if the node matches the corresponding matchExpressions;
  2604. the node(s) with the highest sum are the most preferred.
  2605. items:
  2606. description: An empty preferred scheduling term matches
  2607. all objects with implicit weight 0 (i.e. it's a no-op).
  2608. A null preferred scheduling term matches no objects
  2609. (i.e. is also a no-op).
  2610. properties:
  2611. preference:
  2612. description: A node selector term, associated with
  2613. the corresponding weight.
  2614. properties:
  2615. matchExpressions:
  2616. description: A list of node selector requirements
  2617. by node's labels.
  2618. items:
  2619. description: A node selector requirement is
  2620. a selector that contains values, a key,
  2621. and an operator that relates the key and
  2622. values.
  2623. properties:
  2624. key:
  2625. description: The label key that the selector
  2626. applies to.
  2627. type: string
  2628. operator:
  2629. description: Represents a key's relationship
  2630. to a set of values. Valid operators
  2631. are In, NotIn, Exists, DoesNotExist.
  2632. Gt, and Lt.
  2633. type: string
  2634. values:
  2635. description: An array of string values.
  2636. If the operator is In or NotIn, the
  2637. values array must be non-empty. If the
  2638. operator is Exists or DoesNotExist,
  2639. the values array must be empty. If the
  2640. operator is Gt or Lt, the values array
  2641. must have a single element, which will
  2642. be interpreted as an integer. This array
  2643. is replaced during a strategic merge
  2644. patch.
  2645. items:
  2646. type: string
  2647. type: array
  2648. required:
  2649. - key
  2650. - operator
  2651. type: object
  2652. type: array
  2653. matchFields:
  2654. description: A list of node selector requirements
  2655. by node's fields.
  2656. items:
  2657. description: A node selector requirement is
  2658. a selector that contains values, a key,
  2659. and an operator that relates the key and
  2660. values.
  2661. properties:
  2662. key:
  2663. description: The label key that the selector
  2664. applies to.
  2665. type: string
  2666. operator:
  2667. description: Represents a key's relationship
  2668. to a set of values. Valid operators
  2669. are In, NotIn, Exists, DoesNotExist.
  2670. Gt, and Lt.
  2671. type: string
  2672. values:
  2673. description: An array of string values.
  2674. If the operator is In or NotIn, the
  2675. values array must be non-empty. If the
  2676. operator is Exists or DoesNotExist,
  2677. the values array must be empty. If the
  2678. operator is Gt or Lt, the values array
  2679. must have a single element, which will
  2680. be interpreted as an integer. This array
  2681. is replaced during a strategic merge
  2682. patch.
  2683. items:
  2684. type: string
  2685. type: array
  2686. required:
  2687. - key
  2688. - operator
  2689. type: object
  2690. type: array
  2691. type: object
  2692. x-kubernetes-map-type: atomic
  2693. weight:
  2694. description: Weight associated with matching the
  2695. corresponding nodeSelectorTerm, in the range 1-100.
  2696. format: int32
  2697. type: integer
  2698. required:
  2699. - preference
  2700. - weight
  2701. type: object
  2702. type: array
  2703. requiredDuringSchedulingIgnoredDuringExecution:
  2704. description: If the affinity requirements specified by
  2705. this field are not met at scheduling time, the pod will
  2706. not be scheduled onto the node. If the affinity requirements
  2707. specified by this field cease to be met at some point
  2708. during pod execution (e.g. due to an update), the system
  2709. may or may not try to eventually evict the pod from
  2710. its node.
  2711. properties:
  2712. nodeSelectorTerms:
  2713. description: Required. A list of node selector terms.
  2714. The terms are ORed.
  2715. items:
  2716. description: A null or empty node selector term
  2717. matches no objects. The requirements of them are
  2718. ANDed. The TopologySelectorTerm type implements
  2719. a subset of the NodeSelectorTerm.
  2720. properties:
  2721. matchExpressions:
  2722. description: A list of node selector requirements
  2723. by node's labels.
  2724. items:
  2725. description: A node selector requirement is
  2726. a selector that contains values, a key,
  2727. and an operator that relates the key and
  2728. values.
  2729. properties:
  2730. key:
  2731. description: The label key that the selector
  2732. applies to.
  2733. type: string
  2734. operator:
  2735. description: Represents a key's relationship
  2736. to a set of values. Valid operators
  2737. are In, NotIn, Exists, DoesNotExist.
  2738. Gt, and Lt.
  2739. type: string
  2740. values:
  2741. description: An array of string values.
  2742. If the operator is In or NotIn, the
  2743. values array must be non-empty. If the
  2744. operator is Exists or DoesNotExist,
  2745. the values array must be empty. If the
  2746. operator is Gt or Lt, the values array
  2747. must have a single element, which will
  2748. be interpreted as an integer. This array
  2749. is replaced during a strategic merge
  2750. patch.
  2751. items:
  2752. type: string
  2753. type: array
  2754. required:
  2755. - key
  2756. - operator
  2757. type: object
  2758. type: array
  2759. matchFields:
  2760. description: A list of node selector requirements
  2761. by node's fields.
  2762. items:
  2763. description: A node selector requirement is
  2764. a selector that contains values, a key,
  2765. and an operator that relates the key and
  2766. values.
  2767. properties:
  2768. key:
  2769. description: The label key that the selector
  2770. applies to.
  2771. type: string
  2772. operator:
  2773. description: Represents a key's relationship
  2774. to a set of values. Valid operators
  2775. are In, NotIn, Exists, DoesNotExist.
  2776. Gt, and Lt.
  2777. type: string
  2778. values:
  2779. description: An array of string values.
  2780. If the operator is In or NotIn, the
  2781. values array must be non-empty. If the
  2782. operator is Exists or DoesNotExist,
  2783. the values array must be empty. If the
  2784. operator is Gt or Lt, the values array
  2785. must have a single element, which will
  2786. be interpreted as an integer. This array
  2787. is replaced during a strategic merge
  2788. patch.
  2789. items:
  2790. type: string
  2791. type: array
  2792. required:
  2793. - key
  2794. - operator
  2795. type: object
  2796. type: array
  2797. type: object
  2798. x-kubernetes-map-type: atomic
  2799. type: array
  2800. required:
  2801. - nodeSelectorTerms
  2802. type: object
  2803. x-kubernetes-map-type: atomic
  2804. type: object
  2805. podAffinity:
  2806. description: Describes pod affinity scheduling rules (e.g.
  2807. co-locate this pod in the same node, zone, etc. as some
  2808. other pod(s)).
  2809. properties:
  2810. preferredDuringSchedulingIgnoredDuringExecution:
  2811. description: The scheduler will prefer to schedule pods
  2812. to nodes that satisfy the affinity expressions specified
  2813. by this field, but it may choose a node that violates
  2814. one or more of the expressions. The node that is most
  2815. preferred is the one with the greatest sum of weights,
  2816. i.e. for each node that meets all of the scheduling
  2817. requirements (resource request, requiredDuringScheduling
  2818. affinity expressions, etc.), compute a sum by iterating
  2819. through the elements of this field and adding "weight"
  2820. to the sum if the node has pods which matches the corresponding
  2821. podAffinityTerm; the node(s) with the highest sum are
  2822. the most preferred.
  2823. items:
  2824. description: The weights of all of the matched WeightedPodAffinityTerm
  2825. fields are added per-node to find the most preferred
  2826. node(s)
  2827. properties:
  2828. podAffinityTerm:
  2829. description: Required. A pod affinity term, associated
  2830. with the corresponding weight.
  2831. properties:
  2832. labelSelector:
  2833. description: A label query over a set of resources,
  2834. in this case pods.
  2835. properties:
  2836. matchExpressions:
  2837. description: matchExpressions is a list
  2838. of label selector requirements. The requirements
  2839. are ANDed.
  2840. items:
  2841. description: A label selector requirement
  2842. is a selector that contains values,
  2843. a key, and an operator that relates
  2844. the key and values.
  2845. properties:
  2846. key:
  2847. description: key is the label key
  2848. that the selector applies to.
  2849. type: string
  2850. operator:
  2851. description: operator represents a
  2852. key's relationship to a set of values.
  2853. Valid operators are In, NotIn, Exists
  2854. and DoesNotExist.
  2855. type: string
  2856. values:
  2857. description: values is an array of
  2858. string values. If the operator is
  2859. In or NotIn, the values array must
  2860. be non-empty. If the operator is
  2861. Exists or DoesNotExist, the values
  2862. array must be empty. This array
  2863. is replaced during a strategic merge
  2864. patch.
  2865. items:
  2866. type: string
  2867. type: array
  2868. required:
  2869. - key
  2870. - operator
  2871. type: object
  2872. type: array
  2873. matchLabels:
  2874. additionalProperties:
  2875. type: string
  2876. description: matchLabels is a map of {key,value}
  2877. pairs. A single {key,value} in the matchLabels
  2878. map is equivalent to an element of matchExpressions,
  2879. whose key field is "key", the operator
  2880. is "In", and the values array contains
  2881. only "value". The requirements are ANDed.
  2882. type: object
  2883. type: object
  2884. x-kubernetes-map-type: atomic
  2885. namespaceSelector:
  2886. description: A label query over the set of namespaces
  2887. that the term applies to. The term is applied
  2888. to the union of the namespaces selected by
  2889. this field and the ones listed in the namespaces
  2890. field. null selector and null or empty namespaces
  2891. list means "this pod's namespace". An empty
  2892. selector ({}) matches all namespaces.
  2893. properties:
  2894. matchExpressions:
  2895. description: matchExpressions is a list
  2896. of label selector requirements. The requirements
  2897. are ANDed.
  2898. items:
  2899. description: A label selector requirement
  2900. is a selector that contains values,
  2901. a key, and an operator that relates
  2902. the key and values.
  2903. properties:
  2904. key:
  2905. description: key is the label key
  2906. that the selector applies to.
  2907. type: string
  2908. operator:
  2909. description: operator represents a
  2910. key's relationship to a set of values.
  2911. Valid operators are In, NotIn, Exists
  2912. and DoesNotExist.
  2913. type: string
  2914. values:
  2915. description: values is an array of
  2916. string values. If the operator is
  2917. In or NotIn, the values array must
  2918. be non-empty. If the operator is
  2919. Exists or DoesNotExist, the values
  2920. array must be empty. This array
  2921. is replaced during a strategic merge
  2922. patch.
  2923. items:
  2924. type: string
  2925. type: array
  2926. required:
  2927. - key
  2928. - operator
  2929. type: object
  2930. type: array
  2931. matchLabels:
  2932. additionalProperties:
  2933. type: string
  2934. description: matchLabels is a map of {key,value}
  2935. pairs. A single {key,value} in the matchLabels
  2936. map is equivalent to an element of matchExpressions,
  2937. whose key field is "key", the operator
  2938. is "In", and the values array contains
  2939. only "value". The requirements are ANDed.
  2940. type: object
  2941. type: object
  2942. x-kubernetes-map-type: atomic
  2943. namespaces:
  2944. description: namespaces specifies a static list
  2945. of namespace names that the term applies to.
  2946. The term is applied to the union of the namespaces
  2947. listed in this field and the ones selected
  2948. by namespaceSelector. null or empty namespaces
  2949. list and null namespaceSelector means "this
  2950. pod's namespace".
  2951. items:
  2952. type: string
  2953. type: array
  2954. topologyKey:
  2955. description: This pod should be co-located (affinity)
  2956. or not co-located (anti-affinity) with the
  2957. pods matching the labelSelector in the specified
  2958. namespaces, where co-located is defined as
  2959. running on a node whose value of the label
  2960. with key topologyKey matches that of any node
  2961. on which any of the selected pods is running.
  2962. Empty topologyKey is not allowed.
  2963. type: string
  2964. required:
  2965. - topologyKey
  2966. type: object
  2967. weight:
  2968. description: weight associated with matching the
  2969. corresponding podAffinityTerm, in the range 1-100.
  2970. format: int32
  2971. type: integer
  2972. required:
  2973. - podAffinityTerm
  2974. - weight
  2975. type: object
  2976. type: array
  2977. requiredDuringSchedulingIgnoredDuringExecution:
  2978. description: If the affinity requirements specified by
  2979. this field are not met at scheduling time, the pod will
  2980. not be scheduled onto the node. If the affinity requirements
  2981. specified by this field cease to be met at some point
  2982. during pod execution (e.g. due to a pod label update),
  2983. the system may or may not try to eventually evict the
  2984. pod from its node. When there are multiple elements,
  2985. the lists of nodes corresponding to each podAffinityTerm
  2986. are intersected, i.e. all terms must be satisfied.
  2987. items:
  2988. description: Defines a set of pods (namely those matching
  2989. the labelSelector relative to the given namespace(s))
  2990. that this pod should be co-located (affinity) or not
  2991. co-located (anti-affinity) with, where co-located
  2992. is defined as running on a node whose value of the
  2993. label with key <topologyKey> matches that of any node
  2994. on which a pod of the set of pods is running
  2995. properties:
  2996. labelSelector:
  2997. description: A label query over a set of resources,
  2998. in this case pods.
  2999. properties:
  3000. matchExpressions:
  3001. description: matchExpressions is a list of label
  3002. selector requirements. The requirements are
  3003. ANDed.
  3004. items:
  3005. description: A label selector requirement
  3006. is a selector that contains values, a key,
  3007. and an operator that relates the key and
  3008. values.
  3009. properties:
  3010. key:
  3011. description: key is the label key that
  3012. the selector applies to.
  3013. type: string
  3014. operator:
  3015. description: operator represents a key's
  3016. relationship to a set of values. Valid
  3017. operators are In, NotIn, Exists and
  3018. DoesNotExist.
  3019. type: string
  3020. values:
  3021. description: values is an array of string
  3022. values. If the operator is In or NotIn,
  3023. the values array must be non-empty.
  3024. If the operator is Exists or DoesNotExist,
  3025. the values array must be empty. This
  3026. array is replaced during a strategic
  3027. merge patch.
  3028. items:
  3029. type: string
  3030. type: array
  3031. required:
  3032. - key
  3033. - operator
  3034. type: object
  3035. type: array
  3036. matchLabels:
  3037. additionalProperties:
  3038. type: string
  3039. description: matchLabels is a map of {key,value}
  3040. pairs. A single {key,value} in the matchLabels
  3041. map is equivalent to an element of matchExpressions,
  3042. whose key field is "key", the operator is
  3043. "In", and the values array contains only "value".
  3044. The requirements are ANDed.
  3045. type: object
  3046. type: object
  3047. x-kubernetes-map-type: atomic
  3048. namespaceSelector:
  3049. description: A label query over the set of namespaces
  3050. that the term applies to. The term is applied
  3051. to the union of the namespaces selected by this
  3052. field and the ones listed in the namespaces field.
  3053. null selector and null or empty namespaces list
  3054. means "this pod's namespace". An empty selector
  3055. ({}) matches all namespaces.
  3056. properties:
  3057. matchExpressions:
  3058. description: matchExpressions is a list of label
  3059. selector requirements. The requirements are
  3060. ANDed.
  3061. items:
  3062. description: A label selector requirement
  3063. is a selector that contains values, a key,
  3064. and an operator that relates the key and
  3065. values.
  3066. properties:
  3067. key:
  3068. description: key is the label key that
  3069. the selector applies to.
  3070. type: string
  3071. operator:
  3072. description: operator represents a key's
  3073. relationship to a set of values. Valid
  3074. operators are In, NotIn, Exists and
  3075. DoesNotExist.
  3076. type: string
  3077. values:
  3078. description: values is an array of string
  3079. values. If the operator is In or NotIn,
  3080. the values array must be non-empty.
  3081. If the operator is Exists or DoesNotExist,
  3082. the values array must be empty. This
  3083. array is replaced during a strategic
  3084. merge patch.
  3085. items:
  3086. type: string
  3087. type: array
  3088. required:
  3089. - key
  3090. - operator
  3091. type: object
  3092. type: array
  3093. matchLabels:
  3094. additionalProperties:
  3095. type: string
  3096. description: matchLabels is a map of {key,value}
  3097. pairs. A single {key,value} in the matchLabels
  3098. map is equivalent to an element of matchExpressions,
  3099. whose key field is "key", the operator is
  3100. "In", and the values array contains only "value".
  3101. The requirements are ANDed.
  3102. type: object
  3103. type: object
  3104. x-kubernetes-map-type: atomic
  3105. namespaces:
  3106. description: namespaces specifies a static list
  3107. of namespace names that the term applies to. The
  3108. term is applied to the union of the namespaces
  3109. listed in this field and the ones selected by
  3110. namespaceSelector. null or empty namespaces list
  3111. and null namespaceSelector means "this pod's namespace".
  3112. items:
  3113. type: string
  3114. type: array
  3115. topologyKey:
  3116. description: This pod should be co-located (affinity)
  3117. or not co-located (anti-affinity) with the pods
  3118. matching the labelSelector in the specified namespaces,
  3119. where co-located is defined as running on a node
  3120. whose value of the label with key topologyKey
  3121. matches that of any node on which any of the selected
  3122. pods is running. Empty topologyKey is not allowed.
  3123. type: string
  3124. required:
  3125. - topologyKey
  3126. type: object
  3127. type: array
  3128. type: object
  3129. podAntiAffinity:
  3130. description: Describes pod anti-affinity scheduling rules
  3131. (e.g. avoid putting this pod in the same node, zone, etc.
  3132. as some other pod(s)).
  3133. properties:
  3134. preferredDuringSchedulingIgnoredDuringExecution:
  3135. description: The scheduler will prefer to schedule pods
  3136. to nodes that satisfy the anti-affinity expressions
  3137. specified by this field, but it may choose a node that
  3138. violates one or more of the expressions. The node that
  3139. is most preferred is the one with the greatest sum of
  3140. weights, i.e. for each node that meets all of the scheduling
  3141. requirements (resource request, requiredDuringScheduling
  3142. anti-affinity expressions, etc.), compute a sum by iterating
  3143. through the elements of this field and adding "weight"
  3144. to the sum if the node has pods which matches the corresponding
  3145. podAffinityTerm; the node(s) with the highest sum are
  3146. the most preferred.
  3147. items:
  3148. description: The weights of all of the matched WeightedPodAffinityTerm
  3149. fields are added per-node to find the most preferred
  3150. node(s)
  3151. properties:
  3152. podAffinityTerm:
  3153. description: Required. A pod affinity term, associated
  3154. with the corresponding weight.
  3155. properties:
  3156. labelSelector:
  3157. description: A label query over a set of resources,
  3158. in this case pods.
  3159. properties:
  3160. matchExpressions:
  3161. description: matchExpressions is a list
  3162. of label selector requirements. The requirements
  3163. are ANDed.
  3164. items:
  3165. description: A label selector requirement
  3166. is a selector that contains values,
  3167. a key, and an operator that relates
  3168. the key and values.
  3169. properties:
  3170. key:
  3171. description: key is the label key
  3172. that the selector applies to.
  3173. type: string
  3174. operator:
  3175. description: operator represents a
  3176. key's relationship to a set of values.
  3177. Valid operators are In, NotIn, Exists
  3178. and DoesNotExist.
  3179. type: string
  3180. values:
  3181. description: values is an array of
  3182. string values. If the operator is
  3183. In or NotIn, the values array must
  3184. be non-empty. If the operator is
  3185. Exists or DoesNotExist, the values
  3186. array must be empty. This array
  3187. is replaced during a strategic merge
  3188. patch.
  3189. items:
  3190. type: string
  3191. type: array
  3192. required:
  3193. - key
  3194. - operator
  3195. type: object
  3196. type: array
  3197. matchLabels:
  3198. additionalProperties:
  3199. type: string
  3200. description: matchLabels is a map of {key,value}
  3201. pairs. A single {key,value} in the matchLabels
  3202. map is equivalent to an element of matchExpressions,
  3203. whose key field is "key", the operator
  3204. is "In", and the values array contains
  3205. only "value". The requirements are ANDed.
  3206. type: object
  3207. type: object
  3208. x-kubernetes-map-type: atomic
  3209. namespaceSelector:
  3210. description: A label query over the set of namespaces
  3211. that the term applies to. The term is applied
  3212. to the union of the namespaces selected by
  3213. this field and the ones listed in the namespaces
  3214. field. null selector and null or empty namespaces
  3215. list means "this pod's namespace". An empty
  3216. selector ({}) matches all namespaces.
  3217. properties:
  3218. matchExpressions:
  3219. description: matchExpressions is a list
  3220. of label selector requirements. The requirements
  3221. are ANDed.
  3222. items:
  3223. description: A label selector requirement
  3224. is a selector that contains values,
  3225. a key, and an operator that relates
  3226. the key and values.
  3227. properties:
  3228. key:
  3229. description: key is the label key
  3230. that the selector applies to.
  3231. type: string
  3232. operator:
  3233. description: operator represents a
  3234. key's relationship to a set of values.
  3235. Valid operators are In, NotIn, Exists
  3236. and DoesNotExist.
  3237. type: string
  3238. values:
  3239. description: values is an array of
  3240. string values. If the operator is
  3241. In or NotIn, the values array must
  3242. be non-empty. If the operator is
  3243. Exists or DoesNotExist, the values
  3244. array must be empty. This array
  3245. is replaced during a strategic merge
  3246. patch.
  3247. items:
  3248. type: string
  3249. type: array
  3250. required:
  3251. - key
  3252. - operator
  3253. type: object
  3254. type: array
  3255. matchLabels:
  3256. additionalProperties:
  3257. type: string
  3258. description: matchLabels is a map of {key,value}
  3259. pairs. A single {key,value} in the matchLabels
  3260. map is equivalent to an element of matchExpressions,
  3261. whose key field is "key", the operator
  3262. is "In", and the values array contains
  3263. only "value". The requirements are ANDed.
  3264. type: object
  3265. type: object
  3266. x-kubernetes-map-type: atomic
  3267. namespaces:
  3268. description: namespaces specifies a static list
  3269. of namespace names that the term applies to.
  3270. The term is applied to the union of the namespaces
  3271. listed in this field and the ones selected
  3272. by namespaceSelector. null or empty namespaces
  3273. list and null namespaceSelector means "this
  3274. pod's namespace".
  3275. items:
  3276. type: string
  3277. type: array
  3278. topologyKey:
  3279. description: This pod should be co-located (affinity)
  3280. or not co-located (anti-affinity) with the
  3281. pods matching the labelSelector in the specified
  3282. namespaces, where co-located is defined as
  3283. running on a node whose value of the label
  3284. with key topologyKey matches that of any node
  3285. on which any of the selected pods is running.
  3286. Empty topologyKey is not allowed.
  3287. type: string
  3288. required:
  3289. - topologyKey
  3290. type: object
  3291. weight:
  3292. description: weight associated with matching the
  3293. corresponding podAffinityTerm, in the range 1-100.
  3294. format: int32
  3295. type: integer
  3296. required:
  3297. - podAffinityTerm
  3298. - weight
  3299. type: object
  3300. type: array
  3301. requiredDuringSchedulingIgnoredDuringExecution:
  3302. description: If the anti-affinity requirements specified
  3303. by this field are not met at scheduling time, the pod
  3304. will not be scheduled onto the node. If the anti-affinity
  3305. requirements specified by this field cease to be met
  3306. at some point during pod execution (e.g. due to a pod
  3307. label update), the system may or may not try to eventually
  3308. evict the pod from its node. When there are multiple
  3309. elements, the lists of nodes corresponding to each podAffinityTerm
  3310. are intersected, i.e. all terms must be satisfied.
  3311. items:
  3312. description: Defines a set of pods (namely those matching
  3313. the labelSelector relative to the given namespace(s))
  3314. that this pod should be co-located (affinity) or not
  3315. co-located (anti-affinity) with, where co-located
  3316. is defined as running on a node whose value of the
  3317. label with key <topologyKey> matches that of any node
  3318. on which a pod of the set of pods is running
  3319. properties:
  3320. labelSelector:
  3321. description: A label query over a set of resources,
  3322. in this case pods.
  3323. properties:
  3324. matchExpressions:
  3325. description: matchExpressions is a list of label
  3326. selector requirements. The requirements are
  3327. ANDed.
  3328. items:
  3329. description: A label selector requirement
  3330. is a selector that contains values, a key,
  3331. and an operator that relates the key and
  3332. values.
  3333. properties:
  3334. key:
  3335. description: key is the label key that
  3336. the selector applies to.
  3337. type: string
  3338. operator:
  3339. description: operator represents a key's
  3340. relationship to a set of values. Valid
  3341. operators are In, NotIn, Exists and
  3342. DoesNotExist.
  3343. type: string
  3344. values:
  3345. description: values is an array of string
  3346. values. If the operator is In or NotIn,
  3347. the values array must be non-empty.
  3348. If the operator is Exists or DoesNotExist,
  3349. the values array must be empty. This
  3350. array is replaced during a strategic
  3351. merge patch.
  3352. items:
  3353. type: string
  3354. type: array
  3355. required:
  3356. - key
  3357. - operator
  3358. type: object
  3359. type: array
  3360. matchLabels:
  3361. additionalProperties:
  3362. type: string
  3363. description: matchLabels is a map of {key,value}
  3364. pairs. A single {key,value} in the matchLabels
  3365. map is equivalent to an element of matchExpressions,
  3366. whose key field is "key", the operator is
  3367. "In", and the values array contains only "value".
  3368. The requirements are ANDed.
  3369. type: object
  3370. type: object
  3371. x-kubernetes-map-type: atomic
  3372. namespaceSelector:
  3373. description: A label query over the set of namespaces
  3374. that the term applies to. The term is applied
  3375. to the union of the namespaces selected by this
  3376. field and the ones listed in the namespaces field.
  3377. null selector and null or empty namespaces list
  3378. means "this pod's namespace". An empty selector
  3379. ({}) matches all namespaces.
  3380. properties:
  3381. matchExpressions:
  3382. description: matchExpressions is a list of label
  3383. selector requirements. The requirements are
  3384. ANDed.
  3385. items:
  3386. description: A label selector requirement
  3387. is a selector that contains values, a key,
  3388. and an operator that relates the key and
  3389. values.
  3390. properties:
  3391. key:
  3392. description: key is the label key that
  3393. the selector applies to.
  3394. type: string
  3395. operator:
  3396. description: operator represents a key's
  3397. relationship to a set of values. Valid
  3398. operators are In, NotIn, Exists and
  3399. DoesNotExist.
  3400. type: string
  3401. values:
  3402. description: values is an array of string
  3403. values. If the operator is In or NotIn,
  3404. the values array must be non-empty.
  3405. If the operator is Exists or DoesNotExist,
  3406. the values array must be empty. This
  3407. array is replaced during a strategic
  3408. merge patch.
  3409. items:
  3410. type: string
  3411. type: array
  3412. required:
  3413. - key
  3414. - operator
  3415. type: object
  3416. type: array
  3417. matchLabels:
  3418. additionalProperties:
  3419. type: string
  3420. description: matchLabels is a map of {key,value}
  3421. pairs. A single {key,value} in the matchLabels
  3422. map is equivalent to an element of matchExpressions,
  3423. whose key field is "key", the operator is
  3424. "In", and the values array contains only "value".
  3425. The requirements are ANDed.
  3426. type: object
  3427. type: object
  3428. x-kubernetes-map-type: atomic
  3429. namespaces:
  3430. description: namespaces specifies a static list
  3431. of namespace names that the term applies to. The
  3432. term is applied to the union of the namespaces
  3433. listed in this field and the ones selected by
  3434. namespaceSelector. null or empty namespaces list
  3435. and null namespaceSelector means "this pod's namespace".
  3436. items:
  3437. type: string
  3438. type: array
  3439. topologyKey:
  3440. description: This pod should be co-located (affinity)
  3441. or not co-located (anti-affinity) with the pods
  3442. matching the labelSelector in the specified namespaces,
  3443. where co-located is defined as running on a node
  3444. whose value of the label with key topologyKey
  3445. matches that of any node on which any of the selected
  3446. pods is running. Empty topologyKey is not allowed.
  3447. type: string
  3448. required:
  3449. - topologyKey
  3450. type: object
  3451. type: array
  3452. type: object
  3453. type: object
  3454. nodeSelector:
  3455. additionalProperties:
  3456. type: string
  3457. description: 'nodeSelector is the node selector applied to the
  3458. relevant kind of pods It specifies a map of key-value pairs:
  3459. for the pod to be eligible to run on a node, the node must have
  3460. each of the indicated key-value pairs as labels (it can have
  3461. additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
  3462. type: object
  3463. tolerations:
  3464. description: tolerations is a list of tolerations applied to the
  3465. relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  3466. for more info. These are additional tolerations other than default
  3467. ones.
  3468. items:
  3469. description: The pod this Toleration is attached to tolerates
  3470. any taint that matches the triple <key,value,effect> using
  3471. the matching operator <operator>.
  3472. properties:
  3473. effect:
  3474. description: Effect indicates the taint effect to match.
  3475. Empty means match all taint effects. When specified, allowed
  3476. values are NoSchedule, PreferNoSchedule and NoExecute.
  3477. type: string
  3478. key:
  3479. description: Key is the taint key that the toleration applies
  3480. to. Empty means match all taint keys. If the key is empty,
  3481. operator must be Exists; this combination means to match
  3482. all values and all keys.
  3483. type: string
  3484. operator:
  3485. description: Operator represents a key's relationship to
  3486. the value. Valid operators are Exists and Equal. Defaults
  3487. to Equal. Exists is equivalent to wildcard for value,
  3488. so that a pod can tolerate all taints of a particular
  3489. category.
  3490. type: string
  3491. tolerationSeconds:
  3492. description: TolerationSeconds represents the period of
  3493. time the toleration (which must be of effect NoExecute,
  3494. otherwise this field is ignored) tolerates the taint.
  3495. By default, it is not set, which means tolerate the taint
  3496. forever (do not evict). Zero and negative values will
  3497. be treated as 0 (evict immediately) by the system.
  3498. format: int64
  3499. type: integer
  3500. value:
  3501. description: Value is the taint value the toleration matches
  3502. to. If the operator is Exists, the value should be empty,
  3503. otherwise just a regular string.
  3504. type: string
  3505. type: object
  3506. type: array
  3507. type: object
  3508. priorityClass:
  3509. description: PriorityClass of the CDI control plane
  3510. type: string
  3511. uninstallStrategy:
  3512. description: CDIUninstallStrategy defines the state to leave CDI on
  3513. uninstall
  3514. enum:
  3515. - RemoveWorkloads
  3516. - BlockUninstallIfWorkloadsExist
  3517. type: string
  3518. workload:
  3519. description: Restrict on which nodes CDI workload pods will be scheduled
  3520. properties:
  3521. affinity:
  3522. description: affinity enables pod affinity/anti-affinity placement
  3523. expanding the types of constraints that can be expressed with
  3524. nodeSelector. affinity is going to be applied to the relevant
  3525. kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  3526. properties:
  3527. nodeAffinity:
  3528. description: Describes node affinity scheduling rules for
  3529. the pod.
  3530. properties:
  3531. preferredDuringSchedulingIgnoredDuringExecution:
  3532. description: The scheduler will prefer to schedule pods
  3533. to nodes that satisfy the affinity expressions specified
  3534. by this field, but it may choose a node that violates
  3535. one or more of the expressions. The node that is most
  3536. preferred is the one with the greatest sum of weights,
  3537. i.e. for each node that meets all of the scheduling
  3538. requirements (resource request, requiredDuringScheduling
  3539. affinity expressions, etc.), compute a sum by iterating
  3540. through the elements of this field and adding "weight"
  3541. to the sum if the node matches the corresponding matchExpressions;
  3542. the node(s) with the highest sum are the most preferred.
  3543. items:
  3544. description: An empty preferred scheduling term matches
  3545. all objects with implicit weight 0 (i.e. it's a no-op).
  3546. A null preferred scheduling term matches no objects
  3547. (i.e. is also a no-op).
  3548. properties:
  3549. preference:
  3550. description: A node selector term, associated with
  3551. the corresponding weight.
  3552. properties:
  3553. matchExpressions:
  3554. description: A list of node selector requirements
  3555. by node's labels.
  3556. items:
  3557. description: A node selector requirement is
  3558. a selector that contains values, a key,
  3559. and an operator that relates the key and
  3560. values.
  3561. properties:
  3562. key:
  3563. description: The label key that the selector
  3564. applies to.
  3565. type: string
  3566. operator:
  3567. description: Represents a key's relationship
  3568. to a set of values. Valid operators
  3569. are In, NotIn, Exists, DoesNotExist.
  3570. Gt, and Lt.
  3571. type: string
  3572. values:
  3573. description: An array of string values.
  3574. If the operator is In or NotIn, the
  3575. values array must be non-empty. If the
  3576. operator is Exists or DoesNotExist,
  3577. the values array must be empty. If the
  3578. operator is Gt or Lt, the values array
  3579. must have a single element, which will
  3580. be interpreted as an integer. This array
  3581. is replaced during a strategic merge
  3582. patch.
  3583. items:
  3584. type: string
  3585. type: array
  3586. required:
  3587. - key
  3588. - operator
  3589. type: object
  3590. type: array
  3591. matchFields:
  3592. description: A list of node selector requirements
  3593. by node's fields.
  3594. items:
  3595. description: A node selector requirement is
  3596. a selector that contains values, a key,
  3597. and an operator that relates the key and
  3598. values.
  3599. properties:
  3600. key:
  3601. description: The label key that the selector
  3602. applies to.
  3603. type: string
  3604. operator:
  3605. description: Represents a key's relationship
  3606. to a set of values. Valid operators
  3607. are In, NotIn, Exists, DoesNotExist.
  3608. Gt, and Lt.
  3609. type: string
  3610. values:
  3611. description: An array of string values.
  3612. If the operator is In or NotIn, the
  3613. values array must be non-empty. If the
  3614. operator is Exists or DoesNotExist,
  3615. the values array must be empty. If the
  3616. operator is Gt or Lt, the values array
  3617. must have a single element, which will
  3618. be interpreted as an integer. This array
  3619. is replaced during a strategic merge
  3620. patch.
  3621. items:
  3622. type: string
  3623. type: array
  3624. required:
  3625. - key
  3626. - operator
  3627. type: object
  3628. type: array
  3629. type: object
  3630. x-kubernetes-map-type: atomic
  3631. weight:
  3632. description: Weight associated with matching the
  3633. corresponding nodeSelectorTerm, in the range 1-100.
  3634. format: int32
  3635. type: integer
  3636. required:
  3637. - preference
  3638. - weight
  3639. type: object
  3640. type: array
  3641. requiredDuringSchedulingIgnoredDuringExecution:
  3642. description: If the affinity requirements specified by
  3643. this field are not met at scheduling time, the pod will
  3644. not be scheduled onto the node. If the affinity requirements
  3645. specified by this field cease to be met at some point
  3646. during pod execution (e.g. due to an update), the system
  3647. may or may not try to eventually evict the pod from
  3648. its node.
  3649. properties:
  3650. nodeSelectorTerms:
  3651. description: Required. A list of node selector terms.
  3652. The terms are ORed.
  3653. items:
  3654. description: A null or empty node selector term
  3655. matches no objects. The requirements of them are
  3656. ANDed. The TopologySelectorTerm type implements
  3657. a subset of the NodeSelectorTerm.
  3658. properties:
  3659. matchExpressions:
  3660. description: A list of node selector requirements
  3661. by node's labels.
  3662. items:
  3663. description: A node selector requirement is
  3664. a selector that contains values, a key,
  3665. and an operator that relates the key and
  3666. values.
  3667. properties:
  3668. key:
  3669. description: The label key that the selector
  3670. applies to.
  3671. type: string
  3672. operator:
  3673. description: Represents a key's relationship
  3674. to a set of values. Valid operators
  3675. are In, NotIn, Exists, DoesNotExist.
  3676. Gt, and Lt.
  3677. type: string
  3678. values:
  3679. description: An array of string values.
  3680. If the operator is In or NotIn, the
  3681. values array must be non-empty. If the
  3682. operator is Exists or DoesNotExist,
  3683. the values array must be empty. If the
  3684. operator is Gt or Lt, the values array
  3685. must have a single element, which will
  3686. be interpreted as an integer. This array
  3687. is replaced during a strategic merge
  3688. patch.
  3689. items:
  3690. type: string
  3691. type: array
  3692. required:
  3693. - key
  3694. - operator
  3695. type: object
  3696. type: array
  3697. matchFields:
  3698. description: A list of node selector requirements
  3699. by node's fields.
  3700. items:
  3701. description: A node selector requirement is
  3702. a selector that contains values, a key,
  3703. and an operator that relates the key and
  3704. values.
  3705. properties:
  3706. key:
  3707. description: The label key that the selector
  3708. applies to.
  3709. type: string
  3710. operator:
  3711. description: Represents a key's relationship
  3712. to a set of values. Valid operators
  3713. are In, NotIn, Exists, DoesNotExist.
  3714. Gt, and Lt.
  3715. type: string
  3716. values:
  3717. description: An array of string values.
  3718. If the operator is In or NotIn, the
  3719. values array must be non-empty. If the
  3720. operator is Exists or DoesNotExist,
  3721. the values array must be empty. If the
  3722. operator is Gt or Lt, the values array
  3723. must have a single element, which will
  3724. be interpreted as an integer. This array
  3725. is replaced during a strategic merge
  3726. patch.
  3727. items:
  3728. type: string
  3729. type: array
  3730. required:
  3731. - key
  3732. - operator
  3733. type: object
  3734. type: array
  3735. type: object
  3736. x-kubernetes-map-type: atomic
  3737. type: array
  3738. required:
  3739. - nodeSelectorTerms
  3740. type: object
  3741. x-kubernetes-map-type: atomic
  3742. type: object
  3743. podAffinity:
  3744. description: Describes pod affinity scheduling rules (e.g.
  3745. co-locate this pod in the same node, zone, etc. as some
  3746. other pod(s)).
  3747. properties:
  3748. preferredDuringSchedulingIgnoredDuringExecution:
  3749. description: The scheduler will prefer to schedule pods
  3750. to nodes that satisfy the affinity expressions specified
  3751. by this field, but it may choose a node that violates
  3752. one or more of the expressions. The node that is most
  3753. preferred is the one with the greatest sum of weights,
  3754. i.e. for each node that meets all of the scheduling
  3755. requirements (resource request, requiredDuringScheduling
  3756. affinity expressions, etc.), compute a sum by iterating
  3757. through the elements of this field and adding "weight"
  3758. to the sum if the node has pods which matches the corresponding
  3759. podAffinityTerm; the node(s) with the highest sum are
  3760. the most preferred.
  3761. items:
  3762. description: The weights of all of the matched WeightedPodAffinityTerm
  3763. fields are added per-node to find the most preferred
  3764. node(s)
  3765. properties:
  3766. podAffinityTerm:
  3767. description: Required. A pod affinity term, associated
  3768. with the corresponding weight.
  3769. properties:
  3770. labelSelector:
  3771. description: A label query over a set of resources,
  3772. in this case pods.
  3773. properties:
  3774. matchExpressions:
  3775. description: matchExpressions is a list
  3776. of label selector requirements. The requirements
  3777. are ANDed.
  3778. items:
  3779. description: A label selector requirement
  3780. is a selector that contains values,
  3781. a key, and an operator that relates
  3782. the key and values.
  3783. properties:
  3784. key:
  3785. description: key is the label key
  3786. that the selector applies to.
  3787. type: string
  3788. operator:
  3789. description: operator represents a
  3790. key's relationship to a set of values.
  3791. Valid operators are In, NotIn, Exists
  3792. and DoesNotExist.
  3793. type: string
  3794. values:
  3795. description: values is an array of
  3796. string values. If the operator is
  3797. In or NotIn, the values array must
  3798. be non-empty. If the operator is
  3799. Exists or DoesNotExist, the values
  3800. array must be empty. This array
  3801. is replaced during a strategic merge
  3802. patch.
  3803. items:
  3804. type: string
  3805. type: array
  3806. required:
  3807. - key
  3808. - operator
  3809. type: object
  3810. type: array
  3811. matchLabels:
  3812. additionalProperties:
  3813. type: string
  3814. description: matchLabels is a map of {key,value}
  3815. pairs. A single {key,value} in the matchLabels
  3816. map is equivalent to an element of matchExpressions,
  3817. whose key field is "key", the operator
  3818. is "In", and the values array contains
  3819. only "value". The requirements are ANDed.
  3820. type: object
  3821. type: object
  3822. x-kubernetes-map-type: atomic
  3823. namespaceSelector:
  3824. description: A label query over the set of namespaces
  3825. that the term applies to. The term is applied
  3826. to the union of the namespaces selected by
  3827. this field and the ones listed in the namespaces
  3828. field. null selector and null or empty namespaces
  3829. list means "this pod's namespace". An empty
  3830. selector ({}) matches all namespaces.
  3831. properties:
  3832. matchExpressions:
  3833. description: matchExpressions is a list
  3834. of label selector requirements. The requirements
  3835. are ANDed.
  3836. items:
  3837. description: A label selector requirement
  3838. is a selector that contains values,
  3839. a key, and an operator that relates
  3840. the key and values.
  3841. properties:
  3842. key:
  3843. description: key is the label key
  3844. that the selector applies to.
  3845. type: string
  3846. operator:
  3847. description: operator represents a
  3848. key's relationship to a set of values.
  3849. Valid operators are In, NotIn, Exists
  3850. and DoesNotExist.
  3851. type: string
  3852. values:
  3853. description: values is an array of
  3854. string values. If the operator is
  3855. In or NotIn, the values array must
  3856. be non-empty. If the operator is
  3857. Exists or DoesNotExist, the values
  3858. array must be empty. This array
  3859. is replaced during a strategic merge
  3860. patch.
  3861. items:
  3862. type: string
  3863. type: array
  3864. required:
  3865. - key
  3866. - operator
  3867. type: object
  3868. type: array
  3869. matchLabels:
  3870. additionalProperties:
  3871. type: string
  3872. description: matchLabels is a map of {key,value}
  3873. pairs. A single {key,value} in the matchLabels
  3874. map is equivalent to an element of matchExpressions,
  3875. whose key field is "key", the operator
  3876. is "In", and the values array contains
  3877. only "value". The requirements are ANDed.
  3878. type: object
  3879. type: object
  3880. x-kubernetes-map-type: atomic
  3881. namespaces:
  3882. description: namespaces specifies a static list
  3883. of namespace names that the term applies to.
  3884. The term is applied to the union of the namespaces
  3885. listed in this field and the ones selected
  3886. by namespaceSelector. null or empty namespaces
  3887. list and null namespaceSelector means "this
  3888. pod's namespace".
  3889. items:
  3890. type: string
  3891. type: array
  3892. topologyKey:
  3893. description: This pod should be co-located (affinity)
  3894. or not co-located (anti-affinity) with the
  3895. pods matching the labelSelector in the specified
  3896. namespaces, where co-located is defined as
  3897. running on a node whose value of the label
  3898. with key topologyKey matches that of any node
  3899. on which any of the selected pods is running.
  3900. Empty topologyKey is not allowed.
  3901. type: string
  3902. required:
  3903. - topologyKey
  3904. type: object
  3905. weight:
  3906. description: weight associated with matching the
  3907. corresponding podAffinityTerm, in the range 1-100.
  3908. format: int32
  3909. type: integer
  3910. required:
  3911. - podAffinityTerm
  3912. - weight
  3913. type: object
  3914. type: array
  3915. requiredDuringSchedulingIgnoredDuringExecution:
  3916. description: If the affinity requirements specified by
  3917. this field are not met at scheduling time, the pod will
  3918. not be scheduled onto the node. If the affinity requirements
  3919. specified by this field cease to be met at some point
  3920. during pod execution (e.g. due to a pod label update),
  3921. the system may or may not try to eventually evict the
  3922. pod from its node. When there are multiple elements,
  3923. the lists of nodes corresponding to each podAffinityTerm
  3924. are intersected, i.e. all terms must be satisfied.
  3925. items:
  3926. description: Defines a set of pods (namely those matching
  3927. the labelSelector relative to the given namespace(s))
  3928. that this pod should be co-located (affinity) or not
  3929. co-located (anti-affinity) with, where co-located
  3930. is defined as running on a node whose value of the
  3931. label with key <topologyKey> matches that of any node
  3932. on which a pod of the set of pods is running
  3933. properties:
  3934. labelSelector:
  3935. description: A label query over a set of resources,
  3936. in this case pods.
  3937. properties:
  3938. matchExpressions:
  3939. description: matchExpressions is a list of label
  3940. selector requirements. The requirements are
  3941. ANDed.
  3942. items:
  3943. description: A label selector requirement
  3944. is a selector that contains values, a key,
  3945. and an operator that relates the key and
  3946. values.
  3947. properties:
  3948. key:
  3949. description: key is the label key that
  3950. the selector applies to.
  3951. type: string
  3952. operator:
  3953. description: operator represents a key's
  3954. relationship to a set of values. Valid
  3955. operators are In, NotIn, Exists and
  3956. DoesNotExist.
  3957. type: string
  3958. values:
  3959. description: values is an array of string
  3960. values. If the operator is In or NotIn,
  3961. the values array must be non-empty.
  3962. If the operator is Exists or DoesNotExist,
  3963. the values array must be empty. This
  3964. array is replaced during a strategic
  3965. merge patch.
  3966. items:
  3967. type: string
  3968. type: array
  3969. required:
  3970. - key
  3971. - operator
  3972. type: object
  3973. type: array
  3974. matchLabels:
  3975. additionalProperties:
  3976. type: string
  3977. description: matchLabels is a map of {key,value}
  3978. pairs. A single {key,value} in the matchLabels
  3979. map is equivalent to an element of matchExpressions,
  3980. whose key field is "key", the operator is
  3981. "In", and the values array contains only "value".
  3982. The requirements are ANDed.
  3983. type: object
  3984. type: object
  3985. x-kubernetes-map-type: atomic
  3986. namespaceSelector:
  3987. description: A label query over the set of namespaces
  3988. that the term applies to. The term is applied
  3989. to the union of the namespaces selected by this
  3990. field and the ones listed in the namespaces field.
  3991. null selector and null or empty namespaces list
  3992. means "this pod's namespace". An empty selector
  3993. ({}) matches all namespaces.
  3994. properties:
  3995. matchExpressions:
  3996. description: matchExpressions is a list of label
  3997. selector requirements. The requirements are
  3998. ANDed.
  3999. items:
  4000. description: A label selector requirement
  4001. is a selector that contains values, a key,
  4002. and an operator that relates the key and
  4003. values.
  4004. properties:
  4005. key:
  4006. description: key is the label key that
  4007. the selector applies to.
  4008. type: string
  4009. operator:
  4010. description: operator represents a key's
  4011. relationship to a set of values. Valid
  4012. operators are In, NotIn, Exists and
  4013. DoesNotExist.
  4014. type: string
  4015. values:
  4016. description: values is an array of string
  4017. values. If the operator is In or NotIn,
  4018. the values array must be non-empty.
  4019. If the operator is Exists or DoesNotExist,
  4020. the values array must be empty. This
  4021. array is replaced during a strategic
  4022. merge patch.
  4023. items:
  4024. type: string
  4025. type: array
  4026. required:
  4027. - key
  4028. - operator
  4029. type: object
  4030. type: array
  4031. matchLabels:
  4032. additionalProperties:
  4033. type: string
  4034. description: matchLabels is a map of {key,value}
  4035. pairs. A single {key,value} in the matchLabels
  4036. map is equivalent to an element of matchExpressions,
  4037. whose key field is "key", the operator is
  4038. "In", and the values array contains only "value".
  4039. The requirements are ANDed.
  4040. type: object
  4041. type: object
  4042. x-kubernetes-map-type: atomic
  4043. namespaces:
  4044. description: namespaces specifies a static list
  4045. of namespace names that the term applies to. The
  4046. term is applied to the union of the namespaces
  4047. listed in this field and the ones selected by
  4048. namespaceSelector. null or empty namespaces list
  4049. and null namespaceSelector means "this pod's namespace".
  4050. items:
  4051. type: string
  4052. type: array
  4053. topologyKey:
  4054. description: This pod should be co-located (affinity)
  4055. or not co-located (anti-affinity) with the pods
  4056. matching the labelSelector in the specified namespaces,
  4057. where co-located is defined as running on a node
  4058. whose value of the label with key topologyKey
  4059. matches that of any node on which any of the selected
  4060. pods is running. Empty topologyKey is not allowed.
  4061. type: string
  4062. required:
  4063. - topologyKey
  4064. type: object
  4065. type: array
  4066. type: object
  4067. podAntiAffinity:
  4068. description: Describes pod anti-affinity scheduling rules
  4069. (e.g. avoid putting this pod in the same node, zone, etc.
  4070. as some other pod(s)).
  4071. properties:
  4072. preferredDuringSchedulingIgnoredDuringExecution:
  4073. description: The scheduler will prefer to schedule pods
  4074. to nodes that satisfy the anti-affinity expressions
  4075. specified by this field, but it may choose a node that
  4076. violates one or more of the expressions. The node that
  4077. is most preferred is the one with the greatest sum of
  4078. weights, i.e. for each node that meets all of the scheduling
  4079. requirements (resource request, requiredDuringScheduling
  4080. anti-affinity expressions, etc.), compute a sum by iterating
  4081. through the elements of this field and adding "weight"
  4082. to the sum if the node has pods which matches the corresponding
  4083. podAffinityTerm; the node(s) with the highest sum are
  4084. the most preferred.
  4085. items:
  4086. description: The weights of all of the matched WeightedPodAffinityTerm
  4087. fields are added per-node to find the most preferred
  4088. node(s)
  4089. properties:
  4090. podAffinityTerm:
  4091. description: Required. A pod affinity term, associated
  4092. with the corresponding weight.
  4093. properties:
  4094. labelSelector:
  4095. description: A label query over a set of resources,
  4096. in this case pods.
  4097. properties:
  4098. matchExpressions:
  4099. description: matchExpressions is a list
  4100. of label selector requirements. The requirements
  4101. are ANDed.
  4102. items:
  4103. description: A label selector requirement
  4104. is a selector that contains values,
  4105. a key, and an operator that relates
  4106. the key and values.
  4107. properties:
  4108. key:
  4109. description: key is the label key
  4110. that the selector applies to.
  4111. type: string
  4112. operator:
  4113. description: operator represents a
  4114. key's relationship to a set of values.
  4115. Valid operators are In, NotIn, Exists
  4116. and DoesNotExist.
  4117. type: string
  4118. values:
  4119. description: values is an array of
  4120. string values. If the operator is
  4121. In or NotIn, the values array must
  4122. be non-empty. If the operator is
  4123. Exists or DoesNotExist, the values
  4124. array must be empty. This array
  4125. is replaced during a strategic merge
  4126. patch.
  4127. items:
  4128. type: string
  4129. type: array
  4130. required:
  4131. - key
  4132. - operator
  4133. type: object
  4134. type: array
  4135. matchLabels:
  4136. additionalProperties:
  4137. type: string
  4138. description: matchLabels is a map of {key,value}
  4139. pairs. A single {key,value} in the matchLabels
  4140. map is equivalent to an element of matchExpressions,
  4141. whose key field is "key", the operator
  4142. is "In", and the values array contains
  4143. only "value". The requirements are ANDed.
  4144. type: object
  4145. type: object
  4146. x-kubernetes-map-type: atomic
  4147. namespaceSelector:
  4148. description: A label query over the set of namespaces
  4149. that the term applies to. The term is applied
  4150. to the union of the namespaces selected by
  4151. this field and the ones listed in the namespaces
  4152. field. null selector and null or empty namespaces
  4153. list means "this pod's namespace". An empty
  4154. selector ({}) matches all namespaces.
  4155. properties:
  4156. matchExpressions:
  4157. description: matchExpressions is a list
  4158. of label selector requirements. The requirements
  4159. are ANDed.
  4160. items:
  4161. description: A label selector requirement
  4162. is a selector that contains values,
  4163. a key, and an operator that relates
  4164. the key and values.
  4165. properties:
  4166. key:
  4167. description: key is the label key
  4168. that the selector applies to.
  4169. type: string
  4170. operator:
  4171. description: operator represents a
  4172. key's relationship to a set of values.
  4173. Valid operators are In, NotIn, Exists
  4174. and DoesNotExist.
  4175. type: string
  4176. values:
  4177. description: values is an array of
  4178. string values. If the operator is
  4179. In or NotIn, the values array must
  4180. be non-empty. If the operator is
  4181. Exists or DoesNotExist, the values
  4182. array must be empty. This array
  4183. is replaced during a strategic merge
  4184. patch.
  4185. items:
  4186. type: string
  4187. type: array
  4188. required:
  4189. - key
  4190. - operator
  4191. type: object
  4192. type: array
  4193. matchLabels:
  4194. additionalProperties:
  4195. type: string
  4196. description: matchLabels is a map of {key,value}
  4197. pairs. A single {key,value} in the matchLabels
  4198. map is equivalent to an element of matchExpressions,
  4199. whose key field is "key", the operator
  4200. is "In", and the values array contains
  4201. only "value". The requirements are ANDed.
  4202. type: object
  4203. type: object
  4204. x-kubernetes-map-type: atomic
  4205. namespaces:
  4206. description: namespaces specifies a static list
  4207. of namespace names that the term applies to.
  4208. The term is applied to the union of the namespaces
  4209. listed in this field and the ones selected
  4210. by namespaceSelector. null or empty namespaces
  4211. list and null namespaceSelector means "this
  4212. pod's namespace".
  4213. items:
  4214. type: string
  4215. type: array
  4216. topologyKey:
  4217. description: This pod should be co-located (affinity)
  4218. or not co-located (anti-affinity) with the
  4219. pods matching the labelSelector in the specified
  4220. namespaces, where co-located is defined as
  4221. running on a node whose value of the label
  4222. with key topologyKey matches that of any node
  4223. on which any of the selected pods is running.
  4224. Empty topologyKey is not allowed.
  4225. type: string
  4226. required:
  4227. - topologyKey
  4228. type: object
  4229. weight:
  4230. description: weight associated with matching the
  4231. corresponding podAffinityTerm, in the range 1-100.
  4232. format: int32
  4233. type: integer
  4234. required:
  4235. - podAffinityTerm
  4236. - weight
  4237. type: object
  4238. type: array
  4239. requiredDuringSchedulingIgnoredDuringExecution:
  4240. description: If the anti-affinity requirements specified
  4241. by this field are not met at scheduling time, the pod
  4242. will not be scheduled onto the node. If the anti-affinity
  4243. requirements specified by this field cease to be met
  4244. at some point during pod execution (e.g. due to a pod
  4245. label update), the system may or may not try to eventually
  4246. evict the pod from its node. When there are multiple
  4247. elements, the lists of nodes corresponding to each podAffinityTerm
  4248. are intersected, i.e. all terms must be satisfied.
  4249. items:
  4250. description: Defines a set of pods (namely those matching
  4251. the labelSelector relative to the given namespace(s))
  4252. that this pod should be co-located (affinity) or not
  4253. co-located (anti-affinity) with, where co-located
  4254. is defined as running on a node whose value of the
  4255. label with key <topologyKey> matches that of any node
  4256. on which a pod of the set of pods is running
  4257. properties:
  4258. labelSelector:
  4259. description: A label query over a set of resources,
  4260. in this case pods.
  4261. properties:
  4262. matchExpressions:
  4263. description: matchExpressions is a list of label
  4264. selector requirements. The requirements are
  4265. ANDed.
  4266. items:
  4267. description: A label selector requirement
  4268. is a selector that contains values, a key,
  4269. and an operator that relates the key and
  4270. values.
  4271. properties:
  4272. key:
  4273. description: key is the label key that
  4274. the selector applies to.
  4275. type: string
  4276. operator:
  4277. description: operator represents a key's
  4278. relationship to a set of values. Valid
  4279. operators are In, NotIn, Exists and
  4280. DoesNotExist.
  4281. type: string
  4282. values:
  4283. description: values is an array of string
  4284. values. If the operator is In or NotIn,
  4285. the values array must be non-empty.
  4286. If the operator is Exists or DoesNotExist,
  4287. the values array must be empty. This
  4288. array is replaced during a strategic
  4289. merge patch.
  4290. items:
  4291. type: string
  4292. type: array
  4293. required:
  4294. - key
  4295. - operator
  4296. type: object
  4297. type: array
  4298. matchLabels:
  4299. additionalProperties:
  4300. type: string
  4301. description: matchLabels is a map of {key,value}
  4302. pairs. A single {key,value} in the matchLabels
  4303. map is equivalent to an element of matchExpressions,
  4304. whose key field is "key", the operator is
  4305. "In", and the values array contains only "value".
  4306. The requirements are ANDed.
  4307. type: object
  4308. type: object
  4309. x-kubernetes-map-type: atomic
  4310. namespaceSelector:
  4311. description: A label query over the set of namespaces
  4312. that the term applies to. The term is applied
  4313. to the union of the namespaces selected by this
  4314. field and the ones listed in the namespaces field.
  4315. null selector and null or empty namespaces list
  4316. means "this pod's namespace". An empty selector
  4317. ({}) matches all namespaces.
  4318. properties:
  4319. matchExpressions:
  4320. description: matchExpressions is a list of label
  4321. selector requirements. The requirements are
  4322. ANDed.
  4323. items:
  4324. description: A label selector requirement
  4325. is a selector that contains values, a key,
  4326. and an operator that relates the key and
  4327. values.
  4328. properties:
  4329. key:
  4330. description: key is the label key that
  4331. the selector applies to.
  4332. type: string
  4333. operator:
  4334. description: operator represents a key's
  4335. relationship to a set of values. Valid
  4336. operators are In, NotIn, Exists and
  4337. DoesNotExist.
  4338. type: string
  4339. values:
  4340. description: values is an array of string
  4341. values. If the operator is In or NotIn,
  4342. the values array must be non-empty.
  4343. If the operator is Exists or DoesNotExist,
  4344. the values array must be empty. This
  4345. array is replaced during a strategic
  4346. merge patch.
  4347. items:
  4348. type: string
  4349. type: array
  4350. required:
  4351. - key
  4352. - operator
  4353. type: object
  4354. type: array
  4355. matchLabels:
  4356. additionalProperties:
  4357. type: string
  4358. description: matchLabels is a map of {key,value}
  4359. pairs. A single {key,value} in the matchLabels
  4360. map is equivalent to an element of matchExpressions,
  4361. whose key field is "key", the operator is
  4362. "In", and the values array contains only "value".
  4363. The requirements are ANDed.
  4364. type: object
  4365. type: object
  4366. x-kubernetes-map-type: atomic
  4367. namespaces:
  4368. description: namespaces specifies a static list
  4369. of namespace names that the term applies to. The
  4370. term is applied to the union of the namespaces
  4371. listed in this field and the ones selected by
  4372. namespaceSelector. null or empty namespaces list
  4373. and null namespaceSelector means "this pod's namespace".
  4374. items:
  4375. type: string
  4376. type: array
  4377. topologyKey:
  4378. description: This pod should be co-located (affinity)
  4379. or not co-located (anti-affinity) with the pods
  4380. matching the labelSelector in the specified namespaces,
  4381. where co-located is defined as running on a node
  4382. whose value of the label with key topologyKey
  4383. matches that of any node on which any of the selected
  4384. pods is running. Empty topologyKey is not allowed.
  4385. type: string
  4386. required:
  4387. - topologyKey
  4388. type: object
  4389. type: array
  4390. type: object
  4391. type: object
  4392. nodeSelector:
  4393. additionalProperties:
  4394. type: string
  4395. description: 'nodeSelector is the node selector applied to the
  4396. relevant kind of pods It specifies a map of key-value pairs:
  4397. for the pod to be eligible to run on a node, the node must have
  4398. each of the indicated key-value pairs as labels (it can have
  4399. additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
  4400. type: object
  4401. tolerations:
  4402. description: tolerations is a list of tolerations applied to the
  4403. relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  4404. for more info. These are additional tolerations other than default
  4405. ones.
  4406. items:
  4407. description: The pod this Toleration is attached to tolerates
  4408. any taint that matches the triple <key,value,effect> using
  4409. the matching operator <operator>.
  4410. properties:
  4411. effect:
  4412. description: Effect indicates the taint effect to match.
  4413. Empty means match all taint effects. When specified, allowed
  4414. values are NoSchedule, PreferNoSchedule and NoExecute.
  4415. type: string
  4416. key:
  4417. description: Key is the taint key that the toleration applies
  4418. to. Empty means match all taint keys. If the key is empty,
  4419. operator must be Exists; this combination means to match
  4420. all values and all keys.
  4421. type: string
  4422. operator:
  4423. description: Operator represents a key's relationship to
  4424. the value. Valid operators are Exists and Equal. Defaults
  4425. to Equal. Exists is equivalent to wildcard for value,
  4426. so that a pod can tolerate all taints of a particular
  4427. category.
  4428. type: string
  4429. tolerationSeconds:
  4430. description: TolerationSeconds represents the period of
  4431. time the toleration (which must be of effect NoExecute,
  4432. otherwise this field is ignored) tolerates the taint.
  4433. By default, it is not set, which means tolerate the taint
  4434. forever (do not evict). Zero and negative values will
  4435. be treated as 0 (evict immediately) by the system.
  4436. format: int64
  4437. type: integer
  4438. value:
  4439. description: Value is the taint value the toleration matches
  4440. to. If the operator is Exists, the value should be empty,
  4441. otherwise just a regular string.
  4442. type: string
  4443. type: object
  4444. type: array
  4445. type: object
  4446. type: object
  4447. status:
  4448. description: CDIStatus defines the status of the installation
  4449. properties:
  4450. conditions:
  4451. description: A list of current conditions of the resource
  4452. items:
  4453. description: Condition represents the state of the operator's reconciliation
  4454. functionality.
  4455. properties:
  4456. lastHeartbeatTime:
  4457. format: date-time
  4458. type: string
  4459. lastTransitionTime:
  4460. format: date-time
  4461. type: string
  4462. message:
  4463. type: string
  4464. reason:
  4465. type: string
  4466. status:
  4467. type: string
  4468. type:
  4469. description: ConditionType is the state of the operator's reconciliation
  4470. functionality.
  4471. type: string
  4472. required:
  4473. - status
  4474. - type
  4475. type: object
  4476. type: array
  4477. observedVersion:
  4478. description: The observed version of the resource
  4479. type: string
  4480. operatorVersion:
  4481. description: The version of the resource as defined by the operator
  4482. type: string
  4483. phase:
  4484. description: Phase is the current phase of the deployment
  4485. type: string
  4486. targetVersion:
  4487. description: The desired version of the resource
  4488. type: string
  4489. type: object
  4490. required:
  4491. - spec
  4492. type: object
  4493. served: true
  4494. storage: true
  4495. subresources: {}
  4496. ---
  4497. apiVersion: rbac.authorization.k8s.io/v1
  4498. kind: ClusterRole
  4499. metadata:
  4500. labels:
  4501. operator.cdi.kubevirt.io: ""
  4502. name: cdi-operator-cluster
  4503. rules:
  4504. - apiGroups:
  4505. - rbac.authorization.k8s.io
  4506. resources:
  4507. - clusterrolebindings
  4508. - clusterroles
  4509. verbs:
  4510. - '*'
  4511. - apiGroups:
  4512. - security.openshift.io
  4513. resources:
  4514. - securitycontextconstraints
  4515. verbs:
  4516. - get
  4517. - list
  4518. - watch
  4519. - update
  4520. - create
  4521. - apiGroups:
  4522. - ""
  4523. resources:
  4524. - pods
  4525. - services
  4526. verbs:
  4527. - get
  4528. - list
  4529. - watch
  4530. - delete
  4531. - apiGroups:
  4532. - apiextensions.k8s.io
  4533. resources:
  4534. - customresourcedefinitions
  4535. - customresourcedefinitions/status
  4536. verbs:
  4537. - '*'
  4538. - apiGroups:
  4539. - cdi.kubevirt.io
  4540. - upload.cdi.kubevirt.io
  4541. resources:
  4542. - '*'
  4543. verbs:
  4544. - '*'
  4545. - apiGroups:
  4546. - admissionregistration.k8s.io
  4547. resources:
  4548. - validatingwebhookconfigurations
  4549. - mutatingwebhookconfigurations
  4550. verbs:
  4551. - '*'
  4552. - apiGroups:
  4553. - apiregistration.k8s.io
  4554. resources:
  4555. - apiservices
  4556. verbs:
  4557. - '*'
  4558. - apiGroups:
  4559. - authorization.k8s.io
  4560. resources:
  4561. - subjectaccessreviews
  4562. verbs:
  4563. - create
  4564. - apiGroups:
  4565. - ""
  4566. resources:
  4567. - configmaps
  4568. verbs:
  4569. - get
  4570. - list
  4571. - watch
  4572. - apiGroups:
  4573. - ""
  4574. resources:
  4575. - persistentvolumeclaims
  4576. verbs:
  4577. - get
  4578. - apiGroups:
  4579. - ""
  4580. resources:
  4581. - namespaces
  4582. verbs:
  4583. - get
  4584. - apiGroups:
  4585. - snapshot.storage.k8s.io
  4586. resources:
  4587. - volumesnapshots
  4588. verbs:
  4589. - get
  4590. - apiGroups:
  4591. - cdi.kubevirt.io
  4592. resources:
  4593. - datavolumes
  4594. verbs:
  4595. - list
  4596. - get
  4597. - apiGroups:
  4598. - cdi.kubevirt.io
  4599. resources:
  4600. - datasources
  4601. verbs:
  4602. - list
  4603. - get
  4604. - apiGroups:
  4605. - cdi.kubevirt.io
  4606. resources:
  4607. - cdis
  4608. verbs:
  4609. - get
  4610. - apiGroups:
  4611. - cdi.kubevirt.io
  4612. resources:
  4613. - cdis/finalizers
  4614. verbs:
  4615. - '*'
  4616. - apiGroups:
  4617. - ""
  4618. resources:
  4619. - events
  4620. verbs:
  4621. - create
  4622. - patch
  4623. - apiGroups:
  4624. - ""
  4625. resources:
  4626. - persistentvolumes
  4627. - persistentvolumeclaims
  4628. verbs:
  4629. - get
  4630. - list
  4631. - watch
  4632. - create
  4633. - update
  4634. - delete
  4635. - deletecollection
  4636. - patch
  4637. - apiGroups:
  4638. - ""
  4639. resources:
  4640. - persistentvolumeclaims/finalizers
  4641. - pods/finalizers
  4642. verbs:
  4643. - update
  4644. - apiGroups:
  4645. - ""
  4646. resources:
  4647. - pods
  4648. - services
  4649. verbs:
  4650. - get
  4651. - list
  4652. - watch
  4653. - create
  4654. - delete
  4655. - apiGroups:
  4656. - ""
  4657. resources:
  4658. - configmaps
  4659. verbs:
  4660. - get
  4661. - create
  4662. - apiGroups:
  4663. - storage.k8s.io
  4664. resources:
  4665. - storageclasses
  4666. - csidrivers
  4667. verbs:
  4668. - get
  4669. - list
  4670. - watch
  4671. - apiGroups:
  4672. - config.openshift.io
  4673. resources:
  4674. - proxies
  4675. verbs:
  4676. - get
  4677. - list
  4678. - watch
  4679. - apiGroups:
  4680. - cdi.kubevirt.io
  4681. resources:
  4682. - '*'
  4683. verbs:
  4684. - '*'
  4685. - apiGroups:
  4686. - snapshot.storage.k8s.io
  4687. resources:
  4688. - '*'
  4689. verbs:
  4690. - '*'
  4691. - apiGroups:
  4692. - apiextensions.k8s.io
  4693. resources:
  4694. - customresourcedefinitions
  4695. verbs:
  4696. - get
  4697. - list
  4698. - watch
  4699. - apiGroups:
  4700. - scheduling.k8s.io
  4701. resources:
  4702. - priorityclasses
  4703. verbs:
  4704. - get
  4705. - list
  4706. - watch
  4707. - apiGroups:
  4708. - image.openshift.io
  4709. resources:
  4710. - imagestreams
  4711. verbs:
  4712. - get
  4713. - list
  4714. - watch
  4715. - apiGroups:
  4716. - ""
  4717. resources:
  4718. - secrets
  4719. verbs:
  4720. - create
  4721. - apiGroups:
  4722. - batch
  4723. resources:
  4724. - cronjobs
  4725. verbs:
  4726. - list
  4727. - watch
  4728. - apiGroups:
  4729. - batch
  4730. resources:
  4731. - jobs
  4732. verbs:
  4733. - list
  4734. - watch
  4735. - apiGroups:
  4736. - kubevirt.io
  4737. resources:
  4738. - virtualmachines/finalizers
  4739. verbs:
  4740. - update
  4741. - apiGroups:
  4742. - ""
  4743. resources:
  4744. - persistentvolumeclaims
  4745. verbs:
  4746. - get
  4747. - apiGroups:
  4748. - cdi.kubevirt.io
  4749. resources:
  4750. - dataimportcrons
  4751. verbs:
  4752. - get
  4753. - list
  4754. - update
  4755. ---
  4756. apiVersion: rbac.authorization.k8s.io/v1
  4757. kind: ClusterRoleBinding
  4758. metadata:
  4759. labels:
  4760. operator.cdi.kubevirt.io: ""
  4761. name: cdi-operator
  4762. roleRef:
  4763. apiGroup: rbac.authorization.k8s.io
  4764. kind: ClusterRole
  4765. name: cdi-operator-cluster
  4766. subjects:
  4767. - kind: ServiceAccount
  4768. name: cdi-operator
  4769. namespace: cdi
  4770. ---
  4771. apiVersion: v1
  4772. kind: ServiceAccount
  4773. metadata:
  4774. labels:
  4775. operator.cdi.kubevirt.io: ""
  4776. name: cdi-operator
  4777. namespace: cdi
  4778. ---
  4779. apiVersion: rbac.authorization.k8s.io/v1
  4780. kind: Role
  4781. metadata:
  4782. labels:
  4783. app.kubernetes.io/component: storage
  4784. app.kubernetes.io/managed-by: cdi-operator
  4785. cdi.kubevirt.io: ""
  4786. name: cdi-operator
  4787. namespace: cdi
  4788. rules:
  4789. - apiGroups:
  4790. - rbac.authorization.k8s.io
  4791. resources:
  4792. - rolebindings
  4793. - roles
  4794. verbs:
  4795. - '*'
  4796. - apiGroups:
  4797. - ""
  4798. resources:
  4799. - serviceaccounts
  4800. - configmaps
  4801. - events
  4802. - secrets
  4803. - services
  4804. verbs:
  4805. - '*'
  4806. - apiGroups:
  4807. - apps
  4808. resources:
  4809. - deployments
  4810. - deployments/finalizers
  4811. verbs:
  4812. - '*'
  4813. - apiGroups:
  4814. - route.openshift.io
  4815. resources:
  4816. - routes
  4817. - routes/custom-host
  4818. verbs:
  4819. - '*'
  4820. - apiGroups:
  4821. - config.openshift.io
  4822. resources:
  4823. - proxies
  4824. verbs:
  4825. - get
  4826. - list
  4827. - watch
  4828. - apiGroups:
  4829. - monitoring.coreos.com
  4830. resources:
  4831. - servicemonitors
  4832. - prometheusrules
  4833. verbs:
  4834. - get
  4835. - list
  4836. - watch
  4837. - create
  4838. - delete
  4839. - update
  4840. - patch
  4841. - apiGroups:
  4842. - coordination.k8s.io
  4843. resources:
  4844. - leases
  4845. verbs:
  4846. - '*'
  4847. ---
  4848. apiVersion: rbac.authorization.k8s.io/v1
  4849. kind: RoleBinding
  4850. metadata:
  4851. labels:
  4852. app.kubernetes.io/component: storage
  4853. app.kubernetes.io/managed-by: cdi-operator
  4854. cdi.kubevirt.io: ""
  4855. name: cdi-operator
  4856. namespace: cdi
  4857. roleRef:
  4858. apiGroup: rbac.authorization.k8s.io
  4859. kind: Role
  4860. name: cdi-operator
  4861. subjects:
  4862. - kind: ServiceAccount
  4863. name: cdi-operator
  4864. namespace: cdi
  4865. ---
  4866. apiVersion: apps/v1
  4867. kind: Deployment
  4868. metadata:
  4869. labels:
  4870. name: cdi-operator
  4871. operator.cdi.kubevirt.io: ""
  4872. prometheus.cdi.kubevirt.io: "true"
  4873. name: cdi-operator
  4874. namespace: cdi
  4875. spec:
  4876. replicas: 1
  4877. selector:
  4878. matchLabels:
  4879. name: cdi-operator
  4880. operator.cdi.kubevirt.io: ""
  4881. strategy: {}
  4882. template:
  4883. metadata:
  4884. labels:
  4885. name: cdi-operator
  4886. operator.cdi.kubevirt.io: ""
  4887. prometheus.cdi.kubevirt.io: "true"
  4888. spec:
  4889. containers:
  4890. - env:
  4891. - name: DEPLOY_CLUSTER_RESOURCES
  4892. value: "true"
  4893. - name: OPERATOR_VERSION
  4894. value: v1.57.0
  4895. - name: CONTROLLER_IMAGE
  4896. value: quay.io/kubevirt/cdi-controller:v1.57.0
  4897. - name: IMPORTER_IMAGE
  4898. value: quay.io/kubevirt/cdi-importer:v1.57.0
  4899. - name: CLONER_IMAGE
  4900. value: quay.io/kubevirt/cdi-cloner:v1.57.0
  4901. - name: APISERVER_IMAGE
  4902. value: quay.io/kubevirt/cdi-apiserver:v1.57.0
  4903. - name: UPLOAD_SERVER_IMAGE
  4904. value: quay.io/kubevirt/cdi-uploadserver:v1.57.0
  4905. - name: UPLOAD_PROXY_IMAGE
  4906. value: quay.io/kubevirt/cdi-uploadproxy:v1.57.0
  4907. - name: VERBOSITY
  4908. value: "1"
  4909. - name: PULL_POLICY
  4910. value: IfNotPresent
  4911. - name: MONITORING_NAMESPACE
  4912. image: quay.io/kubevirt/cdi-operator:v1.57.0
  4913. imagePullPolicy: IfNotPresent
  4914. name: cdi-operator
  4915. ports:
  4916. - containerPort: 8080
  4917. name: metrics
  4918. protocol: TCP
  4919. resources:
  4920. requests:
  4921. cpu: 10m
  4922. memory: 150Mi
  4923. securityContext:
  4924. allowPrivilegeEscalation: false
  4925. capabilities:
  4926. drop:
  4927. - ALL
  4928. runAsNonRoot: true
  4929. seccompProfile:
  4930. type: RuntimeDefault
  4931. nodeSelector:
  4932. kubernetes.io/os: linux
  4933. securityContext:
  4934. runAsNonRoot: true
  4935. serviceAccountName: cdi-operator
  4936. tolerations:
  4937. - key: CriticalAddonsOnly
  4938. operator: Exists