locostack.com_managedknowledgebases.yaml 741 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597
  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. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  355. items:
  356. type: string
  357. type: array
  358. x-kubernetes-list-type: atomic
  359. mismatchLabelKeys:
  360. description: |-
  361. MismatchLabelKeys is a set of pod label keys to select which pods will
  362. be taken into consideration. The keys are used to lookup values from the
  363. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  364. to select the group of existing pods which pods will be taken into consideration
  365. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  366. pod labels will be ignored. The default value is empty.
  367. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  368. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  369. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  370. items:
  371. type: string
  372. type: array
  373. x-kubernetes-list-type: atomic
  374. namespaceSelector:
  375. description: |-
  376. A label query over the set of namespaces that the term applies to.
  377. The term is applied to the union of the namespaces selected by this field
  378. and the ones listed in the namespaces field.
  379. null selector and null or empty namespaces list means "this pod's namespace".
  380. An empty selector ({}) matches all namespaces.
  381. properties:
  382. matchExpressions:
  383. description: matchExpressions is a list
  384. of label selector requirements. The
  385. requirements are ANDed.
  386. items:
  387. description: |-
  388. A label selector requirement is a selector that contains values, a key, and an operator that
  389. relates the key and values.
  390. properties:
  391. key:
  392. description: key is the label
  393. key that the selector applies
  394. to.
  395. type: string
  396. operator:
  397. description: |-
  398. operator represents a key's relationship to a set of values.
  399. Valid operators are In, NotIn, Exists and DoesNotExist.
  400. type: string
  401. values:
  402. description: |-
  403. values is an array of string values. If the operator is In or NotIn,
  404. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  405. the values array must be empty. This array is replaced during a strategic
  406. merge patch.
  407. items:
  408. type: string
  409. type: array
  410. x-kubernetes-list-type: atomic
  411. required:
  412. - key
  413. - operator
  414. type: object
  415. type: array
  416. x-kubernetes-list-type: atomic
  417. matchLabels:
  418. additionalProperties:
  419. type: string
  420. description: |-
  421. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  422. map is equivalent to an element of matchExpressions, whose key field is "key", the
  423. operator is "In", and the values array contains only "value". The requirements are ANDed.
  424. type: object
  425. type: object
  426. x-kubernetes-map-type: atomic
  427. namespaces:
  428. description: |-
  429. namespaces specifies a static list of namespace names that the term applies to.
  430. The term is applied to the union of the namespaces listed in this field
  431. and the ones selected by namespaceSelector.
  432. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  433. items:
  434. type: string
  435. type: array
  436. x-kubernetes-list-type: atomic
  437. topologyKey:
  438. description: |-
  439. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  440. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  441. whose value of the label with key topologyKey matches that of any node on which any of the
  442. selected pods is running.
  443. Empty topologyKey is not allowed.
  444. type: string
  445. required:
  446. - topologyKey
  447. type: object
  448. weight:
  449. description: |-
  450. weight associated with matching the corresponding podAffinityTerm,
  451. in the range 1-100.
  452. format: int32
  453. type: integer
  454. required:
  455. - podAffinityTerm
  456. - weight
  457. type: object
  458. type: array
  459. x-kubernetes-list-type: atomic
  460. requiredDuringSchedulingIgnoredDuringExecution:
  461. description: |-
  462. If the affinity requirements specified by this field are not met at
  463. scheduling time, the pod will not be scheduled onto the node.
  464. If the affinity requirements specified by this field cease to be met
  465. at some point during pod execution (e.g. due to a pod label update), the
  466. system may or may not try to eventually evict the pod from its node.
  467. When there are multiple elements, the lists of nodes corresponding to each
  468. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  469. items:
  470. description: |-
  471. Defines a set of pods (namely those matching the labelSelector
  472. relative to the given namespace(s)) that this pod should be
  473. co-located (affinity) or not co-located (anti-affinity) with,
  474. where co-located is defined as running on a node whose value of
  475. the label with key <topologyKey> matches that of any node on which
  476. a pod of the set of pods is running
  477. properties:
  478. labelSelector:
  479. description: |-
  480. A label query over a set of resources, in this case pods.
  481. If it's null, this PodAffinityTerm matches with no Pods.
  482. properties:
  483. matchExpressions:
  484. description: matchExpressions is a list
  485. of label selector requirements. The requirements
  486. are ANDed.
  487. items:
  488. description: |-
  489. A label selector requirement is a selector that contains values, a key, and an operator that
  490. relates the key and values.
  491. properties:
  492. key:
  493. description: key is the label key
  494. that the selector applies to.
  495. type: string
  496. operator:
  497. description: |-
  498. operator represents a key's relationship to a set of values.
  499. Valid operators are In, NotIn, Exists and DoesNotExist.
  500. type: string
  501. values:
  502. description: |-
  503. values is an array of string values. If the operator is In or NotIn,
  504. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  505. the values array must be empty. This array is replaced during a strategic
  506. merge patch.
  507. items:
  508. type: string
  509. type: array
  510. x-kubernetes-list-type: atomic
  511. required:
  512. - key
  513. - operator
  514. type: object
  515. type: array
  516. x-kubernetes-list-type: atomic
  517. matchLabels:
  518. additionalProperties:
  519. type: string
  520. description: |-
  521. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  522. map is equivalent to an element of matchExpressions, whose key field is "key", the
  523. operator is "In", and the values array contains only "value". The requirements are ANDed.
  524. type: object
  525. type: object
  526. x-kubernetes-map-type: atomic
  527. matchLabelKeys:
  528. description: |-
  529. MatchLabelKeys is a set of pod label keys to select which pods will
  530. be taken into consideration. The keys are used to lookup values from the
  531. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  532. to select the group of existing pods which pods will be taken into consideration
  533. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  534. pod labels will be ignored. The default value is empty.
  535. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  536. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  537. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  538. items:
  539. type: string
  540. type: array
  541. x-kubernetes-list-type: atomic
  542. mismatchLabelKeys:
  543. description: |-
  544. MismatchLabelKeys is a set of pod label keys to select which pods will
  545. be taken into consideration. The keys are used to lookup values from the
  546. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  547. to select the group of existing pods which pods will be taken into consideration
  548. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  549. pod labels will be ignored. The default value is empty.
  550. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  551. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  552. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  553. items:
  554. type: string
  555. type: array
  556. x-kubernetes-list-type: atomic
  557. namespaceSelector:
  558. description: |-
  559. A label query over the set of namespaces that the term applies to.
  560. The term is applied to the union of the namespaces selected by this field
  561. and the ones listed in the namespaces field.
  562. null selector and null or empty namespaces list means "this pod's namespace".
  563. An empty selector ({}) matches all namespaces.
  564. properties:
  565. matchExpressions:
  566. description: matchExpressions is a list
  567. of label selector requirements. The requirements
  568. are ANDed.
  569. items:
  570. description: |-
  571. A label selector requirement is a selector that contains values, a key, and an operator that
  572. relates the key and values.
  573. properties:
  574. key:
  575. description: key is the label key
  576. that the selector applies to.
  577. type: string
  578. operator:
  579. description: |-
  580. operator represents a key's relationship to a set of values.
  581. Valid operators are In, NotIn, Exists and DoesNotExist.
  582. type: string
  583. values:
  584. description: |-
  585. values is an array of string values. If the operator is In or NotIn,
  586. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  587. the values array must be empty. This array is replaced during a strategic
  588. merge patch.
  589. items:
  590. type: string
  591. type: array
  592. x-kubernetes-list-type: atomic
  593. required:
  594. - key
  595. - operator
  596. type: object
  597. type: array
  598. x-kubernetes-list-type: atomic
  599. matchLabels:
  600. additionalProperties:
  601. type: string
  602. description: |-
  603. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  604. map is equivalent to an element of matchExpressions, whose key field is "key", the
  605. operator is "In", and the values array contains only "value". The requirements are ANDed.
  606. type: object
  607. type: object
  608. x-kubernetes-map-type: atomic
  609. namespaces:
  610. description: |-
  611. namespaces specifies a static list of namespace names that the term applies to.
  612. The term is applied to the union of the namespaces listed in this field
  613. and the ones selected by namespaceSelector.
  614. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  615. items:
  616. type: string
  617. type: array
  618. x-kubernetes-list-type: atomic
  619. topologyKey:
  620. description: |-
  621. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  622. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  623. whose value of the label with key topologyKey matches that of any node on which any of the
  624. selected pods is running.
  625. Empty topologyKey is not allowed.
  626. type: string
  627. required:
  628. - topologyKey
  629. type: object
  630. type: array
  631. x-kubernetes-list-type: atomic
  632. type: object
  633. podAntiAffinity:
  634. description: Describes pod anti-affinity scheduling rules
  635. (e.g. avoid putting this pod in the same node, zone,
  636. etc. as some other pod(s)).
  637. properties:
  638. preferredDuringSchedulingIgnoredDuringExecution:
  639. description: |-
  640. The scheduler will prefer to schedule pods to nodes that satisfy
  641. the anti-affinity expressions specified by this field, but it may choose
  642. a node that violates one or more of the expressions. The node that is
  643. most preferred is the one with the greatest sum of weights, i.e.
  644. for each node that meets all of the scheduling requirements (resource
  645. request, requiredDuringScheduling anti-affinity expressions, etc.),
  646. compute a sum by iterating through the elements of this field and adding
  647. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  648. node(s) with the highest sum are the most preferred.
  649. items:
  650. description: The weights of all of the matched WeightedPodAffinityTerm
  651. fields are added per-node to find the most preferred
  652. node(s)
  653. properties:
  654. podAffinityTerm:
  655. description: Required. A pod affinity term,
  656. associated with the corresponding weight.
  657. properties:
  658. labelSelector:
  659. description: |-
  660. A label query over a set of resources, in this case pods.
  661. If it's null, this PodAffinityTerm matches with no Pods.
  662. properties:
  663. matchExpressions:
  664. description: matchExpressions is a list
  665. of label selector requirements. The
  666. requirements are ANDed.
  667. items:
  668. description: |-
  669. A label selector requirement is a selector that contains values, a key, and an operator that
  670. relates the key and values.
  671. properties:
  672. key:
  673. description: key is the label
  674. key that the selector applies
  675. to.
  676. type: string
  677. operator:
  678. description: |-
  679. operator represents a key's relationship to a set of values.
  680. Valid operators are In, NotIn, Exists and DoesNotExist.
  681. type: string
  682. values:
  683. description: |-
  684. values is an array of string values. If the operator is In or NotIn,
  685. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  686. the values array must be empty. This array is replaced during a strategic
  687. merge patch.
  688. items:
  689. type: string
  690. type: array
  691. x-kubernetes-list-type: atomic
  692. required:
  693. - key
  694. - operator
  695. type: object
  696. type: array
  697. x-kubernetes-list-type: atomic
  698. matchLabels:
  699. additionalProperties:
  700. type: string
  701. description: |-
  702. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  703. map is equivalent to an element of matchExpressions, whose key field is "key", the
  704. operator is "In", and the values array contains only "value". The requirements are ANDed.
  705. type: object
  706. type: object
  707. x-kubernetes-map-type: atomic
  708. matchLabelKeys:
  709. description: |-
  710. MatchLabelKeys is a set of pod label keys to select which pods will
  711. be taken into consideration. The keys are used to lookup values from the
  712. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  713. to select the group of existing pods which pods will be taken into consideration
  714. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  715. pod labels will be ignored. The default value is empty.
  716. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  717. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  718. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  719. items:
  720. type: string
  721. type: array
  722. x-kubernetes-list-type: atomic
  723. mismatchLabelKeys:
  724. description: |-
  725. MismatchLabelKeys is a set of pod label keys to select which pods will
  726. be taken into consideration. The keys are used to lookup values from the
  727. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  728. to select the group of existing pods which pods will be taken into consideration
  729. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  730. pod labels will be ignored. The default value is empty.
  731. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  732. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  733. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  734. items:
  735. type: string
  736. type: array
  737. x-kubernetes-list-type: atomic
  738. namespaceSelector:
  739. description: |-
  740. A label query over the set of namespaces that the term applies to.
  741. The term is applied to the union of the namespaces selected by this field
  742. and the ones listed in the namespaces field.
  743. null selector and null or empty namespaces list means "this pod's namespace".
  744. An empty selector ({}) matches all namespaces.
  745. properties:
  746. matchExpressions:
  747. description: matchExpressions is a list
  748. of label selector requirements. The
  749. requirements are ANDed.
  750. items:
  751. description: |-
  752. A label selector requirement is a selector that contains values, a key, and an operator that
  753. relates the key and values.
  754. properties:
  755. key:
  756. description: key is the label
  757. key that the selector applies
  758. to.
  759. type: string
  760. operator:
  761. description: |-
  762. operator represents a key's relationship to a set of values.
  763. Valid operators are In, NotIn, Exists and DoesNotExist.
  764. type: string
  765. values:
  766. description: |-
  767. values is an array of string values. If the operator is In or NotIn,
  768. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  769. the values array must be empty. This array is replaced during a strategic
  770. merge patch.
  771. items:
  772. type: string
  773. type: array
  774. x-kubernetes-list-type: atomic
  775. required:
  776. - key
  777. - operator
  778. type: object
  779. type: array
  780. x-kubernetes-list-type: atomic
  781. matchLabels:
  782. additionalProperties:
  783. type: string
  784. description: |-
  785. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  786. map is equivalent to an element of matchExpressions, whose key field is "key", the
  787. operator is "In", and the values array contains only "value". The requirements are ANDed.
  788. type: object
  789. type: object
  790. x-kubernetes-map-type: atomic
  791. namespaces:
  792. description: |-
  793. namespaces specifies a static list of namespace names that the term applies to.
  794. The term is applied to the union of the namespaces listed in this field
  795. and the ones selected by namespaceSelector.
  796. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  797. items:
  798. type: string
  799. type: array
  800. x-kubernetes-list-type: atomic
  801. topologyKey:
  802. description: |-
  803. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  804. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  805. whose value of the label with key topologyKey matches that of any node on which any of the
  806. selected pods is running.
  807. Empty topologyKey is not allowed.
  808. type: string
  809. required:
  810. - topologyKey
  811. type: object
  812. weight:
  813. description: |-
  814. weight associated with matching the corresponding podAffinityTerm,
  815. in the range 1-100.
  816. format: int32
  817. type: integer
  818. required:
  819. - podAffinityTerm
  820. - weight
  821. type: object
  822. type: array
  823. x-kubernetes-list-type: atomic
  824. requiredDuringSchedulingIgnoredDuringExecution:
  825. description: |-
  826. If the anti-affinity requirements specified by this field are not met at
  827. scheduling time, the pod will not be scheduled onto the node.
  828. If the anti-affinity requirements specified by this field cease to be met
  829. at some point during pod execution (e.g. due to a pod label update), the
  830. system may or may not try to eventually evict the pod from its node.
  831. When there are multiple elements, the lists of nodes corresponding to each
  832. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  833. items:
  834. description: |-
  835. Defines a set of pods (namely those matching the labelSelector
  836. relative to the given namespace(s)) that this pod should be
  837. co-located (affinity) or not co-located (anti-affinity) with,
  838. where co-located is defined as running on a node whose value of
  839. the label with key <topologyKey> matches that of any node on which
  840. a pod of the set of pods is running
  841. properties:
  842. labelSelector:
  843. description: |-
  844. A label query over a set of resources, in this case pods.
  845. If it's null, this PodAffinityTerm matches with no Pods.
  846. properties:
  847. matchExpressions:
  848. description: matchExpressions is a list
  849. of label selector requirements. The requirements
  850. are ANDed.
  851. items:
  852. description: |-
  853. A label selector requirement is a selector that contains values, a key, and an operator that
  854. relates the key and values.
  855. properties:
  856. key:
  857. description: key is the label key
  858. that the selector applies to.
  859. type: string
  860. operator:
  861. description: |-
  862. operator represents a key's relationship to a set of values.
  863. Valid operators are In, NotIn, Exists and DoesNotExist.
  864. type: string
  865. values:
  866. description: |-
  867. values is an array of string values. If the operator is In or NotIn,
  868. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  869. the values array must be empty. This array is replaced during a strategic
  870. merge patch.
  871. items:
  872. type: string
  873. type: array
  874. x-kubernetes-list-type: atomic
  875. required:
  876. - key
  877. - operator
  878. type: object
  879. type: array
  880. x-kubernetes-list-type: atomic
  881. matchLabels:
  882. additionalProperties:
  883. type: string
  884. description: |-
  885. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  886. map is equivalent to an element of matchExpressions, whose key field is "key", the
  887. operator is "In", and the values array contains only "value". The requirements are ANDed.
  888. type: object
  889. type: object
  890. x-kubernetes-map-type: atomic
  891. matchLabelKeys:
  892. description: |-
  893. MatchLabelKeys is a set of pod label keys to select which pods will
  894. be taken into consideration. The keys are used to lookup values from the
  895. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  896. to select the group of existing pods which pods will be taken into consideration
  897. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  898. pod labels will be ignored. The default value is empty.
  899. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  900. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  901. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  902. items:
  903. type: string
  904. type: array
  905. x-kubernetes-list-type: atomic
  906. mismatchLabelKeys:
  907. description: |-
  908. MismatchLabelKeys is a set of pod label keys to select which pods will
  909. be taken into consideration. The keys are used to lookup values from the
  910. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  911. to select the group of existing pods which pods will be taken into consideration
  912. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  913. pod labels will be ignored. The default value is empty.
  914. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  915. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  916. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  917. items:
  918. type: string
  919. type: array
  920. x-kubernetes-list-type: atomic
  921. namespaceSelector:
  922. description: |-
  923. A label query over the set of namespaces that the term applies to.
  924. The term is applied to the union of the namespaces selected by this field
  925. and the ones listed in the namespaces field.
  926. null selector and null or empty namespaces list means "this pod's namespace".
  927. An empty selector ({}) matches all namespaces.
  928. properties:
  929. matchExpressions:
  930. description: matchExpressions is a list
  931. of label selector requirements. The requirements
  932. are ANDed.
  933. items:
  934. description: |-
  935. A label selector requirement is a selector that contains values, a key, and an operator that
  936. relates the key and values.
  937. properties:
  938. key:
  939. description: key is the label key
  940. that the selector applies to.
  941. type: string
  942. operator:
  943. description: |-
  944. operator represents a key's relationship to a set of values.
  945. Valid operators are In, NotIn, Exists and DoesNotExist.
  946. type: string
  947. values:
  948. description: |-
  949. values is an array of string values. If the operator is In or NotIn,
  950. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  951. the values array must be empty. This array is replaced during a strategic
  952. merge patch.
  953. items:
  954. type: string
  955. type: array
  956. x-kubernetes-list-type: atomic
  957. required:
  958. - key
  959. - operator
  960. type: object
  961. type: array
  962. x-kubernetes-list-type: atomic
  963. matchLabels:
  964. additionalProperties:
  965. type: string
  966. description: |-
  967. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  968. map is equivalent to an element of matchExpressions, whose key field is "key", the
  969. operator is "In", and the values array contains only "value". The requirements are ANDed.
  970. type: object
  971. type: object
  972. x-kubernetes-map-type: atomic
  973. namespaces:
  974. description: |-
  975. namespaces specifies a static list of namespace names that the term applies to.
  976. The term is applied to the union of the namespaces listed in this field
  977. and the ones selected by namespaceSelector.
  978. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  979. items:
  980. type: string
  981. type: array
  982. x-kubernetes-list-type: atomic
  983. topologyKey:
  984. description: |-
  985. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  986. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  987. whose value of the label with key topologyKey matches that of any node on which any of the
  988. selected pods is running.
  989. Empty topologyKey is not allowed.
  990. type: string
  991. required:
  992. - topologyKey
  993. type: object
  994. type: array
  995. x-kubernetes-list-type: atomic
  996. type: object
  997. type: object
  998. nodeSelector:
  999. additionalProperties:
  1000. type: string
  1001. description: nodeSelector pins pods to nodes that match all
  1002. the specified labels.
  1003. type: object
  1004. resources:
  1005. description: resources sets per-container resource requests
  1006. and limits.
  1007. properties:
  1008. claims:
  1009. description: |-
  1010. Claims lists the names of resources, defined in spec.resourceClaims,
  1011. that are used by this container.
  1012. This is an alpha field and requires enabling the
  1013. DynamicResourceAllocation feature gate.
  1014. This field is immutable. It can only be set for containers.
  1015. items:
  1016. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1017. properties:
  1018. name:
  1019. description: |-
  1020. Name must match the name of one entry in pod.spec.resourceClaims of
  1021. the Pod where this field is used. It makes that resource available
  1022. inside a container.
  1023. type: string
  1024. required:
  1025. - name
  1026. type: object
  1027. type: array
  1028. x-kubernetes-list-map-keys:
  1029. - name
  1030. x-kubernetes-list-type: map
  1031. limits:
  1032. additionalProperties:
  1033. anyOf:
  1034. - type: integer
  1035. - type: string
  1036. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1037. x-kubernetes-int-or-string: true
  1038. description: |-
  1039. Limits describes the maximum amount of compute resources allowed.
  1040. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  1041. type: object
  1042. requests:
  1043. additionalProperties:
  1044. anyOf:
  1045. - type: integer
  1046. - type: string
  1047. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1048. x-kubernetes-int-or-string: true
  1049. description: |-
  1050. Requests describes the minimum amount of compute resources required.
  1051. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  1052. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  1053. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  1054. type: object
  1055. type: object
  1056. runtime:
  1057. description: runtime describes the container runtime to use
  1058. for the workload.
  1059. properties:
  1060. args:
  1061. description: args specifies or overrides the preset's
  1062. container command.
  1063. items:
  1064. type: string
  1065. type: array
  1066. command:
  1067. description: command specifies or overrides the preset's
  1068. container entrypoint.
  1069. items:
  1070. type: string
  1071. type: array
  1072. conditionalArgs:
  1073. description: conditionalArgs are appended to the preset
  1074. command conditionally.
  1075. items:
  1076. properties:
  1077. args:
  1078. description: args are appended to the preset args.
  1079. items:
  1080. type: string
  1081. type: array
  1082. when:
  1083. description: when the value is not empty after variable
  1084. substitution, the args are appended to the preset
  1085. args.
  1086. type: string
  1087. required:
  1088. - args
  1089. - when
  1090. type: object
  1091. type: array
  1092. env:
  1093. description: env holds environment variables injected
  1094. into the container.
  1095. items:
  1096. description: EnvVar represents an environment variable
  1097. present in a Container.
  1098. properties:
  1099. name:
  1100. description: Name of the environment variable. Must
  1101. be a C_IDENTIFIER.
  1102. type: string
  1103. value:
  1104. description: |-
  1105. Variable references $(VAR_NAME) are expanded
  1106. using the previously defined environment variables in the container and
  1107. any service environment variables. If a variable cannot be resolved,
  1108. the reference in the input string will be unchanged. Double $$ are reduced
  1109. to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
  1110. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  1111. Escaped references will never be expanded, regardless of whether the variable
  1112. exists or not.
  1113. Defaults to "".
  1114. type: string
  1115. valueFrom:
  1116. description: Source for the environment variable's
  1117. value. Cannot be used if value is not empty.
  1118. properties:
  1119. configMapKeyRef:
  1120. description: Selects a key of a ConfigMap.
  1121. properties:
  1122. key:
  1123. description: The key to select.
  1124. type: string
  1125. name:
  1126. default: ""
  1127. description: |-
  1128. Name of the referent.
  1129. This field is effectively required, but due to backwards compatibility is
  1130. allowed to be empty. Instances of this type with an empty value here are
  1131. almost certainly wrong.
  1132. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1133. type: string
  1134. optional:
  1135. description: Specify whether the ConfigMap
  1136. or its key must be defined
  1137. type: boolean
  1138. required:
  1139. - key
  1140. type: object
  1141. x-kubernetes-map-type: atomic
  1142. fieldRef:
  1143. description: |-
  1144. Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
  1145. spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
  1146. properties:
  1147. apiVersion:
  1148. description: Version of the schema the FieldPath
  1149. is written in terms of, defaults to "v1".
  1150. type: string
  1151. fieldPath:
  1152. description: Path of the field to select
  1153. in the specified API version.
  1154. type: string
  1155. required:
  1156. - fieldPath
  1157. type: object
  1158. x-kubernetes-map-type: atomic
  1159. resourceFieldRef:
  1160. description: |-
  1161. Selects a resource of the container: only resources limits and requests
  1162. (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
  1163. properties:
  1164. containerName:
  1165. description: 'Container name: required for
  1166. volumes, optional for env vars'
  1167. type: string
  1168. divisor:
  1169. anyOf:
  1170. - type: integer
  1171. - type: string
  1172. description: Specifies the output format
  1173. of the exposed resources, defaults to
  1174. "1"
  1175. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1176. x-kubernetes-int-or-string: true
  1177. resource:
  1178. description: 'Required: resource to select'
  1179. type: string
  1180. required:
  1181. - resource
  1182. type: object
  1183. x-kubernetes-map-type: atomic
  1184. secretKeyRef:
  1185. description: Selects a key of a secret in the
  1186. pod's namespace
  1187. properties:
  1188. key:
  1189. description: The key of the secret to select
  1190. from. Must be a valid secret key.
  1191. type: string
  1192. name:
  1193. default: ""
  1194. description: |-
  1195. Name of the referent.
  1196. This field is effectively required, but due to backwards compatibility is
  1197. allowed to be empty. Instances of this type with an empty value here are
  1198. almost certainly wrong.
  1199. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1200. type: string
  1201. optional:
  1202. description: Specify whether the Secret
  1203. or its key must be defined
  1204. type: boolean
  1205. required:
  1206. - key
  1207. type: object
  1208. x-kubernetes-map-type: atomic
  1209. type: object
  1210. required:
  1211. - name
  1212. type: object
  1213. type: array
  1214. envFrom:
  1215. description: envFrom references ConfigMaps or Secrets
  1216. whose key-value pairs are injected as environment variables.
  1217. items:
  1218. description: EnvFromSource represents the source of
  1219. a set of ConfigMaps
  1220. properties:
  1221. configMapRef:
  1222. description: The ConfigMap to select from
  1223. properties:
  1224. name:
  1225. default: ""
  1226. description: |-
  1227. Name of the referent.
  1228. This field is effectively required, but due to backwards compatibility is
  1229. allowed to be empty. Instances of this type with an empty value here are
  1230. almost certainly wrong.
  1231. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1232. type: string
  1233. optional:
  1234. description: Specify whether the ConfigMap must
  1235. be defined
  1236. type: boolean
  1237. type: object
  1238. x-kubernetes-map-type: atomic
  1239. prefix:
  1240. description: An optional identifier to prepend to
  1241. each key in the ConfigMap. Must be a C_IDENTIFIER.
  1242. type: string
  1243. secretRef:
  1244. description: The Secret to select from
  1245. properties:
  1246. name:
  1247. default: ""
  1248. description: |-
  1249. Name of the referent.
  1250. This field is effectively required, but due to backwards compatibility is
  1251. allowed to be empty. Instances of this type with an empty value here are
  1252. almost certainly wrong.
  1253. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1254. type: string
  1255. optional:
  1256. description: Specify whether the Secret must
  1257. be defined
  1258. type: boolean
  1259. type: object
  1260. x-kubernetes-map-type: atomic
  1261. type: object
  1262. type: array
  1263. extraArgs:
  1264. description: extraArgs are appended to the preset command.
  1265. items:
  1266. type: string
  1267. type: array
  1268. image:
  1269. description: |-
  1270. image specifies or overrides the preset's container image, e.g. to pin a specific tag
  1271. or pull from a private registry mirror.
  1272. type: string
  1273. name:
  1274. description: name selects a built-in runtime preset.
  1275. type: string
  1276. port:
  1277. description: port specifies or overrides the container
  1278. port the runtime listens on.
  1279. format: int32
  1280. type: integer
  1281. volumeMounts:
  1282. description: volumeMounts defines where pod volumes are
  1283. mounted inside the container.
  1284. items:
  1285. description: VolumeMount describes a mounting of a Volume
  1286. within a container.
  1287. properties:
  1288. mountPath:
  1289. description: |-
  1290. Path within the container at which the volume should be mounted. Must
  1291. not contain ':'.
  1292. type: string
  1293. mountPropagation:
  1294. description: |-
  1295. mountPropagation determines how mounts are propagated from the host
  1296. to container and the other way around.
  1297. When not set, MountPropagationNone is used.
  1298. This field is beta in 1.10.
  1299. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
  1300. (which defaults to None).
  1301. type: string
  1302. name:
  1303. description: This must match the Name of a Volume.
  1304. type: string
  1305. readOnly:
  1306. description: |-
  1307. Mounted read-only if true, read-write otherwise (false or unspecified).
  1308. Defaults to false.
  1309. type: boolean
  1310. recursiveReadOnly:
  1311. description: |-
  1312. RecursiveReadOnly specifies whether read-only mounts should be handled
  1313. recursively.
  1314. If ReadOnly is false, this field has no meaning and must be unspecified.
  1315. If ReadOnly is true, and this field is set to Disabled, the mount is not made
  1316. recursively read-only. If this field is set to IfPossible, the mount is made
  1317. recursively read-only, if it is supported by the container runtime. If this
  1318. field is set to Enabled, the mount is made recursively read-only if it is
  1319. supported by the container runtime, otherwise the pod will not be started and
  1320. an error will be generated to indicate the reason.
  1321. If this field is set to IfPossible or Enabled, MountPropagation must be set to
  1322. None (or be unspecified, which defaults to None).
  1323. If this field is not specified, it is treated as an equivalent of Disabled.
  1324. type: string
  1325. subPath:
  1326. description: |-
  1327. Path within the volume from which the container's volume should be mounted.
  1328. Defaults to "" (volume's root).
  1329. type: string
  1330. subPathExpr:
  1331. description: |-
  1332. Expanded path within the volume from which the container's volume should be mounted.
  1333. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
  1334. Defaults to "" (volume's root).
  1335. SubPathExpr and SubPath are mutually exclusive.
  1336. type: string
  1337. required:
  1338. - mountPath
  1339. - name
  1340. type: object
  1341. type: array
  1342. type: object
  1343. securityContext:
  1344. description: |-
  1345. securityContext sets pod-level security attributes such as runAsUser,
  1346. runAsGroup, fsGroup, and sysctls.
  1347. properties:
  1348. appArmorProfile:
  1349. description: |-
  1350. appArmorProfile is the AppArmor options to use by the containers in this pod.
  1351. Note that this field cannot be set when spec.os.name is windows.
  1352. properties:
  1353. localhostProfile:
  1354. description: |-
  1355. localhostProfile indicates a profile loaded on the node that should be used.
  1356. The profile must be preconfigured on the node to work.
  1357. Must match the loaded name of the profile.
  1358. Must be set if and only if type is "Localhost".
  1359. type: string
  1360. type:
  1361. description: |-
  1362. type indicates which kind of AppArmor profile will be applied.
  1363. Valid options are:
  1364. Localhost - a profile pre-loaded on the node.
  1365. RuntimeDefault - the container runtime's default profile.
  1366. Unconfined - no AppArmor enforcement.
  1367. type: string
  1368. required:
  1369. - type
  1370. type: object
  1371. fsGroup:
  1372. description: |-
  1373. A special supplemental group that applies to all containers in a pod.
  1374. Some volume types allow the Kubelet to change the ownership of that volume
  1375. to be owned by the pod:
  1376. 1. The owning GID will be the FSGroup
  1377. 2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
  1378. 3. The permission bits are OR'd with rw-rw----
  1379. If unset, the Kubelet will not modify the ownership and permissions of any volume.
  1380. Note that this field cannot be set when spec.os.name is windows.
  1381. format: int64
  1382. type: integer
  1383. fsGroupChangePolicy:
  1384. description: |-
  1385. fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
  1386. before being exposed inside Pod. This field will only apply to
  1387. volume types which support fsGroup based ownership(and permissions).
  1388. It will have no effect on ephemeral volume types such as: secret, configmaps
  1389. and emptydir.
  1390. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
  1391. Note that this field cannot be set when spec.os.name is windows.
  1392. type: string
  1393. runAsGroup:
  1394. description: |-
  1395. The GID to run the entrypoint of the container process.
  1396. Uses runtime default if unset.
  1397. May also be set in SecurityContext. If set in both SecurityContext and
  1398. PodSecurityContext, the value specified in SecurityContext takes precedence
  1399. for that container.
  1400. Note that this field cannot be set when spec.os.name is windows.
  1401. format: int64
  1402. type: integer
  1403. runAsNonRoot:
  1404. description: |-
  1405. Indicates that the container must run as a non-root user.
  1406. If true, the Kubelet will validate the image at runtime to ensure that it
  1407. does not run as UID 0 (root) and fail to start the container if it does.
  1408. If unset or false, no such validation will be performed.
  1409. May also be set in SecurityContext. If set in both SecurityContext and
  1410. PodSecurityContext, the value specified in SecurityContext takes precedence.
  1411. type: boolean
  1412. runAsUser:
  1413. description: |-
  1414. The UID to run the entrypoint of the container process.
  1415. Defaults to user specified in image metadata if unspecified.
  1416. May also be set in SecurityContext. If set in both SecurityContext and
  1417. PodSecurityContext, the value specified in SecurityContext takes precedence
  1418. for that container.
  1419. Note that this field cannot be set when spec.os.name is windows.
  1420. format: int64
  1421. type: integer
  1422. seLinuxOptions:
  1423. description: |-
  1424. The SELinux context to be applied to all containers.
  1425. If unspecified, the container runtime will allocate a random SELinux context for each
  1426. container. May also be set in SecurityContext. If set in
  1427. both SecurityContext and PodSecurityContext, the value specified in SecurityContext
  1428. takes precedence for that container.
  1429. Note that this field cannot be set when spec.os.name is windows.
  1430. properties:
  1431. level:
  1432. description: Level is SELinux level label that applies
  1433. to the container.
  1434. type: string
  1435. role:
  1436. description: Role is a SELinux role label that applies
  1437. to the container.
  1438. type: string
  1439. type:
  1440. description: Type is a SELinux type label that applies
  1441. to the container.
  1442. type: string
  1443. user:
  1444. description: User is a SELinux user label that applies
  1445. to the container.
  1446. type: string
  1447. type: object
  1448. seccompProfile:
  1449. description: |-
  1450. The seccomp options to use by the containers in this pod.
  1451. Note that this field cannot be set when spec.os.name is windows.
  1452. properties:
  1453. localhostProfile:
  1454. description: |-
  1455. localhostProfile indicates a profile defined in a file on the node should be used.
  1456. The profile must be preconfigured on the node to work.
  1457. Must be a descending path, relative to the kubelet's configured seccomp profile location.
  1458. Must be set if type is "Localhost". Must NOT be set for any other type.
  1459. type: string
  1460. type:
  1461. description: |-
  1462. type indicates which kind of seccomp profile will be applied.
  1463. Valid options are:
  1464. Localhost - a profile defined in a file on the node should be used.
  1465. RuntimeDefault - the container runtime default profile should be used.
  1466. Unconfined - no profile should be applied.
  1467. type: string
  1468. required:
  1469. - type
  1470. type: object
  1471. supplementalGroups:
  1472. description: |-
  1473. A list of groups applied to the first process run in each container, in addition
  1474. to the container's primary GID, the fsGroup (if specified), and group memberships
  1475. defined in the container image for the uid of the container process. If unspecified,
  1476. no additional groups are added to any container. Note that group memberships
  1477. defined in the container image for the uid of the container process are still effective,
  1478. even if they are not included in this list.
  1479. Note that this field cannot be set when spec.os.name is windows.
  1480. items:
  1481. format: int64
  1482. type: integer
  1483. type: array
  1484. x-kubernetes-list-type: atomic
  1485. sysctls:
  1486. description: |-
  1487. Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
  1488. sysctls (by the container runtime) might fail to launch.
  1489. Note that this field cannot be set when spec.os.name is windows.
  1490. items:
  1491. description: Sysctl defines a kernel parameter to be
  1492. set
  1493. properties:
  1494. name:
  1495. description: Name of a property to set
  1496. type: string
  1497. value:
  1498. description: Value of a property to set
  1499. type: string
  1500. required:
  1501. - name
  1502. - value
  1503. type: object
  1504. type: array
  1505. x-kubernetes-list-type: atomic
  1506. windowsOptions:
  1507. description: |-
  1508. The Windows specific settings applied to all containers.
  1509. If unspecified, the options within a container's SecurityContext will be used.
  1510. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  1511. Note that this field cannot be set when spec.os.name is linux.
  1512. properties:
  1513. gmsaCredentialSpec:
  1514. description: |-
  1515. GMSACredentialSpec is where the GMSA admission webhook
  1516. (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
  1517. GMSA credential spec named by the GMSACredentialSpecName field.
  1518. type: string
  1519. gmsaCredentialSpecName:
  1520. description: GMSACredentialSpecName is the name of
  1521. the GMSA credential spec to use.
  1522. type: string
  1523. hostProcess:
  1524. description: |-
  1525. HostProcess determines if a container should be run as a 'Host Process' container.
  1526. All of a Pod's containers must have the same effective HostProcess value
  1527. (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
  1528. In addition, if HostProcess is true then HostNetwork must also be set to true.
  1529. type: boolean
  1530. runAsUserName:
  1531. description: |-
  1532. The UserName in Windows to run the entrypoint of the container process.
  1533. Defaults to the user specified in image metadata if unspecified.
  1534. May also be set in PodSecurityContext. If set in both SecurityContext and
  1535. PodSecurityContext, the value specified in SecurityContext takes precedence.
  1536. type: string
  1537. type: object
  1538. type: object
  1539. tolerations:
  1540. description: tolerations allow pods to be scheduled onto nodes
  1541. with matching taints.
  1542. items:
  1543. description: |-
  1544. The pod this Toleration is attached to tolerates any taint that matches
  1545. the triple <key,value,effect> using the matching operator <operator>.
  1546. properties:
  1547. effect:
  1548. description: |-
  1549. Effect indicates the taint effect to match. Empty means match all taint effects.
  1550. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1551. type: string
  1552. key:
  1553. description: |-
  1554. Key is the taint key that the toleration applies to. Empty means match all taint keys.
  1555. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1556. type: string
  1557. operator:
  1558. description: |-
  1559. Operator represents a key's relationship to the value.
  1560. Valid operators are Exists and Equal. Defaults to Equal.
  1561. Exists is equivalent to wildcard for value, so that a pod can
  1562. tolerate all taints of a particular category.
  1563. type: string
  1564. tolerationSeconds:
  1565. description: |-
  1566. TolerationSeconds represents the period of time the toleration (which must be
  1567. of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  1568. it is not set, which means tolerate the taint forever (do not evict). Zero and
  1569. negative values will be treated as 0 (evict immediately) by the system.
  1570. format: int64
  1571. type: integer
  1572. value:
  1573. description: |-
  1574. Value is the taint value the toleration matches to.
  1575. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1576. type: string
  1577. type: object
  1578. type: array
  1579. topologySpreadConstraints:
  1580. description: |-
  1581. topologySpreadConstraints controls how pods are spread across failure
  1582. domains (zones, nodes). Prefer this over pod anti-affinity for HA spread.
  1583. items:
  1584. description: TopologySpreadConstraint specifies how to spread
  1585. matching pods among the given topology.
  1586. properties:
  1587. labelSelector:
  1588. description: |-
  1589. LabelSelector is used to find matching pods.
  1590. Pods that match this label selector are counted to determine the number of pods
  1591. in their corresponding topology domain.
  1592. properties:
  1593. matchExpressions:
  1594. description: matchExpressions is a list of label
  1595. selector requirements. The requirements are ANDed.
  1596. items:
  1597. description: |-
  1598. A label selector requirement is a selector that contains values, a key, and an operator that
  1599. relates the key and values.
  1600. properties:
  1601. key:
  1602. description: key is the label key that the
  1603. selector applies to.
  1604. type: string
  1605. operator:
  1606. description: |-
  1607. operator represents a key's relationship to a set of values.
  1608. Valid operators are In, NotIn, Exists and DoesNotExist.
  1609. type: string
  1610. values:
  1611. description: |-
  1612. values is an array of string values. If the operator is In or NotIn,
  1613. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  1614. the values array must be empty. This array is replaced during a strategic
  1615. merge patch.
  1616. items:
  1617. type: string
  1618. type: array
  1619. x-kubernetes-list-type: atomic
  1620. required:
  1621. - key
  1622. - operator
  1623. type: object
  1624. type: array
  1625. x-kubernetes-list-type: atomic
  1626. matchLabels:
  1627. additionalProperties:
  1628. type: string
  1629. description: |-
  1630. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  1631. map is equivalent to an element of matchExpressions, whose key field is "key", the
  1632. operator is "In", and the values array contains only "value". The requirements are ANDed.
  1633. type: object
  1634. type: object
  1635. x-kubernetes-map-type: atomic
  1636. matchLabelKeys:
  1637. description: |-
  1638. MatchLabelKeys is a set of pod label keys to select the pods over which
  1639. spreading will be calculated. The keys are used to lookup values from the
  1640. incoming pod labels, those key-value labels are ANDed with labelSelector
  1641. to select the group of existing pods over which spreading will be calculated
  1642. for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
  1643. MatchLabelKeys cannot be set when LabelSelector isn't set.
  1644. Keys that don't exist in the incoming pod labels will
  1645. be ignored. A null or empty list means only match against labelSelector.
  1646. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
  1647. items:
  1648. type: string
  1649. type: array
  1650. x-kubernetes-list-type: atomic
  1651. maxSkew:
  1652. description: |-
  1653. MaxSkew describes the degree to which pods may be unevenly distributed.
  1654. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
  1655. between the number of matching pods in the target topology and the global minimum.
  1656. The global minimum is the minimum number of matching pods in an eligible domain
  1657. or zero if the number of eligible domains is less than MinDomains.
  1658. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  1659. labelSelector spread as 2/2/1:
  1660. In this case, the global minimum is 1.
  1661. | zone1 | zone2 | zone3 |
  1662. | P P | P P | P |
  1663. - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
  1664. scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
  1665. violate MaxSkew(1).
  1666. - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
  1667. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
  1668. to topologies that satisfy it.
  1669. It's a required field. Default value is 1 and 0 is not allowed.
  1670. format: int32
  1671. type: integer
  1672. minDomains:
  1673. description: |-
  1674. MinDomains indicates a minimum number of eligible domains.
  1675. When the number of eligible domains with matching topology keys is less than minDomains,
  1676. Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
  1677. And when the number of eligible domains with matching topology keys equals or greater than minDomains,
  1678. this value has no effect on scheduling.
  1679. As a result, when the number of eligible domains is less than minDomains,
  1680. scheduler won't schedule more than maxSkew Pods to those domains.
  1681. If value is nil, the constraint behaves as if MinDomains is equal to 1.
  1682. Valid values are integers greater than 0.
  1683. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
  1684. For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
  1685. labelSelector spread as 2/2/2:
  1686. | zone1 | zone2 | zone3 |
  1687. | P P | P P | P P |
  1688. The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
  1689. In this situation, new pod with the same labelSelector cannot be scheduled,
  1690. because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
  1691. it will violate MaxSkew.
  1692. format: int32
  1693. type: integer
  1694. nodeAffinityPolicy:
  1695. description: |-
  1696. NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
  1697. when calculating pod topology spread skew. Options are:
  1698. - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
  1699. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
  1700. If this value is nil, the behavior is equivalent to the Honor policy.
  1701. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
  1702. type: string
  1703. nodeTaintsPolicy:
  1704. description: |-
  1705. NodeTaintsPolicy indicates how we will treat node taints when calculating
  1706. pod topology spread skew. Options are:
  1707. - Honor: nodes without taints, along with tainted nodes for which the incoming pod
  1708. has a toleration, are included.
  1709. - Ignore: node taints are ignored. All nodes are included.
  1710. If this value is nil, the behavior is equivalent to the Ignore policy.
  1711. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
  1712. type: string
  1713. topologyKey:
  1714. description: |-
  1715. TopologyKey is the key of node labels. Nodes that have a label with this key
  1716. and identical values are considered to be in the same topology.
  1717. We consider each <key, value> as a "bucket", and try to put balanced number
  1718. of pods into each bucket.
  1719. We define a domain as a particular instance of a topology.
  1720. Also, we define an eligible domain as a domain whose nodes meet the requirements of
  1721. nodeAffinityPolicy and nodeTaintsPolicy.
  1722. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
  1723. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
  1724. It's a required field.
  1725. type: string
  1726. whenUnsatisfiable:
  1727. description: |-
  1728. WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
  1729. the spread constraint.
  1730. - DoNotSchedule (default) tells the scheduler not to schedule it.
  1731. - ScheduleAnyway tells the scheduler to schedule the pod in any location,
  1732. but giving higher precedence to topologies that would help reduce the
  1733. skew.
  1734. A constraint is considered "Unsatisfiable" for an incoming pod
  1735. if and only if every possible node assignment for that pod would violate
  1736. "MaxSkew" on some topology.
  1737. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  1738. labelSelector spread as 3/1/1:
  1739. | zone1 | zone2 | zone3 |
  1740. | P P P | P | P |
  1741. If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
  1742. to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
  1743. MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
  1744. won't make it *more* imbalanced.
  1745. It's a required field.
  1746. type: string
  1747. required:
  1748. - maxSkew
  1749. - topologyKey
  1750. - whenUnsatisfiable
  1751. type: object
  1752. type: array
  1753. volumes:
  1754. description: volumes defines additional pod volumes available
  1755. to the runtime container.
  1756. items:
  1757. description: Volume represents a named volume in a pod that
  1758. may be accessed by any container in the pod.
  1759. properties:
  1760. awsElasticBlockStore:
  1761. description: |-
  1762. awsElasticBlockStore represents an AWS Disk resource that is attached to a
  1763. kubelet's host machine and then exposed to the pod.
  1764. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1765. properties:
  1766. fsType:
  1767. description: |-
  1768. fsType is the filesystem type of the volume that you want to mount.
  1769. Tip: Ensure that the filesystem type is supported by the host operating system.
  1770. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1771. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1772. type: string
  1773. partition:
  1774. description: |-
  1775. partition is the partition in the volume that you want to mount.
  1776. If omitted, the default is to mount by volume name.
  1777. Examples: For volume /dev/sda1, you specify the partition as "1".
  1778. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  1779. format: int32
  1780. type: integer
  1781. readOnly:
  1782. description: |-
  1783. readOnly value true will force the readOnly setting in VolumeMounts.
  1784. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1785. type: boolean
  1786. volumeID:
  1787. description: |-
  1788. volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
  1789. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  1790. type: string
  1791. required:
  1792. - volumeID
  1793. type: object
  1794. azureDisk:
  1795. description: azureDisk represents an Azure Data Disk
  1796. mount on the host and bind mount to the pod.
  1797. properties:
  1798. cachingMode:
  1799. description: 'cachingMode is the Host Caching mode:
  1800. None, Read Only, Read Write.'
  1801. type: string
  1802. diskName:
  1803. description: diskName is the Name of the data disk
  1804. in the blob storage
  1805. type: string
  1806. diskURI:
  1807. description: diskURI is the URI of data disk in
  1808. the blob storage
  1809. type: string
  1810. fsType:
  1811. description: |-
  1812. fsType is Filesystem type to mount.
  1813. Must be a filesystem type supported by the host operating system.
  1814. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1815. type: string
  1816. kind:
  1817. description: 'kind expected values are Shared: multiple
  1818. blob disks per storage account Dedicated: single
  1819. blob disk per storage account Managed: azure
  1820. managed data disk (only in managed availability
  1821. set). defaults to shared'
  1822. type: string
  1823. readOnly:
  1824. description: |-
  1825. readOnly Defaults to false (read/write). ReadOnly here will force
  1826. the ReadOnly setting in VolumeMounts.
  1827. type: boolean
  1828. required:
  1829. - diskName
  1830. - diskURI
  1831. type: object
  1832. azureFile:
  1833. description: azureFile represents an Azure File Service
  1834. mount on the host and bind mount to the pod.
  1835. properties:
  1836. readOnly:
  1837. description: |-
  1838. readOnly defaults to false (read/write). ReadOnly here will force
  1839. the ReadOnly setting in VolumeMounts.
  1840. type: boolean
  1841. secretName:
  1842. description: secretName is the name of secret that
  1843. contains Azure Storage Account Name and Key
  1844. type: string
  1845. shareName:
  1846. description: shareName is the azure share Name
  1847. type: string
  1848. required:
  1849. - secretName
  1850. - shareName
  1851. type: object
  1852. cephfs:
  1853. description: cephFS represents a Ceph FS mount on the
  1854. host that shares a pod's lifetime
  1855. properties:
  1856. monitors:
  1857. description: |-
  1858. monitors is Required: Monitors is a collection of Ceph monitors
  1859. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1860. items:
  1861. type: string
  1862. type: array
  1863. x-kubernetes-list-type: atomic
  1864. path:
  1865. description: 'path is Optional: Used as the mounted
  1866. root, rather than the full Ceph tree, default
  1867. is /'
  1868. type: string
  1869. readOnly:
  1870. description: |-
  1871. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  1872. the ReadOnly setting in VolumeMounts.
  1873. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1874. type: boolean
  1875. secretFile:
  1876. description: |-
  1877. secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
  1878. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1879. type: string
  1880. secretRef:
  1881. description: |-
  1882. secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
  1883. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1884. properties:
  1885. name:
  1886. default: ""
  1887. description: |-
  1888. Name of the referent.
  1889. This field is effectively required, but due to backwards compatibility is
  1890. allowed to be empty. Instances of this type with an empty value here are
  1891. almost certainly wrong.
  1892. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1893. type: string
  1894. type: object
  1895. x-kubernetes-map-type: atomic
  1896. user:
  1897. description: |-
  1898. user is optional: User is the rados user name, default is admin
  1899. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  1900. type: string
  1901. required:
  1902. - monitors
  1903. type: object
  1904. cinder:
  1905. description: |-
  1906. cinder represents a cinder volume attached and mounted on kubelets host machine.
  1907. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  1908. properties:
  1909. fsType:
  1910. description: |-
  1911. fsType is the filesystem type to mount.
  1912. Must be a filesystem type supported by the host operating system.
  1913. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1914. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  1915. type: string
  1916. readOnly:
  1917. description: |-
  1918. readOnly defaults to false (read/write). ReadOnly here will force
  1919. the ReadOnly setting in VolumeMounts.
  1920. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  1921. type: boolean
  1922. secretRef:
  1923. description: |-
  1924. secretRef is optional: points to a secret object containing parameters used to connect
  1925. to OpenStack.
  1926. properties:
  1927. name:
  1928. default: ""
  1929. description: |-
  1930. Name of the referent.
  1931. This field is effectively required, but due to backwards compatibility is
  1932. allowed to be empty. Instances of this type with an empty value here are
  1933. almost certainly wrong.
  1934. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1935. type: string
  1936. type: object
  1937. x-kubernetes-map-type: atomic
  1938. volumeID:
  1939. description: |-
  1940. volumeID used to identify the volume in cinder.
  1941. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  1942. type: string
  1943. required:
  1944. - volumeID
  1945. type: object
  1946. configMap:
  1947. description: configMap represents a configMap that should
  1948. populate this volume
  1949. properties:
  1950. defaultMode:
  1951. description: |-
  1952. defaultMode is optional: mode bits used to set permissions on created files by default.
  1953. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  1954. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  1955. Defaults to 0644.
  1956. Directories within the path are not affected by this setting.
  1957. This might be in conflict with other options that affect the file
  1958. mode, like fsGroup, and the result can be other mode bits set.
  1959. format: int32
  1960. type: integer
  1961. items:
  1962. description: |-
  1963. items if unspecified, each key-value pair in the Data field of the referenced
  1964. ConfigMap will be projected into the volume as a file whose name is the
  1965. key and content is the value. If specified, the listed keys will be
  1966. projected into the specified paths, and unlisted keys will not be
  1967. present. If a key is specified which is not present in the ConfigMap,
  1968. the volume setup will error unless it is marked optional. Paths must be
  1969. relative and may not contain the '..' path or start with '..'.
  1970. items:
  1971. description: Maps a string key to a path within
  1972. a volume.
  1973. properties:
  1974. key:
  1975. description: key is the key to project.
  1976. type: string
  1977. mode:
  1978. description: |-
  1979. mode is Optional: mode bits used to set permissions on this file.
  1980. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  1981. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  1982. If not specified, the volume defaultMode will be used.
  1983. This might be in conflict with other options that affect the file
  1984. mode, like fsGroup, and the result can be other mode bits set.
  1985. format: int32
  1986. type: integer
  1987. path:
  1988. description: |-
  1989. path is the relative path of the file to map the key to.
  1990. May not be an absolute path.
  1991. May not contain the path element '..'.
  1992. May not start with the string '..'.
  1993. type: string
  1994. required:
  1995. - key
  1996. - path
  1997. type: object
  1998. type: array
  1999. x-kubernetes-list-type: atomic
  2000. name:
  2001. default: ""
  2002. description: |-
  2003. Name of the referent.
  2004. This field is effectively required, but due to backwards compatibility is
  2005. allowed to be empty. Instances of this type with an empty value here are
  2006. almost certainly wrong.
  2007. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2008. type: string
  2009. optional:
  2010. description: optional specify whether the ConfigMap
  2011. or its keys must be defined
  2012. type: boolean
  2013. type: object
  2014. x-kubernetes-map-type: atomic
  2015. csi:
  2016. description: csi (Container Storage Interface) represents
  2017. ephemeral storage that is handled by certain external
  2018. CSI drivers (Beta feature).
  2019. properties:
  2020. driver:
  2021. description: |-
  2022. driver is the name of the CSI driver that handles this volume.
  2023. Consult with your admin for the correct name as registered in the cluster.
  2024. type: string
  2025. fsType:
  2026. description: |-
  2027. fsType to mount. Ex. "ext4", "xfs", "ntfs".
  2028. If not provided, the empty value is passed to the associated CSI driver
  2029. which will determine the default filesystem to apply.
  2030. type: string
  2031. nodePublishSecretRef:
  2032. description: |-
  2033. nodePublishSecretRef is a reference to the secret object containing
  2034. sensitive information to pass to the CSI driver to complete the CSI
  2035. NodePublishVolume and NodeUnpublishVolume calls.
  2036. This field is optional, and may be empty if no secret is required. If the
  2037. secret object contains more than one secret, all secret references are passed.
  2038. properties:
  2039. name:
  2040. default: ""
  2041. description: |-
  2042. Name of the referent.
  2043. This field is effectively required, but due to backwards compatibility is
  2044. allowed to be empty. Instances of this type with an empty value here are
  2045. almost certainly wrong.
  2046. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2047. type: string
  2048. type: object
  2049. x-kubernetes-map-type: atomic
  2050. readOnly:
  2051. description: |-
  2052. readOnly specifies a read-only configuration for the volume.
  2053. Defaults to false (read/write).
  2054. type: boolean
  2055. volumeAttributes:
  2056. additionalProperties:
  2057. type: string
  2058. description: |-
  2059. volumeAttributes stores driver-specific properties that are passed to the CSI
  2060. driver. Consult your driver's documentation for supported values.
  2061. type: object
  2062. required:
  2063. - driver
  2064. type: object
  2065. downwardAPI:
  2066. description: downwardAPI represents downward API about
  2067. the pod that should populate this volume
  2068. properties:
  2069. defaultMode:
  2070. description: |-
  2071. Optional: mode bits to use on created files by default. Must be a
  2072. Optional: mode bits used to set permissions on created files by default.
  2073. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  2074. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2075. Defaults to 0644.
  2076. Directories within the path are not affected by this setting.
  2077. This might be in conflict with other options that affect the file
  2078. mode, like fsGroup, and the result can be other mode bits set.
  2079. format: int32
  2080. type: integer
  2081. items:
  2082. description: Items is a list of downward API volume
  2083. file
  2084. items:
  2085. description: DownwardAPIVolumeFile represents
  2086. information to create the file containing the
  2087. pod field
  2088. properties:
  2089. fieldRef:
  2090. description: 'Required: Selects a field of
  2091. the pod: only annotations, labels, name,
  2092. namespace and uid are supported.'
  2093. properties:
  2094. apiVersion:
  2095. description: Version of the schema the
  2096. FieldPath is written in terms of, defaults
  2097. to "v1".
  2098. type: string
  2099. fieldPath:
  2100. description: Path of the field to select
  2101. in the specified API version.
  2102. type: string
  2103. required:
  2104. - fieldPath
  2105. type: object
  2106. x-kubernetes-map-type: atomic
  2107. mode:
  2108. description: |-
  2109. Optional: mode bits used to set permissions on this file, must be an octal value
  2110. between 0000 and 0777 or a decimal value between 0 and 511.
  2111. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2112. If not specified, the volume defaultMode will be used.
  2113. This might be in conflict with other options that affect the file
  2114. mode, like fsGroup, and the result can be other mode bits set.
  2115. format: int32
  2116. type: integer
  2117. path:
  2118. description: 'Required: Path is the relative
  2119. path name of the file to be created. Must
  2120. not be absolute or contain the ''..'' path.
  2121. Must be utf-8 encoded. The first item of
  2122. the relative path must not start with ''..'''
  2123. type: string
  2124. resourceFieldRef:
  2125. description: |-
  2126. Selects a resource of the container: only resources limits and requests
  2127. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  2128. properties:
  2129. containerName:
  2130. description: 'Container name: required
  2131. for volumes, optional for env vars'
  2132. type: string
  2133. divisor:
  2134. anyOf:
  2135. - type: integer
  2136. - type: string
  2137. description: Specifies the output format
  2138. of the exposed resources, defaults to
  2139. "1"
  2140. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2141. x-kubernetes-int-or-string: true
  2142. resource:
  2143. description: 'Required: resource to select'
  2144. type: string
  2145. required:
  2146. - resource
  2147. type: object
  2148. x-kubernetes-map-type: atomic
  2149. required:
  2150. - path
  2151. type: object
  2152. type: array
  2153. x-kubernetes-list-type: atomic
  2154. type: object
  2155. emptyDir:
  2156. description: |-
  2157. emptyDir represents a temporary directory that shares a pod's lifetime.
  2158. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  2159. properties:
  2160. medium:
  2161. description: |-
  2162. medium represents what type of storage medium should back this directory.
  2163. The default is "" which means to use the node's default medium.
  2164. Must be an empty string (default) or Memory.
  2165. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  2166. type: string
  2167. sizeLimit:
  2168. anyOf:
  2169. - type: integer
  2170. - type: string
  2171. description: |-
  2172. sizeLimit is the total amount of local storage required for this EmptyDir volume.
  2173. The size limit is also applicable for memory medium.
  2174. The maximum usage on memory medium EmptyDir would be the minimum value between
  2175. the SizeLimit specified here and the sum of memory limits of all containers in a pod.
  2176. The default is nil which means that the limit is undefined.
  2177. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  2178. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2179. x-kubernetes-int-or-string: true
  2180. type: object
  2181. ephemeral:
  2182. description: |-
  2183. ephemeral represents a volume that is handled by a cluster storage driver.
  2184. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
  2185. and deleted when the pod is removed.
  2186. Use this if:
  2187. a) the volume is only needed while the pod runs,
  2188. b) features of normal volumes like restoring from snapshot or capacity
  2189. tracking are needed,
  2190. c) the storage driver is specified through a storage class, and
  2191. d) the storage driver supports dynamic volume provisioning through
  2192. a PersistentVolumeClaim (see EphemeralVolumeSource for more
  2193. information on the connection between this volume type
  2194. and PersistentVolumeClaim).
  2195. Use PersistentVolumeClaim or one of the vendor-specific
  2196. APIs for volumes that persist for longer than the lifecycle
  2197. of an individual pod.
  2198. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
  2199. be used that way - see the documentation of the driver for
  2200. more information.
  2201. A pod can use both types of ephemeral volumes and
  2202. persistent volumes at the same time.
  2203. properties:
  2204. volumeClaimTemplate:
  2205. description: |-
  2206. Will be used to create a stand-alone PVC to provision the volume.
  2207. The pod in which this EphemeralVolumeSource is embedded will be the
  2208. owner of the PVC, i.e. the PVC will be deleted together with the
  2209. pod. The name of the PVC will be `<pod name>-<volume name>` where
  2210. `<volume name>` is the name from the `PodSpec.Volumes` array
  2211. entry. Pod validation will reject the pod if the concatenated name
  2212. is not valid for a PVC (for example, too long).
  2213. An existing PVC with that name that is not owned by the pod
  2214. will *not* be used for the pod to avoid using an unrelated
  2215. volume by mistake. Starting the pod is then blocked until
  2216. the unrelated PVC is removed. If such a pre-created PVC is
  2217. meant to be used by the pod, the PVC has to updated with an
  2218. owner reference to the pod once the pod exists. Normally
  2219. this should not be necessary, but it may be useful when
  2220. manually reconstructing a broken cluster.
  2221. This field is read-only and no changes will be made by Kubernetes
  2222. to the PVC after it has been created.
  2223. Required, must not be nil.
  2224. properties:
  2225. metadata:
  2226. description: |-
  2227. May contain labels and annotations that will be copied into the PVC
  2228. when creating it. No other fields are allowed and will be rejected during
  2229. validation.
  2230. type: object
  2231. spec:
  2232. description: |-
  2233. The specification for the PersistentVolumeClaim. The entire content is
  2234. copied unchanged into the PVC that gets created from this
  2235. template. The same fields as in a PersistentVolumeClaim
  2236. are also valid here.
  2237. properties:
  2238. accessModes:
  2239. description: |-
  2240. accessModes contains the desired access modes the volume should have.
  2241. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
  2242. items:
  2243. type: string
  2244. type: array
  2245. x-kubernetes-list-type: atomic
  2246. dataSource:
  2247. description: |-
  2248. dataSource field can be used to specify either:
  2249. * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  2250. * An existing PVC (PersistentVolumeClaim)
  2251. If the provisioner or an external controller can support the specified data source,
  2252. it will create a new volume based on the contents of the specified data source.
  2253. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
  2254. and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
  2255. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
  2256. properties:
  2257. apiGroup:
  2258. description: |-
  2259. APIGroup is the group for the resource being referenced.
  2260. If APIGroup is not specified, the specified Kind must be in the core API group.
  2261. For any other third-party types, APIGroup is required.
  2262. type: string
  2263. kind:
  2264. description: Kind is the type of resource
  2265. being referenced
  2266. type: string
  2267. name:
  2268. description: Name is the name of resource
  2269. being referenced
  2270. type: string
  2271. required:
  2272. - kind
  2273. - name
  2274. type: object
  2275. x-kubernetes-map-type: atomic
  2276. dataSourceRef:
  2277. description: |-
  2278. dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
  2279. volume is desired. This may be any object from a non-empty API group (non
  2280. core object) or a PersistentVolumeClaim object.
  2281. When this field is specified, volume binding will only succeed if the type of
  2282. the specified object matches some installed volume populator or dynamic
  2283. provisioner.
  2284. This field will replace the functionality of the dataSource field and as such
  2285. if both fields are non-empty, they must have the same value. For backwards
  2286. compatibility, when namespace isn't specified in dataSourceRef,
  2287. both fields (dataSource and dataSourceRef) will be set to the same
  2288. value automatically if one of them is empty and the other is non-empty.
  2289. When namespace is specified in dataSourceRef,
  2290. dataSource isn't set to the same value and must be empty.
  2291. There are three important differences between dataSource and dataSourceRef:
  2292. * While dataSource only allows two specific types of objects, dataSourceRef
  2293. allows any non-core object, as well as PersistentVolumeClaim objects.
  2294. * While dataSource ignores disallowed values (dropping them), dataSourceRef
  2295. preserves all values, and generates an error if a disallowed value is
  2296. specified.
  2297. * While dataSource only allows local objects, dataSourceRef allows objects
  2298. in any namespaces.
  2299. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
  2300. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  2301. properties:
  2302. apiGroup:
  2303. description: |-
  2304. APIGroup is the group for the resource being referenced.
  2305. If APIGroup is not specified, the specified Kind must be in the core API group.
  2306. For any other third-party types, APIGroup is required.
  2307. type: string
  2308. kind:
  2309. description: Kind is the type of resource
  2310. being referenced
  2311. type: string
  2312. name:
  2313. description: Name is the name of resource
  2314. being referenced
  2315. type: string
  2316. namespace:
  2317. description: |-
  2318. Namespace is the namespace of resource being referenced
  2319. 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.
  2320. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  2321. type: string
  2322. required:
  2323. - kind
  2324. - name
  2325. type: object
  2326. resources:
  2327. description: |-
  2328. resources represents the minimum resources the volume should have.
  2329. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
  2330. that are lower than previous value but must still be higher than capacity recorded in the
  2331. status field of the claim.
  2332. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
  2333. properties:
  2334. limits:
  2335. additionalProperties:
  2336. anyOf:
  2337. - type: integer
  2338. - type: string
  2339. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2340. x-kubernetes-int-or-string: true
  2341. description: |-
  2342. Limits describes the maximum amount of compute resources allowed.
  2343. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  2344. type: object
  2345. requests:
  2346. additionalProperties:
  2347. anyOf:
  2348. - type: integer
  2349. - type: string
  2350. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2351. x-kubernetes-int-or-string: true
  2352. description: |-
  2353. Requests describes the minimum amount of compute resources required.
  2354. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  2355. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  2356. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  2357. type: object
  2358. type: object
  2359. selector:
  2360. description: selector is a label query over
  2361. volumes to consider for binding.
  2362. properties:
  2363. matchExpressions:
  2364. description: matchExpressions is a list
  2365. of label selector requirements. The
  2366. requirements are ANDed.
  2367. items:
  2368. description: |-
  2369. A label selector requirement is a selector that contains values, a key, and an operator that
  2370. relates the key and values.
  2371. properties:
  2372. key:
  2373. description: key is the label
  2374. key that the selector applies
  2375. to.
  2376. type: string
  2377. operator:
  2378. description: |-
  2379. operator represents a key's relationship to a set of values.
  2380. Valid operators are In, NotIn, Exists and DoesNotExist.
  2381. type: string
  2382. values:
  2383. description: |-
  2384. values is an array of string values. If the operator is In or NotIn,
  2385. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2386. the values array must be empty. This array is replaced during a strategic
  2387. merge patch.
  2388. items:
  2389. type: string
  2390. type: array
  2391. x-kubernetes-list-type: atomic
  2392. required:
  2393. - key
  2394. - operator
  2395. type: object
  2396. type: array
  2397. x-kubernetes-list-type: atomic
  2398. matchLabels:
  2399. additionalProperties:
  2400. type: string
  2401. description: |-
  2402. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2403. map is equivalent to an element of matchExpressions, whose key field is "key", the
  2404. operator is "In", and the values array contains only "value". The requirements are ANDed.
  2405. type: object
  2406. type: object
  2407. x-kubernetes-map-type: atomic
  2408. storageClassName:
  2409. description: |-
  2410. storageClassName is the name of the StorageClass required by the claim.
  2411. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
  2412. type: string
  2413. volumeAttributesClassName:
  2414. description: |-
  2415. volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
  2416. If specified, the CSI driver will create or update the volume with the attributes defined
  2417. in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
  2418. it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
  2419. will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
  2420. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
  2421. will be set by the persistentvolume controller if it exists.
  2422. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
  2423. set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
  2424. exists.
  2425. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
  2426. (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
  2427. type: string
  2428. volumeMode:
  2429. description: |-
  2430. volumeMode defines what type of volume is required by the claim.
  2431. Value of Filesystem is implied when not included in claim spec.
  2432. type: string
  2433. volumeName:
  2434. description: volumeName is the binding reference
  2435. to the PersistentVolume backing this claim.
  2436. type: string
  2437. type: object
  2438. required:
  2439. - spec
  2440. type: object
  2441. type: object
  2442. fc:
  2443. description: fc represents a Fibre Channel resource
  2444. that is attached to a kubelet's host machine and then
  2445. exposed to the pod.
  2446. properties:
  2447. fsType:
  2448. description: |-
  2449. fsType is the filesystem type to mount.
  2450. Must be a filesystem type supported by the host operating system.
  2451. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2452. type: string
  2453. lun:
  2454. description: 'lun is Optional: FC target lun number'
  2455. format: int32
  2456. type: integer
  2457. readOnly:
  2458. description: |-
  2459. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  2460. the ReadOnly setting in VolumeMounts.
  2461. type: boolean
  2462. targetWWNs:
  2463. description: 'targetWWNs is Optional: FC target
  2464. worldwide names (WWNs)'
  2465. items:
  2466. type: string
  2467. type: array
  2468. x-kubernetes-list-type: atomic
  2469. wwids:
  2470. description: |-
  2471. wwids Optional: FC volume world wide identifiers (wwids)
  2472. Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
  2473. items:
  2474. type: string
  2475. type: array
  2476. x-kubernetes-list-type: atomic
  2477. type: object
  2478. flexVolume:
  2479. description: |-
  2480. flexVolume represents a generic volume resource that is
  2481. provisioned/attached using an exec based plugin.
  2482. properties:
  2483. driver:
  2484. description: driver is the name of the driver to
  2485. use for this volume.
  2486. type: string
  2487. fsType:
  2488. description: |-
  2489. fsType is the filesystem type to mount.
  2490. Must be a filesystem type supported by the host operating system.
  2491. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
  2492. type: string
  2493. options:
  2494. additionalProperties:
  2495. type: string
  2496. description: 'options is Optional: this field holds
  2497. extra command options if any.'
  2498. type: object
  2499. readOnly:
  2500. description: |-
  2501. readOnly is Optional: defaults to false (read/write). ReadOnly here will force
  2502. the ReadOnly setting in VolumeMounts.
  2503. type: boolean
  2504. secretRef:
  2505. description: |-
  2506. secretRef is Optional: secretRef is reference to the secret object containing
  2507. sensitive information to pass to the plugin scripts. This may be
  2508. empty if no secret object is specified. If the secret object
  2509. contains more than one secret, all secrets are passed to the plugin
  2510. scripts.
  2511. properties:
  2512. name:
  2513. default: ""
  2514. description: |-
  2515. Name of the referent.
  2516. This field is effectively required, but due to backwards compatibility is
  2517. allowed to be empty. Instances of this type with an empty value here are
  2518. almost certainly wrong.
  2519. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2520. type: string
  2521. type: object
  2522. x-kubernetes-map-type: atomic
  2523. required:
  2524. - driver
  2525. type: object
  2526. flocker:
  2527. description: flocker represents a Flocker volume attached
  2528. to a kubelet's host machine. This depends on the Flocker
  2529. control service being running
  2530. properties:
  2531. datasetName:
  2532. description: |-
  2533. datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
  2534. should be considered as deprecated
  2535. type: string
  2536. datasetUUID:
  2537. description: datasetUUID is the UUID of the dataset.
  2538. This is unique identifier of a Flocker dataset
  2539. type: string
  2540. type: object
  2541. gcePersistentDisk:
  2542. description: |-
  2543. gcePersistentDisk represents a GCE Disk resource that is attached to a
  2544. kubelet's host machine and then exposed to the pod.
  2545. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2546. properties:
  2547. fsType:
  2548. description: |-
  2549. fsType is filesystem type of the volume that you want to mount.
  2550. Tip: Ensure that the filesystem type is supported by the host operating system.
  2551. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2552. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2553. type: string
  2554. partition:
  2555. description: |-
  2556. partition is the partition in the volume that you want to mount.
  2557. If omitted, the default is to mount by volume name.
  2558. Examples: For volume /dev/sda1, you specify the partition as "1".
  2559. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  2560. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2561. format: int32
  2562. type: integer
  2563. pdName:
  2564. description: |-
  2565. pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
  2566. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2567. type: string
  2568. readOnly:
  2569. description: |-
  2570. readOnly here will force the ReadOnly setting in VolumeMounts.
  2571. Defaults to false.
  2572. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  2573. type: boolean
  2574. required:
  2575. - pdName
  2576. type: object
  2577. gitRepo:
  2578. description: |-
  2579. gitRepo represents a git repository at a particular revision.
  2580. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
  2581. EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
  2582. into the Pod's container.
  2583. properties:
  2584. directory:
  2585. description: |-
  2586. directory is the target directory name.
  2587. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
  2588. git repository. Otherwise, if specified, the volume will contain the git repository in
  2589. the subdirectory with the given name.
  2590. type: string
  2591. repository:
  2592. description: repository is the URL
  2593. type: string
  2594. revision:
  2595. description: revision is the commit hash for the
  2596. specified revision.
  2597. type: string
  2598. required:
  2599. - repository
  2600. type: object
  2601. glusterfs:
  2602. description: |-
  2603. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
  2604. More info: https://examples.k8s.io/volumes/glusterfs/README.md
  2605. properties:
  2606. endpoints:
  2607. description: |-
  2608. endpoints is the endpoint name that details Glusterfs topology.
  2609. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  2610. type: string
  2611. path:
  2612. description: |-
  2613. path is the Glusterfs volume path.
  2614. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  2615. type: string
  2616. readOnly:
  2617. description: |-
  2618. readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
  2619. Defaults to false.
  2620. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  2621. type: boolean
  2622. required:
  2623. - endpoints
  2624. - path
  2625. type: object
  2626. hostPath:
  2627. description: |-
  2628. hostPath represents a pre-existing file or directory on the host
  2629. machine that is directly exposed to the container. This is generally
  2630. used for system agents or other privileged things that are allowed
  2631. to see the host machine. Most containers will NOT need this.
  2632. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  2633. properties:
  2634. path:
  2635. description: |-
  2636. path of the directory on the host.
  2637. If the path is a symlink, it will follow the link to the real path.
  2638. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  2639. type: string
  2640. type:
  2641. description: |-
  2642. type for HostPath Volume
  2643. Defaults to ""
  2644. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  2645. type: string
  2646. required:
  2647. - path
  2648. type: object
  2649. iscsi:
  2650. description: |-
  2651. iscsi represents an ISCSI Disk resource that is attached to a
  2652. kubelet's host machine and then exposed to the pod.
  2653. More info: https://examples.k8s.io/volumes/iscsi/README.md
  2654. properties:
  2655. chapAuthDiscovery:
  2656. description: chapAuthDiscovery defines whether support
  2657. iSCSI Discovery CHAP authentication
  2658. type: boolean
  2659. chapAuthSession:
  2660. description: chapAuthSession defines whether support
  2661. iSCSI Session CHAP authentication
  2662. type: boolean
  2663. fsType:
  2664. description: |-
  2665. fsType is the filesystem type of the volume that you want to mount.
  2666. Tip: Ensure that the filesystem type is supported by the host operating system.
  2667. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2668. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  2669. type: string
  2670. initiatorName:
  2671. description: |-
  2672. initiatorName is the custom iSCSI Initiator Name.
  2673. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
  2674. <target portal>:<volume name> will be created for the connection.
  2675. type: string
  2676. iqn:
  2677. description: iqn is the target iSCSI Qualified Name.
  2678. type: string
  2679. iscsiInterface:
  2680. description: |-
  2681. iscsiInterface is the interface Name that uses an iSCSI transport.
  2682. Defaults to 'default' (tcp).
  2683. type: string
  2684. lun:
  2685. description: lun represents iSCSI Target Lun number.
  2686. format: int32
  2687. type: integer
  2688. portals:
  2689. description: |-
  2690. portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
  2691. is other than default (typically TCP ports 860 and 3260).
  2692. items:
  2693. type: string
  2694. type: array
  2695. x-kubernetes-list-type: atomic
  2696. readOnly:
  2697. description: |-
  2698. readOnly here will force the ReadOnly setting in VolumeMounts.
  2699. Defaults to false.
  2700. type: boolean
  2701. secretRef:
  2702. description: secretRef is the CHAP Secret for iSCSI
  2703. target and initiator authentication
  2704. properties:
  2705. name:
  2706. default: ""
  2707. description: |-
  2708. Name of the referent.
  2709. This field is effectively required, but due to backwards compatibility is
  2710. allowed to be empty. Instances of this type with an empty value here are
  2711. almost certainly wrong.
  2712. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2713. type: string
  2714. type: object
  2715. x-kubernetes-map-type: atomic
  2716. targetPortal:
  2717. description: |-
  2718. targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
  2719. is other than default (typically TCP ports 860 and 3260).
  2720. type: string
  2721. required:
  2722. - iqn
  2723. - lun
  2724. - targetPortal
  2725. type: object
  2726. name:
  2727. description: |-
  2728. name of the volume.
  2729. Must be a DNS_LABEL and unique within the pod.
  2730. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2731. type: string
  2732. nfs:
  2733. description: |-
  2734. nfs represents an NFS mount on the host that shares a pod's lifetime
  2735. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2736. properties:
  2737. path:
  2738. description: |-
  2739. path that is exported by the NFS server.
  2740. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2741. type: string
  2742. readOnly:
  2743. description: |-
  2744. readOnly here will force the NFS export to be mounted with read-only permissions.
  2745. Defaults to false.
  2746. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2747. type: boolean
  2748. server:
  2749. description: |-
  2750. server is the hostname or IP address of the NFS server.
  2751. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  2752. type: string
  2753. required:
  2754. - path
  2755. - server
  2756. type: object
  2757. persistentVolumeClaim:
  2758. description: |-
  2759. persistentVolumeClaimVolumeSource represents a reference to a
  2760. PersistentVolumeClaim in the same namespace.
  2761. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  2762. properties:
  2763. claimName:
  2764. description: |-
  2765. claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  2766. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  2767. type: string
  2768. readOnly:
  2769. description: |-
  2770. readOnly Will force the ReadOnly setting in VolumeMounts.
  2771. Default false.
  2772. type: boolean
  2773. required:
  2774. - claimName
  2775. type: object
  2776. photonPersistentDisk:
  2777. description: photonPersistentDisk represents a PhotonController
  2778. persistent disk attached and mounted on kubelets host
  2779. machine
  2780. properties:
  2781. fsType:
  2782. description: |-
  2783. fsType is the filesystem type to mount.
  2784. Must be a filesystem type supported by the host operating system.
  2785. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  2786. type: string
  2787. pdID:
  2788. description: pdID is the ID that identifies Photon
  2789. Controller persistent disk
  2790. type: string
  2791. required:
  2792. - pdID
  2793. type: object
  2794. portworxVolume:
  2795. description: portworxVolume represents a portworx volume
  2796. attached and mounted on kubelets host machine
  2797. properties:
  2798. fsType:
  2799. description: |-
  2800. fSType represents the filesystem type to mount
  2801. Must be a filesystem type supported by the host operating system.
  2802. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
  2803. type: string
  2804. readOnly:
  2805. description: |-
  2806. readOnly defaults to false (read/write). ReadOnly here will force
  2807. the ReadOnly setting in VolumeMounts.
  2808. type: boolean
  2809. volumeID:
  2810. description: volumeID uniquely identifies a Portworx
  2811. volume
  2812. type: string
  2813. required:
  2814. - volumeID
  2815. type: object
  2816. projected:
  2817. description: projected items for all in one resources
  2818. secrets, configmaps, and downward API
  2819. properties:
  2820. defaultMode:
  2821. description: |-
  2822. defaultMode are the mode bits used to set permissions on created files by default.
  2823. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  2824. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2825. Directories within the path are not affected by this setting.
  2826. This might be in conflict with other options that affect the file
  2827. mode, like fsGroup, and the result can be other mode bits set.
  2828. format: int32
  2829. type: integer
  2830. sources:
  2831. description: sources is the list of volume projections
  2832. items:
  2833. description: Projection that may be projected
  2834. along with other supported volume types
  2835. properties:
  2836. clusterTrustBundle:
  2837. description: |-
  2838. ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
  2839. of ClusterTrustBundle objects in an auto-updating file.
  2840. Alpha, gated by the ClusterTrustBundleProjection feature gate.
  2841. ClusterTrustBundle objects can either be selected by name, or by the
  2842. combination of signer name and a label selector.
  2843. Kubelet performs aggressive normalization of the PEM contents written
  2844. into the pod filesystem. Esoteric PEM features such as inter-block
  2845. comments and block headers are stripped. Certificates are deduplicated.
  2846. The ordering of certificates within the file is arbitrary, and Kubelet
  2847. may change the order over time.
  2848. properties:
  2849. labelSelector:
  2850. description: |-
  2851. Select all ClusterTrustBundles that match this label selector. Only has
  2852. effect if signerName is set. Mutually-exclusive with name. If unset,
  2853. interpreted as "match nothing". If set but empty, interpreted as "match
  2854. everything".
  2855. properties:
  2856. matchExpressions:
  2857. description: matchExpressions is a
  2858. list of label selector requirements.
  2859. The requirements are ANDed.
  2860. items:
  2861. description: |-
  2862. A label selector requirement is a selector that contains values, a key, and an operator that
  2863. relates the key and values.
  2864. properties:
  2865. key:
  2866. description: key is the label
  2867. key that the selector applies
  2868. to.
  2869. type: string
  2870. operator:
  2871. description: |-
  2872. operator represents a key's relationship to a set of values.
  2873. Valid operators are In, NotIn, Exists and DoesNotExist.
  2874. type: string
  2875. values:
  2876. description: |-
  2877. values is an array of string values. If the operator is In or NotIn,
  2878. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  2879. the values array must be empty. This array is replaced during a strategic
  2880. merge patch.
  2881. items:
  2882. type: string
  2883. type: array
  2884. x-kubernetes-list-type: atomic
  2885. required:
  2886. - key
  2887. - operator
  2888. type: object
  2889. type: array
  2890. x-kubernetes-list-type: atomic
  2891. matchLabels:
  2892. additionalProperties:
  2893. type: string
  2894. description: |-
  2895. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  2896. map is equivalent to an element of matchExpressions, whose key field is "key", the
  2897. operator is "In", and the values array contains only "value". The requirements are ANDed.
  2898. type: object
  2899. type: object
  2900. x-kubernetes-map-type: atomic
  2901. name:
  2902. description: |-
  2903. Select a single ClusterTrustBundle by object name. Mutually-exclusive
  2904. with signerName and labelSelector.
  2905. type: string
  2906. optional:
  2907. description: |-
  2908. If true, don't block pod startup if the referenced ClusterTrustBundle(s)
  2909. aren't available. If using name, then the named ClusterTrustBundle is
  2910. allowed not to exist. If using signerName, then the combination of
  2911. signerName and labelSelector is allowed to match zero
  2912. ClusterTrustBundles.
  2913. type: boolean
  2914. path:
  2915. description: Relative path from the volume
  2916. root to write the bundle.
  2917. type: string
  2918. signerName:
  2919. description: |-
  2920. Select all ClusterTrustBundles that match this signer name.
  2921. Mutually-exclusive with name. The contents of all selected
  2922. ClusterTrustBundles will be unified and deduplicated.
  2923. type: string
  2924. required:
  2925. - path
  2926. type: object
  2927. configMap:
  2928. description: configMap information about the
  2929. configMap data to project
  2930. properties:
  2931. items:
  2932. description: |-
  2933. items if unspecified, each key-value pair in the Data field of the referenced
  2934. ConfigMap will be projected into the volume as a file whose name is the
  2935. key and content is the value. If specified, the listed keys will be
  2936. projected into the specified paths, and unlisted keys will not be
  2937. present. If a key is specified which is not present in the ConfigMap,
  2938. the volume setup will error unless it is marked optional. Paths must be
  2939. relative and may not contain the '..' path or start with '..'.
  2940. items:
  2941. description: Maps a string key to a
  2942. path within a volume.
  2943. properties:
  2944. key:
  2945. description: key is the key to project.
  2946. type: string
  2947. mode:
  2948. description: |-
  2949. mode is Optional: mode bits used to set permissions on this file.
  2950. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  2951. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  2952. If not specified, the volume defaultMode will be used.
  2953. This might be in conflict with other options that affect the file
  2954. mode, like fsGroup, and the result can be other mode bits set.
  2955. format: int32
  2956. type: integer
  2957. path:
  2958. description: |-
  2959. path is the relative path of the file to map the key to.
  2960. May not be an absolute path.
  2961. May not contain the path element '..'.
  2962. May not start with the string '..'.
  2963. type: string
  2964. required:
  2965. - key
  2966. - path
  2967. type: object
  2968. type: array
  2969. x-kubernetes-list-type: atomic
  2970. name:
  2971. default: ""
  2972. description: |-
  2973. Name of the referent.
  2974. This field is effectively required, but due to backwards compatibility is
  2975. allowed to be empty. Instances of this type with an empty value here are
  2976. almost certainly wrong.
  2977. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2978. type: string
  2979. optional:
  2980. description: optional specify whether
  2981. the ConfigMap or its keys must be defined
  2982. type: boolean
  2983. type: object
  2984. x-kubernetes-map-type: atomic
  2985. downwardAPI:
  2986. description: downwardAPI information about
  2987. the downwardAPI data to project
  2988. properties:
  2989. items:
  2990. description: Items is a list of DownwardAPIVolume
  2991. file
  2992. items:
  2993. description: DownwardAPIVolumeFile represents
  2994. information to create the file containing
  2995. the pod field
  2996. properties:
  2997. fieldRef:
  2998. description: 'Required: Selects
  2999. a field of the pod: only annotations,
  3000. labels, name, namespace and uid
  3001. are supported.'
  3002. properties:
  3003. apiVersion:
  3004. description: Version of the
  3005. schema the FieldPath is written
  3006. in terms of, defaults to "v1".
  3007. type: string
  3008. fieldPath:
  3009. description: Path of the field
  3010. to select in the specified
  3011. API version.
  3012. type: string
  3013. required:
  3014. - fieldPath
  3015. type: object
  3016. x-kubernetes-map-type: atomic
  3017. mode:
  3018. description: |-
  3019. Optional: mode bits used to set permissions on this file, must be an octal value
  3020. between 0000 and 0777 or a decimal value between 0 and 511.
  3021. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  3022. If not specified, the volume defaultMode will be used.
  3023. This might be in conflict with other options that affect the file
  3024. mode, like fsGroup, and the result can be other mode bits set.
  3025. format: int32
  3026. type: integer
  3027. path:
  3028. description: 'Required: Path is the
  3029. relative path name of the file
  3030. to be created. Must not be absolute
  3031. or contain the ''..'' path. Must
  3032. be utf-8 encoded. The first item
  3033. of the relative path must not
  3034. start with ''..'''
  3035. type: string
  3036. resourceFieldRef:
  3037. description: |-
  3038. Selects a resource of the container: only resources limits and requests
  3039. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  3040. properties:
  3041. containerName:
  3042. description: 'Container name:
  3043. required for volumes, optional
  3044. for env vars'
  3045. type: string
  3046. divisor:
  3047. anyOf:
  3048. - type: integer
  3049. - type: string
  3050. description: Specifies the output
  3051. format of the exposed resources,
  3052. defaults to "1"
  3053. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3054. x-kubernetes-int-or-string: true
  3055. resource:
  3056. description: 'Required: resource
  3057. to select'
  3058. type: string
  3059. required:
  3060. - resource
  3061. type: object
  3062. x-kubernetes-map-type: atomic
  3063. required:
  3064. - path
  3065. type: object
  3066. type: array
  3067. x-kubernetes-list-type: atomic
  3068. type: object
  3069. secret:
  3070. description: secret information about the
  3071. secret data to project
  3072. properties:
  3073. items:
  3074. description: |-
  3075. items if unspecified, each key-value pair in the Data field of the referenced
  3076. Secret will be projected into the volume as a file whose name is the
  3077. key and content is the value. If specified, the listed keys will be
  3078. projected into the specified paths, and unlisted keys will not be
  3079. present. If a key is specified which is not present in the Secret,
  3080. the volume setup will error unless it is marked optional. Paths must be
  3081. relative and may not contain the '..' path or start with '..'.
  3082. items:
  3083. description: Maps a string key to a
  3084. path within a volume.
  3085. properties:
  3086. key:
  3087. description: key is the key to project.
  3088. type: string
  3089. mode:
  3090. description: |-
  3091. mode is Optional: mode bits used to set permissions on this file.
  3092. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  3093. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  3094. If not specified, the volume defaultMode will be used.
  3095. This might be in conflict with other options that affect the file
  3096. mode, like fsGroup, and the result can be other mode bits set.
  3097. format: int32
  3098. type: integer
  3099. path:
  3100. description: |-
  3101. path is the relative path of the file to map the key to.
  3102. May not be an absolute path.
  3103. May not contain the path element '..'.
  3104. May not start with the string '..'.
  3105. type: string
  3106. required:
  3107. - key
  3108. - path
  3109. type: object
  3110. type: array
  3111. x-kubernetes-list-type: atomic
  3112. name:
  3113. default: ""
  3114. description: |-
  3115. Name of the referent.
  3116. This field is effectively required, but due to backwards compatibility is
  3117. allowed to be empty. Instances of this type with an empty value here are
  3118. almost certainly wrong.
  3119. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3120. type: string
  3121. optional:
  3122. description: optional field specify whether
  3123. the Secret or its key must be defined
  3124. type: boolean
  3125. type: object
  3126. x-kubernetes-map-type: atomic
  3127. serviceAccountToken:
  3128. description: serviceAccountToken is information
  3129. about the serviceAccountToken data to project
  3130. properties:
  3131. audience:
  3132. description: |-
  3133. audience is the intended audience of the token. A recipient of a token
  3134. must identify itself with an identifier specified in the audience of the
  3135. token, and otherwise should reject the token. The audience defaults to the
  3136. identifier of the apiserver.
  3137. type: string
  3138. expirationSeconds:
  3139. description: |-
  3140. expirationSeconds is the requested duration of validity of the service
  3141. account token. As the token approaches expiration, the kubelet volume
  3142. plugin will proactively rotate the service account token. The kubelet will
  3143. start trying to rotate the token if the token is older than 80 percent of
  3144. its time to live or if the token is older than 24 hours.Defaults to 1 hour
  3145. and must be at least 10 minutes.
  3146. format: int64
  3147. type: integer
  3148. path:
  3149. description: |-
  3150. path is the path relative to the mount point of the file to project the
  3151. token into.
  3152. type: string
  3153. required:
  3154. - path
  3155. type: object
  3156. type: object
  3157. type: array
  3158. x-kubernetes-list-type: atomic
  3159. type: object
  3160. quobyte:
  3161. description: quobyte represents a Quobyte mount on the
  3162. host that shares a pod's lifetime
  3163. properties:
  3164. group:
  3165. description: |-
  3166. group to map volume access to
  3167. Default is no group
  3168. type: string
  3169. readOnly:
  3170. description: |-
  3171. readOnly here will force the Quobyte volume to be mounted with read-only permissions.
  3172. Defaults to false.
  3173. type: boolean
  3174. registry:
  3175. description: |-
  3176. registry represents a single or multiple Quobyte Registry services
  3177. specified as a string as host:port pair (multiple entries are separated with commas)
  3178. which acts as the central registry for volumes
  3179. type: string
  3180. tenant:
  3181. description: |-
  3182. tenant owning the given Quobyte volume in the Backend
  3183. Used with dynamically provisioned Quobyte volumes, value is set by the plugin
  3184. type: string
  3185. user:
  3186. description: |-
  3187. user to map volume access to
  3188. Defaults to serivceaccount user
  3189. type: string
  3190. volume:
  3191. description: volume is a string that references
  3192. an already created Quobyte volume by name.
  3193. type: string
  3194. required:
  3195. - registry
  3196. - volume
  3197. type: object
  3198. rbd:
  3199. description: |-
  3200. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
  3201. More info: https://examples.k8s.io/volumes/rbd/README.md
  3202. properties:
  3203. fsType:
  3204. description: |-
  3205. fsType is the filesystem type of the volume that you want to mount.
  3206. Tip: Ensure that the filesystem type is supported by the host operating system.
  3207. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  3208. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  3209. type: string
  3210. image:
  3211. description: |-
  3212. image is the rados image name.
  3213. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3214. type: string
  3215. keyring:
  3216. description: |-
  3217. keyring is the path to key ring for RBDUser.
  3218. Default is /etc/ceph/keyring.
  3219. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3220. type: string
  3221. monitors:
  3222. description: |-
  3223. monitors is a collection of Ceph monitors.
  3224. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3225. items:
  3226. type: string
  3227. type: array
  3228. x-kubernetes-list-type: atomic
  3229. pool:
  3230. description: |-
  3231. pool is the rados pool name.
  3232. Default is rbd.
  3233. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3234. type: string
  3235. readOnly:
  3236. description: |-
  3237. readOnly here will force the ReadOnly setting in VolumeMounts.
  3238. Defaults to false.
  3239. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3240. type: boolean
  3241. secretRef:
  3242. description: |-
  3243. secretRef is name of the authentication secret for RBDUser. If provided
  3244. overrides keyring.
  3245. Default is nil.
  3246. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3247. properties:
  3248. name:
  3249. default: ""
  3250. description: |-
  3251. Name of the referent.
  3252. This field is effectively required, but due to backwards compatibility is
  3253. allowed to be empty. Instances of this type with an empty value here are
  3254. almost certainly wrong.
  3255. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3256. type: string
  3257. type: object
  3258. x-kubernetes-map-type: atomic
  3259. user:
  3260. description: |-
  3261. user is the rados user name.
  3262. Default is admin.
  3263. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  3264. type: string
  3265. required:
  3266. - image
  3267. - monitors
  3268. type: object
  3269. scaleIO:
  3270. description: scaleIO represents a ScaleIO persistent
  3271. volume attached and mounted on Kubernetes nodes.
  3272. properties:
  3273. fsType:
  3274. description: |-
  3275. fsType is the filesystem type to mount.
  3276. Must be a filesystem type supported by the host operating system.
  3277. Ex. "ext4", "xfs", "ntfs".
  3278. Default is "xfs".
  3279. type: string
  3280. gateway:
  3281. description: gateway is the host address of the
  3282. ScaleIO API Gateway.
  3283. type: string
  3284. protectionDomain:
  3285. description: protectionDomain is the name of the
  3286. ScaleIO Protection Domain for the configured storage.
  3287. type: string
  3288. readOnly:
  3289. description: |-
  3290. readOnly Defaults to false (read/write). ReadOnly here will force
  3291. the ReadOnly setting in VolumeMounts.
  3292. type: boolean
  3293. secretRef:
  3294. description: |-
  3295. secretRef references to the secret for ScaleIO user and other
  3296. sensitive information. If this is not provided, Login operation will fail.
  3297. properties:
  3298. name:
  3299. default: ""
  3300. description: |-
  3301. Name of the referent.
  3302. This field is effectively required, but due to backwards compatibility is
  3303. allowed to be empty. Instances of this type with an empty value here are
  3304. almost certainly wrong.
  3305. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3306. type: string
  3307. type: object
  3308. x-kubernetes-map-type: atomic
  3309. sslEnabled:
  3310. description: sslEnabled Flag enable/disable SSL
  3311. communication with Gateway, default false
  3312. type: boolean
  3313. storageMode:
  3314. description: |-
  3315. storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
  3316. Default is ThinProvisioned.
  3317. type: string
  3318. storagePool:
  3319. description: storagePool is the ScaleIO Storage
  3320. Pool associated with the protection domain.
  3321. type: string
  3322. system:
  3323. description: system is the name of the storage system
  3324. as configured in ScaleIO.
  3325. type: string
  3326. volumeName:
  3327. description: |-
  3328. volumeName is the name of a volume already created in the ScaleIO system
  3329. that is associated with this volume source.
  3330. type: string
  3331. required:
  3332. - gateway
  3333. - secretRef
  3334. - system
  3335. type: object
  3336. secret:
  3337. description: |-
  3338. secret represents a secret that should populate this volume.
  3339. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  3340. properties:
  3341. defaultMode:
  3342. description: |-
  3343. defaultMode is Optional: mode bits used to set permissions on created files by default.
  3344. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  3345. YAML accepts both octal and decimal values, JSON requires decimal values
  3346. for mode bits. Defaults to 0644.
  3347. Directories within the path are not affected by this setting.
  3348. This might be in conflict with other options that affect the file
  3349. mode, like fsGroup, and the result can be other mode bits set.
  3350. format: int32
  3351. type: integer
  3352. items:
  3353. description: |-
  3354. items If unspecified, each key-value pair in the Data field of the referenced
  3355. Secret will be projected into the volume as a file whose name is the
  3356. key and content is the value. If specified, the listed keys will be
  3357. projected into the specified paths, and unlisted keys will not be
  3358. present. If a key is specified which is not present in the Secret,
  3359. the volume setup will error unless it is marked optional. Paths must be
  3360. relative and may not contain the '..' path or start with '..'.
  3361. items:
  3362. description: Maps a string key to a path within
  3363. a volume.
  3364. properties:
  3365. key:
  3366. description: key is the key to project.
  3367. type: string
  3368. mode:
  3369. description: |-
  3370. mode is Optional: mode bits used to set permissions on this file.
  3371. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  3372. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  3373. If not specified, the volume defaultMode will be used.
  3374. This might be in conflict with other options that affect the file
  3375. mode, like fsGroup, and the result can be other mode bits set.
  3376. format: int32
  3377. type: integer
  3378. path:
  3379. description: |-
  3380. path is the relative path of the file to map the key to.
  3381. May not be an absolute path.
  3382. May not contain the path element '..'.
  3383. May not start with the string '..'.
  3384. type: string
  3385. required:
  3386. - key
  3387. - path
  3388. type: object
  3389. type: array
  3390. x-kubernetes-list-type: atomic
  3391. optional:
  3392. description: optional field specify whether the
  3393. Secret or its keys must be defined
  3394. type: boolean
  3395. secretName:
  3396. description: |-
  3397. secretName is the name of the secret in the pod's namespace to use.
  3398. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  3399. type: string
  3400. type: object
  3401. storageos:
  3402. description: storageOS represents a StorageOS volume
  3403. attached and mounted on Kubernetes nodes.
  3404. properties:
  3405. fsType:
  3406. description: |-
  3407. fsType is the filesystem type to mount.
  3408. Must be a filesystem type supported by the host operating system.
  3409. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  3410. type: string
  3411. readOnly:
  3412. description: |-
  3413. readOnly defaults to false (read/write). ReadOnly here will force
  3414. the ReadOnly setting in VolumeMounts.
  3415. type: boolean
  3416. secretRef:
  3417. description: |-
  3418. secretRef specifies the secret to use for obtaining the StorageOS API
  3419. credentials. If not specified, default values will be attempted.
  3420. properties:
  3421. name:
  3422. default: ""
  3423. description: |-
  3424. Name of the referent.
  3425. This field is effectively required, but due to backwards compatibility is
  3426. allowed to be empty. Instances of this type with an empty value here are
  3427. almost certainly wrong.
  3428. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3429. type: string
  3430. type: object
  3431. x-kubernetes-map-type: atomic
  3432. volumeName:
  3433. description: |-
  3434. volumeName is the human-readable name of the StorageOS volume. Volume
  3435. names are only unique within a namespace.
  3436. type: string
  3437. volumeNamespace:
  3438. description: |-
  3439. volumeNamespace specifies the scope of the volume within StorageOS. If no
  3440. namespace is specified then the Pod's namespace will be used. This allows the
  3441. Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
  3442. Set VolumeName to any name to override the default behaviour.
  3443. Set to "default" if you are not using namespaces within StorageOS.
  3444. Namespaces that do not pre-exist within StorageOS will be created.
  3445. type: string
  3446. type: object
  3447. vsphereVolume:
  3448. description: vsphereVolume represents a vSphere volume
  3449. attached and mounted on kubelets host machine
  3450. properties:
  3451. fsType:
  3452. description: |-
  3453. fsType is filesystem type to mount.
  3454. Must be a filesystem type supported by the host operating system.
  3455. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  3456. type: string
  3457. storagePolicyID:
  3458. description: storagePolicyID is the storage Policy
  3459. Based Management (SPBM) profile ID associated
  3460. with the StoragePolicyName.
  3461. type: string
  3462. storagePolicyName:
  3463. description: storagePolicyName is the storage Policy
  3464. Based Management (SPBM) profile name.
  3465. type: string
  3466. volumePath:
  3467. description: volumePath is the path that identifies
  3468. vSphere volume vmdk
  3469. type: string
  3470. required:
  3471. - volumePath
  3472. type: object
  3473. required:
  3474. - name
  3475. type: object
  3476. type: array
  3477. type: object
  3478. required:
  3479. - name
  3480. type: object
  3481. embeddingModelRef:
  3482. description: embeddingModelRef references the model used to generate
  3483. embeddings for this knowledge base.
  3484. properties:
  3485. apiVersion:
  3486. description: API version of the referent.
  3487. type: string
  3488. fieldPath:
  3489. description: |-
  3490. If referring to a piece of an object instead of an entire object, this string
  3491. should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
  3492. For example, if the object reference is to a container within a pod, this would take on a value like:
  3493. "spec.containers{name}" (where "name" refers to the name of the container that triggered
  3494. the event) or if no container name is specified "spec.containers[2]" (container with
  3495. index 2 in this pod). This syntax is chosen only to have some well-defined way of
  3496. referencing a part of an object.
  3497. type: string
  3498. kind:
  3499. description: |-
  3500. Kind of the referent.
  3501. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  3502. type: string
  3503. name:
  3504. description: |-
  3505. Name of the referent.
  3506. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3507. type: string
  3508. namespace:
  3509. description: |-
  3510. Namespace of the referent.
  3511. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
  3512. type: string
  3513. resourceVersion:
  3514. description: |-
  3515. Specific resourceVersion to which this reference is made, if any.
  3516. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
  3517. type: string
  3518. uid:
  3519. description: |-
  3520. UID of the referent.
  3521. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
  3522. type: string
  3523. type: object
  3524. x-kubernetes-map-type: atomic
  3525. ingestionJob:
  3526. description: ingestionJob configures the ephemeral Job that ingests
  3527. a single Document into the KB.
  3528. properties:
  3529. metadata:
  3530. description: metadata is a standard object metadata.
  3531. type: object
  3532. name:
  3533. description: name selects a built-in preset.
  3534. type: string
  3535. spec:
  3536. description: spec holds the pod-level configuration for the workload.
  3537. properties:
  3538. affinity:
  3539. description: affinity provides fine-grained node and pod (anti-)affinity
  3540. rules.
  3541. properties:
  3542. nodeAffinity:
  3543. description: Describes node affinity scheduling rules
  3544. for the pod.
  3545. properties:
  3546. preferredDuringSchedulingIgnoredDuringExecution:
  3547. description: |-
  3548. The scheduler will prefer to schedule pods to nodes that satisfy
  3549. the affinity expressions specified by this field, but it may choose
  3550. a node that violates one or more of the expressions. The node that is
  3551. most preferred is the one with the greatest sum of weights, i.e.
  3552. for each node that meets all of the scheduling requirements (resource
  3553. request, requiredDuringScheduling affinity expressions, etc.),
  3554. compute a sum by iterating through the elements of this field and adding
  3555. "weight" to the sum if the node matches the corresponding matchExpressions; the
  3556. node(s) with the highest sum are the most preferred.
  3557. items:
  3558. description: |-
  3559. An empty preferred scheduling term matches all objects with implicit weight 0
  3560. (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  3561. properties:
  3562. preference:
  3563. description: A node selector term, associated
  3564. with the corresponding weight.
  3565. properties:
  3566. matchExpressions:
  3567. description: A list of node selector requirements
  3568. by node's labels.
  3569. items:
  3570. description: |-
  3571. A node selector requirement is a selector that contains values, a key, and an operator
  3572. that relates the key and values.
  3573. properties:
  3574. key:
  3575. description: The label key that the
  3576. selector applies to.
  3577. type: string
  3578. operator:
  3579. description: |-
  3580. Represents a key's relationship to a set of values.
  3581. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3582. type: string
  3583. values:
  3584. description: |-
  3585. An array of string values. If the operator is In or NotIn,
  3586. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3587. the values array must be empty. If the operator is Gt or Lt, the values
  3588. array must have a single element, which will be interpreted as an integer.
  3589. This array is replaced during a strategic merge patch.
  3590. items:
  3591. type: string
  3592. type: array
  3593. x-kubernetes-list-type: atomic
  3594. required:
  3595. - key
  3596. - operator
  3597. type: object
  3598. type: array
  3599. x-kubernetes-list-type: atomic
  3600. matchFields:
  3601. description: A list of node selector requirements
  3602. by node's fields.
  3603. items:
  3604. description: |-
  3605. A node selector requirement is a selector that contains values, a key, and an operator
  3606. that relates the key and values.
  3607. properties:
  3608. key:
  3609. description: The label key that the
  3610. selector applies to.
  3611. type: string
  3612. operator:
  3613. description: |-
  3614. Represents a key's relationship to a set of values.
  3615. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3616. type: string
  3617. values:
  3618. description: |-
  3619. An array of string values. If the operator is In or NotIn,
  3620. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3621. the values array must be empty. If the operator is Gt or Lt, the values
  3622. array must have a single element, which will be interpreted as an integer.
  3623. This array is replaced during a strategic merge patch.
  3624. items:
  3625. type: string
  3626. type: array
  3627. x-kubernetes-list-type: atomic
  3628. required:
  3629. - key
  3630. - operator
  3631. type: object
  3632. type: array
  3633. x-kubernetes-list-type: atomic
  3634. type: object
  3635. x-kubernetes-map-type: atomic
  3636. weight:
  3637. description: Weight associated with matching
  3638. the corresponding nodeSelectorTerm, in the
  3639. range 1-100.
  3640. format: int32
  3641. type: integer
  3642. required:
  3643. - preference
  3644. - weight
  3645. type: object
  3646. type: array
  3647. x-kubernetes-list-type: atomic
  3648. requiredDuringSchedulingIgnoredDuringExecution:
  3649. description: |-
  3650. If the affinity requirements specified by this field are not met at
  3651. scheduling time, the pod will not be scheduled onto the node.
  3652. If the affinity requirements specified by this field cease to be met
  3653. at some point during pod execution (e.g. due to an update), the system
  3654. may or may not try to eventually evict the pod from its node.
  3655. properties:
  3656. nodeSelectorTerms:
  3657. description: Required. A list of node selector
  3658. terms. The terms are ORed.
  3659. items:
  3660. description: |-
  3661. A null or empty node selector term matches no objects. The requirements of
  3662. them are ANDed.
  3663. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  3664. properties:
  3665. matchExpressions:
  3666. description: A list of node selector requirements
  3667. by node's labels.
  3668. items:
  3669. description: |-
  3670. A node selector requirement is a selector that contains values, a key, and an operator
  3671. that relates the key and values.
  3672. properties:
  3673. key:
  3674. description: The label key that the
  3675. selector applies to.
  3676. type: string
  3677. operator:
  3678. description: |-
  3679. Represents a key's relationship to a set of values.
  3680. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3681. type: string
  3682. values:
  3683. description: |-
  3684. An array of string values. If the operator is In or NotIn,
  3685. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3686. the values array must be empty. If the operator is Gt or Lt, the values
  3687. array must have a single element, which will be interpreted as an integer.
  3688. This array is replaced during a strategic merge patch.
  3689. items:
  3690. type: string
  3691. type: array
  3692. x-kubernetes-list-type: atomic
  3693. required:
  3694. - key
  3695. - operator
  3696. type: object
  3697. type: array
  3698. x-kubernetes-list-type: atomic
  3699. matchFields:
  3700. description: A list of node selector requirements
  3701. by node's fields.
  3702. items:
  3703. description: |-
  3704. A node selector requirement is a selector that contains values, a key, and an operator
  3705. that relates the key and values.
  3706. properties:
  3707. key:
  3708. description: The label key that the
  3709. selector applies to.
  3710. type: string
  3711. operator:
  3712. description: |-
  3713. Represents a key's relationship to a set of values.
  3714. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3715. type: string
  3716. values:
  3717. description: |-
  3718. An array of string values. If the operator is In or NotIn,
  3719. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3720. the values array must be empty. If the operator is Gt or Lt, the values
  3721. array must have a single element, which will be interpreted as an integer.
  3722. This array is replaced during a strategic merge patch.
  3723. items:
  3724. type: string
  3725. type: array
  3726. x-kubernetes-list-type: atomic
  3727. required:
  3728. - key
  3729. - operator
  3730. type: object
  3731. type: array
  3732. x-kubernetes-list-type: atomic
  3733. type: object
  3734. x-kubernetes-map-type: atomic
  3735. type: array
  3736. x-kubernetes-list-type: atomic
  3737. required:
  3738. - nodeSelectorTerms
  3739. type: object
  3740. x-kubernetes-map-type: atomic
  3741. type: object
  3742. podAffinity:
  3743. description: Describes pod affinity scheduling rules (e.g.
  3744. co-locate this pod in the same node, zone, etc. as some
  3745. other pod(s)).
  3746. properties:
  3747. preferredDuringSchedulingIgnoredDuringExecution:
  3748. description: |-
  3749. The scheduler will prefer to schedule pods to nodes that satisfy
  3750. the affinity expressions specified by this field, but it may choose
  3751. a node that violates one or more of the expressions. The node that is
  3752. most preferred is the one with the greatest sum of weights, i.e.
  3753. for each node that meets all of the scheduling requirements (resource
  3754. request, requiredDuringScheduling affinity expressions, etc.),
  3755. compute a sum by iterating through the elements of this field and adding
  3756. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  3757. node(s) with the highest sum are the most preferred.
  3758. items:
  3759. description: The weights of all of the matched WeightedPodAffinityTerm
  3760. fields are added per-node to find the most preferred
  3761. node(s)
  3762. properties:
  3763. podAffinityTerm:
  3764. description: Required. A pod affinity term,
  3765. associated with the corresponding weight.
  3766. properties:
  3767. labelSelector:
  3768. description: |-
  3769. A label query over a set of resources, in this case pods.
  3770. If it's null, this PodAffinityTerm matches with no Pods.
  3771. properties:
  3772. matchExpressions:
  3773. description: matchExpressions is a list
  3774. of label selector requirements. The
  3775. requirements are ANDed.
  3776. items:
  3777. description: |-
  3778. A label selector requirement is a selector that contains values, a key, and an operator that
  3779. relates the key and values.
  3780. properties:
  3781. key:
  3782. description: key is the label
  3783. key that the selector applies
  3784. to.
  3785. type: string
  3786. operator:
  3787. description: |-
  3788. operator represents a key's relationship to a set of values.
  3789. Valid operators are In, NotIn, Exists and DoesNotExist.
  3790. type: string
  3791. values:
  3792. description: |-
  3793. values is an array of string values. If the operator is In or NotIn,
  3794. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3795. the values array must be empty. This array is replaced during a strategic
  3796. merge patch.
  3797. items:
  3798. type: string
  3799. type: array
  3800. x-kubernetes-list-type: atomic
  3801. required:
  3802. - key
  3803. - operator
  3804. type: object
  3805. type: array
  3806. x-kubernetes-list-type: atomic
  3807. matchLabels:
  3808. additionalProperties:
  3809. type: string
  3810. description: |-
  3811. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3812. map is equivalent to an element of matchExpressions, whose key field is "key", the
  3813. operator is "In", and the values array contains only "value". The requirements are ANDed.
  3814. type: object
  3815. type: object
  3816. x-kubernetes-map-type: atomic
  3817. matchLabelKeys:
  3818. description: |-
  3819. MatchLabelKeys is a set of pod label keys to select which pods will
  3820. be taken into consideration. The keys are used to lookup values from the
  3821. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  3822. to select the group of existing pods which pods will be taken into consideration
  3823. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  3824. pod labels will be ignored. The default value is empty.
  3825. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  3826. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  3827. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  3828. items:
  3829. type: string
  3830. type: array
  3831. x-kubernetes-list-type: atomic
  3832. mismatchLabelKeys:
  3833. description: |-
  3834. MismatchLabelKeys is a set of pod label keys to select which pods will
  3835. be taken into consideration. The keys are used to lookup values from the
  3836. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  3837. to select the group of existing pods which pods will be taken into consideration
  3838. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  3839. pod labels will be ignored. The default value is empty.
  3840. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  3841. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  3842. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  3843. items:
  3844. type: string
  3845. type: array
  3846. x-kubernetes-list-type: atomic
  3847. namespaceSelector:
  3848. description: |-
  3849. A label query over the set of namespaces that the term applies to.
  3850. The term is applied to the union of the namespaces selected by this field
  3851. and the ones listed in the namespaces field.
  3852. null selector and null or empty namespaces list means "this pod's namespace".
  3853. An empty selector ({}) matches all namespaces.
  3854. properties:
  3855. matchExpressions:
  3856. description: matchExpressions is a list
  3857. of label selector requirements. The
  3858. requirements are ANDed.
  3859. items:
  3860. description: |-
  3861. A label selector requirement is a selector that contains values, a key, and an operator that
  3862. relates the key and values.
  3863. properties:
  3864. key:
  3865. description: key is the label
  3866. key that the selector applies
  3867. to.
  3868. type: string
  3869. operator:
  3870. description: |-
  3871. operator represents a key's relationship to a set of values.
  3872. Valid operators are In, NotIn, Exists and DoesNotExist.
  3873. type: string
  3874. values:
  3875. description: |-
  3876. values is an array of string values. If the operator is In or NotIn,
  3877. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3878. the values array must be empty. This array is replaced during a strategic
  3879. merge patch.
  3880. items:
  3881. type: string
  3882. type: array
  3883. x-kubernetes-list-type: atomic
  3884. required:
  3885. - key
  3886. - operator
  3887. type: object
  3888. type: array
  3889. x-kubernetes-list-type: atomic
  3890. matchLabels:
  3891. additionalProperties:
  3892. type: string
  3893. description: |-
  3894. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3895. map is equivalent to an element of matchExpressions, whose key field is "key", the
  3896. operator is "In", and the values array contains only "value". The requirements are ANDed.
  3897. type: object
  3898. type: object
  3899. x-kubernetes-map-type: atomic
  3900. namespaces:
  3901. description: |-
  3902. namespaces specifies a static list of namespace names that the term applies to.
  3903. The term is applied to the union of the namespaces listed in this field
  3904. and the ones selected by namespaceSelector.
  3905. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  3906. items:
  3907. type: string
  3908. type: array
  3909. x-kubernetes-list-type: atomic
  3910. topologyKey:
  3911. description: |-
  3912. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  3913. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  3914. whose value of the label with key topologyKey matches that of any node on which any of the
  3915. selected pods is running.
  3916. Empty topologyKey is not allowed.
  3917. type: string
  3918. required:
  3919. - topologyKey
  3920. type: object
  3921. weight:
  3922. description: |-
  3923. weight associated with matching the corresponding podAffinityTerm,
  3924. in the range 1-100.
  3925. format: int32
  3926. type: integer
  3927. required:
  3928. - podAffinityTerm
  3929. - weight
  3930. type: object
  3931. type: array
  3932. x-kubernetes-list-type: atomic
  3933. requiredDuringSchedulingIgnoredDuringExecution:
  3934. description: |-
  3935. If the affinity requirements specified by this field are not met at
  3936. scheduling time, the pod will not be scheduled onto the node.
  3937. If the affinity requirements specified by this field cease to be met
  3938. at some point during pod execution (e.g. due to a pod label update), the
  3939. system may or may not try to eventually evict the pod from its node.
  3940. When there are multiple elements, the lists of nodes corresponding to each
  3941. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  3942. items:
  3943. description: |-
  3944. Defines a set of pods (namely those matching the labelSelector
  3945. relative to the given namespace(s)) that this pod should be
  3946. co-located (affinity) or not co-located (anti-affinity) with,
  3947. where co-located is defined as running on a node whose value of
  3948. the label with key <topologyKey> matches that of any node on which
  3949. a pod of the set of pods is running
  3950. properties:
  3951. labelSelector:
  3952. description: |-
  3953. A label query over a set of resources, in this case pods.
  3954. If it's null, this PodAffinityTerm matches with no Pods.
  3955. properties:
  3956. matchExpressions:
  3957. description: matchExpressions is a list
  3958. of label selector requirements. The requirements
  3959. are ANDed.
  3960. items:
  3961. description: |-
  3962. A label selector requirement is a selector that contains values, a key, and an operator that
  3963. relates the key and values.
  3964. properties:
  3965. key:
  3966. description: key is the label key
  3967. that the selector applies to.
  3968. type: string
  3969. operator:
  3970. description: |-
  3971. operator represents a key's relationship to a set of values.
  3972. Valid operators are In, NotIn, Exists and DoesNotExist.
  3973. type: string
  3974. values:
  3975. description: |-
  3976. values is an array of string values. If the operator is In or NotIn,
  3977. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  3978. the values array must be empty. This array is replaced during a strategic
  3979. merge patch.
  3980. items:
  3981. type: string
  3982. type: array
  3983. x-kubernetes-list-type: atomic
  3984. required:
  3985. - key
  3986. - operator
  3987. type: object
  3988. type: array
  3989. x-kubernetes-list-type: atomic
  3990. matchLabels:
  3991. additionalProperties:
  3992. type: string
  3993. description: |-
  3994. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  3995. map is equivalent to an element of matchExpressions, whose key field is "key", the
  3996. operator is "In", and the values array contains only "value". The requirements are ANDed.
  3997. type: object
  3998. type: object
  3999. x-kubernetes-map-type: atomic
  4000. matchLabelKeys:
  4001. description: |-
  4002. MatchLabelKeys is a set of pod label keys to select which pods will
  4003. be taken into consideration. The keys are used to lookup values from the
  4004. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  4005. to select the group of existing pods which pods will be taken into consideration
  4006. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4007. pod labels will be ignored. The default value is empty.
  4008. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4009. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4010. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  4011. items:
  4012. type: string
  4013. type: array
  4014. x-kubernetes-list-type: atomic
  4015. mismatchLabelKeys:
  4016. description: |-
  4017. MismatchLabelKeys is a set of pod label keys to select which pods will
  4018. be taken into consideration. The keys are used to lookup values from the
  4019. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  4020. to select the group of existing pods which pods will be taken into consideration
  4021. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4022. pod labels will be ignored. The default value is empty.
  4023. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4024. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4025. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  4026. items:
  4027. type: string
  4028. type: array
  4029. x-kubernetes-list-type: atomic
  4030. namespaceSelector:
  4031. description: |-
  4032. A label query over the set of namespaces that the term applies to.
  4033. The term is applied to the union of the namespaces selected by this field
  4034. and the ones listed in the namespaces field.
  4035. null selector and null or empty namespaces list means "this pod's namespace".
  4036. An empty selector ({}) matches all namespaces.
  4037. properties:
  4038. matchExpressions:
  4039. description: matchExpressions is a list
  4040. of label selector requirements. The requirements
  4041. are ANDed.
  4042. items:
  4043. description: |-
  4044. A label selector requirement is a selector that contains values, a key, and an operator that
  4045. relates the key and values.
  4046. properties:
  4047. key:
  4048. description: key is the label key
  4049. that the selector applies to.
  4050. type: string
  4051. operator:
  4052. description: |-
  4053. operator represents a key's relationship to a set of values.
  4054. Valid operators are In, NotIn, Exists and DoesNotExist.
  4055. type: string
  4056. values:
  4057. description: |-
  4058. values is an array of string values. If the operator is In or NotIn,
  4059. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4060. the values array must be empty. This array is replaced during a strategic
  4061. merge patch.
  4062. items:
  4063. type: string
  4064. type: array
  4065. x-kubernetes-list-type: atomic
  4066. required:
  4067. - key
  4068. - operator
  4069. type: object
  4070. type: array
  4071. x-kubernetes-list-type: atomic
  4072. matchLabels:
  4073. additionalProperties:
  4074. type: string
  4075. description: |-
  4076. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4077. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4078. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4079. type: object
  4080. type: object
  4081. x-kubernetes-map-type: atomic
  4082. namespaces:
  4083. description: |-
  4084. namespaces specifies a static list of namespace names that the term applies to.
  4085. The term is applied to the union of the namespaces listed in this field
  4086. and the ones selected by namespaceSelector.
  4087. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4088. items:
  4089. type: string
  4090. type: array
  4091. x-kubernetes-list-type: atomic
  4092. topologyKey:
  4093. description: |-
  4094. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4095. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4096. whose value of the label with key topologyKey matches that of any node on which any of the
  4097. selected pods is running.
  4098. Empty topologyKey is not allowed.
  4099. type: string
  4100. required:
  4101. - topologyKey
  4102. type: object
  4103. type: array
  4104. x-kubernetes-list-type: atomic
  4105. type: object
  4106. podAntiAffinity:
  4107. description: Describes pod anti-affinity scheduling rules
  4108. (e.g. avoid putting this pod in the same node, zone,
  4109. etc. as some other pod(s)).
  4110. properties:
  4111. preferredDuringSchedulingIgnoredDuringExecution:
  4112. description: |-
  4113. The scheduler will prefer to schedule pods to nodes that satisfy
  4114. the anti-affinity expressions specified by this field, but it may choose
  4115. a node that violates one or more of the expressions. The node that is
  4116. most preferred is the one with the greatest sum of weights, i.e.
  4117. for each node that meets all of the scheduling requirements (resource
  4118. request, requiredDuringScheduling anti-affinity expressions, etc.),
  4119. compute a sum by iterating through the elements of this field and adding
  4120. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  4121. node(s) with the highest sum are the most preferred.
  4122. items:
  4123. description: The weights of all of the matched WeightedPodAffinityTerm
  4124. fields are added per-node to find the most preferred
  4125. node(s)
  4126. properties:
  4127. podAffinityTerm:
  4128. description: Required. A pod affinity term,
  4129. associated with the corresponding weight.
  4130. properties:
  4131. labelSelector:
  4132. description: |-
  4133. A label query over a set of resources, in this case pods.
  4134. If it's null, this PodAffinityTerm matches with no Pods.
  4135. properties:
  4136. matchExpressions:
  4137. description: matchExpressions is a list
  4138. of label selector requirements. The
  4139. requirements are ANDed.
  4140. items:
  4141. description: |-
  4142. A label selector requirement is a selector that contains values, a key, and an operator that
  4143. relates the key and values.
  4144. properties:
  4145. key:
  4146. description: key is the label
  4147. key that the selector applies
  4148. to.
  4149. type: string
  4150. operator:
  4151. description: |-
  4152. operator represents a key's relationship to a set of values.
  4153. Valid operators are In, NotIn, Exists and DoesNotExist.
  4154. type: string
  4155. values:
  4156. description: |-
  4157. values is an array of string values. If the operator is In or NotIn,
  4158. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4159. the values array must be empty. This array is replaced during a strategic
  4160. merge patch.
  4161. items:
  4162. type: string
  4163. type: array
  4164. x-kubernetes-list-type: atomic
  4165. required:
  4166. - key
  4167. - operator
  4168. type: object
  4169. type: array
  4170. x-kubernetes-list-type: atomic
  4171. matchLabels:
  4172. additionalProperties:
  4173. type: string
  4174. description: |-
  4175. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4176. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4177. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4178. type: object
  4179. type: object
  4180. x-kubernetes-map-type: atomic
  4181. matchLabelKeys:
  4182. description: |-
  4183. MatchLabelKeys is a set of pod label keys to select which pods will
  4184. be taken into consideration. The keys are used to lookup values from the
  4185. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  4186. to select the group of existing pods which pods will be taken into consideration
  4187. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4188. pod labels will be ignored. The default value is empty.
  4189. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4190. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4191. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  4192. items:
  4193. type: string
  4194. type: array
  4195. x-kubernetes-list-type: atomic
  4196. mismatchLabelKeys:
  4197. description: |-
  4198. MismatchLabelKeys is a set of pod label keys to select which pods will
  4199. be taken into consideration. The keys are used to lookup values from the
  4200. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  4201. to select the group of existing pods which pods will be taken into consideration
  4202. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4203. pod labels will be ignored. The default value is empty.
  4204. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4205. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4206. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  4207. items:
  4208. type: string
  4209. type: array
  4210. x-kubernetes-list-type: atomic
  4211. namespaceSelector:
  4212. description: |-
  4213. A label query over the set of namespaces that the term applies to.
  4214. The term is applied to the union of the namespaces selected by this field
  4215. and the ones listed in the namespaces field.
  4216. null selector and null or empty namespaces list means "this pod's namespace".
  4217. An empty selector ({}) matches all namespaces.
  4218. properties:
  4219. matchExpressions:
  4220. description: matchExpressions is a list
  4221. of label selector requirements. The
  4222. requirements are ANDed.
  4223. items:
  4224. description: |-
  4225. A label selector requirement is a selector that contains values, a key, and an operator that
  4226. relates the key and values.
  4227. properties:
  4228. key:
  4229. description: key is the label
  4230. key that the selector applies
  4231. to.
  4232. type: string
  4233. operator:
  4234. description: |-
  4235. operator represents a key's relationship to a set of values.
  4236. Valid operators are In, NotIn, Exists and DoesNotExist.
  4237. type: string
  4238. values:
  4239. description: |-
  4240. values is an array of string values. If the operator is In or NotIn,
  4241. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4242. the values array must be empty. This array is replaced during a strategic
  4243. merge patch.
  4244. items:
  4245. type: string
  4246. type: array
  4247. x-kubernetes-list-type: atomic
  4248. required:
  4249. - key
  4250. - operator
  4251. type: object
  4252. type: array
  4253. x-kubernetes-list-type: atomic
  4254. matchLabels:
  4255. additionalProperties:
  4256. type: string
  4257. description: |-
  4258. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4259. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4260. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4261. type: object
  4262. type: object
  4263. x-kubernetes-map-type: atomic
  4264. namespaces:
  4265. description: |-
  4266. namespaces specifies a static list of namespace names that the term applies to.
  4267. The term is applied to the union of the namespaces listed in this field
  4268. and the ones selected by namespaceSelector.
  4269. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4270. items:
  4271. type: string
  4272. type: array
  4273. x-kubernetes-list-type: atomic
  4274. topologyKey:
  4275. description: |-
  4276. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4277. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4278. whose value of the label with key topologyKey matches that of any node on which any of the
  4279. selected pods is running.
  4280. Empty topologyKey is not allowed.
  4281. type: string
  4282. required:
  4283. - topologyKey
  4284. type: object
  4285. weight:
  4286. description: |-
  4287. weight associated with matching the corresponding podAffinityTerm,
  4288. in the range 1-100.
  4289. format: int32
  4290. type: integer
  4291. required:
  4292. - podAffinityTerm
  4293. - weight
  4294. type: object
  4295. type: array
  4296. x-kubernetes-list-type: atomic
  4297. requiredDuringSchedulingIgnoredDuringExecution:
  4298. description: |-
  4299. If the anti-affinity requirements specified by this field are not met at
  4300. scheduling time, the pod will not be scheduled onto the node.
  4301. If the anti-affinity requirements specified by this field cease to be met
  4302. at some point during pod execution (e.g. due to a pod label update), the
  4303. system may or may not try to eventually evict the pod from its node.
  4304. When there are multiple elements, the lists of nodes corresponding to each
  4305. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  4306. items:
  4307. description: |-
  4308. Defines a set of pods (namely those matching the labelSelector
  4309. relative to the given namespace(s)) that this pod should be
  4310. co-located (affinity) or not co-located (anti-affinity) with,
  4311. where co-located is defined as running on a node whose value of
  4312. the label with key <topologyKey> matches that of any node on which
  4313. a pod of the set of pods is running
  4314. properties:
  4315. labelSelector:
  4316. description: |-
  4317. A label query over a set of resources, in this case pods.
  4318. If it's null, this PodAffinityTerm matches with no Pods.
  4319. properties:
  4320. matchExpressions:
  4321. description: matchExpressions is a list
  4322. of label selector requirements. The requirements
  4323. are ANDed.
  4324. items:
  4325. description: |-
  4326. A label selector requirement is a selector that contains values, a key, and an operator that
  4327. relates the key and values.
  4328. properties:
  4329. key:
  4330. description: key is the label key
  4331. that the selector applies to.
  4332. type: string
  4333. operator:
  4334. description: |-
  4335. operator represents a key's relationship to a set of values.
  4336. Valid operators are In, NotIn, Exists and DoesNotExist.
  4337. type: string
  4338. values:
  4339. description: |-
  4340. values is an array of string values. If the operator is In or NotIn,
  4341. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4342. the values array must be empty. This array is replaced during a strategic
  4343. merge patch.
  4344. items:
  4345. type: string
  4346. type: array
  4347. x-kubernetes-list-type: atomic
  4348. required:
  4349. - key
  4350. - operator
  4351. type: object
  4352. type: array
  4353. x-kubernetes-list-type: atomic
  4354. matchLabels:
  4355. additionalProperties:
  4356. type: string
  4357. description: |-
  4358. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4359. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4360. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4361. type: object
  4362. type: object
  4363. x-kubernetes-map-type: atomic
  4364. matchLabelKeys:
  4365. description: |-
  4366. MatchLabelKeys is a set of pod label keys to select which pods will
  4367. be taken into consideration. The keys are used to lookup values from the
  4368. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  4369. to select the group of existing pods which pods will be taken into consideration
  4370. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4371. pod labels will be ignored. The default value is empty.
  4372. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  4373. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  4374. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  4375. items:
  4376. type: string
  4377. type: array
  4378. x-kubernetes-list-type: atomic
  4379. mismatchLabelKeys:
  4380. description: |-
  4381. MismatchLabelKeys is a set of pod label keys to select which pods will
  4382. be taken into consideration. The keys are used to lookup values from the
  4383. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  4384. to select the group of existing pods which pods will be taken into consideration
  4385. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  4386. pod labels will be ignored. The default value is empty.
  4387. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  4388. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  4389. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  4390. items:
  4391. type: string
  4392. type: array
  4393. x-kubernetes-list-type: atomic
  4394. namespaceSelector:
  4395. description: |-
  4396. A label query over the set of namespaces that the term applies to.
  4397. The term is applied to the union of the namespaces selected by this field
  4398. and the ones listed in the namespaces field.
  4399. null selector and null or empty namespaces list means "this pod's namespace".
  4400. An empty selector ({}) matches all namespaces.
  4401. properties:
  4402. matchExpressions:
  4403. description: matchExpressions is a list
  4404. of label selector requirements. The requirements
  4405. are ANDed.
  4406. items:
  4407. description: |-
  4408. A label selector requirement is a selector that contains values, a key, and an operator that
  4409. relates the key and values.
  4410. properties:
  4411. key:
  4412. description: key is the label key
  4413. that the selector applies to.
  4414. type: string
  4415. operator:
  4416. description: |-
  4417. operator represents a key's relationship to a set of values.
  4418. Valid operators are In, NotIn, Exists and DoesNotExist.
  4419. type: string
  4420. values:
  4421. description: |-
  4422. values is an array of string values. If the operator is In or NotIn,
  4423. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  4424. the values array must be empty. This array is replaced during a strategic
  4425. merge patch.
  4426. items:
  4427. type: string
  4428. type: array
  4429. x-kubernetes-list-type: atomic
  4430. required:
  4431. - key
  4432. - operator
  4433. type: object
  4434. type: array
  4435. x-kubernetes-list-type: atomic
  4436. matchLabels:
  4437. additionalProperties:
  4438. type: string
  4439. description: |-
  4440. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  4441. map is equivalent to an element of matchExpressions, whose key field is "key", the
  4442. operator is "In", and the values array contains only "value". The requirements are ANDed.
  4443. type: object
  4444. type: object
  4445. x-kubernetes-map-type: atomic
  4446. namespaces:
  4447. description: |-
  4448. namespaces specifies a static list of namespace names that the term applies to.
  4449. The term is applied to the union of the namespaces listed in this field
  4450. and the ones selected by namespaceSelector.
  4451. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  4452. items:
  4453. type: string
  4454. type: array
  4455. x-kubernetes-list-type: atomic
  4456. topologyKey:
  4457. description: |-
  4458. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  4459. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  4460. whose value of the label with key topologyKey matches that of any node on which any of the
  4461. selected pods is running.
  4462. Empty topologyKey is not allowed.
  4463. type: string
  4464. required:
  4465. - topologyKey
  4466. type: object
  4467. type: array
  4468. x-kubernetes-list-type: atomic
  4469. type: object
  4470. type: object
  4471. nodeSelector:
  4472. additionalProperties:
  4473. type: string
  4474. description: nodeSelector pins pods to nodes that match all
  4475. the specified labels.
  4476. type: object
  4477. resources:
  4478. description: resources sets per-container resource requests
  4479. and limits.
  4480. properties:
  4481. claims:
  4482. description: |-
  4483. Claims lists the names of resources, defined in spec.resourceClaims,
  4484. that are used by this container.
  4485. This is an alpha field and requires enabling the
  4486. DynamicResourceAllocation feature gate.
  4487. This field is immutable. It can only be set for containers.
  4488. items:
  4489. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  4490. properties:
  4491. name:
  4492. description: |-
  4493. Name must match the name of one entry in pod.spec.resourceClaims of
  4494. the Pod where this field is used. It makes that resource available
  4495. inside a container.
  4496. type: string
  4497. required:
  4498. - name
  4499. type: object
  4500. type: array
  4501. x-kubernetes-list-map-keys:
  4502. - name
  4503. x-kubernetes-list-type: map
  4504. limits:
  4505. additionalProperties:
  4506. anyOf:
  4507. - type: integer
  4508. - type: string
  4509. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4510. x-kubernetes-int-or-string: true
  4511. description: |-
  4512. Limits describes the maximum amount of compute resources allowed.
  4513. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  4514. type: object
  4515. requests:
  4516. additionalProperties:
  4517. anyOf:
  4518. - type: integer
  4519. - type: string
  4520. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4521. x-kubernetes-int-or-string: true
  4522. description: |-
  4523. Requests describes the minimum amount of compute resources required.
  4524. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  4525. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  4526. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  4527. type: object
  4528. type: object
  4529. runtime:
  4530. description: runtime describes the container runtime to use
  4531. for the workload.
  4532. properties:
  4533. args:
  4534. description: args specifies or overrides the preset's
  4535. container command.
  4536. items:
  4537. type: string
  4538. type: array
  4539. command:
  4540. description: command specifies or overrides the preset's
  4541. container entrypoint.
  4542. items:
  4543. type: string
  4544. type: array
  4545. conditionalArgs:
  4546. description: conditionalArgs are appended to the preset
  4547. command conditionally.
  4548. items:
  4549. properties:
  4550. args:
  4551. description: args are appended to the preset args.
  4552. items:
  4553. type: string
  4554. type: array
  4555. when:
  4556. description: when the value is not empty after variable
  4557. substitution, the args are appended to the preset
  4558. args.
  4559. type: string
  4560. required:
  4561. - args
  4562. - when
  4563. type: object
  4564. type: array
  4565. env:
  4566. description: env holds environment variables injected
  4567. into the container.
  4568. items:
  4569. description: EnvVar represents an environment variable
  4570. present in a Container.
  4571. properties:
  4572. name:
  4573. description: Name of the environment variable. Must
  4574. be a C_IDENTIFIER.
  4575. type: string
  4576. value:
  4577. description: |-
  4578. Variable references $(VAR_NAME) are expanded
  4579. using the previously defined environment variables in the container and
  4580. any service environment variables. If a variable cannot be resolved,
  4581. the reference in the input string will be unchanged. Double $$ are reduced
  4582. to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
  4583. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  4584. Escaped references will never be expanded, regardless of whether the variable
  4585. exists or not.
  4586. Defaults to "".
  4587. type: string
  4588. valueFrom:
  4589. description: Source for the environment variable's
  4590. value. Cannot be used if value is not empty.
  4591. properties:
  4592. configMapKeyRef:
  4593. description: Selects a key of a ConfigMap.
  4594. properties:
  4595. key:
  4596. description: The key to select.
  4597. type: string
  4598. name:
  4599. default: ""
  4600. description: |-
  4601. Name of the referent.
  4602. This field is effectively required, but due to backwards compatibility is
  4603. allowed to be empty. Instances of this type with an empty value here are
  4604. almost certainly wrong.
  4605. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4606. type: string
  4607. optional:
  4608. description: Specify whether the ConfigMap
  4609. or its key must be defined
  4610. type: boolean
  4611. required:
  4612. - key
  4613. type: object
  4614. x-kubernetes-map-type: atomic
  4615. fieldRef:
  4616. description: |-
  4617. Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
  4618. spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
  4619. properties:
  4620. apiVersion:
  4621. description: Version of the schema the FieldPath
  4622. is written in terms of, defaults to "v1".
  4623. type: string
  4624. fieldPath:
  4625. description: Path of the field to select
  4626. in the specified API version.
  4627. type: string
  4628. required:
  4629. - fieldPath
  4630. type: object
  4631. x-kubernetes-map-type: atomic
  4632. resourceFieldRef:
  4633. description: |-
  4634. Selects a resource of the container: only resources limits and requests
  4635. (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
  4636. properties:
  4637. containerName:
  4638. description: 'Container name: required for
  4639. volumes, optional for env vars'
  4640. type: string
  4641. divisor:
  4642. anyOf:
  4643. - type: integer
  4644. - type: string
  4645. description: Specifies the output format
  4646. of the exposed resources, defaults to
  4647. "1"
  4648. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4649. x-kubernetes-int-or-string: true
  4650. resource:
  4651. description: 'Required: resource to select'
  4652. type: string
  4653. required:
  4654. - resource
  4655. type: object
  4656. x-kubernetes-map-type: atomic
  4657. secretKeyRef:
  4658. description: Selects a key of a secret in the
  4659. pod's namespace
  4660. properties:
  4661. key:
  4662. description: The key of the secret to select
  4663. from. Must be a valid secret key.
  4664. type: string
  4665. name:
  4666. default: ""
  4667. description: |-
  4668. Name of the referent.
  4669. This field is effectively required, but due to backwards compatibility is
  4670. allowed to be empty. Instances of this type with an empty value here are
  4671. almost certainly wrong.
  4672. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4673. type: string
  4674. optional:
  4675. description: Specify whether the Secret
  4676. or its key must be defined
  4677. type: boolean
  4678. required:
  4679. - key
  4680. type: object
  4681. x-kubernetes-map-type: atomic
  4682. type: object
  4683. required:
  4684. - name
  4685. type: object
  4686. type: array
  4687. envFrom:
  4688. description: envFrom references ConfigMaps or Secrets
  4689. whose key-value pairs are injected as environment variables.
  4690. items:
  4691. description: EnvFromSource represents the source of
  4692. a set of ConfigMaps
  4693. properties:
  4694. configMapRef:
  4695. description: The ConfigMap to select from
  4696. properties:
  4697. name:
  4698. default: ""
  4699. description: |-
  4700. Name of the referent.
  4701. This field is effectively required, but due to backwards compatibility is
  4702. allowed to be empty. Instances of this type with an empty value here are
  4703. almost certainly wrong.
  4704. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4705. type: string
  4706. optional:
  4707. description: Specify whether the ConfigMap must
  4708. be defined
  4709. type: boolean
  4710. type: object
  4711. x-kubernetes-map-type: atomic
  4712. prefix:
  4713. description: An optional identifier to prepend to
  4714. each key in the ConfigMap. Must be a C_IDENTIFIER.
  4715. type: string
  4716. secretRef:
  4717. description: The Secret to select from
  4718. properties:
  4719. name:
  4720. default: ""
  4721. description: |-
  4722. Name of the referent.
  4723. This field is effectively required, but due to backwards compatibility is
  4724. allowed to be empty. Instances of this type with an empty value here are
  4725. almost certainly wrong.
  4726. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4727. type: string
  4728. optional:
  4729. description: Specify whether the Secret must
  4730. be defined
  4731. type: boolean
  4732. type: object
  4733. x-kubernetes-map-type: atomic
  4734. type: object
  4735. type: array
  4736. extraArgs:
  4737. description: extraArgs are appended to the preset command.
  4738. items:
  4739. type: string
  4740. type: array
  4741. image:
  4742. description: |-
  4743. image specifies or overrides the preset's container image, e.g. to pin a specific tag
  4744. or pull from a private registry mirror.
  4745. type: string
  4746. name:
  4747. description: name selects a built-in runtime preset.
  4748. type: string
  4749. port:
  4750. description: port specifies or overrides the container
  4751. port the runtime listens on.
  4752. format: int32
  4753. type: integer
  4754. volumeMounts:
  4755. description: volumeMounts defines where pod volumes are
  4756. mounted inside the container.
  4757. items:
  4758. description: VolumeMount describes a mounting of a Volume
  4759. within a container.
  4760. properties:
  4761. mountPath:
  4762. description: |-
  4763. Path within the container at which the volume should be mounted. Must
  4764. not contain ':'.
  4765. type: string
  4766. mountPropagation:
  4767. description: |-
  4768. mountPropagation determines how mounts are propagated from the host
  4769. to container and the other way around.
  4770. When not set, MountPropagationNone is used.
  4771. This field is beta in 1.10.
  4772. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
  4773. (which defaults to None).
  4774. type: string
  4775. name:
  4776. description: This must match the Name of a Volume.
  4777. type: string
  4778. readOnly:
  4779. description: |-
  4780. Mounted read-only if true, read-write otherwise (false or unspecified).
  4781. Defaults to false.
  4782. type: boolean
  4783. recursiveReadOnly:
  4784. description: |-
  4785. RecursiveReadOnly specifies whether read-only mounts should be handled
  4786. recursively.
  4787. If ReadOnly is false, this field has no meaning and must be unspecified.
  4788. If ReadOnly is true, and this field is set to Disabled, the mount is not made
  4789. recursively read-only. If this field is set to IfPossible, the mount is made
  4790. recursively read-only, if it is supported by the container runtime. If this
  4791. field is set to Enabled, the mount is made recursively read-only if it is
  4792. supported by the container runtime, otherwise the pod will not be started and
  4793. an error will be generated to indicate the reason.
  4794. If this field is set to IfPossible or Enabled, MountPropagation must be set to
  4795. None (or be unspecified, which defaults to None).
  4796. If this field is not specified, it is treated as an equivalent of Disabled.
  4797. type: string
  4798. subPath:
  4799. description: |-
  4800. Path within the volume from which the container's volume should be mounted.
  4801. Defaults to "" (volume's root).
  4802. type: string
  4803. subPathExpr:
  4804. description: |-
  4805. Expanded path within the volume from which the container's volume should be mounted.
  4806. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
  4807. Defaults to "" (volume's root).
  4808. SubPathExpr and SubPath are mutually exclusive.
  4809. type: string
  4810. required:
  4811. - mountPath
  4812. - name
  4813. type: object
  4814. type: array
  4815. type: object
  4816. securityContext:
  4817. description: |-
  4818. securityContext sets pod-level security attributes such as runAsUser,
  4819. runAsGroup, fsGroup, and sysctls.
  4820. properties:
  4821. appArmorProfile:
  4822. description: |-
  4823. appArmorProfile is the AppArmor options to use by the containers in this pod.
  4824. Note that this field cannot be set when spec.os.name is windows.
  4825. properties:
  4826. localhostProfile:
  4827. description: |-
  4828. localhostProfile indicates a profile loaded on the node that should be used.
  4829. The profile must be preconfigured on the node to work.
  4830. Must match the loaded name of the profile.
  4831. Must be set if and only if type is "Localhost".
  4832. type: string
  4833. type:
  4834. description: |-
  4835. type indicates which kind of AppArmor profile will be applied.
  4836. Valid options are:
  4837. Localhost - a profile pre-loaded on the node.
  4838. RuntimeDefault - the container runtime's default profile.
  4839. Unconfined - no AppArmor enforcement.
  4840. type: string
  4841. required:
  4842. - type
  4843. type: object
  4844. fsGroup:
  4845. description: |-
  4846. A special supplemental group that applies to all containers in a pod.
  4847. Some volume types allow the Kubelet to change the ownership of that volume
  4848. to be owned by the pod:
  4849. 1. The owning GID will be the FSGroup
  4850. 2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
  4851. 3. The permission bits are OR'd with rw-rw----
  4852. If unset, the Kubelet will not modify the ownership and permissions of any volume.
  4853. Note that this field cannot be set when spec.os.name is windows.
  4854. format: int64
  4855. type: integer
  4856. fsGroupChangePolicy:
  4857. description: |-
  4858. fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
  4859. before being exposed inside Pod. This field will only apply to
  4860. volume types which support fsGroup based ownership(and permissions).
  4861. It will have no effect on ephemeral volume types such as: secret, configmaps
  4862. and emptydir.
  4863. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
  4864. Note that this field cannot be set when spec.os.name is windows.
  4865. type: string
  4866. runAsGroup:
  4867. description: |-
  4868. The GID to run the entrypoint of the container process.
  4869. Uses runtime default if unset.
  4870. May also be set in SecurityContext. If set in both SecurityContext and
  4871. PodSecurityContext, the value specified in SecurityContext takes precedence
  4872. for that container.
  4873. Note that this field cannot be set when spec.os.name is windows.
  4874. format: int64
  4875. type: integer
  4876. runAsNonRoot:
  4877. description: |-
  4878. Indicates that the container must run as a non-root user.
  4879. If true, the Kubelet will validate the image at runtime to ensure that it
  4880. does not run as UID 0 (root) and fail to start the container if it does.
  4881. If unset or false, no such validation will be performed.
  4882. May also be set in SecurityContext. If set in both SecurityContext and
  4883. PodSecurityContext, the value specified in SecurityContext takes precedence.
  4884. type: boolean
  4885. runAsUser:
  4886. description: |-
  4887. The UID to run the entrypoint of the container process.
  4888. Defaults to user specified in image metadata if unspecified.
  4889. May also be set in SecurityContext. If set in both SecurityContext and
  4890. PodSecurityContext, the value specified in SecurityContext takes precedence
  4891. for that container.
  4892. Note that this field cannot be set when spec.os.name is windows.
  4893. format: int64
  4894. type: integer
  4895. seLinuxOptions:
  4896. description: |-
  4897. The SELinux context to be applied to all containers.
  4898. If unspecified, the container runtime will allocate a random SELinux context for each
  4899. container. May also be set in SecurityContext. If set in
  4900. both SecurityContext and PodSecurityContext, the value specified in SecurityContext
  4901. takes precedence for that container.
  4902. Note that this field cannot be set when spec.os.name is windows.
  4903. properties:
  4904. level:
  4905. description: Level is SELinux level label that applies
  4906. to the container.
  4907. type: string
  4908. role:
  4909. description: Role is a SELinux role label that applies
  4910. to the container.
  4911. type: string
  4912. type:
  4913. description: Type is a SELinux type label that applies
  4914. to the container.
  4915. type: string
  4916. user:
  4917. description: User is a SELinux user label that applies
  4918. to the container.
  4919. type: string
  4920. type: object
  4921. seccompProfile:
  4922. description: |-
  4923. The seccomp options to use by the containers in this pod.
  4924. Note that this field cannot be set when spec.os.name is windows.
  4925. properties:
  4926. localhostProfile:
  4927. description: |-
  4928. localhostProfile indicates a profile defined in a file on the node should be used.
  4929. The profile must be preconfigured on the node to work.
  4930. Must be a descending path, relative to the kubelet's configured seccomp profile location.
  4931. Must be set if type is "Localhost". Must NOT be set for any other type.
  4932. type: string
  4933. type:
  4934. description: |-
  4935. type indicates which kind of seccomp profile will be applied.
  4936. Valid options are:
  4937. Localhost - a profile defined in a file on the node should be used.
  4938. RuntimeDefault - the container runtime default profile should be used.
  4939. Unconfined - no profile should be applied.
  4940. type: string
  4941. required:
  4942. - type
  4943. type: object
  4944. supplementalGroups:
  4945. description: |-
  4946. A list of groups applied to the first process run in each container, in addition
  4947. to the container's primary GID, the fsGroup (if specified), and group memberships
  4948. defined in the container image for the uid of the container process. If unspecified,
  4949. no additional groups are added to any container. Note that group memberships
  4950. defined in the container image for the uid of the container process are still effective,
  4951. even if they are not included in this list.
  4952. Note that this field cannot be set when spec.os.name is windows.
  4953. items:
  4954. format: int64
  4955. type: integer
  4956. type: array
  4957. x-kubernetes-list-type: atomic
  4958. sysctls:
  4959. description: |-
  4960. Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
  4961. sysctls (by the container runtime) might fail to launch.
  4962. Note that this field cannot be set when spec.os.name is windows.
  4963. items:
  4964. description: Sysctl defines a kernel parameter to be
  4965. set
  4966. properties:
  4967. name:
  4968. description: Name of a property to set
  4969. type: string
  4970. value:
  4971. description: Value of a property to set
  4972. type: string
  4973. required:
  4974. - name
  4975. - value
  4976. type: object
  4977. type: array
  4978. x-kubernetes-list-type: atomic
  4979. windowsOptions:
  4980. description: |-
  4981. The Windows specific settings applied to all containers.
  4982. If unspecified, the options within a container's SecurityContext will be used.
  4983. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  4984. Note that this field cannot be set when spec.os.name is linux.
  4985. properties:
  4986. gmsaCredentialSpec:
  4987. description: |-
  4988. GMSACredentialSpec is where the GMSA admission webhook
  4989. (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
  4990. GMSA credential spec named by the GMSACredentialSpecName field.
  4991. type: string
  4992. gmsaCredentialSpecName:
  4993. description: GMSACredentialSpecName is the name of
  4994. the GMSA credential spec to use.
  4995. type: string
  4996. hostProcess:
  4997. description: |-
  4998. HostProcess determines if a container should be run as a 'Host Process' container.
  4999. All of a Pod's containers must have the same effective HostProcess value
  5000. (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
  5001. In addition, if HostProcess is true then HostNetwork must also be set to true.
  5002. type: boolean
  5003. runAsUserName:
  5004. description: |-
  5005. The UserName in Windows to run the entrypoint of the container process.
  5006. Defaults to the user specified in image metadata if unspecified.
  5007. May also be set in PodSecurityContext. If set in both SecurityContext and
  5008. PodSecurityContext, the value specified in SecurityContext takes precedence.
  5009. type: string
  5010. type: object
  5011. type: object
  5012. tolerations:
  5013. description: tolerations allow pods to be scheduled onto nodes
  5014. with matching taints.
  5015. items:
  5016. description: |-
  5017. The pod this Toleration is attached to tolerates any taint that matches
  5018. the triple <key,value,effect> using the matching operator <operator>.
  5019. properties:
  5020. effect:
  5021. description: |-
  5022. Effect indicates the taint effect to match. Empty means match all taint effects.
  5023. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  5024. type: string
  5025. key:
  5026. description: |-
  5027. Key is the taint key that the toleration applies to. Empty means match all taint keys.
  5028. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  5029. type: string
  5030. operator:
  5031. description: |-
  5032. Operator represents a key's relationship to the value.
  5033. Valid operators are Exists and Equal. Defaults to Equal.
  5034. Exists is equivalent to wildcard for value, so that a pod can
  5035. tolerate all taints of a particular category.
  5036. type: string
  5037. tolerationSeconds:
  5038. description: |-
  5039. TolerationSeconds represents the period of time the toleration (which must be
  5040. of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  5041. it is not set, which means tolerate the taint forever (do not evict). Zero and
  5042. negative values will be treated as 0 (evict immediately) by the system.
  5043. format: int64
  5044. type: integer
  5045. value:
  5046. description: |-
  5047. Value is the taint value the toleration matches to.
  5048. If the operator is Exists, the value should be empty, otherwise just a regular string.
  5049. type: string
  5050. type: object
  5051. type: array
  5052. topologySpreadConstraints:
  5053. description: |-
  5054. topologySpreadConstraints controls how pods are spread across failure
  5055. domains (zones, nodes). Prefer this over pod anti-affinity for HA spread.
  5056. items:
  5057. description: TopologySpreadConstraint specifies how to spread
  5058. matching pods among the given topology.
  5059. properties:
  5060. labelSelector:
  5061. description: |-
  5062. LabelSelector is used to find matching pods.
  5063. Pods that match this label selector are counted to determine the number of pods
  5064. in their corresponding topology domain.
  5065. properties:
  5066. matchExpressions:
  5067. description: matchExpressions is a list of label
  5068. selector requirements. The requirements are ANDed.
  5069. items:
  5070. description: |-
  5071. A label selector requirement is a selector that contains values, a key, and an operator that
  5072. relates the key and values.
  5073. properties:
  5074. key:
  5075. description: key is the label key that the
  5076. selector applies to.
  5077. type: string
  5078. operator:
  5079. description: |-
  5080. operator represents a key's relationship to a set of values.
  5081. Valid operators are In, NotIn, Exists and DoesNotExist.
  5082. type: string
  5083. values:
  5084. description: |-
  5085. values is an array of string values. If the operator is In or NotIn,
  5086. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5087. the values array must be empty. This array is replaced during a strategic
  5088. merge patch.
  5089. items:
  5090. type: string
  5091. type: array
  5092. x-kubernetes-list-type: atomic
  5093. required:
  5094. - key
  5095. - operator
  5096. type: object
  5097. type: array
  5098. x-kubernetes-list-type: atomic
  5099. matchLabels:
  5100. additionalProperties:
  5101. type: string
  5102. description: |-
  5103. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5104. map is equivalent to an element of matchExpressions, whose key field is "key", the
  5105. operator is "In", and the values array contains only "value". The requirements are ANDed.
  5106. type: object
  5107. type: object
  5108. x-kubernetes-map-type: atomic
  5109. matchLabelKeys:
  5110. description: |-
  5111. MatchLabelKeys is a set of pod label keys to select the pods over which
  5112. spreading will be calculated. The keys are used to lookup values from the
  5113. incoming pod labels, those key-value labels are ANDed with labelSelector
  5114. to select the group of existing pods over which spreading will be calculated
  5115. for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
  5116. MatchLabelKeys cannot be set when LabelSelector isn't set.
  5117. Keys that don't exist in the incoming pod labels will
  5118. be ignored. A null or empty list means only match against labelSelector.
  5119. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
  5120. items:
  5121. type: string
  5122. type: array
  5123. x-kubernetes-list-type: atomic
  5124. maxSkew:
  5125. description: |-
  5126. MaxSkew describes the degree to which pods may be unevenly distributed.
  5127. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
  5128. between the number of matching pods in the target topology and the global minimum.
  5129. The global minimum is the minimum number of matching pods in an eligible domain
  5130. or zero if the number of eligible domains is less than MinDomains.
  5131. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  5132. labelSelector spread as 2/2/1:
  5133. In this case, the global minimum is 1.
  5134. | zone1 | zone2 | zone3 |
  5135. | P P | P P | P |
  5136. - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
  5137. scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
  5138. violate MaxSkew(1).
  5139. - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
  5140. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
  5141. to topologies that satisfy it.
  5142. It's a required field. Default value is 1 and 0 is not allowed.
  5143. format: int32
  5144. type: integer
  5145. minDomains:
  5146. description: |-
  5147. MinDomains indicates a minimum number of eligible domains.
  5148. When the number of eligible domains with matching topology keys is less than minDomains,
  5149. Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
  5150. And when the number of eligible domains with matching topology keys equals or greater than minDomains,
  5151. this value has no effect on scheduling.
  5152. As a result, when the number of eligible domains is less than minDomains,
  5153. scheduler won't schedule more than maxSkew Pods to those domains.
  5154. If value is nil, the constraint behaves as if MinDomains is equal to 1.
  5155. Valid values are integers greater than 0.
  5156. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
  5157. For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
  5158. labelSelector spread as 2/2/2:
  5159. | zone1 | zone2 | zone3 |
  5160. | P P | P P | P P |
  5161. The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
  5162. In this situation, new pod with the same labelSelector cannot be scheduled,
  5163. because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
  5164. it will violate MaxSkew.
  5165. format: int32
  5166. type: integer
  5167. nodeAffinityPolicy:
  5168. description: |-
  5169. NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
  5170. when calculating pod topology spread skew. Options are:
  5171. - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
  5172. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
  5173. If this value is nil, the behavior is equivalent to the Honor policy.
  5174. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
  5175. type: string
  5176. nodeTaintsPolicy:
  5177. description: |-
  5178. NodeTaintsPolicy indicates how we will treat node taints when calculating
  5179. pod topology spread skew. Options are:
  5180. - Honor: nodes without taints, along with tainted nodes for which the incoming pod
  5181. has a toleration, are included.
  5182. - Ignore: node taints are ignored. All nodes are included.
  5183. If this value is nil, the behavior is equivalent to the Ignore policy.
  5184. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
  5185. type: string
  5186. topologyKey:
  5187. description: |-
  5188. TopologyKey is the key of node labels. Nodes that have a label with this key
  5189. and identical values are considered to be in the same topology.
  5190. We consider each <key, value> as a "bucket", and try to put balanced number
  5191. of pods into each bucket.
  5192. We define a domain as a particular instance of a topology.
  5193. Also, we define an eligible domain as a domain whose nodes meet the requirements of
  5194. nodeAffinityPolicy and nodeTaintsPolicy.
  5195. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
  5196. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
  5197. It's a required field.
  5198. type: string
  5199. whenUnsatisfiable:
  5200. description: |-
  5201. WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
  5202. the spread constraint.
  5203. - DoNotSchedule (default) tells the scheduler not to schedule it.
  5204. - ScheduleAnyway tells the scheduler to schedule the pod in any location,
  5205. but giving higher precedence to topologies that would help reduce the
  5206. skew.
  5207. A constraint is considered "Unsatisfiable" for an incoming pod
  5208. if and only if every possible node assignment for that pod would violate
  5209. "MaxSkew" on some topology.
  5210. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  5211. labelSelector spread as 3/1/1:
  5212. | zone1 | zone2 | zone3 |
  5213. | P P P | P | P |
  5214. If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
  5215. to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
  5216. MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
  5217. won't make it *more* imbalanced.
  5218. It's a required field.
  5219. type: string
  5220. required:
  5221. - maxSkew
  5222. - topologyKey
  5223. - whenUnsatisfiable
  5224. type: object
  5225. type: array
  5226. volumes:
  5227. description: volumes defines additional pod volumes available
  5228. to the runtime container.
  5229. items:
  5230. description: Volume represents a named volume in a pod that
  5231. may be accessed by any container in the pod.
  5232. properties:
  5233. awsElasticBlockStore:
  5234. description: |-
  5235. awsElasticBlockStore represents an AWS Disk resource that is attached to a
  5236. kubelet's host machine and then exposed to the pod.
  5237. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5238. properties:
  5239. fsType:
  5240. description: |-
  5241. fsType is the filesystem type of the volume that you want to mount.
  5242. Tip: Ensure that the filesystem type is supported by the host operating system.
  5243. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  5244. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5245. type: string
  5246. partition:
  5247. description: |-
  5248. partition is the partition in the volume that you want to mount.
  5249. If omitted, the default is to mount by volume name.
  5250. Examples: For volume /dev/sda1, you specify the partition as "1".
  5251. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  5252. format: int32
  5253. type: integer
  5254. readOnly:
  5255. description: |-
  5256. readOnly value true will force the readOnly setting in VolumeMounts.
  5257. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5258. type: boolean
  5259. volumeID:
  5260. description: |-
  5261. volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
  5262. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5263. type: string
  5264. required:
  5265. - volumeID
  5266. type: object
  5267. azureDisk:
  5268. description: azureDisk represents an Azure Data Disk
  5269. mount on the host and bind mount to the pod.
  5270. properties:
  5271. cachingMode:
  5272. description: 'cachingMode is the Host Caching mode:
  5273. None, Read Only, Read Write.'
  5274. type: string
  5275. diskName:
  5276. description: diskName is the Name of the data disk
  5277. in the blob storage
  5278. type: string
  5279. diskURI:
  5280. description: diskURI is the URI of data disk in
  5281. the blob storage
  5282. type: string
  5283. fsType:
  5284. description: |-
  5285. fsType is Filesystem type to mount.
  5286. Must be a filesystem type supported by the host operating system.
  5287. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  5288. type: string
  5289. kind:
  5290. description: 'kind expected values are Shared: multiple
  5291. blob disks per storage account Dedicated: single
  5292. blob disk per storage account Managed: azure
  5293. managed data disk (only in managed availability
  5294. set). defaults to shared'
  5295. type: string
  5296. readOnly:
  5297. description: |-
  5298. readOnly Defaults to false (read/write). ReadOnly here will force
  5299. the ReadOnly setting in VolumeMounts.
  5300. type: boolean
  5301. required:
  5302. - diskName
  5303. - diskURI
  5304. type: object
  5305. azureFile:
  5306. description: azureFile represents an Azure File Service
  5307. mount on the host and bind mount to the pod.
  5308. properties:
  5309. readOnly:
  5310. description: |-
  5311. readOnly defaults to false (read/write). ReadOnly here will force
  5312. the ReadOnly setting in VolumeMounts.
  5313. type: boolean
  5314. secretName:
  5315. description: secretName is the name of secret that
  5316. contains Azure Storage Account Name and Key
  5317. type: string
  5318. shareName:
  5319. description: shareName is the azure share Name
  5320. type: string
  5321. required:
  5322. - secretName
  5323. - shareName
  5324. type: object
  5325. cephfs:
  5326. description: cephFS represents a Ceph FS mount on the
  5327. host that shares a pod's lifetime
  5328. properties:
  5329. monitors:
  5330. description: |-
  5331. monitors is Required: Monitors is a collection of Ceph monitors
  5332. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5333. items:
  5334. type: string
  5335. type: array
  5336. x-kubernetes-list-type: atomic
  5337. path:
  5338. description: 'path is Optional: Used as the mounted
  5339. root, rather than the full Ceph tree, default
  5340. is /'
  5341. type: string
  5342. readOnly:
  5343. description: |-
  5344. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  5345. the ReadOnly setting in VolumeMounts.
  5346. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5347. type: boolean
  5348. secretFile:
  5349. description: |-
  5350. secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
  5351. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5352. type: string
  5353. secretRef:
  5354. description: |-
  5355. secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
  5356. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5357. properties:
  5358. name:
  5359. default: ""
  5360. description: |-
  5361. Name of the referent.
  5362. This field is effectively required, but due to backwards compatibility is
  5363. allowed to be empty. Instances of this type with an empty value here are
  5364. almost certainly wrong.
  5365. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5366. type: string
  5367. type: object
  5368. x-kubernetes-map-type: atomic
  5369. user:
  5370. description: |-
  5371. user is optional: User is the rados user name, default is admin
  5372. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  5373. type: string
  5374. required:
  5375. - monitors
  5376. type: object
  5377. cinder:
  5378. description: |-
  5379. cinder represents a cinder volume attached and mounted on kubelets host machine.
  5380. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5381. properties:
  5382. fsType:
  5383. description: |-
  5384. fsType is the filesystem type to mount.
  5385. Must be a filesystem type supported by the host operating system.
  5386. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  5387. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5388. type: string
  5389. readOnly:
  5390. description: |-
  5391. readOnly defaults to false (read/write). ReadOnly here will force
  5392. the ReadOnly setting in VolumeMounts.
  5393. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5394. type: boolean
  5395. secretRef:
  5396. description: |-
  5397. secretRef is optional: points to a secret object containing parameters used to connect
  5398. to OpenStack.
  5399. properties:
  5400. name:
  5401. default: ""
  5402. description: |-
  5403. Name of the referent.
  5404. This field is effectively required, but due to backwards compatibility is
  5405. allowed to be empty. Instances of this type with an empty value here are
  5406. almost certainly wrong.
  5407. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5408. type: string
  5409. type: object
  5410. x-kubernetes-map-type: atomic
  5411. volumeID:
  5412. description: |-
  5413. volumeID used to identify the volume in cinder.
  5414. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  5415. type: string
  5416. required:
  5417. - volumeID
  5418. type: object
  5419. configMap:
  5420. description: configMap represents a configMap that should
  5421. populate this volume
  5422. properties:
  5423. defaultMode:
  5424. description: |-
  5425. defaultMode is optional: mode bits used to set permissions on created files by default.
  5426. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  5427. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5428. Defaults to 0644.
  5429. Directories within the path are not affected by this setting.
  5430. This might be in conflict with other options that affect the file
  5431. mode, like fsGroup, and the result can be other mode bits set.
  5432. format: int32
  5433. type: integer
  5434. items:
  5435. description: |-
  5436. items if unspecified, each key-value pair in the Data field of the referenced
  5437. ConfigMap will be projected into the volume as a file whose name is the
  5438. key and content is the value. If specified, the listed keys will be
  5439. projected into the specified paths, and unlisted keys will not be
  5440. present. If a key is specified which is not present in the ConfigMap,
  5441. the volume setup will error unless it is marked optional. Paths must be
  5442. relative and may not contain the '..' path or start with '..'.
  5443. items:
  5444. description: Maps a string key to a path within
  5445. a volume.
  5446. properties:
  5447. key:
  5448. description: key is the key to project.
  5449. type: string
  5450. mode:
  5451. description: |-
  5452. mode is Optional: mode bits used to set permissions on this file.
  5453. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  5454. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5455. If not specified, the volume defaultMode will be used.
  5456. This might be in conflict with other options that affect the file
  5457. mode, like fsGroup, and the result can be other mode bits set.
  5458. format: int32
  5459. type: integer
  5460. path:
  5461. description: |-
  5462. path is the relative path of the file to map the key to.
  5463. May not be an absolute path.
  5464. May not contain the path element '..'.
  5465. May not start with the string '..'.
  5466. type: string
  5467. required:
  5468. - key
  5469. - path
  5470. type: object
  5471. type: array
  5472. x-kubernetes-list-type: atomic
  5473. name:
  5474. default: ""
  5475. description: |-
  5476. Name of the referent.
  5477. This field is effectively required, but due to backwards compatibility is
  5478. allowed to be empty. Instances of this type with an empty value here are
  5479. almost certainly wrong.
  5480. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5481. type: string
  5482. optional:
  5483. description: optional specify whether the ConfigMap
  5484. or its keys must be defined
  5485. type: boolean
  5486. type: object
  5487. x-kubernetes-map-type: atomic
  5488. csi:
  5489. description: csi (Container Storage Interface) represents
  5490. ephemeral storage that is handled by certain external
  5491. CSI drivers (Beta feature).
  5492. properties:
  5493. driver:
  5494. description: |-
  5495. driver is the name of the CSI driver that handles this volume.
  5496. Consult with your admin for the correct name as registered in the cluster.
  5497. type: string
  5498. fsType:
  5499. description: |-
  5500. fsType to mount. Ex. "ext4", "xfs", "ntfs".
  5501. If not provided, the empty value is passed to the associated CSI driver
  5502. which will determine the default filesystem to apply.
  5503. type: string
  5504. nodePublishSecretRef:
  5505. description: |-
  5506. nodePublishSecretRef is a reference to the secret object containing
  5507. sensitive information to pass to the CSI driver to complete the CSI
  5508. NodePublishVolume and NodeUnpublishVolume calls.
  5509. This field is optional, and may be empty if no secret is required. If the
  5510. secret object contains more than one secret, all secret references are passed.
  5511. properties:
  5512. name:
  5513. default: ""
  5514. description: |-
  5515. Name of the referent.
  5516. This field is effectively required, but due to backwards compatibility is
  5517. allowed to be empty. Instances of this type with an empty value here are
  5518. almost certainly wrong.
  5519. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5520. type: string
  5521. type: object
  5522. x-kubernetes-map-type: atomic
  5523. readOnly:
  5524. description: |-
  5525. readOnly specifies a read-only configuration for the volume.
  5526. Defaults to false (read/write).
  5527. type: boolean
  5528. volumeAttributes:
  5529. additionalProperties:
  5530. type: string
  5531. description: |-
  5532. volumeAttributes stores driver-specific properties that are passed to the CSI
  5533. driver. Consult your driver's documentation for supported values.
  5534. type: object
  5535. required:
  5536. - driver
  5537. type: object
  5538. downwardAPI:
  5539. description: downwardAPI represents downward API about
  5540. the pod that should populate this volume
  5541. properties:
  5542. defaultMode:
  5543. description: |-
  5544. Optional: mode bits to use on created files by default. Must be a
  5545. Optional: mode bits used to set permissions on created files by default.
  5546. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  5547. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5548. Defaults to 0644.
  5549. Directories within the path are not affected by this setting.
  5550. This might be in conflict with other options that affect the file
  5551. mode, like fsGroup, and the result can be other mode bits set.
  5552. format: int32
  5553. type: integer
  5554. items:
  5555. description: Items is a list of downward API volume
  5556. file
  5557. items:
  5558. description: DownwardAPIVolumeFile represents
  5559. information to create the file containing the
  5560. pod field
  5561. properties:
  5562. fieldRef:
  5563. description: 'Required: Selects a field of
  5564. the pod: only annotations, labels, name,
  5565. namespace and uid are supported.'
  5566. properties:
  5567. apiVersion:
  5568. description: Version of the schema the
  5569. FieldPath is written in terms of, defaults
  5570. to "v1".
  5571. type: string
  5572. fieldPath:
  5573. description: Path of the field to select
  5574. in the specified API version.
  5575. type: string
  5576. required:
  5577. - fieldPath
  5578. type: object
  5579. x-kubernetes-map-type: atomic
  5580. mode:
  5581. description: |-
  5582. Optional: mode bits used to set permissions on this file, must be an octal value
  5583. between 0000 and 0777 or a decimal value between 0 and 511.
  5584. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  5585. If not specified, the volume defaultMode will be used.
  5586. This might be in conflict with other options that affect the file
  5587. mode, like fsGroup, and the result can be other mode bits set.
  5588. format: int32
  5589. type: integer
  5590. path:
  5591. description: 'Required: Path is the relative
  5592. path name of the file to be created. Must
  5593. not be absolute or contain the ''..'' path.
  5594. Must be utf-8 encoded. The first item of
  5595. the relative path must not start with ''..'''
  5596. type: string
  5597. resourceFieldRef:
  5598. description: |-
  5599. Selects a resource of the container: only resources limits and requests
  5600. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  5601. properties:
  5602. containerName:
  5603. description: 'Container name: required
  5604. for volumes, optional for env vars'
  5605. type: string
  5606. divisor:
  5607. anyOf:
  5608. - type: integer
  5609. - type: string
  5610. description: Specifies the output format
  5611. of the exposed resources, defaults to
  5612. "1"
  5613. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5614. x-kubernetes-int-or-string: true
  5615. resource:
  5616. description: 'Required: resource to select'
  5617. type: string
  5618. required:
  5619. - resource
  5620. type: object
  5621. x-kubernetes-map-type: atomic
  5622. required:
  5623. - path
  5624. type: object
  5625. type: array
  5626. x-kubernetes-list-type: atomic
  5627. type: object
  5628. emptyDir:
  5629. description: |-
  5630. emptyDir represents a temporary directory that shares a pod's lifetime.
  5631. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  5632. properties:
  5633. medium:
  5634. description: |-
  5635. medium represents what type of storage medium should back this directory.
  5636. The default is "" which means to use the node's default medium.
  5637. Must be an empty string (default) or Memory.
  5638. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  5639. type: string
  5640. sizeLimit:
  5641. anyOf:
  5642. - type: integer
  5643. - type: string
  5644. description: |-
  5645. sizeLimit is the total amount of local storage required for this EmptyDir volume.
  5646. The size limit is also applicable for memory medium.
  5647. The maximum usage on memory medium EmptyDir would be the minimum value between
  5648. the SizeLimit specified here and the sum of memory limits of all containers in a pod.
  5649. The default is nil which means that the limit is undefined.
  5650. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  5651. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5652. x-kubernetes-int-or-string: true
  5653. type: object
  5654. ephemeral:
  5655. description: |-
  5656. ephemeral represents a volume that is handled by a cluster storage driver.
  5657. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
  5658. and deleted when the pod is removed.
  5659. Use this if:
  5660. a) the volume is only needed while the pod runs,
  5661. b) features of normal volumes like restoring from snapshot or capacity
  5662. tracking are needed,
  5663. c) the storage driver is specified through a storage class, and
  5664. d) the storage driver supports dynamic volume provisioning through
  5665. a PersistentVolumeClaim (see EphemeralVolumeSource for more
  5666. information on the connection between this volume type
  5667. and PersistentVolumeClaim).
  5668. Use PersistentVolumeClaim or one of the vendor-specific
  5669. APIs for volumes that persist for longer than the lifecycle
  5670. of an individual pod.
  5671. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
  5672. be used that way - see the documentation of the driver for
  5673. more information.
  5674. A pod can use both types of ephemeral volumes and
  5675. persistent volumes at the same time.
  5676. properties:
  5677. volumeClaimTemplate:
  5678. description: |-
  5679. Will be used to create a stand-alone PVC to provision the volume.
  5680. The pod in which this EphemeralVolumeSource is embedded will be the
  5681. owner of the PVC, i.e. the PVC will be deleted together with the
  5682. pod. The name of the PVC will be `<pod name>-<volume name>` where
  5683. `<volume name>` is the name from the `PodSpec.Volumes` array
  5684. entry. Pod validation will reject the pod if the concatenated name
  5685. is not valid for a PVC (for example, too long).
  5686. An existing PVC with that name that is not owned by the pod
  5687. will *not* be used for the pod to avoid using an unrelated
  5688. volume by mistake. Starting the pod is then blocked until
  5689. the unrelated PVC is removed. If such a pre-created PVC is
  5690. meant to be used by the pod, the PVC has to updated with an
  5691. owner reference to the pod once the pod exists. Normally
  5692. this should not be necessary, but it may be useful when
  5693. manually reconstructing a broken cluster.
  5694. This field is read-only and no changes will be made by Kubernetes
  5695. to the PVC after it has been created.
  5696. Required, must not be nil.
  5697. properties:
  5698. metadata:
  5699. description: |-
  5700. May contain labels and annotations that will be copied into the PVC
  5701. when creating it. No other fields are allowed and will be rejected during
  5702. validation.
  5703. type: object
  5704. spec:
  5705. description: |-
  5706. The specification for the PersistentVolumeClaim. The entire content is
  5707. copied unchanged into the PVC that gets created from this
  5708. template. The same fields as in a PersistentVolumeClaim
  5709. are also valid here.
  5710. properties:
  5711. accessModes:
  5712. description: |-
  5713. accessModes contains the desired access modes the volume should have.
  5714. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
  5715. items:
  5716. type: string
  5717. type: array
  5718. x-kubernetes-list-type: atomic
  5719. dataSource:
  5720. description: |-
  5721. dataSource field can be used to specify either:
  5722. * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  5723. * An existing PVC (PersistentVolumeClaim)
  5724. If the provisioner or an external controller can support the specified data source,
  5725. it will create a new volume based on the contents of the specified data source.
  5726. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
  5727. and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
  5728. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
  5729. properties:
  5730. apiGroup:
  5731. description: |-
  5732. APIGroup is the group for the resource being referenced.
  5733. If APIGroup is not specified, the specified Kind must be in the core API group.
  5734. For any other third-party types, APIGroup is required.
  5735. type: string
  5736. kind:
  5737. description: Kind is the type of resource
  5738. being referenced
  5739. type: string
  5740. name:
  5741. description: Name is the name of resource
  5742. being referenced
  5743. type: string
  5744. required:
  5745. - kind
  5746. - name
  5747. type: object
  5748. x-kubernetes-map-type: atomic
  5749. dataSourceRef:
  5750. description: |-
  5751. dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
  5752. volume is desired. This may be any object from a non-empty API group (non
  5753. core object) or a PersistentVolumeClaim object.
  5754. When this field is specified, volume binding will only succeed if the type of
  5755. the specified object matches some installed volume populator or dynamic
  5756. provisioner.
  5757. This field will replace the functionality of the dataSource field and as such
  5758. if both fields are non-empty, they must have the same value. For backwards
  5759. compatibility, when namespace isn't specified in dataSourceRef,
  5760. both fields (dataSource and dataSourceRef) will be set to the same
  5761. value automatically if one of them is empty and the other is non-empty.
  5762. When namespace is specified in dataSourceRef,
  5763. dataSource isn't set to the same value and must be empty.
  5764. There are three important differences between dataSource and dataSourceRef:
  5765. * While dataSource only allows two specific types of objects, dataSourceRef
  5766. allows any non-core object, as well as PersistentVolumeClaim objects.
  5767. * While dataSource ignores disallowed values (dropping them), dataSourceRef
  5768. preserves all values, and generates an error if a disallowed value is
  5769. specified.
  5770. * While dataSource only allows local objects, dataSourceRef allows objects
  5771. in any namespaces.
  5772. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
  5773. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  5774. properties:
  5775. apiGroup:
  5776. description: |-
  5777. APIGroup is the group for the resource being referenced.
  5778. If APIGroup is not specified, the specified Kind must be in the core API group.
  5779. For any other third-party types, APIGroup is required.
  5780. type: string
  5781. kind:
  5782. description: Kind is the type of resource
  5783. being referenced
  5784. type: string
  5785. name:
  5786. description: Name is the name of resource
  5787. being referenced
  5788. type: string
  5789. namespace:
  5790. description: |-
  5791. Namespace is the namespace of resource being referenced
  5792. 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.
  5793. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  5794. type: string
  5795. required:
  5796. - kind
  5797. - name
  5798. type: object
  5799. resources:
  5800. description: |-
  5801. resources represents the minimum resources the volume should have.
  5802. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
  5803. that are lower than previous value but must still be higher than capacity recorded in the
  5804. status field of the claim.
  5805. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
  5806. properties:
  5807. limits:
  5808. additionalProperties:
  5809. anyOf:
  5810. - type: integer
  5811. - type: string
  5812. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5813. x-kubernetes-int-or-string: true
  5814. description: |-
  5815. Limits describes the maximum amount of compute resources allowed.
  5816. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  5817. type: object
  5818. requests:
  5819. additionalProperties:
  5820. anyOf:
  5821. - type: integer
  5822. - type: string
  5823. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5824. x-kubernetes-int-or-string: true
  5825. description: |-
  5826. Requests describes the minimum amount of compute resources required.
  5827. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  5828. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  5829. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  5830. type: object
  5831. type: object
  5832. selector:
  5833. description: selector is a label query over
  5834. volumes to consider for binding.
  5835. properties:
  5836. matchExpressions:
  5837. description: matchExpressions is a list
  5838. of label selector requirements. The
  5839. requirements are ANDed.
  5840. items:
  5841. description: |-
  5842. A label selector requirement is a selector that contains values, a key, and an operator that
  5843. relates the key and values.
  5844. properties:
  5845. key:
  5846. description: key is the label
  5847. key that the selector applies
  5848. to.
  5849. type: string
  5850. operator:
  5851. description: |-
  5852. operator represents a key's relationship to a set of values.
  5853. Valid operators are In, NotIn, Exists and DoesNotExist.
  5854. type: string
  5855. values:
  5856. description: |-
  5857. values is an array of string values. If the operator is In or NotIn,
  5858. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  5859. the values array must be empty. This array is replaced during a strategic
  5860. merge patch.
  5861. items:
  5862. type: string
  5863. type: array
  5864. x-kubernetes-list-type: atomic
  5865. required:
  5866. - key
  5867. - operator
  5868. type: object
  5869. type: array
  5870. x-kubernetes-list-type: atomic
  5871. matchLabels:
  5872. additionalProperties:
  5873. type: string
  5874. description: |-
  5875. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  5876. map is equivalent to an element of matchExpressions, whose key field is "key", the
  5877. operator is "In", and the values array contains only "value". The requirements are ANDed.
  5878. type: object
  5879. type: object
  5880. x-kubernetes-map-type: atomic
  5881. storageClassName:
  5882. description: |-
  5883. storageClassName is the name of the StorageClass required by the claim.
  5884. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
  5885. type: string
  5886. volumeAttributesClassName:
  5887. description: |-
  5888. volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
  5889. If specified, the CSI driver will create or update the volume with the attributes defined
  5890. in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
  5891. it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
  5892. will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
  5893. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
  5894. will be set by the persistentvolume controller if it exists.
  5895. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
  5896. set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
  5897. exists.
  5898. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
  5899. (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
  5900. type: string
  5901. volumeMode:
  5902. description: |-
  5903. volumeMode defines what type of volume is required by the claim.
  5904. Value of Filesystem is implied when not included in claim spec.
  5905. type: string
  5906. volumeName:
  5907. description: volumeName is the binding reference
  5908. to the PersistentVolume backing this claim.
  5909. type: string
  5910. type: object
  5911. required:
  5912. - spec
  5913. type: object
  5914. type: object
  5915. fc:
  5916. description: fc represents a Fibre Channel resource
  5917. that is attached to a kubelet's host machine and then
  5918. exposed to the pod.
  5919. properties:
  5920. fsType:
  5921. description: |-
  5922. fsType is the filesystem type to mount.
  5923. Must be a filesystem type supported by the host operating system.
  5924. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  5925. type: string
  5926. lun:
  5927. description: 'lun is Optional: FC target lun number'
  5928. format: int32
  5929. type: integer
  5930. readOnly:
  5931. description: |-
  5932. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  5933. the ReadOnly setting in VolumeMounts.
  5934. type: boolean
  5935. targetWWNs:
  5936. description: 'targetWWNs is Optional: FC target
  5937. worldwide names (WWNs)'
  5938. items:
  5939. type: string
  5940. type: array
  5941. x-kubernetes-list-type: atomic
  5942. wwids:
  5943. description: |-
  5944. wwids Optional: FC volume world wide identifiers (wwids)
  5945. Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
  5946. items:
  5947. type: string
  5948. type: array
  5949. x-kubernetes-list-type: atomic
  5950. type: object
  5951. flexVolume:
  5952. description: |-
  5953. flexVolume represents a generic volume resource that is
  5954. provisioned/attached using an exec based plugin.
  5955. properties:
  5956. driver:
  5957. description: driver is the name of the driver to
  5958. use for this volume.
  5959. type: string
  5960. fsType:
  5961. description: |-
  5962. fsType is the filesystem type to mount.
  5963. Must be a filesystem type supported by the host operating system.
  5964. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
  5965. type: string
  5966. options:
  5967. additionalProperties:
  5968. type: string
  5969. description: 'options is Optional: this field holds
  5970. extra command options if any.'
  5971. type: object
  5972. readOnly:
  5973. description: |-
  5974. readOnly is Optional: defaults to false (read/write). ReadOnly here will force
  5975. the ReadOnly setting in VolumeMounts.
  5976. type: boolean
  5977. secretRef:
  5978. description: |-
  5979. secretRef is Optional: secretRef is reference to the secret object containing
  5980. sensitive information to pass to the plugin scripts. This may be
  5981. empty if no secret object is specified. If the secret object
  5982. contains more than one secret, all secrets are passed to the plugin
  5983. scripts.
  5984. properties:
  5985. name:
  5986. default: ""
  5987. description: |-
  5988. Name of the referent.
  5989. This field is effectively required, but due to backwards compatibility is
  5990. allowed to be empty. Instances of this type with an empty value here are
  5991. almost certainly wrong.
  5992. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5993. type: string
  5994. type: object
  5995. x-kubernetes-map-type: atomic
  5996. required:
  5997. - driver
  5998. type: object
  5999. flocker:
  6000. description: flocker represents a Flocker volume attached
  6001. to a kubelet's host machine. This depends on the Flocker
  6002. control service being running
  6003. properties:
  6004. datasetName:
  6005. description: |-
  6006. datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
  6007. should be considered as deprecated
  6008. type: string
  6009. datasetUUID:
  6010. description: datasetUUID is the UUID of the dataset.
  6011. This is unique identifier of a Flocker dataset
  6012. type: string
  6013. type: object
  6014. gcePersistentDisk:
  6015. description: |-
  6016. gcePersistentDisk represents a GCE Disk resource that is attached to a
  6017. kubelet's host machine and then exposed to the pod.
  6018. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6019. properties:
  6020. fsType:
  6021. description: |-
  6022. fsType is filesystem type of the volume that you want to mount.
  6023. Tip: Ensure that the filesystem type is supported by the host operating system.
  6024. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6025. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6026. type: string
  6027. partition:
  6028. description: |-
  6029. partition is the partition in the volume that you want to mount.
  6030. If omitted, the default is to mount by volume name.
  6031. Examples: For volume /dev/sda1, you specify the partition as "1".
  6032. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  6033. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6034. format: int32
  6035. type: integer
  6036. pdName:
  6037. description: |-
  6038. pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
  6039. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6040. type: string
  6041. readOnly:
  6042. description: |-
  6043. readOnly here will force the ReadOnly setting in VolumeMounts.
  6044. Defaults to false.
  6045. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6046. type: boolean
  6047. required:
  6048. - pdName
  6049. type: object
  6050. gitRepo:
  6051. description: |-
  6052. gitRepo represents a git repository at a particular revision.
  6053. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
  6054. EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
  6055. into the Pod's container.
  6056. properties:
  6057. directory:
  6058. description: |-
  6059. directory is the target directory name.
  6060. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
  6061. git repository. Otherwise, if specified, the volume will contain the git repository in
  6062. the subdirectory with the given name.
  6063. type: string
  6064. repository:
  6065. description: repository is the URL
  6066. type: string
  6067. revision:
  6068. description: revision is the commit hash for the
  6069. specified revision.
  6070. type: string
  6071. required:
  6072. - repository
  6073. type: object
  6074. glusterfs:
  6075. description: |-
  6076. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
  6077. More info: https://examples.k8s.io/volumes/glusterfs/README.md
  6078. properties:
  6079. endpoints:
  6080. description: |-
  6081. endpoints is the endpoint name that details Glusterfs topology.
  6082. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  6083. type: string
  6084. path:
  6085. description: |-
  6086. path is the Glusterfs volume path.
  6087. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  6088. type: string
  6089. readOnly:
  6090. description: |-
  6091. readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
  6092. Defaults to false.
  6093. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  6094. type: boolean
  6095. required:
  6096. - endpoints
  6097. - path
  6098. type: object
  6099. hostPath:
  6100. description: |-
  6101. hostPath represents a pre-existing file or directory on the host
  6102. machine that is directly exposed to the container. This is generally
  6103. used for system agents or other privileged things that are allowed
  6104. to see the host machine. Most containers will NOT need this.
  6105. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6106. properties:
  6107. path:
  6108. description: |-
  6109. path of the directory on the host.
  6110. If the path is a symlink, it will follow the link to the real path.
  6111. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6112. type: string
  6113. type:
  6114. description: |-
  6115. type for HostPath Volume
  6116. Defaults to ""
  6117. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6118. type: string
  6119. required:
  6120. - path
  6121. type: object
  6122. iscsi:
  6123. description: |-
  6124. iscsi represents an ISCSI Disk resource that is attached to a
  6125. kubelet's host machine and then exposed to the pod.
  6126. More info: https://examples.k8s.io/volumes/iscsi/README.md
  6127. properties:
  6128. chapAuthDiscovery:
  6129. description: chapAuthDiscovery defines whether support
  6130. iSCSI Discovery CHAP authentication
  6131. type: boolean
  6132. chapAuthSession:
  6133. description: chapAuthSession defines whether support
  6134. iSCSI Session CHAP authentication
  6135. type: boolean
  6136. fsType:
  6137. description: |-
  6138. fsType is the filesystem type of the volume that you want to mount.
  6139. Tip: Ensure that the filesystem type is supported by the host operating system.
  6140. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6141. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  6142. type: string
  6143. initiatorName:
  6144. description: |-
  6145. initiatorName is the custom iSCSI Initiator Name.
  6146. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
  6147. <target portal>:<volume name> will be created for the connection.
  6148. type: string
  6149. iqn:
  6150. description: iqn is the target iSCSI Qualified Name.
  6151. type: string
  6152. iscsiInterface:
  6153. description: |-
  6154. iscsiInterface is the interface Name that uses an iSCSI transport.
  6155. Defaults to 'default' (tcp).
  6156. type: string
  6157. lun:
  6158. description: lun represents iSCSI Target Lun number.
  6159. format: int32
  6160. type: integer
  6161. portals:
  6162. description: |-
  6163. portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
  6164. is other than default (typically TCP ports 860 and 3260).
  6165. items:
  6166. type: string
  6167. type: array
  6168. x-kubernetes-list-type: atomic
  6169. readOnly:
  6170. description: |-
  6171. readOnly here will force the ReadOnly setting in VolumeMounts.
  6172. Defaults to false.
  6173. type: boolean
  6174. secretRef:
  6175. description: secretRef is the CHAP Secret for iSCSI
  6176. target and initiator authentication
  6177. properties:
  6178. name:
  6179. default: ""
  6180. description: |-
  6181. Name of the referent.
  6182. This field is effectively required, but due to backwards compatibility is
  6183. allowed to be empty. Instances of this type with an empty value here are
  6184. almost certainly wrong.
  6185. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6186. type: string
  6187. type: object
  6188. x-kubernetes-map-type: atomic
  6189. targetPortal:
  6190. description: |-
  6191. targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
  6192. is other than default (typically TCP ports 860 and 3260).
  6193. type: string
  6194. required:
  6195. - iqn
  6196. - lun
  6197. - targetPortal
  6198. type: object
  6199. name:
  6200. description: |-
  6201. name of the volume.
  6202. Must be a DNS_LABEL and unique within the pod.
  6203. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6204. type: string
  6205. nfs:
  6206. description: |-
  6207. nfs represents an NFS mount on the host that shares a pod's lifetime
  6208. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6209. properties:
  6210. path:
  6211. description: |-
  6212. path that is exported by the NFS server.
  6213. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6214. type: string
  6215. readOnly:
  6216. description: |-
  6217. readOnly here will force the NFS export to be mounted with read-only permissions.
  6218. Defaults to false.
  6219. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6220. type: boolean
  6221. server:
  6222. description: |-
  6223. server is the hostname or IP address of the NFS server.
  6224. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  6225. type: string
  6226. required:
  6227. - path
  6228. - server
  6229. type: object
  6230. persistentVolumeClaim:
  6231. description: |-
  6232. persistentVolumeClaimVolumeSource represents a reference to a
  6233. PersistentVolumeClaim in the same namespace.
  6234. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  6235. properties:
  6236. claimName:
  6237. description: |-
  6238. claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  6239. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  6240. type: string
  6241. readOnly:
  6242. description: |-
  6243. readOnly Will force the ReadOnly setting in VolumeMounts.
  6244. Default false.
  6245. type: boolean
  6246. required:
  6247. - claimName
  6248. type: object
  6249. photonPersistentDisk:
  6250. description: photonPersistentDisk represents a PhotonController
  6251. persistent disk attached and mounted on kubelets host
  6252. machine
  6253. properties:
  6254. fsType:
  6255. description: |-
  6256. fsType is the filesystem type to mount.
  6257. Must be a filesystem type supported by the host operating system.
  6258. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6259. type: string
  6260. pdID:
  6261. description: pdID is the ID that identifies Photon
  6262. Controller persistent disk
  6263. type: string
  6264. required:
  6265. - pdID
  6266. type: object
  6267. portworxVolume:
  6268. description: portworxVolume represents a portworx volume
  6269. attached and mounted on kubelets host machine
  6270. properties:
  6271. fsType:
  6272. description: |-
  6273. fSType represents the filesystem type to mount
  6274. Must be a filesystem type supported by the host operating system.
  6275. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
  6276. type: string
  6277. readOnly:
  6278. description: |-
  6279. readOnly defaults to false (read/write). ReadOnly here will force
  6280. the ReadOnly setting in VolumeMounts.
  6281. type: boolean
  6282. volumeID:
  6283. description: volumeID uniquely identifies a Portworx
  6284. volume
  6285. type: string
  6286. required:
  6287. - volumeID
  6288. type: object
  6289. projected:
  6290. description: projected items for all in one resources
  6291. secrets, configmaps, and downward API
  6292. properties:
  6293. defaultMode:
  6294. description: |-
  6295. defaultMode are the mode bits used to set permissions on created files by default.
  6296. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  6297. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6298. Directories within the path are not affected by this setting.
  6299. This might be in conflict with other options that affect the file
  6300. mode, like fsGroup, and the result can be other mode bits set.
  6301. format: int32
  6302. type: integer
  6303. sources:
  6304. description: sources is the list of volume projections
  6305. items:
  6306. description: Projection that may be projected
  6307. along with other supported volume types
  6308. properties:
  6309. clusterTrustBundle:
  6310. description: |-
  6311. ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
  6312. of ClusterTrustBundle objects in an auto-updating file.
  6313. Alpha, gated by the ClusterTrustBundleProjection feature gate.
  6314. ClusterTrustBundle objects can either be selected by name, or by the
  6315. combination of signer name and a label selector.
  6316. Kubelet performs aggressive normalization of the PEM contents written
  6317. into the pod filesystem. Esoteric PEM features such as inter-block
  6318. comments and block headers are stripped. Certificates are deduplicated.
  6319. The ordering of certificates within the file is arbitrary, and Kubelet
  6320. may change the order over time.
  6321. properties:
  6322. labelSelector:
  6323. description: |-
  6324. Select all ClusterTrustBundles that match this label selector. Only has
  6325. effect if signerName is set. Mutually-exclusive with name. If unset,
  6326. interpreted as "match nothing". If set but empty, interpreted as "match
  6327. everything".
  6328. properties:
  6329. matchExpressions:
  6330. description: matchExpressions is a
  6331. list of label selector requirements.
  6332. The requirements are ANDed.
  6333. items:
  6334. description: |-
  6335. A label selector requirement is a selector that contains values, a key, and an operator that
  6336. relates the key and values.
  6337. properties:
  6338. key:
  6339. description: key is the label
  6340. key that the selector applies
  6341. to.
  6342. type: string
  6343. operator:
  6344. description: |-
  6345. operator represents a key's relationship to a set of values.
  6346. Valid operators are In, NotIn, Exists and DoesNotExist.
  6347. type: string
  6348. values:
  6349. description: |-
  6350. values is an array of string values. If the operator is In or NotIn,
  6351. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  6352. the values array must be empty. This array is replaced during a strategic
  6353. merge patch.
  6354. items:
  6355. type: string
  6356. type: array
  6357. x-kubernetes-list-type: atomic
  6358. required:
  6359. - key
  6360. - operator
  6361. type: object
  6362. type: array
  6363. x-kubernetes-list-type: atomic
  6364. matchLabels:
  6365. additionalProperties:
  6366. type: string
  6367. description: |-
  6368. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  6369. map is equivalent to an element of matchExpressions, whose key field is "key", the
  6370. operator is "In", and the values array contains only "value". The requirements are ANDed.
  6371. type: object
  6372. type: object
  6373. x-kubernetes-map-type: atomic
  6374. name:
  6375. description: |-
  6376. Select a single ClusterTrustBundle by object name. Mutually-exclusive
  6377. with signerName and labelSelector.
  6378. type: string
  6379. optional:
  6380. description: |-
  6381. If true, don't block pod startup if the referenced ClusterTrustBundle(s)
  6382. aren't available. If using name, then the named ClusterTrustBundle is
  6383. allowed not to exist. If using signerName, then the combination of
  6384. signerName and labelSelector is allowed to match zero
  6385. ClusterTrustBundles.
  6386. type: boolean
  6387. path:
  6388. description: Relative path from the volume
  6389. root to write the bundle.
  6390. type: string
  6391. signerName:
  6392. description: |-
  6393. Select all ClusterTrustBundles that match this signer name.
  6394. Mutually-exclusive with name. The contents of all selected
  6395. ClusterTrustBundles will be unified and deduplicated.
  6396. type: string
  6397. required:
  6398. - path
  6399. type: object
  6400. configMap:
  6401. description: configMap information about the
  6402. configMap data to project
  6403. properties:
  6404. items:
  6405. description: |-
  6406. items if unspecified, each key-value pair in the Data field of the referenced
  6407. ConfigMap will be projected into the volume as a file whose name is the
  6408. key and content is the value. If specified, the listed keys will be
  6409. projected into the specified paths, and unlisted keys will not be
  6410. present. If a key is specified which is not present in the ConfigMap,
  6411. the volume setup will error unless it is marked optional. Paths must be
  6412. relative and may not contain the '..' path or start with '..'.
  6413. items:
  6414. description: Maps a string key to a
  6415. path within a volume.
  6416. properties:
  6417. key:
  6418. description: key is the key to project.
  6419. type: string
  6420. mode:
  6421. description: |-
  6422. mode is Optional: mode bits used to set permissions on this file.
  6423. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  6424. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6425. If not specified, the volume defaultMode will be used.
  6426. This might be in conflict with other options that affect the file
  6427. mode, like fsGroup, and the result can be other mode bits set.
  6428. format: int32
  6429. type: integer
  6430. path:
  6431. description: |-
  6432. path is the relative path of the file to map the key to.
  6433. May not be an absolute path.
  6434. May not contain the path element '..'.
  6435. May not start with the string '..'.
  6436. type: string
  6437. required:
  6438. - key
  6439. - path
  6440. type: object
  6441. type: array
  6442. x-kubernetes-list-type: atomic
  6443. name:
  6444. default: ""
  6445. description: |-
  6446. Name of the referent.
  6447. This field is effectively required, but due to backwards compatibility is
  6448. allowed to be empty. Instances of this type with an empty value here are
  6449. almost certainly wrong.
  6450. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6451. type: string
  6452. optional:
  6453. description: optional specify whether
  6454. the ConfigMap or its keys must be defined
  6455. type: boolean
  6456. type: object
  6457. x-kubernetes-map-type: atomic
  6458. downwardAPI:
  6459. description: downwardAPI information about
  6460. the downwardAPI data to project
  6461. properties:
  6462. items:
  6463. description: Items is a list of DownwardAPIVolume
  6464. file
  6465. items:
  6466. description: DownwardAPIVolumeFile represents
  6467. information to create the file containing
  6468. the pod field
  6469. properties:
  6470. fieldRef:
  6471. description: 'Required: Selects
  6472. a field of the pod: only annotations,
  6473. labels, name, namespace and uid
  6474. are supported.'
  6475. properties:
  6476. apiVersion:
  6477. description: Version of the
  6478. schema the FieldPath is written
  6479. in terms of, defaults to "v1".
  6480. type: string
  6481. fieldPath:
  6482. description: Path of the field
  6483. to select in the specified
  6484. API version.
  6485. type: string
  6486. required:
  6487. - fieldPath
  6488. type: object
  6489. x-kubernetes-map-type: atomic
  6490. mode:
  6491. description: |-
  6492. Optional: mode bits used to set permissions on this file, must be an octal value
  6493. between 0000 and 0777 or a decimal value between 0 and 511.
  6494. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6495. If not specified, the volume defaultMode will be used.
  6496. This might be in conflict with other options that affect the file
  6497. mode, like fsGroup, and the result can be other mode bits set.
  6498. format: int32
  6499. type: integer
  6500. path:
  6501. description: 'Required: Path is the
  6502. relative path name of the file
  6503. to be created. Must not be absolute
  6504. or contain the ''..'' path. Must
  6505. be utf-8 encoded. The first item
  6506. of the relative path must not
  6507. start with ''..'''
  6508. type: string
  6509. resourceFieldRef:
  6510. description: |-
  6511. Selects a resource of the container: only resources limits and requests
  6512. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  6513. properties:
  6514. containerName:
  6515. description: 'Container name:
  6516. required for volumes, optional
  6517. for env vars'
  6518. type: string
  6519. divisor:
  6520. anyOf:
  6521. - type: integer
  6522. - type: string
  6523. description: Specifies the output
  6524. format of the exposed resources,
  6525. defaults to "1"
  6526. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6527. x-kubernetes-int-or-string: true
  6528. resource:
  6529. description: 'Required: resource
  6530. to select'
  6531. type: string
  6532. required:
  6533. - resource
  6534. type: object
  6535. x-kubernetes-map-type: atomic
  6536. required:
  6537. - path
  6538. type: object
  6539. type: array
  6540. x-kubernetes-list-type: atomic
  6541. type: object
  6542. secret:
  6543. description: secret information about the
  6544. secret data to project
  6545. properties:
  6546. items:
  6547. description: |-
  6548. items if unspecified, each key-value pair in the Data field of the referenced
  6549. Secret will be projected into the volume as a file whose name is the
  6550. key and content is the value. If specified, the listed keys will be
  6551. projected into the specified paths, and unlisted keys will not be
  6552. present. If a key is specified which is not present in the Secret,
  6553. the volume setup will error unless it is marked optional. Paths must be
  6554. relative and may not contain the '..' path or start with '..'.
  6555. items:
  6556. description: Maps a string key to a
  6557. path within a volume.
  6558. properties:
  6559. key:
  6560. description: key is the key to project.
  6561. type: string
  6562. mode:
  6563. description: |-
  6564. mode is Optional: mode bits used to set permissions on this file.
  6565. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  6566. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6567. If not specified, the volume defaultMode will be used.
  6568. This might be in conflict with other options that affect the file
  6569. mode, like fsGroup, and the result can be other mode bits set.
  6570. format: int32
  6571. type: integer
  6572. path:
  6573. description: |-
  6574. path is the relative path of the file to map the key to.
  6575. May not be an absolute path.
  6576. May not contain the path element '..'.
  6577. May not start with the string '..'.
  6578. type: string
  6579. required:
  6580. - key
  6581. - path
  6582. type: object
  6583. type: array
  6584. x-kubernetes-list-type: atomic
  6585. name:
  6586. default: ""
  6587. description: |-
  6588. Name of the referent.
  6589. This field is effectively required, but due to backwards compatibility is
  6590. allowed to be empty. Instances of this type with an empty value here are
  6591. almost certainly wrong.
  6592. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6593. type: string
  6594. optional:
  6595. description: optional field specify whether
  6596. the Secret or its key must be defined
  6597. type: boolean
  6598. type: object
  6599. x-kubernetes-map-type: atomic
  6600. serviceAccountToken:
  6601. description: serviceAccountToken is information
  6602. about the serviceAccountToken data to project
  6603. properties:
  6604. audience:
  6605. description: |-
  6606. audience is the intended audience of the token. A recipient of a token
  6607. must identify itself with an identifier specified in the audience of the
  6608. token, and otherwise should reject the token. The audience defaults to the
  6609. identifier of the apiserver.
  6610. type: string
  6611. expirationSeconds:
  6612. description: |-
  6613. expirationSeconds is the requested duration of validity of the service
  6614. account token. As the token approaches expiration, the kubelet volume
  6615. plugin will proactively rotate the service account token. The kubelet will
  6616. start trying to rotate the token if the token is older than 80 percent of
  6617. its time to live or if the token is older than 24 hours.Defaults to 1 hour
  6618. and must be at least 10 minutes.
  6619. format: int64
  6620. type: integer
  6621. path:
  6622. description: |-
  6623. path is the path relative to the mount point of the file to project the
  6624. token into.
  6625. type: string
  6626. required:
  6627. - path
  6628. type: object
  6629. type: object
  6630. type: array
  6631. x-kubernetes-list-type: atomic
  6632. type: object
  6633. quobyte:
  6634. description: quobyte represents a Quobyte mount on the
  6635. host that shares a pod's lifetime
  6636. properties:
  6637. group:
  6638. description: |-
  6639. group to map volume access to
  6640. Default is no group
  6641. type: string
  6642. readOnly:
  6643. description: |-
  6644. readOnly here will force the Quobyte volume to be mounted with read-only permissions.
  6645. Defaults to false.
  6646. type: boolean
  6647. registry:
  6648. description: |-
  6649. registry represents a single or multiple Quobyte Registry services
  6650. specified as a string as host:port pair (multiple entries are separated with commas)
  6651. which acts as the central registry for volumes
  6652. type: string
  6653. tenant:
  6654. description: |-
  6655. tenant owning the given Quobyte volume in the Backend
  6656. Used with dynamically provisioned Quobyte volumes, value is set by the plugin
  6657. type: string
  6658. user:
  6659. description: |-
  6660. user to map volume access to
  6661. Defaults to serivceaccount user
  6662. type: string
  6663. volume:
  6664. description: volume is a string that references
  6665. an already created Quobyte volume by name.
  6666. type: string
  6667. required:
  6668. - registry
  6669. - volume
  6670. type: object
  6671. rbd:
  6672. description: |-
  6673. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
  6674. More info: https://examples.k8s.io/volumes/rbd/README.md
  6675. properties:
  6676. fsType:
  6677. description: |-
  6678. fsType is the filesystem type of the volume that you want to mount.
  6679. Tip: Ensure that the filesystem type is supported by the host operating system.
  6680. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6681. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  6682. type: string
  6683. image:
  6684. description: |-
  6685. image is the rados image name.
  6686. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  6687. type: string
  6688. keyring:
  6689. description: |-
  6690. keyring is the path to key ring for RBDUser.
  6691. Default is /etc/ceph/keyring.
  6692. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  6693. type: string
  6694. monitors:
  6695. description: |-
  6696. monitors is a collection of Ceph monitors.
  6697. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  6698. items:
  6699. type: string
  6700. type: array
  6701. x-kubernetes-list-type: atomic
  6702. pool:
  6703. description: |-
  6704. pool is the rados pool name.
  6705. Default is rbd.
  6706. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  6707. type: string
  6708. readOnly:
  6709. description: |-
  6710. readOnly here will force the ReadOnly setting in VolumeMounts.
  6711. Defaults to false.
  6712. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  6713. type: boolean
  6714. secretRef:
  6715. description: |-
  6716. secretRef is name of the authentication secret for RBDUser. If provided
  6717. overrides keyring.
  6718. Default is nil.
  6719. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  6720. properties:
  6721. name:
  6722. default: ""
  6723. description: |-
  6724. Name of the referent.
  6725. This field is effectively required, but due to backwards compatibility is
  6726. allowed to be empty. Instances of this type with an empty value here are
  6727. almost certainly wrong.
  6728. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6729. type: string
  6730. type: object
  6731. x-kubernetes-map-type: atomic
  6732. user:
  6733. description: |-
  6734. user is the rados user name.
  6735. Default is admin.
  6736. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  6737. type: string
  6738. required:
  6739. - image
  6740. - monitors
  6741. type: object
  6742. scaleIO:
  6743. description: scaleIO represents a ScaleIO persistent
  6744. volume attached and mounted on Kubernetes nodes.
  6745. properties:
  6746. fsType:
  6747. description: |-
  6748. fsType is the filesystem type to mount.
  6749. Must be a filesystem type supported by the host operating system.
  6750. Ex. "ext4", "xfs", "ntfs".
  6751. Default is "xfs".
  6752. type: string
  6753. gateway:
  6754. description: gateway is the host address of the
  6755. ScaleIO API Gateway.
  6756. type: string
  6757. protectionDomain:
  6758. description: protectionDomain is the name of the
  6759. ScaleIO Protection Domain for the configured storage.
  6760. type: string
  6761. readOnly:
  6762. description: |-
  6763. readOnly Defaults to false (read/write). ReadOnly here will force
  6764. the ReadOnly setting in VolumeMounts.
  6765. type: boolean
  6766. secretRef:
  6767. description: |-
  6768. secretRef references to the secret for ScaleIO user and other
  6769. sensitive information. If this is not provided, Login operation will fail.
  6770. properties:
  6771. name:
  6772. default: ""
  6773. description: |-
  6774. Name of the referent.
  6775. This field is effectively required, but due to backwards compatibility is
  6776. allowed to be empty. Instances of this type with an empty value here are
  6777. almost certainly wrong.
  6778. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6779. type: string
  6780. type: object
  6781. x-kubernetes-map-type: atomic
  6782. sslEnabled:
  6783. description: sslEnabled Flag enable/disable SSL
  6784. communication with Gateway, default false
  6785. type: boolean
  6786. storageMode:
  6787. description: |-
  6788. storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
  6789. Default is ThinProvisioned.
  6790. type: string
  6791. storagePool:
  6792. description: storagePool is the ScaleIO Storage
  6793. Pool associated with the protection domain.
  6794. type: string
  6795. system:
  6796. description: system is the name of the storage system
  6797. as configured in ScaleIO.
  6798. type: string
  6799. volumeName:
  6800. description: |-
  6801. volumeName is the name of a volume already created in the ScaleIO system
  6802. that is associated with this volume source.
  6803. type: string
  6804. required:
  6805. - gateway
  6806. - secretRef
  6807. - system
  6808. type: object
  6809. secret:
  6810. description: |-
  6811. secret represents a secret that should populate this volume.
  6812. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  6813. properties:
  6814. defaultMode:
  6815. description: |-
  6816. defaultMode is Optional: mode bits used to set permissions on created files by default.
  6817. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  6818. YAML accepts both octal and decimal values, JSON requires decimal values
  6819. for mode bits. Defaults to 0644.
  6820. Directories within the path are not affected by this setting.
  6821. This might be in conflict with other options that affect the file
  6822. mode, like fsGroup, and the result can be other mode bits set.
  6823. format: int32
  6824. type: integer
  6825. items:
  6826. description: |-
  6827. items If unspecified, each key-value pair in the Data field of the referenced
  6828. Secret will be projected into the volume as a file whose name is the
  6829. key and content is the value. If specified, the listed keys will be
  6830. projected into the specified paths, and unlisted keys will not be
  6831. present. If a key is specified which is not present in the Secret,
  6832. the volume setup will error unless it is marked optional. Paths must be
  6833. relative and may not contain the '..' path or start with '..'.
  6834. items:
  6835. description: Maps a string key to a path within
  6836. a volume.
  6837. properties:
  6838. key:
  6839. description: key is the key to project.
  6840. type: string
  6841. mode:
  6842. description: |-
  6843. mode is Optional: mode bits used to set permissions on this file.
  6844. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  6845. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  6846. If not specified, the volume defaultMode will be used.
  6847. This might be in conflict with other options that affect the file
  6848. mode, like fsGroup, and the result can be other mode bits set.
  6849. format: int32
  6850. type: integer
  6851. path:
  6852. description: |-
  6853. path is the relative path of the file to map the key to.
  6854. May not be an absolute path.
  6855. May not contain the path element '..'.
  6856. May not start with the string '..'.
  6857. type: string
  6858. required:
  6859. - key
  6860. - path
  6861. type: object
  6862. type: array
  6863. x-kubernetes-list-type: atomic
  6864. optional:
  6865. description: optional field specify whether the
  6866. Secret or its keys must be defined
  6867. type: boolean
  6868. secretName:
  6869. description: |-
  6870. secretName is the name of the secret in the pod's namespace to use.
  6871. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  6872. type: string
  6873. type: object
  6874. storageos:
  6875. description: storageOS represents a StorageOS volume
  6876. attached and mounted on Kubernetes nodes.
  6877. properties:
  6878. fsType:
  6879. description: |-
  6880. fsType is the filesystem type to mount.
  6881. Must be a filesystem type supported by the host operating system.
  6882. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6883. type: string
  6884. readOnly:
  6885. description: |-
  6886. readOnly defaults to false (read/write). ReadOnly here will force
  6887. the ReadOnly setting in VolumeMounts.
  6888. type: boolean
  6889. secretRef:
  6890. description: |-
  6891. secretRef specifies the secret to use for obtaining the StorageOS API
  6892. credentials. If not specified, default values will be attempted.
  6893. properties:
  6894. name:
  6895. default: ""
  6896. description: |-
  6897. Name of the referent.
  6898. This field is effectively required, but due to backwards compatibility is
  6899. allowed to be empty. Instances of this type with an empty value here are
  6900. almost certainly wrong.
  6901. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6902. type: string
  6903. type: object
  6904. x-kubernetes-map-type: atomic
  6905. volumeName:
  6906. description: |-
  6907. volumeName is the human-readable name of the StorageOS volume. Volume
  6908. names are only unique within a namespace.
  6909. type: string
  6910. volumeNamespace:
  6911. description: |-
  6912. volumeNamespace specifies the scope of the volume within StorageOS. If no
  6913. namespace is specified then the Pod's namespace will be used. This allows the
  6914. Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
  6915. Set VolumeName to any name to override the default behaviour.
  6916. Set to "default" if you are not using namespaces within StorageOS.
  6917. Namespaces that do not pre-exist within StorageOS will be created.
  6918. type: string
  6919. type: object
  6920. vsphereVolume:
  6921. description: vsphereVolume represents a vSphere volume
  6922. attached and mounted on kubelets host machine
  6923. properties:
  6924. fsType:
  6925. description: |-
  6926. fsType is filesystem type to mount.
  6927. Must be a filesystem type supported by the host operating system.
  6928. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  6929. type: string
  6930. storagePolicyID:
  6931. description: storagePolicyID is the storage Policy
  6932. Based Management (SPBM) profile ID associated
  6933. with the StoragePolicyName.
  6934. type: string
  6935. storagePolicyName:
  6936. description: storagePolicyName is the storage Policy
  6937. Based Management (SPBM) profile name.
  6938. type: string
  6939. volumePath:
  6940. description: volumePath is the path that identifies
  6941. vSphere volume vmdk
  6942. type: string
  6943. required:
  6944. - volumePath
  6945. type: object
  6946. required:
  6947. - name
  6948. type: object
  6949. type: array
  6950. type: object
  6951. required:
  6952. - name
  6953. type: object
  6954. rerankerModelRef:
  6955. description: rerankerModelRef references the model used to rerank
  6956. retrieved documents for this knowledge base.
  6957. properties:
  6958. apiVersion:
  6959. description: API version of the referent.
  6960. type: string
  6961. fieldPath:
  6962. description: |-
  6963. If referring to a piece of an object instead of an entire object, this string
  6964. should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
  6965. For example, if the object reference is to a container within a pod, this would take on a value like:
  6966. "spec.containers{name}" (where "name" refers to the name of the container that triggered
  6967. the event) or if no container name is specified "spec.containers[2]" (container with
  6968. index 2 in this pod). This syntax is chosen only to have some well-defined way of
  6969. referencing a part of an object.
  6970. type: string
  6971. kind:
  6972. description: |-
  6973. Kind of the referent.
  6974. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  6975. type: string
  6976. name:
  6977. description: |-
  6978. Name of the referent.
  6979. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6980. type: string
  6981. namespace:
  6982. description: |-
  6983. Namespace of the referent.
  6984. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
  6985. type: string
  6986. resourceVersion:
  6987. description: |-
  6988. Specific resourceVersion to which this reference is made, if any.
  6989. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
  6990. type: string
  6991. uid:
  6992. description: |-
  6993. UID of the referent.
  6994. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
  6995. type: string
  6996. type: object
  6997. x-kubernetes-map-type: atomic
  6998. stackRef:
  6999. description: stackRef associates this knowledge base with a stack.
  7000. properties:
  7001. name:
  7002. default: ""
  7003. description: |-
  7004. Name of the referent.
  7005. This field is effectively required, but due to backwards compatibility is
  7006. allowed to be empty. Instances of this type with an empty value here are
  7007. almost certainly wrong.
  7008. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7009. type: string
  7010. type: object
  7011. x-kubernetes-map-type: atomic
  7012. template:
  7013. description: template holds the configuration overrides for the component.
  7014. properties:
  7015. metadata:
  7016. description: metadata is a standard object metadata.
  7017. type: object
  7018. name:
  7019. description: name selects a built-in preset.
  7020. type: string
  7021. spec:
  7022. description: spec holds the pod-level configuration for the workload.
  7023. properties:
  7024. affinity:
  7025. description: affinity provides fine-grained node and pod (anti-)affinity
  7026. rules.
  7027. properties:
  7028. nodeAffinity:
  7029. description: Describes node affinity scheduling rules
  7030. for the pod.
  7031. properties:
  7032. preferredDuringSchedulingIgnoredDuringExecution:
  7033. description: |-
  7034. The scheduler will prefer to schedule pods to nodes that satisfy
  7035. the affinity expressions specified by this field, but it may choose
  7036. a node that violates one or more of the expressions. The node that is
  7037. most preferred is the one with the greatest sum of weights, i.e.
  7038. for each node that meets all of the scheduling requirements (resource
  7039. request, requiredDuringScheduling affinity expressions, etc.),
  7040. compute a sum by iterating through the elements of this field and adding
  7041. "weight" to the sum if the node matches the corresponding matchExpressions; the
  7042. node(s) with the highest sum are the most preferred.
  7043. items:
  7044. description: |-
  7045. An empty preferred scheduling term matches all objects with implicit weight 0
  7046. (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  7047. properties:
  7048. preference:
  7049. description: A node selector term, associated
  7050. with the corresponding weight.
  7051. properties:
  7052. matchExpressions:
  7053. description: A list of node selector requirements
  7054. by node's labels.
  7055. items:
  7056. description: |-
  7057. A node selector requirement is a selector that contains values, a key, and an operator
  7058. that relates the key and values.
  7059. properties:
  7060. key:
  7061. description: The label key that the
  7062. selector applies to.
  7063. type: string
  7064. operator:
  7065. description: |-
  7066. Represents a key's relationship to a set of values.
  7067. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7068. type: string
  7069. values:
  7070. description: |-
  7071. An array of string values. If the operator is In or NotIn,
  7072. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7073. the values array must be empty. If the operator is Gt or Lt, the values
  7074. array must have a single element, which will be interpreted as an integer.
  7075. This array is replaced during a strategic merge patch.
  7076. items:
  7077. type: string
  7078. type: array
  7079. x-kubernetes-list-type: atomic
  7080. required:
  7081. - key
  7082. - operator
  7083. type: object
  7084. type: array
  7085. x-kubernetes-list-type: atomic
  7086. matchFields:
  7087. description: A list of node selector requirements
  7088. by node's fields.
  7089. items:
  7090. description: |-
  7091. A node selector requirement is a selector that contains values, a key, and an operator
  7092. that relates the key and values.
  7093. properties:
  7094. key:
  7095. description: The label key that the
  7096. selector applies to.
  7097. type: string
  7098. operator:
  7099. description: |-
  7100. Represents a key's relationship to a set of values.
  7101. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7102. type: string
  7103. values:
  7104. description: |-
  7105. An array of string values. If the operator is In or NotIn,
  7106. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7107. the values array must be empty. If the operator is Gt or Lt, the values
  7108. array must have a single element, which will be interpreted as an integer.
  7109. This array is replaced during a strategic merge patch.
  7110. items:
  7111. type: string
  7112. type: array
  7113. x-kubernetes-list-type: atomic
  7114. required:
  7115. - key
  7116. - operator
  7117. type: object
  7118. type: array
  7119. x-kubernetes-list-type: atomic
  7120. type: object
  7121. x-kubernetes-map-type: atomic
  7122. weight:
  7123. description: Weight associated with matching
  7124. the corresponding nodeSelectorTerm, in the
  7125. range 1-100.
  7126. format: int32
  7127. type: integer
  7128. required:
  7129. - preference
  7130. - weight
  7131. type: object
  7132. type: array
  7133. x-kubernetes-list-type: atomic
  7134. requiredDuringSchedulingIgnoredDuringExecution:
  7135. description: |-
  7136. If the affinity requirements specified by this field are not met at
  7137. scheduling time, the pod will not be scheduled onto the node.
  7138. If the affinity requirements specified by this field cease to be met
  7139. at some point during pod execution (e.g. due to an update), the system
  7140. may or may not try to eventually evict the pod from its node.
  7141. properties:
  7142. nodeSelectorTerms:
  7143. description: Required. A list of node selector
  7144. terms. The terms are ORed.
  7145. items:
  7146. description: |-
  7147. A null or empty node selector term matches no objects. The requirements of
  7148. them are ANDed.
  7149. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  7150. properties:
  7151. matchExpressions:
  7152. description: A list of node selector requirements
  7153. by node's labels.
  7154. items:
  7155. description: |-
  7156. A node selector requirement is a selector that contains values, a key, and an operator
  7157. that relates the key and values.
  7158. properties:
  7159. key:
  7160. description: The label key that the
  7161. selector applies to.
  7162. type: string
  7163. operator:
  7164. description: |-
  7165. Represents a key's relationship to a set of values.
  7166. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7167. type: string
  7168. values:
  7169. description: |-
  7170. An array of string values. If the operator is In or NotIn,
  7171. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7172. the values array must be empty. If the operator is Gt or Lt, the values
  7173. array must have a single element, which will be interpreted as an integer.
  7174. This array is replaced during a strategic merge patch.
  7175. items:
  7176. type: string
  7177. type: array
  7178. x-kubernetes-list-type: atomic
  7179. required:
  7180. - key
  7181. - operator
  7182. type: object
  7183. type: array
  7184. x-kubernetes-list-type: atomic
  7185. matchFields:
  7186. description: A list of node selector requirements
  7187. by node's fields.
  7188. items:
  7189. description: |-
  7190. A node selector requirement is a selector that contains values, a key, and an operator
  7191. that relates the key and values.
  7192. properties:
  7193. key:
  7194. description: The label key that the
  7195. selector applies to.
  7196. type: string
  7197. operator:
  7198. description: |-
  7199. Represents a key's relationship to a set of values.
  7200. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  7201. type: string
  7202. values:
  7203. description: |-
  7204. An array of string values. If the operator is In or NotIn,
  7205. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7206. the values array must be empty. If the operator is Gt or Lt, the values
  7207. array must have a single element, which will be interpreted as an integer.
  7208. This array is replaced during a strategic merge patch.
  7209. items:
  7210. type: string
  7211. type: array
  7212. x-kubernetes-list-type: atomic
  7213. required:
  7214. - key
  7215. - operator
  7216. type: object
  7217. type: array
  7218. x-kubernetes-list-type: atomic
  7219. type: object
  7220. x-kubernetes-map-type: atomic
  7221. type: array
  7222. x-kubernetes-list-type: atomic
  7223. required:
  7224. - nodeSelectorTerms
  7225. type: object
  7226. x-kubernetes-map-type: atomic
  7227. type: object
  7228. podAffinity:
  7229. description: Describes pod affinity scheduling rules (e.g.
  7230. co-locate this pod in the same node, zone, etc. as some
  7231. other pod(s)).
  7232. properties:
  7233. preferredDuringSchedulingIgnoredDuringExecution:
  7234. description: |-
  7235. The scheduler will prefer to schedule pods to nodes that satisfy
  7236. the affinity expressions specified by this field, but it may choose
  7237. a node that violates one or more of the expressions. The node that is
  7238. most preferred is the one with the greatest sum of weights, i.e.
  7239. for each node that meets all of the scheduling requirements (resource
  7240. request, requiredDuringScheduling affinity expressions, etc.),
  7241. compute a sum by iterating through the elements of this field and adding
  7242. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  7243. node(s) with the highest sum are the most preferred.
  7244. items:
  7245. description: The weights of all of the matched WeightedPodAffinityTerm
  7246. fields are added per-node to find the most preferred
  7247. node(s)
  7248. properties:
  7249. podAffinityTerm:
  7250. description: Required. A pod affinity term,
  7251. associated with the corresponding weight.
  7252. properties:
  7253. labelSelector:
  7254. description: |-
  7255. A label query over a set of resources, in this case pods.
  7256. If it's null, this PodAffinityTerm matches with no Pods.
  7257. properties:
  7258. matchExpressions:
  7259. description: matchExpressions is a list
  7260. of label selector requirements. The
  7261. requirements are ANDed.
  7262. items:
  7263. description: |-
  7264. A label selector requirement is a selector that contains values, a key, and an operator that
  7265. relates the key and values.
  7266. properties:
  7267. key:
  7268. description: key is the label
  7269. key that the selector applies
  7270. to.
  7271. type: string
  7272. operator:
  7273. description: |-
  7274. operator represents a key's relationship to a set of values.
  7275. Valid operators are In, NotIn, Exists and DoesNotExist.
  7276. type: string
  7277. values:
  7278. description: |-
  7279. values is an array of string values. If the operator is In or NotIn,
  7280. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7281. the values array must be empty. This array is replaced during a strategic
  7282. merge patch.
  7283. items:
  7284. type: string
  7285. type: array
  7286. x-kubernetes-list-type: atomic
  7287. required:
  7288. - key
  7289. - operator
  7290. type: object
  7291. type: array
  7292. x-kubernetes-list-type: atomic
  7293. matchLabels:
  7294. additionalProperties:
  7295. type: string
  7296. description: |-
  7297. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7298. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7299. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7300. type: object
  7301. type: object
  7302. x-kubernetes-map-type: atomic
  7303. matchLabelKeys:
  7304. description: |-
  7305. MatchLabelKeys is a set of pod label keys to select which pods will
  7306. be taken into consideration. The keys are used to lookup values from the
  7307. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  7308. to select the group of existing pods which pods will be taken into consideration
  7309. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7310. pod labels will be ignored. The default value is empty.
  7311. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  7312. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  7313. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7314. items:
  7315. type: string
  7316. type: array
  7317. x-kubernetes-list-type: atomic
  7318. mismatchLabelKeys:
  7319. description: |-
  7320. MismatchLabelKeys is a set of pod label keys to select which pods will
  7321. be taken into consideration. The keys are used to lookup values from the
  7322. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  7323. to select the group of existing pods which pods will be taken into consideration
  7324. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7325. pod labels will be ignored. The default value is empty.
  7326. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  7327. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  7328. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7329. items:
  7330. type: string
  7331. type: array
  7332. x-kubernetes-list-type: atomic
  7333. namespaceSelector:
  7334. description: |-
  7335. A label query over the set of namespaces that the term applies to.
  7336. The term is applied to the union of the namespaces selected by this field
  7337. and the ones listed in the namespaces field.
  7338. null selector and null or empty namespaces list means "this pod's namespace".
  7339. An empty selector ({}) matches all namespaces.
  7340. properties:
  7341. matchExpressions:
  7342. description: matchExpressions is a list
  7343. of label selector requirements. The
  7344. requirements are ANDed.
  7345. items:
  7346. description: |-
  7347. A label selector requirement is a selector that contains values, a key, and an operator that
  7348. relates the key and values.
  7349. properties:
  7350. key:
  7351. description: key is the label
  7352. key that the selector applies
  7353. to.
  7354. type: string
  7355. operator:
  7356. description: |-
  7357. operator represents a key's relationship to a set of values.
  7358. Valid operators are In, NotIn, Exists and DoesNotExist.
  7359. type: string
  7360. values:
  7361. description: |-
  7362. values is an array of string values. If the operator is In or NotIn,
  7363. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7364. the values array must be empty. This array is replaced during a strategic
  7365. merge patch.
  7366. items:
  7367. type: string
  7368. type: array
  7369. x-kubernetes-list-type: atomic
  7370. required:
  7371. - key
  7372. - operator
  7373. type: object
  7374. type: array
  7375. x-kubernetes-list-type: atomic
  7376. matchLabels:
  7377. additionalProperties:
  7378. type: string
  7379. description: |-
  7380. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7381. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7382. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7383. type: object
  7384. type: object
  7385. x-kubernetes-map-type: atomic
  7386. namespaces:
  7387. description: |-
  7388. namespaces specifies a static list of namespace names that the term applies to.
  7389. The term is applied to the union of the namespaces listed in this field
  7390. and the ones selected by namespaceSelector.
  7391. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  7392. items:
  7393. type: string
  7394. type: array
  7395. x-kubernetes-list-type: atomic
  7396. topologyKey:
  7397. description: |-
  7398. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  7399. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  7400. whose value of the label with key topologyKey matches that of any node on which any of the
  7401. selected pods is running.
  7402. Empty topologyKey is not allowed.
  7403. type: string
  7404. required:
  7405. - topologyKey
  7406. type: object
  7407. weight:
  7408. description: |-
  7409. weight associated with matching the corresponding podAffinityTerm,
  7410. in the range 1-100.
  7411. format: int32
  7412. type: integer
  7413. required:
  7414. - podAffinityTerm
  7415. - weight
  7416. type: object
  7417. type: array
  7418. x-kubernetes-list-type: atomic
  7419. requiredDuringSchedulingIgnoredDuringExecution:
  7420. description: |-
  7421. If the affinity requirements specified by this field are not met at
  7422. scheduling time, the pod will not be scheduled onto the node.
  7423. If the affinity requirements specified by this field cease to be met
  7424. at some point during pod execution (e.g. due to a pod label update), the
  7425. system may or may not try to eventually evict the pod from its node.
  7426. When there are multiple elements, the lists of nodes corresponding to each
  7427. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  7428. items:
  7429. description: |-
  7430. Defines a set of pods (namely those matching the labelSelector
  7431. relative to the given namespace(s)) that this pod should be
  7432. co-located (affinity) or not co-located (anti-affinity) with,
  7433. where co-located is defined as running on a node whose value of
  7434. the label with key <topologyKey> matches that of any node on which
  7435. a pod of the set of pods is running
  7436. properties:
  7437. labelSelector:
  7438. description: |-
  7439. A label query over a set of resources, in this case pods.
  7440. If it's null, this PodAffinityTerm matches with no Pods.
  7441. properties:
  7442. matchExpressions:
  7443. description: matchExpressions is a list
  7444. of label selector requirements. The requirements
  7445. are ANDed.
  7446. items:
  7447. description: |-
  7448. A label selector requirement is a selector that contains values, a key, and an operator that
  7449. relates the key and values.
  7450. properties:
  7451. key:
  7452. description: key is the label key
  7453. that the selector applies to.
  7454. type: string
  7455. operator:
  7456. description: |-
  7457. operator represents a key's relationship to a set of values.
  7458. Valid operators are In, NotIn, Exists and DoesNotExist.
  7459. type: string
  7460. values:
  7461. description: |-
  7462. values is an array of string values. If the operator is In or NotIn,
  7463. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7464. the values array must be empty. This array is replaced during a strategic
  7465. merge patch.
  7466. items:
  7467. type: string
  7468. type: array
  7469. x-kubernetes-list-type: atomic
  7470. required:
  7471. - key
  7472. - operator
  7473. type: object
  7474. type: array
  7475. x-kubernetes-list-type: atomic
  7476. matchLabels:
  7477. additionalProperties:
  7478. type: string
  7479. description: |-
  7480. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7481. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7482. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7483. type: object
  7484. type: object
  7485. x-kubernetes-map-type: atomic
  7486. matchLabelKeys:
  7487. description: |-
  7488. MatchLabelKeys is a set of pod label keys to select which pods will
  7489. be taken into consideration. The keys are used to lookup values from the
  7490. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  7491. to select the group of existing pods which pods will be taken into consideration
  7492. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7493. pod labels will be ignored. The default value is empty.
  7494. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  7495. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  7496. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7497. items:
  7498. type: string
  7499. type: array
  7500. x-kubernetes-list-type: atomic
  7501. mismatchLabelKeys:
  7502. description: |-
  7503. MismatchLabelKeys is a set of pod label keys to select which pods will
  7504. be taken into consideration. The keys are used to lookup values from the
  7505. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  7506. to select the group of existing pods which pods will be taken into consideration
  7507. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7508. pod labels will be ignored. The default value is empty.
  7509. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  7510. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  7511. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7512. items:
  7513. type: string
  7514. type: array
  7515. x-kubernetes-list-type: atomic
  7516. namespaceSelector:
  7517. description: |-
  7518. A label query over the set of namespaces that the term applies to.
  7519. The term is applied to the union of the namespaces selected by this field
  7520. and the ones listed in the namespaces field.
  7521. null selector and null or empty namespaces list means "this pod's namespace".
  7522. An empty selector ({}) matches all namespaces.
  7523. properties:
  7524. matchExpressions:
  7525. description: matchExpressions is a list
  7526. of label selector requirements. The requirements
  7527. are ANDed.
  7528. items:
  7529. description: |-
  7530. A label selector requirement is a selector that contains values, a key, and an operator that
  7531. relates the key and values.
  7532. properties:
  7533. key:
  7534. description: key is the label key
  7535. that the selector applies to.
  7536. type: string
  7537. operator:
  7538. description: |-
  7539. operator represents a key's relationship to a set of values.
  7540. Valid operators are In, NotIn, Exists and DoesNotExist.
  7541. type: string
  7542. values:
  7543. description: |-
  7544. values is an array of string values. If the operator is In or NotIn,
  7545. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7546. the values array must be empty. This array is replaced during a strategic
  7547. merge patch.
  7548. items:
  7549. type: string
  7550. type: array
  7551. x-kubernetes-list-type: atomic
  7552. required:
  7553. - key
  7554. - operator
  7555. type: object
  7556. type: array
  7557. x-kubernetes-list-type: atomic
  7558. matchLabels:
  7559. additionalProperties:
  7560. type: string
  7561. description: |-
  7562. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7563. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7564. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7565. type: object
  7566. type: object
  7567. x-kubernetes-map-type: atomic
  7568. namespaces:
  7569. description: |-
  7570. namespaces specifies a static list of namespace names that the term applies to.
  7571. The term is applied to the union of the namespaces listed in this field
  7572. and the ones selected by namespaceSelector.
  7573. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  7574. items:
  7575. type: string
  7576. type: array
  7577. x-kubernetes-list-type: atomic
  7578. topologyKey:
  7579. description: |-
  7580. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  7581. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  7582. whose value of the label with key topologyKey matches that of any node on which any of the
  7583. selected pods is running.
  7584. Empty topologyKey is not allowed.
  7585. type: string
  7586. required:
  7587. - topologyKey
  7588. type: object
  7589. type: array
  7590. x-kubernetes-list-type: atomic
  7591. type: object
  7592. podAntiAffinity:
  7593. description: Describes pod anti-affinity scheduling rules
  7594. (e.g. avoid putting this pod in the same node, zone,
  7595. etc. as some other pod(s)).
  7596. properties:
  7597. preferredDuringSchedulingIgnoredDuringExecution:
  7598. description: |-
  7599. The scheduler will prefer to schedule pods to nodes that satisfy
  7600. the anti-affinity expressions specified by this field, but it may choose
  7601. a node that violates one or more of the expressions. The node that is
  7602. most preferred is the one with the greatest sum of weights, i.e.
  7603. for each node that meets all of the scheduling requirements (resource
  7604. request, requiredDuringScheduling anti-affinity expressions, etc.),
  7605. compute a sum by iterating through the elements of this field and adding
  7606. "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
  7607. node(s) with the highest sum are the most preferred.
  7608. items:
  7609. description: The weights of all of the matched WeightedPodAffinityTerm
  7610. fields are added per-node to find the most preferred
  7611. node(s)
  7612. properties:
  7613. podAffinityTerm:
  7614. description: Required. A pod affinity term,
  7615. associated with the corresponding weight.
  7616. properties:
  7617. labelSelector:
  7618. description: |-
  7619. A label query over a set of resources, in this case pods.
  7620. If it's null, this PodAffinityTerm matches with no Pods.
  7621. properties:
  7622. matchExpressions:
  7623. description: matchExpressions is a list
  7624. of label selector requirements. The
  7625. requirements are ANDed.
  7626. items:
  7627. description: |-
  7628. A label selector requirement is a selector that contains values, a key, and an operator that
  7629. relates the key and values.
  7630. properties:
  7631. key:
  7632. description: key is the label
  7633. key that the selector applies
  7634. to.
  7635. type: string
  7636. operator:
  7637. description: |-
  7638. operator represents a key's relationship to a set of values.
  7639. Valid operators are In, NotIn, Exists and DoesNotExist.
  7640. type: string
  7641. values:
  7642. description: |-
  7643. values is an array of string values. If the operator is In or NotIn,
  7644. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7645. the values array must be empty. This array is replaced during a strategic
  7646. merge patch.
  7647. items:
  7648. type: string
  7649. type: array
  7650. x-kubernetes-list-type: atomic
  7651. required:
  7652. - key
  7653. - operator
  7654. type: object
  7655. type: array
  7656. x-kubernetes-list-type: atomic
  7657. matchLabels:
  7658. additionalProperties:
  7659. type: string
  7660. description: |-
  7661. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7662. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7663. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7664. type: object
  7665. type: object
  7666. x-kubernetes-map-type: atomic
  7667. matchLabelKeys:
  7668. description: |-
  7669. MatchLabelKeys is a set of pod label keys to select which pods will
  7670. be taken into consideration. The keys are used to lookup values from the
  7671. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  7672. to select the group of existing pods which pods will be taken into consideration
  7673. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7674. pod labels will be ignored. The default value is empty.
  7675. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  7676. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  7677. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7678. items:
  7679. type: string
  7680. type: array
  7681. x-kubernetes-list-type: atomic
  7682. mismatchLabelKeys:
  7683. description: |-
  7684. MismatchLabelKeys is a set of pod label keys to select which pods will
  7685. be taken into consideration. The keys are used to lookup values from the
  7686. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  7687. to select the group of existing pods which pods will be taken into consideration
  7688. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7689. pod labels will be ignored. The default value is empty.
  7690. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  7691. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  7692. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7693. items:
  7694. type: string
  7695. type: array
  7696. x-kubernetes-list-type: atomic
  7697. namespaceSelector:
  7698. description: |-
  7699. A label query over the set of namespaces that the term applies to.
  7700. The term is applied to the union of the namespaces selected by this field
  7701. and the ones listed in the namespaces field.
  7702. null selector and null or empty namespaces list means "this pod's namespace".
  7703. An empty selector ({}) matches all namespaces.
  7704. properties:
  7705. matchExpressions:
  7706. description: matchExpressions is a list
  7707. of label selector requirements. The
  7708. requirements are ANDed.
  7709. items:
  7710. description: |-
  7711. A label selector requirement is a selector that contains values, a key, and an operator that
  7712. relates the key and values.
  7713. properties:
  7714. key:
  7715. description: key is the label
  7716. key that the selector applies
  7717. to.
  7718. type: string
  7719. operator:
  7720. description: |-
  7721. operator represents a key's relationship to a set of values.
  7722. Valid operators are In, NotIn, Exists and DoesNotExist.
  7723. type: string
  7724. values:
  7725. description: |-
  7726. values is an array of string values. If the operator is In or NotIn,
  7727. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7728. the values array must be empty. This array is replaced during a strategic
  7729. merge patch.
  7730. items:
  7731. type: string
  7732. type: array
  7733. x-kubernetes-list-type: atomic
  7734. required:
  7735. - key
  7736. - operator
  7737. type: object
  7738. type: array
  7739. x-kubernetes-list-type: atomic
  7740. matchLabels:
  7741. additionalProperties:
  7742. type: string
  7743. description: |-
  7744. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7745. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7746. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7747. type: object
  7748. type: object
  7749. x-kubernetes-map-type: atomic
  7750. namespaces:
  7751. description: |-
  7752. namespaces specifies a static list of namespace names that the term applies to.
  7753. The term is applied to the union of the namespaces listed in this field
  7754. and the ones selected by namespaceSelector.
  7755. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  7756. items:
  7757. type: string
  7758. type: array
  7759. x-kubernetes-list-type: atomic
  7760. topologyKey:
  7761. description: |-
  7762. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  7763. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  7764. whose value of the label with key topologyKey matches that of any node on which any of the
  7765. selected pods is running.
  7766. Empty topologyKey is not allowed.
  7767. type: string
  7768. required:
  7769. - topologyKey
  7770. type: object
  7771. weight:
  7772. description: |-
  7773. weight associated with matching the corresponding podAffinityTerm,
  7774. in the range 1-100.
  7775. format: int32
  7776. type: integer
  7777. required:
  7778. - podAffinityTerm
  7779. - weight
  7780. type: object
  7781. type: array
  7782. x-kubernetes-list-type: atomic
  7783. requiredDuringSchedulingIgnoredDuringExecution:
  7784. description: |-
  7785. If the anti-affinity requirements specified by this field are not met at
  7786. scheduling time, the pod will not be scheduled onto the node.
  7787. If the anti-affinity requirements specified by this field cease to be met
  7788. at some point during pod execution (e.g. due to a pod label update), the
  7789. system may or may not try to eventually evict the pod from its node.
  7790. When there are multiple elements, the lists of nodes corresponding to each
  7791. podAffinityTerm are intersected, i.e. all terms must be satisfied.
  7792. items:
  7793. description: |-
  7794. Defines a set of pods (namely those matching the labelSelector
  7795. relative to the given namespace(s)) that this pod should be
  7796. co-located (affinity) or not co-located (anti-affinity) with,
  7797. where co-located is defined as running on a node whose value of
  7798. the label with key <topologyKey> matches that of any node on which
  7799. a pod of the set of pods is running
  7800. properties:
  7801. labelSelector:
  7802. description: |-
  7803. A label query over a set of resources, in this case pods.
  7804. If it's null, this PodAffinityTerm matches with no Pods.
  7805. properties:
  7806. matchExpressions:
  7807. description: matchExpressions is a list
  7808. of label selector requirements. The requirements
  7809. are ANDed.
  7810. items:
  7811. description: |-
  7812. A label selector requirement is a selector that contains values, a key, and an operator that
  7813. relates the key and values.
  7814. properties:
  7815. key:
  7816. description: key is the label key
  7817. that the selector applies to.
  7818. type: string
  7819. operator:
  7820. description: |-
  7821. operator represents a key's relationship to a set of values.
  7822. Valid operators are In, NotIn, Exists and DoesNotExist.
  7823. type: string
  7824. values:
  7825. description: |-
  7826. values is an array of string values. If the operator is In or NotIn,
  7827. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7828. the values array must be empty. This array is replaced during a strategic
  7829. merge patch.
  7830. items:
  7831. type: string
  7832. type: array
  7833. x-kubernetes-list-type: atomic
  7834. required:
  7835. - key
  7836. - operator
  7837. type: object
  7838. type: array
  7839. x-kubernetes-list-type: atomic
  7840. matchLabels:
  7841. additionalProperties:
  7842. type: string
  7843. description: |-
  7844. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7845. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7846. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7847. type: object
  7848. type: object
  7849. x-kubernetes-map-type: atomic
  7850. matchLabelKeys:
  7851. description: |-
  7852. MatchLabelKeys is a set of pod label keys to select which pods will
  7853. be taken into consideration. The keys are used to lookup values from the
  7854. incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
  7855. to select the group of existing pods which pods will be taken into consideration
  7856. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7857. pod labels will be ignored. The default value is empty.
  7858. The same key is forbidden to exist in both matchLabelKeys and labelSelector.
  7859. Also, matchLabelKeys cannot be set when labelSelector isn't set.
  7860. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7861. items:
  7862. type: string
  7863. type: array
  7864. x-kubernetes-list-type: atomic
  7865. mismatchLabelKeys:
  7866. description: |-
  7867. MismatchLabelKeys is a set of pod label keys to select which pods will
  7868. be taken into consideration. The keys are used to lookup values from the
  7869. incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
  7870. to select the group of existing pods which pods will be taken into consideration
  7871. for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
  7872. pod labels will be ignored. The default value is empty.
  7873. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
  7874. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
  7875. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
  7876. items:
  7877. type: string
  7878. type: array
  7879. x-kubernetes-list-type: atomic
  7880. namespaceSelector:
  7881. description: |-
  7882. A label query over the set of namespaces that the term applies to.
  7883. The term is applied to the union of the namespaces selected by this field
  7884. and the ones listed in the namespaces field.
  7885. null selector and null or empty namespaces list means "this pod's namespace".
  7886. An empty selector ({}) matches all namespaces.
  7887. properties:
  7888. matchExpressions:
  7889. description: matchExpressions is a list
  7890. of label selector requirements. The requirements
  7891. are ANDed.
  7892. items:
  7893. description: |-
  7894. A label selector requirement is a selector that contains values, a key, and an operator that
  7895. relates the key and values.
  7896. properties:
  7897. key:
  7898. description: key is the label key
  7899. that the selector applies to.
  7900. type: string
  7901. operator:
  7902. description: |-
  7903. operator represents a key's relationship to a set of values.
  7904. Valid operators are In, NotIn, Exists and DoesNotExist.
  7905. type: string
  7906. values:
  7907. description: |-
  7908. values is an array of string values. If the operator is In or NotIn,
  7909. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  7910. the values array must be empty. This array is replaced during a strategic
  7911. merge patch.
  7912. items:
  7913. type: string
  7914. type: array
  7915. x-kubernetes-list-type: atomic
  7916. required:
  7917. - key
  7918. - operator
  7919. type: object
  7920. type: array
  7921. x-kubernetes-list-type: atomic
  7922. matchLabels:
  7923. additionalProperties:
  7924. type: string
  7925. description: |-
  7926. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  7927. map is equivalent to an element of matchExpressions, whose key field is "key", the
  7928. operator is "In", and the values array contains only "value". The requirements are ANDed.
  7929. type: object
  7930. type: object
  7931. x-kubernetes-map-type: atomic
  7932. namespaces:
  7933. description: |-
  7934. namespaces specifies a static list of namespace names that the term applies to.
  7935. The term is applied to the union of the namespaces listed in this field
  7936. and the ones selected by namespaceSelector.
  7937. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  7938. items:
  7939. type: string
  7940. type: array
  7941. x-kubernetes-list-type: atomic
  7942. topologyKey:
  7943. description: |-
  7944. This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
  7945. the labelSelector in the specified namespaces, where co-located is defined as running on a node
  7946. whose value of the label with key topologyKey matches that of any node on which any of the
  7947. selected pods is running.
  7948. Empty topologyKey is not allowed.
  7949. type: string
  7950. required:
  7951. - topologyKey
  7952. type: object
  7953. type: array
  7954. x-kubernetes-list-type: atomic
  7955. type: object
  7956. type: object
  7957. nodeSelector:
  7958. additionalProperties:
  7959. type: string
  7960. description: nodeSelector pins pods to nodes that match all
  7961. the specified labels.
  7962. type: object
  7963. resources:
  7964. description: resources sets per-container resource requests
  7965. and limits.
  7966. properties:
  7967. claims:
  7968. description: |-
  7969. Claims lists the names of resources, defined in spec.resourceClaims,
  7970. that are used by this container.
  7971. This is an alpha field and requires enabling the
  7972. DynamicResourceAllocation feature gate.
  7973. This field is immutable. It can only be set for containers.
  7974. items:
  7975. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  7976. properties:
  7977. name:
  7978. description: |-
  7979. Name must match the name of one entry in pod.spec.resourceClaims of
  7980. the Pod where this field is used. It makes that resource available
  7981. inside a container.
  7982. type: string
  7983. required:
  7984. - name
  7985. type: object
  7986. type: array
  7987. x-kubernetes-list-map-keys:
  7988. - name
  7989. x-kubernetes-list-type: map
  7990. limits:
  7991. additionalProperties:
  7992. anyOf:
  7993. - type: integer
  7994. - type: string
  7995. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7996. x-kubernetes-int-or-string: true
  7997. description: |-
  7998. Limits describes the maximum amount of compute resources allowed.
  7999. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  8000. type: object
  8001. requests:
  8002. additionalProperties:
  8003. anyOf:
  8004. - type: integer
  8005. - type: string
  8006. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8007. x-kubernetes-int-or-string: true
  8008. description: |-
  8009. Requests describes the minimum amount of compute resources required.
  8010. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  8011. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  8012. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  8013. type: object
  8014. type: object
  8015. runtime:
  8016. description: runtime describes the container runtime to use
  8017. for the workload.
  8018. properties:
  8019. args:
  8020. description: args specifies or overrides the preset's
  8021. container command.
  8022. items:
  8023. type: string
  8024. type: array
  8025. command:
  8026. description: command specifies or overrides the preset's
  8027. container entrypoint.
  8028. items:
  8029. type: string
  8030. type: array
  8031. conditionalArgs:
  8032. description: conditionalArgs are appended to the preset
  8033. command conditionally.
  8034. items:
  8035. properties:
  8036. args:
  8037. description: args are appended to the preset args.
  8038. items:
  8039. type: string
  8040. type: array
  8041. when:
  8042. description: when the value is not empty after variable
  8043. substitution, the args are appended to the preset
  8044. args.
  8045. type: string
  8046. required:
  8047. - args
  8048. - when
  8049. type: object
  8050. type: array
  8051. env:
  8052. description: env holds environment variables injected
  8053. into the container.
  8054. items:
  8055. description: EnvVar represents an environment variable
  8056. present in a Container.
  8057. properties:
  8058. name:
  8059. description: Name of the environment variable. Must
  8060. be a C_IDENTIFIER.
  8061. type: string
  8062. value:
  8063. description: |-
  8064. Variable references $(VAR_NAME) are expanded
  8065. using the previously defined environment variables in the container and
  8066. any service environment variables. If a variable cannot be resolved,
  8067. the reference in the input string will be unchanged. Double $$ are reduced
  8068. to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
  8069. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  8070. Escaped references will never be expanded, regardless of whether the variable
  8071. exists or not.
  8072. Defaults to "".
  8073. type: string
  8074. valueFrom:
  8075. description: Source for the environment variable's
  8076. value. Cannot be used if value is not empty.
  8077. properties:
  8078. configMapKeyRef:
  8079. description: Selects a key of a ConfigMap.
  8080. properties:
  8081. key:
  8082. description: The key to select.
  8083. type: string
  8084. name:
  8085. default: ""
  8086. description: |-
  8087. Name of the referent.
  8088. This field is effectively required, but due to backwards compatibility is
  8089. allowed to be empty. Instances of this type with an empty value here are
  8090. almost certainly wrong.
  8091. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8092. type: string
  8093. optional:
  8094. description: Specify whether the ConfigMap
  8095. or its key must be defined
  8096. type: boolean
  8097. required:
  8098. - key
  8099. type: object
  8100. x-kubernetes-map-type: atomic
  8101. fieldRef:
  8102. description: |-
  8103. Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
  8104. spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
  8105. properties:
  8106. apiVersion:
  8107. description: Version of the schema the FieldPath
  8108. is written in terms of, defaults to "v1".
  8109. type: string
  8110. fieldPath:
  8111. description: Path of the field to select
  8112. in the specified API version.
  8113. type: string
  8114. required:
  8115. - fieldPath
  8116. type: object
  8117. x-kubernetes-map-type: atomic
  8118. resourceFieldRef:
  8119. description: |-
  8120. Selects a resource of the container: only resources limits and requests
  8121. (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
  8122. properties:
  8123. containerName:
  8124. description: 'Container name: required for
  8125. volumes, optional for env vars'
  8126. type: string
  8127. divisor:
  8128. anyOf:
  8129. - type: integer
  8130. - type: string
  8131. description: Specifies the output format
  8132. of the exposed resources, defaults to
  8133. "1"
  8134. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8135. x-kubernetes-int-or-string: true
  8136. resource:
  8137. description: 'Required: resource to select'
  8138. type: string
  8139. required:
  8140. - resource
  8141. type: object
  8142. x-kubernetes-map-type: atomic
  8143. secretKeyRef:
  8144. description: Selects a key of a secret in the
  8145. pod's namespace
  8146. properties:
  8147. key:
  8148. description: The key of the secret to select
  8149. from. Must be a valid secret key.
  8150. type: string
  8151. name:
  8152. default: ""
  8153. description: |-
  8154. Name of the referent.
  8155. This field is effectively required, but due to backwards compatibility is
  8156. allowed to be empty. Instances of this type with an empty value here are
  8157. almost certainly wrong.
  8158. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8159. type: string
  8160. optional:
  8161. description: Specify whether the Secret
  8162. or its key must be defined
  8163. type: boolean
  8164. required:
  8165. - key
  8166. type: object
  8167. x-kubernetes-map-type: atomic
  8168. type: object
  8169. required:
  8170. - name
  8171. type: object
  8172. type: array
  8173. envFrom:
  8174. description: envFrom references ConfigMaps or Secrets
  8175. whose key-value pairs are injected as environment variables.
  8176. items:
  8177. description: EnvFromSource represents the source of
  8178. a set of ConfigMaps
  8179. properties:
  8180. configMapRef:
  8181. description: The ConfigMap to select from
  8182. properties:
  8183. name:
  8184. default: ""
  8185. description: |-
  8186. Name of the referent.
  8187. This field is effectively required, but due to backwards compatibility is
  8188. allowed to be empty. Instances of this type with an empty value here are
  8189. almost certainly wrong.
  8190. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8191. type: string
  8192. optional:
  8193. description: Specify whether the ConfigMap must
  8194. be defined
  8195. type: boolean
  8196. type: object
  8197. x-kubernetes-map-type: atomic
  8198. prefix:
  8199. description: An optional identifier to prepend to
  8200. each key in the ConfigMap. Must be a C_IDENTIFIER.
  8201. type: string
  8202. secretRef:
  8203. description: The Secret to select from
  8204. properties:
  8205. name:
  8206. default: ""
  8207. description: |-
  8208. Name of the referent.
  8209. This field is effectively required, but due to backwards compatibility is
  8210. allowed to be empty. Instances of this type with an empty value here are
  8211. almost certainly wrong.
  8212. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8213. type: string
  8214. optional:
  8215. description: Specify whether the Secret must
  8216. be defined
  8217. type: boolean
  8218. type: object
  8219. x-kubernetes-map-type: atomic
  8220. type: object
  8221. type: array
  8222. extraArgs:
  8223. description: extraArgs are appended to the preset command.
  8224. items:
  8225. type: string
  8226. type: array
  8227. image:
  8228. description: |-
  8229. image specifies or overrides the preset's container image, e.g. to pin a specific tag
  8230. or pull from a private registry mirror.
  8231. type: string
  8232. name:
  8233. description: name selects a built-in runtime preset.
  8234. type: string
  8235. port:
  8236. description: port specifies or overrides the container
  8237. port the runtime listens on.
  8238. format: int32
  8239. type: integer
  8240. volumeMounts:
  8241. description: volumeMounts defines where pod volumes are
  8242. mounted inside the container.
  8243. items:
  8244. description: VolumeMount describes a mounting of a Volume
  8245. within a container.
  8246. properties:
  8247. mountPath:
  8248. description: |-
  8249. Path within the container at which the volume should be mounted. Must
  8250. not contain ':'.
  8251. type: string
  8252. mountPropagation:
  8253. description: |-
  8254. mountPropagation determines how mounts are propagated from the host
  8255. to container and the other way around.
  8256. When not set, MountPropagationNone is used.
  8257. This field is beta in 1.10.
  8258. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
  8259. (which defaults to None).
  8260. type: string
  8261. name:
  8262. description: This must match the Name of a Volume.
  8263. type: string
  8264. readOnly:
  8265. description: |-
  8266. Mounted read-only if true, read-write otherwise (false or unspecified).
  8267. Defaults to false.
  8268. type: boolean
  8269. recursiveReadOnly:
  8270. description: |-
  8271. RecursiveReadOnly specifies whether read-only mounts should be handled
  8272. recursively.
  8273. If ReadOnly is false, this field has no meaning and must be unspecified.
  8274. If ReadOnly is true, and this field is set to Disabled, the mount is not made
  8275. recursively read-only. If this field is set to IfPossible, the mount is made
  8276. recursively read-only, if it is supported by the container runtime. If this
  8277. field is set to Enabled, the mount is made recursively read-only if it is
  8278. supported by the container runtime, otherwise the pod will not be started and
  8279. an error will be generated to indicate the reason.
  8280. If this field is set to IfPossible or Enabled, MountPropagation must be set to
  8281. None (or be unspecified, which defaults to None).
  8282. If this field is not specified, it is treated as an equivalent of Disabled.
  8283. type: string
  8284. subPath:
  8285. description: |-
  8286. Path within the volume from which the container's volume should be mounted.
  8287. Defaults to "" (volume's root).
  8288. type: string
  8289. subPathExpr:
  8290. description: |-
  8291. Expanded path within the volume from which the container's volume should be mounted.
  8292. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
  8293. Defaults to "" (volume's root).
  8294. SubPathExpr and SubPath are mutually exclusive.
  8295. type: string
  8296. required:
  8297. - mountPath
  8298. - name
  8299. type: object
  8300. type: array
  8301. type: object
  8302. securityContext:
  8303. description: |-
  8304. securityContext sets pod-level security attributes such as runAsUser,
  8305. runAsGroup, fsGroup, and sysctls.
  8306. properties:
  8307. appArmorProfile:
  8308. description: |-
  8309. appArmorProfile is the AppArmor options to use by the containers in this pod.
  8310. Note that this field cannot be set when spec.os.name is windows.
  8311. properties:
  8312. localhostProfile:
  8313. description: |-
  8314. localhostProfile indicates a profile loaded on the node that should be used.
  8315. The profile must be preconfigured on the node to work.
  8316. Must match the loaded name of the profile.
  8317. Must be set if and only if type is "Localhost".
  8318. type: string
  8319. type:
  8320. description: |-
  8321. type indicates which kind of AppArmor profile will be applied.
  8322. Valid options are:
  8323. Localhost - a profile pre-loaded on the node.
  8324. RuntimeDefault - the container runtime's default profile.
  8325. Unconfined - no AppArmor enforcement.
  8326. type: string
  8327. required:
  8328. - type
  8329. type: object
  8330. fsGroup:
  8331. description: |-
  8332. A special supplemental group that applies to all containers in a pod.
  8333. Some volume types allow the Kubelet to change the ownership of that volume
  8334. to be owned by the pod:
  8335. 1. The owning GID will be the FSGroup
  8336. 2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
  8337. 3. The permission bits are OR'd with rw-rw----
  8338. If unset, the Kubelet will not modify the ownership and permissions of any volume.
  8339. Note that this field cannot be set when spec.os.name is windows.
  8340. format: int64
  8341. type: integer
  8342. fsGroupChangePolicy:
  8343. description: |-
  8344. fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
  8345. before being exposed inside Pod. This field will only apply to
  8346. volume types which support fsGroup based ownership(and permissions).
  8347. It will have no effect on ephemeral volume types such as: secret, configmaps
  8348. and emptydir.
  8349. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
  8350. Note that this field cannot be set when spec.os.name is windows.
  8351. type: string
  8352. runAsGroup:
  8353. description: |-
  8354. The GID to run the entrypoint of the container process.
  8355. Uses runtime default if unset.
  8356. May also be set in SecurityContext. If set in both SecurityContext and
  8357. PodSecurityContext, the value specified in SecurityContext takes precedence
  8358. for that container.
  8359. Note that this field cannot be set when spec.os.name is windows.
  8360. format: int64
  8361. type: integer
  8362. runAsNonRoot:
  8363. description: |-
  8364. Indicates that the container must run as a non-root user.
  8365. If true, the Kubelet will validate the image at runtime to ensure that it
  8366. does not run as UID 0 (root) and fail to start the container if it does.
  8367. If unset or false, no such validation will be performed.
  8368. May also be set in SecurityContext. If set in both SecurityContext and
  8369. PodSecurityContext, the value specified in SecurityContext takes precedence.
  8370. type: boolean
  8371. runAsUser:
  8372. description: |-
  8373. The UID to run the entrypoint of the container process.
  8374. Defaults to user specified in image metadata if unspecified.
  8375. May also be set in SecurityContext. If set in both SecurityContext and
  8376. PodSecurityContext, the value specified in SecurityContext takes precedence
  8377. for that container.
  8378. Note that this field cannot be set when spec.os.name is windows.
  8379. format: int64
  8380. type: integer
  8381. seLinuxOptions:
  8382. description: |-
  8383. The SELinux context to be applied to all containers.
  8384. If unspecified, the container runtime will allocate a random SELinux context for each
  8385. container. May also be set in SecurityContext. If set in
  8386. both SecurityContext and PodSecurityContext, the value specified in SecurityContext
  8387. takes precedence for that container.
  8388. Note that this field cannot be set when spec.os.name is windows.
  8389. properties:
  8390. level:
  8391. description: Level is SELinux level label that applies
  8392. to the container.
  8393. type: string
  8394. role:
  8395. description: Role is a SELinux role label that applies
  8396. to the container.
  8397. type: string
  8398. type:
  8399. description: Type is a SELinux type label that applies
  8400. to the container.
  8401. type: string
  8402. user:
  8403. description: User is a SELinux user label that applies
  8404. to the container.
  8405. type: string
  8406. type: object
  8407. seccompProfile:
  8408. description: |-
  8409. The seccomp options to use by the containers in this pod.
  8410. Note that this field cannot be set when spec.os.name is windows.
  8411. properties:
  8412. localhostProfile:
  8413. description: |-
  8414. localhostProfile indicates a profile defined in a file on the node should be used.
  8415. The profile must be preconfigured on the node to work.
  8416. Must be a descending path, relative to the kubelet's configured seccomp profile location.
  8417. Must be set if type is "Localhost". Must NOT be set for any other type.
  8418. type: string
  8419. type:
  8420. description: |-
  8421. type indicates which kind of seccomp profile will be applied.
  8422. Valid options are:
  8423. Localhost - a profile defined in a file on the node should be used.
  8424. RuntimeDefault - the container runtime default profile should be used.
  8425. Unconfined - no profile should be applied.
  8426. type: string
  8427. required:
  8428. - type
  8429. type: object
  8430. supplementalGroups:
  8431. description: |-
  8432. A list of groups applied to the first process run in each container, in addition
  8433. to the container's primary GID, the fsGroup (if specified), and group memberships
  8434. defined in the container image for the uid of the container process. If unspecified,
  8435. no additional groups are added to any container. Note that group memberships
  8436. defined in the container image for the uid of the container process are still effective,
  8437. even if they are not included in this list.
  8438. Note that this field cannot be set when spec.os.name is windows.
  8439. items:
  8440. format: int64
  8441. type: integer
  8442. type: array
  8443. x-kubernetes-list-type: atomic
  8444. sysctls:
  8445. description: |-
  8446. Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
  8447. sysctls (by the container runtime) might fail to launch.
  8448. Note that this field cannot be set when spec.os.name is windows.
  8449. items:
  8450. description: Sysctl defines a kernel parameter to be
  8451. set
  8452. properties:
  8453. name:
  8454. description: Name of a property to set
  8455. type: string
  8456. value:
  8457. description: Value of a property to set
  8458. type: string
  8459. required:
  8460. - name
  8461. - value
  8462. type: object
  8463. type: array
  8464. x-kubernetes-list-type: atomic
  8465. windowsOptions:
  8466. description: |-
  8467. The Windows specific settings applied to all containers.
  8468. If unspecified, the options within a container's SecurityContext will be used.
  8469. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  8470. Note that this field cannot be set when spec.os.name is linux.
  8471. properties:
  8472. gmsaCredentialSpec:
  8473. description: |-
  8474. GMSACredentialSpec is where the GMSA admission webhook
  8475. (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
  8476. GMSA credential spec named by the GMSACredentialSpecName field.
  8477. type: string
  8478. gmsaCredentialSpecName:
  8479. description: GMSACredentialSpecName is the name of
  8480. the GMSA credential spec to use.
  8481. type: string
  8482. hostProcess:
  8483. description: |-
  8484. HostProcess determines if a container should be run as a 'Host Process' container.
  8485. All of a Pod's containers must have the same effective HostProcess value
  8486. (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
  8487. In addition, if HostProcess is true then HostNetwork must also be set to true.
  8488. type: boolean
  8489. runAsUserName:
  8490. description: |-
  8491. The UserName in Windows to run the entrypoint of the container process.
  8492. Defaults to the user specified in image metadata if unspecified.
  8493. May also be set in PodSecurityContext. If set in both SecurityContext and
  8494. PodSecurityContext, the value specified in SecurityContext takes precedence.
  8495. type: string
  8496. type: object
  8497. type: object
  8498. tolerations:
  8499. description: tolerations allow pods to be scheduled onto nodes
  8500. with matching taints.
  8501. items:
  8502. description: |-
  8503. The pod this Toleration is attached to tolerates any taint that matches
  8504. the triple <key,value,effect> using the matching operator <operator>.
  8505. properties:
  8506. effect:
  8507. description: |-
  8508. Effect indicates the taint effect to match. Empty means match all taint effects.
  8509. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  8510. type: string
  8511. key:
  8512. description: |-
  8513. Key is the taint key that the toleration applies to. Empty means match all taint keys.
  8514. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  8515. type: string
  8516. operator:
  8517. description: |-
  8518. Operator represents a key's relationship to the value.
  8519. Valid operators are Exists and Equal. Defaults to Equal.
  8520. Exists is equivalent to wildcard for value, so that a pod can
  8521. tolerate all taints of a particular category.
  8522. type: string
  8523. tolerationSeconds:
  8524. description: |-
  8525. TolerationSeconds represents the period of time the toleration (which must be
  8526. of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
  8527. it is not set, which means tolerate the taint forever (do not evict). Zero and
  8528. negative values will be treated as 0 (evict immediately) by the system.
  8529. format: int64
  8530. type: integer
  8531. value:
  8532. description: |-
  8533. Value is the taint value the toleration matches to.
  8534. If the operator is Exists, the value should be empty, otherwise just a regular string.
  8535. type: string
  8536. type: object
  8537. type: array
  8538. topologySpreadConstraints:
  8539. description: |-
  8540. topologySpreadConstraints controls how pods are spread across failure
  8541. domains (zones, nodes). Prefer this over pod anti-affinity for HA spread.
  8542. items:
  8543. description: TopologySpreadConstraint specifies how to spread
  8544. matching pods among the given topology.
  8545. properties:
  8546. labelSelector:
  8547. description: |-
  8548. LabelSelector is used to find matching pods.
  8549. Pods that match this label selector are counted to determine the number of pods
  8550. in their corresponding topology domain.
  8551. properties:
  8552. matchExpressions:
  8553. description: matchExpressions is a list of label
  8554. selector requirements. The requirements are ANDed.
  8555. items:
  8556. description: |-
  8557. A label selector requirement is a selector that contains values, a key, and an operator that
  8558. relates the key and values.
  8559. properties:
  8560. key:
  8561. description: key is the label key that the
  8562. selector applies to.
  8563. type: string
  8564. operator:
  8565. description: |-
  8566. operator represents a key's relationship to a set of values.
  8567. Valid operators are In, NotIn, Exists and DoesNotExist.
  8568. type: string
  8569. values:
  8570. description: |-
  8571. values is an array of string values. If the operator is In or NotIn,
  8572. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  8573. the values array must be empty. This array is replaced during a strategic
  8574. merge patch.
  8575. items:
  8576. type: string
  8577. type: array
  8578. x-kubernetes-list-type: atomic
  8579. required:
  8580. - key
  8581. - operator
  8582. type: object
  8583. type: array
  8584. x-kubernetes-list-type: atomic
  8585. matchLabels:
  8586. additionalProperties:
  8587. type: string
  8588. description: |-
  8589. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  8590. map is equivalent to an element of matchExpressions, whose key field is "key", the
  8591. operator is "In", and the values array contains only "value". The requirements are ANDed.
  8592. type: object
  8593. type: object
  8594. x-kubernetes-map-type: atomic
  8595. matchLabelKeys:
  8596. description: |-
  8597. MatchLabelKeys is a set of pod label keys to select the pods over which
  8598. spreading will be calculated. The keys are used to lookup values from the
  8599. incoming pod labels, those key-value labels are ANDed with labelSelector
  8600. to select the group of existing pods over which spreading will be calculated
  8601. for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
  8602. MatchLabelKeys cannot be set when LabelSelector isn't set.
  8603. Keys that don't exist in the incoming pod labels will
  8604. be ignored. A null or empty list means only match against labelSelector.
  8605. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
  8606. items:
  8607. type: string
  8608. type: array
  8609. x-kubernetes-list-type: atomic
  8610. maxSkew:
  8611. description: |-
  8612. MaxSkew describes the degree to which pods may be unevenly distributed.
  8613. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
  8614. between the number of matching pods in the target topology and the global minimum.
  8615. The global minimum is the minimum number of matching pods in an eligible domain
  8616. or zero if the number of eligible domains is less than MinDomains.
  8617. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  8618. labelSelector spread as 2/2/1:
  8619. In this case, the global minimum is 1.
  8620. | zone1 | zone2 | zone3 |
  8621. | P P | P P | P |
  8622. - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
  8623. scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
  8624. violate MaxSkew(1).
  8625. - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
  8626. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
  8627. to topologies that satisfy it.
  8628. It's a required field. Default value is 1 and 0 is not allowed.
  8629. format: int32
  8630. type: integer
  8631. minDomains:
  8632. description: |-
  8633. MinDomains indicates a minimum number of eligible domains.
  8634. When the number of eligible domains with matching topology keys is less than minDomains,
  8635. Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
  8636. And when the number of eligible domains with matching topology keys equals or greater than minDomains,
  8637. this value has no effect on scheduling.
  8638. As a result, when the number of eligible domains is less than minDomains,
  8639. scheduler won't schedule more than maxSkew Pods to those domains.
  8640. If value is nil, the constraint behaves as if MinDomains is equal to 1.
  8641. Valid values are integers greater than 0.
  8642. When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
  8643. For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
  8644. labelSelector spread as 2/2/2:
  8645. | zone1 | zone2 | zone3 |
  8646. | P P | P P | P P |
  8647. The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
  8648. In this situation, new pod with the same labelSelector cannot be scheduled,
  8649. because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
  8650. it will violate MaxSkew.
  8651. format: int32
  8652. type: integer
  8653. nodeAffinityPolicy:
  8654. description: |-
  8655. NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
  8656. when calculating pod topology spread skew. Options are:
  8657. - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
  8658. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
  8659. If this value is nil, the behavior is equivalent to the Honor policy.
  8660. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
  8661. type: string
  8662. nodeTaintsPolicy:
  8663. description: |-
  8664. NodeTaintsPolicy indicates how we will treat node taints when calculating
  8665. pod topology spread skew. Options are:
  8666. - Honor: nodes without taints, along with tainted nodes for which the incoming pod
  8667. has a toleration, are included.
  8668. - Ignore: node taints are ignored. All nodes are included.
  8669. If this value is nil, the behavior is equivalent to the Ignore policy.
  8670. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
  8671. type: string
  8672. topologyKey:
  8673. description: |-
  8674. TopologyKey is the key of node labels. Nodes that have a label with this key
  8675. and identical values are considered to be in the same topology.
  8676. We consider each <key, value> as a "bucket", and try to put balanced number
  8677. of pods into each bucket.
  8678. We define a domain as a particular instance of a topology.
  8679. Also, we define an eligible domain as a domain whose nodes meet the requirements of
  8680. nodeAffinityPolicy and nodeTaintsPolicy.
  8681. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
  8682. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
  8683. It's a required field.
  8684. type: string
  8685. whenUnsatisfiable:
  8686. description: |-
  8687. WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
  8688. the spread constraint.
  8689. - DoNotSchedule (default) tells the scheduler not to schedule it.
  8690. - ScheduleAnyway tells the scheduler to schedule the pod in any location,
  8691. but giving higher precedence to topologies that would help reduce the
  8692. skew.
  8693. A constraint is considered "Unsatisfiable" for an incoming pod
  8694. if and only if every possible node assignment for that pod would violate
  8695. "MaxSkew" on some topology.
  8696. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
  8697. labelSelector spread as 3/1/1:
  8698. | zone1 | zone2 | zone3 |
  8699. | P P P | P | P |
  8700. If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
  8701. to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
  8702. MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
  8703. won't make it *more* imbalanced.
  8704. It's a required field.
  8705. type: string
  8706. required:
  8707. - maxSkew
  8708. - topologyKey
  8709. - whenUnsatisfiable
  8710. type: object
  8711. type: array
  8712. volumes:
  8713. description: volumes defines additional pod volumes available
  8714. to the runtime container.
  8715. items:
  8716. description: Volume represents a named volume in a pod that
  8717. may be accessed by any container in the pod.
  8718. properties:
  8719. awsElasticBlockStore:
  8720. description: |-
  8721. awsElasticBlockStore represents an AWS Disk resource that is attached to a
  8722. kubelet's host machine and then exposed to the pod.
  8723. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  8724. properties:
  8725. fsType:
  8726. description: |-
  8727. fsType is the filesystem type of the volume that you want to mount.
  8728. Tip: Ensure that the filesystem type is supported by the host operating system.
  8729. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  8730. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  8731. type: string
  8732. partition:
  8733. description: |-
  8734. partition is the partition in the volume that you want to mount.
  8735. If omitted, the default is to mount by volume name.
  8736. Examples: For volume /dev/sda1, you specify the partition as "1".
  8737. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  8738. format: int32
  8739. type: integer
  8740. readOnly:
  8741. description: |-
  8742. readOnly value true will force the readOnly setting in VolumeMounts.
  8743. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  8744. type: boolean
  8745. volumeID:
  8746. description: |-
  8747. volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
  8748. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  8749. type: string
  8750. required:
  8751. - volumeID
  8752. type: object
  8753. azureDisk:
  8754. description: azureDisk represents an Azure Data Disk
  8755. mount on the host and bind mount to the pod.
  8756. properties:
  8757. cachingMode:
  8758. description: 'cachingMode is the Host Caching mode:
  8759. None, Read Only, Read Write.'
  8760. type: string
  8761. diskName:
  8762. description: diskName is the Name of the data disk
  8763. in the blob storage
  8764. type: string
  8765. diskURI:
  8766. description: diskURI is the URI of data disk in
  8767. the blob storage
  8768. type: string
  8769. fsType:
  8770. description: |-
  8771. fsType is Filesystem type to mount.
  8772. Must be a filesystem type supported by the host operating system.
  8773. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  8774. type: string
  8775. kind:
  8776. description: 'kind expected values are Shared: multiple
  8777. blob disks per storage account Dedicated: single
  8778. blob disk per storage account Managed: azure
  8779. managed data disk (only in managed availability
  8780. set). defaults to shared'
  8781. type: string
  8782. readOnly:
  8783. description: |-
  8784. readOnly Defaults to false (read/write). ReadOnly here will force
  8785. the ReadOnly setting in VolumeMounts.
  8786. type: boolean
  8787. required:
  8788. - diskName
  8789. - diskURI
  8790. type: object
  8791. azureFile:
  8792. description: azureFile represents an Azure File Service
  8793. mount on the host and bind mount to the pod.
  8794. properties:
  8795. readOnly:
  8796. description: |-
  8797. readOnly defaults to false (read/write). ReadOnly here will force
  8798. the ReadOnly setting in VolumeMounts.
  8799. type: boolean
  8800. secretName:
  8801. description: secretName is the name of secret that
  8802. contains Azure Storage Account Name and Key
  8803. type: string
  8804. shareName:
  8805. description: shareName is the azure share Name
  8806. type: string
  8807. required:
  8808. - secretName
  8809. - shareName
  8810. type: object
  8811. cephfs:
  8812. description: cephFS represents a Ceph FS mount on the
  8813. host that shares a pod's lifetime
  8814. properties:
  8815. monitors:
  8816. description: |-
  8817. monitors is Required: Monitors is a collection of Ceph monitors
  8818. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  8819. items:
  8820. type: string
  8821. type: array
  8822. x-kubernetes-list-type: atomic
  8823. path:
  8824. description: 'path is Optional: Used as the mounted
  8825. root, rather than the full Ceph tree, default
  8826. is /'
  8827. type: string
  8828. readOnly:
  8829. description: |-
  8830. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  8831. the ReadOnly setting in VolumeMounts.
  8832. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  8833. type: boolean
  8834. secretFile:
  8835. description: |-
  8836. secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
  8837. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  8838. type: string
  8839. secretRef:
  8840. description: |-
  8841. secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
  8842. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  8843. properties:
  8844. name:
  8845. default: ""
  8846. description: |-
  8847. Name of the referent.
  8848. This field is effectively required, but due to backwards compatibility is
  8849. allowed to be empty. Instances of this type with an empty value here are
  8850. almost certainly wrong.
  8851. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8852. type: string
  8853. type: object
  8854. x-kubernetes-map-type: atomic
  8855. user:
  8856. description: |-
  8857. user is optional: User is the rados user name, default is admin
  8858. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
  8859. type: string
  8860. required:
  8861. - monitors
  8862. type: object
  8863. cinder:
  8864. description: |-
  8865. cinder represents a cinder volume attached and mounted on kubelets host machine.
  8866. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  8867. properties:
  8868. fsType:
  8869. description: |-
  8870. fsType is the filesystem type to mount.
  8871. Must be a filesystem type supported by the host operating system.
  8872. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  8873. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  8874. type: string
  8875. readOnly:
  8876. description: |-
  8877. readOnly defaults to false (read/write). ReadOnly here will force
  8878. the ReadOnly setting in VolumeMounts.
  8879. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  8880. type: boolean
  8881. secretRef:
  8882. description: |-
  8883. secretRef is optional: points to a secret object containing parameters used to connect
  8884. to OpenStack.
  8885. properties:
  8886. name:
  8887. default: ""
  8888. description: |-
  8889. Name of the referent.
  8890. This field is effectively required, but due to backwards compatibility is
  8891. allowed to be empty. Instances of this type with an empty value here are
  8892. almost certainly wrong.
  8893. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8894. type: string
  8895. type: object
  8896. x-kubernetes-map-type: atomic
  8897. volumeID:
  8898. description: |-
  8899. volumeID used to identify the volume in cinder.
  8900. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
  8901. type: string
  8902. required:
  8903. - volumeID
  8904. type: object
  8905. configMap:
  8906. description: configMap represents a configMap that should
  8907. populate this volume
  8908. properties:
  8909. defaultMode:
  8910. description: |-
  8911. defaultMode is optional: mode bits used to set permissions on created files by default.
  8912. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  8913. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  8914. Defaults to 0644.
  8915. Directories within the path are not affected by this setting.
  8916. This might be in conflict with other options that affect the file
  8917. mode, like fsGroup, and the result can be other mode bits set.
  8918. format: int32
  8919. type: integer
  8920. items:
  8921. description: |-
  8922. items if unspecified, each key-value pair in the Data field of the referenced
  8923. ConfigMap will be projected into the volume as a file whose name is the
  8924. key and content is the value. If specified, the listed keys will be
  8925. projected into the specified paths, and unlisted keys will not be
  8926. present. If a key is specified which is not present in the ConfigMap,
  8927. the volume setup will error unless it is marked optional. Paths must be
  8928. relative and may not contain the '..' path or start with '..'.
  8929. items:
  8930. description: Maps a string key to a path within
  8931. a volume.
  8932. properties:
  8933. key:
  8934. description: key is the key to project.
  8935. type: string
  8936. mode:
  8937. description: |-
  8938. mode is Optional: mode bits used to set permissions on this file.
  8939. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  8940. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  8941. If not specified, the volume defaultMode will be used.
  8942. This might be in conflict with other options that affect the file
  8943. mode, like fsGroup, and the result can be other mode bits set.
  8944. format: int32
  8945. type: integer
  8946. path:
  8947. description: |-
  8948. path is the relative path of the file to map the key to.
  8949. May not be an absolute path.
  8950. May not contain the path element '..'.
  8951. May not start with the string '..'.
  8952. type: string
  8953. required:
  8954. - key
  8955. - path
  8956. type: object
  8957. type: array
  8958. x-kubernetes-list-type: atomic
  8959. name:
  8960. default: ""
  8961. description: |-
  8962. Name of the referent.
  8963. This field is effectively required, but due to backwards compatibility is
  8964. allowed to be empty. Instances of this type with an empty value here are
  8965. almost certainly wrong.
  8966. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8967. type: string
  8968. optional:
  8969. description: optional specify whether the ConfigMap
  8970. or its keys must be defined
  8971. type: boolean
  8972. type: object
  8973. x-kubernetes-map-type: atomic
  8974. csi:
  8975. description: csi (Container Storage Interface) represents
  8976. ephemeral storage that is handled by certain external
  8977. CSI drivers (Beta feature).
  8978. properties:
  8979. driver:
  8980. description: |-
  8981. driver is the name of the CSI driver that handles this volume.
  8982. Consult with your admin for the correct name as registered in the cluster.
  8983. type: string
  8984. fsType:
  8985. description: |-
  8986. fsType to mount. Ex. "ext4", "xfs", "ntfs".
  8987. If not provided, the empty value is passed to the associated CSI driver
  8988. which will determine the default filesystem to apply.
  8989. type: string
  8990. nodePublishSecretRef:
  8991. description: |-
  8992. nodePublishSecretRef is a reference to the secret object containing
  8993. sensitive information to pass to the CSI driver to complete the CSI
  8994. NodePublishVolume and NodeUnpublishVolume calls.
  8995. This field is optional, and may be empty if no secret is required. If the
  8996. secret object contains more than one secret, all secret references are passed.
  8997. properties:
  8998. name:
  8999. default: ""
  9000. description: |-
  9001. Name of the referent.
  9002. This field is effectively required, but due to backwards compatibility is
  9003. allowed to be empty. Instances of this type with an empty value here are
  9004. almost certainly wrong.
  9005. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9006. type: string
  9007. type: object
  9008. x-kubernetes-map-type: atomic
  9009. readOnly:
  9010. description: |-
  9011. readOnly specifies a read-only configuration for the volume.
  9012. Defaults to false (read/write).
  9013. type: boolean
  9014. volumeAttributes:
  9015. additionalProperties:
  9016. type: string
  9017. description: |-
  9018. volumeAttributes stores driver-specific properties that are passed to the CSI
  9019. driver. Consult your driver's documentation for supported values.
  9020. type: object
  9021. required:
  9022. - driver
  9023. type: object
  9024. downwardAPI:
  9025. description: downwardAPI represents downward API about
  9026. the pod that should populate this volume
  9027. properties:
  9028. defaultMode:
  9029. description: |-
  9030. Optional: mode bits to use on created files by default. Must be a
  9031. Optional: mode bits used to set permissions on created files by default.
  9032. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  9033. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9034. Defaults to 0644.
  9035. Directories within the path are not affected by this setting.
  9036. This might be in conflict with other options that affect the file
  9037. mode, like fsGroup, and the result can be other mode bits set.
  9038. format: int32
  9039. type: integer
  9040. items:
  9041. description: Items is a list of downward API volume
  9042. file
  9043. items:
  9044. description: DownwardAPIVolumeFile represents
  9045. information to create the file containing the
  9046. pod field
  9047. properties:
  9048. fieldRef:
  9049. description: 'Required: Selects a field of
  9050. the pod: only annotations, labels, name,
  9051. namespace and uid are supported.'
  9052. properties:
  9053. apiVersion:
  9054. description: Version of the schema the
  9055. FieldPath is written in terms of, defaults
  9056. to "v1".
  9057. type: string
  9058. fieldPath:
  9059. description: Path of the field to select
  9060. in the specified API version.
  9061. type: string
  9062. required:
  9063. - fieldPath
  9064. type: object
  9065. x-kubernetes-map-type: atomic
  9066. mode:
  9067. description: |-
  9068. Optional: mode bits used to set permissions on this file, must be an octal value
  9069. between 0000 and 0777 or a decimal value between 0 and 511.
  9070. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9071. If not specified, the volume defaultMode will be used.
  9072. This might be in conflict with other options that affect the file
  9073. mode, like fsGroup, and the result can be other mode bits set.
  9074. format: int32
  9075. type: integer
  9076. path:
  9077. description: 'Required: Path is the relative
  9078. path name of the file to be created. Must
  9079. not be absolute or contain the ''..'' path.
  9080. Must be utf-8 encoded. The first item of
  9081. the relative path must not start with ''..'''
  9082. type: string
  9083. resourceFieldRef:
  9084. description: |-
  9085. Selects a resource of the container: only resources limits and requests
  9086. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  9087. properties:
  9088. containerName:
  9089. description: 'Container name: required
  9090. for volumes, optional for env vars'
  9091. type: string
  9092. divisor:
  9093. anyOf:
  9094. - type: integer
  9095. - type: string
  9096. description: Specifies the output format
  9097. of the exposed resources, defaults to
  9098. "1"
  9099. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9100. x-kubernetes-int-or-string: true
  9101. resource:
  9102. description: 'Required: resource to select'
  9103. type: string
  9104. required:
  9105. - resource
  9106. type: object
  9107. x-kubernetes-map-type: atomic
  9108. required:
  9109. - path
  9110. type: object
  9111. type: array
  9112. x-kubernetes-list-type: atomic
  9113. type: object
  9114. emptyDir:
  9115. description: |-
  9116. emptyDir represents a temporary directory that shares a pod's lifetime.
  9117. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  9118. properties:
  9119. medium:
  9120. description: |-
  9121. medium represents what type of storage medium should back this directory.
  9122. The default is "" which means to use the node's default medium.
  9123. Must be an empty string (default) or Memory.
  9124. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  9125. type: string
  9126. sizeLimit:
  9127. anyOf:
  9128. - type: integer
  9129. - type: string
  9130. description: |-
  9131. sizeLimit is the total amount of local storage required for this EmptyDir volume.
  9132. The size limit is also applicable for memory medium.
  9133. The maximum usage on memory medium EmptyDir would be the minimum value between
  9134. the SizeLimit specified here and the sum of memory limits of all containers in a pod.
  9135. The default is nil which means that the limit is undefined.
  9136. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
  9137. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9138. x-kubernetes-int-or-string: true
  9139. type: object
  9140. ephemeral:
  9141. description: |-
  9142. ephemeral represents a volume that is handled by a cluster storage driver.
  9143. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
  9144. and deleted when the pod is removed.
  9145. Use this if:
  9146. a) the volume is only needed while the pod runs,
  9147. b) features of normal volumes like restoring from snapshot or capacity
  9148. tracking are needed,
  9149. c) the storage driver is specified through a storage class, and
  9150. d) the storage driver supports dynamic volume provisioning through
  9151. a PersistentVolumeClaim (see EphemeralVolumeSource for more
  9152. information on the connection between this volume type
  9153. and PersistentVolumeClaim).
  9154. Use PersistentVolumeClaim or one of the vendor-specific
  9155. APIs for volumes that persist for longer than the lifecycle
  9156. of an individual pod.
  9157. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
  9158. be used that way - see the documentation of the driver for
  9159. more information.
  9160. A pod can use both types of ephemeral volumes and
  9161. persistent volumes at the same time.
  9162. properties:
  9163. volumeClaimTemplate:
  9164. description: |-
  9165. Will be used to create a stand-alone PVC to provision the volume.
  9166. The pod in which this EphemeralVolumeSource is embedded will be the
  9167. owner of the PVC, i.e. the PVC will be deleted together with the
  9168. pod. The name of the PVC will be `<pod name>-<volume name>` where
  9169. `<volume name>` is the name from the `PodSpec.Volumes` array
  9170. entry. Pod validation will reject the pod if the concatenated name
  9171. is not valid for a PVC (for example, too long).
  9172. An existing PVC with that name that is not owned by the pod
  9173. will *not* be used for the pod to avoid using an unrelated
  9174. volume by mistake. Starting the pod is then blocked until
  9175. the unrelated PVC is removed. If such a pre-created PVC is
  9176. meant to be used by the pod, the PVC has to updated with an
  9177. owner reference to the pod once the pod exists. Normally
  9178. this should not be necessary, but it may be useful when
  9179. manually reconstructing a broken cluster.
  9180. This field is read-only and no changes will be made by Kubernetes
  9181. to the PVC after it has been created.
  9182. Required, must not be nil.
  9183. properties:
  9184. metadata:
  9185. description: |-
  9186. May contain labels and annotations that will be copied into the PVC
  9187. when creating it. No other fields are allowed and will be rejected during
  9188. validation.
  9189. type: object
  9190. spec:
  9191. description: |-
  9192. The specification for the PersistentVolumeClaim. The entire content is
  9193. copied unchanged into the PVC that gets created from this
  9194. template. The same fields as in a PersistentVolumeClaim
  9195. are also valid here.
  9196. properties:
  9197. accessModes:
  9198. description: |-
  9199. accessModes contains the desired access modes the volume should have.
  9200. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
  9201. items:
  9202. type: string
  9203. type: array
  9204. x-kubernetes-list-type: atomic
  9205. dataSource:
  9206. description: |-
  9207. dataSource field can be used to specify either:
  9208. * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  9209. * An existing PVC (PersistentVolumeClaim)
  9210. If the provisioner or an external controller can support the specified data source,
  9211. it will create a new volume based on the contents of the specified data source.
  9212. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
  9213. and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
  9214. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
  9215. properties:
  9216. apiGroup:
  9217. description: |-
  9218. APIGroup is the group for the resource being referenced.
  9219. If APIGroup is not specified, the specified Kind must be in the core API group.
  9220. For any other third-party types, APIGroup is required.
  9221. type: string
  9222. kind:
  9223. description: Kind is the type of resource
  9224. being referenced
  9225. type: string
  9226. name:
  9227. description: Name is the name of resource
  9228. being referenced
  9229. type: string
  9230. required:
  9231. - kind
  9232. - name
  9233. type: object
  9234. x-kubernetes-map-type: atomic
  9235. dataSourceRef:
  9236. description: |-
  9237. dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
  9238. volume is desired. This may be any object from a non-empty API group (non
  9239. core object) or a PersistentVolumeClaim object.
  9240. When this field is specified, volume binding will only succeed if the type of
  9241. the specified object matches some installed volume populator or dynamic
  9242. provisioner.
  9243. This field will replace the functionality of the dataSource field and as such
  9244. if both fields are non-empty, they must have the same value. For backwards
  9245. compatibility, when namespace isn't specified in dataSourceRef,
  9246. both fields (dataSource and dataSourceRef) will be set to the same
  9247. value automatically if one of them is empty and the other is non-empty.
  9248. When namespace is specified in dataSourceRef,
  9249. dataSource isn't set to the same value and must be empty.
  9250. There are three important differences between dataSource and dataSourceRef:
  9251. * While dataSource only allows two specific types of objects, dataSourceRef
  9252. allows any non-core object, as well as PersistentVolumeClaim objects.
  9253. * While dataSource ignores disallowed values (dropping them), dataSourceRef
  9254. preserves all values, and generates an error if a disallowed value is
  9255. specified.
  9256. * While dataSource only allows local objects, dataSourceRef allows objects
  9257. in any namespaces.
  9258. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
  9259. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  9260. properties:
  9261. apiGroup:
  9262. description: |-
  9263. APIGroup is the group for the resource being referenced.
  9264. If APIGroup is not specified, the specified Kind must be in the core API group.
  9265. For any other third-party types, APIGroup is required.
  9266. type: string
  9267. kind:
  9268. description: Kind is the type of resource
  9269. being referenced
  9270. type: string
  9271. name:
  9272. description: Name is the name of resource
  9273. being referenced
  9274. type: string
  9275. namespace:
  9276. description: |-
  9277. Namespace is the namespace of resource being referenced
  9278. 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.
  9279. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
  9280. type: string
  9281. required:
  9282. - kind
  9283. - name
  9284. type: object
  9285. resources:
  9286. description: |-
  9287. resources represents the minimum resources the volume should have.
  9288. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
  9289. that are lower than previous value but must still be higher than capacity recorded in the
  9290. status field of the claim.
  9291. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
  9292. properties:
  9293. limits:
  9294. additionalProperties:
  9295. anyOf:
  9296. - type: integer
  9297. - type: string
  9298. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9299. x-kubernetes-int-or-string: true
  9300. description: |-
  9301. Limits describes the maximum amount of compute resources allowed.
  9302. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  9303. type: object
  9304. requests:
  9305. additionalProperties:
  9306. anyOf:
  9307. - type: integer
  9308. - type: string
  9309. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9310. x-kubernetes-int-or-string: true
  9311. description: |-
  9312. Requests describes the minimum amount of compute resources required.
  9313. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
  9314. otherwise to an implementation-defined value. Requests cannot exceed Limits.
  9315. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  9316. type: object
  9317. type: object
  9318. selector:
  9319. description: selector is a label query over
  9320. volumes to consider for binding.
  9321. properties:
  9322. matchExpressions:
  9323. description: matchExpressions is a list
  9324. of label selector requirements. The
  9325. requirements are ANDed.
  9326. items:
  9327. description: |-
  9328. A label selector requirement is a selector that contains values, a key, and an operator that
  9329. relates the key and values.
  9330. properties:
  9331. key:
  9332. description: key is the label
  9333. key that the selector applies
  9334. to.
  9335. type: string
  9336. operator:
  9337. description: |-
  9338. operator represents a key's relationship to a set of values.
  9339. Valid operators are In, NotIn, Exists and DoesNotExist.
  9340. type: string
  9341. values:
  9342. description: |-
  9343. values is an array of string values. If the operator is In or NotIn,
  9344. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  9345. the values array must be empty. This array is replaced during a strategic
  9346. merge patch.
  9347. items:
  9348. type: string
  9349. type: array
  9350. x-kubernetes-list-type: atomic
  9351. required:
  9352. - key
  9353. - operator
  9354. type: object
  9355. type: array
  9356. x-kubernetes-list-type: atomic
  9357. matchLabels:
  9358. additionalProperties:
  9359. type: string
  9360. description: |-
  9361. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  9362. map is equivalent to an element of matchExpressions, whose key field is "key", the
  9363. operator is "In", and the values array contains only "value". The requirements are ANDed.
  9364. type: object
  9365. type: object
  9366. x-kubernetes-map-type: atomic
  9367. storageClassName:
  9368. description: |-
  9369. storageClassName is the name of the StorageClass required by the claim.
  9370. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
  9371. type: string
  9372. volumeAttributesClassName:
  9373. description: |-
  9374. volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
  9375. If specified, the CSI driver will create or update the volume with the attributes defined
  9376. in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
  9377. it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
  9378. will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
  9379. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
  9380. will be set by the persistentvolume controller if it exists.
  9381. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
  9382. set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
  9383. exists.
  9384. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
  9385. (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
  9386. type: string
  9387. volumeMode:
  9388. description: |-
  9389. volumeMode defines what type of volume is required by the claim.
  9390. Value of Filesystem is implied when not included in claim spec.
  9391. type: string
  9392. volumeName:
  9393. description: volumeName is the binding reference
  9394. to the PersistentVolume backing this claim.
  9395. type: string
  9396. type: object
  9397. required:
  9398. - spec
  9399. type: object
  9400. type: object
  9401. fc:
  9402. description: fc represents a Fibre Channel resource
  9403. that is attached to a kubelet's host machine and then
  9404. exposed to the pod.
  9405. properties:
  9406. fsType:
  9407. description: |-
  9408. fsType is the filesystem type to mount.
  9409. Must be a filesystem type supported by the host operating system.
  9410. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9411. type: string
  9412. lun:
  9413. description: 'lun is Optional: FC target lun number'
  9414. format: int32
  9415. type: integer
  9416. readOnly:
  9417. description: |-
  9418. readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
  9419. the ReadOnly setting in VolumeMounts.
  9420. type: boolean
  9421. targetWWNs:
  9422. description: 'targetWWNs is Optional: FC target
  9423. worldwide names (WWNs)'
  9424. items:
  9425. type: string
  9426. type: array
  9427. x-kubernetes-list-type: atomic
  9428. wwids:
  9429. description: |-
  9430. wwids Optional: FC volume world wide identifiers (wwids)
  9431. Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
  9432. items:
  9433. type: string
  9434. type: array
  9435. x-kubernetes-list-type: atomic
  9436. type: object
  9437. flexVolume:
  9438. description: |-
  9439. flexVolume represents a generic volume resource that is
  9440. provisioned/attached using an exec based plugin.
  9441. properties:
  9442. driver:
  9443. description: driver is the name of the driver to
  9444. use for this volume.
  9445. type: string
  9446. fsType:
  9447. description: |-
  9448. fsType is the filesystem type to mount.
  9449. Must be a filesystem type supported by the host operating system.
  9450. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
  9451. type: string
  9452. options:
  9453. additionalProperties:
  9454. type: string
  9455. description: 'options is Optional: this field holds
  9456. extra command options if any.'
  9457. type: object
  9458. readOnly:
  9459. description: |-
  9460. readOnly is Optional: defaults to false (read/write). ReadOnly here will force
  9461. the ReadOnly setting in VolumeMounts.
  9462. type: boolean
  9463. secretRef:
  9464. description: |-
  9465. secretRef is Optional: secretRef is reference to the secret object containing
  9466. sensitive information to pass to the plugin scripts. This may be
  9467. empty if no secret object is specified. If the secret object
  9468. contains more than one secret, all secrets are passed to the plugin
  9469. scripts.
  9470. properties:
  9471. name:
  9472. default: ""
  9473. description: |-
  9474. Name of the referent.
  9475. This field is effectively required, but due to backwards compatibility is
  9476. allowed to be empty. Instances of this type with an empty value here are
  9477. almost certainly wrong.
  9478. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9479. type: string
  9480. type: object
  9481. x-kubernetes-map-type: atomic
  9482. required:
  9483. - driver
  9484. type: object
  9485. flocker:
  9486. description: flocker represents a Flocker volume attached
  9487. to a kubelet's host machine. This depends on the Flocker
  9488. control service being running
  9489. properties:
  9490. datasetName:
  9491. description: |-
  9492. datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
  9493. should be considered as deprecated
  9494. type: string
  9495. datasetUUID:
  9496. description: datasetUUID is the UUID of the dataset.
  9497. This is unique identifier of a Flocker dataset
  9498. type: string
  9499. type: object
  9500. gcePersistentDisk:
  9501. description: |-
  9502. gcePersistentDisk represents a GCE Disk resource that is attached to a
  9503. kubelet's host machine and then exposed to the pod.
  9504. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  9505. properties:
  9506. fsType:
  9507. description: |-
  9508. fsType is filesystem type of the volume that you want to mount.
  9509. Tip: Ensure that the filesystem type is supported by the host operating system.
  9510. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9511. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  9512. type: string
  9513. partition:
  9514. description: |-
  9515. partition is the partition in the volume that you want to mount.
  9516. If omitted, the default is to mount by volume name.
  9517. Examples: For volume /dev/sda1, you specify the partition as "1".
  9518. Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
  9519. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  9520. format: int32
  9521. type: integer
  9522. pdName:
  9523. description: |-
  9524. pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
  9525. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  9526. type: string
  9527. readOnly:
  9528. description: |-
  9529. readOnly here will force the ReadOnly setting in VolumeMounts.
  9530. Defaults to false.
  9531. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  9532. type: boolean
  9533. required:
  9534. - pdName
  9535. type: object
  9536. gitRepo:
  9537. description: |-
  9538. gitRepo represents a git repository at a particular revision.
  9539. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
  9540. EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
  9541. into the Pod's container.
  9542. properties:
  9543. directory:
  9544. description: |-
  9545. directory is the target directory name.
  9546. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
  9547. git repository. Otherwise, if specified, the volume will contain the git repository in
  9548. the subdirectory with the given name.
  9549. type: string
  9550. repository:
  9551. description: repository is the URL
  9552. type: string
  9553. revision:
  9554. description: revision is the commit hash for the
  9555. specified revision.
  9556. type: string
  9557. required:
  9558. - repository
  9559. type: object
  9560. glusterfs:
  9561. description: |-
  9562. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
  9563. More info: https://examples.k8s.io/volumes/glusterfs/README.md
  9564. properties:
  9565. endpoints:
  9566. description: |-
  9567. endpoints is the endpoint name that details Glusterfs topology.
  9568. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  9569. type: string
  9570. path:
  9571. description: |-
  9572. path is the Glusterfs volume path.
  9573. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  9574. type: string
  9575. readOnly:
  9576. description: |-
  9577. readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
  9578. Defaults to false.
  9579. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
  9580. type: boolean
  9581. required:
  9582. - endpoints
  9583. - path
  9584. type: object
  9585. hostPath:
  9586. description: |-
  9587. hostPath represents a pre-existing file or directory on the host
  9588. machine that is directly exposed to the container. This is generally
  9589. used for system agents or other privileged things that are allowed
  9590. to see the host machine. Most containers will NOT need this.
  9591. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  9592. properties:
  9593. path:
  9594. description: |-
  9595. path of the directory on the host.
  9596. If the path is a symlink, it will follow the link to the real path.
  9597. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  9598. type: string
  9599. type:
  9600. description: |-
  9601. type for HostPath Volume
  9602. Defaults to ""
  9603. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  9604. type: string
  9605. required:
  9606. - path
  9607. type: object
  9608. iscsi:
  9609. description: |-
  9610. iscsi represents an ISCSI Disk resource that is attached to a
  9611. kubelet's host machine and then exposed to the pod.
  9612. More info: https://examples.k8s.io/volumes/iscsi/README.md
  9613. properties:
  9614. chapAuthDiscovery:
  9615. description: chapAuthDiscovery defines whether support
  9616. iSCSI Discovery CHAP authentication
  9617. type: boolean
  9618. chapAuthSession:
  9619. description: chapAuthSession defines whether support
  9620. iSCSI Session CHAP authentication
  9621. type: boolean
  9622. fsType:
  9623. description: |-
  9624. fsType is the filesystem type of the volume that you want to mount.
  9625. Tip: Ensure that the filesystem type is supported by the host operating system.
  9626. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9627. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  9628. type: string
  9629. initiatorName:
  9630. description: |-
  9631. initiatorName is the custom iSCSI Initiator Name.
  9632. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
  9633. <target portal>:<volume name> will be created for the connection.
  9634. type: string
  9635. iqn:
  9636. description: iqn is the target iSCSI Qualified Name.
  9637. type: string
  9638. iscsiInterface:
  9639. description: |-
  9640. iscsiInterface is the interface Name that uses an iSCSI transport.
  9641. Defaults to 'default' (tcp).
  9642. type: string
  9643. lun:
  9644. description: lun represents iSCSI Target Lun number.
  9645. format: int32
  9646. type: integer
  9647. portals:
  9648. description: |-
  9649. portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
  9650. is other than default (typically TCP ports 860 and 3260).
  9651. items:
  9652. type: string
  9653. type: array
  9654. x-kubernetes-list-type: atomic
  9655. readOnly:
  9656. description: |-
  9657. readOnly here will force the ReadOnly setting in VolumeMounts.
  9658. Defaults to false.
  9659. type: boolean
  9660. secretRef:
  9661. description: secretRef is the CHAP Secret for iSCSI
  9662. target and initiator authentication
  9663. properties:
  9664. name:
  9665. default: ""
  9666. description: |-
  9667. Name of the referent.
  9668. This field is effectively required, but due to backwards compatibility is
  9669. allowed to be empty. Instances of this type with an empty value here are
  9670. almost certainly wrong.
  9671. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9672. type: string
  9673. type: object
  9674. x-kubernetes-map-type: atomic
  9675. targetPortal:
  9676. description: |-
  9677. targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
  9678. is other than default (typically TCP ports 860 and 3260).
  9679. type: string
  9680. required:
  9681. - iqn
  9682. - lun
  9683. - targetPortal
  9684. type: object
  9685. name:
  9686. description: |-
  9687. name of the volume.
  9688. Must be a DNS_LABEL and unique within the pod.
  9689. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9690. type: string
  9691. nfs:
  9692. description: |-
  9693. nfs represents an NFS mount on the host that shares a pod's lifetime
  9694. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  9695. properties:
  9696. path:
  9697. description: |-
  9698. path that is exported by the NFS server.
  9699. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  9700. type: string
  9701. readOnly:
  9702. description: |-
  9703. readOnly here will force the NFS export to be mounted with read-only permissions.
  9704. Defaults to false.
  9705. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  9706. type: boolean
  9707. server:
  9708. description: |-
  9709. server is the hostname or IP address of the NFS server.
  9710. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
  9711. type: string
  9712. required:
  9713. - path
  9714. - server
  9715. type: object
  9716. persistentVolumeClaim:
  9717. description: |-
  9718. persistentVolumeClaimVolumeSource represents a reference to a
  9719. PersistentVolumeClaim in the same namespace.
  9720. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  9721. properties:
  9722. claimName:
  9723. description: |-
  9724. claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  9725. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  9726. type: string
  9727. readOnly:
  9728. description: |-
  9729. readOnly Will force the ReadOnly setting in VolumeMounts.
  9730. Default false.
  9731. type: boolean
  9732. required:
  9733. - claimName
  9734. type: object
  9735. photonPersistentDisk:
  9736. description: photonPersistentDisk represents a PhotonController
  9737. persistent disk attached and mounted on kubelets host
  9738. machine
  9739. properties:
  9740. fsType:
  9741. description: |-
  9742. fsType is the filesystem type to mount.
  9743. Must be a filesystem type supported by the host operating system.
  9744. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  9745. type: string
  9746. pdID:
  9747. description: pdID is the ID that identifies Photon
  9748. Controller persistent disk
  9749. type: string
  9750. required:
  9751. - pdID
  9752. type: object
  9753. portworxVolume:
  9754. description: portworxVolume represents a portworx volume
  9755. attached and mounted on kubelets host machine
  9756. properties:
  9757. fsType:
  9758. description: |-
  9759. fSType represents the filesystem type to mount
  9760. Must be a filesystem type supported by the host operating system.
  9761. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
  9762. type: string
  9763. readOnly:
  9764. description: |-
  9765. readOnly defaults to false (read/write). ReadOnly here will force
  9766. the ReadOnly setting in VolumeMounts.
  9767. type: boolean
  9768. volumeID:
  9769. description: volumeID uniquely identifies a Portworx
  9770. volume
  9771. type: string
  9772. required:
  9773. - volumeID
  9774. type: object
  9775. projected:
  9776. description: projected items for all in one resources
  9777. secrets, configmaps, and downward API
  9778. properties:
  9779. defaultMode:
  9780. description: |-
  9781. defaultMode are the mode bits used to set permissions on created files by default.
  9782. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  9783. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9784. Directories within the path are not affected by this setting.
  9785. This might be in conflict with other options that affect the file
  9786. mode, like fsGroup, and the result can be other mode bits set.
  9787. format: int32
  9788. type: integer
  9789. sources:
  9790. description: sources is the list of volume projections
  9791. items:
  9792. description: Projection that may be projected
  9793. along with other supported volume types
  9794. properties:
  9795. clusterTrustBundle:
  9796. description: |-
  9797. ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
  9798. of ClusterTrustBundle objects in an auto-updating file.
  9799. Alpha, gated by the ClusterTrustBundleProjection feature gate.
  9800. ClusterTrustBundle objects can either be selected by name, or by the
  9801. combination of signer name and a label selector.
  9802. Kubelet performs aggressive normalization of the PEM contents written
  9803. into the pod filesystem. Esoteric PEM features such as inter-block
  9804. comments and block headers are stripped. Certificates are deduplicated.
  9805. The ordering of certificates within the file is arbitrary, and Kubelet
  9806. may change the order over time.
  9807. properties:
  9808. labelSelector:
  9809. description: |-
  9810. Select all ClusterTrustBundles that match this label selector. Only has
  9811. effect if signerName is set. Mutually-exclusive with name. If unset,
  9812. interpreted as "match nothing". If set but empty, interpreted as "match
  9813. everything".
  9814. properties:
  9815. matchExpressions:
  9816. description: matchExpressions is a
  9817. list of label selector requirements.
  9818. The requirements are ANDed.
  9819. items:
  9820. description: |-
  9821. A label selector requirement is a selector that contains values, a key, and an operator that
  9822. relates the key and values.
  9823. properties:
  9824. key:
  9825. description: key is the label
  9826. key that the selector applies
  9827. to.
  9828. type: string
  9829. operator:
  9830. description: |-
  9831. operator represents a key's relationship to a set of values.
  9832. Valid operators are In, NotIn, Exists and DoesNotExist.
  9833. type: string
  9834. values:
  9835. description: |-
  9836. values is an array of string values. If the operator is In or NotIn,
  9837. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  9838. the values array must be empty. This array is replaced during a strategic
  9839. merge patch.
  9840. items:
  9841. type: string
  9842. type: array
  9843. x-kubernetes-list-type: atomic
  9844. required:
  9845. - key
  9846. - operator
  9847. type: object
  9848. type: array
  9849. x-kubernetes-list-type: atomic
  9850. matchLabels:
  9851. additionalProperties:
  9852. type: string
  9853. description: |-
  9854. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  9855. map is equivalent to an element of matchExpressions, whose key field is "key", the
  9856. operator is "In", and the values array contains only "value". The requirements are ANDed.
  9857. type: object
  9858. type: object
  9859. x-kubernetes-map-type: atomic
  9860. name:
  9861. description: |-
  9862. Select a single ClusterTrustBundle by object name. Mutually-exclusive
  9863. with signerName and labelSelector.
  9864. type: string
  9865. optional:
  9866. description: |-
  9867. If true, don't block pod startup if the referenced ClusterTrustBundle(s)
  9868. aren't available. If using name, then the named ClusterTrustBundle is
  9869. allowed not to exist. If using signerName, then the combination of
  9870. signerName and labelSelector is allowed to match zero
  9871. ClusterTrustBundles.
  9872. type: boolean
  9873. path:
  9874. description: Relative path from the volume
  9875. root to write the bundle.
  9876. type: string
  9877. signerName:
  9878. description: |-
  9879. Select all ClusterTrustBundles that match this signer name.
  9880. Mutually-exclusive with name. The contents of all selected
  9881. ClusterTrustBundles will be unified and deduplicated.
  9882. type: string
  9883. required:
  9884. - path
  9885. type: object
  9886. configMap:
  9887. description: configMap information about the
  9888. configMap data to project
  9889. properties:
  9890. items:
  9891. description: |-
  9892. items if unspecified, each key-value pair in the Data field of the referenced
  9893. ConfigMap will be projected into the volume as a file whose name is the
  9894. key and content is the value. If specified, the listed keys will be
  9895. projected into the specified paths, and unlisted keys will not be
  9896. present. If a key is specified which is not present in the ConfigMap,
  9897. the volume setup will error unless it is marked optional. Paths must be
  9898. relative and may not contain the '..' path or start with '..'.
  9899. items:
  9900. description: Maps a string key to a
  9901. path within a volume.
  9902. properties:
  9903. key:
  9904. description: key is the key to project.
  9905. type: string
  9906. mode:
  9907. description: |-
  9908. mode is Optional: mode bits used to set permissions on this file.
  9909. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  9910. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9911. If not specified, the volume defaultMode will be used.
  9912. This might be in conflict with other options that affect the file
  9913. mode, like fsGroup, and the result can be other mode bits set.
  9914. format: int32
  9915. type: integer
  9916. path:
  9917. description: |-
  9918. path is the relative path of the file to map the key to.
  9919. May not be an absolute path.
  9920. May not contain the path element '..'.
  9921. May not start with the string '..'.
  9922. type: string
  9923. required:
  9924. - key
  9925. - path
  9926. type: object
  9927. type: array
  9928. x-kubernetes-list-type: atomic
  9929. name:
  9930. default: ""
  9931. description: |-
  9932. Name of the referent.
  9933. This field is effectively required, but due to backwards compatibility is
  9934. allowed to be empty. Instances of this type with an empty value here are
  9935. almost certainly wrong.
  9936. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9937. type: string
  9938. optional:
  9939. description: optional specify whether
  9940. the ConfigMap or its keys must be defined
  9941. type: boolean
  9942. type: object
  9943. x-kubernetes-map-type: atomic
  9944. downwardAPI:
  9945. description: downwardAPI information about
  9946. the downwardAPI data to project
  9947. properties:
  9948. items:
  9949. description: Items is a list of DownwardAPIVolume
  9950. file
  9951. items:
  9952. description: DownwardAPIVolumeFile represents
  9953. information to create the file containing
  9954. the pod field
  9955. properties:
  9956. fieldRef:
  9957. description: 'Required: Selects
  9958. a field of the pod: only annotations,
  9959. labels, name, namespace and uid
  9960. are supported.'
  9961. properties:
  9962. apiVersion:
  9963. description: Version of the
  9964. schema the FieldPath is written
  9965. in terms of, defaults to "v1".
  9966. type: string
  9967. fieldPath:
  9968. description: Path of the field
  9969. to select in the specified
  9970. API version.
  9971. type: string
  9972. required:
  9973. - fieldPath
  9974. type: object
  9975. x-kubernetes-map-type: atomic
  9976. mode:
  9977. description: |-
  9978. Optional: mode bits used to set permissions on this file, must be an octal value
  9979. between 0000 and 0777 or a decimal value between 0 and 511.
  9980. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  9981. If not specified, the volume defaultMode will be used.
  9982. This might be in conflict with other options that affect the file
  9983. mode, like fsGroup, and the result can be other mode bits set.
  9984. format: int32
  9985. type: integer
  9986. path:
  9987. description: 'Required: Path is the
  9988. relative path name of the file
  9989. to be created. Must not be absolute
  9990. or contain the ''..'' path. Must
  9991. be utf-8 encoded. The first item
  9992. of the relative path must not
  9993. start with ''..'''
  9994. type: string
  9995. resourceFieldRef:
  9996. description: |-
  9997. Selects a resource of the container: only resources limits and requests
  9998. (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
  9999. properties:
  10000. containerName:
  10001. description: 'Container name:
  10002. required for volumes, optional
  10003. for env vars'
  10004. type: string
  10005. divisor:
  10006. anyOf:
  10007. - type: integer
  10008. - type: string
  10009. description: Specifies the output
  10010. format of the exposed resources,
  10011. defaults to "1"
  10012. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10013. x-kubernetes-int-or-string: true
  10014. resource:
  10015. description: 'Required: resource
  10016. to select'
  10017. type: string
  10018. required:
  10019. - resource
  10020. type: object
  10021. x-kubernetes-map-type: atomic
  10022. required:
  10023. - path
  10024. type: object
  10025. type: array
  10026. x-kubernetes-list-type: atomic
  10027. type: object
  10028. secret:
  10029. description: secret information about the
  10030. secret data to project
  10031. properties:
  10032. items:
  10033. description: |-
  10034. items if unspecified, each key-value pair in the Data field of the referenced
  10035. Secret will be projected into the volume as a file whose name is the
  10036. key and content is the value. If specified, the listed keys will be
  10037. projected into the specified paths, and unlisted keys will not be
  10038. present. If a key is specified which is not present in the Secret,
  10039. the volume setup will error unless it is marked optional. Paths must be
  10040. relative and may not contain the '..' path or start with '..'.
  10041. items:
  10042. description: Maps a string key to a
  10043. path within a volume.
  10044. properties:
  10045. key:
  10046. description: key is the key to project.
  10047. type: string
  10048. mode:
  10049. description: |-
  10050. mode is Optional: mode bits used to set permissions on this file.
  10051. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  10052. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  10053. If not specified, the volume defaultMode will be used.
  10054. This might be in conflict with other options that affect the file
  10055. mode, like fsGroup, and the result can be other mode bits set.
  10056. format: int32
  10057. type: integer
  10058. path:
  10059. description: |-
  10060. path is the relative path of the file to map the key to.
  10061. May not be an absolute path.
  10062. May not contain the path element '..'.
  10063. May not start with the string '..'.
  10064. type: string
  10065. required:
  10066. - key
  10067. - path
  10068. type: object
  10069. type: array
  10070. x-kubernetes-list-type: atomic
  10071. name:
  10072. default: ""
  10073. description: |-
  10074. Name of the referent.
  10075. This field is effectively required, but due to backwards compatibility is
  10076. allowed to be empty. Instances of this type with an empty value here are
  10077. almost certainly wrong.
  10078. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10079. type: string
  10080. optional:
  10081. description: optional field specify whether
  10082. the Secret or its key must be defined
  10083. type: boolean
  10084. type: object
  10085. x-kubernetes-map-type: atomic
  10086. serviceAccountToken:
  10087. description: serviceAccountToken is information
  10088. about the serviceAccountToken data to project
  10089. properties:
  10090. audience:
  10091. description: |-
  10092. audience is the intended audience of the token. A recipient of a token
  10093. must identify itself with an identifier specified in the audience of the
  10094. token, and otherwise should reject the token. The audience defaults to the
  10095. identifier of the apiserver.
  10096. type: string
  10097. expirationSeconds:
  10098. description: |-
  10099. expirationSeconds is the requested duration of validity of the service
  10100. account token. As the token approaches expiration, the kubelet volume
  10101. plugin will proactively rotate the service account token. The kubelet will
  10102. start trying to rotate the token if the token is older than 80 percent of
  10103. its time to live or if the token is older than 24 hours.Defaults to 1 hour
  10104. and must be at least 10 minutes.
  10105. format: int64
  10106. type: integer
  10107. path:
  10108. description: |-
  10109. path is the path relative to the mount point of the file to project the
  10110. token into.
  10111. type: string
  10112. required:
  10113. - path
  10114. type: object
  10115. type: object
  10116. type: array
  10117. x-kubernetes-list-type: atomic
  10118. type: object
  10119. quobyte:
  10120. description: quobyte represents a Quobyte mount on the
  10121. host that shares a pod's lifetime
  10122. properties:
  10123. group:
  10124. description: |-
  10125. group to map volume access to
  10126. Default is no group
  10127. type: string
  10128. readOnly:
  10129. description: |-
  10130. readOnly here will force the Quobyte volume to be mounted with read-only permissions.
  10131. Defaults to false.
  10132. type: boolean
  10133. registry:
  10134. description: |-
  10135. registry represents a single or multiple Quobyte Registry services
  10136. specified as a string as host:port pair (multiple entries are separated with commas)
  10137. which acts as the central registry for volumes
  10138. type: string
  10139. tenant:
  10140. description: |-
  10141. tenant owning the given Quobyte volume in the Backend
  10142. Used with dynamically provisioned Quobyte volumes, value is set by the plugin
  10143. type: string
  10144. user:
  10145. description: |-
  10146. user to map volume access to
  10147. Defaults to serivceaccount user
  10148. type: string
  10149. volume:
  10150. description: volume is a string that references
  10151. an already created Quobyte volume by name.
  10152. type: string
  10153. required:
  10154. - registry
  10155. - volume
  10156. type: object
  10157. rbd:
  10158. description: |-
  10159. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
  10160. More info: https://examples.k8s.io/volumes/rbd/README.md
  10161. properties:
  10162. fsType:
  10163. description: |-
  10164. fsType is the filesystem type of the volume that you want to mount.
  10165. Tip: Ensure that the filesystem type is supported by the host operating system.
  10166. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10167. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  10168. type: string
  10169. image:
  10170. description: |-
  10171. image is the rados image name.
  10172. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10173. type: string
  10174. keyring:
  10175. description: |-
  10176. keyring is the path to key ring for RBDUser.
  10177. Default is /etc/ceph/keyring.
  10178. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10179. type: string
  10180. monitors:
  10181. description: |-
  10182. monitors is a collection of Ceph monitors.
  10183. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10184. items:
  10185. type: string
  10186. type: array
  10187. x-kubernetes-list-type: atomic
  10188. pool:
  10189. description: |-
  10190. pool is the rados pool name.
  10191. Default is rbd.
  10192. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10193. type: string
  10194. readOnly:
  10195. description: |-
  10196. readOnly here will force the ReadOnly setting in VolumeMounts.
  10197. Defaults to false.
  10198. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10199. type: boolean
  10200. secretRef:
  10201. description: |-
  10202. secretRef is name of the authentication secret for RBDUser. If provided
  10203. overrides keyring.
  10204. Default is nil.
  10205. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10206. properties:
  10207. name:
  10208. default: ""
  10209. description: |-
  10210. Name of the referent.
  10211. This field is effectively required, but due to backwards compatibility is
  10212. allowed to be empty. Instances of this type with an empty value here are
  10213. almost certainly wrong.
  10214. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10215. type: string
  10216. type: object
  10217. x-kubernetes-map-type: atomic
  10218. user:
  10219. description: |-
  10220. user is the rados user name.
  10221. Default is admin.
  10222. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
  10223. type: string
  10224. required:
  10225. - image
  10226. - monitors
  10227. type: object
  10228. scaleIO:
  10229. description: scaleIO represents a ScaleIO persistent
  10230. volume attached and mounted on Kubernetes nodes.
  10231. properties:
  10232. fsType:
  10233. description: |-
  10234. fsType is the filesystem type to mount.
  10235. Must be a filesystem type supported by the host operating system.
  10236. Ex. "ext4", "xfs", "ntfs".
  10237. Default is "xfs".
  10238. type: string
  10239. gateway:
  10240. description: gateway is the host address of the
  10241. ScaleIO API Gateway.
  10242. type: string
  10243. protectionDomain:
  10244. description: protectionDomain is the name of the
  10245. ScaleIO Protection Domain for the configured storage.
  10246. type: string
  10247. readOnly:
  10248. description: |-
  10249. readOnly Defaults to false (read/write). ReadOnly here will force
  10250. the ReadOnly setting in VolumeMounts.
  10251. type: boolean
  10252. secretRef:
  10253. description: |-
  10254. secretRef references to the secret for ScaleIO user and other
  10255. sensitive information. If this is not provided, Login operation will fail.
  10256. properties:
  10257. name:
  10258. default: ""
  10259. description: |-
  10260. Name of the referent.
  10261. This field is effectively required, but due to backwards compatibility is
  10262. allowed to be empty. Instances of this type with an empty value here are
  10263. almost certainly wrong.
  10264. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10265. type: string
  10266. type: object
  10267. x-kubernetes-map-type: atomic
  10268. sslEnabled:
  10269. description: sslEnabled Flag enable/disable SSL
  10270. communication with Gateway, default false
  10271. type: boolean
  10272. storageMode:
  10273. description: |-
  10274. storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
  10275. Default is ThinProvisioned.
  10276. type: string
  10277. storagePool:
  10278. description: storagePool is the ScaleIO Storage
  10279. Pool associated with the protection domain.
  10280. type: string
  10281. system:
  10282. description: system is the name of the storage system
  10283. as configured in ScaleIO.
  10284. type: string
  10285. volumeName:
  10286. description: |-
  10287. volumeName is the name of a volume already created in the ScaleIO system
  10288. that is associated with this volume source.
  10289. type: string
  10290. required:
  10291. - gateway
  10292. - secretRef
  10293. - system
  10294. type: object
  10295. secret:
  10296. description: |-
  10297. secret represents a secret that should populate this volume.
  10298. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  10299. properties:
  10300. defaultMode:
  10301. description: |-
  10302. defaultMode is Optional: mode bits used to set permissions on created files by default.
  10303. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  10304. YAML accepts both octal and decimal values, JSON requires decimal values
  10305. for mode bits. Defaults to 0644.
  10306. Directories within the path are not affected by this setting.
  10307. This might be in conflict with other options that affect the file
  10308. mode, like fsGroup, and the result can be other mode bits set.
  10309. format: int32
  10310. type: integer
  10311. items:
  10312. description: |-
  10313. items If unspecified, each key-value pair in the Data field of the referenced
  10314. Secret will be projected into the volume as a file whose name is the
  10315. key and content is the value. If specified, the listed keys will be
  10316. projected into the specified paths, and unlisted keys will not be
  10317. present. If a key is specified which is not present in the Secret,
  10318. the volume setup will error unless it is marked optional. Paths must be
  10319. relative and may not contain the '..' path or start with '..'.
  10320. items:
  10321. description: Maps a string key to a path within
  10322. a volume.
  10323. properties:
  10324. key:
  10325. description: key is the key to project.
  10326. type: string
  10327. mode:
  10328. description: |-
  10329. mode is Optional: mode bits used to set permissions on this file.
  10330. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
  10331. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
  10332. If not specified, the volume defaultMode will be used.
  10333. This might be in conflict with other options that affect the file
  10334. mode, like fsGroup, and the result can be other mode bits set.
  10335. format: int32
  10336. type: integer
  10337. path:
  10338. description: |-
  10339. path is the relative path of the file to map the key to.
  10340. May not be an absolute path.
  10341. May not contain the path element '..'.
  10342. May not start with the string '..'.
  10343. type: string
  10344. required:
  10345. - key
  10346. - path
  10347. type: object
  10348. type: array
  10349. x-kubernetes-list-type: atomic
  10350. optional:
  10351. description: optional field specify whether the
  10352. Secret or its keys must be defined
  10353. type: boolean
  10354. secretName:
  10355. description: |-
  10356. secretName is the name of the secret in the pod's namespace to use.
  10357. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
  10358. type: string
  10359. type: object
  10360. storageos:
  10361. description: storageOS represents a StorageOS volume
  10362. attached and mounted on Kubernetes nodes.
  10363. properties:
  10364. fsType:
  10365. description: |-
  10366. fsType is the filesystem type to mount.
  10367. Must be a filesystem type supported by the host operating system.
  10368. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10369. type: string
  10370. readOnly:
  10371. description: |-
  10372. readOnly defaults to false (read/write). ReadOnly here will force
  10373. the ReadOnly setting in VolumeMounts.
  10374. type: boolean
  10375. secretRef:
  10376. description: |-
  10377. secretRef specifies the secret to use for obtaining the StorageOS API
  10378. credentials. If not specified, default values will be attempted.
  10379. properties:
  10380. name:
  10381. default: ""
  10382. description: |-
  10383. Name of the referent.
  10384. This field is effectively required, but due to backwards compatibility is
  10385. allowed to be empty. Instances of this type with an empty value here are
  10386. almost certainly wrong.
  10387. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10388. type: string
  10389. type: object
  10390. x-kubernetes-map-type: atomic
  10391. volumeName:
  10392. description: |-
  10393. volumeName is the human-readable name of the StorageOS volume. Volume
  10394. names are only unique within a namespace.
  10395. type: string
  10396. volumeNamespace:
  10397. description: |-
  10398. volumeNamespace specifies the scope of the volume within StorageOS. If no
  10399. namespace is specified then the Pod's namespace will be used. This allows the
  10400. Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
  10401. Set VolumeName to any name to override the default behaviour.
  10402. Set to "default" if you are not using namespaces within StorageOS.
  10403. Namespaces that do not pre-exist within StorageOS will be created.
  10404. type: string
  10405. type: object
  10406. vsphereVolume:
  10407. description: vsphereVolume represents a vSphere volume
  10408. attached and mounted on kubelets host machine
  10409. properties:
  10410. fsType:
  10411. description: |-
  10412. fsType is filesystem type to mount.
  10413. Must be a filesystem type supported by the host operating system.
  10414. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10415. type: string
  10416. storagePolicyID:
  10417. description: storagePolicyID is the storage Policy
  10418. Based Management (SPBM) profile ID associated
  10419. with the StoragePolicyName.
  10420. type: string
  10421. storagePolicyName:
  10422. description: storagePolicyName is the storage Policy
  10423. Based Management (SPBM) profile name.
  10424. type: string
  10425. volumePath:
  10426. description: volumePath is the path that identifies
  10427. vSphere volume vmdk
  10428. type: string
  10429. required:
  10430. - volumePath
  10431. type: object
  10432. required:
  10433. - name
  10434. type: object
  10435. type: array
  10436. type: object
  10437. required:
  10438. - name
  10439. type: object
  10440. type: object
  10441. status:
  10442. description: status defines the observed state of ManagedKnowledgeBase
  10443. properties:
  10444. conditions:
  10445. description: |-
  10446. conditions represent the current state of the ManagedKnowledgeBase resource.
  10447. Each condition has a unique type and reflects the status of a specific aspect of the resource.
  10448. Standard condition types include:
  10449. - "Available": the resource is fully functional
  10450. - "Progressing": the resource is being created or updated
  10451. - "Degraded": the resource failed to reach or maintain its desired state
  10452. The status of each condition is one of True, False, or Unknown.
  10453. items:
  10454. description: Condition contains details for one aspect of the current
  10455. state of this API Resource.
  10456. properties:
  10457. lastTransitionTime:
  10458. description: |-
  10459. lastTransitionTime is the last time the condition transitioned from one status to another.
  10460. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
  10461. format: date-time
  10462. type: string
  10463. message:
  10464. description: |-
  10465. message is a human readable message indicating details about the transition.
  10466. This may be an empty string.
  10467. maxLength: 32768
  10468. type: string
  10469. observedGeneration:
  10470. description: |-
  10471. observedGeneration represents the .metadata.generation that the condition was set based upon.
  10472. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
  10473. with respect to the current state of the instance.
  10474. format: int64
  10475. minimum: 0
  10476. type: integer
  10477. reason:
  10478. description: |-
  10479. reason contains a programmatic identifier indicating the reason for the condition's last transition.
  10480. Producers of specific condition types may define expected values and meanings for this field,
  10481. and whether the values are considered a guaranteed API.
  10482. The value should be a CamelCase string.
  10483. This field may not be empty.
  10484. maxLength: 1024
  10485. minLength: 1
  10486. pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  10487. type: string
  10488. status:
  10489. description: status of the condition, one of True, False, Unknown.
  10490. enum:
  10491. - "True"
  10492. - "False"
  10493. - Unknown
  10494. type: string
  10495. type:
  10496. description: type of condition in CamelCase or in foo.example.com/CamelCase.
  10497. maxLength: 316
  10498. 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])$
  10499. type: string
  10500. required:
  10501. - lastTransitionTime
  10502. - message
  10503. - reason
  10504. - status
  10505. - type
  10506. type: object
  10507. type: array
  10508. x-kubernetes-list-map-keys:
  10509. - type
  10510. x-kubernetes-list-type: map
  10511. endpoint:
  10512. description: endpoint is the URL where the tool can be accessed for
  10513. MCP requests.
  10514. type: string
  10515. observedGeneration:
  10516. description: observedGeneration is the .metadata.generation last reconciled.
  10517. format: int64
  10518. type: integer
  10519. type: object
  10520. required:
  10521. - spec
  10522. type: object
  10523. served: true
  10524. storage: true
  10525. subresources:
  10526. status: {}