batch.tutorial.kubebuilder.io_cronjobs.yaml 600 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415
  1. ---
  2. apiVersion: apiextensions.k8s.io/v1
  3. kind: CustomResourceDefinition
  4. metadata:
  5. annotations:
  6. controller-gen.kubebuilder.io/version: v0.10.0
  7. creationTimestamp: null
  8. name: cronjobs.batch.tutorial.kubebuilder.io
  9. spec:
  10. group: batch.tutorial.kubebuilder.io
  11. names:
  12. kind: CronJob
  13. listKind: CronJobList
  14. plural: cronjobs
  15. singular: cronjob
  16. scope: Namespaced
  17. versions:
  18. - name: v1
  19. schema:
  20. openAPIV3Schema:
  21. description: CronJob is the Schema for the cronjobs API
  22. properties:
  23. apiVersion:
  24. description: 'APIVersion defines the versioned schema of this representation
  25. of an object. Servers should convert recognized schemas to the latest
  26. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  27. type: string
  28. kind:
  29. description: 'Kind is a string value representing the REST resource this
  30. object represents. Servers may infer this from the endpoint the client
  31. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  32. type: string
  33. metadata:
  34. type: object
  35. spec:
  36. description: CronJobSpec defines the desired state of CronJob
  37. properties:
  38. concurrencyPolicy:
  39. description: 'Specifies how to treat concurrent executions of a Job.
  40. Valid values are: - "Allow" (default): allows CronJobs to run concurrently;
  41. - "Forbid": forbids concurrent runs, skipping next run if previous
  42. run hasn''t finished yet; - "Replace": cancels currently running
  43. job and replaces it with a new one'
  44. enum:
  45. - Allow
  46. - Forbid
  47. - Replace
  48. type: string
  49. failedJobsHistoryLimit:
  50. description: The number of failed finished jobs to retain. This is
  51. a pointer to distinguish between explicit zero and not specified.
  52. format: int32
  53. minimum: 0
  54. type: integer
  55. jobTemplate:
  56. description: Specifies the job that will be created when executing
  57. a CronJob.
  58. properties:
  59. metadata:
  60. description: 'Standard object''s metadata of the jobs created
  61. from this template. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  62. type: object
  63. spec:
  64. description: 'Specification of the desired behavior of the job.
  65. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  66. properties:
  67. activeDeadlineSeconds:
  68. description: Specifies the duration in seconds relative to
  69. the startTime that the job may be continuously active before
  70. the system tries to terminate it; value must be positive
  71. integer. If a Job is suspended (at creation or through an
  72. update), this timer will effectively be stopped and reset
  73. when the Job is resumed again.
  74. format: int64
  75. type: integer
  76. backoffLimit:
  77. description: Specifies the number of retries before marking
  78. this job failed. Defaults to 6
  79. format: int32
  80. type: integer
  81. completionMode:
  82. description: "CompletionMode specifies how Pod completions
  83. are tracked. It can be `NonIndexed` (default) or `Indexed`.
  84. \n `NonIndexed` means that the Job is considered complete
  85. when there have been .spec.completions successfully completed
  86. Pods. Each Pod completion is homologous to each other. \n
  87. `Indexed` means that the Pods of a Job get an associated
  88. completion index from 0 to (.spec.completions - 1), available
  89. in the annotation batch.kubernetes.io/job-completion-index.
  90. The Job is considered complete when there is one successfully
  91. completed Pod for each index. When value is `Indexed`, .spec.completions
  92. must be specified and `.spec.parallelism` must be less than
  93. or equal to 10^5. In addition, The Pod name takes the form
  94. `$(job-name)-$(index)-$(random-string)`, the Pod hostname
  95. takes the form `$(job-name)-$(index)`. \n More completion
  96. modes can be added in the future. If the Job controller
  97. observes a mode that it doesn't recognize, which is possible
  98. during upgrades due to version skew, the controller skips
  99. updates for the Job."
  100. type: string
  101. completions:
  102. description: 'Specifies the desired number of successfully
  103. finished pods the job should be run with. Setting to nil
  104. means that the success of any pod signals the success of
  105. all pods, and allows parallelism to have any positive value. Setting
  106. to 1 means that parallelism is limited to 1 and the success
  107. of that pod signals the success of the job. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/'
  108. format: int32
  109. type: integer
  110. manualSelector:
  111. description: 'manualSelector controls generation of pod labels
  112. and pod selectors. Leave `manualSelector` unset unless you
  113. are certain what you are doing. When false or unset, the
  114. system pick labels unique to this job and appends those
  115. labels to the pod template. When true, the user is responsible
  116. for picking unique labels and specifying the selector. Failure
  117. to pick a unique label may cause this and other jobs to
  118. not function correctly. However, You may see `manualSelector=true`
  119. in jobs that were created with the old `extensions/v1beta1`
  120. API. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector'
  121. type: boolean
  122. parallelism:
  123. description: 'Specifies the maximum desired number of pods
  124. the job should run at any given time. The actual number
  125. of pods running in steady state will be less than this number
  126. when ((.spec.completions - .status.successful) < .spec.parallelism),
  127. i.e. when the work left to do is less than max parallelism.
  128. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/'
  129. format: int32
  130. type: integer
  131. podFailurePolicy:
  132. description: "Specifies the policy of handling failed pods.
  133. In particular, it allows to specify the set of actions and
  134. conditions which need to be satisfied to take the associated
  135. action. If empty, the default behaviour applies - the counter
  136. of failed pods, represented by the jobs's .status.failed
  137. field, is incremented and it is checked against the backoffLimit.
  138. This field cannot be used in combination with restartPolicy=OnFailure.
  139. \n This field is alpha-level. To use this field, you must
  140. enable the `JobPodFailurePolicy` feature gate (disabled
  141. by default)."
  142. properties:
  143. rules:
  144. description: A list of pod failure policy rules. The rules
  145. are evaluated in order. Once a rule matches a Pod failure,
  146. the remaining of the rules are ignored. When no rule
  147. matches the Pod failure, the default handling applies
  148. - the counter of pod failures is incremented and it
  149. is checked against the backoffLimit. At most 20 elements
  150. are allowed.
  151. items:
  152. description: PodFailurePolicyRule describes how a pod
  153. failure is handled when the requirements are met.
  154. One of OnExitCodes and onPodConditions, but not both,
  155. can be used in each rule.
  156. properties:
  157. action:
  158. description: 'Specifies the action taken on a pod
  159. failure when the requirements are satisfied. Possible
  160. values are: - FailJob: indicates that the pod''s
  161. job is marked as Failed and all running pods are
  162. terminated. - Ignore: indicates that the counter
  163. towards the .backoffLimit is not incremented and
  164. a replacement pod is created. - Count: indicates
  165. that the pod is handled in the default way - the
  166. counter towards the .backoffLimit is incremented.
  167. Additional values are considered to be added in
  168. the future. Clients should react to an unknown
  169. action by skipping the rule.'
  170. type: string
  171. onExitCodes:
  172. description: Represents the requirement on the container
  173. exit codes.
  174. properties:
  175. containerName:
  176. description: Restricts the check for exit codes
  177. to the container with the specified name.
  178. When null, the rule applies to all containers.
  179. When specified, it should match one the container
  180. or initContainer names in the pod template.
  181. type: string
  182. operator:
  183. description: 'Represents the relationship between
  184. the container exit code(s) and the specified
  185. values. Containers completed with success
  186. (exit code 0) are excluded from the requirement
  187. check. Possible values are: - In: the requirement
  188. is satisfied if at least one container exit
  189. code (might be multiple if there are multiple
  190. containers not restricted by the ''containerName''
  191. field) is in the set of specified values.
  192. - NotIn: the requirement is satisfied if at
  193. least one container exit code (might be multiple
  194. if there are multiple containers not restricted
  195. by the ''containerName'' field) is not in
  196. the set of specified values. Additional values
  197. are considered to be added in the future.
  198. Clients should react to an unknown operator
  199. by assuming the requirement is not satisfied.'
  200. type: string
  201. values:
  202. description: Specifies the set of values. Each
  203. returned container exit code (might be multiple
  204. in case of multiple containers) is checked
  205. against this set of values with respect to
  206. the operator. The list of values must be ordered
  207. and must not contain duplicates. Value '0'
  208. cannot be used for the In operator. At least
  209. one element is required. At most 255 elements
  210. are allowed.
  211. items:
  212. format: int32
  213. type: integer
  214. type: array
  215. x-kubernetes-list-type: set
  216. required:
  217. - operator
  218. - values
  219. type: object
  220. onPodConditions:
  221. description: Represents the requirement on the pod
  222. conditions. The requirement is represented as
  223. a list of pod condition patterns. The requirement
  224. is satisfied if at least one pattern matches an
  225. actual pod condition. At most 20 elements are
  226. allowed.
  227. items:
  228. description: PodFailurePolicyOnPodConditionsPattern
  229. describes a pattern for matching an actual pod
  230. condition type.
  231. properties:
  232. status:
  233. description: Specifies the required Pod condition
  234. status. To match a pod condition it is required
  235. that the specified status equals the pod
  236. condition status. Defaults to True.
  237. type: string
  238. type:
  239. description: Specifies the required Pod condition
  240. type. To match a pod condition it is required
  241. that specified type equals the pod condition
  242. type.
  243. type: string
  244. required:
  245. - status
  246. - type
  247. type: object
  248. type: array
  249. x-kubernetes-list-type: atomic
  250. required:
  251. - action
  252. - onPodConditions
  253. type: object
  254. type: array
  255. x-kubernetes-list-type: atomic
  256. required:
  257. - rules
  258. type: object
  259. selector:
  260. description: 'A label query over pods that should match the
  261. pod count. Normally, the system sets this field for you.
  262. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
  263. properties:
  264. matchExpressions:
  265. description: matchExpressions is a list of label selector
  266. requirements. The requirements are ANDed.
  267. items:
  268. description: A label selector requirement is a selector
  269. that contains values, a key, and an operator that
  270. relates the key and values.
  271. properties:
  272. key:
  273. description: key is the label key that the selector
  274. applies to.
  275. type: string
  276. operator:
  277. description: operator represents a key's relationship
  278. to a set of values. Valid operators are In, NotIn,
  279. Exists and DoesNotExist.
  280. type: string
  281. values:
  282. description: values is an array of string values.
  283. If the operator is In or NotIn, the values array
  284. must be non-empty. If the operator is Exists or
  285. DoesNotExist, the values array must be empty.
  286. This array is replaced during a strategic merge
  287. patch.
  288. items:
  289. type: string
  290. type: array
  291. required:
  292. - key
  293. - operator
  294. type: object
  295. type: array
  296. matchLabels:
  297. additionalProperties:
  298. type: string
  299. description: matchLabels is a map of {key,value} pairs.
  300. A single {key,value} in the matchLabels map is equivalent
  301. to an element of matchExpressions, whose key field is
  302. "key", the operator is "In", and the values array contains
  303. only "value". The requirements are ANDed.
  304. type: object
  305. type: object
  306. x-kubernetes-map-type: atomic
  307. suspend:
  308. description: Suspend specifies whether the Job controller
  309. should create Pods or not. If a Job is created with suspend
  310. set to true, no Pods are created by the Job controller.
  311. If a Job is suspended after creation (i.e. the flag goes
  312. from false to true), the Job controller will delete all
  313. active Pods associated with this Job. Users must design
  314. their workload to gracefully handle this. Suspending a Job
  315. will reset the StartTime field of the Job, effectively resetting
  316. the ActiveDeadlineSeconds timer too. Defaults to false.
  317. type: boolean
  318. template:
  319. description: 'Describes the pod that will be created when
  320. executing a job. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/'
  321. properties:
  322. metadata:
  323. description: 'Standard object''s metadata. More info:
  324. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  325. type: object
  326. spec:
  327. description: 'Specification of the desired behavior of
  328. the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  329. properties:
  330. activeDeadlineSeconds:
  331. description: Optional duration in seconds the pod
  332. may be active on the node relative to StartTime
  333. before the system will actively try to mark it failed
  334. and kill associated containers. Value must be a
  335. positive integer.
  336. format: int64
  337. type: integer
  338. affinity:
  339. description: If specified, the pod's scheduling constraints
  340. properties:
  341. nodeAffinity:
  342. description: Describes node affinity scheduling
  343. rules for the pod.
  344. properties:
  345. preferredDuringSchedulingIgnoredDuringExecution:
  346. description: The scheduler will prefer to
  347. schedule pods to nodes that satisfy the
  348. affinity expressions specified by this field,
  349. but it may choose a node that violates one
  350. or more of the expressions. The node that
  351. is most preferred is the one with the greatest
  352. sum of weights, i.e. for each node that
  353. meets all of the scheduling requirements
  354. (resource request, requiredDuringScheduling
  355. affinity expressions, etc.), compute a sum
  356. by iterating through the elements of this
  357. field and adding "weight" to the sum if
  358. the node matches the corresponding matchExpressions;
  359. the node(s) with the highest sum are the
  360. most preferred.
  361. items:
  362. description: An empty preferred scheduling
  363. term matches all objects with implicit
  364. weight 0 (i.e. it's a no-op). A null preferred
  365. scheduling term matches no objects (i.e.
  366. is also a no-op).
  367. properties:
  368. preference:
  369. description: A node selector term, associated
  370. with the corresponding weight.
  371. properties:
  372. matchExpressions:
  373. description: A list of node selector
  374. requirements by node's labels.
  375. items:
  376. description: A node selector requirement
  377. is a selector that contains
  378. values, a key, and an operator
  379. that relates the key and values.
  380. properties:
  381. key:
  382. description: The label key
  383. that the selector applies
  384. to.
  385. type: string
  386. operator:
  387. description: Represents a
  388. key's relationship to a
  389. set of values. Valid operators
  390. are In, NotIn, Exists, DoesNotExist.
  391. Gt, and Lt.
  392. type: string
  393. values:
  394. description: An array of string
  395. values. If the operator
  396. is In or NotIn, the values
  397. array must be non-empty.
  398. If the operator is Exists
  399. or DoesNotExist, the values
  400. array must be empty. If
  401. the operator is Gt or Lt,
  402. the values array must have
  403. a single element, which
  404. will be interpreted as an
  405. integer. This array is replaced
  406. during a strategic merge
  407. patch.
  408. items:
  409. type: string
  410. type: array
  411. required:
  412. - key
  413. - operator
  414. type: object
  415. type: array
  416. matchFields:
  417. description: A list of node selector
  418. requirements by node's fields.
  419. items:
  420. description: A node selector requirement
  421. is a selector that contains
  422. values, a key, and an operator
  423. that relates the key and values.
  424. properties:
  425. key:
  426. description: The label key
  427. that the selector applies
  428. to.
  429. type: string
  430. operator:
  431. description: Represents a
  432. key's relationship to a
  433. set of values. Valid operators
  434. are In, NotIn, Exists, DoesNotExist.
  435. Gt, and Lt.
  436. type: string
  437. values:
  438. description: An array of string
  439. values. If the operator
  440. is In or NotIn, the values
  441. array must be non-empty.
  442. If the operator is Exists
  443. or DoesNotExist, the values
  444. array must be empty. If
  445. the operator is Gt or Lt,
  446. the values array must have
  447. a single element, which
  448. will be interpreted as an
  449. integer. This array is replaced
  450. during a strategic merge
  451. patch.
  452. items:
  453. type: string
  454. type: array
  455. required:
  456. - key
  457. - operator
  458. type: object
  459. type: array
  460. type: object
  461. x-kubernetes-map-type: atomic
  462. weight:
  463. description: Weight associated with
  464. matching the corresponding nodeSelectorTerm,
  465. in the range 1-100.
  466. format: int32
  467. type: integer
  468. required:
  469. - preference
  470. - weight
  471. type: object
  472. type: array
  473. requiredDuringSchedulingIgnoredDuringExecution:
  474. description: If the affinity requirements
  475. specified by this field are not met at scheduling
  476. time, the pod will not be scheduled onto
  477. the node. If the affinity requirements specified
  478. by this field cease to be met at some point
  479. during pod execution (e.g. due to an update),
  480. the system may or may not try to eventually
  481. evict the pod from its node.
  482. properties:
  483. nodeSelectorTerms:
  484. description: Required. A list of node
  485. selector terms. The terms are ORed.
  486. items:
  487. description: A null or empty node selector
  488. term matches no objects. The requirements
  489. of them are ANDed. The TopologySelectorTerm
  490. type implements a subset of the NodeSelectorTerm.
  491. properties:
  492. matchExpressions:
  493. description: A list of node selector
  494. requirements by node's labels.
  495. items:
  496. description: A node selector requirement
  497. is a selector that contains
  498. values, a key, and an operator
  499. that relates the key and values.
  500. properties:
  501. key:
  502. description: The label key
  503. that the selector applies
  504. to.
  505. type: string
  506. operator:
  507. description: Represents a
  508. key's relationship to a
  509. set of values. Valid operators
  510. are In, NotIn, Exists, DoesNotExist.
  511. Gt, and Lt.
  512. type: string
  513. values:
  514. description: An array of string
  515. values. If the operator
  516. is In or NotIn, the values
  517. array must be non-empty.
  518. If the operator is Exists
  519. or DoesNotExist, the values
  520. array must be empty. If
  521. the operator is Gt or Lt,
  522. the values array must have
  523. a single element, which
  524. will be interpreted as an
  525. integer. This array is replaced
  526. during a strategic merge
  527. patch.
  528. items:
  529. type: string
  530. type: array
  531. required:
  532. - key
  533. - operator
  534. type: object
  535. type: array
  536. matchFields:
  537. description: A list of node selector
  538. requirements by node's fields.
  539. items:
  540. description: A node selector requirement
  541. is a selector that contains
  542. values, a key, and an operator
  543. that relates the key and values.
  544. properties:
  545. key:
  546. description: The label key
  547. that the selector applies
  548. to.
  549. type: string
  550. operator:
  551. description: Represents a
  552. key's relationship to a
  553. set of values. Valid operators
  554. are In, NotIn, Exists, DoesNotExist.
  555. Gt, and Lt.
  556. type: string
  557. values:
  558. description: An array of string
  559. values. If the operator
  560. is In or NotIn, the values
  561. array must be non-empty.
  562. If the operator is Exists
  563. or DoesNotExist, the values
  564. array must be empty. If
  565. the operator is Gt or Lt,
  566. the values array must have
  567. a single element, which
  568. will be interpreted as an
  569. integer. This array is replaced
  570. during a strategic merge
  571. patch.
  572. items:
  573. type: string
  574. type: array
  575. required:
  576. - key
  577. - operator
  578. type: object
  579. type: array
  580. type: object
  581. x-kubernetes-map-type: atomic
  582. type: array
  583. required:
  584. - nodeSelectorTerms
  585. type: object
  586. x-kubernetes-map-type: atomic
  587. type: object
  588. podAffinity:
  589. description: Describes pod affinity scheduling
  590. rules (e.g. co-locate this pod in the same node,
  591. zone, etc. as some other pod(s)).
  592. properties:
  593. preferredDuringSchedulingIgnoredDuringExecution:
  594. description: The scheduler will prefer to
  595. schedule pods to nodes that satisfy the
  596. affinity expressions specified by this field,
  597. but it may choose a node that violates one
  598. or more of the expressions. The node that
  599. is most preferred is the one with the greatest
  600. sum of weights, i.e. for each node that
  601. meets all of the scheduling requirements
  602. (resource request, requiredDuringScheduling
  603. affinity expressions, etc.), compute a sum
  604. by iterating through the elements of this
  605. field and adding "weight" to the sum if
  606. the node has pods which matches the corresponding
  607. podAffinityTerm; the node(s) with the highest
  608. sum are the most preferred.
  609. items:
  610. description: The weights of all of the matched
  611. WeightedPodAffinityTerm fields are added
  612. per-node to find the most preferred node(s)
  613. properties:
  614. podAffinityTerm:
  615. description: Required. A pod affinity
  616. term, associated with the corresponding
  617. weight.
  618. properties:
  619. labelSelector:
  620. description: A label query over
  621. a set of resources, in this case
  622. pods.
  623. properties:
  624. matchExpressions:
  625. description: matchExpressions
  626. is a list of label selector
  627. requirements. The requirements
  628. are ANDed.
  629. items:
  630. description: A label selector
  631. requirement is a selector
  632. that contains values, a
  633. key, and an operator that
  634. relates the key and values.
  635. properties:
  636. key:
  637. description: key is the
  638. label key that the selector
  639. applies to.
  640. type: string
  641. operator:
  642. description: operator
  643. represents a key's relationship
  644. to a set of values.
  645. Valid operators are
  646. In, NotIn, Exists and
  647. DoesNotExist.
  648. type: string
  649. values:
  650. description: values is
  651. an array of string values.
  652. If the operator is In
  653. or NotIn, the values
  654. array must be non-empty.
  655. If the operator is Exists
  656. or DoesNotExist, the
  657. values array must be
  658. empty. This array is
  659. replaced during a strategic
  660. merge patch.
  661. items:
  662. type: string
  663. type: array
  664. required:
  665. - key
  666. - operator
  667. type: object
  668. type: array
  669. matchLabels:
  670. additionalProperties:
  671. type: string
  672. description: matchLabels is
  673. a map of {key,value} pairs.
  674. A single {key,value} in the
  675. matchLabels map is equivalent
  676. to an element of matchExpressions,
  677. whose key field is "key",
  678. the operator is "In", and
  679. the values array contains
  680. only "value". The requirements
  681. are ANDed.
  682. type: object
  683. type: object
  684. x-kubernetes-map-type: atomic
  685. namespaceSelector:
  686. description: A label query over
  687. the set of namespaces that the
  688. term applies to. The term is applied
  689. to the union of the namespaces
  690. selected by this field and the
  691. ones listed in the namespaces
  692. field. null selector and null
  693. or empty namespaces list means
  694. "this pod's namespace". An empty
  695. selector ({}) matches all namespaces.
  696. properties:
  697. matchExpressions:
  698. description: matchExpressions
  699. is a list of label selector
  700. requirements. The requirements
  701. are ANDed.
  702. items:
  703. description: A label selector
  704. requirement is a selector
  705. that contains values, a
  706. key, and an operator that
  707. relates the key and values.
  708. properties:
  709. key:
  710. description: key is the
  711. label key that the selector
  712. applies to.
  713. type: string
  714. operator:
  715. description: operator
  716. represents a key's relationship
  717. to a set of values.
  718. Valid operators are
  719. In, NotIn, Exists and
  720. DoesNotExist.
  721. type: string
  722. values:
  723. description: values is
  724. an array of string values.
  725. If the operator is In
  726. or NotIn, the values
  727. array must be non-empty.
  728. If the operator is Exists
  729. or DoesNotExist, the
  730. values array must be
  731. empty. This array is
  732. replaced during a strategic
  733. merge patch.
  734. items:
  735. type: string
  736. type: array
  737. required:
  738. - key
  739. - operator
  740. type: object
  741. type: array
  742. matchLabels:
  743. additionalProperties:
  744. type: string
  745. description: matchLabels is
  746. a map of {key,value} pairs.
  747. A single {key,value} in the
  748. matchLabels map is equivalent
  749. to an element of matchExpressions,
  750. whose key field is "key",
  751. the operator is "In", and
  752. the values array contains
  753. only "value". The requirements
  754. are ANDed.
  755. type: object
  756. type: object
  757. x-kubernetes-map-type: atomic
  758. namespaces:
  759. description: namespaces specifies
  760. a static list of namespace names
  761. that the term applies to. The
  762. term is applied to the union of
  763. the namespaces listed in this
  764. field and the ones selected by
  765. namespaceSelector. null or empty
  766. namespaces list and null namespaceSelector
  767. means "this pod's namespace".
  768. items:
  769. type: string
  770. type: array
  771. topologyKey:
  772. description: This pod should be
  773. co-located (affinity) or not co-located
  774. (anti-affinity) with the pods
  775. matching the labelSelector in
  776. the specified namespaces, where
  777. co-located is defined as running
  778. on a node whose value of the label
  779. with key topologyKey matches that
  780. of any node on which any of the
  781. selected pods is running. Empty
  782. topologyKey is not allowed.
  783. type: string
  784. required:
  785. - topologyKey
  786. type: object
  787. weight:
  788. description: weight associated with
  789. matching the corresponding podAffinityTerm,
  790. in the range 1-100.
  791. format: int32
  792. type: integer
  793. required:
  794. - podAffinityTerm
  795. - weight
  796. type: object
  797. type: array
  798. requiredDuringSchedulingIgnoredDuringExecution:
  799. description: If the affinity requirements
  800. specified by this field are not met at scheduling
  801. time, the pod will not be scheduled onto
  802. the node. If the affinity requirements specified
  803. by this field cease to be met at some point
  804. during pod execution (e.g. due to a pod
  805. label update), the system may or may not
  806. try to eventually evict the pod from its
  807. node. When there are multiple elements,
  808. the lists of nodes corresponding to each
  809. podAffinityTerm are intersected, i.e. all
  810. terms must be satisfied.
  811. items:
  812. description: Defines a set of pods (namely
  813. those matching the labelSelector relative
  814. to the given namespace(s)) that this pod
  815. should be co-located (affinity) or not
  816. co-located (anti-affinity) with, where
  817. co-located is defined as running on a
  818. node whose value of the label with key
  819. <topologyKey> matches that of any node
  820. on which a pod of the set of pods is running
  821. properties:
  822. labelSelector:
  823. description: A label query over a set
  824. of resources, in this case pods.
  825. properties:
  826. matchExpressions:
  827. description: matchExpressions is
  828. a list of label selector requirements.
  829. The requirements are ANDed.
  830. items:
  831. description: A label selector
  832. requirement is a selector that
  833. contains values, a key, and
  834. an operator that relates the
  835. key and values.
  836. properties:
  837. key:
  838. description: key is the label
  839. key that the selector applies
  840. to.
  841. type: string
  842. operator:
  843. description: operator represents
  844. a key's relationship to
  845. a set of values. Valid operators
  846. are In, NotIn, Exists and
  847. DoesNotExist.
  848. type: string
  849. values:
  850. description: values is an
  851. array of string values.
  852. If the operator is In or
  853. NotIn, the values array
  854. must be non-empty. If the
  855. operator is Exists or DoesNotExist,
  856. the values array must be
  857. empty. This array is replaced
  858. during a strategic merge
  859. patch.
  860. items:
  861. type: string
  862. type: array
  863. required:
  864. - key
  865. - operator
  866. type: object
  867. type: array
  868. matchLabels:
  869. additionalProperties:
  870. type: string
  871. description: matchLabels is a map
  872. of {key,value} pairs. A single
  873. {key,value} in the matchLabels
  874. map is equivalent to an element
  875. of matchExpressions, whose key
  876. field is "key", the operator is
  877. "In", and the values array contains
  878. only "value". The requirements
  879. are ANDed.
  880. type: object
  881. type: object
  882. x-kubernetes-map-type: atomic
  883. namespaceSelector:
  884. description: A label query over the
  885. set of namespaces that the term applies
  886. to. The term is applied to the union
  887. of the namespaces selected by this
  888. field and the ones listed in the namespaces
  889. field. null selector and null or empty
  890. namespaces list means "this pod's
  891. namespace". An empty selector ({})
  892. matches all namespaces.
  893. properties:
  894. matchExpressions:
  895. description: matchExpressions is
  896. a list of label selector requirements.
  897. The requirements are ANDed.
  898. items:
  899. description: A label selector
  900. requirement is a selector that
  901. contains values, a key, and
  902. an operator that relates the
  903. key and values.
  904. properties:
  905. key:
  906. description: key is the label
  907. key that the selector applies
  908. to.
  909. type: string
  910. operator:
  911. description: operator represents
  912. a key's relationship to
  913. a set of values. Valid operators
  914. are In, NotIn, Exists and
  915. DoesNotExist.
  916. type: string
  917. values:
  918. description: values is an
  919. array of string values.
  920. If the operator is In or
  921. NotIn, the values array
  922. must be non-empty. If the
  923. operator is Exists or DoesNotExist,
  924. the values array must be
  925. empty. This array is replaced
  926. during a strategic merge
  927. patch.
  928. items:
  929. type: string
  930. type: array
  931. required:
  932. - key
  933. - operator
  934. type: object
  935. type: array
  936. matchLabels:
  937. additionalProperties:
  938. type: string
  939. description: matchLabels is a map
  940. of {key,value} pairs. A single
  941. {key,value} in the matchLabels
  942. map is equivalent to an element
  943. of matchExpressions, whose key
  944. field is "key", the operator is
  945. "In", and the values array contains
  946. only "value". The requirements
  947. are ANDed.
  948. type: object
  949. type: object
  950. x-kubernetes-map-type: atomic
  951. namespaces:
  952. description: namespaces specifies a
  953. static list of namespace names that
  954. the term applies to. The term is applied
  955. to the union of the namespaces listed
  956. in this field and the ones selected
  957. by namespaceSelector. null or empty
  958. namespaces list and null namespaceSelector
  959. means "this pod's namespace".
  960. items:
  961. type: string
  962. type: array
  963. topologyKey:
  964. description: This pod should be co-located
  965. (affinity) or not co-located (anti-affinity)
  966. with the pods matching the labelSelector
  967. in the specified namespaces, where
  968. co-located is defined as running on
  969. a node whose value of the label with
  970. key topologyKey matches that of any
  971. node on which any of the selected
  972. pods is running. Empty topologyKey
  973. is not allowed.
  974. type: string
  975. required:
  976. - topologyKey
  977. type: object
  978. type: array
  979. type: object
  980. podAntiAffinity:
  981. description: Describes pod anti-affinity scheduling
  982. rules (e.g. avoid putting this pod in the same
  983. node, zone, etc. as some other pod(s)).
  984. properties:
  985. preferredDuringSchedulingIgnoredDuringExecution:
  986. description: The scheduler will prefer to
  987. schedule pods to nodes that satisfy the
  988. anti-affinity expressions specified by this
  989. field, but it may choose a node that violates
  990. one or more of the expressions. The node
  991. that is most preferred is the one with the
  992. greatest sum of weights, i.e. for each node
  993. that meets all of the scheduling requirements
  994. (resource request, requiredDuringScheduling
  995. anti-affinity expressions, etc.), compute
  996. a sum by iterating through the elements
  997. of this field and adding "weight" to the
  998. sum if the node has pods which matches the
  999. corresponding podAffinityTerm; the node(s)
  1000. with the highest sum are the most preferred.
  1001. items:
  1002. description: The weights of all of the matched
  1003. WeightedPodAffinityTerm fields are added
  1004. per-node to find the most preferred node(s)
  1005. properties:
  1006. podAffinityTerm:
  1007. description: Required. A pod affinity
  1008. term, associated with the corresponding
  1009. weight.
  1010. properties:
  1011. labelSelector:
  1012. description: A label query over
  1013. a set of resources, in this case
  1014. pods.
  1015. properties:
  1016. matchExpressions:
  1017. description: matchExpressions
  1018. is a list of label selector
  1019. requirements. The requirements
  1020. are ANDed.
  1021. items:
  1022. description: A label selector
  1023. requirement is a selector
  1024. that contains values, a
  1025. key, and an operator that
  1026. relates the key and values.
  1027. properties:
  1028. key:
  1029. description: key is the
  1030. label key that the selector
  1031. applies to.
  1032. type: string
  1033. operator:
  1034. description: operator
  1035. represents a key's relationship
  1036. to a set of values.
  1037. Valid operators are
  1038. In, NotIn, Exists and
  1039. DoesNotExist.
  1040. type: string
  1041. values:
  1042. description: values is
  1043. an array of string values.
  1044. If the operator is In
  1045. or NotIn, the values
  1046. array must be non-empty.
  1047. If the operator is Exists
  1048. or DoesNotExist, the
  1049. values array must be
  1050. empty. This array is
  1051. replaced during a strategic
  1052. merge patch.
  1053. items:
  1054. type: string
  1055. type: array
  1056. required:
  1057. - key
  1058. - operator
  1059. type: object
  1060. type: array
  1061. matchLabels:
  1062. additionalProperties:
  1063. type: string
  1064. description: matchLabels is
  1065. a map of {key,value} pairs.
  1066. A single {key,value} in the
  1067. matchLabels map is equivalent
  1068. to an element of matchExpressions,
  1069. whose key field is "key",
  1070. the operator is "In", and
  1071. the values array contains
  1072. only "value". The requirements
  1073. are ANDed.
  1074. type: object
  1075. type: object
  1076. x-kubernetes-map-type: atomic
  1077. namespaceSelector:
  1078. description: A label query over
  1079. the set of namespaces that the
  1080. term applies to. The term is applied
  1081. to the union of the namespaces
  1082. selected by this field and the
  1083. ones listed in the namespaces
  1084. field. null selector and null
  1085. or empty namespaces list means
  1086. "this pod's namespace". An empty
  1087. selector ({}) matches all namespaces.
  1088. properties:
  1089. matchExpressions:
  1090. description: matchExpressions
  1091. is a list of label selector
  1092. requirements. The requirements
  1093. are ANDed.
  1094. items:
  1095. description: A label selector
  1096. requirement is a selector
  1097. that contains values, a
  1098. key, and an operator that
  1099. relates the key and values.
  1100. properties:
  1101. key:
  1102. description: key is the
  1103. label key that the selector
  1104. applies to.
  1105. type: string
  1106. operator:
  1107. description: operator
  1108. represents a key's relationship
  1109. to a set of values.
  1110. Valid operators are
  1111. In, NotIn, Exists and
  1112. DoesNotExist.
  1113. type: string
  1114. values:
  1115. description: values is
  1116. an array of string values.
  1117. If the operator is In
  1118. or NotIn, the values
  1119. array must be non-empty.
  1120. If the operator is Exists
  1121. or DoesNotExist, the
  1122. values array must be
  1123. empty. This array is
  1124. replaced during a strategic
  1125. merge patch.
  1126. items:
  1127. type: string
  1128. type: array
  1129. required:
  1130. - key
  1131. - operator
  1132. type: object
  1133. type: array
  1134. matchLabels:
  1135. additionalProperties:
  1136. type: string
  1137. description: matchLabels is
  1138. a map of {key,value} pairs.
  1139. A single {key,value} in the
  1140. matchLabels map is equivalent
  1141. to an element of matchExpressions,
  1142. whose key field is "key",
  1143. the operator is "In", and
  1144. the values array contains
  1145. only "value". The requirements
  1146. are ANDed.
  1147. type: object
  1148. type: object
  1149. x-kubernetes-map-type: atomic
  1150. namespaces:
  1151. description: namespaces specifies
  1152. a static list of namespace names
  1153. that the term applies to. The
  1154. term is applied to the union of
  1155. the namespaces listed in this
  1156. field and the ones selected by
  1157. namespaceSelector. null or empty
  1158. namespaces list and null namespaceSelector
  1159. means "this pod's namespace".
  1160. items:
  1161. type: string
  1162. type: array
  1163. topologyKey:
  1164. description: This pod should be
  1165. co-located (affinity) or not co-located
  1166. (anti-affinity) with the pods
  1167. matching the labelSelector in
  1168. the specified namespaces, where
  1169. co-located is defined as running
  1170. on a node whose value of the label
  1171. with key topologyKey matches that
  1172. of any node on which any of the
  1173. selected pods is running. Empty
  1174. topologyKey is not allowed.
  1175. type: string
  1176. required:
  1177. - topologyKey
  1178. type: object
  1179. weight:
  1180. description: weight associated with
  1181. matching the corresponding podAffinityTerm,
  1182. in the range 1-100.
  1183. format: int32
  1184. type: integer
  1185. required:
  1186. - podAffinityTerm
  1187. - weight
  1188. type: object
  1189. type: array
  1190. requiredDuringSchedulingIgnoredDuringExecution:
  1191. description: If the anti-affinity requirements
  1192. specified by this field are not met at scheduling
  1193. time, the pod will not be scheduled onto
  1194. the node. If the anti-affinity requirements
  1195. specified by this field cease to be met
  1196. at some point during pod execution (e.g.
  1197. due to a pod label update), the system may
  1198. or may not try to eventually evict the pod
  1199. from its node. When there are multiple elements,
  1200. the lists of nodes corresponding to each
  1201. podAffinityTerm are intersected, i.e. all
  1202. terms must be satisfied.
  1203. items:
  1204. description: Defines a set of pods (namely
  1205. those matching the labelSelector relative
  1206. to the given namespace(s)) that this pod
  1207. should be co-located (affinity) or not
  1208. co-located (anti-affinity) with, where
  1209. co-located is defined as running on a
  1210. node whose value of the label with key
  1211. <topologyKey> matches that of any node
  1212. on which a pod of the set of pods is running
  1213. properties:
  1214. labelSelector:
  1215. description: A label query over a set
  1216. of resources, in this case pods.
  1217. properties:
  1218. matchExpressions:
  1219. description: matchExpressions is
  1220. a list of label selector requirements.
  1221. The requirements are ANDed.
  1222. items:
  1223. description: A label selector
  1224. requirement is a selector that
  1225. contains values, a key, and
  1226. an operator that relates the
  1227. key and values.
  1228. properties:
  1229. key:
  1230. description: key is the label
  1231. key that the selector applies
  1232. to.
  1233. type: string
  1234. operator:
  1235. description: operator represents
  1236. a key's relationship to
  1237. a set of values. Valid operators
  1238. are In, NotIn, Exists and
  1239. DoesNotExist.
  1240. type: string
  1241. values:
  1242. description: values is an
  1243. array of string values.
  1244. If the operator is In or
  1245. NotIn, the values array
  1246. must be non-empty. If the
  1247. operator is Exists or DoesNotExist,
  1248. the values array must be
  1249. empty. This array is replaced
  1250. during a strategic merge
  1251. patch.
  1252. items:
  1253. type: string
  1254. type: array
  1255. required:
  1256. - key
  1257. - operator
  1258. type: object
  1259. type: array
  1260. matchLabels:
  1261. additionalProperties:
  1262. type: string
  1263. description: matchLabels is a map
  1264. of {key,value} pairs. A single
  1265. {key,value} in the matchLabels
  1266. map is equivalent to an element
  1267. of matchExpressions, whose key
  1268. field is "key", the operator is
  1269. "In", and the values array contains
  1270. only "value". The requirements
  1271. are ANDed.
  1272. type: object
  1273. type: object
  1274. x-kubernetes-map-type: atomic
  1275. namespaceSelector:
  1276. description: A label query over the
  1277. set of namespaces that the term applies
  1278. to. The term is applied to the union
  1279. of the namespaces selected by this
  1280. field and the ones listed in the namespaces
  1281. field. null selector and null or empty
  1282. namespaces list means "this pod's
  1283. namespace". An empty selector ({})
  1284. matches all namespaces.
  1285. properties:
  1286. matchExpressions:
  1287. description: matchExpressions is
  1288. a list of label selector requirements.
  1289. The requirements are ANDed.
  1290. items:
  1291. description: A label selector
  1292. requirement is a selector that
  1293. contains values, a key, and
  1294. an operator that relates the
  1295. key and values.
  1296. properties:
  1297. key:
  1298. description: key is the label
  1299. key that the selector applies
  1300. to.
  1301. type: string
  1302. operator:
  1303. description: operator represents
  1304. a key's relationship to
  1305. a set of values. Valid operators
  1306. are In, NotIn, Exists and
  1307. DoesNotExist.
  1308. type: string
  1309. values:
  1310. description: values is an
  1311. array of string values.
  1312. If the operator is In or
  1313. NotIn, the values array
  1314. must be non-empty. If the
  1315. operator is Exists or DoesNotExist,
  1316. the values array must be
  1317. empty. This array is replaced
  1318. during a strategic merge
  1319. patch.
  1320. items:
  1321. type: string
  1322. type: array
  1323. required:
  1324. - key
  1325. - operator
  1326. type: object
  1327. type: array
  1328. matchLabels:
  1329. additionalProperties:
  1330. type: string
  1331. description: matchLabels is a map
  1332. of {key,value} pairs. A single
  1333. {key,value} in the matchLabels
  1334. map is equivalent to an element
  1335. of matchExpressions, whose key
  1336. field is "key", the operator is
  1337. "In", and the values array contains
  1338. only "value". The requirements
  1339. are ANDed.
  1340. type: object
  1341. type: object
  1342. x-kubernetes-map-type: atomic
  1343. namespaces:
  1344. description: namespaces specifies a
  1345. static list of namespace names that
  1346. the term applies to. The term is applied
  1347. to the union of the namespaces listed
  1348. in this field and the ones selected
  1349. by namespaceSelector. null or empty
  1350. namespaces list and null namespaceSelector
  1351. means "this pod's namespace".
  1352. items:
  1353. type: string
  1354. type: array
  1355. topologyKey:
  1356. description: This pod should be co-located
  1357. (affinity) or not co-located (anti-affinity)
  1358. with the pods matching the labelSelector
  1359. in the specified namespaces, where
  1360. co-located is defined as running on
  1361. a node whose value of the label with
  1362. key topologyKey matches that of any
  1363. node on which any of the selected
  1364. pods is running. Empty topologyKey
  1365. is not allowed.
  1366. type: string
  1367. required:
  1368. - topologyKey
  1369. type: object
  1370. type: array
  1371. type: object
  1372. type: object
  1373. automountServiceAccountToken:
  1374. description: AutomountServiceAccountToken indicates
  1375. whether a service account token should be automatically
  1376. mounted.
  1377. type: boolean
  1378. containers:
  1379. description: List of containers belonging to the pod.
  1380. Containers cannot currently be added or removed.
  1381. There must be at least one container in a Pod. Cannot
  1382. be updated.
  1383. items:
  1384. description: A single application container that
  1385. you want to run within a pod.
  1386. properties:
  1387. args:
  1388. description: 'Arguments to the entrypoint. The
  1389. container image''s CMD is used if this is
  1390. not provided. Variable references $(VAR_NAME)
  1391. are expanded using the container''s environment.
  1392. If a variable cannot be resolved, the reference
  1393. in the input string will be unchanged. Double
  1394. $$ are reduced to a single $, which allows
  1395. for escaping the $(VAR_NAME) syntax: i.e.
  1396. "$$(VAR_NAME)" will produce the string literal
  1397. "$(VAR_NAME)". Escaped references will never
  1398. be expanded, regardless of whether the variable
  1399. exists or not. Cannot be updated. More info:
  1400. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  1401. items:
  1402. type: string
  1403. type: array
  1404. command:
  1405. description: 'Entrypoint array. Not executed
  1406. within a shell. The container image''s ENTRYPOINT
  1407. is used if this is not provided. Variable
  1408. references $(VAR_NAME) are expanded using
  1409. the container''s environment. If a variable
  1410. cannot be resolved, the reference in the input
  1411. string will be unchanged. Double $$ are reduced
  1412. to a single $, which allows for escaping the
  1413. $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  1414. produce the string literal "$(VAR_NAME)".
  1415. Escaped references will never be expanded,
  1416. regardless of whether the variable exists
  1417. or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  1418. items:
  1419. type: string
  1420. type: array
  1421. env:
  1422. description: List of environment variables to
  1423. set in the container. Cannot be updated.
  1424. items:
  1425. description: EnvVar represents an environment
  1426. variable present in a Container.
  1427. properties:
  1428. name:
  1429. description: Name of the environment variable.
  1430. Must be a C_IDENTIFIER.
  1431. type: string
  1432. value:
  1433. description: 'Variable references $(VAR_NAME)
  1434. are expanded using the previously defined
  1435. environment variables in the container
  1436. and any service environment variables.
  1437. If a variable cannot be resolved, the
  1438. reference in the input string will be
  1439. unchanged. Double $$ are reduced to
  1440. a single $, which allows for escaping
  1441. the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  1442. will produce the string literal "$(VAR_NAME)".
  1443. Escaped references will never be expanded,
  1444. regardless of whether the variable exists
  1445. or not. Defaults to "".'
  1446. type: string
  1447. valueFrom:
  1448. description: Source for the environment
  1449. variable's value. Cannot be used if
  1450. value is not empty.
  1451. properties:
  1452. configMapKeyRef:
  1453. description: Selects a key of a ConfigMap.
  1454. properties:
  1455. key:
  1456. description: The key to select.
  1457. type: string
  1458. name:
  1459. description: 'Name of the referent.
  1460. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1461. TODO: Add other useful fields.
  1462. apiVersion, kind, uid?'
  1463. type: string
  1464. optional:
  1465. description: Specify whether the
  1466. ConfigMap or its key must be
  1467. defined
  1468. type: boolean
  1469. required:
  1470. - key
  1471. type: object
  1472. x-kubernetes-map-type: atomic
  1473. fieldRef:
  1474. description: 'Selects a field of the
  1475. pod: supports metadata.name, metadata.namespace,
  1476. `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
  1477. spec.nodeName, spec.serviceAccountName,
  1478. status.hostIP, status.podIP, status.podIPs.'
  1479. properties:
  1480. apiVersion:
  1481. description: Version of the schema
  1482. the FieldPath is written in
  1483. terms of, defaults to "v1".
  1484. type: string
  1485. fieldPath:
  1486. description: Path of the field
  1487. to select in the specified API
  1488. version.
  1489. type: string
  1490. required:
  1491. - fieldPath
  1492. type: object
  1493. x-kubernetes-map-type: atomic
  1494. resourceFieldRef:
  1495. description: 'Selects a resource of
  1496. the container: only resources limits
  1497. and requests (limits.cpu, limits.memory,
  1498. limits.ephemeral-storage, requests.cpu,
  1499. requests.memory and requests.ephemeral-storage)
  1500. are currently supported.'
  1501. properties:
  1502. containerName:
  1503. description: 'Container name:
  1504. required for volumes, optional
  1505. for env vars'
  1506. type: string
  1507. divisor:
  1508. anyOf:
  1509. - type: integer
  1510. - type: string
  1511. description: Specifies the output
  1512. format of the exposed resources,
  1513. defaults to "1"
  1514. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1515. x-kubernetes-int-or-string: true
  1516. resource:
  1517. description: 'Required: resource
  1518. to select'
  1519. type: string
  1520. required:
  1521. - resource
  1522. type: object
  1523. x-kubernetes-map-type: atomic
  1524. secretKeyRef:
  1525. description: Selects a key of a secret
  1526. in the pod's namespace
  1527. properties:
  1528. key:
  1529. description: The key of the secret
  1530. to select from. Must be a valid
  1531. secret key.
  1532. type: string
  1533. name:
  1534. description: 'Name of the referent.
  1535. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1536. TODO: Add other useful fields.
  1537. apiVersion, kind, uid?'
  1538. type: string
  1539. optional:
  1540. description: Specify whether the
  1541. Secret or its key must be defined
  1542. type: boolean
  1543. required:
  1544. - key
  1545. type: object
  1546. x-kubernetes-map-type: atomic
  1547. type: object
  1548. required:
  1549. - name
  1550. type: object
  1551. type: array
  1552. envFrom:
  1553. description: List of sources to populate environment
  1554. variables in the container. The keys defined
  1555. within a source must be a C_IDENTIFIER. All
  1556. invalid keys will be reported as an event
  1557. when the container is starting. When a key
  1558. exists in multiple sources, the value associated
  1559. with the last source will take precedence.
  1560. Values defined by an Env with a duplicate
  1561. key will take precedence. Cannot be updated.
  1562. items:
  1563. description: EnvFromSource represents the
  1564. source of a set of ConfigMaps
  1565. properties:
  1566. configMapRef:
  1567. description: The ConfigMap to select from
  1568. properties:
  1569. name:
  1570. description: 'Name of the referent.
  1571. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1572. TODO: Add other useful fields. apiVersion,
  1573. kind, uid?'
  1574. type: string
  1575. optional:
  1576. description: Specify whether the ConfigMap
  1577. must be defined
  1578. type: boolean
  1579. type: object
  1580. x-kubernetes-map-type: atomic
  1581. prefix:
  1582. description: An optional identifier to
  1583. prepend to each key in the ConfigMap.
  1584. Must be a C_IDENTIFIER.
  1585. type: string
  1586. secretRef:
  1587. description: The Secret to select from
  1588. properties:
  1589. name:
  1590. description: 'Name of the referent.
  1591. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1592. TODO: Add other useful fields. apiVersion,
  1593. kind, uid?'
  1594. type: string
  1595. optional:
  1596. description: Specify whether the Secret
  1597. must be defined
  1598. type: boolean
  1599. type: object
  1600. x-kubernetes-map-type: atomic
  1601. type: object
  1602. type: array
  1603. image:
  1604. description: 'Container image name. More info:
  1605. https://kubernetes.io/docs/concepts/containers/images
  1606. This field is optional to allow higher level
  1607. config management to default or override container
  1608. images in workload controllers like Deployments
  1609. and StatefulSets.'
  1610. type: string
  1611. imagePullPolicy:
  1612. description: 'Image pull policy. One of Always,
  1613. Never, IfNotPresent. Defaults to Always if
  1614. :latest tag is specified, or IfNotPresent
  1615. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  1616. type: string
  1617. lifecycle:
  1618. description: Actions that the management system
  1619. should take in response to container lifecycle
  1620. events. Cannot be updated.
  1621. properties:
  1622. postStart:
  1623. description: 'PostStart is called immediately
  1624. after a container is created. If the handler
  1625. fails, the container is terminated and
  1626. restarted according to its restart policy.
  1627. Other management of the container blocks
  1628. until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1629. properties:
  1630. exec:
  1631. description: Exec specifies the action
  1632. to take.
  1633. properties:
  1634. command:
  1635. description: Command is the command
  1636. line to execute inside the container,
  1637. the working directory for the
  1638. command is root ('/') in the
  1639. container's filesystem. The command
  1640. is simply exec'd, it is not run
  1641. inside a shell, so traditional
  1642. shell instructions ('|', etc)
  1643. won't work. To use a shell, you
  1644. need to explicitly call out to
  1645. that shell. Exit status of 0 is
  1646. treated as live/healthy and non-zero
  1647. is unhealthy.
  1648. items:
  1649. type: string
  1650. type: array
  1651. type: object
  1652. httpGet:
  1653. description: HTTPGet specifies the http
  1654. request to perform.
  1655. properties:
  1656. host:
  1657. description: Host name to connect
  1658. to, defaults to the pod IP. You
  1659. probably want to set "Host" in
  1660. httpHeaders instead.
  1661. type: string
  1662. httpHeaders:
  1663. description: Custom headers to set
  1664. in the request. HTTP allows repeated
  1665. headers.
  1666. items:
  1667. description: HTTPHeader describes
  1668. a custom header to be used in
  1669. HTTP probes
  1670. properties:
  1671. name:
  1672. description: The header field
  1673. name
  1674. type: string
  1675. value:
  1676. description: The header field
  1677. value
  1678. type: string
  1679. required:
  1680. - name
  1681. - value
  1682. type: object
  1683. type: array
  1684. path:
  1685. description: Path to access on the
  1686. HTTP server.
  1687. type: string
  1688. port:
  1689. anyOf:
  1690. - type: integer
  1691. - type: string
  1692. description: Name or number of the
  1693. port to access on the container.
  1694. Number must be in the range 1
  1695. to 65535. Name must be an IANA_SVC_NAME.
  1696. x-kubernetes-int-or-string: true
  1697. scheme:
  1698. description: Scheme to use for connecting
  1699. to the host. Defaults to HTTP.
  1700. type: string
  1701. required:
  1702. - port
  1703. type: object
  1704. tcpSocket:
  1705. description: Deprecated. TCPSocket is
  1706. NOT supported as a LifecycleHandler
  1707. and kept for the backward compatibility.
  1708. There are no validation of this field
  1709. and lifecycle hooks will fail in runtime
  1710. when tcp handler is specified.
  1711. properties:
  1712. host:
  1713. description: 'Optional: Host name
  1714. to connect to, defaults to the
  1715. pod IP.'
  1716. type: string
  1717. port:
  1718. anyOf:
  1719. - type: integer
  1720. - type: string
  1721. description: Number or name of the
  1722. port to access on the container.
  1723. Number must be in the range 1
  1724. to 65535. Name must be an IANA_SVC_NAME.
  1725. x-kubernetes-int-or-string: true
  1726. required:
  1727. - port
  1728. type: object
  1729. type: object
  1730. preStop:
  1731. description: 'PreStop is called immediately
  1732. before a container is terminated due to
  1733. an API request or management event such
  1734. as liveness/startup probe failure, preemption,
  1735. resource contention, etc. The handler
  1736. is not called if the container crashes
  1737. or exits. The Pod''s termination grace
  1738. period countdown begins before the PreStop
  1739. hook is executed. Regardless of the outcome
  1740. of the handler, the container will eventually
  1741. terminate within the Pod''s termination
  1742. grace period (unless delayed by finalizers).
  1743. Other management of the container blocks
  1744. until the hook completes or until the
  1745. termination grace period is reached. More
  1746. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1747. properties:
  1748. exec:
  1749. description: Exec specifies the action
  1750. to take.
  1751. properties:
  1752. command:
  1753. description: Command is the command
  1754. line to execute inside the container,
  1755. the working directory for the
  1756. command is root ('/') in the
  1757. container's filesystem. The command
  1758. is simply exec'd, it is not run
  1759. inside a shell, so traditional
  1760. shell instructions ('|', etc)
  1761. won't work. To use a shell, you
  1762. need to explicitly call out to
  1763. that shell. Exit status of 0 is
  1764. treated as live/healthy and non-zero
  1765. is unhealthy.
  1766. items:
  1767. type: string
  1768. type: array
  1769. type: object
  1770. httpGet:
  1771. description: HTTPGet specifies the http
  1772. request to perform.
  1773. properties:
  1774. host:
  1775. description: Host name to connect
  1776. to, defaults to the pod IP. You
  1777. probably want to set "Host" in
  1778. httpHeaders instead.
  1779. type: string
  1780. httpHeaders:
  1781. description: Custom headers to set
  1782. in the request. HTTP allows repeated
  1783. headers.
  1784. items:
  1785. description: HTTPHeader describes
  1786. a custom header to be used in
  1787. HTTP probes
  1788. properties:
  1789. name:
  1790. description: The header field
  1791. name
  1792. type: string
  1793. value:
  1794. description: The header field
  1795. value
  1796. type: string
  1797. required:
  1798. - name
  1799. - value
  1800. type: object
  1801. type: array
  1802. path:
  1803. description: Path to access on the
  1804. HTTP server.
  1805. type: string
  1806. port:
  1807. anyOf:
  1808. - type: integer
  1809. - type: string
  1810. description: Name or number of the
  1811. port to access on the container.
  1812. Number must be in the range 1
  1813. to 65535. Name must be an IANA_SVC_NAME.
  1814. x-kubernetes-int-or-string: true
  1815. scheme:
  1816. description: Scheme to use for connecting
  1817. to the host. Defaults to HTTP.
  1818. type: string
  1819. required:
  1820. - port
  1821. type: object
  1822. tcpSocket:
  1823. description: Deprecated. TCPSocket is
  1824. NOT supported as a LifecycleHandler
  1825. and kept for the backward compatibility.
  1826. There are no validation of this field
  1827. and lifecycle hooks will fail in runtime
  1828. when tcp handler is specified.
  1829. properties:
  1830. host:
  1831. description: 'Optional: Host name
  1832. to connect to, defaults to the
  1833. pod IP.'
  1834. type: string
  1835. port:
  1836. anyOf:
  1837. - type: integer
  1838. - type: string
  1839. description: Number or name of the
  1840. port to access on the container.
  1841. Number must be in the range 1
  1842. to 65535. Name must be an IANA_SVC_NAME.
  1843. x-kubernetes-int-or-string: true
  1844. required:
  1845. - port
  1846. type: object
  1847. type: object
  1848. type: object
  1849. livenessProbe:
  1850. description: 'Periodic probe of container liveness.
  1851. Container will be restarted if the probe fails.
  1852. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1853. properties:
  1854. exec:
  1855. description: Exec specifies the action to
  1856. take.
  1857. properties:
  1858. command:
  1859. description: Command is the command
  1860. line to execute inside the container,
  1861. the working directory for the command is
  1862. root ('/') in the container's filesystem.
  1863. The command is simply exec'd, it is
  1864. not run inside a shell, so traditional
  1865. shell instructions ('|', etc) won't
  1866. work. To use a shell, you need to
  1867. explicitly call out to that shell.
  1868. Exit status of 0 is treated as live/healthy
  1869. and non-zero is unhealthy.
  1870. items:
  1871. type: string
  1872. type: array
  1873. type: object
  1874. failureThreshold:
  1875. description: Minimum consecutive failures
  1876. for the probe to be considered failed
  1877. after having succeeded. Defaults to 3.
  1878. Minimum value is 1.
  1879. format: int32
  1880. type: integer
  1881. grpc:
  1882. description: GRPC specifies an action involving
  1883. a GRPC port. This is a beta field and
  1884. requires enabling GRPCContainerProbe feature
  1885. gate.
  1886. properties:
  1887. port:
  1888. description: Port number of the gRPC
  1889. service. Number must be in the range
  1890. 1 to 65535.
  1891. format: int32
  1892. type: integer
  1893. service:
  1894. description: "Service is the name of
  1895. the service to place in the gRPC HealthCheckRequest
  1896. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  1897. \n If this is not specified, the default
  1898. behavior is defined by gRPC."
  1899. type: string
  1900. required:
  1901. - port
  1902. type: object
  1903. httpGet:
  1904. description: HTTPGet specifies the http
  1905. request to perform.
  1906. properties:
  1907. host:
  1908. description: Host name to connect to,
  1909. defaults to the pod IP. You probably
  1910. want to set "Host" in httpHeaders
  1911. instead.
  1912. type: string
  1913. httpHeaders:
  1914. description: Custom headers to set in
  1915. the request. HTTP allows repeated
  1916. headers.
  1917. items:
  1918. description: HTTPHeader describes
  1919. a custom header to be used in HTTP
  1920. probes
  1921. properties:
  1922. name:
  1923. description: The header field
  1924. name
  1925. type: string
  1926. value:
  1927. description: The header field
  1928. value
  1929. type: string
  1930. required:
  1931. - name
  1932. - value
  1933. type: object
  1934. type: array
  1935. path:
  1936. description: Path to access on the HTTP
  1937. server.
  1938. type: string
  1939. port:
  1940. anyOf:
  1941. - type: integer
  1942. - type: string
  1943. description: Name or number of the port
  1944. to access on the container. Number
  1945. must be in the range 1 to 65535. Name
  1946. must be an IANA_SVC_NAME.
  1947. x-kubernetes-int-or-string: true
  1948. scheme:
  1949. description: Scheme to use for connecting
  1950. to the host. Defaults to HTTP.
  1951. type: string
  1952. required:
  1953. - port
  1954. type: object
  1955. initialDelaySeconds:
  1956. description: 'Number of seconds after the
  1957. container has started before liveness
  1958. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1959. format: int32
  1960. type: integer
  1961. periodSeconds:
  1962. description: How often (in seconds) to perform
  1963. the probe. Default to 10 seconds. Minimum
  1964. value is 1.
  1965. format: int32
  1966. type: integer
  1967. successThreshold:
  1968. description: Minimum consecutive successes
  1969. for the probe to be considered successful
  1970. after having failed. Defaults to 1. Must
  1971. be 1 for liveness and startup. Minimum
  1972. value is 1.
  1973. format: int32
  1974. type: integer
  1975. tcpSocket:
  1976. description: TCPSocket specifies an action
  1977. involving a TCP port.
  1978. properties:
  1979. host:
  1980. description: 'Optional: Host name to
  1981. connect to, defaults to the pod IP.'
  1982. type: string
  1983. port:
  1984. anyOf:
  1985. - type: integer
  1986. - type: string
  1987. description: Number or name of the port
  1988. to access on the container. Number
  1989. must be in the range 1 to 65535. Name
  1990. must be an IANA_SVC_NAME.
  1991. x-kubernetes-int-or-string: true
  1992. required:
  1993. - port
  1994. type: object
  1995. terminationGracePeriodSeconds:
  1996. description: Optional duration in seconds
  1997. the pod needs to terminate gracefully
  1998. upon probe failure. The grace period is
  1999. the duration in seconds after the processes
  2000. running in the pod are sent a termination
  2001. signal and the time when the processes
  2002. are forcibly halted with a kill signal.
  2003. Set this value longer than the expected
  2004. cleanup time for your process. If this
  2005. value is nil, the pod's terminationGracePeriodSeconds
  2006. will be used. Otherwise, this value overrides
  2007. the value provided by the pod spec. Value
  2008. must be non-negative integer. The value
  2009. zero indicates stop immediately via the
  2010. kill signal (no opportunity to shut down).
  2011. This is a beta field and requires enabling
  2012. ProbeTerminationGracePeriod feature gate.
  2013. Minimum value is 1. spec.terminationGracePeriodSeconds
  2014. is used if unset.
  2015. format: int64
  2016. type: integer
  2017. timeoutSeconds:
  2018. description: 'Number of seconds after which
  2019. the probe times out. Defaults to 1 second.
  2020. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2021. format: int32
  2022. type: integer
  2023. type: object
  2024. name:
  2025. description: Name of the container specified
  2026. as a DNS_LABEL. Each container in a pod must
  2027. have a unique name (DNS_LABEL). Cannot be
  2028. updated.
  2029. type: string
  2030. ports:
  2031. description: List of ports to expose from the
  2032. container. Not specifying a port here DOES
  2033. NOT prevent that port from being exposed.
  2034. Any port which is listening on the default
  2035. "0.0.0.0" address inside a container will
  2036. be accessible from the network. Modifying
  2037. this array with strategic merge patch may
  2038. corrupt the data. For more information See
  2039. https://github.com/kubernetes/kubernetes/issues/108255.
  2040. Cannot be updated.
  2041. items:
  2042. description: ContainerPort represents a network
  2043. port in a single container.
  2044. properties:
  2045. containerPort:
  2046. description: Number of port to expose
  2047. on the pod's IP address. This must be
  2048. a valid port number, 0 < x < 65536.
  2049. format: int32
  2050. type: integer
  2051. hostIP:
  2052. description: What host IP to bind the
  2053. external port to.
  2054. type: string
  2055. hostPort:
  2056. description: Number of port to expose
  2057. on the host. If specified, this must
  2058. be a valid port number, 0 < x < 65536.
  2059. If HostNetwork is specified, this must
  2060. match ContainerPort. Most containers
  2061. do not need this.
  2062. format: int32
  2063. type: integer
  2064. name:
  2065. description: If specified, this must be
  2066. an IANA_SVC_NAME and unique within the
  2067. pod. Each named port in a pod must have
  2068. a unique name. Name for the port that
  2069. can be referred to by services.
  2070. type: string
  2071. protocol:
  2072. default: TCP
  2073. description: Protocol for port. Must be
  2074. UDP, TCP, or SCTP. Defaults to "TCP".
  2075. type: string
  2076. required:
  2077. - containerPort
  2078. type: object
  2079. type: array
  2080. x-kubernetes-list-map-keys:
  2081. - containerPort
  2082. - protocol
  2083. x-kubernetes-list-type: map
  2084. readinessProbe:
  2085. description: 'Periodic probe of container service
  2086. readiness. Container will be removed from
  2087. service endpoints if the probe fails. Cannot
  2088. be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2089. properties:
  2090. exec:
  2091. description: Exec specifies the action to
  2092. take.
  2093. properties:
  2094. command:
  2095. description: Command is the command
  2096. line to execute inside the container,
  2097. the working directory for the command is
  2098. root ('/') in the container's filesystem.
  2099. The command is simply exec'd, it is
  2100. not run inside a shell, so traditional
  2101. shell instructions ('|', etc) won't
  2102. work. To use a shell, you need to
  2103. explicitly call out to that shell.
  2104. Exit status of 0 is treated as live/healthy
  2105. and non-zero is unhealthy.
  2106. items:
  2107. type: string
  2108. type: array
  2109. type: object
  2110. failureThreshold:
  2111. description: Minimum consecutive failures
  2112. for the probe to be considered failed
  2113. after having succeeded. Defaults to 3.
  2114. Minimum value is 1.
  2115. format: int32
  2116. type: integer
  2117. grpc:
  2118. description: GRPC specifies an action involving
  2119. a GRPC port. This is a beta field and
  2120. requires enabling GRPCContainerProbe feature
  2121. gate.
  2122. properties:
  2123. port:
  2124. description: Port number of the gRPC
  2125. service. Number must be in the range
  2126. 1 to 65535.
  2127. format: int32
  2128. type: integer
  2129. service:
  2130. description: "Service is the name of
  2131. the service to place in the gRPC HealthCheckRequest
  2132. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2133. \n If this is not specified, the default
  2134. behavior is defined by gRPC."
  2135. type: string
  2136. required:
  2137. - port
  2138. type: object
  2139. httpGet:
  2140. description: HTTPGet specifies the http
  2141. request to perform.
  2142. properties:
  2143. host:
  2144. description: Host name to connect to,
  2145. defaults to the pod IP. You probably
  2146. want to set "Host" in httpHeaders
  2147. instead.
  2148. type: string
  2149. httpHeaders:
  2150. description: Custom headers to set in
  2151. the request. HTTP allows repeated
  2152. headers.
  2153. items:
  2154. description: HTTPHeader describes
  2155. a custom header to be used in HTTP
  2156. probes
  2157. properties:
  2158. name:
  2159. description: The header field
  2160. name
  2161. type: string
  2162. value:
  2163. description: The header field
  2164. value
  2165. type: string
  2166. required:
  2167. - name
  2168. - value
  2169. type: object
  2170. type: array
  2171. path:
  2172. description: Path to access on the HTTP
  2173. server.
  2174. type: string
  2175. port:
  2176. anyOf:
  2177. - type: integer
  2178. - type: string
  2179. description: Name or number of the port
  2180. to access on the container. Number
  2181. must be in the range 1 to 65535. Name
  2182. must be an IANA_SVC_NAME.
  2183. x-kubernetes-int-or-string: true
  2184. scheme:
  2185. description: Scheme to use for connecting
  2186. to the host. Defaults to HTTP.
  2187. type: string
  2188. required:
  2189. - port
  2190. type: object
  2191. initialDelaySeconds:
  2192. description: 'Number of seconds after the
  2193. container has started before liveness
  2194. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2195. format: int32
  2196. type: integer
  2197. periodSeconds:
  2198. description: How often (in seconds) to perform
  2199. the probe. Default to 10 seconds. Minimum
  2200. value is 1.
  2201. format: int32
  2202. type: integer
  2203. successThreshold:
  2204. description: Minimum consecutive successes
  2205. for the probe to be considered successful
  2206. after having failed. Defaults to 1. Must
  2207. be 1 for liveness and startup. Minimum
  2208. value is 1.
  2209. format: int32
  2210. type: integer
  2211. tcpSocket:
  2212. description: TCPSocket specifies an action
  2213. involving a TCP port.
  2214. properties:
  2215. host:
  2216. description: 'Optional: Host name to
  2217. connect to, defaults to the pod IP.'
  2218. type: string
  2219. port:
  2220. anyOf:
  2221. - type: integer
  2222. - type: string
  2223. description: Number or name of the port
  2224. to access on the container. Number
  2225. must be in the range 1 to 65535. Name
  2226. must be an IANA_SVC_NAME.
  2227. x-kubernetes-int-or-string: true
  2228. required:
  2229. - port
  2230. type: object
  2231. terminationGracePeriodSeconds:
  2232. description: Optional duration in seconds
  2233. the pod needs to terminate gracefully
  2234. upon probe failure. The grace period is
  2235. the duration in seconds after the processes
  2236. running in the pod are sent a termination
  2237. signal and the time when the processes
  2238. are forcibly halted with a kill signal.
  2239. Set this value longer than the expected
  2240. cleanup time for your process. If this
  2241. value is nil, the pod's terminationGracePeriodSeconds
  2242. will be used. Otherwise, this value overrides
  2243. the value provided by the pod spec. Value
  2244. must be non-negative integer. The value
  2245. zero indicates stop immediately via the
  2246. kill signal (no opportunity to shut down).
  2247. This is a beta field and requires enabling
  2248. ProbeTerminationGracePeriod feature gate.
  2249. Minimum value is 1. spec.terminationGracePeriodSeconds
  2250. is used if unset.
  2251. format: int64
  2252. type: integer
  2253. timeoutSeconds:
  2254. description: 'Number of seconds after which
  2255. the probe times out. Defaults to 1 second.
  2256. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2257. format: int32
  2258. type: integer
  2259. type: object
  2260. resources:
  2261. description: 'Compute Resources required by
  2262. this container. Cannot be updated. More info:
  2263. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2264. properties:
  2265. limits:
  2266. additionalProperties:
  2267. anyOf:
  2268. - type: integer
  2269. - type: string
  2270. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2271. x-kubernetes-int-or-string: true
  2272. description: 'Limits describes the maximum
  2273. amount of compute resources allowed. More
  2274. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2275. type: object
  2276. requests:
  2277. additionalProperties:
  2278. anyOf:
  2279. - type: integer
  2280. - type: string
  2281. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2282. x-kubernetes-int-or-string: true
  2283. description: 'Requests describes the minimum
  2284. amount of compute resources required.
  2285. If Requests is omitted for a container,
  2286. it defaults to Limits if that is explicitly
  2287. specified, otherwise to an implementation-defined
  2288. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2289. type: object
  2290. type: object
  2291. securityContext:
  2292. description: 'SecurityContext defines the security
  2293. options the container should be run with.
  2294. If set, the fields of SecurityContext override
  2295. the equivalent fields of PodSecurityContext.
  2296. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  2297. properties:
  2298. allowPrivilegeEscalation:
  2299. description: 'AllowPrivilegeEscalation controls
  2300. whether a process can gain more privileges
  2301. than its parent process. This bool directly
  2302. controls if the no_new_privs flag will
  2303. be set on the container process. AllowPrivilegeEscalation
  2304. is true always when the container is:
  2305. 1) run as Privileged 2) has CAP_SYS_ADMIN
  2306. Note that this field cannot be set when
  2307. spec.os.name is windows.'
  2308. type: boolean
  2309. capabilities:
  2310. description: The capabilities to add/drop
  2311. when running containers. Defaults to the
  2312. default set of capabilities granted by
  2313. the container runtime. Note that this
  2314. field cannot be set when spec.os.name
  2315. is windows.
  2316. properties:
  2317. add:
  2318. description: Added capabilities
  2319. items:
  2320. description: Capability represent
  2321. POSIX capabilities type
  2322. type: string
  2323. type: array
  2324. drop:
  2325. description: Removed capabilities
  2326. items:
  2327. description: Capability represent
  2328. POSIX capabilities type
  2329. type: string
  2330. type: array
  2331. type: object
  2332. privileged:
  2333. description: Run container in privileged
  2334. mode. Processes in privileged containers
  2335. are essentially equivalent to root on
  2336. the host. Defaults to false. Note that
  2337. this field cannot be set when spec.os.name
  2338. is windows.
  2339. type: boolean
  2340. procMount:
  2341. description: procMount denotes the type
  2342. of proc mount to use for the containers.
  2343. The default is DefaultProcMount which
  2344. uses the container runtime defaults for
  2345. readonly paths and masked paths. This
  2346. requires the ProcMountType feature flag
  2347. to be enabled. Note that this field cannot
  2348. be set when spec.os.name is windows.
  2349. type: string
  2350. readOnlyRootFilesystem:
  2351. description: Whether this container has
  2352. a read-only root filesystem. Default is
  2353. false. Note that this field cannot be
  2354. set when spec.os.name is windows.
  2355. type: boolean
  2356. runAsGroup:
  2357. description: The GID to run the entrypoint
  2358. of the container process. Uses runtime
  2359. default if unset. May also be set in PodSecurityContext. If
  2360. set in both SecurityContext and PodSecurityContext,
  2361. the value specified in SecurityContext
  2362. takes precedence. Note that this field
  2363. cannot be set when spec.os.name is windows.
  2364. format: int64
  2365. type: integer
  2366. runAsNonRoot:
  2367. description: Indicates that the container
  2368. must run as a non-root user. If true,
  2369. the Kubelet will validate the image at
  2370. runtime to ensure that it does not run
  2371. as UID 0 (root) and fail to start the
  2372. container if it does. If unset or false,
  2373. no such validation will be performed.
  2374. May also be set in PodSecurityContext. If
  2375. set in both SecurityContext and PodSecurityContext,
  2376. the value specified in SecurityContext
  2377. takes precedence.
  2378. type: boolean
  2379. runAsUser:
  2380. description: The UID to run the entrypoint
  2381. of the container process. Defaults to
  2382. user specified in image metadata if unspecified.
  2383. May also be set in PodSecurityContext. If
  2384. set in both SecurityContext and PodSecurityContext,
  2385. the value specified in SecurityContext
  2386. takes precedence. Note that this field
  2387. cannot be set when spec.os.name is windows.
  2388. format: int64
  2389. type: integer
  2390. seLinuxOptions:
  2391. description: The SELinux context to be applied
  2392. to the container. If unspecified, the
  2393. container runtime will allocate a random
  2394. SELinux context for each container. May
  2395. also be set in PodSecurityContext. If
  2396. set in both SecurityContext and PodSecurityContext,
  2397. the value specified in SecurityContext
  2398. takes precedence. Note that this field
  2399. cannot be set when spec.os.name is windows.
  2400. properties:
  2401. level:
  2402. description: Level is SELinux level
  2403. label that applies to the container.
  2404. type: string
  2405. role:
  2406. description: Role is a SELinux role
  2407. label that applies to the container.
  2408. type: string
  2409. type:
  2410. description: Type is a SELinux type
  2411. label that applies to the container.
  2412. type: string
  2413. user:
  2414. description: User is a SELinux user
  2415. label that applies to the container.
  2416. type: string
  2417. type: object
  2418. seccompProfile:
  2419. description: The seccomp options to use
  2420. by this container. If seccomp options
  2421. are provided at both the pod & container
  2422. level, the container options override
  2423. the pod options. Note that this field
  2424. cannot be set when spec.os.name is windows.
  2425. properties:
  2426. localhostProfile:
  2427. description: localhostProfile indicates
  2428. a profile defined in a file on the
  2429. node should be used. The profile must
  2430. be preconfigured on the node to work.
  2431. Must be a descending path, relative
  2432. to the kubelet's configured seccomp
  2433. profile location. Must only be set
  2434. if type is "Localhost".
  2435. type: string
  2436. type:
  2437. description: "type indicates which kind
  2438. of seccomp profile will be applied.
  2439. Valid options are: \n Localhost -
  2440. a profile defined in a file on the
  2441. node should be used. RuntimeDefault
  2442. - the container runtime default profile
  2443. should be used. Unconfined - no profile
  2444. should be applied."
  2445. type: string
  2446. required:
  2447. - type
  2448. type: object
  2449. windowsOptions:
  2450. description: The Windows specific settings
  2451. applied to all containers. If unspecified,
  2452. the options from the PodSecurityContext
  2453. will be used. If set in both SecurityContext
  2454. and PodSecurityContext, the value specified
  2455. in SecurityContext takes precedence. Note
  2456. that this field cannot be set when spec.os.name
  2457. is linux.
  2458. properties:
  2459. gmsaCredentialSpec:
  2460. description: GMSACredentialSpec is where
  2461. the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  2462. inlines the contents of the GMSA credential
  2463. spec named by the GMSACredentialSpecName
  2464. field.
  2465. type: string
  2466. gmsaCredentialSpecName:
  2467. description: GMSACredentialSpecName
  2468. is the name of the GMSA credential
  2469. spec to use.
  2470. type: string
  2471. hostProcess:
  2472. description: HostProcess determines
  2473. if a container should be run as a
  2474. 'Host Process' container. This field
  2475. is alpha-level and will only be honored
  2476. by components that enable the WindowsHostProcessContainers
  2477. feature flag. Setting this field without
  2478. the feature flag will result in errors
  2479. when validating the Pod. All of a
  2480. Pod's containers must have the same
  2481. effective HostProcess value (it is
  2482. not allowed to have a mix of HostProcess
  2483. containers and non-HostProcess containers). In
  2484. addition, if HostProcess is true then
  2485. HostNetwork must also be set to true.
  2486. type: boolean
  2487. runAsUserName:
  2488. description: The UserName in Windows
  2489. to run the entrypoint of the container
  2490. process. Defaults to the user specified
  2491. in image metadata if unspecified.
  2492. May also be set in PodSecurityContext.
  2493. If set in both SecurityContext and
  2494. PodSecurityContext, the value specified
  2495. in SecurityContext takes precedence.
  2496. type: string
  2497. type: object
  2498. type: object
  2499. startupProbe:
  2500. description: 'StartupProbe indicates that the
  2501. Pod has successfully initialized. If specified,
  2502. no other probes are executed until this completes
  2503. successfully. If this probe fails, the Pod
  2504. will be restarted, just as if the livenessProbe
  2505. failed. This can be used to provide different
  2506. probe parameters at the beginning of a Pod''s
  2507. lifecycle, when it might take a long time
  2508. to load data or warm a cache, than during
  2509. steady-state operation. This cannot be updated.
  2510. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2511. properties:
  2512. exec:
  2513. description: Exec specifies the action to
  2514. take.
  2515. properties:
  2516. command:
  2517. description: Command is the command
  2518. line to execute inside the container,
  2519. the working directory for the command is
  2520. root ('/') in the container's filesystem.
  2521. The command is simply exec'd, it is
  2522. not run inside a shell, so traditional
  2523. shell instructions ('|', etc) won't
  2524. work. To use a shell, you need to
  2525. explicitly call out to that shell.
  2526. Exit status of 0 is treated as live/healthy
  2527. and non-zero is unhealthy.
  2528. items:
  2529. type: string
  2530. type: array
  2531. type: object
  2532. failureThreshold:
  2533. description: Minimum consecutive failures
  2534. for the probe to be considered failed
  2535. after having succeeded. Defaults to 3.
  2536. Minimum value is 1.
  2537. format: int32
  2538. type: integer
  2539. grpc:
  2540. description: GRPC specifies an action involving
  2541. a GRPC port. This is a beta field and
  2542. requires enabling GRPCContainerProbe feature
  2543. gate.
  2544. properties:
  2545. port:
  2546. description: Port number of the gRPC
  2547. service. Number must be in the range
  2548. 1 to 65535.
  2549. format: int32
  2550. type: integer
  2551. service:
  2552. description: "Service is the name of
  2553. the service to place in the gRPC HealthCheckRequest
  2554. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2555. \n If this is not specified, the default
  2556. behavior is defined by gRPC."
  2557. type: string
  2558. required:
  2559. - port
  2560. type: object
  2561. httpGet:
  2562. description: HTTPGet specifies the http
  2563. request to perform.
  2564. properties:
  2565. host:
  2566. description: Host name to connect to,
  2567. defaults to the pod IP. You probably
  2568. want to set "Host" in httpHeaders
  2569. instead.
  2570. type: string
  2571. httpHeaders:
  2572. description: Custom headers to set in
  2573. the request. HTTP allows repeated
  2574. headers.
  2575. items:
  2576. description: HTTPHeader describes
  2577. a custom header to be used in HTTP
  2578. probes
  2579. properties:
  2580. name:
  2581. description: The header field
  2582. name
  2583. type: string
  2584. value:
  2585. description: The header field
  2586. value
  2587. type: string
  2588. required:
  2589. - name
  2590. - value
  2591. type: object
  2592. type: array
  2593. path:
  2594. description: Path to access on the HTTP
  2595. server.
  2596. type: string
  2597. port:
  2598. anyOf:
  2599. - type: integer
  2600. - type: string
  2601. description: Name or number of the port
  2602. to access on the container. Number
  2603. must be in the range 1 to 65535. Name
  2604. must be an IANA_SVC_NAME.
  2605. x-kubernetes-int-or-string: true
  2606. scheme:
  2607. description: Scheme to use for connecting
  2608. to the host. Defaults to HTTP.
  2609. type: string
  2610. required:
  2611. - port
  2612. type: object
  2613. initialDelaySeconds:
  2614. description: 'Number of seconds after the
  2615. container has started before liveness
  2616. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2617. format: int32
  2618. type: integer
  2619. periodSeconds:
  2620. description: How often (in seconds) to perform
  2621. the probe. Default to 10 seconds. Minimum
  2622. value is 1.
  2623. format: int32
  2624. type: integer
  2625. successThreshold:
  2626. description: Minimum consecutive successes
  2627. for the probe to be considered successful
  2628. after having failed. Defaults to 1. Must
  2629. be 1 for liveness and startup. Minimum
  2630. value is 1.
  2631. format: int32
  2632. type: integer
  2633. tcpSocket:
  2634. description: TCPSocket specifies an action
  2635. involving a TCP port.
  2636. properties:
  2637. host:
  2638. description: 'Optional: Host name to
  2639. connect to, defaults to the pod IP.'
  2640. type: string
  2641. port:
  2642. anyOf:
  2643. - type: integer
  2644. - type: string
  2645. description: Number or name of the port
  2646. to access on the container. Number
  2647. must be in the range 1 to 65535. Name
  2648. must be an IANA_SVC_NAME.
  2649. x-kubernetes-int-or-string: true
  2650. required:
  2651. - port
  2652. type: object
  2653. terminationGracePeriodSeconds:
  2654. description: Optional duration in seconds
  2655. the pod needs to terminate gracefully
  2656. upon probe failure. The grace period is
  2657. the duration in seconds after the processes
  2658. running in the pod are sent a termination
  2659. signal and the time when the processes
  2660. are forcibly halted with a kill signal.
  2661. Set this value longer than the expected
  2662. cleanup time for your process. If this
  2663. value is nil, the pod's terminationGracePeriodSeconds
  2664. will be used. Otherwise, this value overrides
  2665. the value provided by the pod spec. Value
  2666. must be non-negative integer. The value
  2667. zero indicates stop immediately via the
  2668. kill signal (no opportunity to shut down).
  2669. This is a beta field and requires enabling
  2670. ProbeTerminationGracePeriod feature gate.
  2671. Minimum value is 1. spec.terminationGracePeriodSeconds
  2672. is used if unset.
  2673. format: int64
  2674. type: integer
  2675. timeoutSeconds:
  2676. description: 'Number of seconds after which
  2677. the probe times out. Defaults to 1 second.
  2678. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2679. format: int32
  2680. type: integer
  2681. type: object
  2682. stdin:
  2683. description: Whether this container should allocate
  2684. a buffer for stdin in the container runtime.
  2685. If this is not set, reads from stdin in the
  2686. container will always result in EOF. Default
  2687. is false.
  2688. type: boolean
  2689. stdinOnce:
  2690. description: Whether the container runtime should
  2691. close the stdin channel after it has been
  2692. opened by a single attach. When stdin is true
  2693. the stdin stream will remain open across multiple
  2694. attach sessions. If stdinOnce is set to true,
  2695. stdin is opened on container start, is empty
  2696. until the first client attaches to stdin,
  2697. and then remains open and accepts data until
  2698. the client disconnects, at which time stdin
  2699. is closed and remains closed until the container
  2700. is restarted. If this flag is false, a container
  2701. processes that reads from stdin will never
  2702. receive an EOF. Default is false
  2703. type: boolean
  2704. terminationMessagePath:
  2705. description: 'Optional: Path at which the file
  2706. to which the container''s termination message
  2707. will be written is mounted into the container''s
  2708. filesystem. Message written is intended to
  2709. be brief final status, such as an assertion
  2710. failure message. Will be truncated by the
  2711. node if greater than 4096 bytes. The total
  2712. message length across all containers will
  2713. be limited to 12kb. Defaults to /dev/termination-log.
  2714. Cannot be updated.'
  2715. type: string
  2716. terminationMessagePolicy:
  2717. description: Indicate how the termination message
  2718. should be populated. File will use the contents
  2719. of terminationMessagePath to populate the
  2720. container status message on both success and
  2721. failure. FallbackToLogsOnError will use the
  2722. last chunk of container log output if the
  2723. termination message file is empty and the
  2724. container exited with an error. The log output
  2725. is limited to 2048 bytes or 80 lines, whichever
  2726. is smaller. Defaults to File. Cannot be updated.
  2727. type: string
  2728. tty:
  2729. description: Whether this container should allocate
  2730. a TTY for itself, also requires 'stdin' to
  2731. be true. Default is false.
  2732. type: boolean
  2733. volumeDevices:
  2734. description: volumeDevices is the list of block
  2735. devices to be used by the container.
  2736. items:
  2737. description: volumeDevice describes a mapping
  2738. of a raw block device within a container.
  2739. properties:
  2740. devicePath:
  2741. description: devicePath is the path inside
  2742. of the container that the device will
  2743. be mapped to.
  2744. type: string
  2745. name:
  2746. description: name must match the name
  2747. of a persistentVolumeClaim in the pod
  2748. type: string
  2749. required:
  2750. - devicePath
  2751. - name
  2752. type: object
  2753. type: array
  2754. volumeMounts:
  2755. description: Pod volumes to mount into the container's
  2756. filesystem. Cannot be updated.
  2757. items:
  2758. description: VolumeMount describes a mounting
  2759. of a Volume within a container.
  2760. properties:
  2761. mountPath:
  2762. description: Path within the container
  2763. at which the volume should be mounted. Must
  2764. not contain ':'.
  2765. type: string
  2766. mountPropagation:
  2767. description: mountPropagation determines
  2768. how mounts are propagated from the host
  2769. to container and the other way around.
  2770. When not set, MountPropagationNone is
  2771. used. This field is beta in 1.10.
  2772. type: string
  2773. name:
  2774. description: This must match the Name
  2775. of a Volume.
  2776. type: string
  2777. readOnly:
  2778. description: Mounted read-only if true,
  2779. read-write otherwise (false or unspecified).
  2780. Defaults to false.
  2781. type: boolean
  2782. subPath:
  2783. description: Path within the volume from
  2784. which the container's volume should
  2785. be mounted. Defaults to "" (volume's
  2786. root).
  2787. type: string
  2788. subPathExpr:
  2789. description: Expanded path within the
  2790. volume from which the container's volume
  2791. should be mounted. Behaves similarly
  2792. to SubPath but environment variable
  2793. references $(VAR_NAME) are expanded
  2794. using the container's environment. Defaults
  2795. to "" (volume's root). SubPathExpr and
  2796. SubPath are mutually exclusive.
  2797. type: string
  2798. required:
  2799. - mountPath
  2800. - name
  2801. type: object
  2802. type: array
  2803. workingDir:
  2804. description: Container's working directory.
  2805. If not specified, the container runtime's
  2806. default will be used, which might be configured
  2807. in the container image. Cannot be updated.
  2808. type: string
  2809. required:
  2810. - name
  2811. type: object
  2812. type: array
  2813. dnsConfig:
  2814. description: Specifies the DNS parameters of a pod.
  2815. Parameters specified here will be merged to the
  2816. generated DNS configuration based on DNSPolicy.
  2817. properties:
  2818. nameservers:
  2819. description: A list of DNS name server IP addresses.
  2820. This will be appended to the base nameservers
  2821. generated from DNSPolicy. Duplicated nameservers
  2822. will be removed.
  2823. items:
  2824. type: string
  2825. type: array
  2826. options:
  2827. description: A list of DNS resolver options. This
  2828. will be merged with the base options generated
  2829. from DNSPolicy. Duplicated entries will be removed.
  2830. Resolution options given in Options will override
  2831. those that appear in the base DNSPolicy.
  2832. items:
  2833. description: PodDNSConfigOption defines DNS
  2834. resolver options of a pod.
  2835. properties:
  2836. name:
  2837. description: Required.
  2838. type: string
  2839. value:
  2840. type: string
  2841. type: object
  2842. type: array
  2843. searches:
  2844. description: A list of DNS search domains for
  2845. host-name lookup. This will be appended to the
  2846. base search paths generated from DNSPolicy.
  2847. Duplicated search paths will be removed.
  2848. items:
  2849. type: string
  2850. type: array
  2851. type: object
  2852. dnsPolicy:
  2853. description: Set DNS policy for the pod. Defaults
  2854. to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet',
  2855. 'ClusterFirst', 'Default' or 'None'. DNS parameters
  2856. given in DNSConfig will be merged with the policy
  2857. selected with DNSPolicy. To have DNS options set
  2858. along with hostNetwork, you have to specify DNS
  2859. policy explicitly to 'ClusterFirstWithHostNet'.
  2860. type: string
  2861. enableServiceLinks:
  2862. description: 'EnableServiceLinks indicates whether
  2863. information about services should be injected into
  2864. pod''s environment variables, matching the syntax
  2865. of Docker links. Optional: Defaults to true.'
  2866. type: boolean
  2867. ephemeralContainers:
  2868. description: List of ephemeral containers run in this
  2869. pod. Ephemeral containers may be run in an existing
  2870. pod to perform user-initiated actions such as debugging.
  2871. This list cannot be specified when creating a pod,
  2872. and it cannot be modified by updating the pod spec.
  2873. In order to add an ephemeral container to an existing
  2874. pod, use the pod's ephemeralcontainers subresource.
  2875. items:
  2876. description: "An EphemeralContainer is a temporary
  2877. container that you may add to an existing Pod
  2878. for user-initiated activities such as debugging.
  2879. Ephemeral containers have no resource or scheduling
  2880. guarantees, and they will not be restarted when
  2881. they exit or when a Pod is removed or restarted.
  2882. The kubelet may evict a Pod if an ephemeral container
  2883. causes the Pod to exceed its resource allocation.
  2884. \n To add an ephemeral container, use the ephemeralcontainers
  2885. subresource of an existing Pod. Ephemeral containers
  2886. may not be removed or restarted."
  2887. properties:
  2888. args:
  2889. description: 'Arguments to the entrypoint. The
  2890. image''s CMD is used if this is not provided.
  2891. Variable references $(VAR_NAME) are expanded
  2892. using the container''s environment. If a variable
  2893. cannot be resolved, the reference in the input
  2894. string will be unchanged. Double $$ are reduced
  2895. to a single $, which allows for escaping the
  2896. $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  2897. produce the string literal "$(VAR_NAME)".
  2898. Escaped references will never be expanded,
  2899. regardless of whether the variable exists
  2900. or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  2901. items:
  2902. type: string
  2903. type: array
  2904. command:
  2905. description: 'Entrypoint array. Not executed
  2906. within a shell. The image''s ENTRYPOINT is
  2907. used if this is not provided. Variable references
  2908. $(VAR_NAME) are expanded using the container''s
  2909. environment. If a variable cannot be resolved,
  2910. the reference in the input string will be
  2911. unchanged. Double $$ are reduced to a single
  2912. $, which allows for escaping the $(VAR_NAME)
  2913. syntax: i.e. "$$(VAR_NAME)" will produce the
  2914. string literal "$(VAR_NAME)". Escaped references
  2915. will never be expanded, regardless of whether
  2916. the variable exists or not. Cannot be updated.
  2917. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  2918. items:
  2919. type: string
  2920. type: array
  2921. env:
  2922. description: List of environment variables to
  2923. set in the container. Cannot be updated.
  2924. items:
  2925. description: EnvVar represents an environment
  2926. variable present in a Container.
  2927. properties:
  2928. name:
  2929. description: Name of the environment variable.
  2930. Must be a C_IDENTIFIER.
  2931. type: string
  2932. value:
  2933. description: 'Variable references $(VAR_NAME)
  2934. are expanded using the previously defined
  2935. environment variables in the container
  2936. and any service environment variables.
  2937. If a variable cannot be resolved, the
  2938. reference in the input string will be
  2939. unchanged. Double $$ are reduced to
  2940. a single $, which allows for escaping
  2941. the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  2942. will produce the string literal "$(VAR_NAME)".
  2943. Escaped references will never be expanded,
  2944. regardless of whether the variable exists
  2945. or not. Defaults to "".'
  2946. type: string
  2947. valueFrom:
  2948. description: Source for the environment
  2949. variable's value. Cannot be used if
  2950. value is not empty.
  2951. properties:
  2952. configMapKeyRef:
  2953. description: Selects a key of a ConfigMap.
  2954. properties:
  2955. key:
  2956. description: The key to select.
  2957. type: string
  2958. name:
  2959. description: 'Name of the referent.
  2960. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2961. TODO: Add other useful fields.
  2962. apiVersion, kind, uid?'
  2963. type: string
  2964. optional:
  2965. description: Specify whether the
  2966. ConfigMap or its key must be
  2967. defined
  2968. type: boolean
  2969. required:
  2970. - key
  2971. type: object
  2972. x-kubernetes-map-type: atomic
  2973. fieldRef:
  2974. description: 'Selects a field of the
  2975. pod: supports metadata.name, metadata.namespace,
  2976. `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
  2977. spec.nodeName, spec.serviceAccountName,
  2978. status.hostIP, status.podIP, status.podIPs.'
  2979. properties:
  2980. apiVersion:
  2981. description: Version of the schema
  2982. the FieldPath is written in
  2983. terms of, defaults to "v1".
  2984. type: string
  2985. fieldPath:
  2986. description: Path of the field
  2987. to select in the specified API
  2988. version.
  2989. type: string
  2990. required:
  2991. - fieldPath
  2992. type: object
  2993. x-kubernetes-map-type: atomic
  2994. resourceFieldRef:
  2995. description: 'Selects a resource of
  2996. the container: only resources limits
  2997. and requests (limits.cpu, limits.memory,
  2998. limits.ephemeral-storage, requests.cpu,
  2999. requests.memory and requests.ephemeral-storage)
  3000. are currently supported.'
  3001. properties:
  3002. containerName:
  3003. description: 'Container name:
  3004. required for volumes, optional
  3005. for env vars'
  3006. type: string
  3007. divisor:
  3008. anyOf:
  3009. - type: integer
  3010. - type: string
  3011. description: Specifies the output
  3012. format of the exposed resources,
  3013. defaults to "1"
  3014. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3015. x-kubernetes-int-or-string: true
  3016. resource:
  3017. description: 'Required: resource
  3018. to select'
  3019. type: string
  3020. required:
  3021. - resource
  3022. type: object
  3023. x-kubernetes-map-type: atomic
  3024. secretKeyRef:
  3025. description: Selects a key of a secret
  3026. in the pod's namespace
  3027. properties:
  3028. key:
  3029. description: The key of the secret
  3030. to select from. Must be a valid
  3031. secret key.
  3032. type: string
  3033. name:
  3034. description: 'Name of the referent.
  3035. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3036. TODO: Add other useful fields.
  3037. apiVersion, kind, uid?'
  3038. type: string
  3039. optional:
  3040. description: Specify whether the
  3041. Secret or its key must be defined
  3042. type: boolean
  3043. required:
  3044. - key
  3045. type: object
  3046. x-kubernetes-map-type: atomic
  3047. type: object
  3048. required:
  3049. - name
  3050. type: object
  3051. type: array
  3052. envFrom:
  3053. description: List of sources to populate environment
  3054. variables in the container. The keys defined
  3055. within a source must be a C_IDENTIFIER. All
  3056. invalid keys will be reported as an event
  3057. when the container is starting. When a key
  3058. exists in multiple sources, the value associated
  3059. with the last source will take precedence.
  3060. Values defined by an Env with a duplicate
  3061. key will take precedence. Cannot be updated.
  3062. items:
  3063. description: EnvFromSource represents the
  3064. source of a set of ConfigMaps
  3065. properties:
  3066. configMapRef:
  3067. description: The ConfigMap to select from
  3068. properties:
  3069. name:
  3070. description: 'Name of the referent.
  3071. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3072. TODO: Add other useful fields. apiVersion,
  3073. kind, uid?'
  3074. type: string
  3075. optional:
  3076. description: Specify whether the ConfigMap
  3077. must be defined
  3078. type: boolean
  3079. type: object
  3080. x-kubernetes-map-type: atomic
  3081. prefix:
  3082. description: An optional identifier to
  3083. prepend to each key in the ConfigMap.
  3084. Must be a C_IDENTIFIER.
  3085. type: string
  3086. secretRef:
  3087. description: The Secret to select from
  3088. properties:
  3089. name:
  3090. description: 'Name of the referent.
  3091. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3092. TODO: Add other useful fields. apiVersion,
  3093. kind, uid?'
  3094. type: string
  3095. optional:
  3096. description: Specify whether the Secret
  3097. must be defined
  3098. type: boolean
  3099. type: object
  3100. x-kubernetes-map-type: atomic
  3101. type: object
  3102. type: array
  3103. image:
  3104. description: 'Container image name. More info:
  3105. https://kubernetes.io/docs/concepts/containers/images'
  3106. type: string
  3107. imagePullPolicy:
  3108. description: 'Image pull policy. One of Always,
  3109. Never, IfNotPresent. Defaults to Always if
  3110. :latest tag is specified, or IfNotPresent
  3111. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  3112. type: string
  3113. lifecycle:
  3114. description: Lifecycle is not allowed for ephemeral
  3115. containers.
  3116. properties:
  3117. postStart:
  3118. description: 'PostStart is called immediately
  3119. after a container is created. If the handler
  3120. fails, the container is terminated and
  3121. restarted according to its restart policy.
  3122. Other management of the container blocks
  3123. until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3124. properties:
  3125. exec:
  3126. description: Exec specifies the action
  3127. to take.
  3128. properties:
  3129. command:
  3130. description: Command is the command
  3131. line to execute inside the container,
  3132. the working directory for the
  3133. command is root ('/') in the
  3134. container's filesystem. The command
  3135. is simply exec'd, it is not run
  3136. inside a shell, so traditional
  3137. shell instructions ('|', etc)
  3138. won't work. To use a shell, you
  3139. need to explicitly call out to
  3140. that shell. Exit status of 0 is
  3141. treated as live/healthy and non-zero
  3142. is unhealthy.
  3143. items:
  3144. type: string
  3145. type: array
  3146. type: object
  3147. httpGet:
  3148. description: HTTPGet specifies the http
  3149. request to perform.
  3150. properties:
  3151. host:
  3152. description: Host name to connect
  3153. to, defaults to the pod IP. You
  3154. probably want to set "Host" in
  3155. httpHeaders instead.
  3156. type: string
  3157. httpHeaders:
  3158. description: Custom headers to set
  3159. in the request. HTTP allows repeated
  3160. headers.
  3161. items:
  3162. description: HTTPHeader describes
  3163. a custom header to be used in
  3164. HTTP probes
  3165. properties:
  3166. name:
  3167. description: The header field
  3168. name
  3169. type: string
  3170. value:
  3171. description: The header field
  3172. value
  3173. type: string
  3174. required:
  3175. - name
  3176. - value
  3177. type: object
  3178. type: array
  3179. path:
  3180. description: Path to access on the
  3181. HTTP server.
  3182. type: string
  3183. port:
  3184. anyOf:
  3185. - type: integer
  3186. - type: string
  3187. description: Name or number of the
  3188. port to access on the container.
  3189. Number must be in the range 1
  3190. to 65535. Name must be an IANA_SVC_NAME.
  3191. x-kubernetes-int-or-string: true
  3192. scheme:
  3193. description: Scheme to use for connecting
  3194. to the host. Defaults to HTTP.
  3195. type: string
  3196. required:
  3197. - port
  3198. type: object
  3199. tcpSocket:
  3200. description: Deprecated. TCPSocket is
  3201. NOT supported as a LifecycleHandler
  3202. and kept for the backward compatibility.
  3203. There are no validation of this field
  3204. and lifecycle hooks will fail in runtime
  3205. when tcp handler is specified.
  3206. properties:
  3207. host:
  3208. description: 'Optional: Host name
  3209. to connect to, defaults to the
  3210. pod IP.'
  3211. type: string
  3212. port:
  3213. anyOf:
  3214. - type: integer
  3215. - type: string
  3216. description: Number or name of the
  3217. port to access on the container.
  3218. Number must be in the range 1
  3219. to 65535. Name must be an IANA_SVC_NAME.
  3220. x-kubernetes-int-or-string: true
  3221. required:
  3222. - port
  3223. type: object
  3224. type: object
  3225. preStop:
  3226. description: 'PreStop is called immediately
  3227. before a container is terminated due to
  3228. an API request or management event such
  3229. as liveness/startup probe failure, preemption,
  3230. resource contention, etc. The handler
  3231. is not called if the container crashes
  3232. or exits. The Pod''s termination grace
  3233. period countdown begins before the PreStop
  3234. hook is executed. Regardless of the outcome
  3235. of the handler, the container will eventually
  3236. terminate within the Pod''s termination
  3237. grace period (unless delayed by finalizers).
  3238. Other management of the container blocks
  3239. until the hook completes or until the
  3240. termination grace period is reached. More
  3241. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3242. properties:
  3243. exec:
  3244. description: Exec specifies the action
  3245. to take.
  3246. properties:
  3247. command:
  3248. description: Command is the command
  3249. line to execute inside the container,
  3250. the working directory for the
  3251. command is root ('/') in the
  3252. container's filesystem. The command
  3253. is simply exec'd, it is not run
  3254. inside a shell, so traditional
  3255. shell instructions ('|', etc)
  3256. won't work. To use a shell, you
  3257. need to explicitly call out to
  3258. that shell. Exit status of 0 is
  3259. treated as live/healthy and non-zero
  3260. is unhealthy.
  3261. items:
  3262. type: string
  3263. type: array
  3264. type: object
  3265. httpGet:
  3266. description: HTTPGet specifies the http
  3267. request to perform.
  3268. properties:
  3269. host:
  3270. description: Host name to connect
  3271. to, defaults to the pod IP. You
  3272. probably want to set "Host" in
  3273. httpHeaders instead.
  3274. type: string
  3275. httpHeaders:
  3276. description: Custom headers to set
  3277. in the request. HTTP allows repeated
  3278. headers.
  3279. items:
  3280. description: HTTPHeader describes
  3281. a custom header to be used in
  3282. HTTP probes
  3283. properties:
  3284. name:
  3285. description: The header field
  3286. name
  3287. type: string
  3288. value:
  3289. description: The header field
  3290. value
  3291. type: string
  3292. required:
  3293. - name
  3294. - value
  3295. type: object
  3296. type: array
  3297. path:
  3298. description: Path to access on the
  3299. HTTP server.
  3300. type: string
  3301. port:
  3302. anyOf:
  3303. - type: integer
  3304. - type: string
  3305. description: Name or number of the
  3306. port to access on the container.
  3307. Number must be in the range 1
  3308. to 65535. Name must be an IANA_SVC_NAME.
  3309. x-kubernetes-int-or-string: true
  3310. scheme:
  3311. description: Scheme to use for connecting
  3312. to the host. Defaults to HTTP.
  3313. type: string
  3314. required:
  3315. - port
  3316. type: object
  3317. tcpSocket:
  3318. description: Deprecated. TCPSocket is
  3319. NOT supported as a LifecycleHandler
  3320. and kept for the backward compatibility.
  3321. There are no validation of this field
  3322. and lifecycle hooks will fail in runtime
  3323. when tcp handler is specified.
  3324. properties:
  3325. host:
  3326. description: 'Optional: Host name
  3327. to connect to, defaults to the
  3328. pod IP.'
  3329. type: string
  3330. port:
  3331. anyOf:
  3332. - type: integer
  3333. - type: string
  3334. description: Number or name of the
  3335. port to access on the container.
  3336. Number must be in the range 1
  3337. to 65535. Name must be an IANA_SVC_NAME.
  3338. x-kubernetes-int-or-string: true
  3339. required:
  3340. - port
  3341. type: object
  3342. type: object
  3343. type: object
  3344. livenessProbe:
  3345. description: Probes are not allowed for ephemeral
  3346. containers.
  3347. properties:
  3348. exec:
  3349. description: Exec specifies the action to
  3350. take.
  3351. properties:
  3352. command:
  3353. description: Command is the command
  3354. line to execute inside the container,
  3355. the working directory for the command is
  3356. root ('/') in the container's filesystem.
  3357. The command is simply exec'd, it is
  3358. not run inside a shell, so traditional
  3359. shell instructions ('|', etc) won't
  3360. work. To use a shell, you need to
  3361. explicitly call out to that shell.
  3362. Exit status of 0 is treated as live/healthy
  3363. and non-zero is unhealthy.
  3364. items:
  3365. type: string
  3366. type: array
  3367. type: object
  3368. failureThreshold:
  3369. description: Minimum consecutive failures
  3370. for the probe to be considered failed
  3371. after having succeeded. Defaults to 3.
  3372. Minimum value is 1.
  3373. format: int32
  3374. type: integer
  3375. grpc:
  3376. description: GRPC specifies an action involving
  3377. a GRPC port. This is a beta field and
  3378. requires enabling GRPCContainerProbe feature
  3379. gate.
  3380. properties:
  3381. port:
  3382. description: Port number of the gRPC
  3383. service. Number must be in the range
  3384. 1 to 65535.
  3385. format: int32
  3386. type: integer
  3387. service:
  3388. description: "Service is the name of
  3389. the service to place in the gRPC HealthCheckRequest
  3390. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  3391. \n If this is not specified, the default
  3392. behavior is defined by gRPC."
  3393. type: string
  3394. required:
  3395. - port
  3396. type: object
  3397. httpGet:
  3398. description: HTTPGet specifies the http
  3399. request to perform.
  3400. properties:
  3401. host:
  3402. description: Host name to connect to,
  3403. defaults to the pod IP. You probably
  3404. want to set "Host" in httpHeaders
  3405. instead.
  3406. type: string
  3407. httpHeaders:
  3408. description: Custom headers to set in
  3409. the request. HTTP allows repeated
  3410. headers.
  3411. items:
  3412. description: HTTPHeader describes
  3413. a custom header to be used in HTTP
  3414. probes
  3415. properties:
  3416. name:
  3417. description: The header field
  3418. name
  3419. type: string
  3420. value:
  3421. description: The header field
  3422. value
  3423. type: string
  3424. required:
  3425. - name
  3426. - value
  3427. type: object
  3428. type: array
  3429. path:
  3430. description: Path to access on the HTTP
  3431. server.
  3432. type: string
  3433. port:
  3434. anyOf:
  3435. - type: integer
  3436. - type: string
  3437. description: Name or number of the port
  3438. to access on the container. Number
  3439. must be in the range 1 to 65535. Name
  3440. must be an IANA_SVC_NAME.
  3441. x-kubernetes-int-or-string: true
  3442. scheme:
  3443. description: Scheme to use for connecting
  3444. to the host. Defaults to HTTP.
  3445. type: string
  3446. required:
  3447. - port
  3448. type: object
  3449. initialDelaySeconds:
  3450. description: 'Number of seconds after the
  3451. container has started before liveness
  3452. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3453. format: int32
  3454. type: integer
  3455. periodSeconds:
  3456. description: How often (in seconds) to perform
  3457. the probe. Default to 10 seconds. Minimum
  3458. value is 1.
  3459. format: int32
  3460. type: integer
  3461. successThreshold:
  3462. description: Minimum consecutive successes
  3463. for the probe to be considered successful
  3464. after having failed. Defaults to 1. Must
  3465. be 1 for liveness and startup. Minimum
  3466. value is 1.
  3467. format: int32
  3468. type: integer
  3469. tcpSocket:
  3470. description: TCPSocket specifies an action
  3471. involving a TCP port.
  3472. properties:
  3473. host:
  3474. description: 'Optional: Host name to
  3475. connect to, defaults to the pod IP.'
  3476. type: string
  3477. port:
  3478. anyOf:
  3479. - type: integer
  3480. - type: string
  3481. description: Number or name of the port
  3482. to access on the container. Number
  3483. must be in the range 1 to 65535. Name
  3484. must be an IANA_SVC_NAME.
  3485. x-kubernetes-int-or-string: true
  3486. required:
  3487. - port
  3488. type: object
  3489. terminationGracePeriodSeconds:
  3490. description: Optional duration in seconds
  3491. the pod needs to terminate gracefully
  3492. upon probe failure. The grace period is
  3493. the duration in seconds after the processes
  3494. running in the pod are sent a termination
  3495. signal and the time when the processes
  3496. are forcibly halted with a kill signal.
  3497. Set this value longer than the expected
  3498. cleanup time for your process. If this
  3499. value is nil, the pod's terminationGracePeriodSeconds
  3500. will be used. Otherwise, this value overrides
  3501. the value provided by the pod spec. Value
  3502. must be non-negative integer. The value
  3503. zero indicates stop immediately via the
  3504. kill signal (no opportunity to shut down).
  3505. This is a beta field and requires enabling
  3506. ProbeTerminationGracePeriod feature gate.
  3507. Minimum value is 1. spec.terminationGracePeriodSeconds
  3508. is used if unset.
  3509. format: int64
  3510. type: integer
  3511. timeoutSeconds:
  3512. description: 'Number of seconds after which
  3513. the probe times out. Defaults to 1 second.
  3514. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3515. format: int32
  3516. type: integer
  3517. type: object
  3518. name:
  3519. description: Name of the ephemeral container
  3520. specified as a DNS_LABEL. This name must be
  3521. unique among all containers, init containers
  3522. and ephemeral containers.
  3523. type: string
  3524. ports:
  3525. description: Ports are not allowed for ephemeral
  3526. containers.
  3527. items:
  3528. description: ContainerPort represents a network
  3529. port in a single container.
  3530. properties:
  3531. containerPort:
  3532. description: Number of port to expose
  3533. on the pod's IP address. This must be
  3534. a valid port number, 0 < x < 65536.
  3535. format: int32
  3536. type: integer
  3537. hostIP:
  3538. description: What host IP to bind the
  3539. external port to.
  3540. type: string
  3541. hostPort:
  3542. description: Number of port to expose
  3543. on the host. If specified, this must
  3544. be a valid port number, 0 < x < 65536.
  3545. If HostNetwork is specified, this must
  3546. match ContainerPort. Most containers
  3547. do not need this.
  3548. format: int32
  3549. type: integer
  3550. name:
  3551. description: If specified, this must be
  3552. an IANA_SVC_NAME and unique within the
  3553. pod. Each named port in a pod must have
  3554. a unique name. Name for the port that
  3555. can be referred to by services.
  3556. type: string
  3557. protocol:
  3558. default: TCP
  3559. description: Protocol for port. Must be
  3560. UDP, TCP, or SCTP. Defaults to "TCP".
  3561. type: string
  3562. required:
  3563. - containerPort
  3564. type: object
  3565. type: array
  3566. x-kubernetes-list-map-keys:
  3567. - containerPort
  3568. - protocol
  3569. x-kubernetes-list-type: map
  3570. readinessProbe:
  3571. description: Probes are not allowed for ephemeral
  3572. containers.
  3573. properties:
  3574. exec:
  3575. description: Exec specifies the action to
  3576. take.
  3577. properties:
  3578. command:
  3579. description: Command is the command
  3580. line to execute inside the container,
  3581. the working directory for the command is
  3582. root ('/') in the container's filesystem.
  3583. The command is simply exec'd, it is
  3584. not run inside a shell, so traditional
  3585. shell instructions ('|', etc) won't
  3586. work. To use a shell, you need to
  3587. explicitly call out to that shell.
  3588. Exit status of 0 is treated as live/healthy
  3589. and non-zero is unhealthy.
  3590. items:
  3591. type: string
  3592. type: array
  3593. type: object
  3594. failureThreshold:
  3595. description: Minimum consecutive failures
  3596. for the probe to be considered failed
  3597. after having succeeded. Defaults to 3.
  3598. Minimum value is 1.
  3599. format: int32
  3600. type: integer
  3601. grpc:
  3602. description: GRPC specifies an action involving
  3603. a GRPC port. This is a beta field and
  3604. requires enabling GRPCContainerProbe feature
  3605. gate.
  3606. properties:
  3607. port:
  3608. description: Port number of the gRPC
  3609. service. Number must be in the range
  3610. 1 to 65535.
  3611. format: int32
  3612. type: integer
  3613. service:
  3614. description: "Service is the name of
  3615. the service to place in the gRPC HealthCheckRequest
  3616. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  3617. \n If this is not specified, the default
  3618. behavior is defined by gRPC."
  3619. type: string
  3620. required:
  3621. - port
  3622. type: object
  3623. httpGet:
  3624. description: HTTPGet specifies the http
  3625. request to perform.
  3626. properties:
  3627. host:
  3628. description: Host name to connect to,
  3629. defaults to the pod IP. You probably
  3630. want to set "Host" in httpHeaders
  3631. instead.
  3632. type: string
  3633. httpHeaders:
  3634. description: Custom headers to set in
  3635. the request. HTTP allows repeated
  3636. headers.
  3637. items:
  3638. description: HTTPHeader describes
  3639. a custom header to be used in HTTP
  3640. probes
  3641. properties:
  3642. name:
  3643. description: The header field
  3644. name
  3645. type: string
  3646. value:
  3647. description: The header field
  3648. value
  3649. type: string
  3650. required:
  3651. - name
  3652. - value
  3653. type: object
  3654. type: array
  3655. path:
  3656. description: Path to access on the HTTP
  3657. server.
  3658. type: string
  3659. port:
  3660. anyOf:
  3661. - type: integer
  3662. - type: string
  3663. description: Name or number of the port
  3664. to access on the container. Number
  3665. must be in the range 1 to 65535. Name
  3666. must be an IANA_SVC_NAME.
  3667. x-kubernetes-int-or-string: true
  3668. scheme:
  3669. description: Scheme to use for connecting
  3670. to the host. Defaults to HTTP.
  3671. type: string
  3672. required:
  3673. - port
  3674. type: object
  3675. initialDelaySeconds:
  3676. description: 'Number of seconds after the
  3677. container has started before liveness
  3678. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3679. format: int32
  3680. type: integer
  3681. periodSeconds:
  3682. description: How often (in seconds) to perform
  3683. the probe. Default to 10 seconds. Minimum
  3684. value is 1.
  3685. format: int32
  3686. type: integer
  3687. successThreshold:
  3688. description: Minimum consecutive successes
  3689. for the probe to be considered successful
  3690. after having failed. Defaults to 1. Must
  3691. be 1 for liveness and startup. Minimum
  3692. value is 1.
  3693. format: int32
  3694. type: integer
  3695. tcpSocket:
  3696. description: TCPSocket specifies an action
  3697. involving a TCP port.
  3698. properties:
  3699. host:
  3700. description: 'Optional: Host name to
  3701. connect to, defaults to the pod IP.'
  3702. type: string
  3703. port:
  3704. anyOf:
  3705. - type: integer
  3706. - type: string
  3707. description: Number or name of the port
  3708. to access on the container. Number
  3709. must be in the range 1 to 65535. Name
  3710. must be an IANA_SVC_NAME.
  3711. x-kubernetes-int-or-string: true
  3712. required:
  3713. - port
  3714. type: object
  3715. terminationGracePeriodSeconds:
  3716. description: Optional duration in seconds
  3717. the pod needs to terminate gracefully
  3718. upon probe failure. The grace period is
  3719. the duration in seconds after the processes
  3720. running in the pod are sent a termination
  3721. signal and the time when the processes
  3722. are forcibly halted with a kill signal.
  3723. Set this value longer than the expected
  3724. cleanup time for your process. If this
  3725. value is nil, the pod's terminationGracePeriodSeconds
  3726. will be used. Otherwise, this value overrides
  3727. the value provided by the pod spec. Value
  3728. must be non-negative integer. The value
  3729. zero indicates stop immediately via the
  3730. kill signal (no opportunity to shut down).
  3731. This is a beta field and requires enabling
  3732. ProbeTerminationGracePeriod feature gate.
  3733. Minimum value is 1. spec.terminationGracePeriodSeconds
  3734. is used if unset.
  3735. format: int64
  3736. type: integer
  3737. timeoutSeconds:
  3738. description: 'Number of seconds after which
  3739. the probe times out. Defaults to 1 second.
  3740. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3741. format: int32
  3742. type: integer
  3743. type: object
  3744. resources:
  3745. description: Resources are not allowed for ephemeral
  3746. containers. Ephemeral containers use spare
  3747. resources already allocated to the pod.
  3748. properties:
  3749. limits:
  3750. additionalProperties:
  3751. anyOf:
  3752. - type: integer
  3753. - type: string
  3754. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3755. x-kubernetes-int-or-string: true
  3756. description: 'Limits describes the maximum
  3757. amount of compute resources allowed. More
  3758. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3759. type: object
  3760. requests:
  3761. additionalProperties:
  3762. anyOf:
  3763. - type: integer
  3764. - type: string
  3765. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3766. x-kubernetes-int-or-string: true
  3767. description: 'Requests describes the minimum
  3768. amount of compute resources required.
  3769. If Requests is omitted for a container,
  3770. it defaults to Limits if that is explicitly
  3771. specified, otherwise to an implementation-defined
  3772. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3773. type: object
  3774. type: object
  3775. securityContext:
  3776. description: 'Optional: SecurityContext defines
  3777. the security options the ephemeral container
  3778. should be run with. If set, the fields of
  3779. SecurityContext override the equivalent fields
  3780. of PodSecurityContext.'
  3781. properties:
  3782. allowPrivilegeEscalation:
  3783. description: 'AllowPrivilegeEscalation controls
  3784. whether a process can gain more privileges
  3785. than its parent process. This bool directly
  3786. controls if the no_new_privs flag will
  3787. be set on the container process. AllowPrivilegeEscalation
  3788. is true always when the container is:
  3789. 1) run as Privileged 2) has CAP_SYS_ADMIN
  3790. Note that this field cannot be set when
  3791. spec.os.name is windows.'
  3792. type: boolean
  3793. capabilities:
  3794. description: The capabilities to add/drop
  3795. when running containers. Defaults to the
  3796. default set of capabilities granted by
  3797. the container runtime. Note that this
  3798. field cannot be set when spec.os.name
  3799. is windows.
  3800. properties:
  3801. add:
  3802. description: Added capabilities
  3803. items:
  3804. description: Capability represent
  3805. POSIX capabilities type
  3806. type: string
  3807. type: array
  3808. drop:
  3809. description: Removed capabilities
  3810. items:
  3811. description: Capability represent
  3812. POSIX capabilities type
  3813. type: string
  3814. type: array
  3815. type: object
  3816. privileged:
  3817. description: Run container in privileged
  3818. mode. Processes in privileged containers
  3819. are essentially equivalent to root on
  3820. the host. Defaults to false. Note that
  3821. this field cannot be set when spec.os.name
  3822. is windows.
  3823. type: boolean
  3824. procMount:
  3825. description: procMount denotes the type
  3826. of proc mount to use for the containers.
  3827. The default is DefaultProcMount which
  3828. uses the container runtime defaults for
  3829. readonly paths and masked paths. This
  3830. requires the ProcMountType feature flag
  3831. to be enabled. Note that this field cannot
  3832. be set when spec.os.name is windows.
  3833. type: string
  3834. readOnlyRootFilesystem:
  3835. description: Whether this container has
  3836. a read-only root filesystem. Default is
  3837. false. Note that this field cannot be
  3838. set when spec.os.name is windows.
  3839. type: boolean
  3840. runAsGroup:
  3841. description: The GID to run the entrypoint
  3842. of the container process. Uses runtime
  3843. default if unset. May also be set in PodSecurityContext. If
  3844. set in both SecurityContext and PodSecurityContext,
  3845. the value specified in SecurityContext
  3846. takes precedence. Note that this field
  3847. cannot be set when spec.os.name is windows.
  3848. format: int64
  3849. type: integer
  3850. runAsNonRoot:
  3851. description: Indicates that the container
  3852. must run as a non-root user. If true,
  3853. the Kubelet will validate the image at
  3854. runtime to ensure that it does not run
  3855. as UID 0 (root) and fail to start the
  3856. container if it does. If unset or false,
  3857. no such validation will be performed.
  3858. May also be set in PodSecurityContext. If
  3859. set in both SecurityContext and PodSecurityContext,
  3860. the value specified in SecurityContext
  3861. takes precedence.
  3862. type: boolean
  3863. runAsUser:
  3864. description: The UID to run the entrypoint
  3865. of the container process. Defaults to
  3866. user specified in image metadata if unspecified.
  3867. May also be set in PodSecurityContext. If
  3868. set in both SecurityContext and PodSecurityContext,
  3869. the value specified in SecurityContext
  3870. takes precedence. Note that this field
  3871. cannot be set when spec.os.name is windows.
  3872. format: int64
  3873. type: integer
  3874. seLinuxOptions:
  3875. description: The SELinux context to be applied
  3876. to the container. If unspecified, the
  3877. container runtime will allocate a random
  3878. SELinux context for each container. May
  3879. also be set in PodSecurityContext. If
  3880. set in both SecurityContext and PodSecurityContext,
  3881. the value specified in SecurityContext
  3882. takes precedence. Note that this field
  3883. cannot be set when spec.os.name is windows.
  3884. properties:
  3885. level:
  3886. description: Level is SELinux level
  3887. label that applies to the container.
  3888. type: string
  3889. role:
  3890. description: Role is a SELinux role
  3891. label that applies to the container.
  3892. type: string
  3893. type:
  3894. description: Type is a SELinux type
  3895. label that applies to the container.
  3896. type: string
  3897. user:
  3898. description: User is a SELinux user
  3899. label that applies to the container.
  3900. type: string
  3901. type: object
  3902. seccompProfile:
  3903. description: The seccomp options to use
  3904. by this container. If seccomp options
  3905. are provided at both the pod & container
  3906. level, the container options override
  3907. the pod options. Note that this field
  3908. cannot be set when spec.os.name is windows.
  3909. properties:
  3910. localhostProfile:
  3911. description: localhostProfile indicates
  3912. a profile defined in a file on the
  3913. node should be used. The profile must
  3914. be preconfigured on the node to work.
  3915. Must be a descending path, relative
  3916. to the kubelet's configured seccomp
  3917. profile location. Must only be set
  3918. if type is "Localhost".
  3919. type: string
  3920. type:
  3921. description: "type indicates which kind
  3922. of seccomp profile will be applied.
  3923. Valid options are: \n Localhost -
  3924. a profile defined in a file on the
  3925. node should be used. RuntimeDefault
  3926. - the container runtime default profile
  3927. should be used. Unconfined - no profile
  3928. should be applied."
  3929. type: string
  3930. required:
  3931. - type
  3932. type: object
  3933. windowsOptions:
  3934. description: The Windows specific settings
  3935. applied to all containers. If unspecified,
  3936. the options from the PodSecurityContext
  3937. will be used. If set in both SecurityContext
  3938. and PodSecurityContext, the value specified
  3939. in SecurityContext takes precedence. Note
  3940. that this field cannot be set when spec.os.name
  3941. is linux.
  3942. properties:
  3943. gmsaCredentialSpec:
  3944. description: GMSACredentialSpec is where
  3945. the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  3946. inlines the contents of the GMSA credential
  3947. spec named by the GMSACredentialSpecName
  3948. field.
  3949. type: string
  3950. gmsaCredentialSpecName:
  3951. description: GMSACredentialSpecName
  3952. is the name of the GMSA credential
  3953. spec to use.
  3954. type: string
  3955. hostProcess:
  3956. description: HostProcess determines
  3957. if a container should be run as a
  3958. 'Host Process' container. This field
  3959. is alpha-level and will only be honored
  3960. by components that enable the WindowsHostProcessContainers
  3961. feature flag. Setting this field without
  3962. the feature flag will result in errors
  3963. when validating the Pod. All of a
  3964. Pod's containers must have the same
  3965. effective HostProcess value (it is
  3966. not allowed to have a mix of HostProcess
  3967. containers and non-HostProcess containers). In
  3968. addition, if HostProcess is true then
  3969. HostNetwork must also be set to true.
  3970. type: boolean
  3971. runAsUserName:
  3972. description: The UserName in Windows
  3973. to run the entrypoint of the container
  3974. process. Defaults to the user specified
  3975. in image metadata if unspecified.
  3976. May also be set in PodSecurityContext.
  3977. If set in both SecurityContext and
  3978. PodSecurityContext, the value specified
  3979. in SecurityContext takes precedence.
  3980. type: string
  3981. type: object
  3982. type: object
  3983. startupProbe:
  3984. description: Probes are not allowed for ephemeral
  3985. containers.
  3986. properties:
  3987. exec:
  3988. description: Exec specifies the action to
  3989. take.
  3990. properties:
  3991. command:
  3992. description: Command is the command
  3993. line to execute inside the container,
  3994. the working directory for the command is
  3995. root ('/') in the container's filesystem.
  3996. The command is simply exec'd, it is
  3997. not run inside a shell, so traditional
  3998. shell instructions ('|', etc) won't
  3999. work. To use a shell, you need to
  4000. explicitly call out to that shell.
  4001. Exit status of 0 is treated as live/healthy
  4002. and non-zero is unhealthy.
  4003. items:
  4004. type: string
  4005. type: array
  4006. type: object
  4007. failureThreshold:
  4008. description: Minimum consecutive failures
  4009. for the probe to be considered failed
  4010. after having succeeded. Defaults to 3.
  4011. Minimum value is 1.
  4012. format: int32
  4013. type: integer
  4014. grpc:
  4015. description: GRPC specifies an action involving
  4016. a GRPC port. This is a beta field and
  4017. requires enabling GRPCContainerProbe feature
  4018. gate.
  4019. properties:
  4020. port:
  4021. description: Port number of the gRPC
  4022. service. Number must be in the range
  4023. 1 to 65535.
  4024. format: int32
  4025. type: integer
  4026. service:
  4027. description: "Service is the name of
  4028. the service to place in the gRPC HealthCheckRequest
  4029. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  4030. \n If this is not specified, the default
  4031. behavior is defined by gRPC."
  4032. type: string
  4033. required:
  4034. - port
  4035. type: object
  4036. httpGet:
  4037. description: HTTPGet specifies the http
  4038. request to perform.
  4039. properties:
  4040. host:
  4041. description: Host name to connect to,
  4042. defaults to the pod IP. You probably
  4043. want to set "Host" in httpHeaders
  4044. instead.
  4045. type: string
  4046. httpHeaders:
  4047. description: Custom headers to set in
  4048. the request. HTTP allows repeated
  4049. headers.
  4050. items:
  4051. description: HTTPHeader describes
  4052. a custom header to be used in HTTP
  4053. probes
  4054. properties:
  4055. name:
  4056. description: The header field
  4057. name
  4058. type: string
  4059. value:
  4060. description: The header field
  4061. value
  4062. type: string
  4063. required:
  4064. - name
  4065. - value
  4066. type: object
  4067. type: array
  4068. path:
  4069. description: Path to access on the HTTP
  4070. server.
  4071. type: string
  4072. port:
  4073. anyOf:
  4074. - type: integer
  4075. - type: string
  4076. description: Name or number of the port
  4077. to access on the container. Number
  4078. must be in the range 1 to 65535. Name
  4079. must be an IANA_SVC_NAME.
  4080. x-kubernetes-int-or-string: true
  4081. scheme:
  4082. description: Scheme to use for connecting
  4083. to the host. Defaults to HTTP.
  4084. type: string
  4085. required:
  4086. - port
  4087. type: object
  4088. initialDelaySeconds:
  4089. description: 'Number of seconds after the
  4090. container has started before liveness
  4091. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4092. format: int32
  4093. type: integer
  4094. periodSeconds:
  4095. description: How often (in seconds) to perform
  4096. the probe. Default to 10 seconds. Minimum
  4097. value is 1.
  4098. format: int32
  4099. type: integer
  4100. successThreshold:
  4101. description: Minimum consecutive successes
  4102. for the probe to be considered successful
  4103. after having failed. Defaults to 1. Must
  4104. be 1 for liveness and startup. Minimum
  4105. value is 1.
  4106. format: int32
  4107. type: integer
  4108. tcpSocket:
  4109. description: TCPSocket specifies an action
  4110. involving a TCP port.
  4111. properties:
  4112. host:
  4113. description: 'Optional: Host name to
  4114. connect to, defaults to the pod IP.'
  4115. type: string
  4116. port:
  4117. anyOf:
  4118. - type: integer
  4119. - type: string
  4120. description: Number or name of the port
  4121. to access on the container. Number
  4122. must be in the range 1 to 65535. Name
  4123. must be an IANA_SVC_NAME.
  4124. x-kubernetes-int-or-string: true
  4125. required:
  4126. - port
  4127. type: object
  4128. terminationGracePeriodSeconds:
  4129. description: Optional duration in seconds
  4130. the pod needs to terminate gracefully
  4131. upon probe failure. The grace period is
  4132. the duration in seconds after the processes
  4133. running in the pod are sent a termination
  4134. signal and the time when the processes
  4135. are forcibly halted with a kill signal.
  4136. Set this value longer than the expected
  4137. cleanup time for your process. If this
  4138. value is nil, the pod's terminationGracePeriodSeconds
  4139. will be used. Otherwise, this value overrides
  4140. the value provided by the pod spec. Value
  4141. must be non-negative integer. The value
  4142. zero indicates stop immediately via the
  4143. kill signal (no opportunity to shut down).
  4144. This is a beta field and requires enabling
  4145. ProbeTerminationGracePeriod feature gate.
  4146. Minimum value is 1. spec.terminationGracePeriodSeconds
  4147. is used if unset.
  4148. format: int64
  4149. type: integer
  4150. timeoutSeconds:
  4151. description: 'Number of seconds after which
  4152. the probe times out. Defaults to 1 second.
  4153. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4154. format: int32
  4155. type: integer
  4156. type: object
  4157. stdin:
  4158. description: Whether this container should allocate
  4159. a buffer for stdin in the container runtime.
  4160. If this is not set, reads from stdin in the
  4161. container will always result in EOF. Default
  4162. is false.
  4163. type: boolean
  4164. stdinOnce:
  4165. description: Whether the container runtime should
  4166. close the stdin channel after it has been
  4167. opened by a single attach. When stdin is true
  4168. the stdin stream will remain open across multiple
  4169. attach sessions. If stdinOnce is set to true,
  4170. stdin is opened on container start, is empty
  4171. until the first client attaches to stdin,
  4172. and then remains open and accepts data until
  4173. the client disconnects, at which time stdin
  4174. is closed and remains closed until the container
  4175. is restarted. If this flag is false, a container
  4176. processes that reads from stdin will never
  4177. receive an EOF. Default is false
  4178. type: boolean
  4179. targetContainerName:
  4180. description: "If set, the name of the container
  4181. from PodSpec that this ephemeral container
  4182. targets. The ephemeral container will be run
  4183. in the namespaces (IPC, PID, etc) of this
  4184. container. If not set then the ephemeral container
  4185. uses the namespaces configured in the Pod
  4186. spec. \n The container runtime must implement
  4187. support for this feature. If the runtime does
  4188. not support namespace targeting then the result
  4189. of setting this field is undefined."
  4190. type: string
  4191. terminationMessagePath:
  4192. description: 'Optional: Path at which the file
  4193. to which the container''s termination message
  4194. will be written is mounted into the container''s
  4195. filesystem. Message written is intended to
  4196. be brief final status, such as an assertion
  4197. failure message. Will be truncated by the
  4198. node if greater than 4096 bytes. The total
  4199. message length across all containers will
  4200. be limited to 12kb. Defaults to /dev/termination-log.
  4201. Cannot be updated.'
  4202. type: string
  4203. terminationMessagePolicy:
  4204. description: Indicate how the termination message
  4205. should be populated. File will use the contents
  4206. of terminationMessagePath to populate the
  4207. container status message on both success and
  4208. failure. FallbackToLogsOnError will use the
  4209. last chunk of container log output if the
  4210. termination message file is empty and the
  4211. container exited with an error. The log output
  4212. is limited to 2048 bytes or 80 lines, whichever
  4213. is smaller. Defaults to File. Cannot be updated.
  4214. type: string
  4215. tty:
  4216. description: Whether this container should allocate
  4217. a TTY for itself, also requires 'stdin' to
  4218. be true. Default is false.
  4219. type: boolean
  4220. volumeDevices:
  4221. description: volumeDevices is the list of block
  4222. devices to be used by the container.
  4223. items:
  4224. description: volumeDevice describes a mapping
  4225. of a raw block device within a container.
  4226. properties:
  4227. devicePath:
  4228. description: devicePath is the path inside
  4229. of the container that the device will
  4230. be mapped to.
  4231. type: string
  4232. name:
  4233. description: name must match the name
  4234. of a persistentVolumeClaim in the pod
  4235. type: string
  4236. required:
  4237. - devicePath
  4238. - name
  4239. type: object
  4240. type: array
  4241. volumeMounts:
  4242. description: Pod volumes to mount into the container's
  4243. filesystem. Subpath mounts are not allowed
  4244. for ephemeral containers. Cannot be updated.
  4245. items:
  4246. description: VolumeMount describes a mounting
  4247. of a Volume within a container.
  4248. properties:
  4249. mountPath:
  4250. description: Path within the container
  4251. at which the volume should be mounted. Must
  4252. not contain ':'.
  4253. type: string
  4254. mountPropagation:
  4255. description: mountPropagation determines
  4256. how mounts are propagated from the host
  4257. to container and the other way around.
  4258. When not set, MountPropagationNone is
  4259. used. This field is beta in 1.10.
  4260. type: string
  4261. name:
  4262. description: This must match the Name
  4263. of a Volume.
  4264. type: string
  4265. readOnly:
  4266. description: Mounted read-only if true,
  4267. read-write otherwise (false or unspecified).
  4268. Defaults to false.
  4269. type: boolean
  4270. subPath:
  4271. description: Path within the volume from
  4272. which the container's volume should
  4273. be mounted. Defaults to "" (volume's
  4274. root).
  4275. type: string
  4276. subPathExpr:
  4277. description: Expanded path within the
  4278. volume from which the container's volume
  4279. should be mounted. Behaves similarly
  4280. to SubPath but environment variable
  4281. references $(VAR_NAME) are expanded
  4282. using the container's environment. Defaults
  4283. to "" (volume's root). SubPathExpr and
  4284. SubPath are mutually exclusive.
  4285. type: string
  4286. required:
  4287. - mountPath
  4288. - name
  4289. type: object
  4290. type: array
  4291. workingDir:
  4292. description: Container's working directory.
  4293. If not specified, the container runtime's
  4294. default will be used, which might be configured
  4295. in the container image. Cannot be updated.
  4296. type: string
  4297. required:
  4298. - name
  4299. type: object
  4300. type: array
  4301. hostAliases:
  4302. description: HostAliases is an optional list of hosts
  4303. and IPs that will be injected into the pod's hosts
  4304. file if specified. This is only valid for non-hostNetwork
  4305. pods.
  4306. items:
  4307. description: HostAlias holds the mapping between
  4308. IP and hostnames that will be injected as an entry
  4309. in the pod's hosts file.
  4310. properties:
  4311. hostnames:
  4312. description: Hostnames for the above IP address.
  4313. items:
  4314. type: string
  4315. type: array
  4316. ip:
  4317. description: IP address of the host file entry.
  4318. type: string
  4319. type: object
  4320. type: array
  4321. hostIPC:
  4322. description: 'Use the host''s ipc namespace. Optional:
  4323. Default to false.'
  4324. type: boolean
  4325. hostNetwork:
  4326. description: Host networking requested for this pod.
  4327. Use the host's network namespace. If this option
  4328. is set, the ports that will be used must be specified.
  4329. Default to false.
  4330. type: boolean
  4331. hostPID:
  4332. description: 'Use the host''s pid namespace. Optional:
  4333. Default to false.'
  4334. type: boolean
  4335. hostUsers:
  4336. description: 'Use the host''s user namespace. Optional:
  4337. Default to true. If set to true or not present,
  4338. the pod will be run in the host user namespace,
  4339. useful for when the pod needs a feature only available
  4340. to the host user namespace, such as loading a kernel
  4341. module with CAP_SYS_MODULE. When set to false, a
  4342. new userns is created for the pod. Setting false
  4343. is useful for mitigating container breakout vulnerabilities
  4344. even allowing users to run their containers as root
  4345. without actually having root privileges on the host.
  4346. This field is alpha-level and is only honored by
  4347. servers that enable the UserNamespacesSupport feature.'
  4348. type: boolean
  4349. hostname:
  4350. description: Specifies the hostname of the Pod If
  4351. not specified, the pod's hostname will be set to
  4352. a system-defined value.
  4353. type: string
  4354. imagePullSecrets:
  4355. description: 'ImagePullSecrets is an optional list
  4356. of references to secrets in the same namespace to
  4357. use for pulling any of the images used by this PodSpec.
  4358. If specified, these secrets will be passed to individual
  4359. puller implementations for them to use. More info:
  4360. https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  4361. items:
  4362. description: LocalObjectReference contains enough
  4363. information to let you locate the referenced object
  4364. inside the same namespace.
  4365. properties:
  4366. name:
  4367. description: 'Name of the referent. More info:
  4368. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4369. TODO: Add other useful fields. apiVersion,
  4370. kind, uid?'
  4371. type: string
  4372. type: object
  4373. x-kubernetes-map-type: atomic
  4374. type: array
  4375. initContainers:
  4376. description: 'List of initialization containers belonging
  4377. to the pod. Init containers are executed in order
  4378. prior to containers being started. If any init container
  4379. fails, the pod is considered to have failed and
  4380. is handled according to its restartPolicy. The name
  4381. for an init container or normal container must be
  4382. unique among all containers. Init containers may
  4383. not have Lifecycle actions, Readiness probes, Liveness
  4384. probes, or Startup probes. The resourceRequirements
  4385. of an init container are taken into account during
  4386. scheduling by finding the highest request/limit
  4387. for each resource type, and then using the max of
  4388. of that value or the sum of the normal containers.
  4389. Limits are applied to init containers in a similar
  4390. fashion. Init containers cannot currently be added
  4391. or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
  4392. items:
  4393. description: A single application container that
  4394. you want to run within a pod.
  4395. properties:
  4396. args:
  4397. description: 'Arguments to the entrypoint. The
  4398. container image''s CMD is used if this is
  4399. not provided. Variable references $(VAR_NAME)
  4400. are expanded using the container''s environment.
  4401. If a variable cannot be resolved, the reference
  4402. in the input string will be unchanged. Double
  4403. $$ are reduced to a single $, which allows
  4404. for escaping the $(VAR_NAME) syntax: i.e.
  4405. "$$(VAR_NAME)" will produce the string literal
  4406. "$(VAR_NAME)". Escaped references will never
  4407. be expanded, regardless of whether the variable
  4408. exists or not. Cannot be updated. More info:
  4409. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  4410. items:
  4411. type: string
  4412. type: array
  4413. command:
  4414. description: 'Entrypoint array. Not executed
  4415. within a shell. The container image''s ENTRYPOINT
  4416. is used if this is not provided. Variable
  4417. references $(VAR_NAME) are expanded using
  4418. the container''s environment. If a variable
  4419. cannot be resolved, the reference in the input
  4420. string will be unchanged. Double $$ are reduced
  4421. to a single $, which allows for escaping the
  4422. $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  4423. produce the string literal "$(VAR_NAME)".
  4424. Escaped references will never be expanded,
  4425. regardless of whether the variable exists
  4426. or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  4427. items:
  4428. type: string
  4429. type: array
  4430. env:
  4431. description: List of environment variables to
  4432. set in the container. Cannot be updated.
  4433. items:
  4434. description: EnvVar represents an environment
  4435. variable present in a Container.
  4436. properties:
  4437. name:
  4438. description: Name of the environment variable.
  4439. Must be a C_IDENTIFIER.
  4440. type: string
  4441. value:
  4442. description: 'Variable references $(VAR_NAME)
  4443. are expanded using the previously defined
  4444. environment variables in the container
  4445. and any service environment variables.
  4446. If a variable cannot be resolved, the
  4447. reference in the input string will be
  4448. unchanged. Double $$ are reduced to
  4449. a single $, which allows for escaping
  4450. the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  4451. will produce the string literal "$(VAR_NAME)".
  4452. Escaped references will never be expanded,
  4453. regardless of whether the variable exists
  4454. or not. Defaults to "".'
  4455. type: string
  4456. valueFrom:
  4457. description: Source for the environment
  4458. variable's value. Cannot be used if
  4459. value is not empty.
  4460. properties:
  4461. configMapKeyRef:
  4462. description: Selects a key of a ConfigMap.
  4463. properties:
  4464. key:
  4465. description: The key to select.
  4466. type: string
  4467. name:
  4468. description: 'Name of the referent.
  4469. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4470. TODO: Add other useful fields.
  4471. apiVersion, kind, uid?'
  4472. type: string
  4473. optional:
  4474. description: Specify whether the
  4475. ConfigMap or its key must be
  4476. defined
  4477. type: boolean
  4478. required:
  4479. - key
  4480. type: object
  4481. x-kubernetes-map-type: atomic
  4482. fieldRef:
  4483. description: 'Selects a field of the
  4484. pod: supports metadata.name, metadata.namespace,
  4485. `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
  4486. spec.nodeName, spec.serviceAccountName,
  4487. status.hostIP, status.podIP, status.podIPs.'
  4488. properties:
  4489. apiVersion:
  4490. description: Version of the schema
  4491. the FieldPath is written in
  4492. terms of, defaults to "v1".
  4493. type: string
  4494. fieldPath:
  4495. description: Path of the field
  4496. to select in the specified API
  4497. version.
  4498. type: string
  4499. required:
  4500. - fieldPath
  4501. type: object
  4502. x-kubernetes-map-type: atomic
  4503. resourceFieldRef:
  4504. description: 'Selects a resource of
  4505. the container: only resources limits
  4506. and requests (limits.cpu, limits.memory,
  4507. limits.ephemeral-storage, requests.cpu,
  4508. requests.memory and requests.ephemeral-storage)
  4509. are currently supported.'
  4510. properties:
  4511. containerName:
  4512. description: 'Container name:
  4513. required for volumes, optional
  4514. for env vars'
  4515. type: string
  4516. divisor:
  4517. anyOf:
  4518. - type: integer
  4519. - type: string
  4520. description: Specifies the output
  4521. format of the exposed resources,
  4522. defaults to "1"
  4523. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4524. x-kubernetes-int-or-string: true
  4525. resource:
  4526. description: 'Required: resource
  4527. to select'
  4528. type: string
  4529. required:
  4530. - resource
  4531. type: object
  4532. x-kubernetes-map-type: atomic
  4533. secretKeyRef:
  4534. description: Selects a key of a secret
  4535. in the pod's namespace
  4536. properties:
  4537. key:
  4538. description: The key of the secret
  4539. to select from. Must be a valid
  4540. secret key.
  4541. type: string
  4542. name:
  4543. description: 'Name of the referent.
  4544. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4545. TODO: Add other useful fields.
  4546. apiVersion, kind, uid?'
  4547. type: string
  4548. optional:
  4549. description: Specify whether the
  4550. Secret or its key must be defined
  4551. type: boolean
  4552. required:
  4553. - key
  4554. type: object
  4555. x-kubernetes-map-type: atomic
  4556. type: object
  4557. required:
  4558. - name
  4559. type: object
  4560. type: array
  4561. envFrom:
  4562. description: List of sources to populate environment
  4563. variables in the container. The keys defined
  4564. within a source must be a C_IDENTIFIER. All
  4565. invalid keys will be reported as an event
  4566. when the container is starting. When a key
  4567. exists in multiple sources, the value associated
  4568. with the last source will take precedence.
  4569. Values defined by an Env with a duplicate
  4570. key will take precedence. Cannot be updated.
  4571. items:
  4572. description: EnvFromSource represents the
  4573. source of a set of ConfigMaps
  4574. properties:
  4575. configMapRef:
  4576. description: The ConfigMap to select from
  4577. properties:
  4578. name:
  4579. description: 'Name of the referent.
  4580. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4581. TODO: Add other useful fields. apiVersion,
  4582. kind, uid?'
  4583. type: string
  4584. optional:
  4585. description: Specify whether the ConfigMap
  4586. must be defined
  4587. type: boolean
  4588. type: object
  4589. x-kubernetes-map-type: atomic
  4590. prefix:
  4591. description: An optional identifier to
  4592. prepend to each key in the ConfigMap.
  4593. Must be a C_IDENTIFIER.
  4594. type: string
  4595. secretRef:
  4596. description: The Secret to select from
  4597. properties:
  4598. name:
  4599. description: 'Name of the referent.
  4600. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4601. TODO: Add other useful fields. apiVersion,
  4602. kind, uid?'
  4603. type: string
  4604. optional:
  4605. description: Specify whether the Secret
  4606. must be defined
  4607. type: boolean
  4608. type: object
  4609. x-kubernetes-map-type: atomic
  4610. type: object
  4611. type: array
  4612. image:
  4613. description: 'Container image name. More info:
  4614. https://kubernetes.io/docs/concepts/containers/images
  4615. This field is optional to allow higher level
  4616. config management to default or override container
  4617. images in workload controllers like Deployments
  4618. and StatefulSets.'
  4619. type: string
  4620. imagePullPolicy:
  4621. description: 'Image pull policy. One of Always,
  4622. Never, IfNotPresent. Defaults to Always if
  4623. :latest tag is specified, or IfNotPresent
  4624. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  4625. type: string
  4626. lifecycle:
  4627. description: Actions that the management system
  4628. should take in response to container lifecycle
  4629. events. Cannot be updated.
  4630. properties:
  4631. postStart:
  4632. description: 'PostStart is called immediately
  4633. after a container is created. If the handler
  4634. fails, the container is terminated and
  4635. restarted according to its restart policy.
  4636. Other management of the container blocks
  4637. until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  4638. properties:
  4639. exec:
  4640. description: Exec specifies the action
  4641. to take.
  4642. properties:
  4643. command:
  4644. description: Command is the command
  4645. line to execute inside the container,
  4646. the working directory for the
  4647. command is root ('/') in the
  4648. container's filesystem. The command
  4649. is simply exec'd, it is not run
  4650. inside a shell, so traditional
  4651. shell instructions ('|', etc)
  4652. won't work. To use a shell, you
  4653. need to explicitly call out to
  4654. that shell. Exit status of 0 is
  4655. treated as live/healthy and non-zero
  4656. is unhealthy.
  4657. items:
  4658. type: string
  4659. type: array
  4660. type: object
  4661. httpGet:
  4662. description: HTTPGet specifies the http
  4663. request to perform.
  4664. properties:
  4665. host:
  4666. description: Host name to connect
  4667. to, defaults to the pod IP. You
  4668. probably want to set "Host" in
  4669. httpHeaders instead.
  4670. type: string
  4671. httpHeaders:
  4672. description: Custom headers to set
  4673. in the request. HTTP allows repeated
  4674. headers.
  4675. items:
  4676. description: HTTPHeader describes
  4677. a custom header to be used in
  4678. HTTP probes
  4679. properties:
  4680. name:
  4681. description: The header field
  4682. name
  4683. type: string
  4684. value:
  4685. description: The header field
  4686. value
  4687. type: string
  4688. required:
  4689. - name
  4690. - value
  4691. type: object
  4692. type: array
  4693. path:
  4694. description: Path to access on the
  4695. HTTP server.
  4696. type: string
  4697. port:
  4698. anyOf:
  4699. - type: integer
  4700. - type: string
  4701. description: Name or number of the
  4702. port to access on the container.
  4703. Number must be in the range 1
  4704. to 65535. Name must be an IANA_SVC_NAME.
  4705. x-kubernetes-int-or-string: true
  4706. scheme:
  4707. description: Scheme to use for connecting
  4708. to the host. Defaults to HTTP.
  4709. type: string
  4710. required:
  4711. - port
  4712. type: object
  4713. tcpSocket:
  4714. description: Deprecated. TCPSocket is
  4715. NOT supported as a LifecycleHandler
  4716. and kept for the backward compatibility.
  4717. There are no validation of this field
  4718. and lifecycle hooks will fail in runtime
  4719. when tcp handler is specified.
  4720. properties:
  4721. host:
  4722. description: 'Optional: Host name
  4723. to connect to, defaults to the
  4724. pod IP.'
  4725. type: string
  4726. port:
  4727. anyOf:
  4728. - type: integer
  4729. - type: string
  4730. description: Number or name of the
  4731. port to access on the container.
  4732. Number must be in the range 1
  4733. to 65535. Name must be an IANA_SVC_NAME.
  4734. x-kubernetes-int-or-string: true
  4735. required:
  4736. - port
  4737. type: object
  4738. type: object
  4739. preStop:
  4740. description: 'PreStop is called immediately
  4741. before a container is terminated due to
  4742. an API request or management event such
  4743. as liveness/startup probe failure, preemption,
  4744. resource contention, etc. The handler
  4745. is not called if the container crashes
  4746. or exits. The Pod''s termination grace
  4747. period countdown begins before the PreStop
  4748. hook is executed. Regardless of the outcome
  4749. of the handler, the container will eventually
  4750. terminate within the Pod''s termination
  4751. grace period (unless delayed by finalizers).
  4752. Other management of the container blocks
  4753. until the hook completes or until the
  4754. termination grace period is reached. More
  4755. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  4756. properties:
  4757. exec:
  4758. description: Exec specifies the action
  4759. to take.
  4760. properties:
  4761. command:
  4762. description: Command is the command
  4763. line to execute inside the container,
  4764. the working directory for the
  4765. command is root ('/') in the
  4766. container's filesystem. The command
  4767. is simply exec'd, it is not run
  4768. inside a shell, so traditional
  4769. shell instructions ('|', etc)
  4770. won't work. To use a shell, you
  4771. need to explicitly call out to
  4772. that shell. Exit status of 0 is
  4773. treated as live/healthy and non-zero
  4774. is unhealthy.
  4775. items:
  4776. type: string
  4777. type: array
  4778. type: object
  4779. httpGet:
  4780. description: HTTPGet specifies the http
  4781. request to perform.
  4782. properties:
  4783. host:
  4784. description: Host name to connect
  4785. to, defaults to the pod IP. You
  4786. probably want to set "Host" in
  4787. httpHeaders instead.
  4788. type: string
  4789. httpHeaders:
  4790. description: Custom headers to set
  4791. in the request. HTTP allows repeated
  4792. headers.
  4793. items:
  4794. description: HTTPHeader describes
  4795. a custom header to be used in
  4796. HTTP probes
  4797. properties:
  4798. name:
  4799. description: The header field
  4800. name
  4801. type: string
  4802. value:
  4803. description: The header field
  4804. value
  4805. type: string
  4806. required:
  4807. - name
  4808. - value
  4809. type: object
  4810. type: array
  4811. path:
  4812. description: Path to access on the
  4813. HTTP server.
  4814. type: string
  4815. port:
  4816. anyOf:
  4817. - type: integer
  4818. - type: string
  4819. description: Name or number of the
  4820. port to access on the container.
  4821. Number must be in the range 1
  4822. to 65535. Name must be an IANA_SVC_NAME.
  4823. x-kubernetes-int-or-string: true
  4824. scheme:
  4825. description: Scheme to use for connecting
  4826. to the host. Defaults to HTTP.
  4827. type: string
  4828. required:
  4829. - port
  4830. type: object
  4831. tcpSocket:
  4832. description: Deprecated. TCPSocket is
  4833. NOT supported as a LifecycleHandler
  4834. and kept for the backward compatibility.
  4835. There are no validation of this field
  4836. and lifecycle hooks will fail in runtime
  4837. when tcp handler is specified.
  4838. properties:
  4839. host:
  4840. description: 'Optional: Host name
  4841. to connect to, defaults to the
  4842. pod IP.'
  4843. type: string
  4844. port:
  4845. anyOf:
  4846. - type: integer
  4847. - type: string
  4848. description: Number or name of the
  4849. port to access on the container.
  4850. Number must be in the range 1
  4851. to 65535. Name must be an IANA_SVC_NAME.
  4852. x-kubernetes-int-or-string: true
  4853. required:
  4854. - port
  4855. type: object
  4856. type: object
  4857. type: object
  4858. livenessProbe:
  4859. description: 'Periodic probe of container liveness.
  4860. Container will be restarted if the probe fails.
  4861. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4862. properties:
  4863. exec:
  4864. description: Exec specifies the action to
  4865. take.
  4866. properties:
  4867. command:
  4868. description: Command is the command
  4869. line to execute inside the container,
  4870. the working directory for the command is
  4871. root ('/') in the container's filesystem.
  4872. The command is simply exec'd, it is
  4873. not run inside a shell, so traditional
  4874. shell instructions ('|', etc) won't
  4875. work. To use a shell, you need to
  4876. explicitly call out to that shell.
  4877. Exit status of 0 is treated as live/healthy
  4878. and non-zero is unhealthy.
  4879. items:
  4880. type: string
  4881. type: array
  4882. type: object
  4883. failureThreshold:
  4884. description: Minimum consecutive failures
  4885. for the probe to be considered failed
  4886. after having succeeded. Defaults to 3.
  4887. Minimum value is 1.
  4888. format: int32
  4889. type: integer
  4890. grpc:
  4891. description: GRPC specifies an action involving
  4892. a GRPC port. This is a beta field and
  4893. requires enabling GRPCContainerProbe feature
  4894. gate.
  4895. properties:
  4896. port:
  4897. description: Port number of the gRPC
  4898. service. Number must be in the range
  4899. 1 to 65535.
  4900. format: int32
  4901. type: integer
  4902. service:
  4903. description: "Service is the name of
  4904. the service to place in the gRPC HealthCheckRequest
  4905. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  4906. \n If this is not specified, the default
  4907. behavior is defined by gRPC."
  4908. type: string
  4909. required:
  4910. - port
  4911. type: object
  4912. httpGet:
  4913. description: HTTPGet specifies the http
  4914. request to perform.
  4915. properties:
  4916. host:
  4917. description: Host name to connect to,
  4918. defaults to the pod IP. You probably
  4919. want to set "Host" in httpHeaders
  4920. instead.
  4921. type: string
  4922. httpHeaders:
  4923. description: Custom headers to set in
  4924. the request. HTTP allows repeated
  4925. headers.
  4926. items:
  4927. description: HTTPHeader describes
  4928. a custom header to be used in HTTP
  4929. probes
  4930. properties:
  4931. name:
  4932. description: The header field
  4933. name
  4934. type: string
  4935. value:
  4936. description: The header field
  4937. value
  4938. type: string
  4939. required:
  4940. - name
  4941. - value
  4942. type: object
  4943. type: array
  4944. path:
  4945. description: Path to access on the HTTP
  4946. server.
  4947. type: string
  4948. port:
  4949. anyOf:
  4950. - type: integer
  4951. - type: string
  4952. description: Name or number of the port
  4953. to access on the container. Number
  4954. must be in the range 1 to 65535. Name
  4955. must be an IANA_SVC_NAME.
  4956. x-kubernetes-int-or-string: true
  4957. scheme:
  4958. description: Scheme to use for connecting
  4959. to the host. Defaults to HTTP.
  4960. type: string
  4961. required:
  4962. - port
  4963. type: object
  4964. initialDelaySeconds:
  4965. description: 'Number of seconds after the
  4966. container has started before liveness
  4967. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4968. format: int32
  4969. type: integer
  4970. periodSeconds:
  4971. description: How often (in seconds) to perform
  4972. the probe. Default to 10 seconds. Minimum
  4973. value is 1.
  4974. format: int32
  4975. type: integer
  4976. successThreshold:
  4977. description: Minimum consecutive successes
  4978. for the probe to be considered successful
  4979. after having failed. Defaults to 1. Must
  4980. be 1 for liveness and startup. Minimum
  4981. value is 1.
  4982. format: int32
  4983. type: integer
  4984. tcpSocket:
  4985. description: TCPSocket specifies an action
  4986. involving a TCP port.
  4987. properties:
  4988. host:
  4989. description: 'Optional: Host name to
  4990. connect to, defaults to the pod IP.'
  4991. type: string
  4992. port:
  4993. anyOf:
  4994. - type: integer
  4995. - type: string
  4996. description: Number or name of the port
  4997. to access on the container. Number
  4998. must be in the range 1 to 65535. Name
  4999. must be an IANA_SVC_NAME.
  5000. x-kubernetes-int-or-string: true
  5001. required:
  5002. - port
  5003. type: object
  5004. terminationGracePeriodSeconds:
  5005. description: Optional duration in seconds
  5006. the pod needs to terminate gracefully
  5007. upon probe failure. The grace period is
  5008. the duration in seconds after the processes
  5009. running in the pod are sent a termination
  5010. signal and the time when the processes
  5011. are forcibly halted with a kill signal.
  5012. Set this value longer than the expected
  5013. cleanup time for your process. If this
  5014. value is nil, the pod's terminationGracePeriodSeconds
  5015. will be used. Otherwise, this value overrides
  5016. the value provided by the pod spec. Value
  5017. must be non-negative integer. The value
  5018. zero indicates stop immediately via the
  5019. kill signal (no opportunity to shut down).
  5020. This is a beta field and requires enabling
  5021. ProbeTerminationGracePeriod feature gate.
  5022. Minimum value is 1. spec.terminationGracePeriodSeconds
  5023. is used if unset.
  5024. format: int64
  5025. type: integer
  5026. timeoutSeconds:
  5027. description: 'Number of seconds after which
  5028. the probe times out. Defaults to 1 second.
  5029. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  5030. format: int32
  5031. type: integer
  5032. type: object
  5033. name:
  5034. description: Name of the container specified
  5035. as a DNS_LABEL. Each container in a pod must
  5036. have a unique name (DNS_LABEL). Cannot be
  5037. updated.
  5038. type: string
  5039. ports:
  5040. description: List of ports to expose from the
  5041. container. Not specifying a port here DOES
  5042. NOT prevent that port from being exposed.
  5043. Any port which is listening on the default
  5044. "0.0.0.0" address inside a container will
  5045. be accessible from the network. Modifying
  5046. this array with strategic merge patch may
  5047. corrupt the data. For more information See
  5048. https://github.com/kubernetes/kubernetes/issues/108255.
  5049. Cannot be updated.
  5050. items:
  5051. description: ContainerPort represents a network
  5052. port in a single container.
  5053. properties:
  5054. containerPort:
  5055. description: Number of port to expose
  5056. on the pod's IP address. This must be
  5057. a valid port number, 0 < x < 65536.
  5058. format: int32
  5059. type: integer
  5060. hostIP:
  5061. description: What host IP to bind the
  5062. external port to.
  5063. type: string
  5064. hostPort:
  5065. description: Number of port to expose
  5066. on the host. If specified, this must
  5067. be a valid port number, 0 < x < 65536.
  5068. If HostNetwork is specified, this must
  5069. match ContainerPort. Most containers
  5070. do not need this.
  5071. format: int32
  5072. type: integer
  5073. name:
  5074. description: If specified, this must be
  5075. an IANA_SVC_NAME and unique within the
  5076. pod. Each named port in a pod must have
  5077. a unique name. Name for the port that
  5078. can be referred to by services.
  5079. type: string
  5080. protocol:
  5081. default: TCP
  5082. description: Protocol for port. Must be
  5083. UDP, TCP, or SCTP. Defaults to "TCP".
  5084. type: string
  5085. required:
  5086. - containerPort
  5087. type: object
  5088. type: array
  5089. x-kubernetes-list-map-keys:
  5090. - containerPort
  5091. - protocol
  5092. x-kubernetes-list-type: map
  5093. readinessProbe:
  5094. description: 'Periodic probe of container service
  5095. readiness. Container will be removed from
  5096. service endpoints if the probe fails. Cannot
  5097. be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  5098. properties:
  5099. exec:
  5100. description: Exec specifies the action to
  5101. take.
  5102. properties:
  5103. command:
  5104. description: Command is the command
  5105. line to execute inside the container,
  5106. the working directory for the command is
  5107. root ('/') in the container's filesystem.
  5108. The command is simply exec'd, it is
  5109. not run inside a shell, so traditional
  5110. shell instructions ('|', etc) won't
  5111. work. To use a shell, you need to
  5112. explicitly call out to that shell.
  5113. Exit status of 0 is treated as live/healthy
  5114. and non-zero is unhealthy.
  5115. items:
  5116. type: string
  5117. type: array
  5118. type: object
  5119. failureThreshold:
  5120. description: Minimum consecutive failures
  5121. for the probe to be considered failed
  5122. after having succeeded. Defaults to 3.
  5123. Minimum value is 1.
  5124. format: int32
  5125. type: integer
  5126. grpc:
  5127. description: GRPC specifies an action involving
  5128. a GRPC port. This is a beta field and
  5129. requires enabling GRPCContainerProbe feature
  5130. gate.
  5131. properties:
  5132. port:
  5133. description: Port number of the gRPC
  5134. service. Number must be in the range
  5135. 1 to 65535.
  5136. format: int32
  5137. type: integer
  5138. service:
  5139. description: "Service is the name of
  5140. the service to place in the gRPC HealthCheckRequest
  5141. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  5142. \n If this is not specified, the default
  5143. behavior is defined by gRPC."
  5144. type: string
  5145. required:
  5146. - port
  5147. type: object
  5148. httpGet:
  5149. description: HTTPGet specifies the http
  5150. request to perform.
  5151. properties:
  5152. host:
  5153. description: Host name to connect to,
  5154. defaults to the pod IP. You probably
  5155. want to set "Host" in httpHeaders
  5156. instead.
  5157. type: string
  5158. httpHeaders:
  5159. description: Custom headers to set in
  5160. the request. HTTP allows repeated
  5161. headers.
  5162. items:
  5163. description: HTTPHeader describes
  5164. a custom header to be used in HTTP
  5165. probes
  5166. properties:
  5167. name:
  5168. description: The header field
  5169. name
  5170. type: string
  5171. value:
  5172. description: The header field
  5173. value
  5174. type: string
  5175. required:
  5176. - name
  5177. - value
  5178. type: object
  5179. type: array
  5180. path:
  5181. description: Path to access on the HTTP
  5182. server.
  5183. type: string
  5184. port:
  5185. anyOf:
  5186. - type: integer
  5187. - type: string
  5188. description: Name or number of the port
  5189. to access on the container. Number
  5190. must be in the range 1 to 65535. Name
  5191. must be an IANA_SVC_NAME.
  5192. x-kubernetes-int-or-string: true
  5193. scheme:
  5194. description: Scheme to use for connecting
  5195. to the host. Defaults to HTTP.
  5196. type: string
  5197. required:
  5198. - port
  5199. type: object
  5200. initialDelaySeconds:
  5201. description: 'Number of seconds after the
  5202. container has started before liveness
  5203. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  5204. format: int32
  5205. type: integer
  5206. periodSeconds:
  5207. description: How often (in seconds) to perform
  5208. the probe. Default to 10 seconds. Minimum
  5209. value is 1.
  5210. format: int32
  5211. type: integer
  5212. successThreshold:
  5213. description: Minimum consecutive successes
  5214. for the probe to be considered successful
  5215. after having failed. Defaults to 1. Must
  5216. be 1 for liveness and startup. Minimum
  5217. value is 1.
  5218. format: int32
  5219. type: integer
  5220. tcpSocket:
  5221. description: TCPSocket specifies an action
  5222. involving a TCP port.
  5223. properties:
  5224. host:
  5225. description: 'Optional: Host name to
  5226. connect to, defaults to the pod IP.'
  5227. type: string
  5228. port:
  5229. anyOf:
  5230. - type: integer
  5231. - type: string
  5232. description: Number or name of the port
  5233. to access on the container. Number
  5234. must be in the range 1 to 65535. Name
  5235. must be an IANA_SVC_NAME.
  5236. x-kubernetes-int-or-string: true
  5237. required:
  5238. - port
  5239. type: object
  5240. terminationGracePeriodSeconds:
  5241. description: Optional duration in seconds
  5242. the pod needs to terminate gracefully
  5243. upon probe failure. The grace period is
  5244. the duration in seconds after the processes
  5245. running in the pod are sent a termination
  5246. signal and the time when the processes
  5247. are forcibly halted with a kill signal.
  5248. Set this value longer than the expected
  5249. cleanup time for your process. If this
  5250. value is nil, the pod's terminationGracePeriodSeconds
  5251. will be used. Otherwise, this value overrides
  5252. the value provided by the pod spec. Value
  5253. must be non-negative integer. The value
  5254. zero indicates stop immediately via the
  5255. kill signal (no opportunity to shut down).
  5256. This is a beta field and requires enabling
  5257. ProbeTerminationGracePeriod feature gate.
  5258. Minimum value is 1. spec.terminationGracePeriodSeconds
  5259. is used if unset.
  5260. format: int64
  5261. type: integer
  5262. timeoutSeconds:
  5263. description: 'Number of seconds after which
  5264. the probe times out. Defaults to 1 second.
  5265. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  5266. format: int32
  5267. type: integer
  5268. type: object
  5269. resources:
  5270. description: 'Compute Resources required by
  5271. this container. Cannot be updated. More info:
  5272. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5273. properties:
  5274. limits:
  5275. additionalProperties:
  5276. anyOf:
  5277. - type: integer
  5278. - type: string
  5279. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5280. x-kubernetes-int-or-string: true
  5281. description: 'Limits describes the maximum
  5282. amount of compute resources allowed. More
  5283. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5284. type: object
  5285. requests:
  5286. additionalProperties:
  5287. anyOf:
  5288. - type: integer
  5289. - type: string
  5290. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5291. x-kubernetes-int-or-string: true
  5292. description: 'Requests describes the minimum
  5293. amount of compute resources required.
  5294. If Requests is omitted for a container,
  5295. it defaults to Limits if that is explicitly
  5296. specified, otherwise to an implementation-defined
  5297. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5298. type: object
  5299. type: object
  5300. securityContext:
  5301. description: 'SecurityContext defines the security
  5302. options the container should be run with.
  5303. If set, the fields of SecurityContext override
  5304. the equivalent fields of PodSecurityContext.
  5305. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  5306. properties:
  5307. allowPrivilegeEscalation:
  5308. description: 'AllowPrivilegeEscalation controls
  5309. whether a process can gain more privileges
  5310. than its parent process. This bool directly
  5311. controls if the no_new_privs flag will
  5312. be set on the container process. AllowPrivilegeEscalation
  5313. is true always when the container is:
  5314. 1) run as Privileged 2) has CAP_SYS_ADMIN
  5315. Note that this field cannot be set when
  5316. spec.os.name is windows.'
  5317. type: boolean
  5318. capabilities:
  5319. description: The capabilities to add/drop
  5320. when running containers. Defaults to the
  5321. default set of capabilities granted by
  5322. the container runtime. Note that this
  5323. field cannot be set when spec.os.name
  5324. is windows.
  5325. properties:
  5326. add:
  5327. description: Added capabilities
  5328. items:
  5329. description: Capability represent
  5330. POSIX capabilities type
  5331. type: string
  5332. type: array
  5333. drop:
  5334. description: Removed capabilities
  5335. items:
  5336. description: Capability represent
  5337. POSIX capabilities type
  5338. type: string
  5339. type: array
  5340. type: object
  5341. privileged:
  5342. description: Run container in privileged
  5343. mode. Processes in privileged containers
  5344. are essentially equivalent to root on
  5345. the host. Defaults to false. Note that
  5346. this field cannot be set when spec.os.name
  5347. is windows.
  5348. type: boolean
  5349. procMount:
  5350. description: procMount denotes the type
  5351. of proc mount to use for the containers.
  5352. The default is DefaultProcMount which
  5353. uses the container runtime defaults for
  5354. readonly paths and masked paths. This
  5355. requires the ProcMountType feature flag
  5356. to be enabled. Note that this field cannot
  5357. be set when spec.os.name is windows.
  5358. type: string
  5359. readOnlyRootFilesystem:
  5360. description: Whether this container has
  5361. a read-only root filesystem. Default is
  5362. false. Note that this field cannot be
  5363. set when spec.os.name is windows.
  5364. type: boolean
  5365. runAsGroup:
  5366. description: The GID to run the entrypoint
  5367. of the container process. Uses runtime
  5368. default if unset. May also be set in PodSecurityContext. If
  5369. set in both SecurityContext and PodSecurityContext,
  5370. the value specified in SecurityContext
  5371. takes precedence. Note that this field
  5372. cannot be set when spec.os.name is windows.
  5373. format: int64
  5374. type: integer
  5375. runAsNonRoot:
  5376. description: Indicates that the container
  5377. must run as a non-root user. If true,
  5378. the Kubelet will validate the image at
  5379. runtime to ensure that it does not run
  5380. as UID 0 (root) and fail to start the
  5381. container if it does. If unset or false,
  5382. no such validation will be performed.
  5383. May also be set in PodSecurityContext. If
  5384. set in both SecurityContext and PodSecurityContext,
  5385. the value specified in SecurityContext
  5386. takes precedence.
  5387. type: boolean
  5388. runAsUser:
  5389. description: The UID to run the entrypoint
  5390. of the container process. Defaults to
  5391. user specified in image metadata if unspecified.
  5392. May also be set in PodSecurityContext. If
  5393. set in both SecurityContext and PodSecurityContext,
  5394. the value specified in SecurityContext
  5395. takes precedence. Note that this field
  5396. cannot be set when spec.os.name is windows.
  5397. format: int64
  5398. type: integer
  5399. seLinuxOptions:
  5400. description: The SELinux context to be applied
  5401. to the container. If unspecified, the
  5402. container runtime will allocate a random
  5403. SELinux context for each container. May
  5404. also be set in PodSecurityContext. If
  5405. set in both SecurityContext and PodSecurityContext,
  5406. the value specified in SecurityContext
  5407. takes precedence. Note that this field
  5408. cannot be set when spec.os.name is windows.
  5409. properties:
  5410. level:
  5411. description: Level is SELinux level
  5412. label that applies to the container.
  5413. type: string
  5414. role:
  5415. description: Role is a SELinux role
  5416. label that applies to the container.
  5417. type: string
  5418. type:
  5419. description: Type is a SELinux type
  5420. label that applies to the container.
  5421. type: string
  5422. user:
  5423. description: User is a SELinux user
  5424. label that applies to the container.
  5425. type: string
  5426. type: object
  5427. seccompProfile:
  5428. description: The seccomp options to use
  5429. by this container. If seccomp options
  5430. are provided at both the pod & container
  5431. level, the container options override
  5432. the pod options. Note that this field
  5433. cannot be set when spec.os.name is windows.
  5434. properties:
  5435. localhostProfile:
  5436. description: localhostProfile indicates
  5437. a profile defined in a file on the
  5438. node should be used. The profile must
  5439. be preconfigured on the node to work.
  5440. Must be a descending path, relative
  5441. to the kubelet's configured seccomp
  5442. profile location. Must only be set
  5443. if type is "Localhost".
  5444. type: string
  5445. type:
  5446. description: "type indicates which kind
  5447. of seccomp profile will be applied.
  5448. Valid options are: \n Localhost -
  5449. a profile defined in a file on the
  5450. node should be used. RuntimeDefault
  5451. - the container runtime default profile
  5452. should be used. Unconfined - no profile
  5453. should be applied."
  5454. type: string
  5455. required:
  5456. - type
  5457. type: object
  5458. windowsOptions:
  5459. description: The Windows specific settings
  5460. applied to all containers. If unspecified,
  5461. the options from the PodSecurityContext
  5462. will be used. If set in both SecurityContext
  5463. and PodSecurityContext, the value specified
  5464. in SecurityContext takes precedence. Note
  5465. that this field cannot be set when spec.os.name
  5466. is linux.
  5467. properties:
  5468. gmsaCredentialSpec:
  5469. description: GMSACredentialSpec is where
  5470. the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  5471. inlines the contents of the GMSA credential
  5472. spec named by the GMSACredentialSpecName
  5473. field.
  5474. type: string
  5475. gmsaCredentialSpecName:
  5476. description: GMSACredentialSpecName
  5477. is the name of the GMSA credential
  5478. spec to use.
  5479. type: string
  5480. hostProcess:
  5481. description: HostProcess determines
  5482. if a container should be run as a
  5483. 'Host Process' container. This field
  5484. is alpha-level and will only be honored
  5485. by components that enable the WindowsHostProcessContainers
  5486. feature flag. Setting this field without
  5487. the feature flag will result in errors
  5488. when validating the Pod. All of a
  5489. Pod's containers must have the same
  5490. effective HostProcess value (it is
  5491. not allowed to have a mix of HostProcess
  5492. containers and non-HostProcess containers). In
  5493. addition, if HostProcess is true then
  5494. HostNetwork must also be set to true.
  5495. type: boolean
  5496. runAsUserName:
  5497. description: The UserName in Windows
  5498. to run the entrypoint of the container
  5499. process. Defaults to the user specified
  5500. in image metadata if unspecified.
  5501. May also be set in PodSecurityContext.
  5502. If set in both SecurityContext and
  5503. PodSecurityContext, the value specified
  5504. in SecurityContext takes precedence.
  5505. type: string
  5506. type: object
  5507. type: object
  5508. startupProbe:
  5509. description: 'StartupProbe indicates that the
  5510. Pod has successfully initialized. If specified,
  5511. no other probes are executed until this completes
  5512. successfully. If this probe fails, the Pod
  5513. will be restarted, just as if the livenessProbe
  5514. failed. This can be used to provide different
  5515. probe parameters at the beginning of a Pod''s
  5516. lifecycle, when it might take a long time
  5517. to load data or warm a cache, than during
  5518. steady-state operation. This cannot be updated.
  5519. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  5520. properties:
  5521. exec:
  5522. description: Exec specifies the action to
  5523. take.
  5524. properties:
  5525. command:
  5526. description: Command is the command
  5527. line to execute inside the container,
  5528. the working directory for the command is
  5529. root ('/') in the container's filesystem.
  5530. The command is simply exec'd, it is
  5531. not run inside a shell, so traditional
  5532. shell instructions ('|', etc) won't
  5533. work. To use a shell, you need to
  5534. explicitly call out to that shell.
  5535. Exit status of 0 is treated as live/healthy
  5536. and non-zero is unhealthy.
  5537. items:
  5538. type: string
  5539. type: array
  5540. type: object
  5541. failureThreshold:
  5542. description: Minimum consecutive failures
  5543. for the probe to be considered failed
  5544. after having succeeded. Defaults to 3.
  5545. Minimum value is 1.
  5546. format: int32
  5547. type: integer
  5548. grpc:
  5549. description: GRPC specifies an action involving
  5550. a GRPC port. This is a beta field and
  5551. requires enabling GRPCContainerProbe feature
  5552. gate.
  5553. properties:
  5554. port:
  5555. description: Port number of the gRPC
  5556. service. Number must be in the range
  5557. 1 to 65535.
  5558. format: int32
  5559. type: integer
  5560. service:
  5561. description: "Service is the name of
  5562. the service to place in the gRPC HealthCheckRequest
  5563. (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  5564. \n If this is not specified, the default
  5565. behavior is defined by gRPC."
  5566. type: string
  5567. required:
  5568. - port
  5569. type: object
  5570. httpGet:
  5571. description: HTTPGet specifies the http
  5572. request to perform.
  5573. properties:
  5574. host:
  5575. description: Host name to connect to,
  5576. defaults to the pod IP. You probably
  5577. want to set "Host" in httpHeaders
  5578. instead.
  5579. type: string
  5580. httpHeaders:
  5581. description: Custom headers to set in
  5582. the request. HTTP allows repeated
  5583. headers.
  5584. items:
  5585. description: HTTPHeader describes
  5586. a custom header to be used in HTTP
  5587. probes
  5588. properties:
  5589. name:
  5590. description: The header field
  5591. name
  5592. type: string
  5593. value:
  5594. description: The header field
  5595. value
  5596. type: string
  5597. required:
  5598. - name
  5599. - value
  5600. type: object
  5601. type: array
  5602. path:
  5603. description: Path to access on the HTTP
  5604. server.
  5605. type: string
  5606. port:
  5607. anyOf:
  5608. - type: integer
  5609. - type: string
  5610. description: Name or number of the port
  5611. to access on the container. Number
  5612. must be in the range 1 to 65535. Name
  5613. must be an IANA_SVC_NAME.
  5614. x-kubernetes-int-or-string: true
  5615. scheme:
  5616. description: Scheme to use for connecting
  5617. to the host. Defaults to HTTP.
  5618. type: string
  5619. required:
  5620. - port
  5621. type: object
  5622. initialDelaySeconds:
  5623. description: 'Number of seconds after the
  5624. container has started before liveness
  5625. probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  5626. format: int32
  5627. type: integer
  5628. periodSeconds:
  5629. description: How often (in seconds) to perform
  5630. the probe. Default to 10 seconds. Minimum
  5631. value is 1.
  5632. format: int32
  5633. type: integer
  5634. successThreshold:
  5635. description: Minimum consecutive successes
  5636. for the probe to be considered successful
  5637. after having failed. Defaults to 1. Must
  5638. be 1 for liveness and startup. Minimum
  5639. value is 1.
  5640. format: int32
  5641. type: integer
  5642. tcpSocket:
  5643. description: TCPSocket specifies an action
  5644. involving a TCP port.
  5645. properties:
  5646. host:
  5647. description: 'Optional: Host name to
  5648. connect to, defaults to the pod IP.'
  5649. type: string
  5650. port:
  5651. anyOf:
  5652. - type: integer
  5653. - type: string
  5654. description: Number or name of the port
  5655. to access on the container. Number
  5656. must be in the range 1 to 65535. Name
  5657. must be an IANA_SVC_NAME.
  5658. x-kubernetes-int-or-string: true
  5659. required:
  5660. - port
  5661. type: object
  5662. terminationGracePeriodSeconds:
  5663. description: Optional duration in seconds
  5664. the pod needs to terminate gracefully
  5665. upon probe failure. The grace period is
  5666. the duration in seconds after the processes
  5667. running in the pod are sent a termination
  5668. signal and the time when the processes
  5669. are forcibly halted with a kill signal.
  5670. Set this value longer than the expected
  5671. cleanup time for your process. If this
  5672. value is nil, the pod's terminationGracePeriodSeconds
  5673. will be used. Otherwise, this value overrides
  5674. the value provided by the pod spec. Value
  5675. must be non-negative integer. The value
  5676. zero indicates stop immediately via the
  5677. kill signal (no opportunity to shut down).
  5678. This is a beta field and requires enabling
  5679. ProbeTerminationGracePeriod feature gate.
  5680. Minimum value is 1. spec.terminationGracePeriodSeconds
  5681. is used if unset.
  5682. format: int64
  5683. type: integer
  5684. timeoutSeconds:
  5685. description: 'Number of seconds after which
  5686. the probe times out. Defaults to 1 second.
  5687. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  5688. format: int32
  5689. type: integer
  5690. type: object
  5691. stdin:
  5692. description: Whether this container should allocate
  5693. a buffer for stdin in the container runtime.
  5694. If this is not set, reads from stdin in the
  5695. container will always result in EOF. Default
  5696. is false.
  5697. type: boolean
  5698. stdinOnce:
  5699. description: Whether the container runtime should
  5700. close the stdin channel after it has been
  5701. opened by a single attach. When stdin is true
  5702. the stdin stream will remain open across multiple
  5703. attach sessions. If stdinOnce is set to true,
  5704. stdin is opened on container start, is empty
  5705. until the first client attaches to stdin,
  5706. and then remains open and accepts data until
  5707. the client disconnects, at which time stdin
  5708. is closed and remains closed until the container
  5709. is restarted. If this flag is false, a container
  5710. processes that reads from stdin will never
  5711. receive an EOF. Default is false
  5712. type: boolean
  5713. terminationMessagePath:
  5714. description: 'Optional: Path at which the file
  5715. to which the container''s termination message
  5716. will be written is mounted into the container''s
  5717. filesystem. Message written is intended to
  5718. be brief final status, such as an assertion
  5719. failure message. Will be truncated by the
  5720. node if greater than 4096 bytes. The total
  5721. message length across all containers will
  5722. be limited to 12kb. Defaults to /dev/termination-log.
  5723. Cannot be updated.'
  5724. type: string
  5725. terminationMessagePolicy:
  5726. description: Indicate how the termination message
  5727. should be populated. File will use the contents
  5728. of terminationMessagePath to populate the
  5729. container status message on both success and
  5730. failure. FallbackToLogsOnError will use the
  5731. last chunk of container log output if the
  5732. termination message file is empty and the
  5733. container exited with an error. The log output
  5734. is limited to 2048 bytes or 80 lines, whichever
  5735. is smaller. Defaults to File. Cannot be updated.
  5736. type: string
  5737. tty:
  5738. description: Whether this container should allocate
  5739. a TTY for itself, also requires 'stdin' to
  5740. be true. Default is false.
  5741. type: boolean
  5742. volumeDevices:
  5743. description: volumeDevices is the list of block
  5744. devices to be used by the container.
  5745. items:
  5746. description: volumeDevice describes a mapping
  5747. of a raw block device within a container.
  5748. properties:
  5749. devicePath:
  5750. description: devicePath is the path inside
  5751. of the container that the device will
  5752. be mapped to.
  5753. type: string
  5754. name:
  5755. description: name must match the name
  5756. of a persistentVolumeClaim in the pod
  5757. type: string
  5758. required:
  5759. - devicePath
  5760. - name
  5761. type: object
  5762. type: array
  5763. volumeMounts:
  5764. description: Pod volumes to mount into the container's
  5765. filesystem. Cannot be updated.
  5766. items:
  5767. description: VolumeMount describes a mounting
  5768. of a Volume within a container.
  5769. properties:
  5770. mountPath:
  5771. description: Path within the container
  5772. at which the volume should be mounted. Must
  5773. not contain ':'.
  5774. type: string
  5775. mountPropagation:
  5776. description: mountPropagation determines
  5777. how mounts are propagated from the host
  5778. to container and the other way around.
  5779. When not set, MountPropagationNone is
  5780. used. This field is beta in 1.10.
  5781. type: string
  5782. name:
  5783. description: This must match the Name
  5784. of a Volume.
  5785. type: string
  5786. readOnly:
  5787. description: Mounted read-only if true,
  5788. read-write otherwise (false or unspecified).
  5789. Defaults to false.
  5790. type: boolean
  5791. subPath:
  5792. description: Path within the volume from
  5793. which the container's volume should
  5794. be mounted. Defaults to "" (volume's
  5795. root).
  5796. type: string
  5797. subPathExpr:
  5798. description: Expanded path within the
  5799. volume from which the container's volume
  5800. should be mounted. Behaves similarly
  5801. to SubPath but environment variable
  5802. references $(VAR_NAME) are expanded
  5803. using the container's environment. Defaults
  5804. to "" (volume's root). SubPathExpr and
  5805. SubPath are mutually exclusive.
  5806. type: string
  5807. required:
  5808. - mountPath
  5809. - name
  5810. type: object
  5811. type: array
  5812. workingDir:
  5813. description: Container's working directory.
  5814. If not specified, the container runtime's
  5815. default will be used, which might be configured
  5816. in the container image. Cannot be updated.
  5817. type: string
  5818. required:
  5819. - name
  5820. type: object
  5821. type: array
  5822. nodeName:
  5823. description: NodeName is a request to schedule this
  5824. pod onto a specific node. If it is non-empty, the
  5825. scheduler simply schedules this pod onto that node,
  5826. assuming that it fits resource requirements.
  5827. type: string
  5828. nodeSelector:
  5829. additionalProperties:
  5830. type: string
  5831. description: 'NodeSelector is a selector which must
  5832. be true for the pod to fit on a node. Selector which
  5833. must match a node''s labels for the pod to be scheduled
  5834. on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  5835. type: object
  5836. x-kubernetes-map-type: atomic
  5837. os:
  5838. description: "Specifies the OS of the containers in
  5839. the pod. Some pod and container fields are restricted
  5840. if this is set. \n If the OS field is set to linux,
  5841. the following fields must be unset: -securityContext.windowsOptions
  5842. \n If the OS field is set to windows, following
  5843. fields must be unset: - spec.hostPID - spec.hostIPC
  5844. - spec.hostUsers - spec.securityContext.seLinuxOptions
  5845. - spec.securityContext.seccompProfile - spec.securityContext.fsGroup
  5846. - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls
  5847. - spec.shareProcessNamespace - spec.securityContext.runAsUser
  5848. - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups
  5849. - spec.containers[*].securityContext.seLinuxOptions
  5850. - spec.containers[*].securityContext.seccompProfile
  5851. - spec.containers[*].securityContext.capabilities
  5852. - spec.containers[*].securityContext.readOnlyRootFilesystem
  5853. - spec.containers[*].securityContext.privileged
  5854. - spec.containers[*].securityContext.allowPrivilegeEscalation
  5855. - spec.containers[*].securityContext.procMount -
  5856. spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup"
  5857. properties:
  5858. name:
  5859. description: 'Name is the name of the operating
  5860. system. The currently supported values are linux
  5861. and windows. Additional value may be defined
  5862. in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration
  5863. Clients should expect to handle additional values
  5864. and treat unrecognized values in this field
  5865. as os: null'
  5866. type: string
  5867. required:
  5868. - name
  5869. type: object
  5870. overhead:
  5871. additionalProperties:
  5872. anyOf:
  5873. - type: integer
  5874. - type: string
  5875. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5876. x-kubernetes-int-or-string: true
  5877. description: 'Overhead represents the resource overhead
  5878. associated with running a pod for a given RuntimeClass.
  5879. This field will be autopopulated at admission time
  5880. by the RuntimeClass admission controller. If the
  5881. RuntimeClass admission controller is enabled, overhead
  5882. must not be set in Pod create requests. The RuntimeClass
  5883. admission controller will reject Pod create requests
  5884. which have the overhead already set. If RuntimeClass
  5885. is configured and selected in the PodSpec, Overhead
  5886. will be set to the value defined in the corresponding
  5887. RuntimeClass, otherwise it will remain unset and
  5888. treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md'
  5889. type: object
  5890. preemptionPolicy:
  5891. description: PreemptionPolicy is the Policy for preempting
  5892. pods with lower priority. One of Never, PreemptLowerPriority.
  5893. Defaults to PreemptLowerPriority if unset.
  5894. type: string
  5895. priority:
  5896. description: The priority value. Various system components
  5897. use this field to find the priority of the pod.
  5898. When Priority Admission Controller is enabled, it
  5899. prevents users from setting this field. The admission
  5900. controller populates this field from PriorityClassName.
  5901. The higher the value, the higher the priority.
  5902. format: int32
  5903. type: integer
  5904. priorityClassName:
  5905. description: If specified, indicates the pod's priority.
  5906. "system-node-critical" and "system-cluster-critical"
  5907. are two special keywords which indicate the highest
  5908. priorities with the former being the highest priority.
  5909. Any other name must be defined by creating a PriorityClass
  5910. object with that name. If not specified, the pod
  5911. priority will be default or zero if there is no
  5912. default.
  5913. type: string
  5914. readinessGates:
  5915. description: 'If specified, all readiness gates will
  5916. be evaluated for pod readiness. A pod is ready when
  5917. all its containers are ready AND all conditions
  5918. specified in the readiness gates have status equal
  5919. to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates'
  5920. items:
  5921. description: PodReadinessGate contains the reference
  5922. to a pod condition
  5923. properties:
  5924. conditionType:
  5925. description: ConditionType refers to a condition
  5926. in the pod's condition list with matching
  5927. type.
  5928. type: string
  5929. required:
  5930. - conditionType
  5931. type: object
  5932. type: array
  5933. restartPolicy:
  5934. description: 'Restart policy for all containers within
  5935. the pod. One of Always, OnFailure, Never. Default
  5936. to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy'
  5937. type: string
  5938. runtimeClassName:
  5939. description: 'RuntimeClassName refers to a RuntimeClass
  5940. object in the node.k8s.io group, which should be
  5941. used to run this pod. If no RuntimeClass resource
  5942. matches the named class, the pod will not be run.
  5943. If unset or empty, the "legacy" RuntimeClass will
  5944. be used, which is an implicit class with an empty
  5945. definition that uses the default runtime handler.
  5946. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class'
  5947. type: string
  5948. schedulerName:
  5949. description: If specified, the pod will be dispatched
  5950. by specified scheduler. If not specified, the pod
  5951. will be dispatched by default scheduler.
  5952. type: string
  5953. securityContext:
  5954. description: 'SecurityContext holds pod-level security
  5955. attributes and common container settings. Optional:
  5956. Defaults to empty. See type description for default
  5957. values of each field.'
  5958. properties:
  5959. fsGroup:
  5960. description: "A special supplemental group that
  5961. applies to all containers in a pod. Some volume
  5962. types allow the Kubelet to change the ownership
  5963. of that volume to be owned by the pod: \n 1.
  5964. The owning GID will be the FSGroup 2. The setgid
  5965. bit is set (new files created in the volume
  5966. will be owned by FSGroup) 3. The permission
  5967. bits are OR'd with rw-rw---- \n If unset, the
  5968. Kubelet will not modify the ownership and permissions
  5969. of any volume. Note that this field cannot be
  5970. set when spec.os.name is windows."
  5971. format: int64
  5972. type: integer
  5973. fsGroupChangePolicy:
  5974. description: 'fsGroupChangePolicy defines behavior
  5975. of changing ownership and permission of the
  5976. volume before being exposed inside Pod. This
  5977. field will only apply to volume types which
  5978. support fsGroup based ownership(and permissions).
  5979. It will have no effect on ephemeral volume types
  5980. such as: secret, configmaps and emptydir. Valid
  5981. values are "OnRootMismatch" and "Always". If
  5982. not specified, "Always" is used. Note that this
  5983. field cannot be set when spec.os.name is windows.'
  5984. type: string
  5985. runAsGroup:
  5986. description: The GID to run the entrypoint of
  5987. the container process. Uses runtime default
  5988. if unset. May also be set in SecurityContext. If
  5989. set in both SecurityContext and PodSecurityContext,
  5990. the value specified in SecurityContext takes
  5991. precedence for that container. Note that this
  5992. field cannot be set when spec.os.name is windows.
  5993. format: int64
  5994. type: integer
  5995. runAsNonRoot:
  5996. description: Indicates that the container must
  5997. run as a non-root user. If true, the Kubelet
  5998. will validate the image at runtime to ensure
  5999. that it does not run as UID 0 (root) and fail
  6000. to start the container if it does. If unset
  6001. or false, no such validation will be performed.
  6002. May also be set in SecurityContext. If set
  6003. in both SecurityContext and PodSecurityContext,
  6004. the value specified in SecurityContext takes
  6005. precedence.
  6006. type: boolean
  6007. runAsUser:
  6008. description: The UID to run the entrypoint of
  6009. the container process. Defaults to user specified
  6010. in image metadata if unspecified. May also be
  6011. set in SecurityContext. If set in both SecurityContext
  6012. and PodSecurityContext, the value specified
  6013. in SecurityContext takes precedence for that
  6014. container. Note that this field cannot be set
  6015. when spec.os.name is windows.
  6016. format: int64
  6017. type: integer
  6018. seLinuxOptions:
  6019. description: The SELinux context to be applied
  6020. to all containers. If unspecified, the container
  6021. runtime will allocate a random SELinux context
  6022. for each container. May also be set in SecurityContext. If
  6023. set in both SecurityContext and PodSecurityContext,
  6024. the value specified in SecurityContext takes
  6025. precedence for that container. Note that this
  6026. field cannot be set when spec.os.name is windows.
  6027. properties:
  6028. level:
  6029. description: Level is SELinux level label
  6030. that applies to the container.
  6031. type: string
  6032. role:
  6033. description: Role is a SELinux role label
  6034. that applies to the container.
  6035. type: string
  6036. type:
  6037. description: Type is a SELinux type label
  6038. that applies to the container.
  6039. type: string
  6040. user:
  6041. description: User is a SELinux user label
  6042. that applies to the container.
  6043. type: string
  6044. type: object
  6045. seccompProfile:
  6046. description: The seccomp options to use by the
  6047. containers in this pod. Note that this field
  6048. cannot be set when spec.os.name is windows.
  6049. properties:
  6050. localhostProfile:
  6051. description: localhostProfile indicates a
  6052. profile defined in a file on the node should
  6053. be used. The profile must be preconfigured
  6054. on the node to work. Must be a descending
  6055. path, relative to the kubelet's configured
  6056. seccomp profile location. Must only be set
  6057. if type is "Localhost".
  6058. type: string
  6059. type:
  6060. description: "type indicates which kind of
  6061. seccomp profile will be applied. Valid options
  6062. are: \n Localhost - a profile defined in
  6063. a file on the node should be used. RuntimeDefault
  6064. - the container runtime default profile
  6065. should be used. Unconfined - no profile
  6066. should be applied."
  6067. type: string
  6068. required:
  6069. - type
  6070. type: object
  6071. supplementalGroups:
  6072. description: A list of groups applied to the first
  6073. process run in each container, in addition to
  6074. the container's primary GID. If unspecified,
  6075. no groups will be added to any container. Note
  6076. that this field cannot be set when spec.os.name
  6077. is windows.
  6078. items:
  6079. format: int64
  6080. type: integer
  6081. type: array
  6082. sysctls:
  6083. description: Sysctls hold a list of namespaced
  6084. sysctls used for the pod. Pods with unsupported
  6085. sysctls (by the container runtime) might fail
  6086. to launch. Note that this field cannot be set
  6087. when spec.os.name is windows.
  6088. items:
  6089. description: Sysctl defines a kernel parameter
  6090. to be set
  6091. properties:
  6092. name:
  6093. description: Name of a property to set
  6094. type: string
  6095. value:
  6096. description: Value of a property to set
  6097. type: string
  6098. required:
  6099. - name
  6100. - value
  6101. type: object
  6102. type: array
  6103. windowsOptions:
  6104. description: The Windows specific settings applied
  6105. to all containers. If unspecified, the options
  6106. within a container's SecurityContext will be
  6107. used. If set in both SecurityContext and PodSecurityContext,
  6108. the value specified in SecurityContext takes
  6109. precedence. Note that this field cannot be set
  6110. when spec.os.name is linux.
  6111. properties:
  6112. gmsaCredentialSpec:
  6113. description: GMSACredentialSpec is where the
  6114. GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  6115. inlines the contents of the GMSA credential
  6116. spec named by the GMSACredentialSpecName
  6117. field.
  6118. type: string
  6119. gmsaCredentialSpecName:
  6120. description: GMSACredentialSpecName is the
  6121. name of the GMSA credential spec to use.
  6122. type: string
  6123. hostProcess:
  6124. description: HostProcess determines if a container
  6125. should be run as a 'Host Process' container.
  6126. This field is alpha-level and will only
  6127. be honored by components that enable the
  6128. WindowsHostProcessContainers feature flag.
  6129. Setting this field without the feature flag
  6130. will result in errors when validating the
  6131. Pod. All of a Pod's containers must have
  6132. the same effective HostProcess value (it
  6133. is not allowed to have a mix of HostProcess
  6134. containers and non-HostProcess containers). In
  6135. addition, if HostProcess is true then HostNetwork
  6136. must also be set to true.
  6137. type: boolean
  6138. runAsUserName:
  6139. description: The UserName in Windows to run
  6140. the entrypoint of the container process.
  6141. Defaults to the user specified in image
  6142. metadata if unspecified. May also be set
  6143. in PodSecurityContext. If set in both SecurityContext
  6144. and PodSecurityContext, the value specified
  6145. in SecurityContext takes precedence.
  6146. type: string
  6147. type: object
  6148. type: object
  6149. serviceAccount:
  6150. description: 'DeprecatedServiceAccount is a depreciated
  6151. alias for ServiceAccountName. Deprecated: Use serviceAccountName
  6152. instead.'
  6153. type: string
  6154. serviceAccountName:
  6155. description: 'ServiceAccountName is the name of the
  6156. ServiceAccount to use to run this pod. More info:
  6157. https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  6158. type: string
  6159. setHostnameAsFQDN:
  6160. description: If true the pod's hostname will be configured
  6161. as the pod's FQDN, rather than the leaf name (the
  6162. default). In Linux containers, this means setting
  6163. the FQDN in the hostname field of the kernel (the
  6164. nodename field of struct utsname). In Windows containers,
  6165. this means setting the registry value of hostname
  6166. for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters
  6167. to FQDN. If a pod does not have FQDN, this has no
  6168. effect. Default to false.
  6169. type: boolean
  6170. shareProcessNamespace:
  6171. description: 'Share a single process namespace between
  6172. all of the containers in a pod. When this is set
  6173. containers will be able to view and signal processes
  6174. from other containers in the same pod, and the first
  6175. process in each container will not be assigned PID
  6176. 1. HostPID and ShareProcessNamespace cannot both
  6177. be set. Optional: Default to false.'
  6178. type: boolean
  6179. subdomain:
  6180. description: If specified, the fully qualified Pod
  6181. hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster
  6182. domain>". If not specified, the pod will not have
  6183. a domainname at all.
  6184. type: string
  6185. terminationGracePeriodSeconds:
  6186. description: Optional duration in seconds the pod
  6187. needs to terminate gracefully. May be decreased
  6188. in delete request. Value must be non-negative integer.
  6189. The value zero indicates stop immediately via the
  6190. kill signal (no opportunity to shut down). If this
  6191. value is nil, the default grace period will be used
  6192. instead. The grace period is the duration in seconds
  6193. after the processes running in the pod are sent
  6194. a termination signal and the time when the processes
  6195. are forcibly halted with a kill signal. Set this
  6196. value longer than the expected cleanup time for
  6197. your process. Defaults to 30 seconds.
  6198. format: int64
  6199. type: integer
  6200. tolerations:
  6201. description: If specified, the pod's tolerations.
  6202. items:
  6203. description: The pod this Toleration is attached
  6204. to tolerates any taint that matches the triple
  6205. <key,value,effect> using the matching operator
  6206. <operator>.
  6207. properties:
  6208. effect:
  6209. description: Effect indicates the taint effect
  6210. to match. Empty means match all taint effects.
  6211. When specified, allowed values are NoSchedule,
  6212. PreferNoSchedule and NoExecute.
  6213. type: string
  6214. key:
  6215. description: Key is the taint key that the toleration
  6216. applies to. Empty means match all taint keys.
  6217. If the key is empty, operator must be Exists;
  6218. this combination means to match all values
  6219. and all keys.
  6220. type: string
  6221. operator:
  6222. description: Operator represents a key's relationship
  6223. to the value. Valid operators are Exists and
  6224. Equal. Defaults to Equal. Exists is equivalent
  6225. to wildcard for value, so that a pod can tolerate
  6226. all taints of a particular category.
  6227. type: string
  6228. tolerationSeconds:
  6229. description: TolerationSeconds represents the
  6230. period of time the toleration (which must
  6231. be of effect NoExecute, otherwise this field
  6232. is ignored) tolerates the taint. By default,
  6233. it is not set, which means tolerate the taint
  6234. forever (do not evict). Zero and negative
  6235. values will be treated as 0 (evict immediately)
  6236. by the system.
  6237. format: int64
  6238. type: integer
  6239. value:
  6240. description: Value is the taint value the toleration
  6241. matches to. If the operator is Exists, the
  6242. value should be empty, otherwise just a regular
  6243. string.
  6244. type: string
  6245. type: object
  6246. type: array
  6247. topologySpreadConstraints:
  6248. description: TopologySpreadConstraints describes how
  6249. a group of pods ought to spread across topology
  6250. domains. Scheduler will schedule pods in a way which
  6251. abides by the constraints. All topologySpreadConstraints
  6252. are ANDed.
  6253. items:
  6254. description: TopologySpreadConstraint specifies
  6255. how to spread matching pods among the given topology.
  6256. properties:
  6257. labelSelector:
  6258. description: LabelSelector is used to find matching
  6259. pods. Pods that match this label selector
  6260. are counted to determine the number of pods
  6261. in their corresponding topology domain.
  6262. properties:
  6263. matchExpressions:
  6264. description: matchExpressions is a list
  6265. of label selector requirements. The requirements
  6266. are ANDed.
  6267. items:
  6268. description: A label selector requirement
  6269. is a selector that contains values,
  6270. a key, and an operator that relates
  6271. the key and values.
  6272. properties:
  6273. key:
  6274. description: key is the label key
  6275. that the selector applies to.
  6276. type: string
  6277. operator:
  6278. description: operator represents a
  6279. key's relationship to a set of values.
  6280. Valid operators are In, NotIn, Exists
  6281. and DoesNotExist.
  6282. type: string
  6283. values:
  6284. description: values is an array of
  6285. string values. If the operator is
  6286. In or NotIn, the values array must
  6287. be non-empty. If the operator is
  6288. Exists or DoesNotExist, the values
  6289. array must be empty. This array
  6290. is replaced during a strategic merge
  6291. patch.
  6292. items:
  6293. type: string
  6294. type: array
  6295. required:
  6296. - key
  6297. - operator
  6298. type: object
  6299. type: array
  6300. matchLabels:
  6301. additionalProperties:
  6302. type: string
  6303. description: matchLabels is a map of {key,value}
  6304. pairs. A single {key,value} in the matchLabels
  6305. map is equivalent to an element of matchExpressions,
  6306. whose key field is "key", the operator
  6307. is "In", and the values array contains
  6308. only "value". The requirements are ANDed.
  6309. type: object
  6310. type: object
  6311. x-kubernetes-map-type: atomic
  6312. matchLabelKeys:
  6313. description: MatchLabelKeys is a set of pod
  6314. label keys to select the pods over which spreading
  6315. will be calculated. The keys are used to lookup
  6316. values from the incoming pod labels, those
  6317. key-value labels are ANDed with labelSelector
  6318. to select the group of existing pods over
  6319. which spreading will be calculated for the
  6320. incoming pod. Keys that don't exist in the
  6321. incoming pod labels will be ignored. A null
  6322. or empty list means only match against labelSelector.
  6323. items:
  6324. type: string
  6325. type: array
  6326. x-kubernetes-list-type: atomic
  6327. maxSkew:
  6328. description: 'MaxSkew describes the degree to
  6329. which pods may be unevenly distributed. When
  6330. `whenUnsatisfiable=DoNotSchedule`, it is the
  6331. maximum permitted difference between the number
  6332. of matching pods in the target topology and
  6333. the global minimum. The global minimum is
  6334. the minimum number of matching pods in an
  6335. eligible domain or zero if the number of eligible
  6336. domains is less than MinDomains. For example,
  6337. in a 3-zone cluster, MaxSkew is set to 1,
  6338. and pods with the same labelSelector spread
  6339. as 2/2/1: In this case, the global minimum
  6340. is 1. | zone1 | zone2 | zone3 | | P P | P
  6341. P | P | - if MaxSkew is 1, incoming pod
  6342. can only be scheduled to zone3 to become 2/2/2;
  6343. scheduling it onto zone1(zone2) would make
  6344. the ActualSkew(3-1) on zone1(zone2) violate
  6345. MaxSkew(1). - if MaxSkew is 2, incoming pod
  6346. can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  6347. it is used to give higher precedence to topologies
  6348. that satisfy it. It''s a required field. Default
  6349. value is 1 and 0 is not allowed.'
  6350. format: int32
  6351. type: integer
  6352. minDomains:
  6353. description: "MinDomains indicates a minimum
  6354. number of eligible domains. When the number
  6355. of eligible domains with matching topology
  6356. keys is less than minDomains, Pod Topology
  6357. Spread treats \"global minimum\" as 0, and
  6358. then the calculation of Skew is performed.
  6359. And when the number of eligible domains with
  6360. matching topology keys equals or greater than
  6361. minDomains, this value has no effect on scheduling.
  6362. As a result, when the number of eligible domains
  6363. is less than minDomains, scheduler won't schedule
  6364. more than maxSkew Pods to those domains. If
  6365. value is nil, the constraint behaves as if
  6366. MinDomains is equal to 1. Valid values are
  6367. integers greater than 0. When value is not
  6368. nil, WhenUnsatisfiable must be DoNotSchedule.
  6369. \n For example, in a 3-zone cluster, MaxSkew
  6370. is set to 2, MinDomains is set to 5 and pods
  6371. with the same labelSelector spread as 2/2/2:
  6372. | zone1 | zone2 | zone3 | | P P | P P |
  6373. \ P P | The number of domains is less than
  6374. 5(MinDomains), so \"global minimum\" is treated
  6375. as 0. In this situation, new pod with the
  6376. same labelSelector cannot be scheduled, because
  6377. computed skew will be 3(3 - 0) if new Pod
  6378. is scheduled to any of the three zones, it
  6379. will violate MaxSkew. \n This is a beta field
  6380. and requires the MinDomainsInPodTopologySpread
  6381. feature gate to be enabled (enabled by default)."
  6382. format: int32
  6383. type: integer
  6384. nodeAffinityPolicy:
  6385. description: "NodeAffinityPolicy indicates how
  6386. we will treat Pod's nodeAffinity/nodeSelector
  6387. when calculating pod topology spread skew.
  6388. Options are: - Honor: only nodes matching
  6389. nodeAffinity/nodeSelector are included in
  6390. the calculations. - Ignore: nodeAffinity/nodeSelector
  6391. are ignored. All nodes are included in the
  6392. calculations. \n If this value is nil, the
  6393. behavior is equivalent to the Honor policy.
  6394. This is a alpha-level feature enabled by the
  6395. NodeInclusionPolicyInPodTopologySpread feature
  6396. flag."
  6397. type: string
  6398. nodeTaintsPolicy:
  6399. description: "NodeTaintsPolicy indicates how
  6400. we will treat node taints when calculating
  6401. pod topology spread skew. Options are: - Honor:
  6402. nodes without taints, along with tainted nodes
  6403. for which the incoming pod has a toleration,
  6404. are included. - Ignore: node taints are ignored.
  6405. All nodes are included. \n If this value is
  6406. nil, the behavior is equivalent to the Ignore
  6407. policy. This is a alpha-level feature enabled
  6408. by the NodeInclusionPolicyInPodTopologySpread
  6409. feature flag."
  6410. type: string
  6411. topologyKey:
  6412. description: TopologyKey is the key of node
  6413. labels. Nodes that have a label with this
  6414. key and identical values are considered to
  6415. be in the same topology. We consider each
  6416. <key, value> as a "bucket", and try to put
  6417. balanced number of pods into each bucket.
  6418. We define a domain as a particular instance
  6419. of a topology. Also, we define an eligible
  6420. domain as a domain whose nodes meet the requirements
  6421. of nodeAffinityPolicy and nodeTaintsPolicy.
  6422. e.g. If TopologyKey is "kubernetes.io/hostname",
  6423. each Node is a domain of that topology. And,
  6424. if TopologyKey is "topology.kubernetes.io/zone",
  6425. each zone is a domain of that topology. It's
  6426. a required field.
  6427. type: string
  6428. whenUnsatisfiable:
  6429. description: 'WhenUnsatisfiable indicates how
  6430. to deal with a pod if it doesn''t satisfy
  6431. the spread constraint. - DoNotSchedule (default)
  6432. tells the scheduler not to schedule it. -
  6433. ScheduleAnyway tells the scheduler to schedule
  6434. the pod in any location, but giving higher
  6435. precedence to topologies that would help reduce
  6436. the skew. A constraint is considered "Unsatisfiable"
  6437. for an incoming pod if and only if every possible
  6438. node assignment for that pod would violate
  6439. "MaxSkew" on some topology. For example, in
  6440. a 3-zone cluster, MaxSkew is set to 1, and
  6441. pods with the same labelSelector spread as
  6442. 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
  6443. If WhenUnsatisfiable is set to DoNotSchedule,
  6444. incoming pod can only be scheduled to zone2(zone3)
  6445. to become 3/2/1(3/1/2) as ActualSkew(2-1)
  6446. on zone2(zone3) satisfies MaxSkew(1). In other
  6447. words, the cluster can still be imbalanced,
  6448. but scheduler won''t make it *more* imbalanced.
  6449. It''s a required field.'
  6450. type: string
  6451. required:
  6452. - maxSkew
  6453. - topologyKey
  6454. - whenUnsatisfiable
  6455. type: object
  6456. type: array
  6457. x-kubernetes-list-map-keys:
  6458. - topologyKey
  6459. - whenUnsatisfiable
  6460. x-kubernetes-list-type: map
  6461. volumes:
  6462. description: 'List of volumes that can be mounted
  6463. by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  6464. items:
  6465. description: Volume represents a named volume in
  6466. a pod that may be accessed by any container in
  6467. the pod.
  6468. properties:
  6469. awsElasticBlockStore:
  6470. description: 'awsElasticBlockStore represents
  6471. an AWS Disk resource that is attached to a
  6472. kubelet''s host machine and then exposed to
  6473. the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  6474. properties:
  6475. fsType:
  6476. description: 'fsType is the filesystem type
  6477. of the volume that you want to mount.
  6478. Tip: Ensure that the filesystem type is
  6479. supported by the host operating system.
  6480. Examples: "ext4", "xfs", "ntfs". Implicitly
  6481. inferred to be "ext4" if unspecified.
  6482. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  6483. TODO: how do we prevent errors in the
  6484. filesystem from compromising the machine'
  6485. type: string
  6486. partition:
  6487. description: 'partition is the partition
  6488. in the volume that you want to mount.
  6489. If omitted, the default is to mount by
  6490. volume name. Examples: For volume /dev/sda1,
  6491. you specify the partition as "1". Similarly,
  6492. the volume partition for /dev/sda is "0"
  6493. (or you can leave the property empty).'
  6494. format: int32
  6495. type: integer
  6496. readOnly:
  6497. description: 'readOnly value true will force
  6498. the readOnly setting in VolumeMounts.
  6499. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  6500. type: boolean
  6501. volumeID:
  6502. description: 'volumeID is unique ID of the
  6503. persistent disk resource in AWS (Amazon
  6504. EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  6505. type: string
  6506. required:
  6507. - volumeID
  6508. type: object
  6509. azureDisk:
  6510. description: azureDisk represents an Azure Data
  6511. Disk mount on the host and bind mount to the
  6512. pod.
  6513. properties:
  6514. cachingMode:
  6515. description: 'cachingMode is the Host Caching
  6516. mode: None, Read Only, Read Write.'
  6517. type: string
  6518. diskName:
  6519. description: diskName is the Name of the
  6520. data disk in the blob storage
  6521. type: string
  6522. diskURI:
  6523. description: diskURI is the URI of data
  6524. disk in the blob storage
  6525. type: string
  6526. fsType:
  6527. description: fsType is Filesystem type to
  6528. mount. Must be a filesystem type supported
  6529. by the host operating system. Ex. "ext4",
  6530. "xfs", "ntfs". Implicitly inferred to
  6531. be "ext4" if unspecified.
  6532. type: string
  6533. kind:
  6534. description: 'kind expected values are Shared:
  6535. multiple blob disks per storage account Dedicated:
  6536. single blob disk per storage account Managed:
  6537. azure managed data disk (only in managed
  6538. availability set). defaults to shared'
  6539. type: string
  6540. readOnly:
  6541. description: readOnly Defaults to false
  6542. (read/write). ReadOnly here will force
  6543. the ReadOnly setting in VolumeMounts.
  6544. type: boolean
  6545. required:
  6546. - diskName
  6547. - diskURI
  6548. type: object
  6549. azureFile:
  6550. description: azureFile represents an Azure File
  6551. Service mount on the host and bind mount to
  6552. the pod.
  6553. properties:
  6554. readOnly:
  6555. description: readOnly defaults to false
  6556. (read/write). ReadOnly here will force
  6557. the ReadOnly setting in VolumeMounts.
  6558. type: boolean
  6559. secretName:
  6560. description: secretName is the name of
  6561. secret that contains Azure Storage Account
  6562. Name and Key
  6563. type: string
  6564. shareName:
  6565. description: shareName is the azure share
  6566. Name
  6567. type: string
  6568. required:
  6569. - secretName
  6570. - shareName
  6571. type: object
  6572. cephfs:
  6573. description: cephFS represents a Ceph FS mount
  6574. on the host that shares a pod's lifetime
  6575. properties:
  6576. monitors:
  6577. description: 'monitors is Required: Monitors
  6578. is a collection of Ceph monitors More
  6579. info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  6580. items:
  6581. type: string
  6582. type: array
  6583. path:
  6584. description: 'path is Optional: Used as
  6585. the mounted root, rather than the full
  6586. Ceph tree, default is /'
  6587. type: string
  6588. readOnly:
  6589. description: 'readOnly is Optional: Defaults
  6590. to false (read/write). ReadOnly here will
  6591. force the ReadOnly setting in VolumeMounts.
  6592. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  6593. type: boolean
  6594. secretFile:
  6595. description: 'secretFile is Optional: SecretFile
  6596. is the path to key ring for User, default
  6597. is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  6598. type: string
  6599. secretRef:
  6600. description: 'secretRef is Optional: SecretRef
  6601. is reference to the authentication secret
  6602. for User, default is empty. More info:
  6603. https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  6604. properties:
  6605. name:
  6606. description: 'Name of the referent.
  6607. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6608. TODO: Add other useful fields. apiVersion,
  6609. kind, uid?'
  6610. type: string
  6611. type: object
  6612. x-kubernetes-map-type: atomic
  6613. user:
  6614. description: 'user is optional: User is
  6615. the rados user name, default is admin
  6616. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  6617. type: string
  6618. required:
  6619. - monitors
  6620. type: object
  6621. cinder:
  6622. description: 'cinder represents a cinder volume
  6623. attached and mounted on kubelets host machine.
  6624. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  6625. properties:
  6626. fsType:
  6627. description: 'fsType is the filesystem type
  6628. to mount. Must be a filesystem type supported
  6629. by the host operating system. Examples:
  6630. "ext4", "xfs", "ntfs". Implicitly inferred
  6631. to be "ext4" if unspecified. More info:
  6632. https://examples.k8s.io/mysql-cinder-pd/README.md'
  6633. type: string
  6634. readOnly:
  6635. description: 'readOnly defaults to false
  6636. (read/write). ReadOnly here will force
  6637. the ReadOnly setting in VolumeMounts.
  6638. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  6639. type: boolean
  6640. secretRef:
  6641. description: 'secretRef is optional: points
  6642. to a secret object containing parameters
  6643. used to connect to OpenStack.'
  6644. properties:
  6645. name:
  6646. description: 'Name of the referent.
  6647. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6648. TODO: Add other useful fields. apiVersion,
  6649. kind, uid?'
  6650. type: string
  6651. type: object
  6652. x-kubernetes-map-type: atomic
  6653. volumeID:
  6654. description: 'volumeID used to identify
  6655. the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  6656. type: string
  6657. required:
  6658. - volumeID
  6659. type: object
  6660. configMap:
  6661. description: configMap represents a configMap
  6662. that should populate this volume
  6663. properties:
  6664. defaultMode:
  6665. description: 'defaultMode is optional: mode
  6666. bits used to set permissions on created
  6667. files by default. Must be an octal value
  6668. between 0000 and 0777 or a decimal value
  6669. between 0 and 511. YAML accepts both octal
  6670. and decimal values, JSON requires decimal
  6671. values for mode bits. Defaults to 0644.
  6672. Directories within the path are not affected
  6673. by this setting. This might be in conflict
  6674. with other options that affect the file
  6675. mode, like fsGroup, and the result can
  6676. be other mode bits set.'
  6677. format: int32
  6678. type: integer
  6679. items:
  6680. description: items if unspecified, each
  6681. key-value pair in the Data field of the
  6682. referenced ConfigMap will be projected
  6683. into the volume as a file whose name is
  6684. the key and content is the value. If specified,
  6685. the listed keys will be projected into
  6686. the specified paths, and unlisted keys
  6687. will not be present. If a key is specified
  6688. which is not present in the ConfigMap,
  6689. the volume setup will error unless it
  6690. is marked optional. Paths must be relative
  6691. and may not contain the '..' path or start
  6692. with '..'.
  6693. items:
  6694. description: Maps a string key to a path
  6695. within a volume.
  6696. properties:
  6697. key:
  6698. description: key is the key to project.
  6699. type: string
  6700. mode:
  6701. description: 'mode is Optional: mode
  6702. bits used to set permissions on
  6703. this file. Must be an octal value
  6704. between 0000 and 0777 or a decimal
  6705. value between 0 and 511. YAML accepts
  6706. both octal and decimal values, JSON
  6707. requires decimal values for mode
  6708. bits. If not specified, the volume
  6709. defaultMode will be used. This might
  6710. be in conflict with other options
  6711. that affect the file mode, like
  6712. fsGroup, and the result can be other
  6713. mode bits set.'
  6714. format: int32
  6715. type: integer
  6716. path:
  6717. description: path is the relative
  6718. path of the file to map the key
  6719. to. May not be an absolute path.
  6720. May not contain the path element
  6721. '..'. May not start with the string
  6722. '..'.
  6723. type: string
  6724. required:
  6725. - key
  6726. - path
  6727. type: object
  6728. type: array
  6729. name:
  6730. description: 'Name of the referent. More
  6731. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6732. TODO: Add other useful fields. apiVersion,
  6733. kind, uid?'
  6734. type: string
  6735. optional:
  6736. description: optional specify whether the
  6737. ConfigMap or its keys must be defined
  6738. type: boolean
  6739. type: object
  6740. x-kubernetes-map-type: atomic
  6741. csi:
  6742. description: csi (Container Storage Interface)
  6743. represents ephemeral storage that is handled
  6744. by certain external CSI drivers (Beta feature).
  6745. properties:
  6746. driver:
  6747. description: driver is the name of the CSI
  6748. driver that handles this volume. Consult
  6749. with your admin for the correct name as
  6750. registered in the cluster.
  6751. type: string
  6752. fsType:
  6753. description: fsType to mount. Ex. "ext4",
  6754. "xfs", "ntfs". If not provided, the empty
  6755. value is passed to the associated CSI
  6756. driver which will determine the default
  6757. filesystem to apply.
  6758. type: string
  6759. nodePublishSecretRef:
  6760. description: nodePublishSecretRef is a reference
  6761. to the secret object containing sensitive
  6762. information to pass to the CSI driver
  6763. to complete the CSI NodePublishVolume
  6764. and NodeUnpublishVolume calls. This field
  6765. is optional, and may be empty if no secret
  6766. is required. If the secret object contains
  6767. more than one secret, all secret references
  6768. are passed.
  6769. properties:
  6770. name:
  6771. description: 'Name of the referent.
  6772. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6773. TODO: Add other useful fields. apiVersion,
  6774. kind, uid?'
  6775. type: string
  6776. type: object
  6777. x-kubernetes-map-type: atomic
  6778. readOnly:
  6779. description: readOnly specifies a read-only
  6780. configuration for the volume. Defaults
  6781. to false (read/write).
  6782. type: boolean
  6783. volumeAttributes:
  6784. additionalProperties:
  6785. type: string
  6786. description: volumeAttributes stores driver-specific
  6787. properties that are passed to the CSI
  6788. driver. Consult your driver's documentation
  6789. for supported values.
  6790. type: object
  6791. required:
  6792. - driver
  6793. type: object
  6794. downwardAPI:
  6795. description: downwardAPI represents downward
  6796. API about the pod that should populate this
  6797. volume
  6798. properties:
  6799. defaultMode:
  6800. description: 'Optional: mode bits to use
  6801. on created files by default. Must be a
  6802. Optional: mode bits used to set permissions
  6803. on created files by default. Must be an
  6804. octal value between 0000 and 0777 or a
  6805. decimal value between 0 and 511. YAML
  6806. accepts both octal and decimal values,
  6807. JSON requires decimal values for mode
  6808. bits. Defaults to 0644. Directories within
  6809. the path are not affected by this setting.
  6810. This might be in conflict with other options
  6811. that affect the file mode, like fsGroup,
  6812. and the result can be other mode bits
  6813. set.'
  6814. format: int32
  6815. type: integer
  6816. items:
  6817. description: Items is a list of downward
  6818. API volume file
  6819. items:
  6820. description: DownwardAPIVolumeFile represents
  6821. information to create the file containing
  6822. the pod field
  6823. properties:
  6824. fieldRef:
  6825. description: 'Required: Selects a
  6826. field of the pod: only annotations,
  6827. labels, name and namespace are supported.'
  6828. properties:
  6829. apiVersion:
  6830. description: Version of the schema
  6831. the FieldPath is written in
  6832. terms of, defaults to "v1".
  6833. type: string
  6834. fieldPath:
  6835. description: Path of the field
  6836. to select in the specified API
  6837. version.
  6838. type: string
  6839. required:
  6840. - fieldPath
  6841. type: object
  6842. x-kubernetes-map-type: atomic
  6843. mode:
  6844. description: 'Optional: mode bits
  6845. used to set permissions on this
  6846. file, must be an octal value between
  6847. 0000 and 0777 or a decimal value
  6848. between 0 and 511. YAML accepts
  6849. both octal and decimal values, JSON
  6850. requires decimal values for mode
  6851. bits. If not specified, the volume
  6852. defaultMode will be used. This might
  6853. be in conflict with other options
  6854. that affect the file mode, like
  6855. fsGroup, and the result can be other
  6856. mode bits set.'
  6857. format: int32
  6858. type: integer
  6859. path:
  6860. description: 'Required: Path is the
  6861. relative path name of the file to
  6862. be created. Must not be absolute
  6863. or contain the ''..'' path. Must
  6864. be utf-8 encoded. The first item
  6865. of the relative path must not start
  6866. with ''..'''
  6867. type: string
  6868. resourceFieldRef:
  6869. description: 'Selects a resource of
  6870. the container: only resources limits
  6871. and requests (limits.cpu, limits.memory,
  6872. requests.cpu and requests.memory)
  6873. are currently supported.'
  6874. properties:
  6875. containerName:
  6876. description: 'Container name:
  6877. required for volumes, optional
  6878. for env vars'
  6879. type: string
  6880. divisor:
  6881. anyOf:
  6882. - type: integer
  6883. - type: string
  6884. description: Specifies the output
  6885. format of the exposed resources,
  6886. defaults to "1"
  6887. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6888. x-kubernetes-int-or-string: true
  6889. resource:
  6890. description: 'Required: resource
  6891. to select'
  6892. type: string
  6893. required:
  6894. - resource
  6895. type: object
  6896. x-kubernetes-map-type: atomic
  6897. required:
  6898. - path
  6899. type: object
  6900. type: array
  6901. type: object
  6902. emptyDir:
  6903. description: 'emptyDir represents a temporary
  6904. directory that shares a pod''s lifetime. More
  6905. info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  6906. properties:
  6907. medium:
  6908. description: 'medium represents what type
  6909. of storage medium should back this directory.
  6910. The default is "" which means to use the
  6911. node''s default medium. Must be an empty
  6912. string (default) or Memory. More info:
  6913. https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  6914. type: string
  6915. sizeLimit:
  6916. anyOf:
  6917. - type: integer
  6918. - type: string
  6919. description: 'sizeLimit is the total amount
  6920. of local storage required for this EmptyDir
  6921. volume. The size limit is also applicable
  6922. for memory medium. The maximum usage on
  6923. memory medium EmptyDir would be the minimum
  6924. value between the SizeLimit specified
  6925. here and the sum of memory limits of all
  6926. containers in a pod. The default is nil
  6927. which means that the limit is undefined.
  6928. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  6929. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6930. x-kubernetes-int-or-string: true
  6931. type: object
  6932. ephemeral:
  6933. description: "ephemeral represents a volume
  6934. that is handled by a cluster storage driver.
  6935. The volume's lifecycle is tied to the pod
  6936. that defines it - it will be created before
  6937. the pod starts, and deleted when the pod is
  6938. removed. \n Use this if: a) the volume is
  6939. only needed while the pod runs, b) features
  6940. of normal volumes like restoring from snapshot
  6941. or capacity tracking are needed, c) the storage
  6942. driver is specified through a storage class,
  6943. and d) the storage driver supports dynamic
  6944. volume provisioning through a PersistentVolumeClaim
  6945. (see EphemeralVolumeSource for more information
  6946. on the connection between this volume type
  6947. and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  6948. or one of the vendor-specific APIs for volumes
  6949. that persist for longer than the lifecycle
  6950. of an individual pod. \n Use CSI for light-weight
  6951. local ephemeral volumes if the CSI driver
  6952. is meant to be used that way - see the documentation
  6953. of the driver for more information. \n A pod
  6954. can use both types of ephemeral volumes and
  6955. persistent volumes at the same time."
  6956. properties:
  6957. volumeClaimTemplate:
  6958. description: "Will be used to create a stand-alone
  6959. PVC to provision the volume. The pod in
  6960. which this EphemeralVolumeSource is embedded
  6961. will be the owner of the PVC, i.e. the
  6962. PVC will be deleted together with the
  6963. pod. The name of the PVC will be `<pod
  6964. name>-<volume name>` where `<volume name>`
  6965. is the name from the `PodSpec.Volumes`
  6966. array entry. Pod validation will reject
  6967. the pod if the concatenated name is not
  6968. valid for a PVC (for example, too long).
  6969. \n An existing PVC with that name that
  6970. is not owned by the pod will *not* be
  6971. used for the pod to avoid using an unrelated
  6972. volume by mistake. Starting the pod is
  6973. then blocked until the unrelated PVC is
  6974. removed. If such a pre-created PVC is
  6975. meant to be used by the pod, the PVC has
  6976. to updated with an owner reference to
  6977. the pod once the pod exists. Normally
  6978. this should not be necessary, but it may
  6979. be useful when manually reconstructing
  6980. a broken cluster. \n This field is read-only
  6981. and no changes will be made by Kubernetes
  6982. to the PVC after it has been created.
  6983. \n Required, must not be nil."
  6984. properties:
  6985. metadata:
  6986. description: May contain labels and
  6987. annotations that will be copied into
  6988. the PVC when creating it. No other
  6989. fields are allowed and will be rejected
  6990. during validation.
  6991. type: object
  6992. spec:
  6993. description: The specification for the
  6994. PersistentVolumeClaim. The entire
  6995. content is copied unchanged into the
  6996. PVC that gets created from this template.
  6997. The same fields as in a PersistentVolumeClaim
  6998. are also valid here.
  6999. properties:
  7000. accessModes:
  7001. description: 'accessModes contains
  7002. the desired access modes the volume
  7003. should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  7004. items:
  7005. type: string
  7006. type: array
  7007. dataSource:
  7008. description: 'dataSource field can
  7009. be used to specify either: * An
  7010. existing VolumeSnapshot object
  7011. (snapshot.storage.k8s.io/VolumeSnapshot)
  7012. * An existing PVC (PersistentVolumeClaim)
  7013. If the provisioner or an external
  7014. controller can support the specified
  7015. data source, it will create a
  7016. new volume based on the contents
  7017. of the specified data source.
  7018. If the AnyVolumeDataSource feature
  7019. gate is enabled, this field will
  7020. always have the same contents
  7021. as the DataSourceRef field.'
  7022. properties:
  7023. apiGroup:
  7024. description: APIGroup is the
  7025. group for the resource being
  7026. referenced. If APIGroup is
  7027. not specified, the specified
  7028. Kind must be in the core API
  7029. group. For any other third-party
  7030. types, APIGroup is required.
  7031. type: string
  7032. kind:
  7033. description: Kind is the type
  7034. of resource being referenced
  7035. type: string
  7036. name:
  7037. description: Name is the name
  7038. of resource being referenced
  7039. type: string
  7040. required:
  7041. - kind
  7042. - name
  7043. type: object
  7044. x-kubernetes-map-type: atomic
  7045. dataSourceRef:
  7046. description: 'dataSourceRef specifies
  7047. the object from which to populate
  7048. the volume with data, if a non-empty
  7049. volume is desired. This may be
  7050. any local object from a non-empty
  7051. API group (non core object) or
  7052. a PersistentVolumeClaim object.
  7053. When this field is specified,
  7054. volume binding will only succeed
  7055. if the type of the specified object
  7056. matches some installed volume
  7057. populator or dynamic provisioner.
  7058. This field will replace the functionality
  7059. of the DataSource field and as
  7060. such if both fields are non-empty,
  7061. they must have the same value.
  7062. For backwards compatibility, both
  7063. fields (DataSource and DataSourceRef)
  7064. will be set to the same value
  7065. automatically if one of them is
  7066. empty and the other is non-empty.
  7067. There are two important differences
  7068. between DataSource and DataSourceRef:
  7069. * While DataSource only allows
  7070. two specific types of objects,
  7071. DataSourceRef allows any non-core
  7072. object, as well as PersistentVolumeClaim
  7073. objects. * While DataSource ignores
  7074. disallowed values (dropping them),
  7075. DataSourceRef preserves all values,
  7076. and generates an error if a disallowed
  7077. value is specified. (Beta) Using
  7078. this field requires the AnyVolumeDataSource
  7079. feature gate to be enabled.'
  7080. properties:
  7081. apiGroup:
  7082. description: APIGroup is the
  7083. group for the resource being
  7084. referenced. If APIGroup is
  7085. not specified, the specified
  7086. Kind must be in the core API
  7087. group. For any other third-party
  7088. types, APIGroup is required.
  7089. type: string
  7090. kind:
  7091. description: Kind is the type
  7092. of resource being referenced
  7093. type: string
  7094. name:
  7095. description: Name is the name
  7096. of resource being referenced
  7097. type: string
  7098. required:
  7099. - kind
  7100. - name
  7101. type: object
  7102. x-kubernetes-map-type: atomic
  7103. resources:
  7104. description: 'resources represents
  7105. the minimum resources the volume
  7106. should have. If RecoverVolumeExpansionFailure
  7107. feature is enabled users are allowed
  7108. to specify resource requirements
  7109. that are lower than previous value
  7110. but must still be higher than
  7111. capacity recorded in the status
  7112. field of the claim. More info:
  7113. https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  7114. properties:
  7115. limits:
  7116. additionalProperties:
  7117. anyOf:
  7118. - type: integer
  7119. - type: string
  7120. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7121. x-kubernetes-int-or-string: true
  7122. description: 'Limits describes
  7123. the maximum amount of compute
  7124. resources allowed. More info:
  7125. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  7126. type: object
  7127. requests:
  7128. additionalProperties:
  7129. anyOf:
  7130. - type: integer
  7131. - type: string
  7132. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7133. x-kubernetes-int-or-string: true
  7134. description: 'Requests describes
  7135. the minimum amount of compute
  7136. resources required. If Requests
  7137. is omitted for a container,
  7138. it defaults to Limits if that
  7139. is explicitly specified, otherwise
  7140. to an implementation-defined
  7141. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  7142. type: object
  7143. type: object
  7144. selector:
  7145. description: selector is a label
  7146. query over volumes to consider
  7147. for binding.
  7148. properties:
  7149. matchExpressions:
  7150. description: matchExpressions
  7151. is a list of label selector
  7152. requirements. The requirements
  7153. are ANDed.
  7154. items:
  7155. description: A label selector
  7156. requirement is a selector
  7157. that contains values, a
  7158. key, and an operator that
  7159. relates the key and values.
  7160. properties:
  7161. key:
  7162. description: key is the
  7163. label key that the selector
  7164. applies to.
  7165. type: string
  7166. operator:
  7167. description: operator
  7168. represents a key's relationship
  7169. to a set of values.
  7170. Valid operators are
  7171. In, NotIn, Exists and
  7172. DoesNotExist.
  7173. type: string
  7174. values:
  7175. description: values is
  7176. an array of string values.
  7177. If the operator is In
  7178. or NotIn, the values
  7179. array must be non-empty.
  7180. If the operator is Exists
  7181. or DoesNotExist, the
  7182. values array must be
  7183. empty. This array is
  7184. replaced during a strategic
  7185. merge patch.
  7186. items:
  7187. type: string
  7188. type: array
  7189. required:
  7190. - key
  7191. - operator
  7192. type: object
  7193. type: array
  7194. matchLabels:
  7195. additionalProperties:
  7196. type: string
  7197. description: matchLabels is
  7198. a map of {key,value} pairs.
  7199. A single {key,value} in the
  7200. matchLabels map is equivalent
  7201. to an element of matchExpressions,
  7202. whose key field is "key",
  7203. the operator is "In", and
  7204. the values array contains
  7205. only "value". The requirements
  7206. are ANDed.
  7207. type: object
  7208. type: object
  7209. x-kubernetes-map-type: atomic
  7210. storageClassName:
  7211. description: 'storageClassName is
  7212. the name of the StorageClass required
  7213. by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  7214. type: string
  7215. volumeMode:
  7216. description: volumeMode defines
  7217. what type of volume is required
  7218. by the claim. Value of Filesystem
  7219. is implied when not included in
  7220. claim spec.
  7221. type: string
  7222. volumeName:
  7223. description: volumeName is the binding
  7224. reference to the PersistentVolume
  7225. backing this claim.
  7226. type: string
  7227. type: object
  7228. required:
  7229. - spec
  7230. type: object
  7231. type: object
  7232. fc:
  7233. description: fc represents a Fibre Channel resource
  7234. that is attached to a kubelet's host machine
  7235. and then exposed to the pod.
  7236. properties:
  7237. fsType:
  7238. description: 'fsType is the filesystem type
  7239. to mount. Must be a filesystem type supported
  7240. by the host operating system. Ex. "ext4",
  7241. "xfs", "ntfs". Implicitly inferred to
  7242. be "ext4" if unspecified. TODO: how do
  7243. we prevent errors in the filesystem from
  7244. compromising the machine'
  7245. type: string
  7246. lun:
  7247. description: 'lun is Optional: FC target
  7248. lun number'
  7249. format: int32
  7250. type: integer
  7251. readOnly:
  7252. description: 'readOnly is Optional: Defaults
  7253. to false (read/write). ReadOnly here will
  7254. force the ReadOnly setting in VolumeMounts.'
  7255. type: boolean
  7256. targetWWNs:
  7257. description: 'targetWWNs is Optional: FC
  7258. target worldwide names (WWNs)'
  7259. items:
  7260. type: string
  7261. type: array
  7262. wwids:
  7263. description: 'wwids Optional: FC volume
  7264. world wide identifiers (wwids) Either
  7265. wwids or combination of targetWWNs and
  7266. lun must be set, but not both simultaneously.'
  7267. items:
  7268. type: string
  7269. type: array
  7270. type: object
  7271. flexVolume:
  7272. description: flexVolume represents a generic
  7273. volume resource that is provisioned/attached
  7274. using an exec based plugin.
  7275. properties:
  7276. driver:
  7277. description: driver is the name of the driver
  7278. to use for this volume.
  7279. type: string
  7280. fsType:
  7281. description: fsType is the filesystem type
  7282. to mount. Must be a filesystem type supported
  7283. by the host operating system. Ex. "ext4",
  7284. "xfs", "ntfs". The default filesystem
  7285. depends on FlexVolume script.
  7286. type: string
  7287. options:
  7288. additionalProperties:
  7289. type: string
  7290. description: 'options is Optional: this
  7291. field holds extra command options if any.'
  7292. type: object
  7293. readOnly:
  7294. description: 'readOnly is Optional: defaults
  7295. to false (read/write). ReadOnly here will
  7296. force the ReadOnly setting in VolumeMounts.'
  7297. type: boolean
  7298. secretRef:
  7299. description: 'secretRef is Optional: secretRef
  7300. is reference to the secret object containing
  7301. sensitive information to pass to the plugin
  7302. scripts. This may be empty if no secret
  7303. object is specified. If the secret object
  7304. contains more than one secret, all secrets
  7305. are passed to the plugin scripts.'
  7306. properties:
  7307. name:
  7308. description: 'Name of the referent.
  7309. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7310. TODO: Add other useful fields. apiVersion,
  7311. kind, uid?'
  7312. type: string
  7313. type: object
  7314. x-kubernetes-map-type: atomic
  7315. required:
  7316. - driver
  7317. type: object
  7318. flocker:
  7319. description: flocker represents a Flocker volume
  7320. attached to a kubelet's host machine. This
  7321. depends on the Flocker control service being
  7322. running
  7323. properties:
  7324. datasetName:
  7325. description: datasetName is Name of the
  7326. dataset stored as metadata -> name on
  7327. the dataset for Flocker should be considered
  7328. as deprecated
  7329. type: string
  7330. datasetUUID:
  7331. description: datasetUUID is the UUID of
  7332. the dataset. This is unique identifier
  7333. of a Flocker dataset
  7334. type: string
  7335. type: object
  7336. gcePersistentDisk:
  7337. description: 'gcePersistentDisk represents a
  7338. GCE Disk resource that is attached to a kubelet''s
  7339. host machine and then exposed to the pod.
  7340. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  7341. properties:
  7342. fsType:
  7343. description: 'fsType is filesystem type
  7344. of the volume that you want to mount.
  7345. Tip: Ensure that the filesystem type is
  7346. supported by the host operating system.
  7347. Examples: "ext4", "xfs", "ntfs". Implicitly
  7348. inferred to be "ext4" if unspecified.
  7349. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  7350. TODO: how do we prevent errors in the
  7351. filesystem from compromising the machine'
  7352. type: string
  7353. partition:
  7354. description: 'partition is the partition
  7355. in the volume that you want to mount.
  7356. If omitted, the default is to mount by
  7357. volume name. Examples: For volume /dev/sda1,
  7358. you specify the partition as "1". Similarly,
  7359. the volume partition for /dev/sda is "0"
  7360. (or you can leave the property empty).
  7361. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  7362. format: int32
  7363. type: integer
  7364. pdName:
  7365. description: 'pdName is unique name of the
  7366. PD resource in GCE. Used to identify the
  7367. disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  7368. type: string
  7369. readOnly:
  7370. description: 'readOnly here will force the
  7371. ReadOnly setting in VolumeMounts. Defaults
  7372. to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  7373. type: boolean
  7374. required:
  7375. - pdName
  7376. type: object
  7377. gitRepo:
  7378. description: 'gitRepo represents a git repository
  7379. at a particular revision. DEPRECATED: GitRepo
  7380. is deprecated. To provision a container with
  7381. a git repo, mount an EmptyDir into an InitContainer
  7382. that clones the repo using git, then mount
  7383. the EmptyDir into the Pod''s container.'
  7384. properties:
  7385. directory:
  7386. description: directory is the target directory
  7387. name. Must not contain or start with '..'. If
  7388. '.' is supplied, the volume directory
  7389. will be the git repository. Otherwise,
  7390. if specified, the volume will contain
  7391. the git repository in the subdirectory
  7392. with the given name.
  7393. type: string
  7394. repository:
  7395. description: repository is the URL
  7396. type: string
  7397. revision:
  7398. description: revision is the commit hash
  7399. for the specified revision.
  7400. type: string
  7401. required:
  7402. - repository
  7403. type: object
  7404. glusterfs:
  7405. description: 'glusterfs represents a Glusterfs
  7406. mount on the host that shares a pod''s lifetime.
  7407. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  7408. properties:
  7409. endpoints:
  7410. description: 'endpoints is the endpoint
  7411. name that details Glusterfs topology.
  7412. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  7413. type: string
  7414. path:
  7415. description: 'path is the Glusterfs volume
  7416. path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  7417. type: string
  7418. readOnly:
  7419. description: 'readOnly here will force the
  7420. Glusterfs volume to be mounted with read-only
  7421. permissions. Defaults to false. More info:
  7422. https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  7423. type: boolean
  7424. required:
  7425. - endpoints
  7426. - path
  7427. type: object
  7428. hostPath:
  7429. description: 'hostPath represents a pre-existing
  7430. file or directory on the host machine that
  7431. is directly exposed to the container. This
  7432. is generally used for system agents or other
  7433. privileged things that are allowed to see
  7434. the host machine. Most containers will NOT
  7435. need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  7436. --- TODO(jonesdl) We need to restrict who
  7437. can use host directory mounts and who can/can
  7438. not mount host directories as read/write.'
  7439. properties:
  7440. path:
  7441. description: 'path of the directory on the
  7442. host. If the path is a symlink, it will
  7443. follow the link to the real path. More
  7444. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  7445. type: string
  7446. type:
  7447. description: 'type for HostPath Volume Defaults
  7448. to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  7449. type: string
  7450. required:
  7451. - path
  7452. type: object
  7453. iscsi:
  7454. description: 'iscsi represents an ISCSI Disk
  7455. resource that is attached to a kubelet''s
  7456. host machine and then exposed to the pod.
  7457. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  7458. properties:
  7459. chapAuthDiscovery:
  7460. description: chapAuthDiscovery defines whether
  7461. support iSCSI Discovery CHAP authentication
  7462. type: boolean
  7463. chapAuthSession:
  7464. description: chapAuthSession defines whether
  7465. support iSCSI Session CHAP authentication
  7466. type: boolean
  7467. fsType:
  7468. description: 'fsType is the filesystem type
  7469. of the volume that you want to mount.
  7470. Tip: Ensure that the filesystem type is
  7471. supported by the host operating system.
  7472. Examples: "ext4", "xfs", "ntfs". Implicitly
  7473. inferred to be "ext4" if unspecified.
  7474. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  7475. TODO: how do we prevent errors in the
  7476. filesystem from compromising the machine'
  7477. type: string
  7478. initiatorName:
  7479. description: initiatorName is the custom
  7480. iSCSI Initiator Name. If initiatorName
  7481. is specified with iscsiInterface simultaneously,
  7482. new iSCSI interface <target portal>:<volume
  7483. name> will be created for the connection.
  7484. type: string
  7485. iqn:
  7486. description: iqn is the target iSCSI Qualified
  7487. Name.
  7488. type: string
  7489. iscsiInterface:
  7490. description: iscsiInterface is the interface
  7491. Name that uses an iSCSI transport. Defaults
  7492. to 'default' (tcp).
  7493. type: string
  7494. lun:
  7495. description: lun represents iSCSI Target
  7496. Lun number.
  7497. format: int32
  7498. type: integer
  7499. portals:
  7500. description: portals is the iSCSI Target
  7501. Portal List. The portal is either an IP
  7502. or ip_addr:port if the port is other than
  7503. default (typically TCP ports 860 and 3260).
  7504. items:
  7505. type: string
  7506. type: array
  7507. readOnly:
  7508. description: readOnly here will force the
  7509. ReadOnly setting in VolumeMounts. Defaults
  7510. to false.
  7511. type: boolean
  7512. secretRef:
  7513. description: secretRef is the CHAP Secret
  7514. for iSCSI target and initiator authentication
  7515. properties:
  7516. name:
  7517. description: 'Name of the referent.
  7518. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7519. TODO: Add other useful fields. apiVersion,
  7520. kind, uid?'
  7521. type: string
  7522. type: object
  7523. x-kubernetes-map-type: atomic
  7524. targetPortal:
  7525. description: targetPortal is iSCSI Target
  7526. Portal. The Portal is either an IP or
  7527. ip_addr:port if the port is other than
  7528. default (typically TCP ports 860 and 3260).
  7529. type: string
  7530. required:
  7531. - iqn
  7532. - lun
  7533. - targetPortal
  7534. type: object
  7535. name:
  7536. description: 'name of the volume. Must be a
  7537. DNS_LABEL and unique within the pod. More
  7538. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  7539. type: string
  7540. nfs:
  7541. description: 'nfs represents an NFS mount on
  7542. the host that shares a pod''s lifetime More
  7543. info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  7544. properties:
  7545. path:
  7546. description: 'path that is exported by the
  7547. NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  7548. type: string
  7549. readOnly:
  7550. description: 'readOnly here will force the
  7551. NFS export to be mounted with read-only
  7552. permissions. Defaults to false. More info:
  7553. https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  7554. type: boolean
  7555. server:
  7556. description: 'server is the hostname or
  7557. IP address of the NFS server. More info:
  7558. https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  7559. type: string
  7560. required:
  7561. - path
  7562. - server
  7563. type: object
  7564. persistentVolumeClaim:
  7565. description: 'persistentVolumeClaimVolumeSource
  7566. represents a reference to a PersistentVolumeClaim
  7567. in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  7568. properties:
  7569. claimName:
  7570. description: 'claimName is the name of a
  7571. PersistentVolumeClaim in the same namespace
  7572. as the pod using this volume. More info:
  7573. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  7574. type: string
  7575. readOnly:
  7576. description: readOnly Will force the ReadOnly
  7577. setting in VolumeMounts. Default false.
  7578. type: boolean
  7579. required:
  7580. - claimName
  7581. type: object
  7582. photonPersistentDisk:
  7583. description: photonPersistentDisk represents
  7584. a PhotonController persistent disk attached
  7585. and mounted on kubelets host machine
  7586. properties:
  7587. fsType:
  7588. description: fsType is the filesystem type
  7589. to mount. Must be a filesystem type supported
  7590. by the host operating system. Ex. "ext4",
  7591. "xfs", "ntfs". Implicitly inferred to
  7592. be "ext4" if unspecified.
  7593. type: string
  7594. pdID:
  7595. description: pdID is the ID that identifies
  7596. Photon Controller persistent disk
  7597. type: string
  7598. required:
  7599. - pdID
  7600. type: object
  7601. portworxVolume:
  7602. description: portworxVolume represents a portworx
  7603. volume attached and mounted on kubelets host
  7604. machine
  7605. properties:
  7606. fsType:
  7607. description: fSType represents the filesystem
  7608. type to mount Must be a filesystem type
  7609. supported by the host operating system.
  7610. Ex. "ext4", "xfs". Implicitly inferred
  7611. to be "ext4" if unspecified.
  7612. type: string
  7613. readOnly:
  7614. description: readOnly defaults to false
  7615. (read/write). ReadOnly here will force
  7616. the ReadOnly setting in VolumeMounts.
  7617. type: boolean
  7618. volumeID:
  7619. description: volumeID uniquely identifies
  7620. a Portworx volume
  7621. type: string
  7622. required:
  7623. - volumeID
  7624. type: object
  7625. projected:
  7626. description: projected items for all in one
  7627. resources secrets, configmaps, and downward
  7628. API
  7629. properties:
  7630. defaultMode:
  7631. description: defaultMode are the mode bits
  7632. used to set permissions on created files
  7633. by default. Must be an octal value between
  7634. 0000 and 0777 or a decimal value between
  7635. 0 and 511. YAML accepts both octal and
  7636. decimal values, JSON requires decimal
  7637. values for mode bits. Directories within
  7638. the path are not affected by this setting.
  7639. This might be in conflict with other options
  7640. that affect the file mode, like fsGroup,
  7641. and the result can be other mode bits
  7642. set.
  7643. format: int32
  7644. type: integer
  7645. sources:
  7646. description: sources is the list of volume
  7647. projections
  7648. items:
  7649. description: Projection that may be projected
  7650. along with other supported volume types
  7651. properties:
  7652. configMap:
  7653. description: configMap information
  7654. about the configMap data to project
  7655. properties:
  7656. items:
  7657. description: items if unspecified,
  7658. each key-value pair in the Data
  7659. field of the referenced ConfigMap
  7660. will be projected into the volume
  7661. as a file whose name is the
  7662. key and content is the value.
  7663. If specified, the listed keys
  7664. will be projected into the specified
  7665. paths, and unlisted keys will
  7666. not be present. If a key is
  7667. specified which is not present
  7668. in the ConfigMap, the volume
  7669. setup will error unless it is
  7670. marked optional. Paths must
  7671. be relative and may not contain
  7672. the '..' path or start with
  7673. '..'.
  7674. items:
  7675. description: Maps a string key
  7676. to a path within a volume.
  7677. properties:
  7678. key:
  7679. description: key is the
  7680. key to project.
  7681. type: string
  7682. mode:
  7683. description: 'mode is Optional:
  7684. mode bits used to set
  7685. permissions on this file.
  7686. Must be an octal value
  7687. between 0000 and 0777
  7688. or a decimal value between
  7689. 0 and 511. YAML accepts
  7690. both octal and decimal
  7691. values, JSON requires
  7692. decimal values for mode
  7693. bits. If not specified,
  7694. the volume defaultMode
  7695. will be used. This might
  7696. be in conflict with other
  7697. options that affect the
  7698. file mode, like fsGroup,
  7699. and the result can be
  7700. other mode bits set.'
  7701. format: int32
  7702. type: integer
  7703. path:
  7704. description: path is the
  7705. relative path of the file
  7706. to map the key to. May
  7707. not be an absolute path.
  7708. May not contain the path
  7709. element '..'. May not
  7710. start with the string
  7711. '..'.
  7712. type: string
  7713. required:
  7714. - key
  7715. - path
  7716. type: object
  7717. type: array
  7718. name:
  7719. description: 'Name of the referent.
  7720. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7721. TODO: Add other useful fields.
  7722. apiVersion, kind, uid?'
  7723. type: string
  7724. optional:
  7725. description: optional specify
  7726. whether the ConfigMap or its
  7727. keys must be defined
  7728. type: boolean
  7729. type: object
  7730. x-kubernetes-map-type: atomic
  7731. downwardAPI:
  7732. description: downwardAPI information
  7733. about the downwardAPI data to project
  7734. properties:
  7735. items:
  7736. description: Items is a list of
  7737. DownwardAPIVolume file
  7738. items:
  7739. description: DownwardAPIVolumeFile
  7740. represents information to
  7741. create the file containing
  7742. the pod field
  7743. properties:
  7744. fieldRef:
  7745. description: 'Required:
  7746. Selects a field of the
  7747. pod: only annotations,
  7748. labels, name and namespace
  7749. are supported.'
  7750. properties:
  7751. apiVersion:
  7752. description: Version
  7753. of the schema the
  7754. FieldPath is written
  7755. in terms of, defaults
  7756. to "v1".
  7757. type: string
  7758. fieldPath:
  7759. description: Path of
  7760. the field to select
  7761. in the specified API
  7762. version.
  7763. type: string
  7764. required:
  7765. - fieldPath
  7766. type: object
  7767. x-kubernetes-map-type: atomic
  7768. mode:
  7769. description: 'Optional:
  7770. mode bits used to set
  7771. permissions on this file,
  7772. must be an octal value
  7773. between 0000 and 0777
  7774. or a decimal value between
  7775. 0 and 511. YAML accepts
  7776. both octal and decimal
  7777. values, JSON requires
  7778. decimal values for mode
  7779. bits. If not specified,
  7780. the volume defaultMode
  7781. will be used. This might
  7782. be in conflict with other
  7783. options that affect the
  7784. file mode, like fsGroup,
  7785. and the result can be
  7786. other mode bits set.'
  7787. format: int32
  7788. type: integer
  7789. path:
  7790. description: 'Required:
  7791. Path is the relative
  7792. path name of the file
  7793. to be created. Must not
  7794. be absolute or contain
  7795. the ''..'' path. Must
  7796. be utf-8 encoded. The
  7797. first item of the relative
  7798. path must not start with
  7799. ''..'''
  7800. type: string
  7801. resourceFieldRef:
  7802. description: 'Selects a
  7803. resource of the container:
  7804. only resources limits
  7805. and requests (limits.cpu,
  7806. limits.memory, requests.cpu
  7807. and requests.memory) are
  7808. currently supported.'
  7809. properties:
  7810. containerName:
  7811. description: 'Container
  7812. name: required for
  7813. volumes, optional
  7814. for env vars'
  7815. type: string
  7816. divisor:
  7817. anyOf:
  7818. - type: integer
  7819. - type: string
  7820. description: Specifies
  7821. the output format
  7822. of the exposed resources,
  7823. defaults to "1"
  7824. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7825. x-kubernetes-int-or-string: true
  7826. resource:
  7827. description: 'Required:
  7828. resource to select'
  7829. type: string
  7830. required:
  7831. - resource
  7832. type: object
  7833. x-kubernetes-map-type: atomic
  7834. required:
  7835. - path
  7836. type: object
  7837. type: array
  7838. type: object
  7839. secret:
  7840. description: secret information about
  7841. the secret data to project
  7842. properties:
  7843. items:
  7844. description: items if unspecified,
  7845. each key-value pair in the Data
  7846. field of the referenced Secret
  7847. will be projected into the volume
  7848. as a file whose name is the
  7849. key and content is the value.
  7850. If specified, the listed keys
  7851. will be projected into the specified
  7852. paths, and unlisted keys will
  7853. not be present. If a key is
  7854. specified which is not present
  7855. in the Secret, the volume setup
  7856. will error unless it is marked
  7857. optional. Paths must be relative
  7858. and may not contain the '..'
  7859. path or start with '..'.
  7860. items:
  7861. description: Maps a string key
  7862. to a path within a volume.
  7863. properties:
  7864. key:
  7865. description: key is the
  7866. key to project.
  7867. type: string
  7868. mode:
  7869. description: 'mode is Optional:
  7870. mode bits used to set
  7871. permissions on this file.
  7872. Must be an octal value
  7873. between 0000 and 0777
  7874. or a decimal value between
  7875. 0 and 511. YAML accepts
  7876. both octal and decimal
  7877. values, JSON requires
  7878. decimal values for mode
  7879. bits. If not specified,
  7880. the volume defaultMode
  7881. will be used. This might
  7882. be in conflict with other
  7883. options that affect the
  7884. file mode, like fsGroup,
  7885. and the result can be
  7886. other mode bits set.'
  7887. format: int32
  7888. type: integer
  7889. path:
  7890. description: path is the
  7891. relative path of the file
  7892. to map the key to. May
  7893. not be an absolute path.
  7894. May not contain the path
  7895. element '..'. May not
  7896. start with the string
  7897. '..'.
  7898. type: string
  7899. required:
  7900. - key
  7901. - path
  7902. type: object
  7903. type: array
  7904. name:
  7905. description: 'Name of the referent.
  7906. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7907. TODO: Add other useful fields.
  7908. apiVersion, kind, uid?'
  7909. type: string
  7910. optional:
  7911. description: optional field specify
  7912. whether the Secret or its key
  7913. must be defined
  7914. type: boolean
  7915. type: object
  7916. x-kubernetes-map-type: atomic
  7917. serviceAccountToken:
  7918. description: serviceAccountToken is
  7919. information about the serviceAccountToken
  7920. data to project
  7921. properties:
  7922. audience:
  7923. description: audience is the intended
  7924. audience of the token. A recipient
  7925. of a token must identify itself
  7926. with an identifier specified
  7927. in the audience of the token,
  7928. and otherwise should reject
  7929. the token. The audience defaults
  7930. to the identifier of the apiserver.
  7931. type: string
  7932. expirationSeconds:
  7933. description: expirationSeconds
  7934. is the requested duration of
  7935. validity of the service account
  7936. token. As the token approaches
  7937. expiration, the kubelet volume
  7938. plugin will proactively rotate
  7939. the service account token. The
  7940. kubelet will start trying to
  7941. rotate the token if the token
  7942. is older than 80 percent of
  7943. its time to live or if the token
  7944. is older than 24 hours.Defaults
  7945. to 1 hour and must be at least
  7946. 10 minutes.
  7947. format: int64
  7948. type: integer
  7949. path:
  7950. description: path is the path
  7951. relative to the mount point
  7952. of the file to project the token
  7953. into.
  7954. type: string
  7955. required:
  7956. - path
  7957. type: object
  7958. type: object
  7959. type: array
  7960. type: object
  7961. quobyte:
  7962. description: quobyte represents a Quobyte mount
  7963. on the host that shares a pod's lifetime
  7964. properties:
  7965. group:
  7966. description: group to map volume access
  7967. to Default is no group
  7968. type: string
  7969. readOnly:
  7970. description: readOnly here will force the
  7971. Quobyte volume to be mounted with read-only
  7972. permissions. Defaults to false.
  7973. type: boolean
  7974. registry:
  7975. description: registry represents a single
  7976. or multiple Quobyte Registry services
  7977. specified as a string as host:port pair
  7978. (multiple entries are separated with commas)
  7979. which acts as the central registry for
  7980. volumes
  7981. type: string
  7982. tenant:
  7983. description: tenant owning the given Quobyte
  7984. volume in the Backend Used with dynamically
  7985. provisioned Quobyte volumes, value is
  7986. set by the plugin
  7987. type: string
  7988. user:
  7989. description: user to map volume access to
  7990. Defaults to serivceaccount user
  7991. type: string
  7992. volume:
  7993. description: volume is a string that references
  7994. an already created Quobyte volume by name.
  7995. type: string
  7996. required:
  7997. - registry
  7998. - volume
  7999. type: object
  8000. rbd:
  8001. description: 'rbd represents a Rados Block Device
  8002. mount on the host that shares a pod''s lifetime.
  8003. More info: https://examples.k8s.io/volumes/rbd/README.md'
  8004. properties:
  8005. fsType:
  8006. description: 'fsType is the filesystem type
  8007. of the volume that you want to mount.
  8008. Tip: Ensure that the filesystem type is
  8009. supported by the host operating system.
  8010. Examples: "ext4", "xfs", "ntfs". Implicitly
  8011. inferred to be "ext4" if unspecified.
  8012. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  8013. TODO: how do we prevent errors in the
  8014. filesystem from compromising the machine'
  8015. type: string
  8016. image:
  8017. description: 'image is the rados image name.
  8018. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  8019. type: string
  8020. keyring:
  8021. description: 'keyring is the path to key
  8022. ring for RBDUser. Default is /etc/ceph/keyring.
  8023. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  8024. type: string
  8025. monitors:
  8026. description: 'monitors is a collection of
  8027. Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  8028. items:
  8029. type: string
  8030. type: array
  8031. pool:
  8032. description: 'pool is the rados pool name.
  8033. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  8034. type: string
  8035. readOnly:
  8036. description: 'readOnly here will force the
  8037. ReadOnly setting in VolumeMounts. Defaults
  8038. to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  8039. type: boolean
  8040. secretRef:
  8041. description: 'secretRef is name of the authentication
  8042. secret for RBDUser. If provided overrides
  8043. keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  8044. properties:
  8045. name:
  8046. description: 'Name of the referent.
  8047. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8048. TODO: Add other useful fields. apiVersion,
  8049. kind, uid?'
  8050. type: string
  8051. type: object
  8052. x-kubernetes-map-type: atomic
  8053. user:
  8054. description: 'user is the rados user name.
  8055. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  8056. type: string
  8057. required:
  8058. - image
  8059. - monitors
  8060. type: object
  8061. scaleIO:
  8062. description: scaleIO represents a ScaleIO persistent
  8063. volume attached and mounted on Kubernetes
  8064. nodes.
  8065. properties:
  8066. fsType:
  8067. description: fsType is the filesystem type
  8068. to mount. Must be a filesystem type supported
  8069. by the host operating system. Ex. "ext4",
  8070. "xfs", "ntfs". Default is "xfs".
  8071. type: string
  8072. gateway:
  8073. description: gateway is the host address
  8074. of the ScaleIO API Gateway.
  8075. type: string
  8076. protectionDomain:
  8077. description: protectionDomain is the name
  8078. of the ScaleIO Protection Domain for the
  8079. configured storage.
  8080. type: string
  8081. readOnly:
  8082. description: readOnly Defaults to false
  8083. (read/write). ReadOnly here will force
  8084. the ReadOnly setting in VolumeMounts.
  8085. type: boolean
  8086. secretRef:
  8087. description: secretRef references to the
  8088. secret for ScaleIO user and other sensitive
  8089. information. If this is not provided,
  8090. Login operation will fail.
  8091. properties:
  8092. name:
  8093. description: 'Name of the referent.
  8094. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8095. TODO: Add other useful fields. apiVersion,
  8096. kind, uid?'
  8097. type: string
  8098. type: object
  8099. x-kubernetes-map-type: atomic
  8100. sslEnabled:
  8101. description: sslEnabled Flag enable/disable
  8102. SSL communication with Gateway, default
  8103. false
  8104. type: boolean
  8105. storageMode:
  8106. description: storageMode indicates whether
  8107. the storage for a volume should be ThickProvisioned
  8108. or ThinProvisioned. Default is ThinProvisioned.
  8109. type: string
  8110. storagePool:
  8111. description: storagePool is the ScaleIO
  8112. Storage Pool associated with the protection
  8113. domain.
  8114. type: string
  8115. system:
  8116. description: system is the name of the storage
  8117. system as configured in ScaleIO.
  8118. type: string
  8119. volumeName:
  8120. description: volumeName is the name of a
  8121. volume already created in the ScaleIO
  8122. system that is associated with this volume
  8123. source.
  8124. type: string
  8125. required:
  8126. - gateway
  8127. - secretRef
  8128. - system
  8129. type: object
  8130. secret:
  8131. description: 'secret represents a secret that
  8132. should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  8133. properties:
  8134. defaultMode:
  8135. description: 'defaultMode is Optional: mode
  8136. bits used to set permissions on created
  8137. files by default. Must be an octal value
  8138. between 0000 and 0777 or a decimal value
  8139. between 0 and 511. YAML accepts both octal
  8140. and decimal values, JSON requires decimal
  8141. values for mode bits. Defaults to 0644.
  8142. Directories within the path are not affected
  8143. by this setting. This might be in conflict
  8144. with other options that affect the file
  8145. mode, like fsGroup, and the result can
  8146. be other mode bits set.'
  8147. format: int32
  8148. type: integer
  8149. items:
  8150. description: items If unspecified, each
  8151. key-value pair in the Data field of the
  8152. referenced Secret will be projected into
  8153. the volume as a file whose name is the
  8154. key and content is the value. If specified,
  8155. the listed keys will be projected into
  8156. the specified paths, and unlisted keys
  8157. will not be present. If a key is specified
  8158. which is not present in the Secret, the
  8159. volume setup will error unless it is marked
  8160. optional. Paths must be relative and may
  8161. not contain the '..' path or start with
  8162. '..'.
  8163. items:
  8164. description: Maps a string key to a path
  8165. within a volume.
  8166. properties:
  8167. key:
  8168. description: key is the key to project.
  8169. type: string
  8170. mode:
  8171. description: 'mode is Optional: mode
  8172. bits used to set permissions on
  8173. this file. Must be an octal value
  8174. between 0000 and 0777 or a decimal
  8175. value between 0 and 511. YAML accepts
  8176. both octal and decimal values, JSON
  8177. requires decimal values for mode
  8178. bits. If not specified, the volume
  8179. defaultMode will be used. This might
  8180. be in conflict with other options
  8181. that affect the file mode, like
  8182. fsGroup, and the result can be other
  8183. mode bits set.'
  8184. format: int32
  8185. type: integer
  8186. path:
  8187. description: path is the relative
  8188. path of the file to map the key
  8189. to. May not be an absolute path.
  8190. May not contain the path element
  8191. '..'. May not start with the string
  8192. '..'.
  8193. type: string
  8194. required:
  8195. - key
  8196. - path
  8197. type: object
  8198. type: array
  8199. optional:
  8200. description: optional field specify whether
  8201. the Secret or its keys must be defined
  8202. type: boolean
  8203. secretName:
  8204. description: 'secretName is the name of
  8205. the secret in the pod''s namespace to
  8206. use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  8207. type: string
  8208. type: object
  8209. storageos:
  8210. description: storageOS represents a StorageOS
  8211. volume attached and mounted on Kubernetes
  8212. nodes.
  8213. properties:
  8214. fsType:
  8215. description: fsType is the filesystem type
  8216. to mount. Must be a filesystem type supported
  8217. by the host operating system. Ex. "ext4",
  8218. "xfs", "ntfs". Implicitly inferred to
  8219. be "ext4" if unspecified.
  8220. type: string
  8221. readOnly:
  8222. description: readOnly defaults to false
  8223. (read/write). ReadOnly here will force
  8224. the ReadOnly setting in VolumeMounts.
  8225. type: boolean
  8226. secretRef:
  8227. description: secretRef specifies the secret
  8228. to use for obtaining the StorageOS API
  8229. credentials. If not specified, default
  8230. values will be attempted.
  8231. properties:
  8232. name:
  8233. description: 'Name of the referent.
  8234. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8235. TODO: Add other useful fields. apiVersion,
  8236. kind, uid?'
  8237. type: string
  8238. type: object
  8239. x-kubernetes-map-type: atomic
  8240. volumeName:
  8241. description: volumeName is the human-readable
  8242. name of the StorageOS volume. Volume
  8243. names are only unique within a namespace.
  8244. type: string
  8245. volumeNamespace:
  8246. description: volumeNamespace specifies the
  8247. scope of the volume within StorageOS. If
  8248. no namespace is specified then the Pod's
  8249. namespace will be used. This allows the
  8250. Kubernetes name scoping to be mirrored
  8251. within StorageOS for tighter integration.
  8252. Set VolumeName to any name to override
  8253. the default behaviour. Set to "default"
  8254. if you are not using namespaces within
  8255. StorageOS. Namespaces that do not pre-exist
  8256. within StorageOS will be created.
  8257. type: string
  8258. type: object
  8259. vsphereVolume:
  8260. description: vsphereVolume represents a vSphere
  8261. volume attached and mounted on kubelets host
  8262. machine
  8263. properties:
  8264. fsType:
  8265. description: fsType is filesystem type to
  8266. mount. Must be a filesystem type supported
  8267. by the host operating system. Ex. "ext4",
  8268. "xfs", "ntfs". Implicitly inferred to
  8269. be "ext4" if unspecified.
  8270. type: string
  8271. storagePolicyID:
  8272. description: storagePolicyID is the storage
  8273. Policy Based Management (SPBM) profile
  8274. ID associated with the StoragePolicyName.
  8275. type: string
  8276. storagePolicyName:
  8277. description: storagePolicyName is the storage
  8278. Policy Based Management (SPBM) profile
  8279. name.
  8280. type: string
  8281. volumePath:
  8282. description: volumePath is the path that
  8283. identifies vSphere volume vmdk
  8284. type: string
  8285. required:
  8286. - volumePath
  8287. type: object
  8288. required:
  8289. - name
  8290. type: object
  8291. type: array
  8292. required:
  8293. - containers
  8294. type: object
  8295. type: object
  8296. ttlSecondsAfterFinished:
  8297. description: ttlSecondsAfterFinished limits the lifetime of
  8298. a Job that has finished execution (either Complete or Failed).
  8299. If this field is set, ttlSecondsAfterFinished after the
  8300. Job finishes, it is eligible to be automatically deleted.
  8301. When the Job is being deleted, its lifecycle guarantees
  8302. (e.g. finalizers) will be honored. If this field is unset,
  8303. the Job won't be automatically deleted. If this field is
  8304. set to zero, the Job becomes eligible to be deleted immediately
  8305. after it finishes.
  8306. format: int32
  8307. type: integer
  8308. required:
  8309. - template
  8310. type: object
  8311. type: object
  8312. schedule:
  8313. description: The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
  8314. minLength: 0
  8315. type: string
  8316. startingDeadlineSeconds:
  8317. description: Optional deadline in seconds for starting the job if
  8318. it misses scheduled time for any reason. Missed jobs executions
  8319. will be counted as failed ones.
  8320. format: int64
  8321. minimum: 0
  8322. type: integer
  8323. successfulJobsHistoryLimit:
  8324. description: The number of successful finished jobs to retain. This
  8325. is a pointer to distinguish between explicit zero and not specified.
  8326. format: int32
  8327. minimum: 0
  8328. type: integer
  8329. suspend:
  8330. description: This flag tells the controller to suspend subsequent
  8331. executions, it does not apply to already started executions. Defaults
  8332. to false.
  8333. type: boolean
  8334. required:
  8335. - jobTemplate
  8336. - schedule
  8337. type: object
  8338. status:
  8339. description: CronJobStatus defines the observed state of CronJob
  8340. properties:
  8341. active:
  8342. description: A list of pointers to currently running jobs.
  8343. items:
  8344. description: "ObjectReference contains enough information to let
  8345. you inspect or modify the referred object. --- New uses of this
  8346. type are discouraged because of difficulty describing its usage
  8347. when embedded in APIs. 1. Ignored fields. It includes many fields
  8348. which are not generally honored. For instance, ResourceVersion
  8349. and FieldPath are both very rarely valid in actual usage. 2. Invalid
  8350. usage help. It is impossible to add specific help for individual
  8351. usage. In most embedded usages, there are particular restrictions
  8352. like, \"must refer only to types A and B\" or \"UID not honored\"
  8353. or \"name must be restricted\". Those cannot be well described
  8354. when embedded. 3. Inconsistent validation. Because the usages
  8355. are different, the validation rules are different by usage, which
  8356. makes it hard for users to predict what will happen. 4. The fields
  8357. are both imprecise and overly precise. Kind is not a precise
  8358. mapping to a URL. This can produce ambiguity during interpretation
  8359. and require a REST mapping. In most cases, the dependency is
  8360. on the group,resource tuple and the version of the actual struct
  8361. is irrelevant. 5. We cannot easily change it. Because this type
  8362. is embedded in many locations, updates to this type will affect
  8363. numerous schemas. Don't make new APIs embed an underspecified
  8364. API type they do not control. \n Instead of using this type, create
  8365. a locally provided and used type that is well-focused on your
  8366. reference. For example, ServiceReferences for admission registration:
  8367. https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
  8368. ."
  8369. properties:
  8370. apiVersion:
  8371. description: API version of the referent.
  8372. type: string
  8373. fieldPath:
  8374. description: 'If referring to a piece of an object instead of
  8375. an entire object, this string should contain a valid JSON/Go
  8376. field access statement, such as desiredState.manifest.containers[2].
  8377. For example, if the object reference is to a container within
  8378. a pod, this would take on a value like: "spec.containers{name}"
  8379. (where "name" refers to the name of the container that triggered
  8380. the event) or if no container name is specified "spec.containers[2]"
  8381. (container with index 2 in this pod). This syntax is chosen
  8382. only to have some well-defined way of referencing a part of
  8383. an object. TODO: this design is not final and this field is
  8384. subject to change in the future.'
  8385. type: string
  8386. kind:
  8387. description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  8388. type: string
  8389. name:
  8390. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8391. type: string
  8392. namespace:
  8393. description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  8394. type: string
  8395. resourceVersion:
  8396. description: 'Specific resourceVersion to which this reference
  8397. is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
  8398. type: string
  8399. uid:
  8400. description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
  8401. type: string
  8402. type: object
  8403. x-kubernetes-map-type: atomic
  8404. type: array
  8405. lastScheduleTime:
  8406. description: Information when was the last time the job was successfully
  8407. scheduled.
  8408. format: date-time
  8409. type: string
  8410. type: object
  8411. type: object
  8412. served: true
  8413. storage: true
  8414. subresources:
  8415. status: {}