locostack.com_managedknowledgebases.yaml 802 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371
  1. ---
  2. apiVersion: apiextensions.k8s.io/v1
  3. kind: CustomResourceDefinition
  4. metadata:
  5. annotations:
  6. controller-gen.kubebuilder.io/version: v0.20.1
  7. name: managedknowledgebases.locostack.com
  8. spec:
  9. group: locostack.com
  10. names:
  11. kind: ManagedKnowledgeBase
  12. listKind: ManagedKnowledgeBaseList
  13. plural: managedknowledgebases
  14. shortNames:
  15. - mkb
  16. singular: managedknowledgebase
  17. scope: Namespaced
  18. versions:
  19. - additionalPrinterColumns:
  20. - jsonPath: .spec.template.name
  21. name: Runtime
  22. type: string
  23. - jsonPath: .status.conditions[?(@.type=='Ready')].status
  24. name: Ready
  25. type: string
  26. name: v1alpha1
  27. schema:
  28. openAPIV3Schema:
  29. description: ManagedKnowledgeBase is the Schema for the managedknowledgebases
  30. API
  31. properties:
  32. apiVersion:
  33. description: |-
  34. APIVersion defines the versioned schema of this representation of an object.
  35. Servers should convert recognized schemas to the latest internal value, and
  36. may reject unrecognized values.
  37. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  38. type: string
  39. kind:
  40. description: |-
  41. Kind is a string value representing the REST resource this object represents.
  42. Servers may infer this from the endpoint the client submits requests to.
  43. Cannot be updated.
  44. In CamelCase.
  45. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  46. type: string
  47. metadata:
  48. type: object
  49. spec:
  50. description: spec defines the desired state of ManagedKnowledgeBase
  51. properties:
  52. egestionJob:
  53. description: egestionJob configures the ephemeral Job that removes
  54. a single Document's content from the KB.
  55. properties:
  56. metadata:
  57. description: metadata is a standard object metadata.
  58. type: object
  59. name:
  60. description: name selects a built-in preset.
  61. type: string
  62. spec:
  63. description: spec holds the pod-level configuration for the workload.
  64. properties:
  65. affinity:
  66. description: affinity provides fine-grained node and pod (anti-)affinity
  67. rules.
  68. properties:
  69. nodeAffinity:
  70. description: Describes node affinity scheduling rules
  71. for the pod.
  72. properties:
  73. preferredDuringSchedulingIgnoredDuringExecution:
  74. description: |-
  75. The scheduler will prefer to schedule pods to nodes that satisfy
  76. the affinity expressions specified by this field, but it may choose
  77. a node that violates one or more of the expressions. The node that is
  78. most preferred is the one with the greatest sum of weights, i.e.
  79. for each node that meets all of the scheduling requirements (resource
  80. request, requiredDuringScheduling affinity expressions, etc.),
  81. compute a sum by iterating through the elements of this field and adding
  82. "weight" to the sum if the node matches the corresponding matchExpressions; the
  83. node(s) with the highest sum are the most preferred.
  84. items:
  85. description: |-
  86. An empty preferred scheduling term matches all objects with implicit weight 0
  87. (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  88. properties:
  89. preference:
  90. description: A node selector term, associated
  91. with the corresponding weight.
  92. properties:
  93. matchExpressions:
  94. description: A list of node selector requirements
  95. by node's labels.
  96. items:
  97. description: |-
  98. A node selector requirement is a selector that contains values, a key, and an operator
  99. that relates the key and values.
  100. properties:
  101. key:
  102. description: The label key that the
  103. selector applies to.
  104. type: string
  105. operator:
  106. description: |-
  107. Represents a key's relationship to a set of values.
  108. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  109. type: string
  110. values:
  111. description: |-
  112. An array of string values. If the operator is In or NotIn,
  113. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  114. the values array must be empty. If the operator is Gt or Lt, the values
  115. array must have a single element, which will be interpreted as an integer.
  116. This array is replaced during a strategic merge patch.
  117. items:
  118. type: string
  119. type: array
  120. x-kubernetes-list-type: atomic
  121. required:
  122. - key
  123. - operator
  124. type: object
  125. type: array
  126. x-kubernetes-list-type: atomic
  127. matchFields:
  128. description: A list of node selector requirements
  129. by node's fields.
  130. items:
  131. description: |-
  132. A node selector requirement is a selector that contains values, a key, and an operator
  133. that relates the key and values.
  134. properties:
  135. key:
  136. description: The label key that the
  137. selector applies to.
  138. type: string
  139. operator:
  140. description: |-
  141. Represents a key's relationship to a set of values.
  142. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  143. type: string
  144. values:
  145. description: |-
  146. An array of string values. If the operator is In or NotIn,
  147. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  148. the values array must be empty. If the operator is Gt or Lt, the values
  149. array must have a single element, which will be interpreted as an integer.
  150. This array is replaced during a strategic merge patch.
  151. items:
  152. type: string
  153. type: array
  154. x-kubernetes-list-type: atomic
  155. required:
  156. - key
  157. - operator
  158. type: object
  159. type: array
  160. x-kubernetes-list-type: atomic
  161. type: object
  162. x-kubernetes-map-type: atomic
  163. weight:
  164. description: Weight associated with matching
  165. the corresponding nodeSelectorTerm, in the
  166. range 1-100.
  167. format: int32
  168. type: integer
  169. required:
  170. - preference
  171. - weight
  172. type: object
  173. type: array
  174. x-kubernetes-list-type: atomic
  175. requiredDuringSchedulingIgnoredDuringExecution:
  176. description: |-
  177. If the affinity requirements specified by this field are not met at
  178. scheduling time, the pod will not be scheduled onto the node.
  179. If the affinity requirements specified by this field cease to be met
  180. at some point during pod execution (e.g. due to an update), the system
  181. may or may not try to eventually evict the pod from its node.
  182. properties:
  183. nodeSelectorTerms:
  184. description: Required. A list of node selector
  185. terms. The terms are ORed.
  186. items:
  187. description: |-
  188. A null or empty node selector term matches no objects. The requirements of
  189. them are ANDed.
  190. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  191. properties:
  192. matchExpressions:
  193. description: A list of node selector requirements
  194. by node's labels.
  195. items:
  196. description: |-
  197. A node selector requirement is a selector that contains values, a key, and an operator
  198. that relates the key and values.
  199. properties:
  200. key:
  201. description: The label key that the
  202. selector applies to.
  203. type: string
  204. operator:
  205. description: |-
  206. Represents a key's relationship to a set of values.
  207. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  208. type: string
  209. values:
  210. description: |-
  211. An array of string values. If the operator is In or NotIn,
  212. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  213. the values array must be empty. If the operator is Gt or Lt, the values
  214. array must have a single element, which will be interpreted as an integer.
  215. This array is replaced during a strategic merge patch.
  216. items:
  217. type: string
  218. type: array
  219. x-kubernetes-list-type: atomic
  220. required:
  221. - key
  222. - operator
  223. type: object
  224. type: array
  225. x-kubernetes-list-type: atomic
  226. matchFields:
  227. description: A list of node selector requirements
  228. by node's fields.
  229. items:
  230. description: |-
  231. A node selector requirement is a selector that contains values, a key, and an operator
  232. that relates the key and values.
  233. properties:
  234. key:
  235. description: The label key that the
  236. selector applies to.
  237. type: string
  238. operator:
  239. description: |-
  240. Represents a key's relationship to a set of values.
  241. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  242. type: string
  243. values:
  244. description: |-
  245. An array of string values. If the operator is In or NotIn,
  246. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  247. the values array must be empty. If the operator is Gt or Lt, the values
  248. array must have a single element, which will be interpreted as an integer.
  249. This array is replaced during a strategic merge patch.
  250. items:
  251. type: string
  252. type: array
  253. x-kubernetes-list-type: atomic
  254. required:
  255. - key
  256. - operator
  257. type: object
  258. type: array
  259. x-kubernetes-list-type: atomic
  260. type: object
  261. x-kubernetes-map-type: atomic
  262. type: array
  263. x-kubernetes-list-type: atomic
  264. required:
  265. - nodeSelectorTerms
  266. type: object
  267. x-kubernetes-map-type: atomic
  268. type: object
  269. podAffinity:
  270. description: Describes pod affinity scheduling rules (e.g.
  271. co-locate this pod in the same node, zone, etc. as some
  272. other pod(s)).
  273. properties:
  274. preferredDuringSchedulingIgnoredDuringExecution:
  275. description: |-
  276. The scheduler will prefer to schedule pods to nodes that satisfy
  277. the affinity expressions specified by this field, but it may choose
  278. a node that violates one or more of the expressions. The node that is
  279. most preferred is the one with the greatest sum of weights, i.e.
  280. for each node that meets all of the scheduling requirements (resource
  281. request, requiredDuringScheduling affinity expressions, etc.),
  282. compute a sum by iterating through the elements of this field and adding
  283. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  284. node(s) with the highest sum are the most preferred.
  285. items:
  286. description: The weights of all of the matched WeightedPodAffinityTerm
  287. fields are added per-node to find the most preferred
  288. node(s)
  289. properties:
  290. podAffinityTerm:
  291. description: Required. A pod affinity term,
  292. associated with the corresponding weight.
  293. properties:
  294. labelSelector:
  295. description: |-
  296. A label query over a set of resources, in this case pods.
  297. If it's null, this PodAffinityTerm matches with no Pods.
  298. properties:
  299. matchExpressions:
  300. description: matchExpressions is a list
  301. of label selector requirements. The
  302. requirements are ANDed.
  303. items:
  304. description: |-
  305. A label selector requirement is a selector that contains values, a key, and an operator that
  306. relates the key and values.
  307. properties:
  308. key:
  309. description: key is the label
  310. key that the selector applies
  311. to.
  312. type: string
  313. operator:
  314. description: |-
  315. operator represents a key's relationship to a set of values.
  316. Valid operators are In, NotIn, Exists and DoesNotExist.
  317. type: string
  318. values:
  319. description: |-
  320. values is an array of string values. If the operator is In or NotIn,
  321. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  322. the values array must be empty. This array is replaced during a strategic
  323. merge patch.
  324. items:
  325. type: string
  326. type: array
  327. x-kubernetes-list-type: atomic
  328. required:
  329. - key
  330. - operator
  331. type: object
  332. type: array
  333. x-kubernetes-list-type: atomic
  334. matchLabels:
  335. additionalProperties:
  336. type: string
  337. description: |-
  338. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  339. map is equivalent to an element of matchExpressions, whose key field is "key", the
  340. operator is "In", and the values array contains only "value". The requirements are ANDed.
  341. type: object
  342. type: object
  343. x-kubernetes-map-type: atomic
  344. matchLabelKeys:
  345. description: |-
  346. MatchLabelKeys is a set of pod label keys to select which pods will
  347. be taken into consideration. The keys are used to lookup values from the
  348. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  349. to select the group of existing pods which pods will be taken into consideration
  350. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  351. pod labels will be ignored. The default value is empty.
  352. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  353. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  354. items:
  355. type: string
  356. type: array
  357. x-kubernetes-list-type: atomic
  358. mismatchLabelKeys:
  359. description: |-
  360. MismatchLabelKeys is a set of pod label keys to select which pods will
  361. be taken into consideration. The keys are used to lookup values from the
  362. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  363. to select the group of existing pods which pods will be taken into consideration
  364. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  365. pod labels will be ignored. The default value is empty.
  366. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  367. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  368. items:
  369. type: string
  370. type: array
  371. x-kubernetes-list-type: atomic
  372. namespaceSelector:
  373. description: |-
  374. A label query over the set of namespaces that the term applies to.
  375. The term is applied to the union of the namespaces selected by this field
  376. and the ones listed in the namespaces field.
  377. null selector and null or empty namespaces list means "this pod's namespace".
  378. An empty selector ({}) matches all namespaces.
  379. properties:
  380. matchExpressions:
  381. description: matchExpressions is a list
  382. of label selector requirements. The
  383. requirements are ANDed.
  384. items:
  385. description: |-
  386. A label selector requirement is a selector that contains values, a key, and an operator that
  387. relates the key and values.
  388. properties:
  389. key:
  390. description: key is the label
  391. key that the selector applies
  392. to.
  393. type: string
  394. operator:
  395. description: |-
  396. operator represents a key's relationship to a set of values.
  397. Valid operators are In, NotIn, Exists and DoesNotExist.
  398. type: string
  399. values:
  400. description: |-
  401. values is an array of string values. If the operator is In or NotIn,
  402. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  403. the values array must be empty. This array is replaced during a strategic
  404. merge patch.
  405. items:
  406. type: string
  407. type: array
  408. x-kubernetes-list-type: atomic
  409. required:
  410. - key
  411. - operator
  412. type: object
  413. type: array
  414. x-kubernetes-list-type: atomic
  415. matchLabels:
  416. additionalProperties:
  417. type: string
  418. description: |-
  419. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  420. map is equivalent to an element of matchExpressions, whose key field is "key", the
  421. operator is "In", and the values array contains only "value". The requirements are ANDed.
  422. type: object
  423. type: object
  424. x-kubernetes-map-type: atomic
  425. namespaces:
  426. description: |-
  427. namespaces specifies a static list of namespace names that the term applies to.
  428. The term is applied to the union of the namespaces listed in this field
  429. and the ones selected by namespaceSelector.
  430. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  431. items:
  432. type: string
  433. type: array
  434. x-kubernetes-list-type: atomic
  435. topologyKey:
  436. description: |-
  437. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  438. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  439. whose value of the label with key topologyKey matches that of any node on which any of the
  440. selected pods is running.
  441. Empty topologyKey is not allowed.
  442. type: string
  443. required:
  444. - topologyKey
  445. type: object
  446. weight:
  447. description: |-
  448. weight associated with matching the corresponding podAffinityTerm,
  449. in the range 1-100.
  450. format: int32
  451. type: integer
  452. required:
  453. - podAffinityTerm
  454. - weight
  455. type: object
  456. type: array
  457. x-kubernetes-list-type: atomic
  458. requiredDuringSchedulingIgnoredDuringExecution:
  459. description: |-
  460. If the affinity requirements specified by this field are not met at
  461. scheduling time, the pod will not be scheduled onto the node.
  462. If the affinity requirements specified by this field cease to be met
  463. at some point during pod execution (e.g. due to a pod label update), the
  464. system may or may not try to eventually evict the pod from its node.
  465. When there are multiple elements, the lists of nodes corresponding to each
  466. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  467. items:
  468. description: |-
  469. Defines a set of pods (namely those matching the labelSelector
  470. relative to the given namespace(s)) that this pod should be
  471. co-located (affinity) or not co-located (anti-affinity) with,
  472. where co-located is defined as running on a node whose value of
  473. the label with key <topologyKey> matches that of any node on which
  474. a pod of the set of pods is running
  475. properties:
  476. labelSelector:
  477. description: |-
  478. A label query over a set of resources, in this case pods.
  479. If it's null, this PodAffinityTerm matches with no Pods.
  480. properties:
  481. matchExpressions:
  482. description: matchExpressions is a list
  483. of label selector requirements. The requirements
  484. are ANDed.
  485. items:
  486. description: |-
  487. A label selector requirement is a selector that contains values, a key, and an operator that
  488. relates the key and values.
  489. properties:
  490. key:
  491. description: key is the label key
  492. that the selector applies to.
  493. type: string
  494. operator:
  495. description: |-
  496. operator represents a key's relationship to a set of values.
  497. Valid operators are In, NotIn, Exists and DoesNotExist.
  498. type: string
  499. values:
  500. description: |-
  501. values is an array of string values. If the operator is In or NotIn,
  502. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  503. the values array must be empty. This array is replaced during a strategic
  504. merge patch.
  505. items:
  506. type: string
  507. type: array
  508. x-kubernetes-list-type: atomic
  509. required:
  510. - key
  511. - operator
  512. type: object
  513. type: array
  514. x-kubernetes-list-type: atomic
  515. matchLabels:
  516. additionalProperties:
  517. type: string
  518. description: |-
  519. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  520. map is equivalent to an element of matchExpressions, whose key field is "key", the
  521. operator is "In", and the values array contains only "value". The requirements are ANDed.
  522. type: object
  523. type: object
  524. x-kubernetes-map-type: atomic
  525. matchLabelKeys:
  526. description: |-
  527. MatchLabelKeys is a set of pod label keys to select which pods will
  528. be taken into consideration. The keys are used to lookup values from the
  529. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  530. to select the group of existing pods which pods will be taken into consideration
  531. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  532. pod labels will be ignored. The default value is empty.
  533. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  534. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  535. items:
  536. type: string
  537. type: array
  538. x-kubernetes-list-type: atomic
  539. mismatchLabelKeys:
  540. description: |-
  541. MismatchLabelKeys is a set of pod label keys to select which pods will
  542. be taken into consideration. The keys are used to lookup values from the
  543. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  544. to select the group of existing pods which pods will be taken into consideration
  545. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  546. pod labels will be ignored. The default value is empty.
  547. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  548. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  549. items:
  550. type: string
  551. type: array
  552. x-kubernetes-list-type: atomic
  553. namespaceSelector:
  554. description: |-
  555. A label query over the set of namespaces that the term applies to.
  556. The term is applied to the union of the namespaces selected by this field
  557. and the ones listed in the namespaces field.
  558. null selector and null or empty namespaces list means "this pod's namespace".
  559. An empty selector ({}) matches all namespaces.
  560. properties:
  561. matchExpressions:
  562. description: matchExpressions is a list
  563. of label selector requirements. The requirements
  564. are ANDed.
  565. items:
  566. description: |-
  567. A label selector requirement is a selector that contains values, a key, and an operator that
  568. relates the key and values.
  569. properties:
  570. key:
  571. description: key is the label key
  572. that the selector applies to.
  573. type: string
  574. operator:
  575. description: |-
  576. operator represents a key's relationship to a set of values.
  577. Valid operators are In, NotIn, Exists and DoesNotExist.
  578. type: string
  579. values:
  580. description: |-
  581. values is an array of string values. If the operator is In or NotIn,
  582. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  583. the values array must be empty. This array is replaced during a strategic
  584. merge patch.
  585. items:
  586. type: string
  587. type: array
  588. x-kubernetes-list-type: atomic
  589. required:
  590. - key
  591. - operator
  592. type: object
  593. type: array
  594. x-kubernetes-list-type: atomic
  595. matchLabels:
  596. additionalProperties:
  597. type: string
  598. description: |-
  599. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  600. map is equivalent to an element of matchExpressions, whose key field is "key", the
  601. operator is "In", and the values array contains only "value". The requirements are ANDed.
  602. type: object
  603. type: object
  604. x-kubernetes-map-type: atomic
  605. namespaces:
  606. description: |-
  607. namespaces specifies a static list of namespace names that the term applies to.
  608. The term is applied to the union of the namespaces listed in this field
  609. and the ones selected by namespaceSelector.
  610. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  611. items:
  612. type: string
  613. type: array
  614. x-kubernetes-list-type: atomic
  615. topologyKey:
  616. description: |-
  617. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  618. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  619. whose value of the label with key topologyKey matches that of any node on which any of the
  620. selected pods is running.
  621. Empty topologyKey is not allowed.
  622. type: string
  623. required:
  624. - topologyKey
  625. type: object
  626. type: array
  627. x-kubernetes-list-type: atomic
  628. type: object
  629. podAntiAffinity:
  630. description: Describes pod anti-affinity scheduling rules
  631. (e.g. avoid putting this pod in the same node, zone,
  632. etc. as some other pod(s)).
  633. properties:
  634. preferredDuringSchedulingIgnoredDuringExecution:
  635. description: |-
  636. The scheduler will prefer to schedule pods to nodes that satisfy
  637. the anti-affinity expressions specified by this field, but it may choose
  638. a node that violates one or more of the expressions. The node that is
  639. most preferred is the one with the greatest sum of weights, i.e.
  640. for each node that meets all of the scheduling requirements (resource
  641. request, requiredDuringScheduling anti-affinity expressions, etc.),
  642. compute a sum by iterating through the elements of this field and subtracting
  643. "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the
  644. node(s) with the highest sum are the most preferred.
  645. items:
  646. description: The weights of all of the matched WeightedPodAffinityTerm
  647. fields are added per-node to find the most preferred
  648. node(s)
  649. properties:
  650. podAffinityTerm:
  651. description: Required. A pod affinity term,
  652. associated with the corresponding weight.
  653. properties:
  654. labelSelector:
  655. description: |-
  656. A label query over a set of resources, in this case pods.
  657. If it's null, this PodAffinityTerm matches with no Pods.
  658. properties:
  659. matchExpressions:
  660. description: matchExpressions is a list
  661. of label selector requirements. The
  662. requirements are ANDed.
  663. items:
  664. description: |-
  665. A label selector requirement is a selector that contains values, a key, and an operator that
  666. relates the key and values.
  667. properties:
  668. key:
  669. description: key is the label
  670. key that the selector applies
  671. to.
  672. type: string
  673. operator:
  674. description: |-
  675. operator represents a key's relationship to a set of values.
  676. Valid operators are In, NotIn, Exists and DoesNotExist.
  677. type: string
  678. values:
  679. description: |-
  680. values is an array of string values. If the operator is In or NotIn,
  681. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  682. the values array must be empty. This array is replaced during a strategic
  683. merge patch.
  684. items:
  685. type: string
  686. type: array
  687. x-kubernetes-list-type: atomic
  688. required:
  689. - key
  690. - operator
  691. type: object
  692. type: array
  693. x-kubernetes-list-type: atomic
  694. matchLabels:
  695. additionalProperties:
  696. type: string
  697. description: |-
  698. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  699. map is equivalent to an element of matchExpressions, whose key field is "key", the
  700. operator is "In", and the values array contains only "value". The requirements are ANDed.
  701. type: object
  702. type: object
  703. x-kubernetes-map-type: atomic
  704. matchLabelKeys:
  705. description: |-
  706. MatchLabelKeys is a set of pod label keys to select which pods will
  707. be taken into consideration. The keys are used to lookup values from the
  708. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  709. to select the group of existing pods which pods will be taken into consideration
  710. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  711. pod labels will be ignored. The default value is empty.
  712. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  713. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  714. items:
  715. type: string
  716. type: array
  717. x-kubernetes-list-type: atomic
  718. mismatchLabelKeys:
  719. description: |-
  720. MismatchLabelKeys is a set of pod label keys to select which pods will
  721. be taken into consideration. The keys are used to lookup values from the
  722. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  723. to select the group of existing pods which pods will be taken into consideration
  724. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  725. pod labels will be ignored. The default value is empty.
  726. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  727. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  728. items:
  729. type: string
  730. type: array
  731. x-kubernetes-list-type: atomic
  732. namespaceSelector:
  733. description: |-
  734. A label query over the set of namespaces that the term applies to.
  735. The term is applied to the union of the namespaces selected by this field
  736. and the ones listed in the namespaces field.
  737. null selector and null or empty namespaces list means "this pod's namespace".
  738. An empty selector ({}) matches all namespaces.
  739. properties:
  740. matchExpressions:
  741. description: matchExpressions is a list
  742. of label selector requirements. The
  743. requirements are ANDed.
  744. items:
  745. description: |-
  746. A label selector requirement is a selector that contains values, a key, and an operator that
  747. relates the key and values.
  748. properties:
  749. key:
  750. description: key is the label
  751. key that the selector applies
  752. to.
  753. type: string
  754. operator:
  755. description: |-
  756. operator represents a key's relationship to a set of values.
  757. Valid operators are In, NotIn, Exists and DoesNotExist.
  758. type: string
  759. values:
  760. description: |-
  761. values is an array of string values. If the operator is In or NotIn,
  762. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  763. the values array must be empty. This array is replaced during a strategic
  764. merge patch.
  765. items:
  766. type: string
  767. type: array
  768. x-kubernetes-list-type: atomic
  769. required:
  770. - key
  771. - operator
  772. type: object
  773. type: array
  774. x-kubernetes-list-type: atomic
  775. matchLabels:
  776. additionalProperties:
  777. type: string
  778. description: |-
  779. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  780. map is equivalent to an element of matchExpressions, whose key field is "key", the
  781. operator is "In", and the values array contains only "value". The requirements are ANDed.
  782. type: object
  783. type: object
  784. x-kubernetes-map-type: atomic
  785. namespaces:
  786. description: |-
  787. namespaces specifies a static list of namespace names that the term applies to.
  788. The term is applied to the union of the namespaces listed in this field
  789. and the ones selected by namespaceSelector.
  790. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  791. items:
  792. type: string
  793. type: array
  794. x-kubernetes-list-type: atomic
  795. topologyKey:
  796. description: |-
  797. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  798. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  799. whose value of the label with key topologyKey matches that of any node on which any of the
  800. selected pods is running.
  801. Empty topologyKey is not allowed.
  802. type: string
  803. required:
  804. - topologyKey
  805. type: object
  806. weight:
  807. description: |-
  808. weight associated with matching the corresponding podAffinityTerm,
  809. in the range 1-100.
  810. format: int32
  811. type: integer
  812. required:
  813. - podAffinityTerm
  814. - weight
  815. type: object
  816. type: array
  817. x-kubernetes-list-type: atomic
  818. requiredDuringSchedulingIgnoredDuringExecution:
  819. description: |-
  820. If the anti-affinity requirements specified by this field are not met at
  821. scheduling time, the pod will not be scheduled onto the node.
  822. If the anti-affinity requirements specified by this field cease to be met
  823. at some point during pod execution (e.g. due to a pod label update), the
  824. system may or may not try to eventually evict the pod from its node.
  825. When there are multiple elements, the lists of nodes corresponding to each
  826. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  827. items:
  828. description: |-
  829. Defines a set of pods (namely those matching the labelSelector
  830. relative to the given namespace(s)) that this pod should be
  831. co-located (affinity) or not co-located (anti-affinity) with,
  832. where co-located is defined as running on a node whose value of
  833. the label with key <topologyKey> matches that of any node on which
  834. a pod of the set of pods is running
  835. properties:
  836. labelSelector:
  837. description: |-
  838. A label query over a set of resources, in this case pods.
  839. If it's null, this PodAffinityTerm matches with no Pods.
  840. properties:
  841. matchExpressions:
  842. description: matchExpressions is a list
  843. of label selector requirements. The requirements
  844. are ANDed.
  845. items:
  846. description: |-
  847. A label selector requirement is a selector that contains values, a key, and an operator that
  848. relates the key and values.
  849. properties:
  850. key:
  851. description: key is the label key
  852. that the selector applies to.
  853. type: string
  854. operator:
  855. description: |-
  856. operator represents a key's relationship to a set of values.
  857. Valid operators are In, NotIn, Exists and DoesNotExist.
  858. type: string
  859. values:
  860. description: |-
  861. values is an array of string values. If the operator is In or NotIn,
  862. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  863. the values array must be empty. This array is replaced during a strategic
  864. merge patch.
  865. items:
  866. type: string
  867. type: array
  868. x-kubernetes-list-type: atomic
  869. required:
  870. - key
  871. - operator
  872. type: object
  873. type: array
  874. x-kubernetes-list-type: atomic
  875. matchLabels:
  876. additionalProperties:
  877. type: string
  878. description: |-
  879. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  880. map is equivalent to an element of matchExpressions, whose key field is "key", the
  881. operator is "In", and the values array contains only "value". The requirements are ANDed.
  882. type: object
  883. type: object
  884. x-kubernetes-map-type: atomic
  885. matchLabelKeys:
  886. description: |-
  887. MatchLabelKeys is a set of pod label keys to select which pods will
  888. be taken into consideration. The keys are used to lookup values from the
  889. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  890. to select the group of existing pods which pods will be taken into consideration
  891. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  892. pod labels will be ignored. The default value is empty.
  893. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  894. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  895. items:
  896. type: string
  897. type: array
  898. x-kubernetes-list-type: atomic
  899. mismatchLabelKeys:
  900. description: |-
  901. MismatchLabelKeys is a set of pod label keys to select which pods will
  902. be taken into consideration. The keys are used to lookup values from the
  903. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  904. to select the group of existing pods which pods will be taken into consideration
  905. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  906. pod labels will be ignored. The default value is empty.
  907. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  908. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  909. items:
  910. type: string
  911. type: array
  912. x-kubernetes-list-type: atomic
  913. namespaceSelector:
  914. description: |-
  915. A label query over the set of namespaces that the term applies to.
  916. The term is applied to the union of the namespaces selected by this field
  917. and the ones listed in the namespaces field.
  918. null selector and null or empty namespaces list means "this pod's namespace".
  919. An empty selector ({}) matches all namespaces.
  920. properties:
  921. matchExpressions:
  922. description: matchExpressions is a list
  923. of label selector requirements. The requirements
  924. are ANDed.
  925. items:
  926. description: |-
  927. A label selector requirement is a selector that contains values, a key, and an operator that
  928. relates the key and values.
  929. properties:
  930. key:
  931. description: key is the label key
  932. that the selector applies to.
  933. type: string
  934. operator:
  935. description: |-
  936. operator represents a key's relationship to a set of values.
  937. Valid operators are In, NotIn, Exists and DoesNotExist.
  938. type: string
  939. values:
  940. description: |-
  941. values is an array of string values. If the operator is In or NotIn,
  942. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  943. the values array must be empty. This array is replaced during a strategic
  944. merge patch.
  945. items:
  946. type: string
  947. type: array
  948. x-kubernetes-list-type: atomic
  949. required:
  950. - key
  951. - operator
  952. type: object
  953. type: array
  954. x-kubernetes-list-type: atomic
  955. matchLabels:
  956. additionalProperties:
  957. type: string
  958. description: |-
  959. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  960. map is equivalent to an element of matchExpressions, whose key field is "key", the
  961. operator is "In", and the values array contains only "value". The requirements are ANDed.
  962. type: object
  963. type: object
  964. x-kubernetes-map-type: atomic
  965. namespaces:
  966. description: |-
  967. namespaces specifies a static list of namespace names that the term applies to.
  968. The term is applied to the union of the namespaces listed in this field
  969. and the ones selected by namespaceSelector.
  970. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  971. items:
  972. type: string
  973. type: array
  974. x-kubernetes-list-type: atomic
  975. topologyKey:
  976. description: |-
  977. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  978. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  979. whose value of the label with key topologyKey matches that of any node on which any of the
  980. selected pods is running.
  981. Empty topologyKey is not allowed.
  982. type: string
  983. required:
  984. - topologyKey
  985. type: object
  986. type: array
  987. x-kubernetes-list-type: atomic
  988. type: object
  989. type: object
  990. nodeSelector:
  991. additionalProperties:
  992. type: string
  993. description: nodeSelector pins pods to nodes that match all
  994. the specified labels.
  995. type: object
  996. resources:
  997. description: resources sets per-container resource requests
  998. and limits.
  999. properties:
  1000. claims:
  1001. description: |-
  1002. Claims lists the names of resources, defined in spec.resourceClaims,
  1003. that are used by this container.
  1004. This field depends on the
  1005. DynamicResourceAllocation feature gate.
  1006. This field is immutable. It can only be set for containers.
  1007. items:
  1008. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1009. properties:
  1010. name:
  1011. description: |-
  1012. Name must match the name of one entry in pod.spec.resourceClaims of
  1013. the Pod where this field is used. It makes that resource available
  1014. inside a container.
  1015. type: string
  1016. request:
  1017. description: |-
  1018. Request is the name chosen for a request in the referenced claim.
  1019. If empty, everything from the claim is made available, otherwise
  1020. only the result of this request.
  1021. type: string
  1022. required:
  1023. - name
  1024. type: object
  1025. type: array
  1026. x-kubernetes-list-map-keys:
  1027. - name
  1028. x-kubernetes-list-type: map
  1029. limits:
  1030. additionalProperties:
  1031. anyOf:
  1032. - type: integer
  1033. - type: string
  1034. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1035. x-kubernetes-int-or-string: true
  1036. description: |-
  1037. Limits describes the maximum amount of compute resources allowed.
  1038. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  1039. type: object
  1040. requests:
  1041. additionalProperties:
  1042. anyOf:
  1043. - type: integer
  1044. - type: string
  1045. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1046. x-kubernetes-int-or-string: true
  1047. description: |-
  1048. Requests describes the minimum amount of compute resources required.
  1049. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  1050. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  1051. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  1052. type: object
  1053. type: object
  1054. runtime:
  1055. description: runtime describes the container runtime to use
  1056. for the workload.
  1057. properties:
  1058. args:
  1059. description: args specifies or overrides the preset's
  1060. container command.
  1061. items:
  1062. type: string
  1063. type: array
  1064. command:
  1065. description: command specifies or overrides the preset's
  1066. container entrypoint.
  1067. items:
  1068. type: string
  1069. type: array
  1070. conditionalArgs:
  1071. description: conditionalArgs are appended to the preset
  1072. command conditionally.
  1073. items:
  1074. properties:
  1075. args:
  1076. description: args are appended to the preset args.
  1077. items:
  1078. type: string
  1079. type: array
  1080. when:
  1081. description: when the value is not empty after variable
  1082. substitution, the args are appended to the preset
  1083. args.
  1084. type: string
  1085. required:
  1086. - args
  1087. - when
  1088. type: object
  1089. type: array
  1090. env:
  1091. description: env holds environment variables injected
  1092. into the container.
  1093. items:
  1094. description: EnvVar represents an environment variable
  1095. present in a Container.
  1096. properties:
  1097. name:
  1098. description: |-
  1099. Name of the environment variable.
  1100. May consist of any printable ASCII characters except '='.
  1101. type: string
  1102. value:
  1103. description: |-
  1104. Variable references $(VAR_NAME) are expanded
  1105. using the previously defined environment variables in the container and
  1106. any service environment variables. If a variable cannot be resolved,
  1107. the reference in the input string will be unchanged. Double $$ are reduced
  1108. to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
  1109. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  1110. Escaped references will never be expanded, regardless of whether the variable
  1111. exists or not.
  1112. Defaults to "".
  1113. type: string
  1114. valueFrom:
  1115. description: Source for the environment variable's
  1116. value. Cannot be used if value is not empty.
  1117. properties:
  1118. configMapKeyRef:
  1119. description: Selects a key of a ConfigMap.
  1120. properties:
  1121. key:
  1122. description: The key to select.
  1123. type: string
  1124. name:
  1125. default: ""
  1126. description: |-
  1127. Name of the referent.
  1128. This field is effectively required, but due to backwards compatibility is
  1129. allowed to be empty. Instances of this type with an empty value here are
  1130. almost certainly wrong.
  1131. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1132. type: string
  1133. optional:
  1134. description: Specify whether the ConfigMap
  1135. or its key must be defined
  1136. type: boolean
  1137. required:
  1138. - key
  1139. type: object
  1140. x-kubernetes-map-type: atomic
  1141. fieldRef:
  1142. description: |-
  1143. Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
  1144. spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
  1145. properties:
  1146. apiVersion:
  1147. description: Version of the schema the FieldPath
  1148. is written in terms of, defaults to "v1".
  1149. type: string
  1150. fieldPath:
  1151. description: Path of the field to select
  1152. in the specified API version.
  1153. type: string
  1154. required:
  1155. - fieldPath
  1156. type: object
  1157. x-kubernetes-map-type: atomic
  1158. fileKeyRef:
  1159. description: |-
  1160. FileKeyRef selects a key of the env file.
  1161. Requires the EnvFiles feature gate to be enabled.
  1162. properties:
  1163. key:
  1164. description: |-
  1165. The key within the env file. An invalid key will prevent the pod from starting.
  1166. The keys defined within a source may consist of any printable ASCII characters except '='.
  1167. During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters.
  1168. type: string
  1169. optional:
  1170. default: false
  1171. description: |-
  1172. Specify whether the file or its key must be defined. If the file or key
  1173. does not exist, then the env var is not published.
  1174. If optional is set to true and the specified key does not exist,
  1175. the environment variable will not be set in the Pod's containers.
  1176. If optional is set to false and the specified key does not exist,
  1177. an error will be returned during Pod creation.
  1178. type: boolean
  1179. path:
  1180. description: |-
  1181. The path within the volume from which to select the file.
  1182. Must be relative and may not contain the '..' path or start with '..'.
  1183. type: string
  1184. volumeName:
  1185. description: The name of the volume mount
  1186. containing the env file.
  1187. type: string
  1188. required:
  1189. - key
  1190. - path
  1191. - volumeName
  1192. type: object
  1193. x-kubernetes-map-type: atomic
  1194. resourceFieldRef:
  1195. description: |-
  1196. Selects a resource of the container: only resources limits and requests
  1197. (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
  1198. properties:
  1199. containerName:
  1200. description: 'Container name: required for
  1201. volumes, optional for env vars'
  1202. type: string
  1203. divisor:
  1204. anyOf:
  1205. - type: integer
  1206. - type: string
  1207. description: Specifies the output format
  1208. of the exposed resources, defaults to
  1209. "1"
  1210. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1211. x-kubernetes-int-or-string: true
  1212. resource:
  1213. description: 'Required: resource to select'
  1214. type: string
  1215. required:
  1216. - resource
  1217. type: object
  1218. x-kubernetes-map-type: atomic
  1219. secretKeyRef:
  1220. description: Selects a key of a secret in the
  1221. pod's namespace
  1222. properties:
  1223. key:
  1224. description: The key of the secret to select
  1225. from. Must be a valid secret key.
  1226. type: string
  1227. name:
  1228. default: ""
  1229. description: |-
  1230. Name of the referent.
  1231. This field is effectively required, but due to backwards compatibility is
  1232. allowed to be empty. Instances of this type with an empty value here are
  1233. almost certainly wrong.
  1234. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1235. type: string
  1236. optional:
  1237. description: Specify whether the Secret
  1238. or its key must be defined
  1239. type: boolean
  1240. required:
  1241. - key
  1242. type: object
  1243. x-kubernetes-map-type: atomic
  1244. type: object
  1245. required:
  1246. - name
  1247. type: object
  1248. type: array
  1249. envFrom:
  1250. description: envFrom references ConfigMaps or Secrets
  1251. whose key-value pairs are injected as environment variables.
  1252. items:
  1253. description: EnvFromSource represents the source of
  1254. a set of ConfigMaps or Secrets
  1255. properties:
  1256. configMapRef:
  1257. description: The ConfigMap to select from
  1258. properties:
  1259. name:
  1260. default: ""
  1261. description: |-
  1262. Name of the referent.
  1263. This field is effectively required, but due to backwards compatibility is
  1264. allowed to be empty. Instances of this type with an empty value here are
  1265. almost certainly wrong.
  1266. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1267. type: string
  1268. optional:
  1269. description: Specify whether the ConfigMap must
  1270. be defined
  1271. type: boolean
  1272. type: object
  1273. x-kubernetes-map-type: atomic
  1274. prefix:
  1275. description: |-
  1276. Optional text to prepend to the name of each environment variable.
  1277. May consist of any printable ASCII characters except '='.
  1278. type: string
  1279. secretRef:
  1280. description: The Secret to select from
  1281. properties:
  1282. name:
  1283. default: ""
  1284. description: |-
  1285. Name of the referent.
  1286. This field is effectively required, but due to backwards compatibility is
  1287. allowed to be empty. Instances of this type with an empty value here are
  1288. almost certainly wrong.
  1289. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1290. type: string
  1291. optional:
  1292. description: Specify whether the Secret must
  1293. be defined
  1294. type: boolean
  1295. type: object
  1296. x-kubernetes-map-type: atomic
  1297. type: object
  1298. type: array
  1299. extraArgs:
  1300. description: extraArgs are appended to the preset command.
  1301. items:
  1302. type: string
  1303. type: array
  1304. image:
  1305. description: |-
  1306. image specifies or overrides the preset's container image, e.g. to pin a specific tag
  1307. or pull from a private registry mirror.
  1308. type: string
  1309. name:
  1310. description: name selects a built-in runtime preset.
  1311. type: string
  1312. port:
  1313. description: port specifies or overrides the container
  1314. port the runtime listens on.
  1315. format: int32
  1316. type: integer
  1317. volumeMounts:
  1318. description: volumeMounts defines where pod volumes are
  1319. mounted inside the container.
  1320. items:
  1321. description: VolumeMount describes a mounting of a Volume
  1322. within a container.
  1323. properties:
  1324. mountPath:
  1325. description: |-
  1326. Path within the container at which the volume should be mounted. Must
  1327. not contain ':'.
  1328. type: string
  1329. mountPropagation:
  1330. description: |-
  1331. mountPropagation determines how mounts are propagated from the host
  1332. to container and the other way around.
  1333. When not set, MountPropagationNone is used.
  1334. This field is beta in 1.10.
  1335. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
  1336. (which defaults to None).
  1337. type: string
  1338. name:
  1339. description: This must match the Name of a Volume.
  1340. type: string
  1341. readOnly:
  1342. description: |-
  1343. Mounted read-only if true, read-write otherwise (false or unspecified).
  1344. Defaults to false.
  1345. type: boolean
  1346. recursiveReadOnly:
  1347. description: |-
  1348. RecursiveReadOnly specifies whether read-only mounts should be handled
  1349. recursively.
  1350. If ReadOnly is false, this field has no meaning and must be unspecified.
  1351. If ReadOnly is true, and this field is set to Disabled, the mount is not made
  1352. recursively read-only. If this field is set to IfPossible, the mount is made
  1353. recursively read-only, if it is supported by the container runtime. If this
  1354. field is set to Enabled, the mount is made recursively read-only if it is
  1355. supported by the container runtime, otherwise the pod will not be started and
  1356. an error will be generated to indicate the reason.
  1357. If this field is set to IfPossible or Enabled, MountPropagation must be set to
  1358. None (or be unspecified, which defaults to None).
  1359. If this field is not specified, it is treated as an equivalent of Disabled.
  1360. type: string
  1361. subPath:
  1362. description: |-
  1363. Path within the volume from which the container's volume should be mounted.
  1364. Defaults to "" (volume's root).
  1365. type: string
  1366. subPathExpr:
  1367. description: |-
  1368. Expanded path within the volume from which the container's volume should be mounted.
  1369. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
  1370. Defaults to "" (volume's root).
  1371. SubPathExpr and SubPath are mutually exclusive.
  1372. type: string
  1373. required:
  1374. - mountPath
  1375. - name
  1376. type: object
  1377. type: array
  1378. type: object
  1379. securityContext:
  1380. description: |-
  1381. securityContext sets pod-level security attributes such as runAsUser,
  1382. runAsGroup, fsGroup, and sysctls.
  1383. properties:
  1384. appArmorProfile:
  1385. description: |-
  1386. appArmorProfile is the AppArmor options to use by the containers in this pod.
  1387. Note that this field cannot be set when spec.os.name is windows.
  1388. properties:
  1389. localhostProfile:
  1390. description: |-
  1391. localhostProfile indicates a profile loaded on the node that should be used.
  1392. The profile must be preconfigured on the node to work.
  1393. Must match the loaded name of the profile.
  1394. Must be set if and only if type is "Localhost".
  1395. type: string
  1396. type:
  1397. description: |-
  1398. type indicates which kind of AppArmor profile will be applied.
  1399. Valid options are:
  1400. Localhost - a profile pre-loaded on the node.
  1401. RuntimeDefault - the container runtime's default profile.
  1402. Unconfined - no AppArmor enforcement.
  1403. type: string
  1404. required:
  1405. - type
  1406. type: object
  1407. fsGroup:
  1408. description: |-
  1409. A special supplemental group that applies to all containers in a pod.
  1410. Some volume types allow the Kubelet to change the ownership of that volume
  1411. to be owned by the pod:
  1412. 1. The owning GID will be the FSGroup
  1413. 2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
  1414. 3. The permission bits are OR'd with rw-rw----
  1415. If unset, the Kubelet will not modify the ownership and permissions of any volume.
  1416. Note that this field cannot be set when spec.os.name is windows.
  1417. format: int64
  1418. type: integer
  1419. fsGroupChangePolicy:
  1420. description: |-
  1421. fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
  1422. before being exposed inside Pod. This field will only apply to
  1423. volume types which support fsGroup based ownership(and permissions).
  1424. It will have no effect on ephemeral volume types such as: secret, configmaps
  1425. and emptydir.
  1426. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
  1427. Note that this field cannot be set when spec.os.name is windows.
  1428. type: string
  1429. runAsGroup:
  1430. description: |-
  1431. The GID to run the entrypoint of the container process.
  1432. Uses runtime default if unset.
  1433. May also be set in SecurityContext. If set in both SecurityContext and
  1434. PodSecurityContext, the value specified in SecurityContext takes precedence
  1435. for that container.
  1436. Note that this field cannot be set when spec.os.name is windows.
  1437. format: int64
  1438. type: integer
  1439. runAsNonRoot:
  1440. description: |-
  1441. Indicates that the container must run as a non-root user.
  1442. If true, the Kubelet will validate the image at runtime to ensure that it
  1443. does not run as UID 0 (root) and fail to start the container if it does.
  1444. If unset or false, no such validation will be performed.
  1445. May also be set in SecurityContext. If set in both SecurityContext and
  1446. PodSecurityContext, the value specified in SecurityContext takes precedence.
  1447. type: boolean
  1448. runAsUser:
  1449. description: |-
  1450. The UID to run the entrypoint of the container process.
  1451. Defaults to user specified in image metadata if unspecified.
  1452. May also be set in SecurityContext. If set in both SecurityContext and
  1453. PodSecurityContext, the value specified in SecurityContext takes precedence
  1454. for that container.
  1455. Note that this field cannot be set when spec.os.name is windows.
  1456. format: int64
  1457. type: integer
  1458. seLinuxChangePolicy:
  1459. description: |-
  1460. seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
  1461. It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
  1462. Valid values are "MountOption" and "Recursive".
  1463. "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
  1464. This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
  1465. "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
  1466. This requires all Pods that share the same volume to use the same SELinux label.
  1467. It is not possible to share the same volume among privileged and unprivileged Pods.
  1468. Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
  1469. whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
  1470. CSIDriver instance. Other volumes are always re-labelled recursively.
  1471. "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
  1472. If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
  1473. If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
  1474. and "Recursive" for all other volumes.
  1475. This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
  1476. All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
  1477. Note that this field cannot be set when spec.os.name is windows.
  1478. type: string
  1479. seLinuxOptions:
  1480. description: |-
  1481. The SELinux context to be applied to all containers.
  1482. If unspecified, the container runtime will allocate a random SELinux context for each
  1483. container. May also be set in SecurityContext. If set in
  1484. both SecurityContext and PodSecurityContext, the value specified in SecurityContext
  1485. takes precedence for that container.
  1486. Note that this field cannot be set when spec.os.name is windows.
  1487. properties:
  1488. level:
  1489. description: Level is SELinux level label that applies
  1490. to the container.
  1491. type: string
  1492. role:
  1493. description: Role is a SELinux role label that applies
  1494. to the container.
  1495. type: string
  1496. type:
  1497. description: Type is a SELinux type label that applies
  1498. to the container.
  1499. type: string
  1500. user:
  1501. description: User is a SELinux user label that applies
  1502. to the container.
  1503. type: string
  1504. type: object
  1505. seccompProfile:
  1506. description: |-
  1507. The seccomp options to use by the containers in this pod.
  1508. Note that this field cannot be set when spec.os.name is windows.
  1509. properties:
  1510. localhostProfile:
  1511. description: |-
  1512. localhostProfile indicates a profile defined in a file on the node should be used.
  1513. The profile must be preconfigured on the node to work.
  1514. Must be a descending path, relative to the kubelet's configured seccomp profile location.
  1515. Must be set if type is "Localhost". Must NOT be set for any other type.
  1516. type: string
  1517. type:
  1518. description: |-
  1519. type indicates which kind of seccomp profile will be applied.
  1520. Valid options are:
  1521. Localhost - a profile defined in a file on the node should be used.
  1522. RuntimeDefault - the container runtime default profile should be used.
  1523. Unconfined - no profile should be applied.
  1524. type: string
  1525. required:
  1526. - type
  1527. type: object
  1528. supplementalGroups:
  1529. description: |-
  1530. A list of groups applied to the first process run in each container, in
  1531. addition to the container's primary GID and fsGroup (if specified). If
  1532. the SupplementalGroupsPolicy feature is enabled, the
  1533. supplementalGroupsPolicy field determines whether these are in addition
  1534. to or instead of any group memberships defined in the container image.
  1535. If unspecified, no additional groups are added, though group memberships
  1536. defined in the container image may still be used, depending on the
  1537. supplementalGroupsPolicy field.
  1538. Note that this field cannot be set when spec.os.name is windows.
  1539. items:
  1540. format: int64
  1541. type: integer
  1542. type: array
  1543. x-kubernetes-list-type: atomic
  1544. supplementalGroupsPolicy:
  1545. description: |-
  1546. Defines how supplemental groups of the first container processes are calculated.
  1547. Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
  1548. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
  1549. and the container runtime must implement support for this feature.
  1550. Note that this field cannot be set when spec.os.name is windows.
  1551. type: string
  1552. sysctls:
  1553. description: |-
  1554. Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
  1555. sysctls (by the container runtime) might fail to launch.
  1556. Note that this field cannot be set when spec.os.name is windows.
  1557. items:
  1558. description: Sysctl defines a kernel parameter to be
  1559. set
  1560. properties:
  1561. name:
  1562. description: Name of a property to set
  1563. type: string
  1564. value:
  1565. description: Value of a property to set
  1566. type: string
  1567. required:
  1568. - name
  1569. - value
  1570. type: object
  1571. type: array
  1572. x-kubernetes-list-type: atomic
  1573. windowsOptions:
  1574. description: |-
  1575. The Windows specific settings applied to all containers.
  1576. If unspecified, the options within a container's SecurityContext will be used.
  1577. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  1578. Note that this field cannot be set when spec.os.name is linux.
  1579. properties:
  1580. gmsaCredentialSpec:
  1581. description: |-
  1582. GMSACredentialSpec is where the GMSA admission webhook
  1583. (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
  1584. GMSA credential spec named by the GMSACredentialSpecName field.
  1585. type: string
  1586. gmsaCredentialSpecName:
  1587. description: GMSACredentialSpecName is the name of
  1588. the GMSA credential spec to use.
  1589. type: string
  1590. hostProcess:
  1591. description: |-
  1592. HostProcess determines if a container should be run as a 'Host Process' container.
  1593. All of a Pod's containers must have the same effective HostProcess value
  1594. (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
  1595. In addition, if HostProcess is true then HostNetwork must also be set to true.
  1596. type: boolean
  1597. runAsUserName:
  1598. description: |-
  1599. The UserName in Windows to run the entrypoint of the container process.
  1600. Defaults to the user specified in image metadata if unspecified.
  1601. May also be set in PodSecurityContext. If set in both SecurityContext and
  1602. PodSecurityContext, the value specified in SecurityContext takes precedence.
  1603. type: string
  1604. type: object
  1605. type: object
  1606. tolerations:
  1607. description: tolerations allow pods to be scheduled onto nodes
  1608. with matching taints.
  1609. items:
  1610. description: |-
  1611. The pod this Toleration is attached to tolerates any taint that matches
  1612. the triple <key,value,effect> using the matching operator <operator>.
  1613. properties:
  1614. effect:
  1615. description: |-
  1616. Effect indicates the taint effect to match. Empty means match all taint effects.
  1617. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1618. type: string
  1619. key:
  1620. description: |-
  1621. Key is the taint key that the toleration applies to. Empty means match all taint keys.
  1622. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1623. type: string
  1624. operator:
  1625. description: |-
  1626. Operator represents a key's relationship to the value.
  1627. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal.
  1628. Exists is equivalent to wildcard for value, so that a pod can
  1629. tolerate all taints of a particular category.
  1630. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).
  1631. type: string
  1632. tolerationSeconds:
  1633. description: |-
  1634. TolerationSeconds represents the period of time the toleration (which must be
  1635. of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  1636. it is not set, which means tolerate the taint forever (do not evict). Zero and
  1637. negative values will be treated as 0 (evict immediately) by the system.
  1638. format: int64
  1639. type: integer
  1640. value:
  1641. description: |-
  1642. Value is the taint value the toleration matches to.
  1643. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1644. type: string
  1645. type: object
  1646. type: array
  1647. topologySpreadConstraints:
  1648. description: |-
  1649. topologySpreadConstraints controls how pods are spread across failure
  1650. domains (zones, nodes). Prefer this over pod anti-affinity for HA spread.
  1651. items:
  1652. description: TopologySpreadConstraint specifies how to spread
  1653. matching pods among the given topology.
  1654. properties:
  1655. labelSelector:
  1656. description: |-
  1657. LabelSelector is used to find matching pods.
  1658. Pods that match this label selector are counted to determine the number of pods
  1659. in their corresponding topology domain.
  1660. properties:
  1661. matchExpressions:
  1662. description: matchExpressions is a list of label
  1663. selector requirements. The requirements are ANDed.
  1664. items:
  1665. description: |-
  1666. A label selector requirement is a selector that contains values, a key, and an operator that
  1667. relates the key and values.
  1668. properties:
  1669. key:
  1670. description: key is the label key that the
  1671. selector applies to.
  1672. type: string
  1673. operator:
  1674. description: |-
  1675. operator represents a key's relationship to a set of values.
  1676. Valid operators are In, NotIn, Exists and DoesNotExist.
  1677. type: string
  1678. values:
  1679. description: |-
  1680. values is an array of string values. If the operator is In or NotIn,
  1681. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1682. the values array must be empty. This array is replaced during a strategic
  1683. merge patch.
  1684. items:
  1685. type: string
  1686. type: array
  1687. x-kubernetes-list-type: atomic
  1688. required:
  1689. - key
  1690. - operator
  1691. type: object
  1692. type: array
  1693. x-kubernetes-list-type: atomic
  1694. matchLabels:
  1695. additionalProperties:
  1696. type: string
  1697. description: |-
  1698. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1699. map is equivalent to an element of matchExpressions, whose key field is "key", the
  1700. operator is "In", and the values array contains only "value". The requirements are ANDed.
  1701. type: object
  1702. type: object
  1703. x-kubernetes-map-type: atomic
  1704. matchLabelKeys:
  1705. description: |-
  1706. MatchLabelKeys is a set of pod label keys to select the pods over which
  1707. spreading will be calculated. The keys are used to lookup values from the
  1708. incoming pod labels, those key-value labels are ANDed with labelSelector
  1709. to select the group of existing pods over which spreading will be calculated
  1710. for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
  1711. MatchLabelKeys cannot be set when LabelSelector isn't set.
  1712. Keys that don't exist in the incoming pod labels will
  1713. be ignored. A null or empty list means only match against labelSelector.
  1714. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
  1715. items:
  1716. type: string
  1717. type: array
  1718. x-kubernetes-list-type: atomic
  1719. maxSkew:
  1720. description: |-
  1721. MaxSkew describes the degree to which pods may be unevenly distributed.
  1722. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
  1723. between the number of matching pods in the target topology and the global minimum.
  1724. The global minimum is the minimum number of matching pods in an eligible domain
  1725. or zero if the number of eligible domains is less than MinDomains.
  1726. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  1727. labelSelector spread as 2/2/1:
  1728. In this case, the global minimum is 1.
  1729. | zone1 | zone2 | zone3 |
  1730. | P P | P P | P |
  1731. - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
  1732. scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
  1733. violate MaxSkew(1).
  1734. - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
  1735. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
  1736. to topologies that satisfy it.
  1737. It's a required field. Default value is 1 and 0 is not allowed.
  1738. format: int32
  1739. type: integer
  1740. minDomains:
  1741. description: |-
  1742. MinDomains indicates a minimum number of eligible domains.
  1743. When the number of eligible domains with matching topology keys is less than minDomains,
  1744. Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
  1745. And when the number of eligible domains with matching topology keys equals or greater than minDomains,
  1746. this value has no effect on scheduling.
  1747. As a result, when the number of eligible domains is less than minDomains,
  1748. scheduler won't schedule more than maxSkew Pods to those domains.
  1749. If value is nil, the constraint behaves as if MinDomains is equal to 1.
  1750. Valid values are integers greater than 0.
  1751. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
  1752. For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
  1753. labelSelector spread as 2/2/2:
  1754. | zone1 | zone2 | zone3 |
  1755. | P P | P P | P P |
  1756. The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
  1757. In this situation, new pod with the same labelSelector cannot be scheduled,
  1758. because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
  1759. it will violate MaxSkew.
  1760. format: int32
  1761. type: integer
  1762. nodeAffinityPolicy:
  1763. description: |-
  1764. NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
  1765. when calculating pod topology spread skew. Options are:
  1766. - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
  1767. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
  1768. If this value is nil, the behavior is equivalent to the Honor policy.
  1769. type: string
  1770. nodeTaintsPolicy:
  1771. description: |-
  1772. NodeTaintsPolicy indicates how we will treat node taints when calculating
  1773. pod topology spread skew. Options are:
  1774. - Honor: nodes without taints, along with tainted nodes for which the incoming pod
  1775. has a toleration, are included.
  1776. - Ignore: node taints are ignored. All nodes are included.
  1777. If this value is nil, the behavior is equivalent to the Ignore policy.
  1778. type: string
  1779. topologyKey:
  1780. description: |-
  1781. TopologyKey is the key of node labels. Nodes that have a label with this key
  1782. and identical values are considered to be in the same topology.
  1783. We consider each <key, value> as a "bucket", and try to put balanced number
  1784. of pods into each bucket.
  1785. We define a domain as a particular instance of a topology.
  1786. Also, we define an eligible domain as a domain whose nodes meet the requirements of
  1787. nodeAffinityPolicy and nodeTaintsPolicy.
  1788. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
  1789. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
  1790. It's a required field.
  1791. type: string
  1792. whenUnsatisfiable:
  1793. description: |-
  1794. WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
  1795. the spread constraint.
  1796. - DoNotSchedule (default) tells the scheduler not to schedule it.
  1797. - ScheduleAnyway tells the scheduler to schedule the pod in any location,
  1798. but giving higher precedence to topologies that would help reduce the
  1799. skew.
  1800. A constraint is considered "Unsatisfiable" for an incoming pod
  1801. if and only if every possible node assignment for that pod would violate
  1802. "MaxSkew" on some topology.
  1803. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  1804. labelSelector spread as 3/1/1:
  1805. | zone1 | zone2 | zone3 |
  1806. | P P P | P | P |
  1807. If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
  1808. to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
  1809. MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
  1810. won't make it *more* imbalanced.
  1811. It's a required field.
  1812. type: string
  1813. required:
  1814. - maxSkew
  1815. - topologyKey
  1816. - whenUnsatisfiable
  1817. type: object
  1818. type: array
  1819. volumes:
  1820. description: volumes defines additional pod volumes available
  1821. to the runtime container.
  1822. items:
  1823. description: Volume represents a named volume in a pod that
  1824. may be accessed by any container in the pod.
  1825. properties:
  1826. awsElasticBlockStore:
  1827. description: |-
  1828. awsElasticBlockStore represents an AWS Disk resource that is attached to a
  1829. kubelet's host machine and then exposed to the pod.
  1830. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
  1831. awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
  1832. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1833. properties:
  1834. fsType:
  1835. description: |-
  1836. fsType is the filesystem type of the volume that you want to mount.
  1837. Tip: Ensure that the filesystem type is supported by the host operating system.
  1838. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1839. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1840. type: string
  1841. partition:
  1842. description: |-
  1843. partition is the partition in the volume that you want to mount.
  1844. If omitted, the default is to mount by volume name.
  1845. Examples: For volume /dev/sda1, you specify the partition as "1".
  1846. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  1847. format: int32
  1848. type: integer
  1849. readOnly:
  1850. description: |-
  1851. readOnly value true will force the readOnly setting in VolumeMounts.
  1852. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1853. type: boolean
  1854. volumeID:
  1855. description: |-
  1856. volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
  1857. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1858. type: string
  1859. required:
  1860. - volumeID
  1861. type: object
  1862. azureDisk:
  1863. description: |-
  1864. azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
  1865. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
  1866. are redirected to the disk.csi.azure.com CSI driver.
  1867. properties:
  1868. cachingMode:
  1869. description: 'cachingMode is the Host Caching mode:
  1870. None, Read Only, Read Write.'
  1871. type: string
  1872. diskName:
  1873. description: diskName is the Name of the data disk
  1874. in the blob storage
  1875. type: string
  1876. diskURI:
  1877. description: diskURI is the URI of data disk in
  1878. the blob storage
  1879. type: string
  1880. fsType:
  1881. default: ext4
  1882. description: |-
  1883. fsType is Filesystem type to mount.
  1884. Must be a filesystem type supported by the host operating system.
  1885. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1886. type: string
  1887. kind:
  1888. description: 'kind expected values are Shared: multiple
  1889. blob disks per storage account Dedicated: single
  1890. blob disk per storage account Managed: azure
  1891. managed data disk (only in managed availability
  1892. set). defaults to shared'
  1893. type: string
  1894. readOnly:
  1895. default: false
  1896. description: |-
  1897. readOnly Defaults to false (read/write). ReadOnly here will force
  1898. the ReadOnly setting in VolumeMounts.
  1899. type: boolean
  1900. required:
  1901. - diskName
  1902. - diskURI
  1903. type: object
  1904. azureFile:
  1905. description: |-
  1906. azureFile represents an Azure File Service mount on the host and bind mount to the pod.
  1907. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
  1908. are redirected to the file.csi.azure.com CSI driver.
  1909. properties:
  1910. readOnly:
  1911. description: |-
  1912. readOnly defaults to false (read/write). ReadOnly here will force
  1913. the ReadOnly setting in VolumeMounts.
  1914. type: boolean
  1915. secretName:
  1916. description: secretName is the name of secret that
  1917. contains Azure Storage Account Name and Key
  1918. type: string
  1919. shareName:
  1920. description: shareName is the azure share Name
  1921. type: string
  1922. required:
  1923. - secretName
  1924. - shareName
  1925. type: object
  1926. cephfs:
  1927. description: |-
  1928. cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
  1929. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
  1930. properties:
  1931. monitors:
  1932. description: |-
  1933. monitors is Required: Monitors is a collection of Ceph monitors
  1934. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1935. items:
  1936. type: string
  1937. type: array
  1938. x-kubernetes-list-type: atomic
  1939. path:
  1940. description: 'path is Optional: Used as the mounted
  1941. root, rather than the full Ceph tree, default
  1942. is /'
  1943. type: string
  1944. readOnly:
  1945. description: |-
  1946. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  1947. the ReadOnly setting in VolumeMounts.
  1948. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1949. type: boolean
  1950. secretFile:
  1951. description: |-
  1952. secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
  1953. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1954. type: string
  1955. secretRef:
  1956. description: |-
  1957. secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
  1958. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1959. properties:
  1960. name:
  1961. default: ""
  1962. description: |-
  1963. Name of the referent.
  1964. This field is effectively required, but due to backwards compatibility is
  1965. allowed to be empty. Instances of this type with an empty value here are
  1966. almost certainly wrong.
  1967. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1968. type: string
  1969. type: object
  1970. x-kubernetes-map-type: atomic
  1971. user:
  1972. description: |-
  1973. user is optional: User is the rados user name, default is admin
  1974. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1975. type: string
  1976. required:
  1977. - monitors
  1978. type: object
  1979. cinder:
  1980. description: |-
  1981. cinder represents a cinder volume attached and mounted on kubelets host machine.
  1982. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
  1983. are redirected to the cinder.csi.openstack.org CSI driver.
  1984. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  1985. properties:
  1986. fsType:
  1987. description: |-
  1988. fsType is the filesystem type to mount.
  1989. Must be a filesystem type supported by the host operating system.
  1990. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1991. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  1992. type: string
  1993. readOnly:
  1994. description: |-
  1995. readOnly defaults to false (read/write). ReadOnly here will force
  1996. the ReadOnly setting in VolumeMounts.
  1997. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  1998. type: boolean
  1999. secretRef:
  2000. description: |-
  2001. secretRef is optional: points to a secret object containing parameters used to connect
  2002. to OpenStack.
  2003. properties:
  2004. name:
  2005. default: ""
  2006. description: |-
  2007. Name of the referent.
  2008. This field is effectively required, but due to backwards compatibility is
  2009. allowed to be empty. Instances of this type with an empty value here are
  2010. almost certainly wrong.
  2011. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2012. type: string
  2013. type: object
  2014. x-kubernetes-map-type: atomic
  2015. volumeID:
  2016. description: |-
  2017. volumeID used to identify the volume in cinder.
  2018. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  2019. type: string
  2020. required:
  2021. - volumeID
  2022. type: object
  2023. configMap:
  2024. description: configMap represents a configMap that should
  2025. populate this volume
  2026. properties:
  2027. defaultMode:
  2028. description: |-
  2029. defaultMode is optional: mode bits used to set permissions on created files by default.
  2030. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  2031. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2032. Defaults to 0644.
  2033. Directories within the path are not affected by this setting.
  2034. This might be in conflict with other options that affect the file
  2035. mode, like fsGroup, and the result can be other mode bits set.
  2036. format: int32
  2037. type: integer
  2038. items:
  2039. description: |-
  2040. items if unspecified, each key-value pair in the Data field of the referenced
  2041. ConfigMap will be projected into the volume as a file whose name is the
  2042. key and content is the value. If specified, the listed keys will be
  2043. projected into the specified paths, and unlisted keys will not be
  2044. present. If a key is specified which is not present in the ConfigMap,
  2045. the volume setup will error unless it is marked optional. Paths must be
  2046. relative and may not contain the '..' path or start with '..'.
  2047. items:
  2048. description: Maps a string key to a path within
  2049. a volume.
  2050. properties:
  2051. key:
  2052. description: key is the key to project.
  2053. type: string
  2054. mode:
  2055. description: |-
  2056. mode is Optional: mode bits used to set permissions on this file.
  2057. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  2058. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2059. If not specified, the volume defaultMode will be used.
  2060. This might be in conflict with other options that affect the file
  2061. mode, like fsGroup, and the result can be other mode bits set.
  2062. format: int32
  2063. type: integer
  2064. path:
  2065. description: |-
  2066. path is the relative path of the file to map the key to.
  2067. May not be an absolute path.
  2068. May not contain the path element '..'.
  2069. May not start with the string '..'.
  2070. type: string
  2071. required:
  2072. - key
  2073. - path
  2074. type: object
  2075. type: array
  2076. x-kubernetes-list-type: atomic
  2077. name:
  2078. default: ""
  2079. description: |-
  2080. Name of the referent.
  2081. This field is effectively required, but due to backwards compatibility is
  2082. allowed to be empty. Instances of this type with an empty value here are
  2083. almost certainly wrong.
  2084. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2085. type: string
  2086. optional:
  2087. description: optional specify whether the ConfigMap
  2088. or its keys must be defined
  2089. type: boolean
  2090. type: object
  2091. x-kubernetes-map-type: atomic
  2092. csi:
  2093. description: csi (Container Storage Interface) represents
  2094. ephemeral storage that is handled by certain external
  2095. CSI drivers.
  2096. properties:
  2097. driver:
  2098. description: |-
  2099. driver is the name of the CSI driver that handles this volume.
  2100. Consult with your admin for the correct name as registered in the cluster.
  2101. type: string
  2102. fsType:
  2103. description: |-
  2104. fsType to mount. Ex. "ext4", "xfs", "ntfs".
  2105. If not provided, the empty value is passed to the associated CSI driver
  2106. which will determine the default filesystem to apply.
  2107. type: string
  2108. nodePublishSecretRef:
  2109. description: |-
  2110. nodePublishSecretRef is a reference to the secret object containing
  2111. sensitive information to pass to the CSI driver to complete the CSI
  2112. NodePublishVolume and NodeUnpublishVolume calls.
  2113. This field is optional, and may be empty if no secret is required. If the
  2114. secret object contains more than one secret, all secret references are passed.
  2115. properties:
  2116. name:
  2117. default: ""
  2118. description: |-
  2119. Name of the referent.
  2120. This field is effectively required, but due to backwards compatibility is
  2121. allowed to be empty. Instances of this type with an empty value here are
  2122. almost certainly wrong.
  2123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2124. type: string
  2125. type: object
  2126. x-kubernetes-map-type: atomic
  2127. readOnly:
  2128. description: |-
  2129. readOnly specifies a read-only configuration for the volume.
  2130. Defaults to false (read/write).
  2131. type: boolean
  2132. volumeAttributes:
  2133. additionalProperties:
  2134. type: string
  2135. description: |-
  2136. volumeAttributes stores driver-specific properties that are passed to the CSI
  2137. driver. Consult your driver's documentation for supported values.
  2138. type: object
  2139. required:
  2140. - driver
  2141. type: object
  2142. downwardAPI:
  2143. description: downwardAPI represents downward API about
  2144. the pod that should populate this volume
  2145. properties:
  2146. defaultMode:
  2147. description: |-
  2148. Optional: mode bits to use on created files by default. Must be a
  2149. Optional: mode bits used to set permissions on created files by default.
  2150. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  2151. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2152. Defaults to 0644.
  2153. Directories within the path are not affected by this setting.
  2154. This might be in conflict with other options that affect the file
  2155. mode, like fsGroup, and the result can be other mode bits set.
  2156. format: int32
  2157. type: integer
  2158. items:
  2159. description: Items is a list of downward API volume
  2160. file
  2161. items:
  2162. description: DownwardAPIVolumeFile represents
  2163. information to create the file containing the
  2164. pod field
  2165. properties:
  2166. fieldRef:
  2167. description: 'Required: Selects a field of
  2168. the pod: only annotations, labels, name,
  2169. namespace and uid are supported.'
  2170. properties:
  2171. apiVersion:
  2172. description: Version of the schema the
  2173. FieldPath is written in terms of, defaults
  2174. to "v1".
  2175. type: string
  2176. fieldPath:
  2177. description: Path of the field to select
  2178. in the specified API version.
  2179. type: string
  2180. required:
  2181. - fieldPath
  2182. type: object
  2183. x-kubernetes-map-type: atomic
  2184. mode:
  2185. description: |-
  2186. Optional: mode bits used to set permissions on this file, must be an octal value
  2187. between 0000 and 0777 or a decimal value between 0 and 511.
  2188. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2189. If not specified, the volume defaultMode will be used.
  2190. This might be in conflict with other options that affect the file
  2191. mode, like fsGroup, and the result can be other mode bits set.
  2192. format: int32
  2193. type: integer
  2194. path:
  2195. description: 'Required: Path is the relative
  2196. path name of the file to be created. Must
  2197. not be absolute or contain the ''..'' path.
  2198. Must be utf-8 encoded. The first item of
  2199. the relative path must not start with ''..'''
  2200. type: string
  2201. resourceFieldRef:
  2202. description: |-
  2203. Selects a resource of the container: only resources limits and requests
  2204. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  2205. properties:
  2206. containerName:
  2207. description: 'Container name: required
  2208. for volumes, optional for env vars'
  2209. type: string
  2210. divisor:
  2211. anyOf:
  2212. - type: integer
  2213. - type: string
  2214. description: Specifies the output format
  2215. of the exposed resources, defaults to
  2216. "1"
  2217. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2218. x-kubernetes-int-or-string: true
  2219. resource:
  2220. description: 'Required: resource to select'
  2221. type: string
  2222. required:
  2223. - resource
  2224. type: object
  2225. x-kubernetes-map-type: atomic
  2226. required:
  2227. - path
  2228. type: object
  2229. type: array
  2230. x-kubernetes-list-type: atomic
  2231. type: object
  2232. emptyDir:
  2233. description: |-
  2234. emptyDir represents a temporary directory that shares a pod's lifetime.
  2235. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  2236. properties:
  2237. medium:
  2238. description: |-
  2239. medium represents what type of storage medium should back this directory.
  2240. The default is "" which means to use the node's default medium.
  2241. Must be an empty string (default) or Memory.
  2242. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  2243. type: string
  2244. sizeLimit:
  2245. anyOf:
  2246. - type: integer
  2247. - type: string
  2248. description: |-
  2249. sizeLimit is the total amount of local storage required for this EmptyDir volume.
  2250. The size limit is also applicable for memory medium.
  2251. The maximum usage on memory medium EmptyDir would be the minimum value between
  2252. the SizeLimit specified here and the sum of memory limits of all containers in a pod.
  2253. The default is nil which means that the limit is undefined.
  2254. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  2255. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2256. x-kubernetes-int-or-string: true
  2257. type: object
  2258. ephemeral:
  2259. description: |-
  2260. ephemeral represents a volume that is handled by a cluster storage driver.
  2261. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
  2262. and deleted when the pod is removed.
  2263. Use this if:
  2264. a) the volume is only needed while the pod runs,
  2265. b) features of normal volumes like restoring from snapshot or capacity
  2266. tracking are needed,
  2267. c) the storage driver is specified through a storage class, and
  2268. d) the storage driver supports dynamic volume provisioning through
  2269. a PersistentVolumeClaim (see EphemeralVolumeSource for more
  2270. information on the connection between this volume type
  2271. and PersistentVolumeClaim).
  2272. Use PersistentVolumeClaim or one of the vendor-specific
  2273. APIs for volumes that persist for longer than the lifecycle
  2274. of an individual pod.
  2275. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
  2276. be used that way - see the documentation of the driver for
  2277. more information.
  2278. A pod can use both types of ephemeral volumes and
  2279. persistent volumes at the same time.
  2280. properties:
  2281. volumeClaimTemplate:
  2282. description: |-
  2283. Will be used to create a stand-alone PVC to provision the volume.
  2284. The pod in which this EphemeralVolumeSource is embedded will be the
  2285. owner of the PVC, i.e. the PVC will be deleted together with the
  2286. pod. The name of the PVC will be `<pod name>-<volume name>` where
  2287. `<volume name>` is the name from the `PodSpec.Volumes` array
  2288. entry. Pod validation will reject the pod if the concatenated name
  2289. is not valid for a PVC (for example, too long).
  2290. An existing PVC with that name that is not owned by the pod
  2291. will *not* be used for the pod to avoid using an unrelated
  2292. volume by mistake. Starting the pod is then blocked until
  2293. the unrelated PVC is removed. If such a pre-created PVC is
  2294. meant to be used by the pod, the PVC has to updated with an
  2295. owner reference to the pod once the pod exists. Normally
  2296. this should not be necessary, but it may be useful when
  2297. manually reconstructing a broken cluster.
  2298. This field is read-only and no changes will be made by Kubernetes
  2299. to the PVC after it has been created.
  2300. Required, must not be nil.
  2301. properties:
  2302. metadata:
  2303. description: |-
  2304. May contain labels and annotations that will be copied into the PVC
  2305. when creating it. No other fields are allowed and will be rejected during
  2306. validation.
  2307. type: object
  2308. spec:
  2309. description: |-
  2310. The specification for the PersistentVolumeClaim. The entire content is
  2311. copied unchanged into the PVC that gets created from this
  2312. template. The same fields as in a PersistentVolumeClaim
  2313. are also valid here.
  2314. properties:
  2315. accessModes:
  2316. description: |-
  2317. accessModes contains the desired access modes the volume should have.
  2318. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
  2319. items:
  2320. type: string
  2321. type: array
  2322. x-kubernetes-list-type: atomic
  2323. dataSource:
  2324. description: |-
  2325. dataSource field can be used to specify either:
  2326. * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  2327. * An existing PVC (PersistentVolumeClaim)
  2328. If the provisioner or an external controller can support the specified data source,
  2329. it will create a new volume based on the contents of the specified data source.
  2330. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
  2331. and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
  2332. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
  2333. properties:
  2334. apiGroup:
  2335. description: |-
  2336. APIGroup is the group for the resource being referenced.
  2337. If APIGroup is not specified, the specified Kind must be in the core API group.
  2338. For any other third-party types, APIGroup is required.
  2339. type: string
  2340. kind:
  2341. description: Kind is the type of resource
  2342. being referenced
  2343. type: string
  2344. name:
  2345. description: Name is the name of resource
  2346. being referenced
  2347. type: string
  2348. required:
  2349. - kind
  2350. - name
  2351. type: object
  2352. x-kubernetes-map-type: atomic
  2353. dataSourceRef:
  2354. description: |-
  2355. dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
  2356. volume is desired. This may be any object from a non-empty API group (non
  2357. core object) or a PersistentVolumeClaim object.
  2358. When this field is specified, volume binding will only succeed if the type of
  2359. the specified object matches some installed volume populator or dynamic
  2360. provisioner.
  2361. This field will replace the functionality of the dataSource field and as such
  2362. if both fields are non-empty, they must have the same value. For backwards
  2363. compatibility, when namespace isn't specified in dataSourceRef,
  2364. both fields (dataSource and dataSourceRef) will be set to the same
  2365. value automatically if one of them is empty and the other is non-empty.
  2366. When namespace is specified in dataSourceRef,
  2367. dataSource isn't set to the same value and must be empty.
  2368. There are three important differences between dataSource and dataSourceRef:
  2369. * While dataSource only allows two specific types of objects, dataSourceRef
  2370. allows any non-core object, as well as PersistentVolumeClaim objects.
  2371. * While dataSource ignores disallowed values (dropping them), dataSourceRef
  2372. preserves all values, and generates an error if a disallowed value is
  2373. specified.
  2374. * While dataSource only allows local objects, dataSourceRef allows objects
  2375. in any namespaces.
  2376. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
  2377. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  2378. properties:
  2379. apiGroup:
  2380. description: |-
  2381. APIGroup is the group for the resource being referenced.
  2382. If APIGroup is not specified, the specified Kind must be in the core API group.
  2383. For any other third-party types, APIGroup is required.
  2384. type: string
  2385. kind:
  2386. description: Kind is the type of resource
  2387. being referenced
  2388. type: string
  2389. name:
  2390. description: Name is the name of resource
  2391. being referenced
  2392. type: string
  2393. namespace:
  2394. description: |-
  2395. Namespace is the namespace of resource being referenced
  2396. Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
  2397. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  2398. type: string
  2399. required:
  2400. - kind
  2401. - name
  2402. type: object
  2403. resources:
  2404. description: |-
  2405. resources represents the minimum resources the volume should have.
  2406. Users are allowed to specify resource requirements
  2407. that are lower than previous value but must still be higher than capacity recorded in the
  2408. status field of the claim.
  2409. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
  2410. properties:
  2411. limits:
  2412. additionalProperties:
  2413. anyOf:
  2414. - type: integer
  2415. - type: string
  2416. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2417. x-kubernetes-int-or-string: true
  2418. description: |-
  2419. Limits describes the maximum amount of compute resources allowed.
  2420. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  2421. type: object
  2422. requests:
  2423. additionalProperties:
  2424. anyOf:
  2425. - type: integer
  2426. - type: string
  2427. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2428. x-kubernetes-int-or-string: true
  2429. description: |-
  2430. Requests describes the minimum amount of compute resources required.
  2431. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  2432. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  2433. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  2434. type: object
  2435. type: object
  2436. selector:
  2437. description: selector is a label query over
  2438. volumes to consider for binding.
  2439. properties:
  2440. matchExpressions:
  2441. description: matchExpressions is a list
  2442. of label selector requirements. The
  2443. requirements are ANDed.
  2444. items:
  2445. description: |-
  2446. A label selector requirement is a selector that contains values, a key, and an operator that
  2447. relates the key and values.
  2448. properties:
  2449. key:
  2450. description: key is the label
  2451. key that the selector applies
  2452. to.
  2453. type: string
  2454. operator:
  2455. description: |-
  2456. operator represents a key's relationship to a set of values.
  2457. Valid operators are In, NotIn, Exists and DoesNotExist.
  2458. type: string
  2459. values:
  2460. description: |-
  2461. values is an array of string values. If the operator is In or NotIn,
  2462. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2463. the values array must be empty. This array is replaced during a strategic
  2464. merge patch.
  2465. items:
  2466. type: string
  2467. type: array
  2468. x-kubernetes-list-type: atomic
  2469. required:
  2470. - key
  2471. - operator
  2472. type: object
  2473. type: array
  2474. x-kubernetes-list-type: atomic
  2475. matchLabels:
  2476. additionalProperties:
  2477. type: string
  2478. description: |-
  2479. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2480. map is equivalent to an element of matchExpressions, whose key field is "key", the
  2481. operator is "In", and the values array contains only "value". The requirements are ANDed.
  2482. type: object
  2483. type: object
  2484. x-kubernetes-map-type: atomic
  2485. storageClassName:
  2486. description: |-
  2487. storageClassName is the name of the StorageClass required by the claim.
  2488. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
  2489. type: string
  2490. volumeAttributesClassName:
  2491. description: |-
  2492. volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
  2493. If specified, the CSI driver will create or update the volume with the attributes defined
  2494. in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
  2495. it can be changed after the claim is created. An empty string or nil value indicates that no
  2496. VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state,
  2497. this field can be reset to its previous value (including nil) to cancel the modification.
  2498. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
  2499. set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
  2500. exists.
  2501. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
  2502. type: string
  2503. volumeMode:
  2504. description: |-
  2505. volumeMode defines what type of volume is required by the claim.
  2506. Value of Filesystem is implied when not included in claim spec.
  2507. type: string
  2508. volumeName:
  2509. description: volumeName is the binding reference
  2510. to the PersistentVolume backing this claim.
  2511. type: string
  2512. type: object
  2513. required:
  2514. - spec
  2515. type: object
  2516. type: object
  2517. fc:
  2518. description: fc represents a Fibre Channel resource
  2519. that is attached to a kubelet's host machine and then
  2520. exposed to the pod.
  2521. properties:
  2522. fsType:
  2523. description: |-
  2524. fsType is the filesystem type to mount.
  2525. Must be a filesystem type supported by the host operating system.
  2526. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2527. type: string
  2528. lun:
  2529. description: 'lun is Optional: FC target lun number'
  2530. format: int32
  2531. type: integer
  2532. readOnly:
  2533. description: |-
  2534. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  2535. the ReadOnly setting in VolumeMounts.
  2536. type: boolean
  2537. targetWWNs:
  2538. description: 'targetWWNs is Optional: FC target
  2539. worldwide names (WWNs)'
  2540. items:
  2541. type: string
  2542. type: array
  2543. x-kubernetes-list-type: atomic
  2544. wwids:
  2545. description: |-
  2546. wwids Optional: FC volume world wide identifiers (wwids)
  2547. Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
  2548. items:
  2549. type: string
  2550. type: array
  2551. x-kubernetes-list-type: atomic
  2552. type: object
  2553. flexVolume:
  2554. description: |-
  2555. flexVolume represents a generic volume resource that is
  2556. provisioned/attached using an exec based plugin.
  2557. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
  2558. properties:
  2559. driver:
  2560. description: driver is the name of the driver to
  2561. use for this volume.
  2562. type: string
  2563. fsType:
  2564. description: |-
  2565. fsType is the filesystem type to mount.
  2566. Must be a filesystem type supported by the host operating system.
  2567. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
  2568. type: string
  2569. options:
  2570. additionalProperties:
  2571. type: string
  2572. description: 'options is Optional: this field holds
  2573. extra command options if any.'
  2574. type: object
  2575. readOnly:
  2576. description: |-
  2577. readOnly is Optional: defaults to false (read/write). ReadOnly here will force
  2578. the ReadOnly setting in VolumeMounts.
  2579. type: boolean
  2580. secretRef:
  2581. description: |-
  2582. secretRef is Optional: secretRef is reference to the secret object containing
  2583. sensitive information to pass to the plugin scripts. This may be
  2584. empty if no secret object is specified. If the secret object
  2585. contains more than one secret, all secrets are passed to the plugin
  2586. scripts.
  2587. properties:
  2588. name:
  2589. default: ""
  2590. description: |-
  2591. Name of the referent.
  2592. This field is effectively required, but due to backwards compatibility is
  2593. allowed to be empty. Instances of this type with an empty value here are
  2594. almost certainly wrong.
  2595. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2596. type: string
  2597. type: object
  2598. x-kubernetes-map-type: atomic
  2599. required:
  2600. - driver
  2601. type: object
  2602. flocker:
  2603. description: |-
  2604. flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
  2605. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
  2606. properties:
  2607. datasetName:
  2608. description: |-
  2609. datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
  2610. should be considered as deprecated
  2611. type: string
  2612. datasetUUID:
  2613. description: datasetUUID is the UUID of the dataset.
  2614. This is unique identifier of a Flocker dataset
  2615. type: string
  2616. type: object
  2617. gcePersistentDisk:
  2618. description: |-
  2619. gcePersistentDisk represents a GCE Disk resource that is attached to a
  2620. kubelet's host machine and then exposed to the pod.
  2621. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
  2622. gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
  2623. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2624. properties:
  2625. fsType:
  2626. description: |-
  2627. fsType is filesystem type of the volume that you want to mount.
  2628. Tip: Ensure that the filesystem type is supported by the host operating system.
  2629. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2630. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2631. type: string
  2632. partition:
  2633. description: |-
  2634. partition is the partition in the volume that you want to mount.
  2635. If omitted, the default is to mount by volume name.
  2636. Examples: For volume /dev/sda1, you specify the partition as "1".
  2637. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  2638. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2639. format: int32
  2640. type: integer
  2641. pdName:
  2642. description: |-
  2643. pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
  2644. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2645. type: string
  2646. readOnly:
  2647. description: |-
  2648. readOnly here will force the ReadOnly setting in VolumeMounts.
  2649. Defaults to false.
  2650. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2651. type: boolean
  2652. required:
  2653. - pdName
  2654. type: object
  2655. gitRepo:
  2656. description: |-
  2657. gitRepo represents a git repository at a particular revision.
  2658. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
  2659. EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
  2660. into the Pod's container.
  2661. properties:
  2662. directory:
  2663. description: |-
  2664. directory is the target directory name.
  2665. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
  2666. git repository. Otherwise, if specified, the volume will contain the git repository in
  2667. the subdirectory with the given name.
  2668. type: string
  2669. repository:
  2670. description: repository is the URL
  2671. type: string
  2672. revision:
  2673. description: revision is the commit hash for the
  2674. specified revision.
  2675. type: string
  2676. required:
  2677. - repository
  2678. type: object
  2679. glusterfs:
  2680. description: |-
  2681. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
  2682. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
  2683. properties:
  2684. endpoints:
  2685. description: endpoints is the endpoint name that
  2686. details Glusterfs topology.
  2687. type: string
  2688. path:
  2689. description: |-
  2690. path is the Glusterfs volume path.
  2691. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  2692. type: string
  2693. readOnly:
  2694. description: |-
  2695. readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
  2696. Defaults to false.
  2697. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  2698. type: boolean
  2699. required:
  2700. - endpoints
  2701. - path
  2702. type: object
  2703. hostPath:
  2704. description: |-
  2705. hostPath represents a pre-existing file or directory on the host
  2706. machine that is directly exposed to the container. This is generally
  2707. used for system agents or other privileged things that are allowed
  2708. to see the host machine. Most containers will NOT need this.
  2709. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  2710. properties:
  2711. path:
  2712. description: |-
  2713. path of the directory on the host.
  2714. If the path is a symlink, it will follow the link to the real path.
  2715. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  2716. type: string
  2717. type:
  2718. description: |-
  2719. type for HostPath Volume
  2720. Defaults to ""
  2721. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  2722. type: string
  2723. required:
  2724. - path
  2725. type: object
  2726. image:
  2727. description: |-
  2728. image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
  2729. The volume is resolved at pod startup depending on which PullPolicy value is provided:
  2730. - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  2731. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  2732. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
  2733. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
  2734. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
  2735. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
  2736. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
  2737. The volume will be mounted read-only (ro) and non-executable files (noexec).
  2738. Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33.
  2739. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
  2740. properties:
  2741. pullPolicy:
  2742. description: |-
  2743. Policy for pulling OCI objects. Possible values are:
  2744. Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  2745. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  2746. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
  2747. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
  2748. type: string
  2749. reference:
  2750. description: |-
  2751. Required: Image or artifact reference to be used.
  2752. Behaves in the same way as pod.spec.containers[*].image.
  2753. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
  2754. More info: https://kubernetes.io/docs/concepts/containers/images
  2755. This field is optional to allow higher level config management to default or override
  2756. container images in workload controllers like Deployments and StatefulSets.
  2757. type: string
  2758. type: object
  2759. iscsi:
  2760. description: |-
  2761. iscsi represents an ISCSI Disk resource that is attached to a
  2762. kubelet's host machine and then exposed to the pod.
  2763. More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi
  2764. properties:
  2765. chapAuthDiscovery:
  2766. description: chapAuthDiscovery defines whether support
  2767. iSCSI Discovery CHAP authentication
  2768. type: boolean
  2769. chapAuthSession:
  2770. description: chapAuthSession defines whether support
  2771. iSCSI Session CHAP authentication
  2772. type: boolean
  2773. fsType:
  2774. description: |-
  2775. fsType is the filesystem type of the volume that you want to mount.
  2776. Tip: Ensure that the filesystem type is supported by the host operating system.
  2777. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2778. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  2779. type: string
  2780. initiatorName:
  2781. description: |-
  2782. initiatorName is the custom iSCSI Initiator Name.
  2783. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
  2784. <target portal>:<volume name> will be created for the connection.
  2785. type: string
  2786. iqn:
  2787. description: iqn is the target iSCSI Qualified Name.
  2788. type: string
  2789. iscsiInterface:
  2790. default: default
  2791. description: |-
  2792. iscsiInterface is the interface Name that uses an iSCSI transport.
  2793. Defaults to 'default' (tcp).
  2794. type: string
  2795. lun:
  2796. description: lun represents iSCSI Target Lun number.
  2797. format: int32
  2798. type: integer
  2799. portals:
  2800. description: |-
  2801. portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
  2802. is other than default (typically TCP ports 860 and 3260).
  2803. items:
  2804. type: string
  2805. type: array
  2806. x-kubernetes-list-type: atomic
  2807. readOnly:
  2808. description: |-
  2809. readOnly here will force the ReadOnly setting in VolumeMounts.
  2810. Defaults to false.
  2811. type: boolean
  2812. secretRef:
  2813. description: secretRef is the CHAP Secret for iSCSI
  2814. target and initiator authentication
  2815. properties:
  2816. name:
  2817. default: ""
  2818. description: |-
  2819. Name of the referent.
  2820. This field is effectively required, but due to backwards compatibility is
  2821. allowed to be empty. Instances of this type with an empty value here are
  2822. almost certainly wrong.
  2823. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2824. type: string
  2825. type: object
  2826. x-kubernetes-map-type: atomic
  2827. targetPortal:
  2828. description: |-
  2829. targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
  2830. is other than default (typically TCP ports 860 and 3260).
  2831. type: string
  2832. required:
  2833. - iqn
  2834. - lun
  2835. - targetPortal
  2836. type: object
  2837. name:
  2838. description: |-
  2839. name of the volume.
  2840. Must be a DNS_LABEL and unique within the pod.
  2841. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2842. type: string
  2843. nfs:
  2844. description: |-
  2845. nfs represents an NFS mount on the host that shares a pod's lifetime
  2846. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2847. properties:
  2848. path:
  2849. description: |-
  2850. path that is exported by the NFS server.
  2851. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2852. type: string
  2853. readOnly:
  2854. description: |-
  2855. readOnly here will force the NFS export to be mounted with read-only permissions.
  2856. Defaults to false.
  2857. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2858. type: boolean
  2859. server:
  2860. description: |-
  2861. server is the hostname or IP address of the NFS server.
  2862. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2863. type: string
  2864. required:
  2865. - path
  2866. - server
  2867. type: object
  2868. persistentVolumeClaim:
  2869. description: |-
  2870. persistentVolumeClaimVolumeSource represents a reference to a
  2871. PersistentVolumeClaim in the same namespace.
  2872. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  2873. properties:
  2874. claimName:
  2875. description: |-
  2876. claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  2877. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  2878. type: string
  2879. readOnly:
  2880. description: |-
  2881. readOnly Will force the ReadOnly setting in VolumeMounts.
  2882. Default false.
  2883. type: boolean
  2884. required:
  2885. - claimName
  2886. type: object
  2887. photonPersistentDisk:
  2888. description: |-
  2889. photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
  2890. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
  2891. properties:
  2892. fsType:
  2893. description: |-
  2894. fsType is the filesystem type to mount.
  2895. Must be a filesystem type supported by the host operating system.
  2896. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2897. type: string
  2898. pdID:
  2899. description: pdID is the ID that identifies Photon
  2900. Controller persistent disk
  2901. type: string
  2902. required:
  2903. - pdID
  2904. type: object
  2905. portworxVolume:
  2906. description: |-
  2907. portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
  2908. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
  2909. are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
  2910. is on.
  2911. properties:
  2912. fsType:
  2913. description: |-
  2914. fSType represents the filesystem type to mount
  2915. Must be a filesystem type supported by the host operating system.
  2916. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
  2917. type: string
  2918. readOnly:
  2919. description: |-
  2920. readOnly defaults to false (read/write). ReadOnly here will force
  2921. the ReadOnly setting in VolumeMounts.
  2922. type: boolean
  2923. volumeID:
  2924. description: volumeID uniquely identifies a Portworx
  2925. volume
  2926. type: string
  2927. required:
  2928. - volumeID
  2929. type: object
  2930. projected:
  2931. description: projected items for all in one resources
  2932. secrets, configmaps, and downward API
  2933. properties:
  2934. defaultMode:
  2935. description: |-
  2936. defaultMode are the mode bits used to set permissions on created files by default.
  2937. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  2938. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2939. Directories within the path are not affected by this setting.
  2940. This might be in conflict with other options that affect the file
  2941. mode, like fsGroup, and the result can be other mode bits set.
  2942. format: int32
  2943. type: integer
  2944. sources:
  2945. description: |-
  2946. sources is the list of volume projections. Each entry in this list
  2947. handles one source.
  2948. items:
  2949. description: |-
  2950. Projection that may be projected along with other supported volume types.
  2951. Exactly one of these fields must be set.
  2952. properties:
  2953. clusterTrustBundle:
  2954. description: |-
  2955. ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
  2956. of ClusterTrustBundle objects in an auto-updating file.
  2957. Alpha, gated by the ClusterTrustBundleProjection feature gate.
  2958. ClusterTrustBundle objects can either be selected by name, or by the
  2959. combination of signer name and a label selector.
  2960. Kubelet performs aggressive normalization of the PEM contents written
  2961. into the pod filesystem. Esoteric PEM features such as inter-block
  2962. comments and block headers are stripped. Certificates are deduplicated.
  2963. The ordering of certificates within the file is arbitrary, and Kubelet
  2964. may change the order over time.
  2965. properties:
  2966. labelSelector:
  2967. description: |-
  2968. Select all ClusterTrustBundles that match this label selector. Only has
  2969. effect if signerName is set. Mutually-exclusive with name. If unset,
  2970. interpreted as "match nothing". If set but empty, interpreted as "match
  2971. everything".
  2972. properties:
  2973. matchExpressions:
  2974. description: matchExpressions is a
  2975. list of label selector requirements.
  2976. The requirements are ANDed.
  2977. items:
  2978. description: |-
  2979. A label selector requirement is a selector that contains values, a key, and an operator that
  2980. relates the key and values.
  2981. properties:
  2982. key:
  2983. description: key is the label
  2984. key that the selector applies
  2985. to.
  2986. type: string
  2987. operator:
  2988. description: |-
  2989. operator represents a key's relationship to a set of values.
  2990. Valid operators are In, NotIn, Exists and DoesNotExist.
  2991. type: string
  2992. values:
  2993. description: |-
  2994. values is an array of string values. If the operator is In or NotIn,
  2995. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2996. the values array must be empty. This array is replaced during a strategic
  2997. merge patch.
  2998. items:
  2999. type: string
  3000. type: array
  3001. x-kubernetes-list-type: atomic
  3002. required:
  3003. - key
  3004. - operator
  3005. type: object
  3006. type: array
  3007. x-kubernetes-list-type: atomic
  3008. matchLabels:
  3009. additionalProperties:
  3010. type: string
  3011. description: |-
  3012. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3013. map is equivalent to an element of matchExpressions, whose key field is "key", the
  3014. operator is "In", and the values array contains only "value". The requirements are ANDed.
  3015. type: object
  3016. type: object
  3017. x-kubernetes-map-type: atomic
  3018. name:
  3019. description: |-
  3020. Select a single ClusterTrustBundle by object name. Mutually-exclusive
  3021. with signerName and labelSelector.
  3022. type: string
  3023. optional:
  3024. description: |-
  3025. If true, don't block pod startup if the referenced ClusterTrustBundle(s)
  3026. aren't available. If using name, then the named ClusterTrustBundle is
  3027. allowed not to exist. If using signerName, then the combination of
  3028. signerName and labelSelector is allowed to match zero
  3029. ClusterTrustBundles.
  3030. type: boolean
  3031. path:
  3032. description: Relative path from the volume
  3033. root to write the bundle.
  3034. type: string
  3035. signerName:
  3036. description: |-
  3037. Select all ClusterTrustBundles that match this signer name.
  3038. Mutually-exclusive with name. The contents of all selected
  3039. ClusterTrustBundles will be unified and deduplicated.
  3040. type: string
  3041. required:
  3042. - path
  3043. type: object
  3044. configMap:
  3045. description: configMap information about the
  3046. configMap data to project
  3047. properties:
  3048. items:
  3049. description: |-
  3050. items if unspecified, each key-value pair in the Data field of the referenced
  3051. ConfigMap will be projected into the volume as a file whose name is the
  3052. key and content is the value. If specified, the listed keys will be
  3053. projected into the specified paths, and unlisted keys will not be
  3054. present. If a key is specified which is not present in the ConfigMap,
  3055. the volume setup will error unless it is marked optional. Paths must be
  3056. relative and may not contain the '..' path or start with '..'.
  3057. items:
  3058. description: Maps a string key to a
  3059. path within a volume.
  3060. properties:
  3061. key:
  3062. description: key is the key to project.
  3063. type: string
  3064. mode:
  3065. description: |-
  3066. mode is Optional: mode bits used to set permissions on this file.
  3067. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  3068. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  3069. If not specified, the volume defaultMode will be used.
  3070. This might be in conflict with other options that affect the file
  3071. mode, like fsGroup, and the result can be other mode bits set.
  3072. format: int32
  3073. type: integer
  3074. path:
  3075. description: |-
  3076. path is the relative path of the file to map the key to.
  3077. May not be an absolute path.
  3078. May not contain the path element '..'.
  3079. May not start with the string '..'.
  3080. type: string
  3081. required:
  3082. - key
  3083. - path
  3084. type: object
  3085. type: array
  3086. x-kubernetes-list-type: atomic
  3087. name:
  3088. default: ""
  3089. description: |-
  3090. Name of the referent.
  3091. This field is effectively required, but due to backwards compatibility is
  3092. allowed to be empty. Instances of this type with an empty value here are
  3093. almost certainly wrong.
  3094. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3095. type: string
  3096. optional:
  3097. description: optional specify whether
  3098. the ConfigMap or its keys must be defined
  3099. type: boolean
  3100. type: object
  3101. x-kubernetes-map-type: atomic
  3102. downwardAPI:
  3103. description: downwardAPI information about
  3104. the downwardAPI data to project
  3105. properties:
  3106. items:
  3107. description: Items is a list of DownwardAPIVolume
  3108. file
  3109. items:
  3110. description: DownwardAPIVolumeFile represents
  3111. information to create the file containing
  3112. the pod field
  3113. properties:
  3114. fieldRef:
  3115. description: 'Required: Selects
  3116. a field of the pod: only annotations,
  3117. labels, name, namespace and uid
  3118. are supported.'
  3119. properties:
  3120. apiVersion:
  3121. description: Version of the
  3122. schema the FieldPath is written
  3123. in terms of, defaults to "v1".
  3124. type: string
  3125. fieldPath:
  3126. description: Path of the field
  3127. to select in the specified
  3128. API version.
  3129. type: string
  3130. required:
  3131. - fieldPath
  3132. type: object
  3133. x-kubernetes-map-type: atomic
  3134. mode:
  3135. description: |-
  3136. Optional: mode bits used to set permissions on this file, must be an octal value
  3137. between 0000 and 0777 or a decimal value between 0 and 511.
  3138. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  3139. If not specified, the volume defaultMode will be used.
  3140. This might be in conflict with other options that affect the file
  3141. mode, like fsGroup, and the result can be other mode bits set.
  3142. format: int32
  3143. type: integer
  3144. path:
  3145. description: 'Required: Path is the
  3146. relative path name of the file
  3147. to be created. Must not be absolute
  3148. or contain the ''..'' path. Must
  3149. be utf-8 encoded. The first item
  3150. of the relative path must not
  3151. start with ''..'''
  3152. type: string
  3153. resourceFieldRef:
  3154. description: |-
  3155. Selects a resource of the container: only resources limits and requests
  3156. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  3157. properties:
  3158. containerName:
  3159. description: 'Container name:
  3160. required for volumes, optional
  3161. for env vars'
  3162. type: string
  3163. divisor:
  3164. anyOf:
  3165. - type: integer
  3166. - type: string
  3167. description: Specifies the output
  3168. format of the exposed resources,
  3169. defaults to "1"
  3170. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3171. x-kubernetes-int-or-string: true
  3172. resource:
  3173. description: 'Required: resource
  3174. to select'
  3175. type: string
  3176. required:
  3177. - resource
  3178. type: object
  3179. x-kubernetes-map-type: atomic
  3180. required:
  3181. - path
  3182. type: object
  3183. type: array
  3184. x-kubernetes-list-type: atomic
  3185. type: object
  3186. podCertificate:
  3187. description: |-
  3188. Projects an auto-rotating credential bundle (private key and certificate
  3189. chain) that the pod can use either as a TLS client or server.
  3190. Kubelet generates a private key and uses it to send a
  3191. PodCertificateRequest to the named signer. Once the signer approves the
  3192. request and issues a certificate chain, Kubelet writes the key and
  3193. certificate chain to the pod filesystem. The pod does not start until
  3194. certificates have been issued for each podCertificate projected volume
  3195. source in its spec.
  3196. Kubelet will begin trying to rotate the certificate at the time indicated
  3197. by the signer using the PodCertificateRequest.Status.BeginRefreshAt
  3198. timestamp.
  3199. Kubelet can write a single file, indicated by the credentialBundlePath
  3200. field, or separate files, indicated by the keyPath and
  3201. certificateChainPath fields.
  3202. The credential bundle is a single file in PEM format. The first PEM
  3203. entry is the private key (in PKCS#8 format), and the remaining PEM
  3204. entries are the certificate chain issued by the signer (typically,
  3205. signers will return their certificate chain in leaf-to-root order).
  3206. Prefer using the credential bundle format, since your application code
  3207. can read it atomically. If you use keyPath and certificateChainPath,
  3208. your application must make two separate file reads. If these coincide
  3209. with a certificate rotation, it is possible that the private key and leaf
  3210. certificate you read may not correspond to each other. Your application
  3211. will need to check for this condition, and re-read until they are
  3212. consistent.
  3213. The named signer controls chooses the format of the certificate it
  3214. issues; consult the signer implementation's documentation to learn how to
  3215. use the certificates it issues.
  3216. properties:
  3217. certificateChainPath:
  3218. description: |-
  3219. Write the certificate chain at this path in the projected volume.
  3220. Most applications should use credentialBundlePath. When using keyPath
  3221. and certificateChainPath, your application needs to check that the key
  3222. and leaf certificate are consistent, because it is possible to read the
  3223. files mid-rotation.
  3224. type: string
  3225. credentialBundlePath:
  3226. description: |-
  3227. Write the credential bundle at this path in the projected volume.
  3228. The credential bundle is a single file that contains multiple PEM blocks.
  3229. The first PEM block is a PRIVATE KEY block, containing a PKCS#8 private
  3230. key.
  3231. The remaining blocks are CERTIFICATE blocks, containing the issued
  3232. certificate chain from the signer (leaf and any intermediates).
  3233. Using credentialBundlePath lets your Pod's application code make a single
  3234. atomic read that retrieves a consistent key and certificate chain. If you
  3235. project them to separate files, your application code will need to
  3236. additionally check that the leaf certificate was issued to the key.
  3237. type: string
  3238. keyPath:
  3239. description: |-
  3240. Write the key at this path in the projected volume.
  3241. Most applications should use credentialBundlePath. When using keyPath
  3242. and certificateChainPath, your application needs to check that the key
  3243. and leaf certificate are consistent, because it is possible to read the
  3244. files mid-rotation.
  3245. type: string
  3246. keyType:
  3247. description: |-
  3248. The type of keypair Kubelet will generate for the pod.
  3249. Valid values are "RSA3072", "RSA4096", "ECDSAP256", "ECDSAP384",
  3250. "ECDSAP521", and "ED25519".
  3251. type: string
  3252. maxExpirationSeconds:
  3253. description: |-
  3254. maxExpirationSeconds is the maximum lifetime permitted for the
  3255. certificate.
  3256. Kubelet copies this value verbatim into the PodCertificateRequests it
  3257. generates for this projection.
  3258. If omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver
  3259. will reject values shorter than 3600 (1 hour). The maximum allowable
  3260. value is 7862400 (91 days).
  3261. The signer implementation is then free to issue a certificate with any
  3262. lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600
  3263. seconds (1 hour). This constraint is enforced by kube-apiserver.
  3264. `kubernetes.io` signers will never issue certificates with a lifetime
  3265. longer than 24 hours.
  3266. format: int32
  3267. type: integer
  3268. signerName:
  3269. description: Kubelet's generated CSRs
  3270. will be addressed to this signer.
  3271. type: string
  3272. userAnnotations:
  3273. additionalProperties:
  3274. type: string
  3275. description: |-
  3276. userAnnotations allow pod authors to pass additional information to
  3277. the signer implementation. Kubernetes does not restrict or validate this
  3278. metadata in any way.
  3279. These values are copied verbatim into the `spec.unverifiedUserAnnotations` field of
  3280. the PodCertificateRequest objects that Kubelet creates.
  3281. Entries are subject to the same validation as object metadata annotations,
  3282. with the addition that all keys must be domain-prefixed. No restrictions
  3283. are placed on values, except an overall size limitation on the entire field.
  3284. Signers should document the keys and values they support. Signers should
  3285. deny requests that contain keys they do not recognize.
  3286. type: object
  3287. required:
  3288. - keyType
  3289. - signerName
  3290. type: object
  3291. secret:
  3292. description: secret information about the
  3293. secret data to project
  3294. properties:
  3295. items:
  3296. description: |-
  3297. items if unspecified, each key-value pair in the Data field of the referenced
  3298. Secret will be projected into the volume as a file whose name is the
  3299. key and content is the value. If specified, the listed keys will be
  3300. projected into the specified paths, and unlisted keys will not be
  3301. present. If a key is specified which is not present in the Secret,
  3302. the volume setup will error unless it is marked optional. Paths must be
  3303. relative and may not contain the '..' path or start with '..'.
  3304. items:
  3305. description: Maps a string key to a
  3306. path within a volume.
  3307. properties:
  3308. key:
  3309. description: key is the key to project.
  3310. type: string
  3311. mode:
  3312. description: |-
  3313. mode is Optional: mode bits used to set permissions on this file.
  3314. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  3315. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  3316. If not specified, the volume defaultMode will be used.
  3317. This might be in conflict with other options that affect the file
  3318. mode, like fsGroup, and the result can be other mode bits set.
  3319. format: int32
  3320. type: integer
  3321. path:
  3322. description: |-
  3323. path is the relative path of the file to map the key to.
  3324. May not be an absolute path.
  3325. May not contain the path element '..'.
  3326. May not start with the string '..'.
  3327. type: string
  3328. required:
  3329. - key
  3330. - path
  3331. type: object
  3332. type: array
  3333. x-kubernetes-list-type: atomic
  3334. name:
  3335. default: ""
  3336. description: |-
  3337. Name of the referent.
  3338. This field is effectively required, but due to backwards compatibility is
  3339. allowed to be empty. Instances of this type with an empty value here are
  3340. almost certainly wrong.
  3341. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3342. type: string
  3343. optional:
  3344. description: optional field specify whether
  3345. the Secret or its key must be defined
  3346. type: boolean
  3347. type: object
  3348. x-kubernetes-map-type: atomic
  3349. serviceAccountToken:
  3350. description: serviceAccountToken is information
  3351. about the serviceAccountToken data to project
  3352. properties:
  3353. audience:
  3354. description: |-
  3355. audience is the intended audience of the token. A recipient of a token
  3356. must identify itself with an identifier specified in the audience of the
  3357. token, and otherwise should reject the token. The audience defaults to the
  3358. identifier of the apiserver.
  3359. type: string
  3360. expirationSeconds:
  3361. description: |-
  3362. expirationSeconds is the requested duration of validity of the service
  3363. account token. As the token approaches expiration, the kubelet volume
  3364. plugin will proactively rotate the service account token. The kubelet will
  3365. start trying to rotate the token if the token is older than 80 percent of
  3366. its time to live or if the token is older than 24 hours.Defaults to 1 hour
  3367. and must be at least 10 minutes.
  3368. format: int64
  3369. type: integer
  3370. path:
  3371. description: |-
  3372. path is the path relative to the mount point of the file to project the
  3373. token into.
  3374. type: string
  3375. required:
  3376. - path
  3377. type: object
  3378. type: object
  3379. type: array
  3380. x-kubernetes-list-type: atomic
  3381. type: object
  3382. quobyte:
  3383. description: |-
  3384. quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
  3385. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
  3386. properties:
  3387. group:
  3388. description: |-
  3389. group to map volume access to
  3390. Default is no group
  3391. type: string
  3392. readOnly:
  3393. description: |-
  3394. readOnly here will force the Quobyte volume to be mounted with read-only permissions.
  3395. Defaults to false.
  3396. type: boolean
  3397. registry:
  3398. description: |-
  3399. registry represents a single or multiple Quobyte Registry services
  3400. specified as a string as host:port pair (multiple entries are separated with commas)
  3401. which acts as the central registry for volumes
  3402. type: string
  3403. tenant:
  3404. description: |-
  3405. tenant owning the given Quobyte volume in the Backend
  3406. Used with dynamically provisioned Quobyte volumes, value is set by the plugin
  3407. type: string
  3408. user:
  3409. description: |-
  3410. user to map volume access to
  3411. Defaults to serivceaccount user
  3412. type: string
  3413. volume:
  3414. description: volume is a string that references
  3415. an already created Quobyte volume by name.
  3416. type: string
  3417. required:
  3418. - registry
  3419. - volume
  3420. type: object
  3421. rbd:
  3422. description: |-
  3423. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
  3424. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
  3425. properties:
  3426. fsType:
  3427. description: |-
  3428. fsType is the filesystem type of the volume that you want to mount.
  3429. Tip: Ensure that the filesystem type is supported by the host operating system.
  3430. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  3431. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  3432. type: string
  3433. image:
  3434. description: |-
  3435. image is the rados image name.
  3436. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3437. type: string
  3438. keyring:
  3439. default: /etc/ceph/keyring
  3440. description: |-
  3441. keyring is the path to key ring for RBDUser.
  3442. Default is /etc/ceph/keyring.
  3443. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3444. type: string
  3445. monitors:
  3446. description: |-
  3447. monitors is a collection of Ceph monitors.
  3448. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3449. items:
  3450. type: string
  3451. type: array
  3452. x-kubernetes-list-type: atomic
  3453. pool:
  3454. default: rbd
  3455. description: |-
  3456. pool is the rados pool name.
  3457. Default is rbd.
  3458. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3459. type: string
  3460. readOnly:
  3461. description: |-
  3462. readOnly here will force the ReadOnly setting in VolumeMounts.
  3463. Defaults to false.
  3464. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3465. type: boolean
  3466. secretRef:
  3467. description: |-
  3468. secretRef is name of the authentication secret for RBDUser. If provided
  3469. overrides keyring.
  3470. Default is nil.
  3471. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3472. properties:
  3473. name:
  3474. default: ""
  3475. description: |-
  3476. Name of the referent.
  3477. This field is effectively required, but due to backwards compatibility is
  3478. allowed to be empty. Instances of this type with an empty value here are
  3479. almost certainly wrong.
  3480. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3481. type: string
  3482. type: object
  3483. x-kubernetes-map-type: atomic
  3484. user:
  3485. default: admin
  3486. description: |-
  3487. user is the rados user name.
  3488. Default is admin.
  3489. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3490. type: string
  3491. required:
  3492. - image
  3493. - monitors
  3494. type: object
  3495. scaleIO:
  3496. description: |-
  3497. scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
  3498. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
  3499. properties:
  3500. fsType:
  3501. default: xfs
  3502. description: |-
  3503. fsType is the filesystem type to mount.
  3504. Must be a filesystem type supported by the host operating system.
  3505. Ex. "ext4", "xfs", "ntfs".
  3506. Default is "xfs".
  3507. type: string
  3508. gateway:
  3509. description: gateway is the host address of the
  3510. ScaleIO API Gateway.
  3511. type: string
  3512. protectionDomain:
  3513. description: protectionDomain is the name of the
  3514. ScaleIO Protection Domain for the configured storage.
  3515. type: string
  3516. readOnly:
  3517. description: |-
  3518. readOnly Defaults to false (read/write). ReadOnly here will force
  3519. the ReadOnly setting in VolumeMounts.
  3520. type: boolean
  3521. secretRef:
  3522. description: |-
  3523. secretRef references to the secret for ScaleIO user and other
  3524. sensitive information. If this is not provided, Login operation will fail.
  3525. properties:
  3526. name:
  3527. default: ""
  3528. description: |-
  3529. Name of the referent.
  3530. This field is effectively required, but due to backwards compatibility is
  3531. allowed to be empty. Instances of this type with an empty value here are
  3532. almost certainly wrong.
  3533. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3534. type: string
  3535. type: object
  3536. x-kubernetes-map-type: atomic
  3537. sslEnabled:
  3538. description: sslEnabled Flag enable/disable SSL
  3539. communication with Gateway, default false
  3540. type: boolean
  3541. storageMode:
  3542. default: ThinProvisioned
  3543. description: |-
  3544. storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
  3545. Default is ThinProvisioned.
  3546. type: string
  3547. storagePool:
  3548. description: storagePool is the ScaleIO Storage
  3549. Pool associated with the protection domain.
  3550. type: string
  3551. system:
  3552. description: system is the name of the storage system
  3553. as configured in ScaleIO.
  3554. type: string
  3555. volumeName:
  3556. description: |-
  3557. volumeName is the name of a volume already created in the ScaleIO system
  3558. that is associated with this volume source.
  3559. type: string
  3560. required:
  3561. - gateway
  3562. - secretRef
  3563. - system
  3564. type: object
  3565. secret:
  3566. description: |-
  3567. secret represents a secret that should populate this volume.
  3568. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  3569. properties:
  3570. defaultMode:
  3571. description: |-
  3572. defaultMode is Optional: mode bits used to set permissions on created files by default.
  3573. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  3574. YAML accepts both octal and decimal values, JSON requires decimal values
  3575. for mode bits. Defaults to 0644.
  3576. Directories within the path are not affected by this setting.
  3577. This might be in conflict with other options that affect the file
  3578. mode, like fsGroup, and the result can be other mode bits set.
  3579. format: int32
  3580. type: integer
  3581. items:
  3582. description: |-
  3583. items If unspecified, each key-value pair in the Data field of the referenced
  3584. Secret will be projected into the volume as a file whose name is the
  3585. key and content is the value. If specified, the listed keys will be
  3586. projected into the specified paths, and unlisted keys will not be
  3587. present. If a key is specified which is not present in the Secret,
  3588. the volume setup will error unless it is marked optional. Paths must be
  3589. relative and may not contain the '..' path or start with '..'.
  3590. items:
  3591. description: Maps a string key to a path within
  3592. a volume.
  3593. properties:
  3594. key:
  3595. description: key is the key to project.
  3596. type: string
  3597. mode:
  3598. description: |-
  3599. mode is Optional: mode bits used to set permissions on this file.
  3600. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  3601. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  3602. If not specified, the volume defaultMode will be used.
  3603. This might be in conflict with other options that affect the file
  3604. mode, like fsGroup, and the result can be other mode bits set.
  3605. format: int32
  3606. type: integer
  3607. path:
  3608. description: |-
  3609. path is the relative path of the file to map the key to.
  3610. May not be an absolute path.
  3611. May not contain the path element '..'.
  3612. May not start with the string '..'.
  3613. type: string
  3614. required:
  3615. - key
  3616. - path
  3617. type: object
  3618. type: array
  3619. x-kubernetes-list-type: atomic
  3620. optional:
  3621. description: optional field specify whether the
  3622. Secret or its keys must be defined
  3623. type: boolean
  3624. secretName:
  3625. description: |-
  3626. secretName is the name of the secret in the pod's namespace to use.
  3627. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  3628. type: string
  3629. type: object
  3630. storageos:
  3631. description: |-
  3632. storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
  3633. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
  3634. properties:
  3635. fsType:
  3636. description: |-
  3637. fsType is the filesystem type to mount.
  3638. Must be a filesystem type supported by the host operating system.
  3639. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  3640. type: string
  3641. readOnly:
  3642. description: |-
  3643. readOnly defaults to false (read/write). ReadOnly here will force
  3644. the ReadOnly setting in VolumeMounts.
  3645. type: boolean
  3646. secretRef:
  3647. description: |-
  3648. secretRef specifies the secret to use for obtaining the StorageOS API
  3649. credentials. If not specified, default values will be attempted.
  3650. properties:
  3651. name:
  3652. default: ""
  3653. description: |-
  3654. Name of the referent.
  3655. This field is effectively required, but due to backwards compatibility is
  3656. allowed to be empty. Instances of this type with an empty value here are
  3657. almost certainly wrong.
  3658. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3659. type: string
  3660. type: object
  3661. x-kubernetes-map-type: atomic
  3662. volumeName:
  3663. description: |-
  3664. volumeName is the human-readable name of the StorageOS volume. Volume
  3665. names are only unique within a namespace.
  3666. type: string
  3667. volumeNamespace:
  3668. description: |-
  3669. volumeNamespace specifies the scope of the volume within StorageOS. If no
  3670. namespace is specified then the Pod's namespace will be used. This allows the
  3671. Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
  3672. Set VolumeName to any name to override the default behaviour.
  3673. Set to "default" if you are not using namespaces within StorageOS.
  3674. Namespaces that do not pre-exist within StorageOS will be created.
  3675. type: string
  3676. type: object
  3677. vsphereVolume:
  3678. description: |-
  3679. vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
  3680. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
  3681. are redirected to the csi.vsphere.vmware.com CSI driver.
  3682. properties:
  3683. fsType:
  3684. description: |-
  3685. fsType is filesystem type to mount.
  3686. Must be a filesystem type supported by the host operating system.
  3687. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  3688. type: string
  3689. storagePolicyID:
  3690. description: storagePolicyID is the storage Policy
  3691. Based Management (SPBM) profile ID associated
  3692. with the StoragePolicyName.
  3693. type: string
  3694. storagePolicyName:
  3695. description: storagePolicyName is the storage Policy
  3696. Based Management (SPBM) profile name.
  3697. type: string
  3698. volumePath:
  3699. description: volumePath is the path that identifies
  3700. vSphere volume vmdk
  3701. type: string
  3702. required:
  3703. - volumePath
  3704. type: object
  3705. required:
  3706. - name
  3707. type: object
  3708. type: array
  3709. type: object
  3710. required:
  3711. - name
  3712. type: object
  3713. embeddingModelRef:
  3714. description: embeddingModelRef references the model used to generate
  3715. embeddings for this knowledge base.
  3716. properties:
  3717. apiVersion:
  3718. description: API version of the referent.
  3719. type: string
  3720. fieldPath:
  3721. description: |-
  3722. If referring to a piece of an object instead of an entire object, this string
  3723. should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
  3724. For example, if the object reference is to a container within a pod, this would take on a value like:
  3725. "spec.containers{name}" (where "name" refers to the name of the container that triggered
  3726. the event) or if no container name is specified "spec.containers[2]" (container with
  3727. index 2 in this pod). This syntax is chosen only to have some well-defined way of
  3728. referencing a part of an object.
  3729. type: string
  3730. kind:
  3731. description: |-
  3732. Kind of the referent.
  3733. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  3734. type: string
  3735. name:
  3736. description: |-
  3737. Name of the referent.
  3738. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3739. type: string
  3740. namespace:
  3741. description: |-
  3742. Namespace of the referent.
  3743. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
  3744. type: string
  3745. resourceVersion:
  3746. description: |-
  3747. Specific resourceVersion to which this reference is made, if any.
  3748. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
  3749. type: string
  3750. uid:
  3751. description: |-
  3752. UID of the referent.
  3753. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
  3754. type: string
  3755. type: object
  3756. x-kubernetes-map-type: atomic
  3757. ingestionJob:
  3758. description: ingestionJob configures the ephemeral Job that ingests
  3759. a single Document into the KB.
  3760. properties:
  3761. metadata:
  3762. description: metadata is a standard object metadata.
  3763. type: object
  3764. name:
  3765. description: name selects a built-in preset.
  3766. type: string
  3767. spec:
  3768. description: spec holds the pod-level configuration for the workload.
  3769. properties:
  3770. affinity:
  3771. description: affinity provides fine-grained node and pod (anti-)affinity
  3772. rules.
  3773. properties:
  3774. nodeAffinity:
  3775. description: Describes node affinity scheduling rules
  3776. for the pod.
  3777. properties:
  3778. preferredDuringSchedulingIgnoredDuringExecution:
  3779. description: |-
  3780. The scheduler will prefer to schedule pods to nodes that satisfy
  3781. the affinity expressions specified by this field, but it may choose
  3782. a node that violates one or more of the expressions. The node that is
  3783. most preferred is the one with the greatest sum of weights, i.e.
  3784. for each node that meets all of the scheduling requirements (resource
  3785. request, requiredDuringScheduling affinity expressions, etc.),
  3786. compute a sum by iterating through the elements of this field and adding
  3787. "weight" to the sum if the node matches the corresponding matchExpressions; the
  3788. node(s) with the highest sum are the most preferred.
  3789. items:
  3790. description: |-
  3791. An empty preferred scheduling term matches all objects with implicit weight 0
  3792. (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  3793. properties:
  3794. preference:
  3795. description: A node selector term, associated
  3796. with the corresponding weight.
  3797. properties:
  3798. matchExpressions:
  3799. description: A list of node selector requirements
  3800. by node's labels.
  3801. items:
  3802. description: |-
  3803. A node selector requirement is a selector that contains values, a key, and an operator
  3804. that relates the key and values.
  3805. properties:
  3806. key:
  3807. description: The label key that the
  3808. selector applies to.
  3809. type: string
  3810. operator:
  3811. description: |-
  3812. Represents a key's relationship to a set of values.
  3813. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3814. type: string
  3815. values:
  3816. description: |-
  3817. An array of string values. If the operator is In or NotIn,
  3818. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3819. the values array must be empty. If the operator is Gt or Lt, the values
  3820. array must have a single element, which will be interpreted as an integer.
  3821. This array is replaced during a strategic merge patch.
  3822. items:
  3823. type: string
  3824. type: array
  3825. x-kubernetes-list-type: atomic
  3826. required:
  3827. - key
  3828. - operator
  3829. type: object
  3830. type: array
  3831. x-kubernetes-list-type: atomic
  3832. matchFields:
  3833. description: A list of node selector requirements
  3834. by node's fields.
  3835. items:
  3836. description: |-
  3837. A node selector requirement is a selector that contains values, a key, and an operator
  3838. that relates the key and values.
  3839. properties:
  3840. key:
  3841. description: The label key that the
  3842. selector applies to.
  3843. type: string
  3844. operator:
  3845. description: |-
  3846. Represents a key's relationship to a set of values.
  3847. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3848. type: string
  3849. values:
  3850. description: |-
  3851. An array of string values. If the operator is In or NotIn,
  3852. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3853. the values array must be empty. If the operator is Gt or Lt, the values
  3854. array must have a single element, which will be interpreted as an integer.
  3855. This array is replaced during a strategic merge patch.
  3856. items:
  3857. type: string
  3858. type: array
  3859. x-kubernetes-list-type: atomic
  3860. required:
  3861. - key
  3862. - operator
  3863. type: object
  3864. type: array
  3865. x-kubernetes-list-type: atomic
  3866. type: object
  3867. x-kubernetes-map-type: atomic
  3868. weight:
  3869. description: Weight associated with matching
  3870. the corresponding nodeSelectorTerm, in the
  3871. range 1-100.
  3872. format: int32
  3873. type: integer
  3874. required:
  3875. - preference
  3876. - weight
  3877. type: object
  3878. type: array
  3879. x-kubernetes-list-type: atomic
  3880. requiredDuringSchedulingIgnoredDuringExecution:
  3881. description: |-
  3882. If the affinity requirements specified by this field are not met at
  3883. scheduling time, the pod will not be scheduled onto the node.
  3884. If the affinity requirements specified by this field cease to be met
  3885. at some point during pod execution (e.g. due to an update), the system
  3886. may or may not try to eventually evict the pod from its node.
  3887. properties:
  3888. nodeSelectorTerms:
  3889. description: Required. A list of node selector
  3890. terms. The terms are ORed.
  3891. items:
  3892. description: |-
  3893. A null or empty node selector term matches no objects. The requirements of
  3894. them are ANDed.
  3895. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  3896. properties:
  3897. matchExpressions:
  3898. description: A list of node selector requirements
  3899. by node's labels.
  3900. items:
  3901. description: |-
  3902. A node selector requirement is a selector that contains values, a key, and an operator
  3903. that relates the key and values.
  3904. properties:
  3905. key:
  3906. description: The label key that the
  3907. selector applies to.
  3908. type: string
  3909. operator:
  3910. description: |-
  3911. Represents a key's relationship to a set of values.
  3912. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3913. type: string
  3914. values:
  3915. description: |-
  3916. An array of string values. If the operator is In or NotIn,
  3917. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3918. the values array must be empty. If the operator is Gt or Lt, the values
  3919. array must have a single element, which will be interpreted as an integer.
  3920. This array is replaced during a strategic merge patch.
  3921. items:
  3922. type: string
  3923. type: array
  3924. x-kubernetes-list-type: atomic
  3925. required:
  3926. - key
  3927. - operator
  3928. type: object
  3929. type: array
  3930. x-kubernetes-list-type: atomic
  3931. matchFields:
  3932. description: A list of node selector requirements
  3933. by node's fields.
  3934. items:
  3935. description: |-
  3936. A node selector requirement is a selector that contains values, a key, and an operator
  3937. that relates the key and values.
  3938. properties:
  3939. key:
  3940. description: The label key that the
  3941. selector applies to.
  3942. type: string
  3943. operator:
  3944. description: |-
  3945. Represents a key's relationship to a set of values.
  3946. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3947. type: string
  3948. values:
  3949. description: |-
  3950. An array of string values. If the operator is In or NotIn,
  3951. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3952. the values array must be empty. If the operator is Gt or Lt, the values
  3953. array must have a single element, which will be interpreted as an integer.
  3954. This array is replaced during a strategic merge patch.
  3955. items:
  3956. type: string
  3957. type: array
  3958. x-kubernetes-list-type: atomic
  3959. required:
  3960. - key
  3961. - operator
  3962. type: object
  3963. type: array
  3964. x-kubernetes-list-type: atomic
  3965. type: object
  3966. x-kubernetes-map-type: atomic
  3967. type: array
  3968. x-kubernetes-list-type: atomic
  3969. required:
  3970. - nodeSelectorTerms
  3971. type: object
  3972. x-kubernetes-map-type: atomic
  3973. type: object
  3974. podAffinity:
  3975. description: Describes pod affinity scheduling rules (e.g.
  3976. co-locate this pod in the same node, zone, etc. as some
  3977. other pod(s)).
  3978. properties:
  3979. preferredDuringSchedulingIgnoredDuringExecution:
  3980. description: |-
  3981. The scheduler will prefer to schedule pods to nodes that satisfy
  3982. the affinity expressions specified by this field, but it may choose
  3983. a node that violates one or more of the expressions. The node that is
  3984. most preferred is the one with the greatest sum of weights, i.e.
  3985. for each node that meets all of the scheduling requirements (resource
  3986. request, requiredDuringScheduling affinity expressions, etc.),
  3987. compute a sum by iterating through the elements of this field and adding
  3988. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  3989. node(s) with the highest sum are the most preferred.
  3990. items:
  3991. description: The weights of all of the matched WeightedPodAffinityTerm
  3992. fields are added per-node to find the most preferred
  3993. node(s)
  3994. properties:
  3995. podAffinityTerm:
  3996. description: Required. A pod affinity term,
  3997. associated with the corresponding weight.
  3998. properties:
  3999. labelSelector:
  4000. description: |-
  4001. A label query over a set of resources, in this case pods.
  4002. If it's null, this PodAffinityTerm matches with no Pods.
  4003. properties:
  4004. matchExpressions:
  4005. description: matchExpressions is a list
  4006. of label selector requirements. The
  4007. requirements are ANDed.
  4008. items:
  4009. description: |-
  4010. A label selector requirement is a selector that contains values, a key, and an operator that
  4011. relates the key and values.
  4012. properties:
  4013. key:
  4014. description: key is the label
  4015. key that the selector applies
  4016. to.
  4017. type: string
  4018. operator:
  4019. description: |-
  4020. operator represents a key's relationship to a set of values.
  4021. Valid operators are In, NotIn, Exists and DoesNotExist.
  4022. type: string
  4023. values:
  4024. description: |-
  4025. values is an array of string values. If the operator is In or NotIn,
  4026. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4027. the values array must be empty. This array is replaced during a strategic
  4028. merge patch.
  4029. items:
  4030. type: string
  4031. type: array
  4032. x-kubernetes-list-type: atomic
  4033. required:
  4034. - key
  4035. - operator
  4036. type: object
  4037. type: array
  4038. x-kubernetes-list-type: atomic
  4039. matchLabels:
  4040. additionalProperties:
  4041. type: string
  4042. description: |-
  4043. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4044. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4045. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4046. type: object
  4047. type: object
  4048. x-kubernetes-map-type: atomic
  4049. matchLabelKeys:
  4050. description: |-
  4051. MatchLabelKeys is a set of pod label keys to select which pods will
  4052. be taken into consideration. The keys are used to lookup values from the
  4053. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  4054. to select the group of existing pods which pods will be taken into consideration
  4055. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4056. pod labels will be ignored. The default value is empty.
  4057. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4058. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4059. items:
  4060. type: string
  4061. type: array
  4062. x-kubernetes-list-type: atomic
  4063. mismatchLabelKeys:
  4064. description: |-
  4065. MismatchLabelKeys is a set of pod label keys to select which pods will
  4066. be taken into consideration. The keys are used to lookup values from the
  4067. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  4068. to select the group of existing pods which pods will be taken into consideration
  4069. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4070. pod labels will be ignored. The default value is empty.
  4071. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4072. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4073. items:
  4074. type: string
  4075. type: array
  4076. x-kubernetes-list-type: atomic
  4077. namespaceSelector:
  4078. description: |-
  4079. A label query over the set of namespaces that the term applies to.
  4080. The term is applied to the union of the namespaces selected by this field
  4081. and the ones listed in the namespaces field.
  4082. null selector and null or empty namespaces list means "this pod's namespace".
  4083. An empty selector ({}) matches all namespaces.
  4084. properties:
  4085. matchExpressions:
  4086. description: matchExpressions is a list
  4087. of label selector requirements. The
  4088. requirements are ANDed.
  4089. items:
  4090. description: |-
  4091. A label selector requirement is a selector that contains values, a key, and an operator that
  4092. relates the key and values.
  4093. properties:
  4094. key:
  4095. description: key is the label
  4096. key that the selector applies
  4097. to.
  4098. type: string
  4099. operator:
  4100. description: |-
  4101. operator represents a key's relationship to a set of values.
  4102. Valid operators are In, NotIn, Exists and DoesNotExist.
  4103. type: string
  4104. values:
  4105. description: |-
  4106. values is an array of string values. If the operator is In or NotIn,
  4107. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4108. the values array must be empty. This array is replaced during a strategic
  4109. merge patch.
  4110. items:
  4111. type: string
  4112. type: array
  4113. x-kubernetes-list-type: atomic
  4114. required:
  4115. - key
  4116. - operator
  4117. type: object
  4118. type: array
  4119. x-kubernetes-list-type: atomic
  4120. matchLabels:
  4121. additionalProperties:
  4122. type: string
  4123. description: |-
  4124. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4125. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4126. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4127. type: object
  4128. type: object
  4129. x-kubernetes-map-type: atomic
  4130. namespaces:
  4131. description: |-
  4132. namespaces specifies a static list of namespace names that the term applies to.
  4133. The term is applied to the union of the namespaces listed in this field
  4134. and the ones selected by namespaceSelector.
  4135. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4136. items:
  4137. type: string
  4138. type: array
  4139. x-kubernetes-list-type: atomic
  4140. topologyKey:
  4141. description: |-
  4142. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4143. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4144. whose value of the label with key topologyKey matches that of any node on which any of the
  4145. selected pods is running.
  4146. Empty topologyKey is not allowed.
  4147. type: string
  4148. required:
  4149. - topologyKey
  4150. type: object
  4151. weight:
  4152. description: |-
  4153. weight associated with matching the corresponding podAffinityTerm,
  4154. in the range 1-100.
  4155. format: int32
  4156. type: integer
  4157. required:
  4158. - podAffinityTerm
  4159. - weight
  4160. type: object
  4161. type: array
  4162. x-kubernetes-list-type: atomic
  4163. requiredDuringSchedulingIgnoredDuringExecution:
  4164. description: |-
  4165. If the affinity requirements specified by this field are not met at
  4166. scheduling time, the pod will not be scheduled onto the node.
  4167. If the affinity requirements specified by this field cease to be met
  4168. at some point during pod execution (e.g. due to a pod label update), the
  4169. system may or may not try to eventually evict the pod from its node.
  4170. When there are multiple elements, the lists of nodes corresponding to each
  4171. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  4172. items:
  4173. description: |-
  4174. Defines a set of pods (namely those matching the labelSelector
  4175. relative to the given namespace(s)) that this pod should be
  4176. co-located (affinity) or not co-located (anti-affinity) with,
  4177. where co-located is defined as running on a node whose value of
  4178. the label with key <topologyKey> matches that of any node on which
  4179. a pod of the set of pods is running
  4180. properties:
  4181. labelSelector:
  4182. description: |-
  4183. A label query over a set of resources, in this case pods.
  4184. If it's null, this PodAffinityTerm matches with no Pods.
  4185. properties:
  4186. matchExpressions:
  4187. description: matchExpressions is a list
  4188. of label selector requirements. The requirements
  4189. are ANDed.
  4190. items:
  4191. description: |-
  4192. A label selector requirement is a selector that contains values, a key, and an operator that
  4193. relates the key and values.
  4194. properties:
  4195. key:
  4196. description: key is the label key
  4197. that the selector applies to.
  4198. type: string
  4199. operator:
  4200. description: |-
  4201. operator represents a key's relationship to a set of values.
  4202. Valid operators are In, NotIn, Exists and DoesNotExist.
  4203. type: string
  4204. values:
  4205. description: |-
  4206. values is an array of string values. If the operator is In or NotIn,
  4207. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4208. the values array must be empty. This array is replaced during a strategic
  4209. merge patch.
  4210. items:
  4211. type: string
  4212. type: array
  4213. x-kubernetes-list-type: atomic
  4214. required:
  4215. - key
  4216. - operator
  4217. type: object
  4218. type: array
  4219. x-kubernetes-list-type: atomic
  4220. matchLabels:
  4221. additionalProperties:
  4222. type: string
  4223. description: |-
  4224. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4225. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4226. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4227. type: object
  4228. type: object
  4229. x-kubernetes-map-type: atomic
  4230. matchLabelKeys:
  4231. description: |-
  4232. MatchLabelKeys is a set of pod label keys to select which pods will
  4233. be taken into consideration. The keys are used to lookup values from the
  4234. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  4235. to select the group of existing pods which pods will be taken into consideration
  4236. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4237. pod labels will be ignored. The default value is empty.
  4238. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4239. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4240. items:
  4241. type: string
  4242. type: array
  4243. x-kubernetes-list-type: atomic
  4244. mismatchLabelKeys:
  4245. description: |-
  4246. MismatchLabelKeys is a set of pod label keys to select which pods will
  4247. be taken into consideration. The keys are used to lookup values from the
  4248. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  4249. to select the group of existing pods which pods will be taken into consideration
  4250. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4251. pod labels will be ignored. The default value is empty.
  4252. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4253. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4254. items:
  4255. type: string
  4256. type: array
  4257. x-kubernetes-list-type: atomic
  4258. namespaceSelector:
  4259. description: |-
  4260. A label query over the set of namespaces that the term applies to.
  4261. The term is applied to the union of the namespaces selected by this field
  4262. and the ones listed in the namespaces field.
  4263. null selector and null or empty namespaces list means "this pod's namespace".
  4264. An empty selector ({}) matches all namespaces.
  4265. properties:
  4266. matchExpressions:
  4267. description: matchExpressions is a list
  4268. of label selector requirements. The requirements
  4269. are ANDed.
  4270. items:
  4271. description: |-
  4272. A label selector requirement is a selector that contains values, a key, and an operator that
  4273. relates the key and values.
  4274. properties:
  4275. key:
  4276. description: key is the label key
  4277. that the selector applies to.
  4278. type: string
  4279. operator:
  4280. description: |-
  4281. operator represents a key's relationship to a set of values.
  4282. Valid operators are In, NotIn, Exists and DoesNotExist.
  4283. type: string
  4284. values:
  4285. description: |-
  4286. values is an array of string values. If the operator is In or NotIn,
  4287. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4288. the values array must be empty. This array is replaced during a strategic
  4289. merge patch.
  4290. items:
  4291. type: string
  4292. type: array
  4293. x-kubernetes-list-type: atomic
  4294. required:
  4295. - key
  4296. - operator
  4297. type: object
  4298. type: array
  4299. x-kubernetes-list-type: atomic
  4300. matchLabels:
  4301. additionalProperties:
  4302. type: string
  4303. description: |-
  4304. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4305. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4306. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4307. type: object
  4308. type: object
  4309. x-kubernetes-map-type: atomic
  4310. namespaces:
  4311. description: |-
  4312. namespaces specifies a static list of namespace names that the term applies to.
  4313. The term is applied to the union of the namespaces listed in this field
  4314. and the ones selected by namespaceSelector.
  4315. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4316. items:
  4317. type: string
  4318. type: array
  4319. x-kubernetes-list-type: atomic
  4320. topologyKey:
  4321. description: |-
  4322. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4323. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4324. whose value of the label with key topologyKey matches that of any node on which any of the
  4325. selected pods is running.
  4326. Empty topologyKey is not allowed.
  4327. type: string
  4328. required:
  4329. - topologyKey
  4330. type: object
  4331. type: array
  4332. x-kubernetes-list-type: atomic
  4333. type: object
  4334. podAntiAffinity:
  4335. description: Describes pod anti-affinity scheduling rules
  4336. (e.g. avoid putting this pod in the same node, zone,
  4337. etc. as some other pod(s)).
  4338. properties:
  4339. preferredDuringSchedulingIgnoredDuringExecution:
  4340. description: |-
  4341. The scheduler will prefer to schedule pods to nodes that satisfy
  4342. the anti-affinity expressions specified by this field, but it may choose
  4343. a node that violates one or more of the expressions. The node that is
  4344. most preferred is the one with the greatest sum of weights, i.e.
  4345. for each node that meets all of the scheduling requirements (resource
  4346. request, requiredDuringScheduling anti-affinity expressions, etc.),
  4347. compute a sum by iterating through the elements of this field and subtracting
  4348. "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the
  4349. node(s) with the highest sum are the most preferred.
  4350. items:
  4351. description: The weights of all of the matched WeightedPodAffinityTerm
  4352. fields are added per-node to find the most preferred
  4353. node(s)
  4354. properties:
  4355. podAffinityTerm:
  4356. description: Required. A pod affinity term,
  4357. associated with the corresponding weight.
  4358. properties:
  4359. labelSelector:
  4360. description: |-
  4361. A label query over a set of resources, in this case pods.
  4362. If it's null, this PodAffinityTerm matches with no Pods.
  4363. properties:
  4364. matchExpressions:
  4365. description: matchExpressions is a list
  4366. of label selector requirements. The
  4367. requirements are ANDed.
  4368. items:
  4369. description: |-
  4370. A label selector requirement is a selector that contains values, a key, and an operator that
  4371. relates the key and values.
  4372. properties:
  4373. key:
  4374. description: key is the label
  4375. key that the selector applies
  4376. to.
  4377. type: string
  4378. operator:
  4379. description: |-
  4380. operator represents a key's relationship to a set of values.
  4381. Valid operators are In, NotIn, Exists and DoesNotExist.
  4382. type: string
  4383. values:
  4384. description: |-
  4385. values is an array of string values. If the operator is In or NotIn,
  4386. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4387. the values array must be empty. This array is replaced during a strategic
  4388. merge patch.
  4389. items:
  4390. type: string
  4391. type: array
  4392. x-kubernetes-list-type: atomic
  4393. required:
  4394. - key
  4395. - operator
  4396. type: object
  4397. type: array
  4398. x-kubernetes-list-type: atomic
  4399. matchLabels:
  4400. additionalProperties:
  4401. type: string
  4402. description: |-
  4403. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4404. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4405. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4406. type: object
  4407. type: object
  4408. x-kubernetes-map-type: atomic
  4409. matchLabelKeys:
  4410. description: |-
  4411. MatchLabelKeys is a set of pod label keys to select which pods will
  4412. be taken into consideration. The keys are used to lookup values from the
  4413. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  4414. to select the group of existing pods which pods will be taken into consideration
  4415. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4416. pod labels will be ignored. The default value is empty.
  4417. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4418. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4419. items:
  4420. type: string
  4421. type: array
  4422. x-kubernetes-list-type: atomic
  4423. mismatchLabelKeys:
  4424. description: |-
  4425. MismatchLabelKeys is a set of pod label keys to select which pods will
  4426. be taken into consideration. The keys are used to lookup values from the
  4427. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  4428. to select the group of existing pods which pods will be taken into consideration
  4429. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4430. pod labels will be ignored. The default value is empty.
  4431. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4432. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4433. items:
  4434. type: string
  4435. type: array
  4436. x-kubernetes-list-type: atomic
  4437. namespaceSelector:
  4438. description: |-
  4439. A label query over the set of namespaces that the term applies to.
  4440. The term is applied to the union of the namespaces selected by this field
  4441. and the ones listed in the namespaces field.
  4442. null selector and null or empty namespaces list means "this pod's namespace".
  4443. An empty selector ({}) matches all namespaces.
  4444. properties:
  4445. matchExpressions:
  4446. description: matchExpressions is a list
  4447. of label selector requirements. The
  4448. requirements are ANDed.
  4449. items:
  4450. description: |-
  4451. A label selector requirement is a selector that contains values, a key, and an operator that
  4452. relates the key and values.
  4453. properties:
  4454. key:
  4455. description: key is the label
  4456. key that the selector applies
  4457. to.
  4458. type: string
  4459. operator:
  4460. description: |-
  4461. operator represents a key's relationship to a set of values.
  4462. Valid operators are In, NotIn, Exists and DoesNotExist.
  4463. type: string
  4464. values:
  4465. description: |-
  4466. values is an array of string values. If the operator is In or NotIn,
  4467. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4468. the values array must be empty. This array is replaced during a strategic
  4469. merge patch.
  4470. items:
  4471. type: string
  4472. type: array
  4473. x-kubernetes-list-type: atomic
  4474. required:
  4475. - key
  4476. - operator
  4477. type: object
  4478. type: array
  4479. x-kubernetes-list-type: atomic
  4480. matchLabels:
  4481. additionalProperties:
  4482. type: string
  4483. description: |-
  4484. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4485. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4486. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4487. type: object
  4488. type: object
  4489. x-kubernetes-map-type: atomic
  4490. namespaces:
  4491. description: |-
  4492. namespaces specifies a static list of namespace names that the term applies to.
  4493. The term is applied to the union of the namespaces listed in this field
  4494. and the ones selected by namespaceSelector.
  4495. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4496. items:
  4497. type: string
  4498. type: array
  4499. x-kubernetes-list-type: atomic
  4500. topologyKey:
  4501. description: |-
  4502. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4503. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4504. whose value of the label with key topologyKey matches that of any node on which any of the
  4505. selected pods is running.
  4506. Empty topologyKey is not allowed.
  4507. type: string
  4508. required:
  4509. - topologyKey
  4510. type: object
  4511. weight:
  4512. description: |-
  4513. weight associated with matching the corresponding podAffinityTerm,
  4514. in the range 1-100.
  4515. format: int32
  4516. type: integer
  4517. required:
  4518. - podAffinityTerm
  4519. - weight
  4520. type: object
  4521. type: array
  4522. x-kubernetes-list-type: atomic
  4523. requiredDuringSchedulingIgnoredDuringExecution:
  4524. description: |-
  4525. If the anti-affinity requirements specified by this field are not met at
  4526. scheduling time, the pod will not be scheduled onto the node.
  4527. If the anti-affinity requirements specified by this field cease to be met
  4528. at some point during pod execution (e.g. due to a pod label update), the
  4529. system may or may not try to eventually evict the pod from its node.
  4530. When there are multiple elements, the lists of nodes corresponding to each
  4531. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  4532. items:
  4533. description: |-
  4534. Defines a set of pods (namely those matching the labelSelector
  4535. relative to the given namespace(s)) that this pod should be
  4536. co-located (affinity) or not co-located (anti-affinity) with,
  4537. where co-located is defined as running on a node whose value of
  4538. the label with key <topologyKey> matches that of any node on which
  4539. a pod of the set of pods is running
  4540. properties:
  4541. labelSelector:
  4542. description: |-
  4543. A label query over a set of resources, in this case pods.
  4544. If it's null, this PodAffinityTerm matches with no Pods.
  4545. properties:
  4546. matchExpressions:
  4547. description: matchExpressions is a list
  4548. of label selector requirements. The requirements
  4549. are ANDed.
  4550. items:
  4551. description: |-
  4552. A label selector requirement is a selector that contains values, a key, and an operator that
  4553. relates the key and values.
  4554. properties:
  4555. key:
  4556. description: key is the label key
  4557. that the selector applies to.
  4558. type: string
  4559. operator:
  4560. description: |-
  4561. operator represents a key's relationship to a set of values.
  4562. Valid operators are In, NotIn, Exists and DoesNotExist.
  4563. type: string
  4564. values:
  4565. description: |-
  4566. values is an array of string values. If the operator is In or NotIn,
  4567. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4568. the values array must be empty. This array is replaced during a strategic
  4569. merge patch.
  4570. items:
  4571. type: string
  4572. type: array
  4573. x-kubernetes-list-type: atomic
  4574. required:
  4575. - key
  4576. - operator
  4577. type: object
  4578. type: array
  4579. x-kubernetes-list-type: atomic
  4580. matchLabels:
  4581. additionalProperties:
  4582. type: string
  4583. description: |-
  4584. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4585. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4586. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4587. type: object
  4588. type: object
  4589. x-kubernetes-map-type: atomic
  4590. matchLabelKeys:
  4591. description: |-
  4592. MatchLabelKeys is a set of pod label keys to select which pods will
  4593. be taken into consideration. The keys are used to lookup values from the
  4594. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  4595. to select the group of existing pods which pods will be taken into consideration
  4596. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4597. pod labels will be ignored. The default value is empty.
  4598. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4599. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4600. items:
  4601. type: string
  4602. type: array
  4603. x-kubernetes-list-type: atomic
  4604. mismatchLabelKeys:
  4605. description: |-
  4606. MismatchLabelKeys is a set of pod label keys to select which pods will
  4607. be taken into consideration. The keys are used to lookup values from the
  4608. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  4609. to select the group of existing pods which pods will be taken into consideration
  4610. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4611. pod labels will be ignored. The default value is empty.
  4612. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4613. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4614. items:
  4615. type: string
  4616. type: array
  4617. x-kubernetes-list-type: atomic
  4618. namespaceSelector:
  4619. description: |-
  4620. A label query over the set of namespaces that the term applies to.
  4621. The term is applied to the union of the namespaces selected by this field
  4622. and the ones listed in the namespaces field.
  4623. null selector and null or empty namespaces list means "this pod's namespace".
  4624. An empty selector ({}) matches all namespaces.
  4625. properties:
  4626. matchExpressions:
  4627. description: matchExpressions is a list
  4628. of label selector requirements. The requirements
  4629. are ANDed.
  4630. items:
  4631. description: |-
  4632. A label selector requirement is a selector that contains values, a key, and an operator that
  4633. relates the key and values.
  4634. properties:
  4635. key:
  4636. description: key is the label key
  4637. that the selector applies to.
  4638. type: string
  4639. operator:
  4640. description: |-
  4641. operator represents a key's relationship to a set of values.
  4642. Valid operators are In, NotIn, Exists and DoesNotExist.
  4643. type: string
  4644. values:
  4645. description: |-
  4646. values is an array of string values. If the operator is In or NotIn,
  4647. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4648. the values array must be empty. This array is replaced during a strategic
  4649. merge patch.
  4650. items:
  4651. type: string
  4652. type: array
  4653. x-kubernetes-list-type: atomic
  4654. required:
  4655. - key
  4656. - operator
  4657. type: object
  4658. type: array
  4659. x-kubernetes-list-type: atomic
  4660. matchLabels:
  4661. additionalProperties:
  4662. type: string
  4663. description: |-
  4664. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4665. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4666. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4667. type: object
  4668. type: object
  4669. x-kubernetes-map-type: atomic
  4670. namespaces:
  4671. description: |-
  4672. namespaces specifies a static list of namespace names that the term applies to.
  4673. The term is applied to the union of the namespaces listed in this field
  4674. and the ones selected by namespaceSelector.
  4675. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4676. items:
  4677. type: string
  4678. type: array
  4679. x-kubernetes-list-type: atomic
  4680. topologyKey:
  4681. description: |-
  4682. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4683. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4684. whose value of the label with key topologyKey matches that of any node on which any of the
  4685. selected pods is running.
  4686. Empty topologyKey is not allowed.
  4687. type: string
  4688. required:
  4689. - topologyKey
  4690. type: object
  4691. type: array
  4692. x-kubernetes-list-type: atomic
  4693. type: object
  4694. type: object
  4695. nodeSelector:
  4696. additionalProperties:
  4697. type: string
  4698. description: nodeSelector pins pods to nodes that match all
  4699. the specified labels.
  4700. type: object
  4701. resources:
  4702. description: resources sets per-container resource requests
  4703. and limits.
  4704. properties:
  4705. claims:
  4706. description: |-
  4707. Claims lists the names of resources, defined in spec.resourceClaims,
  4708. that are used by this container.
  4709. This field depends on the
  4710. DynamicResourceAllocation feature gate.
  4711. This field is immutable. It can only be set for containers.
  4712. items:
  4713. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  4714. properties:
  4715. name:
  4716. description: |-
  4717. Name must match the name of one entry in pod.spec.resourceClaims of
  4718. the Pod where this field is used. It makes that resource available
  4719. inside a container.
  4720. type: string
  4721. request:
  4722. description: |-
  4723. Request is the name chosen for a request in the referenced claim.
  4724. If empty, everything from the claim is made available, otherwise
  4725. only the result of this request.
  4726. type: string
  4727. required:
  4728. - name
  4729. type: object
  4730. type: array
  4731. x-kubernetes-list-map-keys:
  4732. - name
  4733. x-kubernetes-list-type: map
  4734. limits:
  4735. additionalProperties:
  4736. anyOf:
  4737. - type: integer
  4738. - type: string
  4739. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4740. x-kubernetes-int-or-string: true
  4741. description: |-
  4742. Limits describes the maximum amount of compute resources allowed.
  4743. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  4744. type: object
  4745. requests:
  4746. additionalProperties:
  4747. anyOf:
  4748. - type: integer
  4749. - type: string
  4750. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4751. x-kubernetes-int-or-string: true
  4752. description: |-
  4753. Requests describes the minimum amount of compute resources required.
  4754. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  4755. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  4756. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  4757. type: object
  4758. type: object
  4759. runtime:
  4760. description: runtime describes the container runtime to use
  4761. for the workload.
  4762. properties:
  4763. args:
  4764. description: args specifies or overrides the preset's
  4765. container command.
  4766. items:
  4767. type: string
  4768. type: array
  4769. command:
  4770. description: command specifies or overrides the preset's
  4771. container entrypoint.
  4772. items:
  4773. type: string
  4774. type: array
  4775. conditionalArgs:
  4776. description: conditionalArgs are appended to the preset
  4777. command conditionally.
  4778. items:
  4779. properties:
  4780. args:
  4781. description: args are appended to the preset args.
  4782. items:
  4783. type: string
  4784. type: array
  4785. when:
  4786. description: when the value is not empty after variable
  4787. substitution, the args are appended to the preset
  4788. args.
  4789. type: string
  4790. required:
  4791. - args
  4792. - when
  4793. type: object
  4794. type: array
  4795. env:
  4796. description: env holds environment variables injected
  4797. into the container.
  4798. items:
  4799. description: EnvVar represents an environment variable
  4800. present in a Container.
  4801. properties:
  4802. name:
  4803. description: |-
  4804. Name of the environment variable.
  4805. May consist of any printable ASCII characters except '='.
  4806. type: string
  4807. value:
  4808. description: |-
  4809. Variable references $(VAR_NAME) are expanded
  4810. using the previously defined environment variables in the container and
  4811. any service environment variables. If a variable cannot be resolved,
  4812. the reference in the input string will be unchanged. Double $$ are reduced
  4813. to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
  4814. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  4815. Escaped references will never be expanded, regardless of whether the variable
  4816. exists or not.
  4817. Defaults to "".
  4818. type: string
  4819. valueFrom:
  4820. description: Source for the environment variable's
  4821. value. Cannot be used if value is not empty.
  4822. properties:
  4823. configMapKeyRef:
  4824. description: Selects a key of a ConfigMap.
  4825. properties:
  4826. key:
  4827. description: The key to select.
  4828. type: string
  4829. name:
  4830. default: ""
  4831. description: |-
  4832. Name of the referent.
  4833. This field is effectively required, but due to backwards compatibility is
  4834. allowed to be empty. Instances of this type with an empty value here are
  4835. almost certainly wrong.
  4836. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4837. type: string
  4838. optional:
  4839. description: Specify whether the ConfigMap
  4840. or its key must be defined
  4841. type: boolean
  4842. required:
  4843. - key
  4844. type: object
  4845. x-kubernetes-map-type: atomic
  4846. fieldRef:
  4847. description: |-
  4848. Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
  4849. spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
  4850. properties:
  4851. apiVersion:
  4852. description: Version of the schema the FieldPath
  4853. is written in terms of, defaults to "v1".
  4854. type: string
  4855. fieldPath:
  4856. description: Path of the field to select
  4857. in the specified API version.
  4858. type: string
  4859. required:
  4860. - fieldPath
  4861. type: object
  4862. x-kubernetes-map-type: atomic
  4863. fileKeyRef:
  4864. description: |-
  4865. FileKeyRef selects a key of the env file.
  4866. Requires the EnvFiles feature gate to be enabled.
  4867. properties:
  4868. key:
  4869. description: |-
  4870. The key within the env file. An invalid key will prevent the pod from starting.
  4871. The keys defined within a source may consist of any printable ASCII characters except '='.
  4872. During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters.
  4873. type: string
  4874. optional:
  4875. default: false
  4876. description: |-
  4877. Specify whether the file or its key must be defined. If the file or key
  4878. does not exist, then the env var is not published.
  4879. If optional is set to true and the specified key does not exist,
  4880. the environment variable will not be set in the Pod's containers.
  4881. If optional is set to false and the specified key does not exist,
  4882. an error will be returned during Pod creation.
  4883. type: boolean
  4884. path:
  4885. description: |-
  4886. The path within the volume from which to select the file.
  4887. Must be relative and may not contain the '..' path or start with '..'.
  4888. type: string
  4889. volumeName:
  4890. description: The name of the volume mount
  4891. containing the env file.
  4892. type: string
  4893. required:
  4894. - key
  4895. - path
  4896. - volumeName
  4897. type: object
  4898. x-kubernetes-map-type: atomic
  4899. resourceFieldRef:
  4900. description: |-
  4901. Selects a resource of the container: only resources limits and requests
  4902. (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
  4903. properties:
  4904. containerName:
  4905. description: 'Container name: required for
  4906. volumes, optional for env vars'
  4907. type: string
  4908. divisor:
  4909. anyOf:
  4910. - type: integer
  4911. - type: string
  4912. description: Specifies the output format
  4913. of the exposed resources, defaults to
  4914. "1"
  4915. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4916. x-kubernetes-int-or-string: true
  4917. resource:
  4918. description: 'Required: resource to select'
  4919. type: string
  4920. required:
  4921. - resource
  4922. type: object
  4923. x-kubernetes-map-type: atomic
  4924. secretKeyRef:
  4925. description: Selects a key of a secret in the
  4926. pod's namespace
  4927. properties:
  4928. key:
  4929. description: The key of the secret to select
  4930. from. Must be a valid secret key.
  4931. type: string
  4932. name:
  4933. default: ""
  4934. description: |-
  4935. Name of the referent.
  4936. This field is effectively required, but due to backwards compatibility is
  4937. allowed to be empty. Instances of this type with an empty value here are
  4938. almost certainly wrong.
  4939. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4940. type: string
  4941. optional:
  4942. description: Specify whether the Secret
  4943. or its key must be defined
  4944. type: boolean
  4945. required:
  4946. - key
  4947. type: object
  4948. x-kubernetes-map-type: atomic
  4949. type: object
  4950. required:
  4951. - name
  4952. type: object
  4953. type: array
  4954. envFrom:
  4955. description: envFrom references ConfigMaps or Secrets
  4956. whose key-value pairs are injected as environment variables.
  4957. items:
  4958. description: EnvFromSource represents the source of
  4959. a set of ConfigMaps or Secrets
  4960. properties:
  4961. configMapRef:
  4962. description: The ConfigMap to select from
  4963. properties:
  4964. name:
  4965. default: ""
  4966. description: |-
  4967. Name of the referent.
  4968. This field is effectively required, but due to backwards compatibility is
  4969. allowed to be empty. Instances of this type with an empty value here are
  4970. almost certainly wrong.
  4971. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4972. type: string
  4973. optional:
  4974. description: Specify whether the ConfigMap must
  4975. be defined
  4976. type: boolean
  4977. type: object
  4978. x-kubernetes-map-type: atomic
  4979. prefix:
  4980. description: |-
  4981. Optional text to prepend to the name of each environment variable.
  4982. May consist of any printable ASCII characters except '='.
  4983. type: string
  4984. secretRef:
  4985. description: The Secret to select from
  4986. properties:
  4987. name:
  4988. default: ""
  4989. description: |-
  4990. Name of the referent.
  4991. This field is effectively required, but due to backwards compatibility is
  4992. allowed to be empty. Instances of this type with an empty value here are
  4993. almost certainly wrong.
  4994. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4995. type: string
  4996. optional:
  4997. description: Specify whether the Secret must
  4998. be defined
  4999. type: boolean
  5000. type: object
  5001. x-kubernetes-map-type: atomic
  5002. type: object
  5003. type: array
  5004. extraArgs:
  5005. description: extraArgs are appended to the preset command.
  5006. items:
  5007. type: string
  5008. type: array
  5009. image:
  5010. description: |-
  5011. image specifies or overrides the preset's container image, e.g. to pin a specific tag
  5012. or pull from a private registry mirror.
  5013. type: string
  5014. name:
  5015. description: name selects a built-in runtime preset.
  5016. type: string
  5017. port:
  5018. description: port specifies or overrides the container
  5019. port the runtime listens on.
  5020. format: int32
  5021. type: integer
  5022. volumeMounts:
  5023. description: volumeMounts defines where pod volumes are
  5024. mounted inside the container.
  5025. items:
  5026. description: VolumeMount describes a mounting of a Volume
  5027. within a container.
  5028. properties:
  5029. mountPath:
  5030. description: |-
  5031. Path within the container at which the volume should be mounted. Must
  5032. not contain ':'.
  5033. type: string
  5034. mountPropagation:
  5035. description: |-
  5036. mountPropagation determines how mounts are propagated from the host
  5037. to container and the other way around.
  5038. When not set, MountPropagationNone is used.
  5039. This field is beta in 1.10.
  5040. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
  5041. (which defaults to None).
  5042. type: string
  5043. name:
  5044. description: This must match the Name of a Volume.
  5045. type: string
  5046. readOnly:
  5047. description: |-
  5048. Mounted read-only if true, read-write otherwise (false or unspecified).
  5049. Defaults to false.
  5050. type: boolean
  5051. recursiveReadOnly:
  5052. description: |-
  5053. RecursiveReadOnly specifies whether read-only mounts should be handled
  5054. recursively.
  5055. If ReadOnly is false, this field has no meaning and must be unspecified.
  5056. If ReadOnly is true, and this field is set to Disabled, the mount is not made
  5057. recursively read-only. If this field is set to IfPossible, the mount is made
  5058. recursively read-only, if it is supported by the container runtime. If this
  5059. field is set to Enabled, the mount is made recursively read-only if it is
  5060. supported by the container runtime, otherwise the pod will not be started and
  5061. an error will be generated to indicate the reason.
  5062. If this field is set to IfPossible or Enabled, MountPropagation must be set to
  5063. None (or be unspecified, which defaults to None).
  5064. If this field is not specified, it is treated as an equivalent of Disabled.
  5065. type: string
  5066. subPath:
  5067. description: |-
  5068. Path within the volume from which the container's volume should be mounted.
  5069. Defaults to "" (volume's root).
  5070. type: string
  5071. subPathExpr:
  5072. description: |-
  5073. Expanded path within the volume from which the container's volume should be mounted.
  5074. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
  5075. Defaults to "" (volume's root).
  5076. SubPathExpr and SubPath are mutually exclusive.
  5077. type: string
  5078. required:
  5079. - mountPath
  5080. - name
  5081. type: object
  5082. type: array
  5083. type: object
  5084. securityContext:
  5085. description: |-
  5086. securityContext sets pod-level security attributes such as runAsUser,
  5087. runAsGroup, fsGroup, and sysctls.
  5088. properties:
  5089. appArmorProfile:
  5090. description: |-
  5091. appArmorProfile is the AppArmor options to use by the containers in this pod.
  5092. Note that this field cannot be set when spec.os.name is windows.
  5093. properties:
  5094. localhostProfile:
  5095. description: |-
  5096. localhostProfile indicates a profile loaded on the node that should be used.
  5097. The profile must be preconfigured on the node to work.
  5098. Must match the loaded name of the profile.
  5099. Must be set if and only if type is "Localhost".
  5100. type: string
  5101. type:
  5102. description: |-
  5103. type indicates which kind of AppArmor profile will be applied.
  5104. Valid options are:
  5105. Localhost - a profile pre-loaded on the node.
  5106. RuntimeDefault - the container runtime's default profile.
  5107. Unconfined - no AppArmor enforcement.
  5108. type: string
  5109. required:
  5110. - type
  5111. type: object
  5112. fsGroup:
  5113. description: |-
  5114. A special supplemental group that applies to all containers in a pod.
  5115. Some volume types allow the Kubelet to change the ownership of that volume
  5116. to be owned by the pod:
  5117. 1. The owning GID will be the FSGroup
  5118. 2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
  5119. 3. The permission bits are OR'd with rw-rw----
  5120. If unset, the Kubelet will not modify the ownership and permissions of any volume.
  5121. Note that this field cannot be set when spec.os.name is windows.
  5122. format: int64
  5123. type: integer
  5124. fsGroupChangePolicy:
  5125. description: |-
  5126. fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
  5127. before being exposed inside Pod. This field will only apply to
  5128. volume types which support fsGroup based ownership(and permissions).
  5129. It will have no effect on ephemeral volume types such as: secret, configmaps
  5130. and emptydir.
  5131. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
  5132. Note that this field cannot be set when spec.os.name is windows.
  5133. type: string
  5134. runAsGroup:
  5135. description: |-
  5136. The GID to run the entrypoint of the container process.
  5137. Uses runtime default if unset.
  5138. May also be set in SecurityContext. If set in both SecurityContext and
  5139. PodSecurityContext, the value specified in SecurityContext takes precedence
  5140. for that container.
  5141. Note that this field cannot be set when spec.os.name is windows.
  5142. format: int64
  5143. type: integer
  5144. runAsNonRoot:
  5145. description: |-
  5146. Indicates that the container must run as a non-root user.
  5147. If true, the Kubelet will validate the image at runtime to ensure that it
  5148. does not run as UID 0 (root) and fail to start the container if it does.
  5149. If unset or false, no such validation will be performed.
  5150. May also be set in SecurityContext. If set in both SecurityContext and
  5151. PodSecurityContext, the value specified in SecurityContext takes precedence.
  5152. type: boolean
  5153. runAsUser:
  5154. description: |-
  5155. The UID to run the entrypoint of the container process.
  5156. Defaults to user specified in image metadata if unspecified.
  5157. May also be set in SecurityContext. If set in both SecurityContext and
  5158. PodSecurityContext, the value specified in SecurityContext takes precedence
  5159. for that container.
  5160. Note that this field cannot be set when spec.os.name is windows.
  5161. format: int64
  5162. type: integer
  5163. seLinuxChangePolicy:
  5164. description: |-
  5165. seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
  5166. It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
  5167. Valid values are "MountOption" and "Recursive".
  5168. "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
  5169. This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
  5170. "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
  5171. This requires all Pods that share the same volume to use the same SELinux label.
  5172. It is not possible to share the same volume among privileged and unprivileged Pods.
  5173. Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
  5174. whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
  5175. CSIDriver instance. Other volumes are always re-labelled recursively.
  5176. "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
  5177. If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
  5178. If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
  5179. and "Recursive" for all other volumes.
  5180. This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
  5181. All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
  5182. Note that this field cannot be set when spec.os.name is windows.
  5183. type: string
  5184. seLinuxOptions:
  5185. description: |-
  5186. The SELinux context to be applied to all containers.
  5187. If unspecified, the container runtime will allocate a random SELinux context for each
  5188. container. May also be set in SecurityContext. If set in
  5189. both SecurityContext and PodSecurityContext, the value specified in SecurityContext
  5190. takes precedence for that container.
  5191. Note that this field cannot be set when spec.os.name is windows.
  5192. properties:
  5193. level:
  5194. description: Level is SELinux level label that applies
  5195. to the container.
  5196. type: string
  5197. role:
  5198. description: Role is a SELinux role label that applies
  5199. to the container.
  5200. type: string
  5201. type:
  5202. description: Type is a SELinux type label that applies
  5203. to the container.
  5204. type: string
  5205. user:
  5206. description: User is a SELinux user label that applies
  5207. to the container.
  5208. type: string
  5209. type: object
  5210. seccompProfile:
  5211. description: |-
  5212. The seccomp options to use by the containers in this pod.
  5213. Note that this field cannot be set when spec.os.name is windows.
  5214. properties:
  5215. localhostProfile:
  5216. description: |-
  5217. localhostProfile indicates a profile defined in a file on the node should be used.
  5218. The profile must be preconfigured on the node to work.
  5219. Must be a descending path, relative to the kubelet's configured seccomp profile location.
  5220. Must be set if type is "Localhost". Must NOT be set for any other type.
  5221. type: string
  5222. type:
  5223. description: |-
  5224. type indicates which kind of seccomp profile will be applied.
  5225. Valid options are:
  5226. Localhost - a profile defined in a file on the node should be used.
  5227. RuntimeDefault - the container runtime default profile should be used.
  5228. Unconfined - no profile should be applied.
  5229. type: string
  5230. required:
  5231. - type
  5232. type: object
  5233. supplementalGroups:
  5234. description: |-
  5235. A list of groups applied to the first process run in each container, in
  5236. addition to the container's primary GID and fsGroup (if specified). If
  5237. the SupplementalGroupsPolicy feature is enabled, the
  5238. supplementalGroupsPolicy field determines whether these are in addition
  5239. to or instead of any group memberships defined in the container image.
  5240. If unspecified, no additional groups are added, though group memberships
  5241. defined in the container image may still be used, depending on the
  5242. supplementalGroupsPolicy field.
  5243. Note that this field cannot be set when spec.os.name is windows.
  5244. items:
  5245. format: int64
  5246. type: integer
  5247. type: array
  5248. x-kubernetes-list-type: atomic
  5249. supplementalGroupsPolicy:
  5250. description: |-
  5251. Defines how supplemental groups of the first container processes are calculated.
  5252. Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
  5253. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
  5254. and the container runtime must implement support for this feature.
  5255. Note that this field cannot be set when spec.os.name is windows.
  5256. type: string
  5257. sysctls:
  5258. description: |-
  5259. Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
  5260. sysctls (by the container runtime) might fail to launch.
  5261. Note that this field cannot be set when spec.os.name is windows.
  5262. items:
  5263. description: Sysctl defines a kernel parameter to be
  5264. set
  5265. properties:
  5266. name:
  5267. description: Name of a property to set
  5268. type: string
  5269. value:
  5270. description: Value of a property to set
  5271. type: string
  5272. required:
  5273. - name
  5274. - value
  5275. type: object
  5276. type: array
  5277. x-kubernetes-list-type: atomic
  5278. windowsOptions:
  5279. description: |-
  5280. The Windows specific settings applied to all containers.
  5281. If unspecified, the options within a container's SecurityContext will be used.
  5282. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  5283. Note that this field cannot be set when spec.os.name is linux.
  5284. properties:
  5285. gmsaCredentialSpec:
  5286. description: |-
  5287. GMSACredentialSpec is where the GMSA admission webhook
  5288. (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
  5289. GMSA credential spec named by the GMSACredentialSpecName field.
  5290. type: string
  5291. gmsaCredentialSpecName:
  5292. description: GMSACredentialSpecName is the name of
  5293. the GMSA credential spec to use.
  5294. type: string
  5295. hostProcess:
  5296. description: |-
  5297. HostProcess determines if a container should be run as a 'Host Process' container.
  5298. All of a Pod's containers must have the same effective HostProcess value
  5299. (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
  5300. In addition, if HostProcess is true then HostNetwork must also be set to true.
  5301. type: boolean
  5302. runAsUserName:
  5303. description: |-
  5304. The UserName in Windows to run the entrypoint of the container process.
  5305. Defaults to the user specified in image metadata if unspecified.
  5306. May also be set in PodSecurityContext. If set in both SecurityContext and
  5307. PodSecurityContext, the value specified in SecurityContext takes precedence.
  5308. type: string
  5309. type: object
  5310. type: object
  5311. tolerations:
  5312. description: tolerations allow pods to be scheduled onto nodes
  5313. with matching taints.
  5314. items:
  5315. description: |-
  5316. The pod this Toleration is attached to tolerates any taint that matches
  5317. the triple <key,value,effect> using the matching operator <operator>.
  5318. properties:
  5319. effect:
  5320. description: |-
  5321. Effect indicates the taint effect to match. Empty means match all taint effects.
  5322. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  5323. type: string
  5324. key:
  5325. description: |-
  5326. Key is the taint key that the toleration applies to. Empty means match all taint keys.
  5327. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  5328. type: string
  5329. operator:
  5330. description: |-
  5331. Operator represents a key's relationship to the value.
  5332. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal.
  5333. Exists is equivalent to wildcard for value, so that a pod can
  5334. tolerate all taints of a particular category.
  5335. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).
  5336. type: string
  5337. tolerationSeconds:
  5338. description: |-
  5339. TolerationSeconds represents the period of time the toleration (which must be
  5340. of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  5341. it is not set, which means tolerate the taint forever (do not evict). Zero and
  5342. negative values will be treated as 0 (evict immediately) by the system.
  5343. format: int64
  5344. type: integer
  5345. value:
  5346. description: |-
  5347. Value is the taint value the toleration matches to.
  5348. If the operator is Exists, the value should be empty, otherwise just a regular string.
  5349. type: string
  5350. type: object
  5351. type: array
  5352. topologySpreadConstraints:
  5353. description: |-
  5354. topologySpreadConstraints controls how pods are spread across failure
  5355. domains (zones, nodes). Prefer this over pod anti-affinity for HA spread.
  5356. items:
  5357. description: TopologySpreadConstraint specifies how to spread
  5358. matching pods among the given topology.
  5359. properties:
  5360. labelSelector:
  5361. description: |-
  5362. LabelSelector is used to find matching pods.
  5363. Pods that match this label selector are counted to determine the number of pods
  5364. in their corresponding topology domain.
  5365. properties:
  5366. matchExpressions:
  5367. description: matchExpressions is a list of label
  5368. selector requirements. The requirements are ANDed.
  5369. items:
  5370. description: |-
  5371. A label selector requirement is a selector that contains values, a key, and an operator that
  5372. relates the key and values.
  5373. properties:
  5374. key:
  5375. description: key is the label key that the
  5376. selector applies to.
  5377. type: string
  5378. operator:
  5379. description: |-
  5380. operator represents a key's relationship to a set of values.
  5381. Valid operators are In, NotIn, Exists and DoesNotExist.
  5382. type: string
  5383. values:
  5384. description: |-
  5385. values is an array of string values. If the operator is In or NotIn,
  5386. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5387. the values array must be empty. This array is replaced during a strategic
  5388. merge patch.
  5389. items:
  5390. type: string
  5391. type: array
  5392. x-kubernetes-list-type: atomic
  5393. required:
  5394. - key
  5395. - operator
  5396. type: object
  5397. type: array
  5398. x-kubernetes-list-type: atomic
  5399. matchLabels:
  5400. additionalProperties:
  5401. type: string
  5402. description: |-
  5403. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5404. map is equivalent to an element of matchExpressions, whose key field is "key", the
  5405. operator is "In", and the values array contains only "value". The requirements are ANDed.
  5406. type: object
  5407. type: object
  5408. x-kubernetes-map-type: atomic
  5409. matchLabelKeys:
  5410. description: |-
  5411. MatchLabelKeys is a set of pod label keys to select the pods over which
  5412. spreading will be calculated. The keys are used to lookup values from the
  5413. incoming pod labels, those key-value labels are ANDed with labelSelector
  5414. to select the group of existing pods over which spreading will be calculated
  5415. for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
  5416. MatchLabelKeys cannot be set when LabelSelector isn't set.
  5417. Keys that don't exist in the incoming pod labels will
  5418. be ignored. A null or empty list means only match against labelSelector.
  5419. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
  5420. items:
  5421. type: string
  5422. type: array
  5423. x-kubernetes-list-type: atomic
  5424. maxSkew:
  5425. description: |-
  5426. MaxSkew describes the degree to which pods may be unevenly distributed.
  5427. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
  5428. between the number of matching pods in the target topology and the global minimum.
  5429. The global minimum is the minimum number of matching pods in an eligible domain
  5430. or zero if the number of eligible domains is less than MinDomains.
  5431. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  5432. labelSelector spread as 2/2/1:
  5433. In this case, the global minimum is 1.
  5434. | zone1 | zone2 | zone3 |
  5435. | P P | P P | P |
  5436. - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
  5437. scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
  5438. violate MaxSkew(1).
  5439. - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
  5440. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
  5441. to topologies that satisfy it.
  5442. It's a required field. Default value is 1 and 0 is not allowed.
  5443. format: int32
  5444. type: integer
  5445. minDomains:
  5446. description: |-
  5447. MinDomains indicates a minimum number of eligible domains.
  5448. When the number of eligible domains with matching topology keys is less than minDomains,
  5449. Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
  5450. And when the number of eligible domains with matching topology keys equals or greater than minDomains,
  5451. this value has no effect on scheduling.
  5452. As a result, when the number of eligible domains is less than minDomains,
  5453. scheduler won't schedule more than maxSkew Pods to those domains.
  5454. If value is nil, the constraint behaves as if MinDomains is equal to 1.
  5455. Valid values are integers greater than 0.
  5456. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
  5457. For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
  5458. labelSelector spread as 2/2/2:
  5459. | zone1 | zone2 | zone3 |
  5460. | P P | P P | P P |
  5461. The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
  5462. In this situation, new pod with the same labelSelector cannot be scheduled,
  5463. because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
  5464. it will violate MaxSkew.
  5465. format: int32
  5466. type: integer
  5467. nodeAffinityPolicy:
  5468. description: |-
  5469. NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
  5470. when calculating pod topology spread skew. Options are:
  5471. - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
  5472. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
  5473. If this value is nil, the behavior is equivalent to the Honor policy.
  5474. type: string
  5475. nodeTaintsPolicy:
  5476. description: |-
  5477. NodeTaintsPolicy indicates how we will treat node taints when calculating
  5478. pod topology spread skew. Options are:
  5479. - Honor: nodes without taints, along with tainted nodes for which the incoming pod
  5480. has a toleration, are included.
  5481. - Ignore: node taints are ignored. All nodes are included.
  5482. If this value is nil, the behavior is equivalent to the Ignore policy.
  5483. type: string
  5484. topologyKey:
  5485. description: |-
  5486. TopologyKey is the key of node labels. Nodes that have a label with this key
  5487. and identical values are considered to be in the same topology.
  5488. We consider each <key, value> as a "bucket", and try to put balanced number
  5489. of pods into each bucket.
  5490. We define a domain as a particular instance of a topology.
  5491. Also, we define an eligible domain as a domain whose nodes meet the requirements of
  5492. nodeAffinityPolicy and nodeTaintsPolicy.
  5493. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
  5494. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
  5495. It's a required field.
  5496. type: string
  5497. whenUnsatisfiable:
  5498. description: |-
  5499. WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
  5500. the spread constraint.
  5501. - DoNotSchedule (default) tells the scheduler not to schedule it.
  5502. - ScheduleAnyway tells the scheduler to schedule the pod in any location,
  5503. but giving higher precedence to topologies that would help reduce the
  5504. skew.
  5505. A constraint is considered "Unsatisfiable" for an incoming pod
  5506. if and only if every possible node assignment for that pod would violate
  5507. "MaxSkew" on some topology.
  5508. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  5509. labelSelector spread as 3/1/1:
  5510. | zone1 | zone2 | zone3 |
  5511. | P P P | P | P |
  5512. If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
  5513. to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
  5514. MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
  5515. won't make it *more* imbalanced.
  5516. It's a required field.
  5517. type: string
  5518. required:
  5519. - maxSkew
  5520. - topologyKey
  5521. - whenUnsatisfiable
  5522. type: object
  5523. type: array
  5524. volumes:
  5525. description: volumes defines additional pod volumes available
  5526. to the runtime container.
  5527. items:
  5528. description: Volume represents a named volume in a pod that
  5529. may be accessed by any container in the pod.
  5530. properties:
  5531. awsElasticBlockStore:
  5532. description: |-
  5533. awsElasticBlockStore represents an AWS Disk resource that is attached to a
  5534. kubelet's host machine and then exposed to the pod.
  5535. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
  5536. awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
  5537. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5538. properties:
  5539. fsType:
  5540. description: |-
  5541. fsType is the filesystem type of the volume that you want to mount.
  5542. Tip: Ensure that the filesystem type is supported by the host operating system.
  5543. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  5544. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5545. type: string
  5546. partition:
  5547. description: |-
  5548. partition is the partition in the volume that you want to mount.
  5549. If omitted, the default is to mount by volume name.
  5550. Examples: For volume /dev/sda1, you specify the partition as "1".
  5551. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  5552. format: int32
  5553. type: integer
  5554. readOnly:
  5555. description: |-
  5556. readOnly value true will force the readOnly setting in VolumeMounts.
  5557. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5558. type: boolean
  5559. volumeID:
  5560. description: |-
  5561. volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
  5562. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5563. type: string
  5564. required:
  5565. - volumeID
  5566. type: object
  5567. azureDisk:
  5568. description: |-
  5569. azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
  5570. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
  5571. are redirected to the disk.csi.azure.com CSI driver.
  5572. properties:
  5573. cachingMode:
  5574. description: 'cachingMode is the Host Caching mode:
  5575. None, Read Only, Read Write.'
  5576. type: string
  5577. diskName:
  5578. description: diskName is the Name of the data disk
  5579. in the blob storage
  5580. type: string
  5581. diskURI:
  5582. description: diskURI is the URI of data disk in
  5583. the blob storage
  5584. type: string
  5585. fsType:
  5586. default: ext4
  5587. description: |-
  5588. fsType is Filesystem type to mount.
  5589. Must be a filesystem type supported by the host operating system.
  5590. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  5591. type: string
  5592. kind:
  5593. description: 'kind expected values are Shared: multiple
  5594. blob disks per storage account Dedicated: single
  5595. blob disk per storage account Managed: azure
  5596. managed data disk (only in managed availability
  5597. set). defaults to shared'
  5598. type: string
  5599. readOnly:
  5600. default: false
  5601. description: |-
  5602. readOnly Defaults to false (read/write). ReadOnly here will force
  5603. the ReadOnly setting in VolumeMounts.
  5604. type: boolean
  5605. required:
  5606. - diskName
  5607. - diskURI
  5608. type: object
  5609. azureFile:
  5610. description: |-
  5611. azureFile represents an Azure File Service mount on the host and bind mount to the pod.
  5612. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
  5613. are redirected to the file.csi.azure.com CSI driver.
  5614. properties:
  5615. readOnly:
  5616. description: |-
  5617. readOnly defaults to false (read/write). ReadOnly here will force
  5618. the ReadOnly setting in VolumeMounts.
  5619. type: boolean
  5620. secretName:
  5621. description: secretName is the name of secret that
  5622. contains Azure Storage Account Name and Key
  5623. type: string
  5624. shareName:
  5625. description: shareName is the azure share Name
  5626. type: string
  5627. required:
  5628. - secretName
  5629. - shareName
  5630. type: object
  5631. cephfs:
  5632. description: |-
  5633. cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
  5634. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
  5635. properties:
  5636. monitors:
  5637. description: |-
  5638. monitors is Required: Monitors is a collection of Ceph monitors
  5639. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5640. items:
  5641. type: string
  5642. type: array
  5643. x-kubernetes-list-type: atomic
  5644. path:
  5645. description: 'path is Optional: Used as the mounted
  5646. root, rather than the full Ceph tree, default
  5647. is /'
  5648. type: string
  5649. readOnly:
  5650. description: |-
  5651. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  5652. the ReadOnly setting in VolumeMounts.
  5653. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5654. type: boolean
  5655. secretFile:
  5656. description: |-
  5657. secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
  5658. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5659. type: string
  5660. secretRef:
  5661. description: |-
  5662. secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
  5663. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5664. properties:
  5665. name:
  5666. default: ""
  5667. description: |-
  5668. Name of the referent.
  5669. This field is effectively required, but due to backwards compatibility is
  5670. allowed to be empty. Instances of this type with an empty value here are
  5671. almost certainly wrong.
  5672. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5673. type: string
  5674. type: object
  5675. x-kubernetes-map-type: atomic
  5676. user:
  5677. description: |-
  5678. user is optional: User is the rados user name, default is admin
  5679. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5680. type: string
  5681. required:
  5682. - monitors
  5683. type: object
  5684. cinder:
  5685. description: |-
  5686. cinder represents a cinder volume attached and mounted on kubelets host machine.
  5687. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
  5688. are redirected to the cinder.csi.openstack.org CSI driver.
  5689. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5690. properties:
  5691. fsType:
  5692. description: |-
  5693. fsType is the filesystem type to mount.
  5694. Must be a filesystem type supported by the host operating system.
  5695. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  5696. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5697. type: string
  5698. readOnly:
  5699. description: |-
  5700. readOnly defaults to false (read/write). ReadOnly here will force
  5701. the ReadOnly setting in VolumeMounts.
  5702. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5703. type: boolean
  5704. secretRef:
  5705. description: |-
  5706. secretRef is optional: points to a secret object containing parameters used to connect
  5707. to OpenStack.
  5708. properties:
  5709. name:
  5710. default: ""
  5711. description: |-
  5712. Name of the referent.
  5713. This field is effectively required, but due to backwards compatibility is
  5714. allowed to be empty. Instances of this type with an empty value here are
  5715. almost certainly wrong.
  5716. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5717. type: string
  5718. type: object
  5719. x-kubernetes-map-type: atomic
  5720. volumeID:
  5721. description: |-
  5722. volumeID used to identify the volume in cinder.
  5723. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5724. type: string
  5725. required:
  5726. - volumeID
  5727. type: object
  5728. configMap:
  5729. description: configMap represents a configMap that should
  5730. populate this volume
  5731. properties:
  5732. defaultMode:
  5733. description: |-
  5734. defaultMode is optional: mode bits used to set permissions on created files by default.
  5735. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  5736. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5737. Defaults to 0644.
  5738. Directories within the path are not affected by this setting.
  5739. This might be in conflict with other options that affect the file
  5740. mode, like fsGroup, and the result can be other mode bits set.
  5741. format: int32
  5742. type: integer
  5743. items:
  5744. description: |-
  5745. items if unspecified, each key-value pair in the Data field of the referenced
  5746. ConfigMap will be projected into the volume as a file whose name is the
  5747. key and content is the value. If specified, the listed keys will be
  5748. projected into the specified paths, and unlisted keys will not be
  5749. present. If a key is specified which is not present in the ConfigMap,
  5750. the volume setup will error unless it is marked optional. Paths must be
  5751. relative and may not contain the '..' path or start with '..'.
  5752. items:
  5753. description: Maps a string key to a path within
  5754. a volume.
  5755. properties:
  5756. key:
  5757. description: key is the key to project.
  5758. type: string
  5759. mode:
  5760. description: |-
  5761. mode is Optional: mode bits used to set permissions on this file.
  5762. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  5763. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5764. If not specified, the volume defaultMode will be used.
  5765. This might be in conflict with other options that affect the file
  5766. mode, like fsGroup, and the result can be other mode bits set.
  5767. format: int32
  5768. type: integer
  5769. path:
  5770. description: |-
  5771. path is the relative path of the file to map the key to.
  5772. May not be an absolute path.
  5773. May not contain the path element '..'.
  5774. May not start with the string '..'.
  5775. type: string
  5776. required:
  5777. - key
  5778. - path
  5779. type: object
  5780. type: array
  5781. x-kubernetes-list-type: atomic
  5782. name:
  5783. default: ""
  5784. description: |-
  5785. Name of the referent.
  5786. This field is effectively required, but due to backwards compatibility is
  5787. allowed to be empty. Instances of this type with an empty value here are
  5788. almost certainly wrong.
  5789. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5790. type: string
  5791. optional:
  5792. description: optional specify whether the ConfigMap
  5793. or its keys must be defined
  5794. type: boolean
  5795. type: object
  5796. x-kubernetes-map-type: atomic
  5797. csi:
  5798. description: csi (Container Storage Interface) represents
  5799. ephemeral storage that is handled by certain external
  5800. CSI drivers.
  5801. properties:
  5802. driver:
  5803. description: |-
  5804. driver is the name of the CSI driver that handles this volume.
  5805. Consult with your admin for the correct name as registered in the cluster.
  5806. type: string
  5807. fsType:
  5808. description: |-
  5809. fsType to mount. Ex. "ext4", "xfs", "ntfs".
  5810. If not provided, the empty value is passed to the associated CSI driver
  5811. which will determine the default filesystem to apply.
  5812. type: string
  5813. nodePublishSecretRef:
  5814. description: |-
  5815. nodePublishSecretRef is a reference to the secret object containing
  5816. sensitive information to pass to the CSI driver to complete the CSI
  5817. NodePublishVolume and NodeUnpublishVolume calls.
  5818. This field is optional, and may be empty if no secret is required. If the
  5819. secret object contains more than one secret, all secret references are passed.
  5820. properties:
  5821. name:
  5822. default: ""
  5823. description: |-
  5824. Name of the referent.
  5825. This field is effectively required, but due to backwards compatibility is
  5826. allowed to be empty. Instances of this type with an empty value here are
  5827. almost certainly wrong.
  5828. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5829. type: string
  5830. type: object
  5831. x-kubernetes-map-type: atomic
  5832. readOnly:
  5833. description: |-
  5834. readOnly specifies a read-only configuration for the volume.
  5835. Defaults to false (read/write).
  5836. type: boolean
  5837. volumeAttributes:
  5838. additionalProperties:
  5839. type: string
  5840. description: |-
  5841. volumeAttributes stores driver-specific properties that are passed to the CSI
  5842. driver. Consult your driver's documentation for supported values.
  5843. type: object
  5844. required:
  5845. - driver
  5846. type: object
  5847. downwardAPI:
  5848. description: downwardAPI represents downward API about
  5849. the pod that should populate this volume
  5850. properties:
  5851. defaultMode:
  5852. description: |-
  5853. Optional: mode bits to use on created files by default. Must be a
  5854. Optional: mode bits used to set permissions on created files by default.
  5855. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  5856. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5857. Defaults to 0644.
  5858. Directories within the path are not affected by this setting.
  5859. This might be in conflict with other options that affect the file
  5860. mode, like fsGroup, and the result can be other mode bits set.
  5861. format: int32
  5862. type: integer
  5863. items:
  5864. description: Items is a list of downward API volume
  5865. file
  5866. items:
  5867. description: DownwardAPIVolumeFile represents
  5868. information to create the file containing the
  5869. pod field
  5870. properties:
  5871. fieldRef:
  5872. description: 'Required: Selects a field of
  5873. the pod: only annotations, labels, name,
  5874. namespace and uid are supported.'
  5875. properties:
  5876. apiVersion:
  5877. description: Version of the schema the
  5878. FieldPath is written in terms of, defaults
  5879. to "v1".
  5880. type: string
  5881. fieldPath:
  5882. description: Path of the field to select
  5883. in the specified API version.
  5884. type: string
  5885. required:
  5886. - fieldPath
  5887. type: object
  5888. x-kubernetes-map-type: atomic
  5889. mode:
  5890. description: |-
  5891. Optional: mode bits used to set permissions on this file, must be an octal value
  5892. between 0000 and 0777 or a decimal value between 0 and 511.
  5893. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5894. If not specified, the volume defaultMode will be used.
  5895. This might be in conflict with other options that affect the file
  5896. mode, like fsGroup, and the result can be other mode bits set.
  5897. format: int32
  5898. type: integer
  5899. path:
  5900. description: 'Required: Path is the relative
  5901. path name of the file to be created. Must
  5902. not be absolute or contain the ''..'' path.
  5903. Must be utf-8 encoded. The first item of
  5904. the relative path must not start with ''..'''
  5905. type: string
  5906. resourceFieldRef:
  5907. description: |-
  5908. Selects a resource of the container: only resources limits and requests
  5909. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  5910. properties:
  5911. containerName:
  5912. description: 'Container name: required
  5913. for volumes, optional for env vars'
  5914. type: string
  5915. divisor:
  5916. anyOf:
  5917. - type: integer
  5918. - type: string
  5919. description: Specifies the output format
  5920. of the exposed resources, defaults to
  5921. "1"
  5922. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5923. x-kubernetes-int-or-string: true
  5924. resource:
  5925. description: 'Required: resource to select'
  5926. type: string
  5927. required:
  5928. - resource
  5929. type: object
  5930. x-kubernetes-map-type: atomic
  5931. required:
  5932. - path
  5933. type: object
  5934. type: array
  5935. x-kubernetes-list-type: atomic
  5936. type: object
  5937. emptyDir:
  5938. description: |-
  5939. emptyDir represents a temporary directory that shares a pod's lifetime.
  5940. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  5941. properties:
  5942. medium:
  5943. description: |-
  5944. medium represents what type of storage medium should back this directory.
  5945. The default is "" which means to use the node's default medium.
  5946. Must be an empty string (default) or Memory.
  5947. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  5948. type: string
  5949. sizeLimit:
  5950. anyOf:
  5951. - type: integer
  5952. - type: string
  5953. description: |-
  5954. sizeLimit is the total amount of local storage required for this EmptyDir volume.
  5955. The size limit is also applicable for memory medium.
  5956. The maximum usage on memory medium EmptyDir would be the minimum value between
  5957. the SizeLimit specified here and the sum of memory limits of all containers in a pod.
  5958. The default is nil which means that the limit is undefined.
  5959. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  5960. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5961. x-kubernetes-int-or-string: true
  5962. type: object
  5963. ephemeral:
  5964. description: |-
  5965. ephemeral represents a volume that is handled by a cluster storage driver.
  5966. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
  5967. and deleted when the pod is removed.
  5968. Use this if:
  5969. a) the volume is only needed while the pod runs,
  5970. b) features of normal volumes like restoring from snapshot or capacity
  5971. tracking are needed,
  5972. c) the storage driver is specified through a storage class, and
  5973. d) the storage driver supports dynamic volume provisioning through
  5974. a PersistentVolumeClaim (see EphemeralVolumeSource for more
  5975. information on the connection between this volume type
  5976. and PersistentVolumeClaim).
  5977. Use PersistentVolumeClaim or one of the vendor-specific
  5978. APIs for volumes that persist for longer than the lifecycle
  5979. of an individual pod.
  5980. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
  5981. be used that way - see the documentation of the driver for
  5982. more information.
  5983. A pod can use both types of ephemeral volumes and
  5984. persistent volumes at the same time.
  5985. properties:
  5986. volumeClaimTemplate:
  5987. description: |-
  5988. Will be used to create a stand-alone PVC to provision the volume.
  5989. The pod in which this EphemeralVolumeSource is embedded will be the
  5990. owner of the PVC, i.e. the PVC will be deleted together with the
  5991. pod. The name of the PVC will be `<pod name>-<volume name>` where
  5992. `<volume name>` is the name from the `PodSpec.Volumes` array
  5993. entry. Pod validation will reject the pod if the concatenated name
  5994. is not valid for a PVC (for example, too long).
  5995. An existing PVC with that name that is not owned by the pod
  5996. will *not* be used for the pod to avoid using an unrelated
  5997. volume by mistake. Starting the pod is then blocked until
  5998. the unrelated PVC is removed. If such a pre-created PVC is
  5999. meant to be used by the pod, the PVC has to updated with an
  6000. owner reference to the pod once the pod exists. Normally
  6001. this should not be necessary, but it may be useful when
  6002. manually reconstructing a broken cluster.
  6003. This field is read-only and no changes will be made by Kubernetes
  6004. to the PVC after it has been created.
  6005. Required, must not be nil.
  6006. properties:
  6007. metadata:
  6008. description: |-
  6009. May contain labels and annotations that will be copied into the PVC
  6010. when creating it. No other fields are allowed and will be rejected during
  6011. validation.
  6012. type: object
  6013. spec:
  6014. description: |-
  6015. The specification for the PersistentVolumeClaim. The entire content is
  6016. copied unchanged into the PVC that gets created from this
  6017. template. The same fields as in a PersistentVolumeClaim
  6018. are also valid here.
  6019. properties:
  6020. accessModes:
  6021. description: |-
  6022. accessModes contains the desired access modes the volume should have.
  6023. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
  6024. items:
  6025. type: string
  6026. type: array
  6027. x-kubernetes-list-type: atomic
  6028. dataSource:
  6029. description: |-
  6030. dataSource field can be used to specify either:
  6031. * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  6032. * An existing PVC (PersistentVolumeClaim)
  6033. If the provisioner or an external controller can support the specified data source,
  6034. it will create a new volume based on the contents of the specified data source.
  6035. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
  6036. and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
  6037. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
  6038. properties:
  6039. apiGroup:
  6040. description: |-
  6041. APIGroup is the group for the resource being referenced.
  6042. If APIGroup is not specified, the specified Kind must be in the core API group.
  6043. For any other third-party types, APIGroup is required.
  6044. type: string
  6045. kind:
  6046. description: Kind is the type of resource
  6047. being referenced
  6048. type: string
  6049. name:
  6050. description: Name is the name of resource
  6051. being referenced
  6052. type: string
  6053. required:
  6054. - kind
  6055. - name
  6056. type: object
  6057. x-kubernetes-map-type: atomic
  6058. dataSourceRef:
  6059. description: |-
  6060. dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
  6061. volume is desired. This may be any object from a non-empty API group (non
  6062. core object) or a PersistentVolumeClaim object.
  6063. When this field is specified, volume binding will only succeed if the type of
  6064. the specified object matches some installed volume populator or dynamic
  6065. provisioner.
  6066. This field will replace the functionality of the dataSource field and as such
  6067. if both fields are non-empty, they must have the same value. For backwards
  6068. compatibility, when namespace isn't specified in dataSourceRef,
  6069. both fields (dataSource and dataSourceRef) will be set to the same
  6070. value automatically if one of them is empty and the other is non-empty.
  6071. When namespace is specified in dataSourceRef,
  6072. dataSource isn't set to the same value and must be empty.
  6073. There are three important differences between dataSource and dataSourceRef:
  6074. * While dataSource only allows two specific types of objects, dataSourceRef
  6075. allows any non-core object, as well as PersistentVolumeClaim objects.
  6076. * While dataSource ignores disallowed values (dropping them), dataSourceRef
  6077. preserves all values, and generates an error if a disallowed value is
  6078. specified.
  6079. * While dataSource only allows local objects, dataSourceRef allows objects
  6080. in any namespaces.
  6081. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
  6082. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  6083. properties:
  6084. apiGroup:
  6085. description: |-
  6086. APIGroup is the group for the resource being referenced.
  6087. If APIGroup is not specified, the specified Kind must be in the core API group.
  6088. For any other third-party types, APIGroup is required.
  6089. type: string
  6090. kind:
  6091. description: Kind is the type of resource
  6092. being referenced
  6093. type: string
  6094. name:
  6095. description: Name is the name of resource
  6096. being referenced
  6097. type: string
  6098. namespace:
  6099. description: |-
  6100. Namespace is the namespace of resource being referenced
  6101. Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
  6102. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  6103. type: string
  6104. required:
  6105. - kind
  6106. - name
  6107. type: object
  6108. resources:
  6109. description: |-
  6110. resources represents the minimum resources the volume should have.
  6111. Users are allowed to specify resource requirements
  6112. that are lower than previous value but must still be higher than capacity recorded in the
  6113. status field of the claim.
  6114. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
  6115. properties:
  6116. limits:
  6117. additionalProperties:
  6118. anyOf:
  6119. - type: integer
  6120. - type: string
  6121. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6122. x-kubernetes-int-or-string: true
  6123. description: |-
  6124. Limits describes the maximum amount of compute resources allowed.
  6125. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  6126. type: object
  6127. requests:
  6128. additionalProperties:
  6129. anyOf:
  6130. - type: integer
  6131. - type: string
  6132. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6133. x-kubernetes-int-or-string: true
  6134. description: |-
  6135. Requests describes the minimum amount of compute resources required.
  6136. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  6137. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  6138. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  6139. type: object
  6140. type: object
  6141. selector:
  6142. description: selector is a label query over
  6143. volumes to consider for binding.
  6144. properties:
  6145. matchExpressions:
  6146. description: matchExpressions is a list
  6147. of label selector requirements. The
  6148. requirements are ANDed.
  6149. items:
  6150. description: |-
  6151. A label selector requirement is a selector that contains values, a key, and an operator that
  6152. relates the key and values.
  6153. properties:
  6154. key:
  6155. description: key is the label
  6156. key that the selector applies
  6157. to.
  6158. type: string
  6159. operator:
  6160. description: |-
  6161. operator represents a key's relationship to a set of values.
  6162. Valid operators are In, NotIn, Exists and DoesNotExist.
  6163. type: string
  6164. values:
  6165. description: |-
  6166. values is an array of string values. If the operator is In or NotIn,
  6167. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  6168. the values array must be empty. This array is replaced during a strategic
  6169. merge patch.
  6170. items:
  6171. type: string
  6172. type: array
  6173. x-kubernetes-list-type: atomic
  6174. required:
  6175. - key
  6176. - operator
  6177. type: object
  6178. type: array
  6179. x-kubernetes-list-type: atomic
  6180. matchLabels:
  6181. additionalProperties:
  6182. type: string
  6183. description: |-
  6184. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  6185. map is equivalent to an element of matchExpressions, whose key field is "key", the
  6186. operator is "In", and the values array contains only "value". The requirements are ANDed.
  6187. type: object
  6188. type: object
  6189. x-kubernetes-map-type: atomic
  6190. storageClassName:
  6191. description: |-
  6192. storageClassName is the name of the StorageClass required by the claim.
  6193. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
  6194. type: string
  6195. volumeAttributesClassName:
  6196. description: |-
  6197. volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
  6198. If specified, the CSI driver will create or update the volume with the attributes defined
  6199. in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
  6200. it can be changed after the claim is created. An empty string or nil value indicates that no
  6201. VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state,
  6202. this field can be reset to its previous value (including nil) to cancel the modification.
  6203. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
  6204. set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
  6205. exists.
  6206. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
  6207. type: string
  6208. volumeMode:
  6209. description: |-
  6210. volumeMode defines what type of volume is required by the claim.
  6211. Value of Filesystem is implied when not included in claim spec.
  6212. type: string
  6213. volumeName:
  6214. description: volumeName is the binding reference
  6215. to the PersistentVolume backing this claim.
  6216. type: string
  6217. type: object
  6218. required:
  6219. - spec
  6220. type: object
  6221. type: object
  6222. fc:
  6223. description: fc represents a Fibre Channel resource
  6224. that is attached to a kubelet's host machine and then
  6225. exposed to the pod.
  6226. properties:
  6227. fsType:
  6228. description: |-
  6229. fsType is the filesystem type to mount.
  6230. Must be a filesystem type supported by the host operating system.
  6231. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6232. type: string
  6233. lun:
  6234. description: 'lun is Optional: FC target lun number'
  6235. format: int32
  6236. type: integer
  6237. readOnly:
  6238. description: |-
  6239. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  6240. the ReadOnly setting in VolumeMounts.
  6241. type: boolean
  6242. targetWWNs:
  6243. description: 'targetWWNs is Optional: FC target
  6244. worldwide names (WWNs)'
  6245. items:
  6246. type: string
  6247. type: array
  6248. x-kubernetes-list-type: atomic
  6249. wwids:
  6250. description: |-
  6251. wwids Optional: FC volume world wide identifiers (wwids)
  6252. Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
  6253. items:
  6254. type: string
  6255. type: array
  6256. x-kubernetes-list-type: atomic
  6257. type: object
  6258. flexVolume:
  6259. description: |-
  6260. flexVolume represents a generic volume resource that is
  6261. provisioned/attached using an exec based plugin.
  6262. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
  6263. properties:
  6264. driver:
  6265. description: driver is the name of the driver to
  6266. use for this volume.
  6267. type: string
  6268. fsType:
  6269. description: |-
  6270. fsType is the filesystem type to mount.
  6271. Must be a filesystem type supported by the host operating system.
  6272. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
  6273. type: string
  6274. options:
  6275. additionalProperties:
  6276. type: string
  6277. description: 'options is Optional: this field holds
  6278. extra command options if any.'
  6279. type: object
  6280. readOnly:
  6281. description: |-
  6282. readOnly is Optional: defaults to false (read/write). ReadOnly here will force
  6283. the ReadOnly setting in VolumeMounts.
  6284. type: boolean
  6285. secretRef:
  6286. description: |-
  6287. secretRef is Optional: secretRef is reference to the secret object containing
  6288. sensitive information to pass to the plugin scripts. This may be
  6289. empty if no secret object is specified. If the secret object
  6290. contains more than one secret, all secrets are passed to the plugin
  6291. scripts.
  6292. properties:
  6293. name:
  6294. default: ""
  6295. description: |-
  6296. Name of the referent.
  6297. This field is effectively required, but due to backwards compatibility is
  6298. allowed to be empty. Instances of this type with an empty value here are
  6299. almost certainly wrong.
  6300. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6301. type: string
  6302. type: object
  6303. x-kubernetes-map-type: atomic
  6304. required:
  6305. - driver
  6306. type: object
  6307. flocker:
  6308. description: |-
  6309. flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
  6310. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
  6311. properties:
  6312. datasetName:
  6313. description: |-
  6314. datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
  6315. should be considered as deprecated
  6316. type: string
  6317. datasetUUID:
  6318. description: datasetUUID is the UUID of the dataset.
  6319. This is unique identifier of a Flocker dataset
  6320. type: string
  6321. type: object
  6322. gcePersistentDisk:
  6323. description: |-
  6324. gcePersistentDisk represents a GCE Disk resource that is attached to a
  6325. kubelet's host machine and then exposed to the pod.
  6326. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
  6327. gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
  6328. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6329. properties:
  6330. fsType:
  6331. description: |-
  6332. fsType is filesystem type of the volume that you want to mount.
  6333. Tip: Ensure that the filesystem type is supported by the host operating system.
  6334. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6335. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6336. type: string
  6337. partition:
  6338. description: |-
  6339. partition is the partition in the volume that you want to mount.
  6340. If omitted, the default is to mount by volume name.
  6341. Examples: For volume /dev/sda1, you specify the partition as "1".
  6342. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  6343. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6344. format: int32
  6345. type: integer
  6346. pdName:
  6347. description: |-
  6348. pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
  6349. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6350. type: string
  6351. readOnly:
  6352. description: |-
  6353. readOnly here will force the ReadOnly setting in VolumeMounts.
  6354. Defaults to false.
  6355. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6356. type: boolean
  6357. required:
  6358. - pdName
  6359. type: object
  6360. gitRepo:
  6361. description: |-
  6362. gitRepo represents a git repository at a particular revision.
  6363. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
  6364. EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
  6365. into the Pod's container.
  6366. properties:
  6367. directory:
  6368. description: |-
  6369. directory is the target directory name.
  6370. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
  6371. git repository. Otherwise, if specified, the volume will contain the git repository in
  6372. the subdirectory with the given name.
  6373. type: string
  6374. repository:
  6375. description: repository is the URL
  6376. type: string
  6377. revision:
  6378. description: revision is the commit hash for the
  6379. specified revision.
  6380. type: string
  6381. required:
  6382. - repository
  6383. type: object
  6384. glusterfs:
  6385. description: |-
  6386. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
  6387. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
  6388. properties:
  6389. endpoints:
  6390. description: endpoints is the endpoint name that
  6391. details Glusterfs topology.
  6392. type: string
  6393. path:
  6394. description: |-
  6395. path is the Glusterfs volume path.
  6396. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  6397. type: string
  6398. readOnly:
  6399. description: |-
  6400. readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
  6401. Defaults to false.
  6402. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  6403. type: boolean
  6404. required:
  6405. - endpoints
  6406. - path
  6407. type: object
  6408. hostPath:
  6409. description: |-
  6410. hostPath represents a pre-existing file or directory on the host
  6411. machine that is directly exposed to the container. This is generally
  6412. used for system agents or other privileged things that are allowed
  6413. to see the host machine. Most containers will NOT need this.
  6414. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6415. properties:
  6416. path:
  6417. description: |-
  6418. path of the directory on the host.
  6419. If the path is a symlink, it will follow the link to the real path.
  6420. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6421. type: string
  6422. type:
  6423. description: |-
  6424. type for HostPath Volume
  6425. Defaults to ""
  6426. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6427. type: string
  6428. required:
  6429. - path
  6430. type: object
  6431. image:
  6432. description: |-
  6433. image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
  6434. The volume is resolved at pod startup depending on which PullPolicy value is provided:
  6435. - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  6436. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  6437. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
  6438. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
  6439. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
  6440. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
  6441. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
  6442. The volume will be mounted read-only (ro) and non-executable files (noexec).
  6443. Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33.
  6444. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
  6445. properties:
  6446. pullPolicy:
  6447. description: |-
  6448. Policy for pulling OCI objects. Possible values are:
  6449. Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  6450. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  6451. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
  6452. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
  6453. type: string
  6454. reference:
  6455. description: |-
  6456. Required: Image or artifact reference to be used.
  6457. Behaves in the same way as pod.spec.containers[*].image.
  6458. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
  6459. More info: https://kubernetes.io/docs/concepts/containers/images
  6460. This field is optional to allow higher level config management to default or override
  6461. container images in workload controllers like Deployments and StatefulSets.
  6462. type: string
  6463. type: object
  6464. iscsi:
  6465. description: |-
  6466. iscsi represents an ISCSI Disk resource that is attached to a
  6467. kubelet's host machine and then exposed to the pod.
  6468. More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi
  6469. properties:
  6470. chapAuthDiscovery:
  6471. description: chapAuthDiscovery defines whether support
  6472. iSCSI Discovery CHAP authentication
  6473. type: boolean
  6474. chapAuthSession:
  6475. description: chapAuthSession defines whether support
  6476. iSCSI Session CHAP authentication
  6477. type: boolean
  6478. fsType:
  6479. description: |-
  6480. fsType is the filesystem type of the volume that you want to mount.
  6481. Tip: Ensure that the filesystem type is supported by the host operating system.
  6482. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6483. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  6484. type: string
  6485. initiatorName:
  6486. description: |-
  6487. initiatorName is the custom iSCSI Initiator Name.
  6488. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
  6489. <target portal>:<volume name> will be created for the connection.
  6490. type: string
  6491. iqn:
  6492. description: iqn is the target iSCSI Qualified Name.
  6493. type: string
  6494. iscsiInterface:
  6495. default: default
  6496. description: |-
  6497. iscsiInterface is the interface Name that uses an iSCSI transport.
  6498. Defaults to 'default' (tcp).
  6499. type: string
  6500. lun:
  6501. description: lun represents iSCSI Target Lun number.
  6502. format: int32
  6503. type: integer
  6504. portals:
  6505. description: |-
  6506. portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
  6507. is other than default (typically TCP ports 860 and 3260).
  6508. items:
  6509. type: string
  6510. type: array
  6511. x-kubernetes-list-type: atomic
  6512. readOnly:
  6513. description: |-
  6514. readOnly here will force the ReadOnly setting in VolumeMounts.
  6515. Defaults to false.
  6516. type: boolean
  6517. secretRef:
  6518. description: secretRef is the CHAP Secret for iSCSI
  6519. target and initiator authentication
  6520. properties:
  6521. name:
  6522. default: ""
  6523. description: |-
  6524. Name of the referent.
  6525. This field is effectively required, but due to backwards compatibility is
  6526. allowed to be empty. Instances of this type with an empty value here are
  6527. almost certainly wrong.
  6528. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6529. type: string
  6530. type: object
  6531. x-kubernetes-map-type: atomic
  6532. targetPortal:
  6533. description: |-
  6534. targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
  6535. is other than default (typically TCP ports 860 and 3260).
  6536. type: string
  6537. required:
  6538. - iqn
  6539. - lun
  6540. - targetPortal
  6541. type: object
  6542. name:
  6543. description: |-
  6544. name of the volume.
  6545. Must be a DNS_LABEL and unique within the pod.
  6546. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6547. type: string
  6548. nfs:
  6549. description: |-
  6550. nfs represents an NFS mount on the host that shares a pod's lifetime
  6551. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6552. properties:
  6553. path:
  6554. description: |-
  6555. path that is exported by the NFS server.
  6556. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6557. type: string
  6558. readOnly:
  6559. description: |-
  6560. readOnly here will force the NFS export to be mounted with read-only permissions.
  6561. Defaults to false.
  6562. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6563. type: boolean
  6564. server:
  6565. description: |-
  6566. server is the hostname or IP address of the NFS server.
  6567. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6568. type: string
  6569. required:
  6570. - path
  6571. - server
  6572. type: object
  6573. persistentVolumeClaim:
  6574. description: |-
  6575. persistentVolumeClaimVolumeSource represents a reference to a
  6576. PersistentVolumeClaim in the same namespace.
  6577. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  6578. properties:
  6579. claimName:
  6580. description: |-
  6581. claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  6582. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  6583. type: string
  6584. readOnly:
  6585. description: |-
  6586. readOnly Will force the ReadOnly setting in VolumeMounts.
  6587. Default false.
  6588. type: boolean
  6589. required:
  6590. - claimName
  6591. type: object
  6592. photonPersistentDisk:
  6593. description: |-
  6594. photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
  6595. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
  6596. properties:
  6597. fsType:
  6598. description: |-
  6599. fsType is the filesystem type to mount.
  6600. Must be a filesystem type supported by the host operating system.
  6601. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6602. type: string
  6603. pdID:
  6604. description: pdID is the ID that identifies Photon
  6605. Controller persistent disk
  6606. type: string
  6607. required:
  6608. - pdID
  6609. type: object
  6610. portworxVolume:
  6611. description: |-
  6612. portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
  6613. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
  6614. are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
  6615. is on.
  6616. properties:
  6617. fsType:
  6618. description: |-
  6619. fSType represents the filesystem type to mount
  6620. Must be a filesystem type supported by the host operating system.
  6621. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
  6622. type: string
  6623. readOnly:
  6624. description: |-
  6625. readOnly defaults to false (read/write). ReadOnly here will force
  6626. the ReadOnly setting in VolumeMounts.
  6627. type: boolean
  6628. volumeID:
  6629. description: volumeID uniquely identifies a Portworx
  6630. volume
  6631. type: string
  6632. required:
  6633. - volumeID
  6634. type: object
  6635. projected:
  6636. description: projected items for all in one resources
  6637. secrets, configmaps, and downward API
  6638. properties:
  6639. defaultMode:
  6640. description: |-
  6641. defaultMode are the mode bits used to set permissions on created files by default.
  6642. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  6643. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6644. Directories within the path are not affected by this setting.
  6645. This might be in conflict with other options that affect the file
  6646. mode, like fsGroup, and the result can be other mode bits set.
  6647. format: int32
  6648. type: integer
  6649. sources:
  6650. description: |-
  6651. sources is the list of volume projections. Each entry in this list
  6652. handles one source.
  6653. items:
  6654. description: |-
  6655. Projection that may be projected along with other supported volume types.
  6656. Exactly one of these fields must be set.
  6657. properties:
  6658. clusterTrustBundle:
  6659. description: |-
  6660. ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
  6661. of ClusterTrustBundle objects in an auto-updating file.
  6662. Alpha, gated by the ClusterTrustBundleProjection feature gate.
  6663. ClusterTrustBundle objects can either be selected by name, or by the
  6664. combination of signer name and a label selector.
  6665. Kubelet performs aggressive normalization of the PEM contents written
  6666. into the pod filesystem. Esoteric PEM features such as inter-block
  6667. comments and block headers are stripped. Certificates are deduplicated.
  6668. The ordering of certificates within the file is arbitrary, and Kubelet
  6669. may change the order over time.
  6670. properties:
  6671. labelSelector:
  6672. description: |-
  6673. Select all ClusterTrustBundles that match this label selector. Only has
  6674. effect if signerName is set. Mutually-exclusive with name. If unset,
  6675. interpreted as "match nothing". If set but empty, interpreted as "match
  6676. everything".
  6677. properties:
  6678. matchExpressions:
  6679. description: matchExpressions is a
  6680. list of label selector requirements.
  6681. The requirements are ANDed.
  6682. items:
  6683. description: |-
  6684. A label selector requirement is a selector that contains values, a key, and an operator that
  6685. relates the key and values.
  6686. properties:
  6687. key:
  6688. description: key is the label
  6689. key that the selector applies
  6690. to.
  6691. type: string
  6692. operator:
  6693. description: |-
  6694. operator represents a key's relationship to a set of values.
  6695. Valid operators are In, NotIn, Exists and DoesNotExist.
  6696. type: string
  6697. values:
  6698. description: |-
  6699. values is an array of string values. If the operator is In or NotIn,
  6700. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  6701. the values array must be empty. This array is replaced during a strategic
  6702. merge patch.
  6703. items:
  6704. type: string
  6705. type: array
  6706. x-kubernetes-list-type: atomic
  6707. required:
  6708. - key
  6709. - operator
  6710. type: object
  6711. type: array
  6712. x-kubernetes-list-type: atomic
  6713. matchLabels:
  6714. additionalProperties:
  6715. type: string
  6716. description: |-
  6717. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  6718. map is equivalent to an element of matchExpressions, whose key field is "key", the
  6719. operator is "In", and the values array contains only "value". The requirements are ANDed.
  6720. type: object
  6721. type: object
  6722. x-kubernetes-map-type: atomic
  6723. name:
  6724. description: |-
  6725. Select a single ClusterTrustBundle by object name. Mutually-exclusive
  6726. with signerName and labelSelector.
  6727. type: string
  6728. optional:
  6729. description: |-
  6730. If true, don't block pod startup if the referenced ClusterTrustBundle(s)
  6731. aren't available. If using name, then the named ClusterTrustBundle is
  6732. allowed not to exist. If using signerName, then the combination of
  6733. signerName and labelSelector is allowed to match zero
  6734. ClusterTrustBundles.
  6735. type: boolean
  6736. path:
  6737. description: Relative path from the volume
  6738. root to write the bundle.
  6739. type: string
  6740. signerName:
  6741. description: |-
  6742. Select all ClusterTrustBundles that match this signer name.
  6743. Mutually-exclusive with name. The contents of all selected
  6744. ClusterTrustBundles will be unified and deduplicated.
  6745. type: string
  6746. required:
  6747. - path
  6748. type: object
  6749. configMap:
  6750. description: configMap information about the
  6751. configMap data to project
  6752. properties:
  6753. items:
  6754. description: |-
  6755. items if unspecified, each key-value pair in the Data field of the referenced
  6756. ConfigMap will be projected into the volume as a file whose name is the
  6757. key and content is the value. If specified, the listed keys will be
  6758. projected into the specified paths, and unlisted keys will not be
  6759. present. If a key is specified which is not present in the ConfigMap,
  6760. the volume setup will error unless it is marked optional. Paths must be
  6761. relative and may not contain the '..' path or start with '..'.
  6762. items:
  6763. description: Maps a string key to a
  6764. path within a volume.
  6765. properties:
  6766. key:
  6767. description: key is the key to project.
  6768. type: string
  6769. mode:
  6770. description: |-
  6771. mode is Optional: mode bits used to set permissions on this file.
  6772. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  6773. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6774. If not specified, the volume defaultMode will be used.
  6775. This might be in conflict with other options that affect the file
  6776. mode, like fsGroup, and the result can be other mode bits set.
  6777. format: int32
  6778. type: integer
  6779. path:
  6780. description: |-
  6781. path is the relative path of the file to map the key to.
  6782. May not be an absolute path.
  6783. May not contain the path element '..'.
  6784. May not start with the string '..'.
  6785. type: string
  6786. required:
  6787. - key
  6788. - path
  6789. type: object
  6790. type: array
  6791. x-kubernetes-list-type: atomic
  6792. name:
  6793. default: ""
  6794. description: |-
  6795. Name of the referent.
  6796. This field is effectively required, but due to backwards compatibility is
  6797. allowed to be empty. Instances of this type with an empty value here are
  6798. almost certainly wrong.
  6799. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6800. type: string
  6801. optional:
  6802. description: optional specify whether
  6803. the ConfigMap or its keys must be defined
  6804. type: boolean
  6805. type: object
  6806. x-kubernetes-map-type: atomic
  6807. downwardAPI:
  6808. description: downwardAPI information about
  6809. the downwardAPI data to project
  6810. properties:
  6811. items:
  6812. description: Items is a list of DownwardAPIVolume
  6813. file
  6814. items:
  6815. description: DownwardAPIVolumeFile represents
  6816. information to create the file containing
  6817. the pod field
  6818. properties:
  6819. fieldRef:
  6820. description: 'Required: Selects
  6821. a field of the pod: only annotations,
  6822. labels, name, namespace and uid
  6823. are supported.'
  6824. properties:
  6825. apiVersion:
  6826. description: Version of the
  6827. schema the FieldPath is written
  6828. in terms of, defaults to "v1".
  6829. type: string
  6830. fieldPath:
  6831. description: Path of the field
  6832. to select in the specified
  6833. API version.
  6834. type: string
  6835. required:
  6836. - fieldPath
  6837. type: object
  6838. x-kubernetes-map-type: atomic
  6839. mode:
  6840. description: |-
  6841. Optional: mode bits used to set permissions on this file, must be an octal value
  6842. between 0000 and 0777 or a decimal value between 0 and 511.
  6843. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6844. If not specified, the volume defaultMode will be used.
  6845. This might be in conflict with other options that affect the file
  6846. mode, like fsGroup, and the result can be other mode bits set.
  6847. format: int32
  6848. type: integer
  6849. path:
  6850. description: 'Required: Path is the
  6851. relative path name of the file
  6852. to be created. Must not be absolute
  6853. or contain the ''..'' path. Must
  6854. be utf-8 encoded. The first item
  6855. of the relative path must not
  6856. start with ''..'''
  6857. type: string
  6858. resourceFieldRef:
  6859. description: |-
  6860. Selects a resource of the container: only resources limits and requests
  6861. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  6862. properties:
  6863. containerName:
  6864. description: 'Container name:
  6865. required for volumes, optional
  6866. for env vars'
  6867. type: string
  6868. divisor:
  6869. anyOf:
  6870. - type: integer
  6871. - type: string
  6872. description: Specifies the output
  6873. format of the exposed resources,
  6874. defaults to "1"
  6875. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6876. x-kubernetes-int-or-string: true
  6877. resource:
  6878. description: 'Required: resource
  6879. to select'
  6880. type: string
  6881. required:
  6882. - resource
  6883. type: object
  6884. x-kubernetes-map-type: atomic
  6885. required:
  6886. - path
  6887. type: object
  6888. type: array
  6889. x-kubernetes-list-type: atomic
  6890. type: object
  6891. podCertificate:
  6892. description: |-
  6893. Projects an auto-rotating credential bundle (private key and certificate
  6894. chain) that the pod can use either as a TLS client or server.
  6895. Kubelet generates a private key and uses it to send a
  6896. PodCertificateRequest to the named signer. Once the signer approves the
  6897. request and issues a certificate chain, Kubelet writes the key and
  6898. certificate chain to the pod filesystem. The pod does not start until
  6899. certificates have been issued for each podCertificate projected volume
  6900. source in its spec.
  6901. Kubelet will begin trying to rotate the certificate at the time indicated
  6902. by the signer using the PodCertificateRequest.Status.BeginRefreshAt
  6903. timestamp.
  6904. Kubelet can write a single file, indicated by the credentialBundlePath
  6905. field, or separate files, indicated by the keyPath and
  6906. certificateChainPath fields.
  6907. The credential bundle is a single file in PEM format. The first PEM
  6908. entry is the private key (in PKCS#8 format), and the remaining PEM
  6909. entries are the certificate chain issued by the signer (typically,
  6910. signers will return their certificate chain in leaf-to-root order).
  6911. Prefer using the credential bundle format, since your application code
  6912. can read it atomically. If you use keyPath and certificateChainPath,
  6913. your application must make two separate file reads. If these coincide
  6914. with a certificate rotation, it is possible that the private key and leaf
  6915. certificate you read may not correspond to each other. Your application
  6916. will need to check for this condition, and re-read until they are
  6917. consistent.
  6918. The named signer controls chooses the format of the certificate it
  6919. issues; consult the signer implementation's documentation to learn how to
  6920. use the certificates it issues.
  6921. properties:
  6922. certificateChainPath:
  6923. description: |-
  6924. Write the certificate chain at this path in the projected volume.
  6925. Most applications should use credentialBundlePath. When using keyPath
  6926. and certificateChainPath, your application needs to check that the key
  6927. and leaf certificate are consistent, because it is possible to read the
  6928. files mid-rotation.
  6929. type: string
  6930. credentialBundlePath:
  6931. description: |-
  6932. Write the credential bundle at this path in the projected volume.
  6933. The credential bundle is a single file that contains multiple PEM blocks.
  6934. The first PEM block is a PRIVATE KEY block, containing a PKCS#8 private
  6935. key.
  6936. The remaining blocks are CERTIFICATE blocks, containing the issued
  6937. certificate chain from the signer (leaf and any intermediates).
  6938. Using credentialBundlePath lets your Pod's application code make a single
  6939. atomic read that retrieves a consistent key and certificate chain. If you
  6940. project them to separate files, your application code will need to
  6941. additionally check that the leaf certificate was issued to the key.
  6942. type: string
  6943. keyPath:
  6944. description: |-
  6945. Write the key at this path in the projected volume.
  6946. Most applications should use credentialBundlePath. When using keyPath
  6947. and certificateChainPath, your application needs to check that the key
  6948. and leaf certificate are consistent, because it is possible to read the
  6949. files mid-rotation.
  6950. type: string
  6951. keyType:
  6952. description: |-
  6953. The type of keypair Kubelet will generate for the pod.
  6954. Valid values are "RSA3072", "RSA4096", "ECDSAP256", "ECDSAP384",
  6955. "ECDSAP521", and "ED25519".
  6956. type: string
  6957. maxExpirationSeconds:
  6958. description: |-
  6959. maxExpirationSeconds is the maximum lifetime permitted for the
  6960. certificate.
  6961. Kubelet copies this value verbatim into the PodCertificateRequests it
  6962. generates for this projection.
  6963. If omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver
  6964. will reject values shorter than 3600 (1 hour). The maximum allowable
  6965. value is 7862400 (91 days).
  6966. The signer implementation is then free to issue a certificate with any
  6967. lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600
  6968. seconds (1 hour). This constraint is enforced by kube-apiserver.
  6969. `kubernetes.io` signers will never issue certificates with a lifetime
  6970. longer than 24 hours.
  6971. format: int32
  6972. type: integer
  6973. signerName:
  6974. description: Kubelet's generated CSRs
  6975. will be addressed to this signer.
  6976. type: string
  6977. userAnnotations:
  6978. additionalProperties:
  6979. type: string
  6980. description: |-
  6981. userAnnotations allow pod authors to pass additional information to
  6982. the signer implementation. Kubernetes does not restrict or validate this
  6983. metadata in any way.
  6984. These values are copied verbatim into the `spec.unverifiedUserAnnotations` field of
  6985. the PodCertificateRequest objects that Kubelet creates.
  6986. Entries are subject to the same validation as object metadata annotations,
  6987. with the addition that all keys must be domain-prefixed. No restrictions
  6988. are placed on values, except an overall size limitation on the entire field.
  6989. Signers should document the keys and values they support. Signers should
  6990. deny requests that contain keys they do not recognize.
  6991. type: object
  6992. required:
  6993. - keyType
  6994. - signerName
  6995. type: object
  6996. secret:
  6997. description: secret information about the
  6998. secret data to project
  6999. properties:
  7000. items:
  7001. description: |-
  7002. items if unspecified, each key-value pair in the Data field of the referenced
  7003. Secret will be projected into the volume as a file whose name is the
  7004. key and content is the value. If specified, the listed keys will be
  7005. projected into the specified paths, and unlisted keys will not be
  7006. present. If a key is specified which is not present in the Secret,
  7007. the volume setup will error unless it is marked optional. Paths must be
  7008. relative and may not contain the '..' path or start with '..'.
  7009. items:
  7010. description: Maps a string key to a
  7011. path within a volume.
  7012. properties:
  7013. key:
  7014. description: key is the key to project.
  7015. type: string
  7016. mode:
  7017. description: |-
  7018. mode is Optional: mode bits used to set permissions on this file.
  7019. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  7020. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  7021. If not specified, the volume defaultMode will be used.
  7022. This might be in conflict with other options that affect the file
  7023. mode, like fsGroup, and the result can be other mode bits set.
  7024. format: int32
  7025. type: integer
  7026. path:
  7027. description: |-
  7028. path is the relative path of the file to map the key to.
  7029. May not be an absolute path.
  7030. May not contain the path element '..'.
  7031. May not start with the string '..'.
  7032. type: string
  7033. required:
  7034. - key
  7035. - path
  7036. type: object
  7037. type: array
  7038. x-kubernetes-list-type: atomic
  7039. name:
  7040. default: ""
  7041. description: |-
  7042. Name of the referent.
  7043. This field is effectively required, but due to backwards compatibility is
  7044. allowed to be empty. Instances of this type with an empty value here are
  7045. almost certainly wrong.
  7046. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7047. type: string
  7048. optional:
  7049. description: optional field specify whether
  7050. the Secret or its key must be defined
  7051. type: boolean
  7052. type: object
  7053. x-kubernetes-map-type: atomic
  7054. serviceAccountToken:
  7055. description: serviceAccountToken is information
  7056. about the serviceAccountToken data to project
  7057. properties:
  7058. audience:
  7059. description: |-
  7060. audience is the intended audience of the token. A recipient of a token
  7061. must identify itself with an identifier specified in the audience of the
  7062. token, and otherwise should reject the token. The audience defaults to the
  7063. identifier of the apiserver.
  7064. type: string
  7065. expirationSeconds:
  7066. description: |-
  7067. expirationSeconds is the requested duration of validity of the service
  7068. account token. As the token approaches expiration, the kubelet volume
  7069. plugin will proactively rotate the service account token. The kubelet will
  7070. start trying to rotate the token if the token is older than 80 percent of
  7071. its time to live or if the token is older than 24 hours.Defaults to 1 hour
  7072. and must be at least 10 minutes.
  7073. format: int64
  7074. type: integer
  7075. path:
  7076. description: |-
  7077. path is the path relative to the mount point of the file to project the
  7078. token into.
  7079. type: string
  7080. required:
  7081. - path
  7082. type: object
  7083. type: object
  7084. type: array
  7085. x-kubernetes-list-type: atomic
  7086. type: object
  7087. quobyte:
  7088. description: |-
  7089. quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
  7090. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
  7091. properties:
  7092. group:
  7093. description: |-
  7094. group to map volume access to
  7095. Default is no group
  7096. type: string
  7097. readOnly:
  7098. description: |-
  7099. readOnly here will force the Quobyte volume to be mounted with read-only permissions.
  7100. Defaults to false.
  7101. type: boolean
  7102. registry:
  7103. description: |-
  7104. registry represents a single or multiple Quobyte Registry services
  7105. specified as a string as host:port pair (multiple entries are separated with commas)
  7106. which acts as the central registry for volumes
  7107. type: string
  7108. tenant:
  7109. description: |-
  7110. tenant owning the given Quobyte volume in the Backend
  7111. Used with dynamically provisioned Quobyte volumes, value is set by the plugin
  7112. type: string
  7113. user:
  7114. description: |-
  7115. user to map volume access to
  7116. Defaults to serivceaccount user
  7117. type: string
  7118. volume:
  7119. description: volume is a string that references
  7120. an already created Quobyte volume by name.
  7121. type: string
  7122. required:
  7123. - registry
  7124. - volume
  7125. type: object
  7126. rbd:
  7127. description: |-
  7128. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
  7129. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
  7130. properties:
  7131. fsType:
  7132. description: |-
  7133. fsType is the filesystem type of the volume that you want to mount.
  7134. Tip: Ensure that the filesystem type is supported by the host operating system.
  7135. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  7136. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  7137. type: string
  7138. image:
  7139. description: |-
  7140. image is the rados image name.
  7141. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  7142. type: string
  7143. keyring:
  7144. default: /etc/ceph/keyring
  7145. description: |-
  7146. keyring is the path to key ring for RBDUser.
  7147. Default is /etc/ceph/keyring.
  7148. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  7149. type: string
  7150. monitors:
  7151. description: |-
  7152. monitors is a collection of Ceph monitors.
  7153. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  7154. items:
  7155. type: string
  7156. type: array
  7157. x-kubernetes-list-type: atomic
  7158. pool:
  7159. default: rbd
  7160. description: |-
  7161. pool is the rados pool name.
  7162. Default is rbd.
  7163. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  7164. type: string
  7165. readOnly:
  7166. description: |-
  7167. readOnly here will force the ReadOnly setting in VolumeMounts.
  7168. Defaults to false.
  7169. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  7170. type: boolean
  7171. secretRef:
  7172. description: |-
  7173. secretRef is name of the authentication secret for RBDUser. If provided
  7174. overrides keyring.
  7175. Default is nil.
  7176. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  7177. properties:
  7178. name:
  7179. default: ""
  7180. description: |-
  7181. Name of the referent.
  7182. This field is effectively required, but due to backwards compatibility is
  7183. allowed to be empty. Instances of this type with an empty value here are
  7184. almost certainly wrong.
  7185. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7186. type: string
  7187. type: object
  7188. x-kubernetes-map-type: atomic
  7189. user:
  7190. default: admin
  7191. description: |-
  7192. user is the rados user name.
  7193. Default is admin.
  7194. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  7195. type: string
  7196. required:
  7197. - image
  7198. - monitors
  7199. type: object
  7200. scaleIO:
  7201. description: |-
  7202. scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
  7203. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
  7204. properties:
  7205. fsType:
  7206. default: xfs
  7207. description: |-
  7208. fsType is the filesystem type to mount.
  7209. Must be a filesystem type supported by the host operating system.
  7210. Ex. "ext4", "xfs", "ntfs".
  7211. Default is "xfs".
  7212. type: string
  7213. gateway:
  7214. description: gateway is the host address of the
  7215. ScaleIO API Gateway.
  7216. type: string
  7217. protectionDomain:
  7218. description: protectionDomain is the name of the
  7219. ScaleIO Protection Domain for the configured storage.
  7220. type: string
  7221. readOnly:
  7222. description: |-
  7223. readOnly Defaults to false (read/write). ReadOnly here will force
  7224. the ReadOnly setting in VolumeMounts.
  7225. type: boolean
  7226. secretRef:
  7227. description: |-
  7228. secretRef references to the secret for ScaleIO user and other
  7229. sensitive information. If this is not provided, Login operation will fail.
  7230. properties:
  7231. name:
  7232. default: ""
  7233. description: |-
  7234. Name of the referent.
  7235. This field is effectively required, but due to backwards compatibility is
  7236. allowed to be empty. Instances of this type with an empty value here are
  7237. almost certainly wrong.
  7238. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7239. type: string
  7240. type: object
  7241. x-kubernetes-map-type: atomic
  7242. sslEnabled:
  7243. description: sslEnabled Flag enable/disable SSL
  7244. communication with Gateway, default false
  7245. type: boolean
  7246. storageMode:
  7247. default: ThinProvisioned
  7248. description: |-
  7249. storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
  7250. Default is ThinProvisioned.
  7251. type: string
  7252. storagePool:
  7253. description: storagePool is the ScaleIO Storage
  7254. Pool associated with the protection domain.
  7255. type: string
  7256. system:
  7257. description: system is the name of the storage system
  7258. as configured in ScaleIO.
  7259. type: string
  7260. volumeName:
  7261. description: |-
  7262. volumeName is the name of a volume already created in the ScaleIO system
  7263. that is associated with this volume source.
  7264. type: string
  7265. required:
  7266. - gateway
  7267. - secretRef
  7268. - system
  7269. type: object
  7270. secret:
  7271. description: |-
  7272. secret represents a secret that should populate this volume.
  7273. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  7274. properties:
  7275. defaultMode:
  7276. description: |-
  7277. defaultMode is Optional: mode bits used to set permissions on created files by default.
  7278. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  7279. YAML accepts both octal and decimal values, JSON requires decimal values
  7280. for mode bits. Defaults to 0644.
  7281. Directories within the path are not affected by this setting.
  7282. This might be in conflict with other options that affect the file
  7283. mode, like fsGroup, and the result can be other mode bits set.
  7284. format: int32
  7285. type: integer
  7286. items:
  7287. description: |-
  7288. items If unspecified, each key-value pair in the Data field of the referenced
  7289. Secret will be projected into the volume as a file whose name is the
  7290. key and content is the value. If specified, the listed keys will be
  7291. projected into the specified paths, and unlisted keys will not be
  7292. present. If a key is specified which is not present in the Secret,
  7293. the volume setup will error unless it is marked optional. Paths must be
  7294. relative and may not contain the '..' path or start with '..'.
  7295. items:
  7296. description: Maps a string key to a path within
  7297. a volume.
  7298. properties:
  7299. key:
  7300. description: key is the key to project.
  7301. type: string
  7302. mode:
  7303. description: |-
  7304. mode is Optional: mode bits used to set permissions on this file.
  7305. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  7306. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  7307. If not specified, the volume defaultMode will be used.
  7308. This might be in conflict with other options that affect the file
  7309. mode, like fsGroup, and the result can be other mode bits set.
  7310. format: int32
  7311. type: integer
  7312. path:
  7313. description: |-
  7314. path is the relative path of the file to map the key to.
  7315. May not be an absolute path.
  7316. May not contain the path element '..'.
  7317. May not start with the string '..'.
  7318. type: string
  7319. required:
  7320. - key
  7321. - path
  7322. type: object
  7323. type: array
  7324. x-kubernetes-list-type: atomic
  7325. optional:
  7326. description: optional field specify whether the
  7327. Secret or its keys must be defined
  7328. type: boolean
  7329. secretName:
  7330. description: |-
  7331. secretName is the name of the secret in the pod's namespace to use.
  7332. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  7333. type: string
  7334. type: object
  7335. storageos:
  7336. description: |-
  7337. storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
  7338. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
  7339. properties:
  7340. fsType:
  7341. description: |-
  7342. fsType is the filesystem type to mount.
  7343. Must be a filesystem type supported by the host operating system.
  7344. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  7345. type: string
  7346. readOnly:
  7347. description: |-
  7348. readOnly defaults to false (read/write). ReadOnly here will force
  7349. the ReadOnly setting in VolumeMounts.
  7350. type: boolean
  7351. secretRef:
  7352. description: |-
  7353. secretRef specifies the secret to use for obtaining the StorageOS API
  7354. credentials. If not specified, default values will be attempted.
  7355. properties:
  7356. name:
  7357. default: ""
  7358. description: |-
  7359. Name of the referent.
  7360. This field is effectively required, but due to backwards compatibility is
  7361. allowed to be empty. Instances of this type with an empty value here are
  7362. almost certainly wrong.
  7363. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7364. type: string
  7365. type: object
  7366. x-kubernetes-map-type: atomic
  7367. volumeName:
  7368. description: |-
  7369. volumeName is the human-readable name of the StorageOS volume. Volume
  7370. names are only unique within a namespace.
  7371. type: string
  7372. volumeNamespace:
  7373. description: |-
  7374. volumeNamespace specifies the scope of the volume within StorageOS. If no
  7375. namespace is specified then the Pod's namespace will be used. This allows the
  7376. Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
  7377. Set VolumeName to any name to override the default behaviour.
  7378. Set to "default" if you are not using namespaces within StorageOS.
  7379. Namespaces that do not pre-exist within StorageOS will be created.
  7380. type: string
  7381. type: object
  7382. vsphereVolume:
  7383. description: |-
  7384. vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
  7385. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
  7386. are redirected to the csi.vsphere.vmware.com CSI driver.
  7387. properties:
  7388. fsType:
  7389. description: |-
  7390. fsType is filesystem type to mount.
  7391. Must be a filesystem type supported by the host operating system.
  7392. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  7393. type: string
  7394. storagePolicyID:
  7395. description: storagePolicyID is the storage Policy
  7396. Based Management (SPBM) profile ID associated
  7397. with the StoragePolicyName.
  7398. type: string
  7399. storagePolicyName:
  7400. description: storagePolicyName is the storage Policy
  7401. Based Management (SPBM) profile name.
  7402. type: string
  7403. volumePath:
  7404. description: volumePath is the path that identifies
  7405. vSphere volume vmdk
  7406. type: string
  7407. required:
  7408. - volumePath
  7409. type: object
  7410. required:
  7411. - name
  7412. type: object
  7413. type: array
  7414. type: object
  7415. required:
  7416. - name
  7417. type: object
  7418. rerankerModelRef:
  7419. description: rerankerModelRef references the model used to rerank
  7420. retrieved documents for this knowledge base.
  7421. properties:
  7422. apiVersion:
  7423. description: API version of the referent.
  7424. type: string
  7425. fieldPath:
  7426. description: |-
  7427. If referring to a piece of an object instead of an entire object, this string
  7428. should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
  7429. For example, if the object reference is to a container within a pod, this would take on a value like:
  7430. "spec.containers{name}" (where "name" refers to the name of the container that triggered
  7431. the event) or if no container name is specified "spec.containers[2]" (container with
  7432. index 2 in this pod). This syntax is chosen only to have some well-defined way of
  7433. referencing a part of an object.
  7434. type: string
  7435. kind:
  7436. description: |-
  7437. Kind of the referent.
  7438. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  7439. type: string
  7440. name:
  7441. description: |-
  7442. Name of the referent.
  7443. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7444. type: string
  7445. namespace:
  7446. description: |-
  7447. Namespace of the referent.
  7448. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
  7449. type: string
  7450. resourceVersion:
  7451. description: |-
  7452. Specific resourceVersion to which this reference is made, if any.
  7453. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
  7454. type: string
  7455. uid:
  7456. description: |-
  7457. UID of the referent.
  7458. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
  7459. type: string
  7460. type: object
  7461. x-kubernetes-map-type: atomic
  7462. stackRef:
  7463. description: stackRef associates this knowledge base with a stack.
  7464. properties:
  7465. name:
  7466. default: ""
  7467. description: |-
  7468. Name of the referent.
  7469. This field is effectively required, but due to backwards compatibility is
  7470. allowed to be empty. Instances of this type with an empty value here are
  7471. almost certainly wrong.
  7472. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7473. type: string
  7474. type: object
  7475. x-kubernetes-map-type: atomic
  7476. template:
  7477. description: template holds the configuration overrides for the component.
  7478. properties:
  7479. metadata:
  7480. description: metadata is a standard object metadata.
  7481. type: object
  7482. name:
  7483. description: name selects a built-in preset.
  7484. type: string
  7485. spec:
  7486. description: spec holds the pod-level configuration for the workload.
  7487. properties:
  7488. affinity:
  7489. description: affinity provides fine-grained node and pod (anti-)affinity
  7490. rules.
  7491. properties:
  7492. nodeAffinity:
  7493. description: Describes node affinity scheduling rules
  7494. for the pod.
  7495. properties:
  7496. preferredDuringSchedulingIgnoredDuringExecution:
  7497. description: |-
  7498. The scheduler will prefer to schedule pods to nodes that satisfy
  7499. the affinity expressions specified by this field, but it may choose
  7500. a node that violates one or more of the expressions. The node that is
  7501. most preferred is the one with the greatest sum of weights, i.e.
  7502. for each node that meets all of the scheduling requirements (resource
  7503. request, requiredDuringScheduling affinity expressions, etc.),
  7504. compute a sum by iterating through the elements of this field and adding
  7505. "weight" to the sum if the node matches the corresponding matchExpressions; the
  7506. node(s) with the highest sum are the most preferred.
  7507. items:
  7508. description: |-
  7509. An empty preferred scheduling term matches all objects with implicit weight 0
  7510. (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  7511. properties:
  7512. preference:
  7513. description: A node selector term, associated
  7514. with the corresponding weight.
  7515. properties:
  7516. matchExpressions:
  7517. description: A list of node selector requirements
  7518. by node's labels.
  7519. items:
  7520. description: |-
  7521. A node selector requirement is a selector that contains values, a key, and an operator
  7522. that relates the key and values.
  7523. properties:
  7524. key:
  7525. description: The label key that the
  7526. selector applies to.
  7527. type: string
  7528. operator:
  7529. description: |-
  7530. Represents a key's relationship to a set of values.
  7531. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7532. type: string
  7533. values:
  7534. description: |-
  7535. An array of string values. If the operator is In or NotIn,
  7536. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7537. the values array must be empty. If the operator is Gt or Lt, the values
  7538. array must have a single element, which will be interpreted as an integer.
  7539. This array is replaced during a strategic merge patch.
  7540. items:
  7541. type: string
  7542. type: array
  7543. x-kubernetes-list-type: atomic
  7544. required:
  7545. - key
  7546. - operator
  7547. type: object
  7548. type: array
  7549. x-kubernetes-list-type: atomic
  7550. matchFields:
  7551. description: A list of node selector requirements
  7552. by node's fields.
  7553. items:
  7554. description: |-
  7555. A node selector requirement is a selector that contains values, a key, and an operator
  7556. that relates the key and values.
  7557. properties:
  7558. key:
  7559. description: The label key that the
  7560. selector applies to.
  7561. type: string
  7562. operator:
  7563. description: |-
  7564. Represents a key's relationship to a set of values.
  7565. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7566. type: string
  7567. values:
  7568. description: |-
  7569. An array of string values. If the operator is In or NotIn,
  7570. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7571. the values array must be empty. If the operator is Gt or Lt, the values
  7572. array must have a single element, which will be interpreted as an integer.
  7573. This array is replaced during a strategic merge patch.
  7574. items:
  7575. type: string
  7576. type: array
  7577. x-kubernetes-list-type: atomic
  7578. required:
  7579. - key
  7580. - operator
  7581. type: object
  7582. type: array
  7583. x-kubernetes-list-type: atomic
  7584. type: object
  7585. x-kubernetes-map-type: atomic
  7586. weight:
  7587. description: Weight associated with matching
  7588. the corresponding nodeSelectorTerm, in the
  7589. range 1-100.
  7590. format: int32
  7591. type: integer
  7592. required:
  7593. - preference
  7594. - weight
  7595. type: object
  7596. type: array
  7597. x-kubernetes-list-type: atomic
  7598. requiredDuringSchedulingIgnoredDuringExecution:
  7599. description: |-
  7600. If the affinity requirements specified by this field are not met at
  7601. scheduling time, the pod will not be scheduled onto the node.
  7602. If the affinity requirements specified by this field cease to be met
  7603. at some point during pod execution (e.g. due to an update), the system
  7604. may or may not try to eventually evict the pod from its node.
  7605. properties:
  7606. nodeSelectorTerms:
  7607. description: Required. A list of node selector
  7608. terms. The terms are ORed.
  7609. items:
  7610. description: |-
  7611. A null or empty node selector term matches no objects. The requirements of
  7612. them are ANDed.
  7613. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  7614. properties:
  7615. matchExpressions:
  7616. description: A list of node selector requirements
  7617. by node's labels.
  7618. items:
  7619. description: |-
  7620. A node selector requirement is a selector that contains values, a key, and an operator
  7621. that relates the key and values.
  7622. properties:
  7623. key:
  7624. description: The label key that the
  7625. selector applies to.
  7626. type: string
  7627. operator:
  7628. description: |-
  7629. Represents a key's relationship to a set of values.
  7630. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7631. type: string
  7632. values:
  7633. description: |-
  7634. An array of string values. If the operator is In or NotIn,
  7635. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7636. the values array must be empty. If the operator is Gt or Lt, the values
  7637. array must have a single element, which will be interpreted as an integer.
  7638. This array is replaced during a strategic merge patch.
  7639. items:
  7640. type: string
  7641. type: array
  7642. x-kubernetes-list-type: atomic
  7643. required:
  7644. - key
  7645. - operator
  7646. type: object
  7647. type: array
  7648. x-kubernetes-list-type: atomic
  7649. matchFields:
  7650. description: A list of node selector requirements
  7651. by node's fields.
  7652. items:
  7653. description: |-
  7654. A node selector requirement is a selector that contains values, a key, and an operator
  7655. that relates the key and values.
  7656. properties:
  7657. key:
  7658. description: The label key that the
  7659. selector applies to.
  7660. type: string
  7661. operator:
  7662. description: |-
  7663. Represents a key's relationship to a set of values.
  7664. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7665. type: string
  7666. values:
  7667. description: |-
  7668. An array of string values. If the operator is In or NotIn,
  7669. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7670. the values array must be empty. If the operator is Gt or Lt, the values
  7671. array must have a single element, which will be interpreted as an integer.
  7672. This array is replaced during a strategic merge patch.
  7673. items:
  7674. type: string
  7675. type: array
  7676. x-kubernetes-list-type: atomic
  7677. required:
  7678. - key
  7679. - operator
  7680. type: object
  7681. type: array
  7682. x-kubernetes-list-type: atomic
  7683. type: object
  7684. x-kubernetes-map-type: atomic
  7685. type: array
  7686. x-kubernetes-list-type: atomic
  7687. required:
  7688. - nodeSelectorTerms
  7689. type: object
  7690. x-kubernetes-map-type: atomic
  7691. type: object
  7692. podAffinity:
  7693. description: Describes pod affinity scheduling rules (e.g.
  7694. co-locate this pod in the same node, zone, etc. as some
  7695. other pod(s)).
  7696. properties:
  7697. preferredDuringSchedulingIgnoredDuringExecution:
  7698. description: |-
  7699. The scheduler will prefer to schedule pods to nodes that satisfy
  7700. the affinity expressions specified by this field, but it may choose
  7701. a node that violates one or more of the expressions. The node that is
  7702. most preferred is the one with the greatest sum of weights, i.e.
  7703. for each node that meets all of the scheduling requirements (resource
  7704. request, requiredDuringScheduling affinity expressions, etc.),
  7705. compute a sum by iterating through the elements of this field and adding
  7706. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  7707. node(s) with the highest sum are the most preferred.
  7708. items:
  7709. description: The weights of all of the matched WeightedPodAffinityTerm
  7710. fields are added per-node to find the most preferred
  7711. node(s)
  7712. properties:
  7713. podAffinityTerm:
  7714. description: Required. A pod affinity term,
  7715. associated with the corresponding weight.
  7716. properties:
  7717. labelSelector:
  7718. description: |-
  7719. A label query over a set of resources, in this case pods.
  7720. If it's null, this PodAffinityTerm matches with no Pods.
  7721. properties:
  7722. matchExpressions:
  7723. description: matchExpressions is a list
  7724. of label selector requirements. The
  7725. requirements are ANDed.
  7726. items:
  7727. description: |-
  7728. A label selector requirement is a selector that contains values, a key, and an operator that
  7729. relates the key and values.
  7730. properties:
  7731. key:
  7732. description: key is the label
  7733. key that the selector applies
  7734. to.
  7735. type: string
  7736. operator:
  7737. description: |-
  7738. operator represents a key's relationship to a set of values.
  7739. Valid operators are In, NotIn, Exists and DoesNotExist.
  7740. type: string
  7741. values:
  7742. description: |-
  7743. values is an array of string values. If the operator is In or NotIn,
  7744. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7745. the values array must be empty. This array is replaced during a strategic
  7746. merge patch.
  7747. items:
  7748. type: string
  7749. type: array
  7750. x-kubernetes-list-type: atomic
  7751. required:
  7752. - key
  7753. - operator
  7754. type: object
  7755. type: array
  7756. x-kubernetes-list-type: atomic
  7757. matchLabels:
  7758. additionalProperties:
  7759. type: string
  7760. description: |-
  7761. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7762. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7763. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7764. type: object
  7765. type: object
  7766. x-kubernetes-map-type: atomic
  7767. matchLabelKeys:
  7768. description: |-
  7769. MatchLabelKeys is a set of pod label keys to select which pods will
  7770. be taken into consideration. The keys are used to lookup values from the
  7771. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  7772. to select the group of existing pods which pods will be taken into consideration
  7773. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7774. pod labels will be ignored. The default value is empty.
  7775. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  7776. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  7777. items:
  7778. type: string
  7779. type: array
  7780. x-kubernetes-list-type: atomic
  7781. mismatchLabelKeys:
  7782. description: |-
  7783. MismatchLabelKeys is a set of pod label keys to select which pods will
  7784. be taken into consideration. The keys are used to lookup values from the
  7785. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  7786. to select the group of existing pods which pods will be taken into consideration
  7787. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7788. pod labels will be ignored. The default value is empty.
  7789. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  7790. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  7791. items:
  7792. type: string
  7793. type: array
  7794. x-kubernetes-list-type: atomic
  7795. namespaceSelector:
  7796. description: |-
  7797. A label query over the set of namespaces that the term applies to.
  7798. The term is applied to the union of the namespaces selected by this field
  7799. and the ones listed in the namespaces field.
  7800. null selector and null or empty namespaces list means "this pod's namespace".
  7801. An empty selector ({}) matches all namespaces.
  7802. properties:
  7803. matchExpressions:
  7804. description: matchExpressions is a list
  7805. of label selector requirements. The
  7806. requirements are ANDed.
  7807. items:
  7808. description: |-
  7809. A label selector requirement is a selector that contains values, a key, and an operator that
  7810. relates the key and values.
  7811. properties:
  7812. key:
  7813. description: key is the label
  7814. key that the selector applies
  7815. to.
  7816. type: string
  7817. operator:
  7818. description: |-
  7819. operator represents a key's relationship to a set of values.
  7820. Valid operators are In, NotIn, Exists and DoesNotExist.
  7821. type: string
  7822. values:
  7823. description: |-
  7824. values is an array of string values. If the operator is In or NotIn,
  7825. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7826. the values array must be empty. This array is replaced during a strategic
  7827. merge patch.
  7828. items:
  7829. type: string
  7830. type: array
  7831. x-kubernetes-list-type: atomic
  7832. required:
  7833. - key
  7834. - operator
  7835. type: object
  7836. type: array
  7837. x-kubernetes-list-type: atomic
  7838. matchLabels:
  7839. additionalProperties:
  7840. type: string
  7841. description: |-
  7842. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7843. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7844. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7845. type: object
  7846. type: object
  7847. x-kubernetes-map-type: atomic
  7848. namespaces:
  7849. description: |-
  7850. namespaces specifies a static list of namespace names that the term applies to.
  7851. The term is applied to the union of the namespaces listed in this field
  7852. and the ones selected by namespaceSelector.
  7853. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  7854. items:
  7855. type: string
  7856. type: array
  7857. x-kubernetes-list-type: atomic
  7858. topologyKey:
  7859. description: |-
  7860. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  7861. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  7862. whose value of the label with key topologyKey matches that of any node on which any of the
  7863. selected pods is running.
  7864. Empty topologyKey is not allowed.
  7865. type: string
  7866. required:
  7867. - topologyKey
  7868. type: object
  7869. weight:
  7870. description: |-
  7871. weight associated with matching the corresponding podAffinityTerm,
  7872. in the range 1-100.
  7873. format: int32
  7874. type: integer
  7875. required:
  7876. - podAffinityTerm
  7877. - weight
  7878. type: object
  7879. type: array
  7880. x-kubernetes-list-type: atomic
  7881. requiredDuringSchedulingIgnoredDuringExecution:
  7882. description: |-
  7883. If the affinity requirements specified by this field are not met at
  7884. scheduling time, the pod will not be scheduled onto the node.
  7885. If the affinity requirements specified by this field cease to be met
  7886. at some point during pod execution (e.g. due to a pod label update), the
  7887. system may or may not try to eventually evict the pod from its node.
  7888. When there are multiple elements, the lists of nodes corresponding to each
  7889. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  7890. items:
  7891. description: |-
  7892. Defines a set of pods (namely those matching the labelSelector
  7893. relative to the given namespace(s)) that this pod should be
  7894. co-located (affinity) or not co-located (anti-affinity) with,
  7895. where co-located is defined as running on a node whose value of
  7896. the label with key <topologyKey> matches that of any node on which
  7897. a pod of the set of pods is running
  7898. properties:
  7899. labelSelector:
  7900. description: |-
  7901. A label query over a set of resources, in this case pods.
  7902. If it's null, this PodAffinityTerm matches with no Pods.
  7903. properties:
  7904. matchExpressions:
  7905. description: matchExpressions is a list
  7906. of label selector requirements. The requirements
  7907. are ANDed.
  7908. items:
  7909. description: |-
  7910. A label selector requirement is a selector that contains values, a key, and an operator that
  7911. relates the key and values.
  7912. properties:
  7913. key:
  7914. description: key is the label key
  7915. that the selector applies to.
  7916. type: string
  7917. operator:
  7918. description: |-
  7919. operator represents a key's relationship to a set of values.
  7920. Valid operators are In, NotIn, Exists and DoesNotExist.
  7921. type: string
  7922. values:
  7923. description: |-
  7924. values is an array of string values. If the operator is In or NotIn,
  7925. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7926. the values array must be empty. This array is replaced during a strategic
  7927. merge patch.
  7928. items:
  7929. type: string
  7930. type: array
  7931. x-kubernetes-list-type: atomic
  7932. required:
  7933. - key
  7934. - operator
  7935. type: object
  7936. type: array
  7937. x-kubernetes-list-type: atomic
  7938. matchLabels:
  7939. additionalProperties:
  7940. type: string
  7941. description: |-
  7942. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7943. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7944. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7945. type: object
  7946. type: object
  7947. x-kubernetes-map-type: atomic
  7948. matchLabelKeys:
  7949. description: |-
  7950. MatchLabelKeys is a set of pod label keys to select which pods will
  7951. be taken into consideration. The keys are used to lookup values from the
  7952. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  7953. to select the group of existing pods which pods will be taken into consideration
  7954. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7955. pod labels will be ignored. The default value is empty.
  7956. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  7957. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  7958. items:
  7959. type: string
  7960. type: array
  7961. x-kubernetes-list-type: atomic
  7962. mismatchLabelKeys:
  7963. description: |-
  7964. MismatchLabelKeys is a set of pod label keys to select which pods will
  7965. be taken into consideration. The keys are used to lookup values from the
  7966. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  7967. to select the group of existing pods which pods will be taken into consideration
  7968. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7969. pod labels will be ignored. The default value is empty.
  7970. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  7971. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  7972. items:
  7973. type: string
  7974. type: array
  7975. x-kubernetes-list-type: atomic
  7976. namespaceSelector:
  7977. description: |-
  7978. A label query over the set of namespaces that the term applies to.
  7979. The term is applied to the union of the namespaces selected by this field
  7980. and the ones listed in the namespaces field.
  7981. null selector and null or empty namespaces list means "this pod's namespace".
  7982. An empty selector ({}) matches all namespaces.
  7983. properties:
  7984. matchExpressions:
  7985. description: matchExpressions is a list
  7986. of label selector requirements. The requirements
  7987. are ANDed.
  7988. items:
  7989. description: |-
  7990. A label selector requirement is a selector that contains values, a key, and an operator that
  7991. relates the key and values.
  7992. properties:
  7993. key:
  7994. description: key is the label key
  7995. that the selector applies to.
  7996. type: string
  7997. operator:
  7998. description: |-
  7999. operator represents a key's relationship to a set of values.
  8000. Valid operators are In, NotIn, Exists and DoesNotExist.
  8001. type: string
  8002. values:
  8003. description: |-
  8004. values is an array of string values. If the operator is In or NotIn,
  8005. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  8006. the values array must be empty. This array is replaced during a strategic
  8007. merge patch.
  8008. items:
  8009. type: string
  8010. type: array
  8011. x-kubernetes-list-type: atomic
  8012. required:
  8013. - key
  8014. - operator
  8015. type: object
  8016. type: array
  8017. x-kubernetes-list-type: atomic
  8018. matchLabels:
  8019. additionalProperties:
  8020. type: string
  8021. description: |-
  8022. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  8023. map is equivalent to an element of matchExpressions, whose key field is "key", the
  8024. operator is "In", and the values array contains only "value". The requirements are ANDed.
  8025. type: object
  8026. type: object
  8027. x-kubernetes-map-type: atomic
  8028. namespaces:
  8029. description: |-
  8030. namespaces specifies a static list of namespace names that the term applies to.
  8031. The term is applied to the union of the namespaces listed in this field
  8032. and the ones selected by namespaceSelector.
  8033. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  8034. items:
  8035. type: string
  8036. type: array
  8037. x-kubernetes-list-type: atomic
  8038. topologyKey:
  8039. description: |-
  8040. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  8041. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  8042. whose value of the label with key topologyKey matches that of any node on which any of the
  8043. selected pods is running.
  8044. Empty topologyKey is not allowed.
  8045. type: string
  8046. required:
  8047. - topologyKey
  8048. type: object
  8049. type: array
  8050. x-kubernetes-list-type: atomic
  8051. type: object
  8052. podAntiAffinity:
  8053. description: Describes pod anti-affinity scheduling rules
  8054. (e.g. avoid putting this pod in the same node, zone,
  8055. etc. as some other pod(s)).
  8056. properties:
  8057. preferredDuringSchedulingIgnoredDuringExecution:
  8058. description: |-
  8059. The scheduler will prefer to schedule pods to nodes that satisfy
  8060. the anti-affinity expressions specified by this field, but it may choose
  8061. a node that violates one or more of the expressions. The node that is
  8062. most preferred is the one with the greatest sum of weights, i.e.
  8063. for each node that meets all of the scheduling requirements (resource
  8064. request, requiredDuringScheduling anti-affinity expressions, etc.),
  8065. compute a sum by iterating through the elements of this field and subtracting
  8066. "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the
  8067. node(s) with the highest sum are the most preferred.
  8068. items:
  8069. description: The weights of all of the matched WeightedPodAffinityTerm
  8070. fields are added per-node to find the most preferred
  8071. node(s)
  8072. properties:
  8073. podAffinityTerm:
  8074. description: Required. A pod affinity term,
  8075. associated with the corresponding weight.
  8076. properties:
  8077. labelSelector:
  8078. description: |-
  8079. A label query over a set of resources, in this case pods.
  8080. If it's null, this PodAffinityTerm matches with no Pods.
  8081. properties:
  8082. matchExpressions:
  8083. description: matchExpressions is a list
  8084. of label selector requirements. The
  8085. requirements are ANDed.
  8086. items:
  8087. description: |-
  8088. A label selector requirement is a selector that contains values, a key, and an operator that
  8089. relates the key and values.
  8090. properties:
  8091. key:
  8092. description: key is the label
  8093. key that the selector applies
  8094. to.
  8095. type: string
  8096. operator:
  8097. description: |-
  8098. operator represents a key's relationship to a set of values.
  8099. Valid operators are In, NotIn, Exists and DoesNotExist.
  8100. type: string
  8101. values:
  8102. description: |-
  8103. values is an array of string values. If the operator is In or NotIn,
  8104. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  8105. the values array must be empty. This array is replaced during a strategic
  8106. merge patch.
  8107. items:
  8108. type: string
  8109. type: array
  8110. x-kubernetes-list-type: atomic
  8111. required:
  8112. - key
  8113. - operator
  8114. type: object
  8115. type: array
  8116. x-kubernetes-list-type: atomic
  8117. matchLabels:
  8118. additionalProperties:
  8119. type: string
  8120. description: |-
  8121. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  8122. map is equivalent to an element of matchExpressions, whose key field is "key", the
  8123. operator is "In", and the values array contains only "value". The requirements are ANDed.
  8124. type: object
  8125. type: object
  8126. x-kubernetes-map-type: atomic
  8127. matchLabelKeys:
  8128. description: |-
  8129. MatchLabelKeys is a set of pod label keys to select which pods will
  8130. be taken into consideration. The keys are used to lookup values from the
  8131. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  8132. to select the group of existing pods which pods will be taken into consideration
  8133. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  8134. pod labels will be ignored. The default value is empty.
  8135. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  8136. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  8137. items:
  8138. type: string
  8139. type: array
  8140. x-kubernetes-list-type: atomic
  8141. mismatchLabelKeys:
  8142. description: |-
  8143. MismatchLabelKeys is a set of pod label keys to select which pods will
  8144. be taken into consideration. The keys are used to lookup values from the
  8145. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  8146. to select the group of existing pods which pods will be taken into consideration
  8147. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  8148. pod labels will be ignored. The default value is empty.
  8149. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  8150. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  8151. items:
  8152. type: string
  8153. type: array
  8154. x-kubernetes-list-type: atomic
  8155. namespaceSelector:
  8156. description: |-
  8157. A label query over the set of namespaces that the term applies to.
  8158. The term is applied to the union of the namespaces selected by this field
  8159. and the ones listed in the namespaces field.
  8160. null selector and null or empty namespaces list means "this pod's namespace".
  8161. An empty selector ({}) matches all namespaces.
  8162. properties:
  8163. matchExpressions:
  8164. description: matchExpressions is a list
  8165. of label selector requirements. The
  8166. requirements are ANDed.
  8167. items:
  8168. description: |-
  8169. A label selector requirement is a selector that contains values, a key, and an operator that
  8170. relates the key and values.
  8171. properties:
  8172. key:
  8173. description: key is the label
  8174. key that the selector applies
  8175. to.
  8176. type: string
  8177. operator:
  8178. description: |-
  8179. operator represents a key's relationship to a set of values.
  8180. Valid operators are In, NotIn, Exists and DoesNotExist.
  8181. type: string
  8182. values:
  8183. description: |-
  8184. values is an array of string values. If the operator is In or NotIn,
  8185. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  8186. the values array must be empty. This array is replaced during a strategic
  8187. merge patch.
  8188. items:
  8189. type: string
  8190. type: array
  8191. x-kubernetes-list-type: atomic
  8192. required:
  8193. - key
  8194. - operator
  8195. type: object
  8196. type: array
  8197. x-kubernetes-list-type: atomic
  8198. matchLabels:
  8199. additionalProperties:
  8200. type: string
  8201. description: |-
  8202. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  8203. map is equivalent to an element of matchExpressions, whose key field is "key", the
  8204. operator is "In", and the values array contains only "value". The requirements are ANDed.
  8205. type: object
  8206. type: object
  8207. x-kubernetes-map-type: atomic
  8208. namespaces:
  8209. description: |-
  8210. namespaces specifies a static list of namespace names that the term applies to.
  8211. The term is applied to the union of the namespaces listed in this field
  8212. and the ones selected by namespaceSelector.
  8213. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  8214. items:
  8215. type: string
  8216. type: array
  8217. x-kubernetes-list-type: atomic
  8218. topologyKey:
  8219. description: |-
  8220. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  8221. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  8222. whose value of the label with key topologyKey matches that of any node on which any of the
  8223. selected pods is running.
  8224. Empty topologyKey is not allowed.
  8225. type: string
  8226. required:
  8227. - topologyKey
  8228. type: object
  8229. weight:
  8230. description: |-
  8231. weight associated with matching the corresponding podAffinityTerm,
  8232. in the range 1-100.
  8233. format: int32
  8234. type: integer
  8235. required:
  8236. - podAffinityTerm
  8237. - weight
  8238. type: object
  8239. type: array
  8240. x-kubernetes-list-type: atomic
  8241. requiredDuringSchedulingIgnoredDuringExecution:
  8242. description: |-
  8243. If the anti-affinity requirements specified by this field are not met at
  8244. scheduling time, the pod will not be scheduled onto the node.
  8245. If the anti-affinity requirements specified by this field cease to be met
  8246. at some point during pod execution (e.g. due to a pod label update), the
  8247. system may or may not try to eventually evict the pod from its node.
  8248. When there are multiple elements, the lists of nodes corresponding to each
  8249. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  8250. items:
  8251. description: |-
  8252. Defines a set of pods (namely those matching the labelSelector
  8253. relative to the given namespace(s)) that this pod should be
  8254. co-located (affinity) or not co-located (anti-affinity) with,
  8255. where co-located is defined as running on a node whose value of
  8256. the label with key <topologyKey> matches that of any node on which
  8257. a pod of the set of pods is running
  8258. properties:
  8259. labelSelector:
  8260. description: |-
  8261. A label query over a set of resources, in this case pods.
  8262. If it's null, this PodAffinityTerm matches with no Pods.
  8263. properties:
  8264. matchExpressions:
  8265. description: matchExpressions is a list
  8266. of label selector requirements. The requirements
  8267. are ANDed.
  8268. items:
  8269. description: |-
  8270. A label selector requirement is a selector that contains values, a key, and an operator that
  8271. relates the key and values.
  8272. properties:
  8273. key:
  8274. description: key is the label key
  8275. that the selector applies to.
  8276. type: string
  8277. operator:
  8278. description: |-
  8279. operator represents a key's relationship to a set of values.
  8280. Valid operators are In, NotIn, Exists and DoesNotExist.
  8281. type: string
  8282. values:
  8283. description: |-
  8284. values is an array of string values. If the operator is In or NotIn,
  8285. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  8286. the values array must be empty. This array is replaced during a strategic
  8287. merge patch.
  8288. items:
  8289. type: string
  8290. type: array
  8291. x-kubernetes-list-type: atomic
  8292. required:
  8293. - key
  8294. - operator
  8295. type: object
  8296. type: array
  8297. x-kubernetes-list-type: atomic
  8298. matchLabels:
  8299. additionalProperties:
  8300. type: string
  8301. description: |-
  8302. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  8303. map is equivalent to an element of matchExpressions, whose key field is "key", the
  8304. operator is "In", and the values array contains only "value". The requirements are ANDed.
  8305. type: object
  8306. type: object
  8307. x-kubernetes-map-type: atomic
  8308. matchLabelKeys:
  8309. description: |-
  8310. MatchLabelKeys is a set of pod label keys to select which pods will
  8311. be taken into consideration. The keys are used to lookup values from the
  8312. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  8313. to select the group of existing pods which pods will be taken into consideration
  8314. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  8315. pod labels will be ignored. The default value is empty.
  8316. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  8317. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  8318. items:
  8319. type: string
  8320. type: array
  8321. x-kubernetes-list-type: atomic
  8322. mismatchLabelKeys:
  8323. description: |-
  8324. MismatchLabelKeys is a set of pod label keys to select which pods will
  8325. be taken into consideration. The keys are used to lookup values from the
  8326. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  8327. to select the group of existing pods which pods will be taken into consideration
  8328. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  8329. pod labels will be ignored. The default value is empty.
  8330. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  8331. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  8332. items:
  8333. type: string
  8334. type: array
  8335. x-kubernetes-list-type: atomic
  8336. namespaceSelector:
  8337. description: |-
  8338. A label query over the set of namespaces that the term applies to.
  8339. The term is applied to the union of the namespaces selected by this field
  8340. and the ones listed in the namespaces field.
  8341. null selector and null or empty namespaces list means "this pod's namespace".
  8342. An empty selector ({}) matches all namespaces.
  8343. properties:
  8344. matchExpressions:
  8345. description: matchExpressions is a list
  8346. of label selector requirements. The requirements
  8347. are ANDed.
  8348. items:
  8349. description: |-
  8350. A label selector requirement is a selector that contains values, a key, and an operator that
  8351. relates the key and values.
  8352. properties:
  8353. key:
  8354. description: key is the label key
  8355. that the selector applies to.
  8356. type: string
  8357. operator:
  8358. description: |-
  8359. operator represents a key's relationship to a set of values.
  8360. Valid operators are In, NotIn, Exists and DoesNotExist.
  8361. type: string
  8362. values:
  8363. description: |-
  8364. values is an array of string values. If the operator is In or NotIn,
  8365. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  8366. the values array must be empty. This array is replaced during a strategic
  8367. merge patch.
  8368. items:
  8369. type: string
  8370. type: array
  8371. x-kubernetes-list-type: atomic
  8372. required:
  8373. - key
  8374. - operator
  8375. type: object
  8376. type: array
  8377. x-kubernetes-list-type: atomic
  8378. matchLabels:
  8379. additionalProperties:
  8380. type: string
  8381. description: |-
  8382. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  8383. map is equivalent to an element of matchExpressions, whose key field is "key", the
  8384. operator is "In", and the values array contains only "value". The requirements are ANDed.
  8385. type: object
  8386. type: object
  8387. x-kubernetes-map-type: atomic
  8388. namespaces:
  8389. description: |-
  8390. namespaces specifies a static list of namespace names that the term applies to.
  8391. The term is applied to the union of the namespaces listed in this field
  8392. and the ones selected by namespaceSelector.
  8393. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  8394. items:
  8395. type: string
  8396. type: array
  8397. x-kubernetes-list-type: atomic
  8398. topologyKey:
  8399. description: |-
  8400. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  8401. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  8402. whose value of the label with key topologyKey matches that of any node on which any of the
  8403. selected pods is running.
  8404. Empty topologyKey is not allowed.
  8405. type: string
  8406. required:
  8407. - topologyKey
  8408. type: object
  8409. type: array
  8410. x-kubernetes-list-type: atomic
  8411. type: object
  8412. type: object
  8413. nodeSelector:
  8414. additionalProperties:
  8415. type: string
  8416. description: nodeSelector pins pods to nodes that match all
  8417. the specified labels.
  8418. type: object
  8419. resources:
  8420. description: resources sets per-container resource requests
  8421. and limits.
  8422. properties:
  8423. claims:
  8424. description: |-
  8425. Claims lists the names of resources, defined in spec.resourceClaims,
  8426. that are used by this container.
  8427. This field depends on the
  8428. DynamicResourceAllocation feature gate.
  8429. This field is immutable. It can only be set for containers.
  8430. items:
  8431. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  8432. properties:
  8433. name:
  8434. description: |-
  8435. Name must match the name of one entry in pod.spec.resourceClaims of
  8436. the Pod where this field is used. It makes that resource available
  8437. inside a container.
  8438. type: string
  8439. request:
  8440. description: |-
  8441. Request is the name chosen for a request in the referenced claim.
  8442. If empty, everything from the claim is made available, otherwise
  8443. only the result of this request.
  8444. type: string
  8445. required:
  8446. - name
  8447. type: object
  8448. type: array
  8449. x-kubernetes-list-map-keys:
  8450. - name
  8451. x-kubernetes-list-type: map
  8452. limits:
  8453. additionalProperties:
  8454. anyOf:
  8455. - type: integer
  8456. - type: string
  8457. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8458. x-kubernetes-int-or-string: true
  8459. description: |-
  8460. Limits describes the maximum amount of compute resources allowed.
  8461. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  8462. type: object
  8463. requests:
  8464. additionalProperties:
  8465. anyOf:
  8466. - type: integer
  8467. - type: string
  8468. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8469. x-kubernetes-int-or-string: true
  8470. description: |-
  8471. Requests describes the minimum amount of compute resources required.
  8472. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  8473. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  8474. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  8475. type: object
  8476. type: object
  8477. runtime:
  8478. description: runtime describes the container runtime to use
  8479. for the workload.
  8480. properties:
  8481. args:
  8482. description: args specifies or overrides the preset's
  8483. container command.
  8484. items:
  8485. type: string
  8486. type: array
  8487. command:
  8488. description: command specifies or overrides the preset's
  8489. container entrypoint.
  8490. items:
  8491. type: string
  8492. type: array
  8493. conditionalArgs:
  8494. description: conditionalArgs are appended to the preset
  8495. command conditionally.
  8496. items:
  8497. properties:
  8498. args:
  8499. description: args are appended to the preset args.
  8500. items:
  8501. type: string
  8502. type: array
  8503. when:
  8504. description: when the value is not empty after variable
  8505. substitution, the args are appended to the preset
  8506. args.
  8507. type: string
  8508. required:
  8509. - args
  8510. - when
  8511. type: object
  8512. type: array
  8513. env:
  8514. description: env holds environment variables injected
  8515. into the container.
  8516. items:
  8517. description: EnvVar represents an environment variable
  8518. present in a Container.
  8519. properties:
  8520. name:
  8521. description: |-
  8522. Name of the environment variable.
  8523. May consist of any printable ASCII characters except '='.
  8524. type: string
  8525. value:
  8526. description: |-
  8527. Variable references $(VAR_NAME) are expanded
  8528. using the previously defined environment variables in the container and
  8529. any service environment variables. If a variable cannot be resolved,
  8530. the reference in the input string will be unchanged. Double $$ are reduced
  8531. to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
  8532. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  8533. Escaped references will never be expanded, regardless of whether the variable
  8534. exists or not.
  8535. Defaults to "".
  8536. type: string
  8537. valueFrom:
  8538. description: Source for the environment variable's
  8539. value. Cannot be used if value is not empty.
  8540. properties:
  8541. configMapKeyRef:
  8542. description: Selects a key of a ConfigMap.
  8543. properties:
  8544. key:
  8545. description: The key to select.
  8546. type: string
  8547. name:
  8548. default: ""
  8549. description: |-
  8550. Name of the referent.
  8551. This field is effectively required, but due to backwards compatibility is
  8552. allowed to be empty. Instances of this type with an empty value here are
  8553. almost certainly wrong.
  8554. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8555. type: string
  8556. optional:
  8557. description: Specify whether the ConfigMap
  8558. or its key must be defined
  8559. type: boolean
  8560. required:
  8561. - key
  8562. type: object
  8563. x-kubernetes-map-type: atomic
  8564. fieldRef:
  8565. description: |-
  8566. Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
  8567. spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
  8568. properties:
  8569. apiVersion:
  8570. description: Version of the schema the FieldPath
  8571. is written in terms of, defaults to "v1".
  8572. type: string
  8573. fieldPath:
  8574. description: Path of the field to select
  8575. in the specified API version.
  8576. type: string
  8577. required:
  8578. - fieldPath
  8579. type: object
  8580. x-kubernetes-map-type: atomic
  8581. fileKeyRef:
  8582. description: |-
  8583. FileKeyRef selects a key of the env file.
  8584. Requires the EnvFiles feature gate to be enabled.
  8585. properties:
  8586. key:
  8587. description: |-
  8588. The key within the env file. An invalid key will prevent the pod from starting.
  8589. The keys defined within a source may consist of any printable ASCII characters except '='.
  8590. During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters.
  8591. type: string
  8592. optional:
  8593. default: false
  8594. description: |-
  8595. Specify whether the file or its key must be defined. If the file or key
  8596. does not exist, then the env var is not published.
  8597. If optional is set to true and the specified key does not exist,
  8598. the environment variable will not be set in the Pod's containers.
  8599. If optional is set to false and the specified key does not exist,
  8600. an error will be returned during Pod creation.
  8601. type: boolean
  8602. path:
  8603. description: |-
  8604. The path within the volume from which to select the file.
  8605. Must be relative and may not contain the '..' path or start with '..'.
  8606. type: string
  8607. volumeName:
  8608. description: The name of the volume mount
  8609. containing the env file.
  8610. type: string
  8611. required:
  8612. - key
  8613. - path
  8614. - volumeName
  8615. type: object
  8616. x-kubernetes-map-type: atomic
  8617. resourceFieldRef:
  8618. description: |-
  8619. Selects a resource of the container: only resources limits and requests
  8620. (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
  8621. properties:
  8622. containerName:
  8623. description: 'Container name: required for
  8624. volumes, optional for env vars'
  8625. type: string
  8626. divisor:
  8627. anyOf:
  8628. - type: integer
  8629. - type: string
  8630. description: Specifies the output format
  8631. of the exposed resources, defaults to
  8632. "1"
  8633. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8634. x-kubernetes-int-or-string: true
  8635. resource:
  8636. description: 'Required: resource to select'
  8637. type: string
  8638. required:
  8639. - resource
  8640. type: object
  8641. x-kubernetes-map-type: atomic
  8642. secretKeyRef:
  8643. description: Selects a key of a secret in the
  8644. pod's namespace
  8645. properties:
  8646. key:
  8647. description: The key of the secret to select
  8648. from. Must be a valid secret key.
  8649. type: string
  8650. name:
  8651. default: ""
  8652. description: |-
  8653. Name of the referent.
  8654. This field is effectively required, but due to backwards compatibility is
  8655. allowed to be empty. Instances of this type with an empty value here are
  8656. almost certainly wrong.
  8657. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8658. type: string
  8659. optional:
  8660. description: Specify whether the Secret
  8661. or its key must be defined
  8662. type: boolean
  8663. required:
  8664. - key
  8665. type: object
  8666. x-kubernetes-map-type: atomic
  8667. type: object
  8668. required:
  8669. - name
  8670. type: object
  8671. type: array
  8672. envFrom:
  8673. description: envFrom references ConfigMaps or Secrets
  8674. whose key-value pairs are injected as environment variables.
  8675. items:
  8676. description: EnvFromSource represents the source of
  8677. a set of ConfigMaps or Secrets
  8678. properties:
  8679. configMapRef:
  8680. description: The ConfigMap to select from
  8681. properties:
  8682. name:
  8683. default: ""
  8684. description: |-
  8685. Name of the referent.
  8686. This field is effectively required, but due to backwards compatibility is
  8687. allowed to be empty. Instances of this type with an empty value here are
  8688. almost certainly wrong.
  8689. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8690. type: string
  8691. optional:
  8692. description: Specify whether the ConfigMap must
  8693. be defined
  8694. type: boolean
  8695. type: object
  8696. x-kubernetes-map-type: atomic
  8697. prefix:
  8698. description: |-
  8699. Optional text to prepend to the name of each environment variable.
  8700. May consist of any printable ASCII characters except '='.
  8701. type: string
  8702. secretRef:
  8703. description: The Secret to select from
  8704. properties:
  8705. name:
  8706. default: ""
  8707. description: |-
  8708. Name of the referent.
  8709. This field is effectively required, but due to backwards compatibility is
  8710. allowed to be empty. Instances of this type with an empty value here are
  8711. almost certainly wrong.
  8712. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8713. type: string
  8714. optional:
  8715. description: Specify whether the Secret must
  8716. be defined
  8717. type: boolean
  8718. type: object
  8719. x-kubernetes-map-type: atomic
  8720. type: object
  8721. type: array
  8722. extraArgs:
  8723. description: extraArgs are appended to the preset command.
  8724. items:
  8725. type: string
  8726. type: array
  8727. image:
  8728. description: |-
  8729. image specifies or overrides the preset's container image, e.g. to pin a specific tag
  8730. or pull from a private registry mirror.
  8731. type: string
  8732. name:
  8733. description: name selects a built-in runtime preset.
  8734. type: string
  8735. port:
  8736. description: port specifies or overrides the container
  8737. port the runtime listens on.
  8738. format: int32
  8739. type: integer
  8740. volumeMounts:
  8741. description: volumeMounts defines where pod volumes are
  8742. mounted inside the container.
  8743. items:
  8744. description: VolumeMount describes a mounting of a Volume
  8745. within a container.
  8746. properties:
  8747. mountPath:
  8748. description: |-
  8749. Path within the container at which the volume should be mounted. Must
  8750. not contain ':'.
  8751. type: string
  8752. mountPropagation:
  8753. description: |-
  8754. mountPropagation determines how mounts are propagated from the host
  8755. to container and the other way around.
  8756. When not set, MountPropagationNone is used.
  8757. This field is beta in 1.10.
  8758. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
  8759. (which defaults to None).
  8760. type: string
  8761. name:
  8762. description: This must match the Name of a Volume.
  8763. type: string
  8764. readOnly:
  8765. description: |-
  8766. Mounted read-only if true, read-write otherwise (false or unspecified).
  8767. Defaults to false.
  8768. type: boolean
  8769. recursiveReadOnly:
  8770. description: |-
  8771. RecursiveReadOnly specifies whether read-only mounts should be handled
  8772. recursively.
  8773. If ReadOnly is false, this field has no meaning and must be unspecified.
  8774. If ReadOnly is true, and this field is set to Disabled, the mount is not made
  8775. recursively read-only. If this field is set to IfPossible, the mount is made
  8776. recursively read-only, if it is supported by the container runtime. If this
  8777. field is set to Enabled, the mount is made recursively read-only if it is
  8778. supported by the container runtime, otherwise the pod will not be started and
  8779. an error will be generated to indicate the reason.
  8780. If this field is set to IfPossible or Enabled, MountPropagation must be set to
  8781. None (or be unspecified, which defaults to None).
  8782. If this field is not specified, it is treated as an equivalent of Disabled.
  8783. type: string
  8784. subPath:
  8785. description: |-
  8786. Path within the volume from which the container's volume should be mounted.
  8787. Defaults to "" (volume's root).
  8788. type: string
  8789. subPathExpr:
  8790. description: |-
  8791. Expanded path within the volume from which the container's volume should be mounted.
  8792. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
  8793. Defaults to "" (volume's root).
  8794. SubPathExpr and SubPath are mutually exclusive.
  8795. type: string
  8796. required:
  8797. - mountPath
  8798. - name
  8799. type: object
  8800. type: array
  8801. type: object
  8802. securityContext:
  8803. description: |-
  8804. securityContext sets pod-level security attributes such as runAsUser,
  8805. runAsGroup, fsGroup, and sysctls.
  8806. properties:
  8807. appArmorProfile:
  8808. description: |-
  8809. appArmorProfile is the AppArmor options to use by the containers in this pod.
  8810. Note that this field cannot be set when spec.os.name is windows.
  8811. properties:
  8812. localhostProfile:
  8813. description: |-
  8814. localhostProfile indicates a profile loaded on the node that should be used.
  8815. The profile must be preconfigured on the node to work.
  8816. Must match the loaded name of the profile.
  8817. Must be set if and only if type is "Localhost".
  8818. type: string
  8819. type:
  8820. description: |-
  8821. type indicates which kind of AppArmor profile will be applied.
  8822. Valid options are:
  8823. Localhost - a profile pre-loaded on the node.
  8824. RuntimeDefault - the container runtime's default profile.
  8825. Unconfined - no AppArmor enforcement.
  8826. type: string
  8827. required:
  8828. - type
  8829. type: object
  8830. fsGroup:
  8831. description: |-
  8832. A special supplemental group that applies to all containers in a pod.
  8833. Some volume types allow the Kubelet to change the ownership of that volume
  8834. to be owned by the pod:
  8835. 1. The owning GID will be the FSGroup
  8836. 2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
  8837. 3. The permission bits are OR'd with rw-rw----
  8838. If unset, the Kubelet will not modify the ownership and permissions of any volume.
  8839. Note that this field cannot be set when spec.os.name is windows.
  8840. format: int64
  8841. type: integer
  8842. fsGroupChangePolicy:
  8843. description: |-
  8844. fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
  8845. before being exposed inside Pod. This field will only apply to
  8846. volume types which support fsGroup based ownership(and permissions).
  8847. It will have no effect on ephemeral volume types such as: secret, configmaps
  8848. and emptydir.
  8849. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
  8850. Note that this field cannot be set when spec.os.name is windows.
  8851. type: string
  8852. runAsGroup:
  8853. description: |-
  8854. The GID to run the entrypoint of the container process.
  8855. Uses runtime default if unset.
  8856. May also be set in SecurityContext. If set in both SecurityContext and
  8857. PodSecurityContext, the value specified in SecurityContext takes precedence
  8858. for that container.
  8859. Note that this field cannot be set when spec.os.name is windows.
  8860. format: int64
  8861. type: integer
  8862. runAsNonRoot:
  8863. description: |-
  8864. Indicates that the container must run as a non-root user.
  8865. If true, the Kubelet will validate the image at runtime to ensure that it
  8866. does not run as UID 0 (root) and fail to start the container if it does.
  8867. If unset or false, no such validation will be performed.
  8868. May also be set in SecurityContext. If set in both SecurityContext and
  8869. PodSecurityContext, the value specified in SecurityContext takes precedence.
  8870. type: boolean
  8871. runAsUser:
  8872. description: |-
  8873. The UID to run the entrypoint of the container process.
  8874. Defaults to user specified in image metadata if unspecified.
  8875. May also be set in SecurityContext. If set in both SecurityContext and
  8876. PodSecurityContext, the value specified in SecurityContext takes precedence
  8877. for that container.
  8878. Note that this field cannot be set when spec.os.name is windows.
  8879. format: int64
  8880. type: integer
  8881. seLinuxChangePolicy:
  8882. description: |-
  8883. seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
  8884. It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
  8885. Valid values are "MountOption" and "Recursive".
  8886. "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
  8887. This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
  8888. "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
  8889. This requires all Pods that share the same volume to use the same SELinux label.
  8890. It is not possible to share the same volume among privileged and unprivileged Pods.
  8891. Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
  8892. whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
  8893. CSIDriver instance. Other volumes are always re-labelled recursively.
  8894. "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
  8895. If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
  8896. If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
  8897. and "Recursive" for all other volumes.
  8898. This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
  8899. All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
  8900. Note that this field cannot be set when spec.os.name is windows.
  8901. type: string
  8902. seLinuxOptions:
  8903. description: |-
  8904. The SELinux context to be applied to all containers.
  8905. If unspecified, the container runtime will allocate a random SELinux context for each
  8906. container. May also be set in SecurityContext. If set in
  8907. both SecurityContext and PodSecurityContext, the value specified in SecurityContext
  8908. takes precedence for that container.
  8909. Note that this field cannot be set when spec.os.name is windows.
  8910. properties:
  8911. level:
  8912. description: Level is SELinux level label that applies
  8913. to the container.
  8914. type: string
  8915. role:
  8916. description: Role is a SELinux role label that applies
  8917. to the container.
  8918. type: string
  8919. type:
  8920. description: Type is a SELinux type label that applies
  8921. to the container.
  8922. type: string
  8923. user:
  8924. description: User is a SELinux user label that applies
  8925. to the container.
  8926. type: string
  8927. type: object
  8928. seccompProfile:
  8929. description: |-
  8930. The seccomp options to use by the containers in this pod.
  8931. Note that this field cannot be set when spec.os.name is windows.
  8932. properties:
  8933. localhostProfile:
  8934. description: |-
  8935. localhostProfile indicates a profile defined in a file on the node should be used.
  8936. The profile must be preconfigured on the node to work.
  8937. Must be a descending path, relative to the kubelet's configured seccomp profile location.
  8938. Must be set if type is "Localhost". Must NOT be set for any other type.
  8939. type: string
  8940. type:
  8941. description: |-
  8942. type indicates which kind of seccomp profile will be applied.
  8943. Valid options are:
  8944. Localhost - a profile defined in a file on the node should be used.
  8945. RuntimeDefault - the container runtime default profile should be used.
  8946. Unconfined - no profile should be applied.
  8947. type: string
  8948. required:
  8949. - type
  8950. type: object
  8951. supplementalGroups:
  8952. description: |-
  8953. A list of groups applied to the first process run in each container, in
  8954. addition to the container's primary GID and fsGroup (if specified). If
  8955. the SupplementalGroupsPolicy feature is enabled, the
  8956. supplementalGroupsPolicy field determines whether these are in addition
  8957. to or instead of any group memberships defined in the container image.
  8958. If unspecified, no additional groups are added, though group memberships
  8959. defined in the container image may still be used, depending on the
  8960. supplementalGroupsPolicy field.
  8961. Note that this field cannot be set when spec.os.name is windows.
  8962. items:
  8963. format: int64
  8964. type: integer
  8965. type: array
  8966. x-kubernetes-list-type: atomic
  8967. supplementalGroupsPolicy:
  8968. description: |-
  8969. Defines how supplemental groups of the first container processes are calculated.
  8970. Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
  8971. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
  8972. and the container runtime must implement support for this feature.
  8973. Note that this field cannot be set when spec.os.name is windows.
  8974. type: string
  8975. sysctls:
  8976. description: |-
  8977. Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
  8978. sysctls (by the container runtime) might fail to launch.
  8979. Note that this field cannot be set when spec.os.name is windows.
  8980. items:
  8981. description: Sysctl defines a kernel parameter to be
  8982. set
  8983. properties:
  8984. name:
  8985. description: Name of a property to set
  8986. type: string
  8987. value:
  8988. description: Value of a property to set
  8989. type: string
  8990. required:
  8991. - name
  8992. - value
  8993. type: object
  8994. type: array
  8995. x-kubernetes-list-type: atomic
  8996. windowsOptions:
  8997. description: |-
  8998. The Windows specific settings applied to all containers.
  8999. If unspecified, the options within a container's SecurityContext will be used.
  9000. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  9001. Note that this field cannot be set when spec.os.name is linux.
  9002. properties:
  9003. gmsaCredentialSpec:
  9004. description: |-
  9005. GMSACredentialSpec is where the GMSA admission webhook
  9006. (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
  9007. GMSA credential spec named by the GMSACredentialSpecName field.
  9008. type: string
  9009. gmsaCredentialSpecName:
  9010. description: GMSACredentialSpecName is the name of
  9011. the GMSA credential spec to use.
  9012. type: string
  9013. hostProcess:
  9014. description: |-
  9015. HostProcess determines if a container should be run as a 'Host Process' container.
  9016. All of a Pod's containers must have the same effective HostProcess value
  9017. (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
  9018. In addition, if HostProcess is true then HostNetwork must also be set to true.
  9019. type: boolean
  9020. runAsUserName:
  9021. description: |-
  9022. The UserName in Windows to run the entrypoint of the container process.
  9023. Defaults to the user specified in image metadata if unspecified.
  9024. May also be set in PodSecurityContext. If set in both SecurityContext and
  9025. PodSecurityContext, the value specified in SecurityContext takes precedence.
  9026. type: string
  9027. type: object
  9028. type: object
  9029. tolerations:
  9030. description: tolerations allow pods to be scheduled onto nodes
  9031. with matching taints.
  9032. items:
  9033. description: |-
  9034. The pod this Toleration is attached to tolerates any taint that matches
  9035. the triple <key,value,effect> using the matching operator <operator>.
  9036. properties:
  9037. effect:
  9038. description: |-
  9039. Effect indicates the taint effect to match. Empty means match all taint effects.
  9040. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  9041. type: string
  9042. key:
  9043. description: |-
  9044. Key is the taint key that the toleration applies to. Empty means match all taint keys.
  9045. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  9046. type: string
  9047. operator:
  9048. description: |-
  9049. Operator represents a key's relationship to the value.
  9050. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal.
  9051. Exists is equivalent to wildcard for value, so that a pod can
  9052. tolerate all taints of a particular category.
  9053. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).
  9054. type: string
  9055. tolerationSeconds:
  9056. description: |-
  9057. TolerationSeconds represents the period of time the toleration (which must be
  9058. of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  9059. it is not set, which means tolerate the taint forever (do not evict). Zero and
  9060. negative values will be treated as 0 (evict immediately) by the system.
  9061. format: int64
  9062. type: integer
  9063. value:
  9064. description: |-
  9065. Value is the taint value the toleration matches to.
  9066. If the operator is Exists, the value should be empty, otherwise just a regular string.
  9067. type: string
  9068. type: object
  9069. type: array
  9070. topologySpreadConstraints:
  9071. description: |-
  9072. topologySpreadConstraints controls how pods are spread across failure
  9073. domains (zones, nodes). Prefer this over pod anti-affinity for HA spread.
  9074. items:
  9075. description: TopologySpreadConstraint specifies how to spread
  9076. matching pods among the given topology.
  9077. properties:
  9078. labelSelector:
  9079. description: |-
  9080. LabelSelector is used to find matching pods.
  9081. Pods that match this label selector are counted to determine the number of pods
  9082. in their corresponding topology domain.
  9083. properties:
  9084. matchExpressions:
  9085. description: matchExpressions is a list of label
  9086. selector requirements. The requirements are ANDed.
  9087. items:
  9088. description: |-
  9089. A label selector requirement is a selector that contains values, a key, and an operator that
  9090. relates the key and values.
  9091. properties:
  9092. key:
  9093. description: key is the label key that the
  9094. selector applies to.
  9095. type: string
  9096. operator:
  9097. description: |-
  9098. operator represents a key's relationship to a set of values.
  9099. Valid operators are In, NotIn, Exists and DoesNotExist.
  9100. type: string
  9101. values:
  9102. description: |-
  9103. values is an array of string values. If the operator is In or NotIn,
  9104. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  9105. the values array must be empty. This array is replaced during a strategic
  9106. merge patch.
  9107. items:
  9108. type: string
  9109. type: array
  9110. x-kubernetes-list-type: atomic
  9111. required:
  9112. - key
  9113. - operator
  9114. type: object
  9115. type: array
  9116. x-kubernetes-list-type: atomic
  9117. matchLabels:
  9118. additionalProperties:
  9119. type: string
  9120. description: |-
  9121. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  9122. map is equivalent to an element of matchExpressions, whose key field is "key", the
  9123. operator is "In", and the values array contains only "value". The requirements are ANDed.
  9124. type: object
  9125. type: object
  9126. x-kubernetes-map-type: atomic
  9127. matchLabelKeys:
  9128. description: |-
  9129. MatchLabelKeys is a set of pod label keys to select the pods over which
  9130. spreading will be calculated. The keys are used to lookup values from the
  9131. incoming pod labels, those key-value labels are ANDed with labelSelector
  9132. to select the group of existing pods over which spreading will be calculated
  9133. for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
  9134. MatchLabelKeys cannot be set when LabelSelector isn't set.
  9135. Keys that don't exist in the incoming pod labels will
  9136. be ignored. A null or empty list means only match against labelSelector.
  9137. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
  9138. items:
  9139. type: string
  9140. type: array
  9141. x-kubernetes-list-type: atomic
  9142. maxSkew:
  9143. description: |-
  9144. MaxSkew describes the degree to which pods may be unevenly distributed.
  9145. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
  9146. between the number of matching pods in the target topology and the global minimum.
  9147. The global minimum is the minimum number of matching pods in an eligible domain
  9148. or zero if the number of eligible domains is less than MinDomains.
  9149. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  9150. labelSelector spread as 2/2/1:
  9151. In this case, the global minimum is 1.
  9152. | zone1 | zone2 | zone3 |
  9153. | P P | P P | P |
  9154. - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
  9155. scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
  9156. violate MaxSkew(1).
  9157. - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
  9158. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
  9159. to topologies that satisfy it.
  9160. It's a required field. Default value is 1 and 0 is not allowed.
  9161. format: int32
  9162. type: integer
  9163. minDomains:
  9164. description: |-
  9165. MinDomains indicates a minimum number of eligible domains.
  9166. When the number of eligible domains with matching topology keys is less than minDomains,
  9167. Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
  9168. And when the number of eligible domains with matching topology keys equals or greater than minDomains,
  9169. this value has no effect on scheduling.
  9170. As a result, when the number of eligible domains is less than minDomains,
  9171. scheduler won't schedule more than maxSkew Pods to those domains.
  9172. If value is nil, the constraint behaves as if MinDomains is equal to 1.
  9173. Valid values are integers greater than 0.
  9174. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
  9175. For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
  9176. labelSelector spread as 2/2/2:
  9177. | zone1 | zone2 | zone3 |
  9178. | P P | P P | P P |
  9179. The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
  9180. In this situation, new pod with the same labelSelector cannot be scheduled,
  9181. because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
  9182. it will violate MaxSkew.
  9183. format: int32
  9184. type: integer
  9185. nodeAffinityPolicy:
  9186. description: |-
  9187. NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
  9188. when calculating pod topology spread skew. Options are:
  9189. - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
  9190. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
  9191. If this value is nil, the behavior is equivalent to the Honor policy.
  9192. type: string
  9193. nodeTaintsPolicy:
  9194. description: |-
  9195. NodeTaintsPolicy indicates how we will treat node taints when calculating
  9196. pod topology spread skew. Options are:
  9197. - Honor: nodes without taints, along with tainted nodes for which the incoming pod
  9198. has a toleration, are included.
  9199. - Ignore: node taints are ignored. All nodes are included.
  9200. If this value is nil, the behavior is equivalent to the Ignore policy.
  9201. type: string
  9202. topologyKey:
  9203. description: |-
  9204. TopologyKey is the key of node labels. Nodes that have a label with this key
  9205. and identical values are considered to be in the same topology.
  9206. We consider each <key, value> as a "bucket", and try to put balanced number
  9207. of pods into each bucket.
  9208. We define a domain as a particular instance of a topology.
  9209. Also, we define an eligible domain as a domain whose nodes meet the requirements of
  9210. nodeAffinityPolicy and nodeTaintsPolicy.
  9211. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
  9212. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
  9213. It's a required field.
  9214. type: string
  9215. whenUnsatisfiable:
  9216. description: |-
  9217. WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
  9218. the spread constraint.
  9219. - DoNotSchedule (default) tells the scheduler not to schedule it.
  9220. - ScheduleAnyway tells the scheduler to schedule the pod in any location,
  9221. but giving higher precedence to topologies that would help reduce the
  9222. skew.
  9223. A constraint is considered "Unsatisfiable" for an incoming pod
  9224. if and only if every possible node assignment for that pod would violate
  9225. "MaxSkew" on some topology.
  9226. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  9227. labelSelector spread as 3/1/1:
  9228. | zone1 | zone2 | zone3 |
  9229. | P P P | P | P |
  9230. If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
  9231. to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
  9232. MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
  9233. won't make it *more* imbalanced.
  9234. It's a required field.
  9235. type: string
  9236. required:
  9237. - maxSkew
  9238. - topologyKey
  9239. - whenUnsatisfiable
  9240. type: object
  9241. type: array
  9242. volumes:
  9243. description: volumes defines additional pod volumes available
  9244. to the runtime container.
  9245. items:
  9246. description: Volume represents a named volume in a pod that
  9247. may be accessed by any container in the pod.
  9248. properties:
  9249. awsElasticBlockStore:
  9250. description: |-
  9251. awsElasticBlockStore represents an AWS Disk resource that is attached to a
  9252. kubelet's host machine and then exposed to the pod.
  9253. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
  9254. awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
  9255. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  9256. properties:
  9257. fsType:
  9258. description: |-
  9259. fsType is the filesystem type of the volume that you want to mount.
  9260. Tip: Ensure that the filesystem type is supported by the host operating system.
  9261. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9262. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  9263. type: string
  9264. partition:
  9265. description: |-
  9266. partition is the partition in the volume that you want to mount.
  9267. If omitted, the default is to mount by volume name.
  9268. Examples: For volume /dev/sda1, you specify the partition as "1".
  9269. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  9270. format: int32
  9271. type: integer
  9272. readOnly:
  9273. description: |-
  9274. readOnly value true will force the readOnly setting in VolumeMounts.
  9275. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  9276. type: boolean
  9277. volumeID:
  9278. description: |-
  9279. volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
  9280. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  9281. type: string
  9282. required:
  9283. - volumeID
  9284. type: object
  9285. azureDisk:
  9286. description: |-
  9287. azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
  9288. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
  9289. are redirected to the disk.csi.azure.com CSI driver.
  9290. properties:
  9291. cachingMode:
  9292. description: 'cachingMode is the Host Caching mode:
  9293. None, Read Only, Read Write.'
  9294. type: string
  9295. diskName:
  9296. description: diskName is the Name of the data disk
  9297. in the blob storage
  9298. type: string
  9299. diskURI:
  9300. description: diskURI is the URI of data disk in
  9301. the blob storage
  9302. type: string
  9303. fsType:
  9304. default: ext4
  9305. description: |-
  9306. fsType is Filesystem type to mount.
  9307. Must be a filesystem type supported by the host operating system.
  9308. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9309. type: string
  9310. kind:
  9311. description: 'kind expected values are Shared: multiple
  9312. blob disks per storage account Dedicated: single
  9313. blob disk per storage account Managed: azure
  9314. managed data disk (only in managed availability
  9315. set). defaults to shared'
  9316. type: string
  9317. readOnly:
  9318. default: false
  9319. description: |-
  9320. readOnly Defaults to false (read/write). ReadOnly here will force
  9321. the ReadOnly setting in VolumeMounts.
  9322. type: boolean
  9323. required:
  9324. - diskName
  9325. - diskURI
  9326. type: object
  9327. azureFile:
  9328. description: |-
  9329. azureFile represents an Azure File Service mount on the host and bind mount to the pod.
  9330. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
  9331. are redirected to the file.csi.azure.com CSI driver.
  9332. properties:
  9333. readOnly:
  9334. description: |-
  9335. readOnly defaults to false (read/write). ReadOnly here will force
  9336. the ReadOnly setting in VolumeMounts.
  9337. type: boolean
  9338. secretName:
  9339. description: secretName is the name of secret that
  9340. contains Azure Storage Account Name and Key
  9341. type: string
  9342. shareName:
  9343. description: shareName is the azure share Name
  9344. type: string
  9345. required:
  9346. - secretName
  9347. - shareName
  9348. type: object
  9349. cephfs:
  9350. description: |-
  9351. cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
  9352. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
  9353. properties:
  9354. monitors:
  9355. description: |-
  9356. monitors is Required: Monitors is a collection of Ceph monitors
  9357. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  9358. items:
  9359. type: string
  9360. type: array
  9361. x-kubernetes-list-type: atomic
  9362. path:
  9363. description: 'path is Optional: Used as the mounted
  9364. root, rather than the full Ceph tree, default
  9365. is /'
  9366. type: string
  9367. readOnly:
  9368. description: |-
  9369. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  9370. the ReadOnly setting in VolumeMounts.
  9371. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  9372. type: boolean
  9373. secretFile:
  9374. description: |-
  9375. secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
  9376. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  9377. type: string
  9378. secretRef:
  9379. description: |-
  9380. secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
  9381. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  9382. properties:
  9383. name:
  9384. default: ""
  9385. description: |-
  9386. Name of the referent.
  9387. This field is effectively required, but due to backwards compatibility is
  9388. allowed to be empty. Instances of this type with an empty value here are
  9389. almost certainly wrong.
  9390. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9391. type: string
  9392. type: object
  9393. x-kubernetes-map-type: atomic
  9394. user:
  9395. description: |-
  9396. user is optional: User is the rados user name, default is admin
  9397. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  9398. type: string
  9399. required:
  9400. - monitors
  9401. type: object
  9402. cinder:
  9403. description: |-
  9404. cinder represents a cinder volume attached and mounted on kubelets host machine.
  9405. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
  9406. are redirected to the cinder.csi.openstack.org CSI driver.
  9407. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  9408. properties:
  9409. fsType:
  9410. description: |-
  9411. fsType is the filesystem type to mount.
  9412. Must be a filesystem type supported by the host operating system.
  9413. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9414. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  9415. type: string
  9416. readOnly:
  9417. description: |-
  9418. readOnly defaults to false (read/write). ReadOnly here will force
  9419. the ReadOnly setting in VolumeMounts.
  9420. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  9421. type: boolean
  9422. secretRef:
  9423. description: |-
  9424. secretRef is optional: points to a secret object containing parameters used to connect
  9425. to OpenStack.
  9426. properties:
  9427. name:
  9428. default: ""
  9429. description: |-
  9430. Name of the referent.
  9431. This field is effectively required, but due to backwards compatibility is
  9432. allowed to be empty. Instances of this type with an empty value here are
  9433. almost certainly wrong.
  9434. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9435. type: string
  9436. type: object
  9437. x-kubernetes-map-type: atomic
  9438. volumeID:
  9439. description: |-
  9440. volumeID used to identify the volume in cinder.
  9441. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  9442. type: string
  9443. required:
  9444. - volumeID
  9445. type: object
  9446. configMap:
  9447. description: configMap represents a configMap that should
  9448. populate this volume
  9449. properties:
  9450. defaultMode:
  9451. description: |-
  9452. defaultMode is optional: mode bits used to set permissions on created files by default.
  9453. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  9454. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9455. Defaults to 0644.
  9456. Directories within the path are not affected by this setting.
  9457. This might be in conflict with other options that affect the file
  9458. mode, like fsGroup, and the result can be other mode bits set.
  9459. format: int32
  9460. type: integer
  9461. items:
  9462. description: |-
  9463. items if unspecified, each key-value pair in the Data field of the referenced
  9464. ConfigMap will be projected into the volume as a file whose name is the
  9465. key and content is the value. If specified, the listed keys will be
  9466. projected into the specified paths, and unlisted keys will not be
  9467. present. If a key is specified which is not present in the ConfigMap,
  9468. the volume setup will error unless it is marked optional. Paths must be
  9469. relative and may not contain the '..' path or start with '..'.
  9470. items:
  9471. description: Maps a string key to a path within
  9472. a volume.
  9473. properties:
  9474. key:
  9475. description: key is the key to project.
  9476. type: string
  9477. mode:
  9478. description: |-
  9479. mode is Optional: mode bits used to set permissions on this file.
  9480. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  9481. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9482. If not specified, the volume defaultMode will be used.
  9483. This might be in conflict with other options that affect the file
  9484. mode, like fsGroup, and the result can be other mode bits set.
  9485. format: int32
  9486. type: integer
  9487. path:
  9488. description: |-
  9489. path is the relative path of the file to map the key to.
  9490. May not be an absolute path.
  9491. May not contain the path element '..'.
  9492. May not start with the string '..'.
  9493. type: string
  9494. required:
  9495. - key
  9496. - path
  9497. type: object
  9498. type: array
  9499. x-kubernetes-list-type: atomic
  9500. name:
  9501. default: ""
  9502. description: |-
  9503. Name of the referent.
  9504. This field is effectively required, but due to backwards compatibility is
  9505. allowed to be empty. Instances of this type with an empty value here are
  9506. almost certainly wrong.
  9507. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9508. type: string
  9509. optional:
  9510. description: optional specify whether the ConfigMap
  9511. or its keys must be defined
  9512. type: boolean
  9513. type: object
  9514. x-kubernetes-map-type: atomic
  9515. csi:
  9516. description: csi (Container Storage Interface) represents
  9517. ephemeral storage that is handled by certain external
  9518. CSI drivers.
  9519. properties:
  9520. driver:
  9521. description: |-
  9522. driver is the name of the CSI driver that handles this volume.
  9523. Consult with your admin for the correct name as registered in the cluster.
  9524. type: string
  9525. fsType:
  9526. description: |-
  9527. fsType to mount. Ex. "ext4", "xfs", "ntfs".
  9528. If not provided, the empty value is passed to the associated CSI driver
  9529. which will determine the default filesystem to apply.
  9530. type: string
  9531. nodePublishSecretRef:
  9532. description: |-
  9533. nodePublishSecretRef is a reference to the secret object containing
  9534. sensitive information to pass to the CSI driver to complete the CSI
  9535. NodePublishVolume and NodeUnpublishVolume calls.
  9536. This field is optional, and may be empty if no secret is required. If the
  9537. secret object contains more than one secret, all secret references are passed.
  9538. properties:
  9539. name:
  9540. default: ""
  9541. description: |-
  9542. Name of the referent.
  9543. This field is effectively required, but due to backwards compatibility is
  9544. allowed to be empty. Instances of this type with an empty value here are
  9545. almost certainly wrong.
  9546. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9547. type: string
  9548. type: object
  9549. x-kubernetes-map-type: atomic
  9550. readOnly:
  9551. description: |-
  9552. readOnly specifies a read-only configuration for the volume.
  9553. Defaults to false (read/write).
  9554. type: boolean
  9555. volumeAttributes:
  9556. additionalProperties:
  9557. type: string
  9558. description: |-
  9559. volumeAttributes stores driver-specific properties that are passed to the CSI
  9560. driver. Consult your driver's documentation for supported values.
  9561. type: object
  9562. required:
  9563. - driver
  9564. type: object
  9565. downwardAPI:
  9566. description: downwardAPI represents downward API about
  9567. the pod that should populate this volume
  9568. properties:
  9569. defaultMode:
  9570. description: |-
  9571. Optional: mode bits to use on created files by default. Must be a
  9572. Optional: mode bits used to set permissions on created files by default.
  9573. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  9574. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9575. Defaults to 0644.
  9576. Directories within the path are not affected by this setting.
  9577. This might be in conflict with other options that affect the file
  9578. mode, like fsGroup, and the result can be other mode bits set.
  9579. format: int32
  9580. type: integer
  9581. items:
  9582. description: Items is a list of downward API volume
  9583. file
  9584. items:
  9585. description: DownwardAPIVolumeFile represents
  9586. information to create the file containing the
  9587. pod field
  9588. properties:
  9589. fieldRef:
  9590. description: 'Required: Selects a field of
  9591. the pod: only annotations, labels, name,
  9592. namespace and uid are supported.'
  9593. properties:
  9594. apiVersion:
  9595. description: Version of the schema the
  9596. FieldPath is written in terms of, defaults
  9597. to "v1".
  9598. type: string
  9599. fieldPath:
  9600. description: Path of the field to select
  9601. in the specified API version.
  9602. type: string
  9603. required:
  9604. - fieldPath
  9605. type: object
  9606. x-kubernetes-map-type: atomic
  9607. mode:
  9608. description: |-
  9609. Optional: mode bits used to set permissions on this file, must be an octal value
  9610. between 0000 and 0777 or a decimal value between 0 and 511.
  9611. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9612. If not specified, the volume defaultMode will be used.
  9613. This might be in conflict with other options that affect the file
  9614. mode, like fsGroup, and the result can be other mode bits set.
  9615. format: int32
  9616. type: integer
  9617. path:
  9618. description: 'Required: Path is the relative
  9619. path name of the file to be created. Must
  9620. not be absolute or contain the ''..'' path.
  9621. Must be utf-8 encoded. The first item of
  9622. the relative path must not start with ''..'''
  9623. type: string
  9624. resourceFieldRef:
  9625. description: |-
  9626. Selects a resource of the container: only resources limits and requests
  9627. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  9628. properties:
  9629. containerName:
  9630. description: 'Container name: required
  9631. for volumes, optional for env vars'
  9632. type: string
  9633. divisor:
  9634. anyOf:
  9635. - type: integer
  9636. - type: string
  9637. description: Specifies the output format
  9638. of the exposed resources, defaults to
  9639. "1"
  9640. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9641. x-kubernetes-int-or-string: true
  9642. resource:
  9643. description: 'Required: resource to select'
  9644. type: string
  9645. required:
  9646. - resource
  9647. type: object
  9648. x-kubernetes-map-type: atomic
  9649. required:
  9650. - path
  9651. type: object
  9652. type: array
  9653. x-kubernetes-list-type: atomic
  9654. type: object
  9655. emptyDir:
  9656. description: |-
  9657. emptyDir represents a temporary directory that shares a pod's lifetime.
  9658. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  9659. properties:
  9660. medium:
  9661. description: |-
  9662. medium represents what type of storage medium should back this directory.
  9663. The default is "" which means to use the node's default medium.
  9664. Must be an empty string (default) or Memory.
  9665. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  9666. type: string
  9667. sizeLimit:
  9668. anyOf:
  9669. - type: integer
  9670. - type: string
  9671. description: |-
  9672. sizeLimit is the total amount of local storage required for this EmptyDir volume.
  9673. The size limit is also applicable for memory medium.
  9674. The maximum usage on memory medium EmptyDir would be the minimum value between
  9675. the SizeLimit specified here and the sum of memory limits of all containers in a pod.
  9676. The default is nil which means that the limit is undefined.
  9677. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  9678. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9679. x-kubernetes-int-or-string: true
  9680. type: object
  9681. ephemeral:
  9682. description: |-
  9683. ephemeral represents a volume that is handled by a cluster storage driver.
  9684. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
  9685. and deleted when the pod is removed.
  9686. Use this if:
  9687. a) the volume is only needed while the pod runs,
  9688. b) features of normal volumes like restoring from snapshot or capacity
  9689. tracking are needed,
  9690. c) the storage driver is specified through a storage class, and
  9691. d) the storage driver supports dynamic volume provisioning through
  9692. a PersistentVolumeClaim (see EphemeralVolumeSource for more
  9693. information on the connection between this volume type
  9694. and PersistentVolumeClaim).
  9695. Use PersistentVolumeClaim or one of the vendor-specific
  9696. APIs for volumes that persist for longer than the lifecycle
  9697. of an individual pod.
  9698. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
  9699. be used that way - see the documentation of the driver for
  9700. more information.
  9701. A pod can use both types of ephemeral volumes and
  9702. persistent volumes at the same time.
  9703. properties:
  9704. volumeClaimTemplate:
  9705. description: |-
  9706. Will be used to create a stand-alone PVC to provision the volume.
  9707. The pod in which this EphemeralVolumeSource is embedded will be the
  9708. owner of the PVC, i.e. the PVC will be deleted together with the
  9709. pod. The name of the PVC will be `<pod name>-<volume name>` where
  9710. `<volume name>` is the name from the `PodSpec.Volumes` array
  9711. entry. Pod validation will reject the pod if the concatenated name
  9712. is not valid for a PVC (for example, too long).
  9713. An existing PVC with that name that is not owned by the pod
  9714. will *not* be used for the pod to avoid using an unrelated
  9715. volume by mistake. Starting the pod is then blocked until
  9716. the unrelated PVC is removed. If such a pre-created PVC is
  9717. meant to be used by the pod, the PVC has to updated with an
  9718. owner reference to the pod once the pod exists. Normally
  9719. this should not be necessary, but it may be useful when
  9720. manually reconstructing a broken cluster.
  9721. This field is read-only and no changes will be made by Kubernetes
  9722. to the PVC after it has been created.
  9723. Required, must not be nil.
  9724. properties:
  9725. metadata:
  9726. description: |-
  9727. May contain labels and annotations that will be copied into the PVC
  9728. when creating it. No other fields are allowed and will be rejected during
  9729. validation.
  9730. type: object
  9731. spec:
  9732. description: |-
  9733. The specification for the PersistentVolumeClaim. The entire content is
  9734. copied unchanged into the PVC that gets created from this
  9735. template. The same fields as in a PersistentVolumeClaim
  9736. are also valid here.
  9737. properties:
  9738. accessModes:
  9739. description: |-
  9740. accessModes contains the desired access modes the volume should have.
  9741. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
  9742. items:
  9743. type: string
  9744. type: array
  9745. x-kubernetes-list-type: atomic
  9746. dataSource:
  9747. description: |-
  9748. dataSource field can be used to specify either:
  9749. * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  9750. * An existing PVC (PersistentVolumeClaim)
  9751. If the provisioner or an external controller can support the specified data source,
  9752. it will create a new volume based on the contents of the specified data source.
  9753. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
  9754. and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
  9755. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
  9756. properties:
  9757. apiGroup:
  9758. description: |-
  9759. APIGroup is the group for the resource being referenced.
  9760. If APIGroup is not specified, the specified Kind must be in the core API group.
  9761. For any other third-party types, APIGroup is required.
  9762. type: string
  9763. kind:
  9764. description: Kind is the type of resource
  9765. being referenced
  9766. type: string
  9767. name:
  9768. description: Name is the name of resource
  9769. being referenced
  9770. type: string
  9771. required:
  9772. - kind
  9773. - name
  9774. type: object
  9775. x-kubernetes-map-type: atomic
  9776. dataSourceRef:
  9777. description: |-
  9778. dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
  9779. volume is desired. This may be any object from a non-empty API group (non
  9780. core object) or a PersistentVolumeClaim object.
  9781. When this field is specified, volume binding will only succeed if the type of
  9782. the specified object matches some installed volume populator or dynamic
  9783. provisioner.
  9784. This field will replace the functionality of the dataSource field and as such
  9785. if both fields are non-empty, they must have the same value. For backwards
  9786. compatibility, when namespace isn't specified in dataSourceRef,
  9787. both fields (dataSource and dataSourceRef) will be set to the same
  9788. value automatically if one of them is empty and the other is non-empty.
  9789. When namespace is specified in dataSourceRef,
  9790. dataSource isn't set to the same value and must be empty.
  9791. There are three important differences between dataSource and dataSourceRef:
  9792. * While dataSource only allows two specific types of objects, dataSourceRef
  9793. allows any non-core object, as well as PersistentVolumeClaim objects.
  9794. * While dataSource ignores disallowed values (dropping them), dataSourceRef
  9795. preserves all values, and generates an error if a disallowed value is
  9796. specified.
  9797. * While dataSource only allows local objects, dataSourceRef allows objects
  9798. in any namespaces.
  9799. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
  9800. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  9801. properties:
  9802. apiGroup:
  9803. description: |-
  9804. APIGroup is the group for the resource being referenced.
  9805. If APIGroup is not specified, the specified Kind must be in the core API group.
  9806. For any other third-party types, APIGroup is required.
  9807. type: string
  9808. kind:
  9809. description: Kind is the type of resource
  9810. being referenced
  9811. type: string
  9812. name:
  9813. description: Name is the name of resource
  9814. being referenced
  9815. type: string
  9816. namespace:
  9817. description: |-
  9818. Namespace is the namespace of resource being referenced
  9819. Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
  9820. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  9821. type: string
  9822. required:
  9823. - kind
  9824. - name
  9825. type: object
  9826. resources:
  9827. description: |-
  9828. resources represents the minimum resources the volume should have.
  9829. Users are allowed to specify resource requirements
  9830. that are lower than previous value but must still be higher than capacity recorded in the
  9831. status field of the claim.
  9832. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
  9833. properties:
  9834. limits:
  9835. additionalProperties:
  9836. anyOf:
  9837. - type: integer
  9838. - type: string
  9839. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9840. x-kubernetes-int-or-string: true
  9841. description: |-
  9842. Limits describes the maximum amount of compute resources allowed.
  9843. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  9844. type: object
  9845. requests:
  9846. additionalProperties:
  9847. anyOf:
  9848. - type: integer
  9849. - type: string
  9850. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9851. x-kubernetes-int-or-string: true
  9852. description: |-
  9853. Requests describes the minimum amount of compute resources required.
  9854. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  9855. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  9856. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  9857. type: object
  9858. type: object
  9859. selector:
  9860. description: selector is a label query over
  9861. volumes to consider for binding.
  9862. properties:
  9863. matchExpressions:
  9864. description: matchExpressions is a list
  9865. of label selector requirements. The
  9866. requirements are ANDed.
  9867. items:
  9868. description: |-
  9869. A label selector requirement is a selector that contains values, a key, and an operator that
  9870. relates the key and values.
  9871. properties:
  9872. key:
  9873. description: key is the label
  9874. key that the selector applies
  9875. to.
  9876. type: string
  9877. operator:
  9878. description: |-
  9879. operator represents a key's relationship to a set of values.
  9880. Valid operators are In, NotIn, Exists and DoesNotExist.
  9881. type: string
  9882. values:
  9883. description: |-
  9884. values is an array of string values. If the operator is In or NotIn,
  9885. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  9886. the values array must be empty. This array is replaced during a strategic
  9887. merge patch.
  9888. items:
  9889. type: string
  9890. type: array
  9891. x-kubernetes-list-type: atomic
  9892. required:
  9893. - key
  9894. - operator
  9895. type: object
  9896. type: array
  9897. x-kubernetes-list-type: atomic
  9898. matchLabels:
  9899. additionalProperties:
  9900. type: string
  9901. description: |-
  9902. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  9903. map is equivalent to an element of matchExpressions, whose key field is "key", the
  9904. operator is "In", and the values array contains only "value". The requirements are ANDed.
  9905. type: object
  9906. type: object
  9907. x-kubernetes-map-type: atomic
  9908. storageClassName:
  9909. description: |-
  9910. storageClassName is the name of the StorageClass required by the claim.
  9911. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
  9912. type: string
  9913. volumeAttributesClassName:
  9914. description: |-
  9915. volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
  9916. If specified, the CSI driver will create or update the volume with the attributes defined
  9917. in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
  9918. it can be changed after the claim is created. An empty string or nil value indicates that no
  9919. VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state,
  9920. this field can be reset to its previous value (including nil) to cancel the modification.
  9921. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
  9922. set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
  9923. exists.
  9924. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
  9925. type: string
  9926. volumeMode:
  9927. description: |-
  9928. volumeMode defines what type of volume is required by the claim.
  9929. Value of Filesystem is implied when not included in claim spec.
  9930. type: string
  9931. volumeName:
  9932. description: volumeName is the binding reference
  9933. to the PersistentVolume backing this claim.
  9934. type: string
  9935. type: object
  9936. required:
  9937. - spec
  9938. type: object
  9939. type: object
  9940. fc:
  9941. description: fc represents a Fibre Channel resource
  9942. that is attached to a kubelet's host machine and then
  9943. exposed to the pod.
  9944. properties:
  9945. fsType:
  9946. description: |-
  9947. fsType is the filesystem type to mount.
  9948. Must be a filesystem type supported by the host operating system.
  9949. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9950. type: string
  9951. lun:
  9952. description: 'lun is Optional: FC target lun number'
  9953. format: int32
  9954. type: integer
  9955. readOnly:
  9956. description: |-
  9957. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  9958. the ReadOnly setting in VolumeMounts.
  9959. type: boolean
  9960. targetWWNs:
  9961. description: 'targetWWNs is Optional: FC target
  9962. worldwide names (WWNs)'
  9963. items:
  9964. type: string
  9965. type: array
  9966. x-kubernetes-list-type: atomic
  9967. wwids:
  9968. description: |-
  9969. wwids Optional: FC volume world wide identifiers (wwids)
  9970. Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
  9971. items:
  9972. type: string
  9973. type: array
  9974. x-kubernetes-list-type: atomic
  9975. type: object
  9976. flexVolume:
  9977. description: |-
  9978. flexVolume represents a generic volume resource that is
  9979. provisioned/attached using an exec based plugin.
  9980. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
  9981. properties:
  9982. driver:
  9983. description: driver is the name of the driver to
  9984. use for this volume.
  9985. type: string
  9986. fsType:
  9987. description: |-
  9988. fsType is the filesystem type to mount.
  9989. Must be a filesystem type supported by the host operating system.
  9990. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
  9991. type: string
  9992. options:
  9993. additionalProperties:
  9994. type: string
  9995. description: 'options is Optional: this field holds
  9996. extra command options if any.'
  9997. type: object
  9998. readOnly:
  9999. description: |-
  10000. readOnly is Optional: defaults to false (read/write). ReadOnly here will force
  10001. the ReadOnly setting in VolumeMounts.
  10002. type: boolean
  10003. secretRef:
  10004. description: |-
  10005. secretRef is Optional: secretRef is reference to the secret object containing
  10006. sensitive information to pass to the plugin scripts. This may be
  10007. empty if no secret object is specified. If the secret object
  10008. contains more than one secret, all secrets are passed to the plugin
  10009. scripts.
  10010. properties:
  10011. name:
  10012. default: ""
  10013. description: |-
  10014. Name of the referent.
  10015. This field is effectively required, but due to backwards compatibility is
  10016. allowed to be empty. Instances of this type with an empty value here are
  10017. almost certainly wrong.
  10018. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10019. type: string
  10020. type: object
  10021. x-kubernetes-map-type: atomic
  10022. required:
  10023. - driver
  10024. type: object
  10025. flocker:
  10026. description: |-
  10027. flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
  10028. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
  10029. properties:
  10030. datasetName:
  10031. description: |-
  10032. datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
  10033. should be considered as deprecated
  10034. type: string
  10035. datasetUUID:
  10036. description: datasetUUID is the UUID of the dataset.
  10037. This is unique identifier of a Flocker dataset
  10038. type: string
  10039. type: object
  10040. gcePersistentDisk:
  10041. description: |-
  10042. gcePersistentDisk represents a GCE Disk resource that is attached to a
  10043. kubelet's host machine and then exposed to the pod.
  10044. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
  10045. gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
  10046. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  10047. properties:
  10048. fsType:
  10049. description: |-
  10050. fsType is filesystem type of the volume that you want to mount.
  10051. Tip: Ensure that the filesystem type is supported by the host operating system.
  10052. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10053. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  10054. type: string
  10055. partition:
  10056. description: |-
  10057. partition is the partition in the volume that you want to mount.
  10058. If omitted, the default is to mount by volume name.
  10059. Examples: For volume /dev/sda1, you specify the partition as "1".
  10060. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  10061. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  10062. format: int32
  10063. type: integer
  10064. pdName:
  10065. description: |-
  10066. pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
  10067. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  10068. type: string
  10069. readOnly:
  10070. description: |-
  10071. readOnly here will force the ReadOnly setting in VolumeMounts.
  10072. Defaults to false.
  10073. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  10074. type: boolean
  10075. required:
  10076. - pdName
  10077. type: object
  10078. gitRepo:
  10079. description: |-
  10080. gitRepo represents a git repository at a particular revision.
  10081. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
  10082. EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
  10083. into the Pod's container.
  10084. properties:
  10085. directory:
  10086. description: |-
  10087. directory is the target directory name.
  10088. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
  10089. git repository. Otherwise, if specified, the volume will contain the git repository in
  10090. the subdirectory with the given name.
  10091. type: string
  10092. repository:
  10093. description: repository is the URL
  10094. type: string
  10095. revision:
  10096. description: revision is the commit hash for the
  10097. specified revision.
  10098. type: string
  10099. required:
  10100. - repository
  10101. type: object
  10102. glusterfs:
  10103. description: |-
  10104. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
  10105. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
  10106. properties:
  10107. endpoints:
  10108. description: endpoints is the endpoint name that
  10109. details Glusterfs topology.
  10110. type: string
  10111. path:
  10112. description: |-
  10113. path is the Glusterfs volume path.
  10114. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  10115. type: string
  10116. readOnly:
  10117. description: |-
  10118. readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
  10119. Defaults to false.
  10120. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  10121. type: boolean
  10122. required:
  10123. - endpoints
  10124. - path
  10125. type: object
  10126. hostPath:
  10127. description: |-
  10128. hostPath represents a pre-existing file or directory on the host
  10129. machine that is directly exposed to the container. This is generally
  10130. used for system agents or other privileged things that are allowed
  10131. to see the host machine. Most containers will NOT need this.
  10132. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  10133. properties:
  10134. path:
  10135. description: |-
  10136. path of the directory on the host.
  10137. If the path is a symlink, it will follow the link to the real path.
  10138. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  10139. type: string
  10140. type:
  10141. description: |-
  10142. type for HostPath Volume
  10143. Defaults to ""
  10144. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  10145. type: string
  10146. required:
  10147. - path
  10148. type: object
  10149. image:
  10150. description: |-
  10151. image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
  10152. The volume is resolved at pod startup depending on which PullPolicy value is provided:
  10153. - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  10154. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  10155. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
  10156. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
  10157. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
  10158. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
  10159. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
  10160. The volume will be mounted read-only (ro) and non-executable files (noexec).
  10161. Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33.
  10162. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
  10163. properties:
  10164. pullPolicy:
  10165. description: |-
  10166. Policy for pulling OCI objects. Possible values are:
  10167. Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  10168. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  10169. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
  10170. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
  10171. type: string
  10172. reference:
  10173. description: |-
  10174. Required: Image or artifact reference to be used.
  10175. Behaves in the same way as pod.spec.containers[*].image.
  10176. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
  10177. More info: https://kubernetes.io/docs/concepts/containers/images
  10178. This field is optional to allow higher level config management to default or override
  10179. container images in workload controllers like Deployments and StatefulSets.
  10180. type: string
  10181. type: object
  10182. iscsi:
  10183. description: |-
  10184. iscsi represents an ISCSI Disk resource that is attached to a
  10185. kubelet's host machine and then exposed to the pod.
  10186. More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi
  10187. properties:
  10188. chapAuthDiscovery:
  10189. description: chapAuthDiscovery defines whether support
  10190. iSCSI Discovery CHAP authentication
  10191. type: boolean
  10192. chapAuthSession:
  10193. description: chapAuthSession defines whether support
  10194. iSCSI Session CHAP authentication
  10195. type: boolean
  10196. fsType:
  10197. description: |-
  10198. fsType is the filesystem type of the volume that you want to mount.
  10199. Tip: Ensure that the filesystem type is supported by the host operating system.
  10200. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10201. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  10202. type: string
  10203. initiatorName:
  10204. description: |-
  10205. initiatorName is the custom iSCSI Initiator Name.
  10206. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
  10207. <target portal>:<volume name> will be created for the connection.
  10208. type: string
  10209. iqn:
  10210. description: iqn is the target iSCSI Qualified Name.
  10211. type: string
  10212. iscsiInterface:
  10213. default: default
  10214. description: |-
  10215. iscsiInterface is the interface Name that uses an iSCSI transport.
  10216. Defaults to 'default' (tcp).
  10217. type: string
  10218. lun:
  10219. description: lun represents iSCSI Target Lun number.
  10220. format: int32
  10221. type: integer
  10222. portals:
  10223. description: |-
  10224. portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
  10225. is other than default (typically TCP ports 860 and 3260).
  10226. items:
  10227. type: string
  10228. type: array
  10229. x-kubernetes-list-type: atomic
  10230. readOnly:
  10231. description: |-
  10232. readOnly here will force the ReadOnly setting in VolumeMounts.
  10233. Defaults to false.
  10234. type: boolean
  10235. secretRef:
  10236. description: secretRef is the CHAP Secret for iSCSI
  10237. target and initiator authentication
  10238. properties:
  10239. name:
  10240. default: ""
  10241. description: |-
  10242. Name of the referent.
  10243. This field is effectively required, but due to backwards compatibility is
  10244. allowed to be empty. Instances of this type with an empty value here are
  10245. almost certainly wrong.
  10246. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10247. type: string
  10248. type: object
  10249. x-kubernetes-map-type: atomic
  10250. targetPortal:
  10251. description: |-
  10252. targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
  10253. is other than default (typically TCP ports 860 and 3260).
  10254. type: string
  10255. required:
  10256. - iqn
  10257. - lun
  10258. - targetPortal
  10259. type: object
  10260. name:
  10261. description: |-
  10262. name of the volume.
  10263. Must be a DNS_LABEL and unique within the pod.
  10264. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10265. type: string
  10266. nfs:
  10267. description: |-
  10268. nfs represents an NFS mount on the host that shares a pod's lifetime
  10269. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  10270. properties:
  10271. path:
  10272. description: |-
  10273. path that is exported by the NFS server.
  10274. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  10275. type: string
  10276. readOnly:
  10277. description: |-
  10278. readOnly here will force the NFS export to be mounted with read-only permissions.
  10279. Defaults to false.
  10280. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  10281. type: boolean
  10282. server:
  10283. description: |-
  10284. server is the hostname or IP address of the NFS server.
  10285. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  10286. type: string
  10287. required:
  10288. - path
  10289. - server
  10290. type: object
  10291. persistentVolumeClaim:
  10292. description: |-
  10293. persistentVolumeClaimVolumeSource represents a reference to a
  10294. PersistentVolumeClaim in the same namespace.
  10295. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  10296. properties:
  10297. claimName:
  10298. description: |-
  10299. claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  10300. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  10301. type: string
  10302. readOnly:
  10303. description: |-
  10304. readOnly Will force the ReadOnly setting in VolumeMounts.
  10305. Default false.
  10306. type: boolean
  10307. required:
  10308. - claimName
  10309. type: object
  10310. photonPersistentDisk:
  10311. description: |-
  10312. photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
  10313. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
  10314. properties:
  10315. fsType:
  10316. description: |-
  10317. fsType is the filesystem type to mount.
  10318. Must be a filesystem type supported by the host operating system.
  10319. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10320. type: string
  10321. pdID:
  10322. description: pdID is the ID that identifies Photon
  10323. Controller persistent disk
  10324. type: string
  10325. required:
  10326. - pdID
  10327. type: object
  10328. portworxVolume:
  10329. description: |-
  10330. portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
  10331. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
  10332. are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
  10333. is on.
  10334. properties:
  10335. fsType:
  10336. description: |-
  10337. fSType represents the filesystem type to mount
  10338. Must be a filesystem type supported by the host operating system.
  10339. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
  10340. type: string
  10341. readOnly:
  10342. description: |-
  10343. readOnly defaults to false (read/write). ReadOnly here will force
  10344. the ReadOnly setting in VolumeMounts.
  10345. type: boolean
  10346. volumeID:
  10347. description: volumeID uniquely identifies a Portworx
  10348. volume
  10349. type: string
  10350. required:
  10351. - volumeID
  10352. type: object
  10353. projected:
  10354. description: projected items for all in one resources
  10355. secrets, configmaps, and downward API
  10356. properties:
  10357. defaultMode:
  10358. description: |-
  10359. defaultMode are the mode bits used to set permissions on created files by default.
  10360. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  10361. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  10362. Directories within the path are not affected by this setting.
  10363. This might be in conflict with other options that affect the file
  10364. mode, like fsGroup, and the result can be other mode bits set.
  10365. format: int32
  10366. type: integer
  10367. sources:
  10368. description: |-
  10369. sources is the list of volume projections. Each entry in this list
  10370. handles one source.
  10371. items:
  10372. description: |-
  10373. Projection that may be projected along with other supported volume types.
  10374. Exactly one of these fields must be set.
  10375. properties:
  10376. clusterTrustBundle:
  10377. description: |-
  10378. ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
  10379. of ClusterTrustBundle objects in an auto-updating file.
  10380. Alpha, gated by the ClusterTrustBundleProjection feature gate.
  10381. ClusterTrustBundle objects can either be selected by name, or by the
  10382. combination of signer name and a label selector.
  10383. Kubelet performs aggressive normalization of the PEM contents written
  10384. into the pod filesystem. Esoteric PEM features such as inter-block
  10385. comments and block headers are stripped. Certificates are deduplicated.
  10386. The ordering of certificates within the file is arbitrary, and Kubelet
  10387. may change the order over time.
  10388. properties:
  10389. labelSelector:
  10390. description: |-
  10391. Select all ClusterTrustBundles that match this label selector. Only has
  10392. effect if signerName is set. Mutually-exclusive with name. If unset,
  10393. interpreted as "match nothing". If set but empty, interpreted as "match
  10394. everything".
  10395. properties:
  10396. matchExpressions:
  10397. description: matchExpressions is a
  10398. list of label selector requirements.
  10399. The requirements are ANDed.
  10400. items:
  10401. description: |-
  10402. A label selector requirement is a selector that contains values, a key, and an operator that
  10403. relates the key and values.
  10404. properties:
  10405. key:
  10406. description: key is the label
  10407. key that the selector applies
  10408. to.
  10409. type: string
  10410. operator:
  10411. description: |-
  10412. operator represents a key's relationship to a set of values.
  10413. Valid operators are In, NotIn, Exists and DoesNotExist.
  10414. type: string
  10415. values:
  10416. description: |-
  10417. values is an array of string values. If the operator is In or NotIn,
  10418. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  10419. the values array must be empty. This array is replaced during a strategic
  10420. merge patch.
  10421. items:
  10422. type: string
  10423. type: array
  10424. x-kubernetes-list-type: atomic
  10425. required:
  10426. - key
  10427. - operator
  10428. type: object
  10429. type: array
  10430. x-kubernetes-list-type: atomic
  10431. matchLabels:
  10432. additionalProperties:
  10433. type: string
  10434. description: |-
  10435. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  10436. map is equivalent to an element of matchExpressions, whose key field is "key", the
  10437. operator is "In", and the values array contains only "value". The requirements are ANDed.
  10438. type: object
  10439. type: object
  10440. x-kubernetes-map-type: atomic
  10441. name:
  10442. description: |-
  10443. Select a single ClusterTrustBundle by object name. Mutually-exclusive
  10444. with signerName and labelSelector.
  10445. type: string
  10446. optional:
  10447. description: |-
  10448. If true, don't block pod startup if the referenced ClusterTrustBundle(s)
  10449. aren't available. If using name, then the named ClusterTrustBundle is
  10450. allowed not to exist. If using signerName, then the combination of
  10451. signerName and labelSelector is allowed to match zero
  10452. ClusterTrustBundles.
  10453. type: boolean
  10454. path:
  10455. description: Relative path from the volume
  10456. root to write the bundle.
  10457. type: string
  10458. signerName:
  10459. description: |-
  10460. Select all ClusterTrustBundles that match this signer name.
  10461. Mutually-exclusive with name. The contents of all selected
  10462. ClusterTrustBundles will be unified and deduplicated.
  10463. type: string
  10464. required:
  10465. - path
  10466. type: object
  10467. configMap:
  10468. description: configMap information about the
  10469. configMap data to project
  10470. properties:
  10471. items:
  10472. description: |-
  10473. items if unspecified, each key-value pair in the Data field of the referenced
  10474. ConfigMap will be projected into the volume as a file whose name is the
  10475. key and content is the value. If specified, the listed keys will be
  10476. projected into the specified paths, and unlisted keys will not be
  10477. present. If a key is specified which is not present in the ConfigMap,
  10478. the volume setup will error unless it is marked optional. Paths must be
  10479. relative and may not contain the '..' path or start with '..'.
  10480. items:
  10481. description: Maps a string key to a
  10482. path within a volume.
  10483. properties:
  10484. key:
  10485. description: key is the key to project.
  10486. type: string
  10487. mode:
  10488. description: |-
  10489. mode is Optional: mode bits used to set permissions on this file.
  10490. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  10491. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  10492. If not specified, the volume defaultMode will be used.
  10493. This might be in conflict with other options that affect the file
  10494. mode, like fsGroup, and the result can be other mode bits set.
  10495. format: int32
  10496. type: integer
  10497. path:
  10498. description: |-
  10499. path is the relative path of the file to map the key to.
  10500. May not be an absolute path.
  10501. May not contain the path element '..'.
  10502. May not start with the string '..'.
  10503. type: string
  10504. required:
  10505. - key
  10506. - path
  10507. type: object
  10508. type: array
  10509. x-kubernetes-list-type: atomic
  10510. name:
  10511. default: ""
  10512. description: |-
  10513. Name of the referent.
  10514. This field is effectively required, but due to backwards compatibility is
  10515. allowed to be empty. Instances of this type with an empty value here are
  10516. almost certainly wrong.
  10517. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10518. type: string
  10519. optional:
  10520. description: optional specify whether
  10521. the ConfigMap or its keys must be defined
  10522. type: boolean
  10523. type: object
  10524. x-kubernetes-map-type: atomic
  10525. downwardAPI:
  10526. description: downwardAPI information about
  10527. the downwardAPI data to project
  10528. properties:
  10529. items:
  10530. description: Items is a list of DownwardAPIVolume
  10531. file
  10532. items:
  10533. description: DownwardAPIVolumeFile represents
  10534. information to create the file containing
  10535. the pod field
  10536. properties:
  10537. fieldRef:
  10538. description: 'Required: Selects
  10539. a field of the pod: only annotations,
  10540. labels, name, namespace and uid
  10541. are supported.'
  10542. properties:
  10543. apiVersion:
  10544. description: Version of the
  10545. schema the FieldPath is written
  10546. in terms of, defaults to "v1".
  10547. type: string
  10548. fieldPath:
  10549. description: Path of the field
  10550. to select in the specified
  10551. API version.
  10552. type: string
  10553. required:
  10554. - fieldPath
  10555. type: object
  10556. x-kubernetes-map-type: atomic
  10557. mode:
  10558. description: |-
  10559. Optional: mode bits used to set permissions on this file, must be an octal value
  10560. between 0000 and 0777 or a decimal value between 0 and 511.
  10561. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  10562. If not specified, the volume defaultMode will be used.
  10563. This might be in conflict with other options that affect the file
  10564. mode, like fsGroup, and the result can be other mode bits set.
  10565. format: int32
  10566. type: integer
  10567. path:
  10568. description: 'Required: Path is the
  10569. relative path name of the file
  10570. to be created. Must not be absolute
  10571. or contain the ''..'' path. Must
  10572. be utf-8 encoded. The first item
  10573. of the relative path must not
  10574. start with ''..'''
  10575. type: string
  10576. resourceFieldRef:
  10577. description: |-
  10578. Selects a resource of the container: only resources limits and requests
  10579. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  10580. properties:
  10581. containerName:
  10582. description: 'Container name:
  10583. required for volumes, optional
  10584. for env vars'
  10585. type: string
  10586. divisor:
  10587. anyOf:
  10588. - type: integer
  10589. - type: string
  10590. description: Specifies the output
  10591. format of the exposed resources,
  10592. defaults to "1"
  10593. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10594. x-kubernetes-int-or-string: true
  10595. resource:
  10596. description: 'Required: resource
  10597. to select'
  10598. type: string
  10599. required:
  10600. - resource
  10601. type: object
  10602. x-kubernetes-map-type: atomic
  10603. required:
  10604. - path
  10605. type: object
  10606. type: array
  10607. x-kubernetes-list-type: atomic
  10608. type: object
  10609. podCertificate:
  10610. description: |-
  10611. Projects an auto-rotating credential bundle (private key and certificate
  10612. chain) that the pod can use either as a TLS client or server.
  10613. Kubelet generates a private key and uses it to send a
  10614. PodCertificateRequest to the named signer. Once the signer approves the
  10615. request and issues a certificate chain, Kubelet writes the key and
  10616. certificate chain to the pod filesystem. The pod does not start until
  10617. certificates have been issued for each podCertificate projected volume
  10618. source in its spec.
  10619. Kubelet will begin trying to rotate the certificate at the time indicated
  10620. by the signer using the PodCertificateRequest.Status.BeginRefreshAt
  10621. timestamp.
  10622. Kubelet can write a single file, indicated by the credentialBundlePath
  10623. field, or separate files, indicated by the keyPath and
  10624. certificateChainPath fields.
  10625. The credential bundle is a single file in PEM format. The first PEM
  10626. entry is the private key (in PKCS#8 format), and the remaining PEM
  10627. entries are the certificate chain issued by the signer (typically,
  10628. signers will return their certificate chain in leaf-to-root order).
  10629. Prefer using the credential bundle format, since your application code
  10630. can read it atomically. If you use keyPath and certificateChainPath,
  10631. your application must make two separate file reads. If these coincide
  10632. with a certificate rotation, it is possible that the private key and leaf
  10633. certificate you read may not correspond to each other. Your application
  10634. will need to check for this condition, and re-read until they are
  10635. consistent.
  10636. The named signer controls chooses the format of the certificate it
  10637. issues; consult the signer implementation's documentation to learn how to
  10638. use the certificates it issues.
  10639. properties:
  10640. certificateChainPath:
  10641. description: |-
  10642. Write the certificate chain at this path in the projected volume.
  10643. Most applications should use credentialBundlePath. When using keyPath
  10644. and certificateChainPath, your application needs to check that the key
  10645. and leaf certificate are consistent, because it is possible to read the
  10646. files mid-rotation.
  10647. type: string
  10648. credentialBundlePath:
  10649. description: |-
  10650. Write the credential bundle at this path in the projected volume.
  10651. The credential bundle is a single file that contains multiple PEM blocks.
  10652. The first PEM block is a PRIVATE KEY block, containing a PKCS#8 private
  10653. key.
  10654. The remaining blocks are CERTIFICATE blocks, containing the issued
  10655. certificate chain from the signer (leaf and any intermediates).
  10656. Using credentialBundlePath lets your Pod's application code make a single
  10657. atomic read that retrieves a consistent key and certificate chain. If you
  10658. project them to separate files, your application code will need to
  10659. additionally check that the leaf certificate was issued to the key.
  10660. type: string
  10661. keyPath:
  10662. description: |-
  10663. Write the key at this path in the projected volume.
  10664. Most applications should use credentialBundlePath. When using keyPath
  10665. and certificateChainPath, your application needs to check that the key
  10666. and leaf certificate are consistent, because it is possible to read the
  10667. files mid-rotation.
  10668. type: string
  10669. keyType:
  10670. description: |-
  10671. The type of keypair Kubelet will generate for the pod.
  10672. Valid values are "RSA3072", "RSA4096", "ECDSAP256", "ECDSAP384",
  10673. "ECDSAP521", and "ED25519".
  10674. type: string
  10675. maxExpirationSeconds:
  10676. description: |-
  10677. maxExpirationSeconds is the maximum lifetime permitted for the
  10678. certificate.
  10679. Kubelet copies this value verbatim into the PodCertificateRequests it
  10680. generates for this projection.
  10681. If omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver
  10682. will reject values shorter than 3600 (1 hour). The maximum allowable
  10683. value is 7862400 (91 days).
  10684. The signer implementation is then free to issue a certificate with any
  10685. lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600
  10686. seconds (1 hour). This constraint is enforced by kube-apiserver.
  10687. `kubernetes.io` signers will never issue certificates with a lifetime
  10688. longer than 24 hours.
  10689. format: int32
  10690. type: integer
  10691. signerName:
  10692. description: Kubelet's generated CSRs
  10693. will be addressed to this signer.
  10694. type: string
  10695. userAnnotations:
  10696. additionalProperties:
  10697. type: string
  10698. description: |-
  10699. userAnnotations allow pod authors to pass additional information to
  10700. the signer implementation. Kubernetes does not restrict or validate this
  10701. metadata in any way.
  10702. These values are copied verbatim into the `spec.unverifiedUserAnnotations` field of
  10703. the PodCertificateRequest objects that Kubelet creates.
  10704. Entries are subject to the same validation as object metadata annotations,
  10705. with the addition that all keys must be domain-prefixed. No restrictions
  10706. are placed on values, except an overall size limitation on the entire field.
  10707. Signers should document the keys and values they support. Signers should
  10708. deny requests that contain keys they do not recognize.
  10709. type: object
  10710. required:
  10711. - keyType
  10712. - signerName
  10713. type: object
  10714. secret:
  10715. description: secret information about the
  10716. secret data to project
  10717. properties:
  10718. items:
  10719. description: |-
  10720. items if unspecified, each key-value pair in the Data field of the referenced
  10721. Secret will be projected into the volume as a file whose name is the
  10722. key and content is the value. If specified, the listed keys will be
  10723. projected into the specified paths, and unlisted keys will not be
  10724. present. If a key is specified which is not present in the Secret,
  10725. the volume setup will error unless it is marked optional. Paths must be
  10726. relative and may not contain the '..' path or start with '..'.
  10727. items:
  10728. description: Maps a string key to a
  10729. path within a volume.
  10730. properties:
  10731. key:
  10732. description: key is the key to project.
  10733. type: string
  10734. mode:
  10735. description: |-
  10736. mode is Optional: mode bits used to set permissions on this file.
  10737. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  10738. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  10739. If not specified, the volume defaultMode will be used.
  10740. This might be in conflict with other options that affect the file
  10741. mode, like fsGroup, and the result can be other mode bits set.
  10742. format: int32
  10743. type: integer
  10744. path:
  10745. description: |-
  10746. path is the relative path of the file to map the key to.
  10747. May not be an absolute path.
  10748. May not contain the path element '..'.
  10749. May not start with the string '..'.
  10750. type: string
  10751. required:
  10752. - key
  10753. - path
  10754. type: object
  10755. type: array
  10756. x-kubernetes-list-type: atomic
  10757. name:
  10758. default: ""
  10759. description: |-
  10760. Name of the referent.
  10761. This field is effectively required, but due to backwards compatibility is
  10762. allowed to be empty. Instances of this type with an empty value here are
  10763. almost certainly wrong.
  10764. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10765. type: string
  10766. optional:
  10767. description: optional field specify whether
  10768. the Secret or its key must be defined
  10769. type: boolean
  10770. type: object
  10771. x-kubernetes-map-type: atomic
  10772. serviceAccountToken:
  10773. description: serviceAccountToken is information
  10774. about the serviceAccountToken data to project
  10775. properties:
  10776. audience:
  10777. description: |-
  10778. audience is the intended audience of the token. A recipient of a token
  10779. must identify itself with an identifier specified in the audience of the
  10780. token, and otherwise should reject the token. The audience defaults to the
  10781. identifier of the apiserver.
  10782. type: string
  10783. expirationSeconds:
  10784. description: |-
  10785. expirationSeconds is the requested duration of validity of the service
  10786. account token. As the token approaches expiration, the kubelet volume
  10787. plugin will proactively rotate the service account token. The kubelet will
  10788. start trying to rotate the token if the token is older than 80 percent of
  10789. its time to live or if the token is older than 24 hours.Defaults to 1 hour
  10790. and must be at least 10 minutes.
  10791. format: int64
  10792. type: integer
  10793. path:
  10794. description: |-
  10795. path is the path relative to the mount point of the file to project the
  10796. token into.
  10797. type: string
  10798. required:
  10799. - path
  10800. type: object
  10801. type: object
  10802. type: array
  10803. x-kubernetes-list-type: atomic
  10804. type: object
  10805. quobyte:
  10806. description: |-
  10807. quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
  10808. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
  10809. properties:
  10810. group:
  10811. description: |-
  10812. group to map volume access to
  10813. Default is no group
  10814. type: string
  10815. readOnly:
  10816. description: |-
  10817. readOnly here will force the Quobyte volume to be mounted with read-only permissions.
  10818. Defaults to false.
  10819. type: boolean
  10820. registry:
  10821. description: |-
  10822. registry represents a single or multiple Quobyte Registry services
  10823. specified as a string as host:port pair (multiple entries are separated with commas)
  10824. which acts as the central registry for volumes
  10825. type: string
  10826. tenant:
  10827. description: |-
  10828. tenant owning the given Quobyte volume in the Backend
  10829. Used with dynamically provisioned Quobyte volumes, value is set by the plugin
  10830. type: string
  10831. user:
  10832. description: |-
  10833. user to map volume access to
  10834. Defaults to serivceaccount user
  10835. type: string
  10836. volume:
  10837. description: volume is a string that references
  10838. an already created Quobyte volume by name.
  10839. type: string
  10840. required:
  10841. - registry
  10842. - volume
  10843. type: object
  10844. rbd:
  10845. description: |-
  10846. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
  10847. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
  10848. properties:
  10849. fsType:
  10850. description: |-
  10851. fsType is the filesystem type of the volume that you want to mount.
  10852. Tip: Ensure that the filesystem type is supported by the host operating system.
  10853. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10854. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  10855. type: string
  10856. image:
  10857. description: |-
  10858. image is the rados image name.
  10859. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10860. type: string
  10861. keyring:
  10862. default: /etc/ceph/keyring
  10863. description: |-
  10864. keyring is the path to key ring for RBDUser.
  10865. Default is /etc/ceph/keyring.
  10866. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10867. type: string
  10868. monitors:
  10869. description: |-
  10870. monitors is a collection of Ceph monitors.
  10871. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10872. items:
  10873. type: string
  10874. type: array
  10875. x-kubernetes-list-type: atomic
  10876. pool:
  10877. default: rbd
  10878. description: |-
  10879. pool is the rados pool name.
  10880. Default is rbd.
  10881. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10882. type: string
  10883. readOnly:
  10884. description: |-
  10885. readOnly here will force the ReadOnly setting in VolumeMounts.
  10886. Defaults to false.
  10887. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10888. type: boolean
  10889. secretRef:
  10890. description: |-
  10891. secretRef is name of the authentication secret for RBDUser. If provided
  10892. overrides keyring.
  10893. Default is nil.
  10894. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10895. properties:
  10896. name:
  10897. default: ""
  10898. description: |-
  10899. Name of the referent.
  10900. This field is effectively required, but due to backwards compatibility is
  10901. allowed to be empty. Instances of this type with an empty value here are
  10902. almost certainly wrong.
  10903. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10904. type: string
  10905. type: object
  10906. x-kubernetes-map-type: atomic
  10907. user:
  10908. default: admin
  10909. description: |-
  10910. user is the rados user name.
  10911. Default is admin.
  10912. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10913. type: string
  10914. required:
  10915. - image
  10916. - monitors
  10917. type: object
  10918. scaleIO:
  10919. description: |-
  10920. scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
  10921. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
  10922. properties:
  10923. fsType:
  10924. default: xfs
  10925. description: |-
  10926. fsType is the filesystem type to mount.
  10927. Must be a filesystem type supported by the host operating system.
  10928. Ex. "ext4", "xfs", "ntfs".
  10929. Default is "xfs".
  10930. type: string
  10931. gateway:
  10932. description: gateway is the host address of the
  10933. ScaleIO API Gateway.
  10934. type: string
  10935. protectionDomain:
  10936. description: protectionDomain is the name of the
  10937. ScaleIO Protection Domain for the configured storage.
  10938. type: string
  10939. readOnly:
  10940. description: |-
  10941. readOnly Defaults to false (read/write). ReadOnly here will force
  10942. the ReadOnly setting in VolumeMounts.
  10943. type: boolean
  10944. secretRef:
  10945. description: |-
  10946. secretRef references to the secret for ScaleIO user and other
  10947. sensitive information. If this is not provided, Login operation will fail.
  10948. properties:
  10949. name:
  10950. default: ""
  10951. description: |-
  10952. Name of the referent.
  10953. This field is effectively required, but due to backwards compatibility is
  10954. allowed to be empty. Instances of this type with an empty value here are
  10955. almost certainly wrong.
  10956. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10957. type: string
  10958. type: object
  10959. x-kubernetes-map-type: atomic
  10960. sslEnabled:
  10961. description: sslEnabled Flag enable/disable SSL
  10962. communication with Gateway, default false
  10963. type: boolean
  10964. storageMode:
  10965. default: ThinProvisioned
  10966. description: |-
  10967. storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
  10968. Default is ThinProvisioned.
  10969. type: string
  10970. storagePool:
  10971. description: storagePool is the ScaleIO Storage
  10972. Pool associated with the protection domain.
  10973. type: string
  10974. system:
  10975. description: system is the name of the storage system
  10976. as configured in ScaleIO.
  10977. type: string
  10978. volumeName:
  10979. description: |-
  10980. volumeName is the name of a volume already created in the ScaleIO system
  10981. that is associated with this volume source.
  10982. type: string
  10983. required:
  10984. - gateway
  10985. - secretRef
  10986. - system
  10987. type: object
  10988. secret:
  10989. description: |-
  10990. secret represents a secret that should populate this volume.
  10991. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  10992. properties:
  10993. defaultMode:
  10994. description: |-
  10995. defaultMode is Optional: mode bits used to set permissions on created files by default.
  10996. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  10997. YAML accepts both octal and decimal values, JSON requires decimal values
  10998. for mode bits. Defaults to 0644.
  10999. Directories within the path are not affected by this setting.
  11000. This might be in conflict with other options that affect the file
  11001. mode, like fsGroup, and the result can be other mode bits set.
  11002. format: int32
  11003. type: integer
  11004. items:
  11005. description: |-
  11006. items If unspecified, each key-value pair in the Data field of the referenced
  11007. Secret will be projected into the volume as a file whose name is the
  11008. key and content is the value. If specified, the listed keys will be
  11009. projected into the specified paths, and unlisted keys will not be
  11010. present. If a key is specified which is not present in the Secret,
  11011. the volume setup will error unless it is marked optional. Paths must be
  11012. relative and may not contain the '..' path or start with '..'.
  11013. items:
  11014. description: Maps a string key to a path within
  11015. a volume.
  11016. properties:
  11017. key:
  11018. description: key is the key to project.
  11019. type: string
  11020. mode:
  11021. description: |-
  11022. mode is Optional: mode bits used to set permissions on this file.
  11023. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  11024. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  11025. If not specified, the volume defaultMode will be used.
  11026. This might be in conflict with other options that affect the file
  11027. mode, like fsGroup, and the result can be other mode bits set.
  11028. format: int32
  11029. type: integer
  11030. path:
  11031. description: |-
  11032. path is the relative path of the file to map the key to.
  11033. May not be an absolute path.
  11034. May not contain the path element '..'.
  11035. May not start with the string '..'.
  11036. type: string
  11037. required:
  11038. - key
  11039. - path
  11040. type: object
  11041. type: array
  11042. x-kubernetes-list-type: atomic
  11043. optional:
  11044. description: optional field specify whether the
  11045. Secret or its keys must be defined
  11046. type: boolean
  11047. secretName:
  11048. description: |-
  11049. secretName is the name of the secret in the pod's namespace to use.
  11050. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  11051. type: string
  11052. type: object
  11053. storageos:
  11054. description: |-
  11055. storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
  11056. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
  11057. properties:
  11058. fsType:
  11059. description: |-
  11060. fsType is the filesystem type to mount.
  11061. Must be a filesystem type supported by the host operating system.
  11062. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  11063. type: string
  11064. readOnly:
  11065. description: |-
  11066. readOnly defaults to false (read/write). ReadOnly here will force
  11067. the ReadOnly setting in VolumeMounts.
  11068. type: boolean
  11069. secretRef:
  11070. description: |-
  11071. secretRef specifies the secret to use for obtaining the StorageOS API
  11072. credentials. If not specified, default values will be attempted.
  11073. properties:
  11074. name:
  11075. default: ""
  11076. description: |-
  11077. Name of the referent.
  11078. This field is effectively required, but due to backwards compatibility is
  11079. allowed to be empty. Instances of this type with an empty value here are
  11080. almost certainly wrong.
  11081. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11082. type: string
  11083. type: object
  11084. x-kubernetes-map-type: atomic
  11085. volumeName:
  11086. description: |-
  11087. volumeName is the human-readable name of the StorageOS volume. Volume
  11088. names are only unique within a namespace.
  11089. type: string
  11090. volumeNamespace:
  11091. description: |-
  11092. volumeNamespace specifies the scope of the volume within StorageOS. If no
  11093. namespace is specified then the Pod's namespace will be used. This allows the
  11094. Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
  11095. Set VolumeName to any name to override the default behaviour.
  11096. Set to "default" if you are not using namespaces within StorageOS.
  11097. Namespaces that do not pre-exist within StorageOS will be created.
  11098. type: string
  11099. type: object
  11100. vsphereVolume:
  11101. description: |-
  11102. vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
  11103. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
  11104. are redirected to the csi.vsphere.vmware.com CSI driver.
  11105. properties:
  11106. fsType:
  11107. description: |-
  11108. fsType is filesystem type to mount.
  11109. Must be a filesystem type supported by the host operating system.
  11110. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  11111. type: string
  11112. storagePolicyID:
  11113. description: storagePolicyID is the storage Policy
  11114. Based Management (SPBM) profile ID associated
  11115. with the StoragePolicyName.
  11116. type: string
  11117. storagePolicyName:
  11118. description: storagePolicyName is the storage Policy
  11119. Based Management (SPBM) profile name.
  11120. type: string
  11121. volumePath:
  11122. description: volumePath is the path that identifies
  11123. vSphere volume vmdk
  11124. type: string
  11125. required:
  11126. - volumePath
  11127. type: object
  11128. required:
  11129. - name
  11130. type: object
  11131. type: array
  11132. type: object
  11133. required:
  11134. - name
  11135. type: object
  11136. type: object
  11137. status:
  11138. description: status defines the observed state of ManagedKnowledgeBase
  11139. properties:
  11140. conditions:
  11141. description: |-
  11142. conditions represent the current state of the ManagedKnowledgeBase resource.
  11143. Each condition has a unique type and reflects the status of a specific aspect of the resource.
  11144. Standard condition types include:
  11145. - "Available": the resource is fully functional
  11146. - "Progressing": the resource is being created or updated
  11147. - "Degraded": the resource failed to reach or maintain its desired state
  11148. The status of each condition is one of True, False, or Unknown.
  11149. items:
  11150. description: Condition contains details for one aspect of the current
  11151. state of this API Resource.
  11152. properties:
  11153. lastTransitionTime:
  11154. description: |-
  11155. lastTransitionTime is the last time the condition transitioned from one status to another.
  11156. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
  11157. format: date-time
  11158. type: string
  11159. message:
  11160. description: |-
  11161. message is a human readable message indicating details about the transition.
  11162. This may be an empty string.
  11163. maxLength: 32768
  11164. type: string
  11165. observedGeneration:
  11166. description: |-
  11167. observedGeneration represents the .metadata.generation that the condition was set based upon.
  11168. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
  11169. with respect to the current state of the instance.
  11170. format: int64
  11171. minimum: 0
  11172. type: integer
  11173. reason:
  11174. description: |-
  11175. reason contains a programmatic identifier indicating the reason for the condition's last transition.
  11176. Producers of specific condition types may define expected values and meanings for this field,
  11177. and whether the values are considered a guaranteed API.
  11178. The value should be a CamelCase string.
  11179. This field may not be empty.
  11180. maxLength: 1024
  11181. minLength: 1
  11182. pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  11183. type: string
  11184. status:
  11185. description: status of the condition, one of True, False, Unknown.
  11186. enum:
  11187. - "True"
  11188. - "False"
  11189. - Unknown
  11190. type: string
  11191. type:
  11192. description: type of condition in CamelCase or in foo.example.com/CamelCase.
  11193. maxLength: 316
  11194. pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
  11195. type: string
  11196. required:
  11197. - lastTransitionTime
  11198. - message
  11199. - reason
  11200. - status
  11201. - type
  11202. type: object
  11203. type: array
  11204. x-kubernetes-list-map-keys:
  11205. - type
  11206. x-kubernetes-list-type: map
  11207. endpoint:
  11208. description: endpoint is the URL where the tool can be accessed for
  11209. MCP requests.
  11210. type: string
  11211. observedGeneration:
  11212. description: observedGeneration is the .metadata.generation last reconciled.
  11213. format: int64
  11214. type: integer
  11215. type: object
  11216. required:
  11217. - spec
  11218. type: object
  11219. served: true
  11220. storage: true
  11221. subresources:
  11222. status: {}