app.demo.kakao.com_bluegreens.yaml 880 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770
  1. ---
  2. apiVersion: apiextensions.k8s.io/v1
  3. kind: CustomResourceDefinition
  4. metadata:
  5. annotations:
  6. controller-gen.kubebuilder.io/version: v0.9.2
  7. creationTimestamp: null
  8. name: bluegreens.app.demo.kakao.com
  9. spec:
  10. group: app.demo.kakao.com
  11. names:
  12. kind: BlueGreen
  13. listKind: BlueGreenList
  14. plural: bluegreens
  15. singular: bluegreen
  16. scope: Namespaced
  17. versions:
  18. - additionalPrinterColumns:
  19. - jsonPath: .status.routeTo
  20. name: RouteTo
  21. type: string
  22. - jsonPath: .status.blueReady
  23. name: BlueReady
  24. type: integer
  25. - jsonPath: .status.greenReady
  26. name: GreenReady
  27. type: integer
  28. name: v1
  29. schema:
  30. openAPIV3Schema:
  31. description: BlueGreen is the Schema for the bluegreens API
  32. properties:
  33. apiVersion:
  34. description: 'APIVersion defines the versioned schema of this representation
  35. of an object. Servers should convert recognized schemas to the latest
  36. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  37. type: string
  38. kind:
  39. description: 'Kind is a string value representing the REST resource this
  40. object represents. Servers may infer this from the endpoint the client
  41. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  42. type: string
  43. metadata:
  44. type: object
  45. spec:
  46. description: BlueGreenSpec defines the desired state of BlueGreen
  47. properties:
  48. blueSpec:
  49. description: Pod Spec for a Blue Service
  50. properties:
  51. activeDeadlineSeconds:
  52. description: Optional duration in seconds the pod may be active
  53. on the node relative to StartTime before the system will actively
  54. try to mark it failed and kill associated containers. Value
  55. must be a positive integer.
  56. format: int64
  57. type: integer
  58. affinity:
  59. description: If specified, the pod's scheduling constraints
  60. properties:
  61. nodeAffinity:
  62. description: Describes node affinity scheduling rules for
  63. the pod.
  64. properties:
  65. preferredDuringSchedulingIgnoredDuringExecution:
  66. description: The scheduler will prefer to schedule pods
  67. to nodes that satisfy the affinity expressions specified
  68. by this field, but it may choose a node that violates
  69. one or more of the expressions. The node that is most
  70. preferred is the one with the greatest sum of weights,
  71. i.e. for each node that meets all of the scheduling
  72. requirements (resource request, requiredDuringScheduling
  73. affinity expressions, etc.), compute a sum by iterating
  74. through the elements of this field and adding "weight"
  75. to the sum if the node matches the corresponding matchExpressions;
  76. the node(s) with the highest sum are the most preferred.
  77. items:
  78. description: An empty preferred scheduling term matches
  79. all objects with implicit weight 0 (i.e. it's a no-op).
  80. A null preferred scheduling term matches no objects
  81. (i.e. is also a no-op).
  82. properties:
  83. preference:
  84. description: A node selector term, associated with
  85. the corresponding weight.
  86. properties:
  87. matchExpressions:
  88. description: A list of node selector requirements
  89. by node's labels.
  90. items:
  91. description: A node selector requirement is
  92. a selector that contains values, a key,
  93. and an operator that relates the key and
  94. values.
  95. properties:
  96. key:
  97. description: The label key that the selector
  98. applies to.
  99. type: string
  100. operator:
  101. description: Represents a key's relationship
  102. to a set of values. Valid operators
  103. are In, NotIn, Exists, DoesNotExist.
  104. Gt, and Lt.
  105. type: string
  106. values:
  107. description: An array of string values.
  108. If the operator is In or NotIn, the
  109. values array must be non-empty. If the
  110. operator is Exists or DoesNotExist,
  111. the values array must be empty. If the
  112. operator is Gt or Lt, the values array
  113. must have a single element, which will
  114. be interpreted as an integer. This array
  115. is replaced during a strategic merge
  116. patch.
  117. items:
  118. type: string
  119. type: array
  120. required:
  121. - key
  122. - operator
  123. type: object
  124. type: array
  125. matchFields:
  126. description: A list of node selector requirements
  127. by node's fields.
  128. items:
  129. description: A node selector requirement is
  130. a selector that contains values, a key,
  131. and an operator that relates the key and
  132. values.
  133. properties:
  134. key:
  135. description: The label key that the selector
  136. applies to.
  137. type: string
  138. operator:
  139. description: Represents a key's relationship
  140. to a set of values. Valid operators
  141. are In, NotIn, Exists, DoesNotExist.
  142. Gt, and Lt.
  143. type: string
  144. values:
  145. description: An array of string values.
  146. If the operator is In or NotIn, the
  147. values array must be non-empty. If the
  148. operator is Exists or DoesNotExist,
  149. the values array must be empty. If the
  150. operator is Gt or Lt, the values array
  151. must have a single element, which will
  152. be interpreted as an integer. This array
  153. is replaced during a strategic merge
  154. patch.
  155. items:
  156. type: string
  157. type: array
  158. required:
  159. - key
  160. - operator
  161. type: object
  162. type: array
  163. type: object
  164. x-kubernetes-map-type: atomic
  165. weight:
  166. description: Weight associated with matching the
  167. corresponding nodeSelectorTerm, in the range 1-100.
  168. format: int32
  169. type: integer
  170. required:
  171. - preference
  172. - weight
  173. type: object
  174. type: array
  175. requiredDuringSchedulingIgnoredDuringExecution:
  176. description: If the affinity requirements specified by
  177. this field are not met at scheduling time, the pod will
  178. not be scheduled onto the node. If the affinity requirements
  179. specified by this field cease to be met at some point
  180. during pod execution (e.g. due to an update), the system
  181. may or may not try to eventually evict the pod from
  182. its node.
  183. properties:
  184. nodeSelectorTerms:
  185. description: Required. A list of node selector terms.
  186. The terms are ORed.
  187. items:
  188. description: A null or empty node selector term
  189. matches no objects. The requirements of them are
  190. ANDed. The TopologySelectorTerm type implements
  191. a subset of the NodeSelectorTerm.
  192. properties:
  193. matchExpressions:
  194. description: A list of node selector requirements
  195. by node's labels.
  196. items:
  197. description: A node selector requirement is
  198. a selector that contains values, a key,
  199. and an operator that relates the key and
  200. values.
  201. properties:
  202. key:
  203. description: The label key that the selector
  204. applies to.
  205. type: string
  206. operator:
  207. description: Represents a key's relationship
  208. to a set of values. Valid operators
  209. are In, NotIn, Exists, DoesNotExist.
  210. Gt, and Lt.
  211. type: string
  212. values:
  213. description: An array of string values.
  214. If the operator is In or NotIn, the
  215. values array must be non-empty. If the
  216. operator is Exists or DoesNotExist,
  217. the values array must be empty. If the
  218. operator is Gt or Lt, the values array
  219. must have a single element, which will
  220. be interpreted as an integer. This array
  221. is replaced during a strategic merge
  222. patch.
  223. items:
  224. type: string
  225. type: array
  226. required:
  227. - key
  228. - operator
  229. type: object
  230. type: array
  231. matchFields:
  232. description: A list of node selector requirements
  233. by node's fields.
  234. items:
  235. description: A node selector requirement is
  236. a selector that contains values, a key,
  237. and an operator that relates the key and
  238. values.
  239. properties:
  240. key:
  241. description: The label key that the selector
  242. applies to.
  243. type: string
  244. operator:
  245. description: Represents a key's relationship
  246. to a set of values. Valid operators
  247. are In, NotIn, Exists, DoesNotExist.
  248. Gt, and Lt.
  249. type: string
  250. values:
  251. description: An array of string values.
  252. If the operator is In or NotIn, the
  253. values array must be non-empty. If the
  254. operator is Exists or DoesNotExist,
  255. the values array must be empty. If the
  256. operator is Gt or Lt, the values array
  257. must have a single element, which will
  258. be interpreted as an integer. This array
  259. is replaced during a strategic merge
  260. patch.
  261. items:
  262. type: string
  263. type: array
  264. required:
  265. - key
  266. - operator
  267. type: object
  268. type: array
  269. type: object
  270. x-kubernetes-map-type: atomic
  271. type: array
  272. required:
  273. - nodeSelectorTerms
  274. type: object
  275. x-kubernetes-map-type: atomic
  276. type: object
  277. podAffinity:
  278. description: Describes pod affinity scheduling rules (e.g.
  279. co-locate this pod in the same node, zone, etc. as some
  280. other pod(s)).
  281. properties:
  282. preferredDuringSchedulingIgnoredDuringExecution:
  283. description: The scheduler will prefer to schedule pods
  284. to nodes that satisfy the affinity expressions specified
  285. by this field, but it may choose a node that violates
  286. one or more of the expressions. The node that is most
  287. preferred is the one with the greatest sum of weights,
  288. i.e. for each node that meets all of the scheduling
  289. requirements (resource request, requiredDuringScheduling
  290. affinity expressions, etc.), compute a sum by iterating
  291. through the elements of this field and adding "weight"
  292. to the sum if the node has pods which matches the corresponding
  293. podAffinityTerm; the node(s) with the highest sum are
  294. the most preferred.
  295. items:
  296. description: The weights of all of the matched WeightedPodAffinityTerm
  297. fields are added per-node to find the most preferred
  298. node(s)
  299. properties:
  300. podAffinityTerm:
  301. description: Required. A pod affinity term, associated
  302. with the corresponding weight.
  303. properties:
  304. labelSelector:
  305. description: A label query over a set of resources,
  306. in this case pods.
  307. properties:
  308. matchExpressions:
  309. description: matchExpressions is a list
  310. of label selector requirements. The requirements
  311. are ANDed.
  312. items:
  313. description: A label selector requirement
  314. is a selector that contains values,
  315. a key, and an operator that relates
  316. the key and values.
  317. properties:
  318. key:
  319. description: key is the label key
  320. that the selector applies to.
  321. type: string
  322. operator:
  323. description: operator represents a
  324. key's relationship to a set of values.
  325. Valid operators are In, NotIn, Exists
  326. and DoesNotExist.
  327. type: string
  328. values:
  329. description: values is an array of
  330. string values. If the operator is
  331. In or NotIn, the values array must
  332. be non-empty. If the operator is
  333. Exists or DoesNotExist, the values
  334. array must be empty. This array
  335. is replaced during a strategic merge
  336. patch.
  337. items:
  338. type: string
  339. type: array
  340. required:
  341. - key
  342. - operator
  343. type: object
  344. type: array
  345. matchLabels:
  346. additionalProperties:
  347. type: string
  348. description: matchLabels is a map of {key,value}
  349. pairs. A single {key,value} in the matchLabels
  350. map is equivalent to an element of matchExpressions,
  351. whose key field is "key", the operator
  352. is "In", and the values array contains
  353. only "value". The requirements are ANDed.
  354. type: object
  355. type: object
  356. x-kubernetes-map-type: atomic
  357. namespaceSelector:
  358. description: A label query over the set of namespaces
  359. that the term applies to. The term is applied
  360. to the union of the namespaces selected by
  361. this field and the ones listed in the namespaces
  362. field. null selector and null or empty namespaces
  363. list means "this pod's namespace". An empty
  364. selector ({}) matches all namespaces.
  365. properties:
  366. matchExpressions:
  367. description: matchExpressions is a list
  368. of label selector requirements. The requirements
  369. are ANDed.
  370. items:
  371. description: A label selector requirement
  372. is a selector that contains values,
  373. a key, and an operator that relates
  374. the key and values.
  375. properties:
  376. key:
  377. description: key is the label key
  378. that the selector applies to.
  379. type: string
  380. operator:
  381. description: operator represents a
  382. key's relationship to a set of values.
  383. Valid operators are In, NotIn, Exists
  384. and DoesNotExist.
  385. type: string
  386. values:
  387. description: values is an array of
  388. string values. If the operator is
  389. In or NotIn, the values array must
  390. be non-empty. If the operator is
  391. Exists or DoesNotExist, the values
  392. array must be empty. This array
  393. is replaced during a strategic merge
  394. patch.
  395. items:
  396. type: string
  397. type: array
  398. required:
  399. - key
  400. - operator
  401. type: object
  402. type: array
  403. matchLabels:
  404. additionalProperties:
  405. type: string
  406. description: matchLabels is a map of {key,value}
  407. pairs. A single {key,value} in the matchLabels
  408. map is equivalent to an element of matchExpressions,
  409. whose key field is "key", the operator
  410. is "In", and the values array contains
  411. only "value". The requirements are ANDed.
  412. type: object
  413. type: object
  414. x-kubernetes-map-type: atomic
  415. namespaces:
  416. description: namespaces specifies a static list
  417. of namespace names that the term applies to.
  418. The term is applied to the union of the namespaces
  419. listed in this field and the ones selected
  420. by namespaceSelector. null or empty namespaces
  421. list and null namespaceSelector means "this
  422. pod's namespace".
  423. items:
  424. type: string
  425. type: array
  426. topologyKey:
  427. description: This pod should be co-located (affinity)
  428. or not co-located (anti-affinity) with the
  429. pods matching the labelSelector in the specified
  430. namespaces, where co-located is defined as
  431. running on a node whose value of the label
  432. with key topologyKey matches that of any node
  433. on which any of the selected pods is running.
  434. Empty topologyKey is not allowed.
  435. type: string
  436. required:
  437. - topologyKey
  438. type: object
  439. weight:
  440. description: weight associated with matching the
  441. corresponding podAffinityTerm, in the range 1-100.
  442. format: int32
  443. type: integer
  444. required:
  445. - podAffinityTerm
  446. - weight
  447. type: object
  448. type: array
  449. requiredDuringSchedulingIgnoredDuringExecution:
  450. description: If the affinity requirements specified by
  451. this field are not met at scheduling time, the pod will
  452. not be scheduled onto the node. If the affinity requirements
  453. specified by this field cease to be met at some point
  454. during pod execution (e.g. due to a pod label update),
  455. the system may or may not try to eventually evict the
  456. pod from its node. When there are multiple elements,
  457. the lists of nodes corresponding to each podAffinityTerm
  458. are intersected, i.e. all terms must be satisfied.
  459. items:
  460. description: Defines a set of pods (namely those matching
  461. the labelSelector relative to the given namespace(s))
  462. that this pod should be co-located (affinity) or not
  463. co-located (anti-affinity) with, where co-located
  464. is defined as running on a node whose value of the
  465. label with key <topologyKey> matches that of any node
  466. on which a pod of the set of pods is running
  467. properties:
  468. labelSelector:
  469. description: A label query over a set of resources,
  470. in this case pods.
  471. properties:
  472. matchExpressions:
  473. description: matchExpressions is a list of label
  474. selector requirements. The requirements are
  475. ANDed.
  476. items:
  477. description: A label selector requirement
  478. is a selector that contains values, a key,
  479. and an operator that relates the key and
  480. values.
  481. properties:
  482. key:
  483. description: key is the label key that
  484. the selector applies to.
  485. type: string
  486. operator:
  487. description: operator represents a key's
  488. relationship to a set of values. Valid
  489. operators are In, NotIn, Exists and
  490. DoesNotExist.
  491. type: string
  492. values:
  493. description: values is an array of string
  494. values. If the operator is In or NotIn,
  495. the values array must be non-empty.
  496. If the operator is Exists or DoesNotExist,
  497. the values array must be empty. This
  498. array is replaced during a strategic
  499. merge patch.
  500. items:
  501. type: string
  502. type: array
  503. required:
  504. - key
  505. - operator
  506. type: object
  507. type: array
  508. matchLabels:
  509. additionalProperties:
  510. type: string
  511. description: matchLabels is a map of {key,value}
  512. pairs. A single {key,value} in the matchLabels
  513. map is equivalent to an element of matchExpressions,
  514. whose key field is "key", the operator is
  515. "In", and the values array contains only "value".
  516. The requirements are ANDed.
  517. type: object
  518. type: object
  519. x-kubernetes-map-type: atomic
  520. namespaceSelector:
  521. description: A label query over the set of namespaces
  522. that the term applies to. The term is applied
  523. to the union of the namespaces selected by this
  524. field and the ones listed in the namespaces field.
  525. null selector and null or empty namespaces list
  526. means "this pod's namespace". An empty selector
  527. ({}) matches all namespaces.
  528. properties:
  529. matchExpressions:
  530. description: matchExpressions is a list of label
  531. selector requirements. The requirements are
  532. ANDed.
  533. items:
  534. description: A label selector requirement
  535. is a selector that contains values, a key,
  536. and an operator that relates the key and
  537. values.
  538. properties:
  539. key:
  540. description: key is the label key that
  541. the selector applies to.
  542. type: string
  543. operator:
  544. description: operator represents a key's
  545. relationship to a set of values. Valid
  546. operators are In, NotIn, Exists and
  547. DoesNotExist.
  548. type: string
  549. values:
  550. description: values is an array of string
  551. values. If the operator is In or NotIn,
  552. the values array must be non-empty.
  553. If the operator is Exists or DoesNotExist,
  554. the values array must be empty. This
  555. array is replaced during a strategic
  556. merge patch.
  557. items:
  558. type: string
  559. type: array
  560. required:
  561. - key
  562. - operator
  563. type: object
  564. type: array
  565. matchLabels:
  566. additionalProperties:
  567. type: string
  568. description: matchLabels is a map of {key,value}
  569. pairs. A single {key,value} in the matchLabels
  570. map is equivalent to an element of matchExpressions,
  571. whose key field is "key", the operator is
  572. "In", and the values array contains only "value".
  573. The requirements are ANDed.
  574. type: object
  575. type: object
  576. x-kubernetes-map-type: atomic
  577. namespaces:
  578. description: namespaces specifies a static list
  579. of namespace names that the term applies to. The
  580. term is applied to the union of the namespaces
  581. listed in this field and the ones selected by
  582. namespaceSelector. null or empty namespaces list
  583. and null namespaceSelector means "this pod's namespace".
  584. items:
  585. type: string
  586. type: array
  587. topologyKey:
  588. description: This pod should be co-located (affinity)
  589. or not co-located (anti-affinity) with the pods
  590. matching the labelSelector in the specified namespaces,
  591. where co-located is defined as running on a node
  592. whose value of the label with key topologyKey
  593. matches that of any node on which any of the selected
  594. pods is running. Empty topologyKey is not allowed.
  595. type: string
  596. required:
  597. - topologyKey
  598. type: object
  599. type: array
  600. type: object
  601. podAntiAffinity:
  602. description: Describes pod anti-affinity scheduling rules
  603. (e.g. avoid putting this pod in the same node, zone, etc.
  604. as some other pod(s)).
  605. properties:
  606. preferredDuringSchedulingIgnoredDuringExecution:
  607. description: The scheduler will prefer to schedule pods
  608. to nodes that satisfy the anti-affinity expressions
  609. specified by this field, but it may choose a node that
  610. violates one or more of the expressions. The node that
  611. is most preferred is the one with the greatest sum of
  612. weights, i.e. for each node that meets all of the scheduling
  613. requirements (resource request, requiredDuringScheduling
  614. anti-affinity expressions, etc.), compute a sum by iterating
  615. through the elements of this field and adding "weight"
  616. to the sum if the node has pods which matches the corresponding
  617. podAffinityTerm; the node(s) with the highest sum are
  618. the most preferred.
  619. items:
  620. description: The weights of all of the matched WeightedPodAffinityTerm
  621. fields are added per-node to find the most preferred
  622. node(s)
  623. properties:
  624. podAffinityTerm:
  625. description: Required. A pod affinity term, associated
  626. with the corresponding weight.
  627. properties:
  628. labelSelector:
  629. description: A label query over a set of resources,
  630. in this case pods.
  631. properties:
  632. matchExpressions:
  633. description: matchExpressions is a list
  634. of label selector requirements. The requirements
  635. are ANDed.
  636. items:
  637. description: A label selector requirement
  638. is a selector that contains values,
  639. a key, and an operator that relates
  640. the key and values.
  641. properties:
  642. key:
  643. description: key is the label key
  644. that the selector applies to.
  645. type: string
  646. operator:
  647. description: operator represents a
  648. key's relationship to a set of values.
  649. Valid operators are In, NotIn, Exists
  650. and DoesNotExist.
  651. type: string
  652. values:
  653. description: values is an array of
  654. string values. If the operator is
  655. In or NotIn, the values array must
  656. be non-empty. If the operator is
  657. Exists or DoesNotExist, the values
  658. array must be empty. This array
  659. is replaced during a strategic merge
  660. 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 a map of {key,value}
  673. pairs. A single {key,value} in the matchLabels
  674. map is equivalent to an element of matchExpressions,
  675. whose key field is "key", the operator
  676. is "In", and the values array contains
  677. only "value". The requirements are ANDed.
  678. type: object
  679. type: object
  680. x-kubernetes-map-type: atomic
  681. namespaceSelector:
  682. description: A label query over the set of namespaces
  683. that the term applies to. The term is applied
  684. to the union of the namespaces selected by
  685. this field and the ones listed in the namespaces
  686. field. null selector and null or empty namespaces
  687. list means "this pod's namespace". An empty
  688. selector ({}) matches all namespaces.
  689. properties:
  690. matchExpressions:
  691. description: matchExpressions is a list
  692. of label selector requirements. The requirements
  693. are ANDed.
  694. items:
  695. description: A label selector requirement
  696. is a selector that contains values,
  697. a key, and an operator that relates
  698. the key and values.
  699. properties:
  700. key:
  701. description: key is the label key
  702. that the selector applies to.
  703. type: string
  704. operator:
  705. description: operator represents a
  706. key's relationship to a set of values.
  707. Valid operators are In, NotIn, Exists
  708. and DoesNotExist.
  709. type: string
  710. values:
  711. description: values is an array of
  712. string values. If the operator is
  713. In or NotIn, the values array must
  714. be non-empty. If the operator is
  715. Exists or DoesNotExist, the values
  716. array must be empty. This array
  717. is replaced during a strategic merge
  718. patch.
  719. items:
  720. type: string
  721. type: array
  722. required:
  723. - key
  724. - operator
  725. type: object
  726. type: array
  727. matchLabels:
  728. additionalProperties:
  729. type: string
  730. description: matchLabels is a map of {key,value}
  731. pairs. A single {key,value} in the matchLabels
  732. map is equivalent to an element of matchExpressions,
  733. whose key field is "key", the operator
  734. is "In", and the values array contains
  735. only "value". The requirements are ANDed.
  736. type: object
  737. type: object
  738. x-kubernetes-map-type: atomic
  739. namespaces:
  740. description: namespaces specifies a static list
  741. of namespace names that the term applies to.
  742. The term is applied to the union of the namespaces
  743. listed in this field and the ones selected
  744. by namespaceSelector. null or empty namespaces
  745. list and null namespaceSelector means "this
  746. pod's namespace".
  747. items:
  748. type: string
  749. type: array
  750. topologyKey:
  751. description: This pod should be co-located (affinity)
  752. or not co-located (anti-affinity) with the
  753. pods matching the labelSelector in the specified
  754. namespaces, where co-located is defined as
  755. running on a node whose value of the label
  756. with key topologyKey matches that of any node
  757. on which any of the selected pods is running.
  758. Empty topologyKey is not allowed.
  759. type: string
  760. required:
  761. - topologyKey
  762. type: object
  763. weight:
  764. description: weight associated with matching the
  765. corresponding podAffinityTerm, in the range 1-100.
  766. format: int32
  767. type: integer
  768. required:
  769. - podAffinityTerm
  770. - weight
  771. type: object
  772. type: array
  773. requiredDuringSchedulingIgnoredDuringExecution:
  774. description: If the anti-affinity requirements specified
  775. by this field are not met at scheduling time, the pod
  776. will not be scheduled onto the node. If the anti-affinity
  777. requirements specified by this field cease to be met
  778. at some point during pod execution (e.g. due to a pod
  779. label update), the system may or may not try to eventually
  780. evict the pod from its node. When there are multiple
  781. elements, the lists of nodes corresponding to each podAffinityTerm
  782. are intersected, i.e. all terms must be satisfied.
  783. items:
  784. description: Defines a set of pods (namely those matching
  785. the labelSelector relative to the given namespace(s))
  786. that this pod should be co-located (affinity) or not
  787. co-located (anti-affinity) with, where co-located
  788. is defined as running on a node whose value of the
  789. label with key <topologyKey> matches that of any node
  790. on which a pod of the set of pods is running
  791. properties:
  792. labelSelector:
  793. description: A label query over a set of resources,
  794. in this case pods.
  795. properties:
  796. matchExpressions:
  797. description: matchExpressions is a list of label
  798. selector requirements. The requirements are
  799. ANDed.
  800. items:
  801. description: A label selector requirement
  802. is a selector that contains values, a key,
  803. and an operator that relates the key and
  804. values.
  805. properties:
  806. key:
  807. description: key is the label key that
  808. the selector applies to.
  809. type: string
  810. operator:
  811. description: operator represents a key's
  812. relationship to a set of values. Valid
  813. operators are In, NotIn, Exists and
  814. DoesNotExist.
  815. type: string
  816. values:
  817. description: values is an array of string
  818. values. If the operator is In or NotIn,
  819. the values array must be non-empty.
  820. If the operator is Exists or DoesNotExist,
  821. the values array must be empty. This
  822. array is replaced during a strategic
  823. merge patch.
  824. items:
  825. type: string
  826. type: array
  827. required:
  828. - key
  829. - operator
  830. type: object
  831. type: array
  832. matchLabels:
  833. additionalProperties:
  834. type: string
  835. description: matchLabels is a map of {key,value}
  836. pairs. A single {key,value} in the matchLabels
  837. map is equivalent to an element of matchExpressions,
  838. whose key field is "key", the operator is
  839. "In", and the values array contains only "value".
  840. The requirements are ANDed.
  841. type: object
  842. type: object
  843. x-kubernetes-map-type: atomic
  844. namespaceSelector:
  845. description: A label query over the set of namespaces
  846. that the term applies to. The term is applied
  847. to the union of the namespaces selected by this
  848. field and the ones listed in the namespaces field.
  849. null selector and null or empty namespaces list
  850. means "this pod's namespace". An empty selector
  851. ({}) matches all namespaces.
  852. properties:
  853. matchExpressions:
  854. description: matchExpressions is a list of label
  855. selector requirements. The requirements are
  856. ANDed.
  857. items:
  858. description: A label selector requirement
  859. is a selector that contains values, a key,
  860. and an operator that relates the key and
  861. values.
  862. properties:
  863. key:
  864. description: key is the label key that
  865. the selector applies to.
  866. type: string
  867. operator:
  868. description: operator represents a key's
  869. relationship to a set of values. Valid
  870. operators are In, NotIn, Exists and
  871. DoesNotExist.
  872. type: string
  873. values:
  874. description: values is an array of string
  875. values. If the operator is In or NotIn,
  876. the values array must be non-empty.
  877. If the operator is Exists or DoesNotExist,
  878. the values array must be empty. This
  879. array is replaced during a strategic
  880. merge patch.
  881. items:
  882. type: string
  883. type: array
  884. required:
  885. - key
  886. - operator
  887. type: object
  888. type: array
  889. matchLabels:
  890. additionalProperties:
  891. type: string
  892. description: matchLabels is a map of {key,value}
  893. pairs. A single {key,value} in the matchLabels
  894. map is equivalent to an element of matchExpressions,
  895. whose key field is "key", the operator is
  896. "In", and the values array contains only "value".
  897. The requirements are ANDed.
  898. type: object
  899. type: object
  900. x-kubernetes-map-type: atomic
  901. namespaces:
  902. description: namespaces specifies a static list
  903. of namespace names that the term applies to. The
  904. term is applied to the union of the namespaces
  905. listed in this field and the ones selected by
  906. namespaceSelector. null or empty namespaces list
  907. and null namespaceSelector means "this pod's namespace".
  908. items:
  909. type: string
  910. type: array
  911. topologyKey:
  912. description: This pod should be co-located (affinity)
  913. or not co-located (anti-affinity) with the pods
  914. matching the labelSelector in the specified namespaces,
  915. where co-located is defined as running on a node
  916. whose value of the label with key topologyKey
  917. matches that of any node on which any of the selected
  918. pods is running. Empty topologyKey is not allowed.
  919. type: string
  920. required:
  921. - topologyKey
  922. type: object
  923. type: array
  924. type: object
  925. type: object
  926. automountServiceAccountToken:
  927. description: AutomountServiceAccountToken indicates whether a
  928. service account token should be automatically mounted.
  929. type: boolean
  930. containers:
  931. description: List of containers belonging to the pod. Containers
  932. cannot currently be added or removed. There must be at least
  933. one container in a Pod. Cannot be updated.
  934. items:
  935. description: A single application container that you want to
  936. run within a pod.
  937. properties:
  938. args:
  939. description: 'Arguments to the entrypoint. The container
  940. image''s CMD is used if this is not provided. Variable
  941. references $(VAR_NAME) are expanded using the container''s
  942. environment. If a variable cannot be resolved, the reference
  943. in the input string will be unchanged. Double $$ are reduced
  944. to a single $, which allows for escaping the $(VAR_NAME)
  945. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  946. "$(VAR_NAME)". Escaped references will never be expanded,
  947. regardless of whether the variable exists or not. Cannot
  948. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  949. items:
  950. type: string
  951. type: array
  952. command:
  953. description: 'Entrypoint array. Not executed within a shell.
  954. The container image''s ENTRYPOINT is used if this is not
  955. provided. Variable references $(VAR_NAME) are expanded
  956. using the container''s environment. If a variable cannot
  957. be resolved, the reference in the input string will be
  958. unchanged. Double $$ are reduced to a single $, which
  959. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  960. will produce the string literal "$(VAR_NAME)". Escaped
  961. references will never be expanded, regardless of whether
  962. the variable exists or not. Cannot be updated. More info:
  963. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  964. items:
  965. type: string
  966. type: array
  967. env:
  968. description: List of environment variables to set in the
  969. container. Cannot be updated.
  970. items:
  971. description: EnvVar represents an environment variable
  972. present in a Container.
  973. properties:
  974. name:
  975. description: Name of the environment variable. Must
  976. be a C_IDENTIFIER.
  977. type: string
  978. value:
  979. description: 'Variable references $(VAR_NAME) are
  980. expanded using the previously defined environment
  981. variables in the container and any service environment
  982. variables. If a variable cannot be resolved, the
  983. reference in the input string will be unchanged.
  984. Double $$ are reduced to a single $, which allows
  985. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  986. will produce the string literal "$(VAR_NAME)". Escaped
  987. references will never be expanded, regardless of
  988. whether the variable exists or not. Defaults to
  989. "".'
  990. type: string
  991. valueFrom:
  992. description: Source for the environment variable's
  993. value. Cannot be used if value is not empty.
  994. properties:
  995. configMapKeyRef:
  996. description: Selects a key of a ConfigMap.
  997. properties:
  998. key:
  999. description: The key to select.
  1000. type: string
  1001. name:
  1002. description: 'Name of the referent. More info:
  1003. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1004. TODO: Add other useful fields. apiVersion,
  1005. kind, uid?'
  1006. type: string
  1007. optional:
  1008. description: Specify whether the ConfigMap
  1009. or its key must be defined
  1010. type: boolean
  1011. required:
  1012. - key
  1013. type: object
  1014. x-kubernetes-map-type: atomic
  1015. fieldRef:
  1016. description: 'Selects a field of the pod: supports
  1017. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  1018. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  1019. spec.serviceAccountName, status.hostIP, status.podIP,
  1020. status.podIPs.'
  1021. properties:
  1022. apiVersion:
  1023. description: Version of the schema the FieldPath
  1024. is written in terms of, defaults to "v1".
  1025. type: string
  1026. fieldPath:
  1027. description: Path of the field to select in
  1028. the specified API version.
  1029. type: string
  1030. required:
  1031. - fieldPath
  1032. type: object
  1033. x-kubernetes-map-type: atomic
  1034. resourceFieldRef:
  1035. description: 'Selects a resource of the container:
  1036. only resources limits and requests (limits.cpu,
  1037. limits.memory, limits.ephemeral-storage, requests.cpu,
  1038. requests.memory and requests.ephemeral-storage)
  1039. are currently supported.'
  1040. properties:
  1041. containerName:
  1042. description: 'Container name: required for
  1043. volumes, optional for env vars'
  1044. type: string
  1045. divisor:
  1046. anyOf:
  1047. - type: integer
  1048. - type: string
  1049. description: Specifies the output format of
  1050. the exposed resources, defaults to "1"
  1051. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1052. x-kubernetes-int-or-string: true
  1053. resource:
  1054. description: 'Required: resource to select'
  1055. type: string
  1056. required:
  1057. - resource
  1058. type: object
  1059. x-kubernetes-map-type: atomic
  1060. secretKeyRef:
  1061. description: Selects a key of a secret in the
  1062. pod's namespace
  1063. properties:
  1064. key:
  1065. description: The key of the secret to select
  1066. from. Must be a valid secret key.
  1067. type: string
  1068. name:
  1069. description: 'Name of the referent. More info:
  1070. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1071. TODO: Add other useful fields. apiVersion,
  1072. kind, uid?'
  1073. type: string
  1074. optional:
  1075. description: Specify whether the Secret or
  1076. its key must be defined
  1077. type: boolean
  1078. required:
  1079. - key
  1080. type: object
  1081. x-kubernetes-map-type: atomic
  1082. type: object
  1083. required:
  1084. - name
  1085. type: object
  1086. type: array
  1087. envFrom:
  1088. description: List of sources to populate environment variables
  1089. in the container. The keys defined within a source must
  1090. be a C_IDENTIFIER. All invalid keys will be reported as
  1091. an event when the container is starting. When a key exists
  1092. in multiple sources, the value associated with the last
  1093. source will take precedence. Values defined by an Env
  1094. with a duplicate key will take precedence. Cannot be updated.
  1095. items:
  1096. description: EnvFromSource represents the source of a
  1097. set of ConfigMaps
  1098. properties:
  1099. configMapRef:
  1100. description: The ConfigMap to select from
  1101. properties:
  1102. name:
  1103. description: 'Name of the referent. More info:
  1104. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1105. TODO: Add other useful fields. apiVersion, kind,
  1106. uid?'
  1107. type: string
  1108. optional:
  1109. description: Specify whether the ConfigMap must
  1110. be defined
  1111. type: boolean
  1112. type: object
  1113. x-kubernetes-map-type: atomic
  1114. prefix:
  1115. description: An optional identifier to prepend to
  1116. each key in the ConfigMap. Must be a C_IDENTIFIER.
  1117. type: string
  1118. secretRef:
  1119. description: The Secret to select from
  1120. properties:
  1121. name:
  1122. description: 'Name of the referent. More info:
  1123. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1124. TODO: Add other useful fields. apiVersion, kind,
  1125. uid?'
  1126. type: string
  1127. optional:
  1128. description: Specify whether the Secret must be
  1129. defined
  1130. type: boolean
  1131. type: object
  1132. x-kubernetes-map-type: atomic
  1133. type: object
  1134. type: array
  1135. image:
  1136. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  1137. This field is optional to allow higher level config management
  1138. to default or override container images in workload controllers
  1139. like Deployments and StatefulSets.'
  1140. type: string
  1141. imagePullPolicy:
  1142. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  1143. Defaults to Always if :latest tag is specified, or IfNotPresent
  1144. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  1145. type: string
  1146. lifecycle:
  1147. description: Actions that the management system should take
  1148. in response to container lifecycle events. Cannot be updated.
  1149. properties:
  1150. postStart:
  1151. description: 'PostStart is called immediately after
  1152. a container is created. If the handler fails, the
  1153. container is terminated and restarted according to
  1154. its restart policy. Other management of the container
  1155. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1156. properties:
  1157. exec:
  1158. description: Exec specifies the action to take.
  1159. properties:
  1160. command:
  1161. description: Command is the command line to
  1162. execute inside the container, the working
  1163. directory for the command is root ('/') in
  1164. the container's filesystem. The command is
  1165. simply exec'd, it is not run inside a shell,
  1166. so traditional shell instructions ('|', etc)
  1167. won't work. To use a shell, you need to explicitly
  1168. call out to that shell. Exit status of 0 is
  1169. treated as live/healthy and non-zero is unhealthy.
  1170. items:
  1171. type: string
  1172. type: array
  1173. type: object
  1174. httpGet:
  1175. description: HTTPGet specifies the http request
  1176. to perform.
  1177. properties:
  1178. host:
  1179. description: Host name to connect to, defaults
  1180. to the pod IP. You probably want to set "Host"
  1181. in httpHeaders instead.
  1182. type: string
  1183. httpHeaders:
  1184. description: Custom headers to set in the request.
  1185. HTTP allows repeated headers.
  1186. items:
  1187. description: HTTPHeader describes a custom
  1188. header to be used in HTTP probes
  1189. properties:
  1190. name:
  1191. description: The header field name
  1192. type: string
  1193. value:
  1194. description: The header field value
  1195. type: string
  1196. required:
  1197. - name
  1198. - value
  1199. type: object
  1200. type: array
  1201. path:
  1202. description: Path to access on the HTTP server.
  1203. type: string
  1204. port:
  1205. anyOf:
  1206. - type: integer
  1207. - type: string
  1208. description: Name or number of the port to access
  1209. on the container. Number must be in the range
  1210. 1 to 65535. Name must be an IANA_SVC_NAME.
  1211. x-kubernetes-int-or-string: true
  1212. scheme:
  1213. description: Scheme to use for connecting to
  1214. the host. Defaults to HTTP.
  1215. type: string
  1216. required:
  1217. - port
  1218. type: object
  1219. tcpSocket:
  1220. description: Deprecated. TCPSocket is NOT supported
  1221. as a LifecycleHandler and kept for the backward
  1222. compatibility. There are no validation of this
  1223. field and lifecycle hooks will fail in runtime
  1224. when tcp handler is specified.
  1225. properties:
  1226. host:
  1227. description: 'Optional: Host name to connect
  1228. to, defaults to the pod IP.'
  1229. type: string
  1230. port:
  1231. anyOf:
  1232. - type: integer
  1233. - type: string
  1234. description: Number or name of the port to access
  1235. on the container. Number must be in the range
  1236. 1 to 65535. Name must be an IANA_SVC_NAME.
  1237. x-kubernetes-int-or-string: true
  1238. required:
  1239. - port
  1240. type: object
  1241. type: object
  1242. preStop:
  1243. description: 'PreStop is called immediately before a
  1244. container is terminated due to an API request or management
  1245. event such as liveness/startup probe failure, preemption,
  1246. resource contention, etc. The handler is not called
  1247. if the container crashes or exits. The Pod''s termination
  1248. grace period countdown begins before the PreStop hook
  1249. is executed. Regardless of the outcome of the handler,
  1250. the container will eventually terminate within the
  1251. Pod''s termination grace period (unless delayed by
  1252. finalizers). Other management of the container blocks
  1253. until the hook completes or until the termination
  1254. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1255. properties:
  1256. exec:
  1257. description: Exec specifies the action to take.
  1258. properties:
  1259. command:
  1260. description: Command is the command line to
  1261. execute inside the container, the working
  1262. directory for the command is root ('/') in
  1263. the container's filesystem. The command is
  1264. simply exec'd, it is not run inside a shell,
  1265. so traditional shell instructions ('|', etc)
  1266. won't work. To use a shell, you need to explicitly
  1267. call out to that shell. Exit status of 0 is
  1268. treated as live/healthy and non-zero is unhealthy.
  1269. items:
  1270. type: string
  1271. type: array
  1272. type: object
  1273. httpGet:
  1274. description: HTTPGet specifies the http request
  1275. to perform.
  1276. properties:
  1277. host:
  1278. description: Host name to connect to, defaults
  1279. to the pod IP. You probably want to set "Host"
  1280. in httpHeaders instead.
  1281. type: string
  1282. httpHeaders:
  1283. description: Custom headers to set in the request.
  1284. HTTP allows repeated headers.
  1285. items:
  1286. description: HTTPHeader describes a custom
  1287. header to be used in HTTP probes
  1288. properties:
  1289. name:
  1290. description: The header field name
  1291. type: string
  1292. value:
  1293. description: The header field value
  1294. type: string
  1295. required:
  1296. - name
  1297. - value
  1298. type: object
  1299. type: array
  1300. path:
  1301. description: Path to access on the HTTP server.
  1302. type: string
  1303. port:
  1304. anyOf:
  1305. - type: integer
  1306. - type: string
  1307. description: Name or number of the port to access
  1308. on the container. Number must be in the range
  1309. 1 to 65535. Name must be an IANA_SVC_NAME.
  1310. x-kubernetes-int-or-string: true
  1311. scheme:
  1312. description: Scheme to use for connecting to
  1313. the host. Defaults to HTTP.
  1314. type: string
  1315. required:
  1316. - port
  1317. type: object
  1318. tcpSocket:
  1319. description: Deprecated. TCPSocket is NOT supported
  1320. as a LifecycleHandler and kept for the backward
  1321. compatibility. There are no validation of this
  1322. field and lifecycle hooks will fail in runtime
  1323. when tcp handler is specified.
  1324. properties:
  1325. host:
  1326. description: 'Optional: Host name to connect
  1327. to, defaults to the pod IP.'
  1328. type: string
  1329. port:
  1330. anyOf:
  1331. - type: integer
  1332. - type: string
  1333. description: Number or name of the port to access
  1334. on the container. Number must be in the range
  1335. 1 to 65535. Name must be an IANA_SVC_NAME.
  1336. x-kubernetes-int-or-string: true
  1337. required:
  1338. - port
  1339. type: object
  1340. type: object
  1341. type: object
  1342. livenessProbe:
  1343. description: 'Periodic probe of container liveness. Container
  1344. will be restarted if the probe fails. Cannot be updated.
  1345. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1346. properties:
  1347. exec:
  1348. description: Exec specifies the action to take.
  1349. properties:
  1350. command:
  1351. description: Command is the command line to execute
  1352. inside the container, the working directory for
  1353. the command is root ('/') in the container's
  1354. filesystem. The command is simply exec'd, it is
  1355. not run inside a shell, so traditional shell instructions
  1356. ('|', etc) won't work. To use a shell, you need
  1357. to explicitly call out to that shell. Exit status
  1358. of 0 is treated as live/healthy and non-zero is
  1359. unhealthy.
  1360. items:
  1361. type: string
  1362. type: array
  1363. type: object
  1364. failureThreshold:
  1365. description: Minimum consecutive failures for the probe
  1366. to be considered failed after having succeeded. Defaults
  1367. to 3. Minimum value is 1.
  1368. format: int32
  1369. type: integer
  1370. grpc:
  1371. description: GRPC specifies an action involving a GRPC
  1372. port. This is a beta field and requires enabling GRPCContainerProbe
  1373. feature gate.
  1374. properties:
  1375. port:
  1376. description: Port number of the gRPC service. Number
  1377. must be in the range 1 to 65535.
  1378. format: int32
  1379. type: integer
  1380. service:
  1381. description: "Service is the name of the service
  1382. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  1383. \n If this is not specified, the default behavior
  1384. is defined by gRPC."
  1385. type: string
  1386. required:
  1387. - port
  1388. type: object
  1389. httpGet:
  1390. description: HTTPGet specifies the http request to perform.
  1391. properties:
  1392. host:
  1393. description: Host name to connect to, defaults to
  1394. the pod IP. You probably want to set "Host" in
  1395. httpHeaders instead.
  1396. type: string
  1397. httpHeaders:
  1398. description: Custom headers to set in the request.
  1399. HTTP allows repeated headers.
  1400. items:
  1401. description: HTTPHeader describes a custom header
  1402. to be used in HTTP probes
  1403. properties:
  1404. name:
  1405. description: The header field name
  1406. type: string
  1407. value:
  1408. description: The header field value
  1409. type: string
  1410. required:
  1411. - name
  1412. - value
  1413. type: object
  1414. type: array
  1415. path:
  1416. description: Path to access on the HTTP server.
  1417. type: string
  1418. port:
  1419. anyOf:
  1420. - type: integer
  1421. - type: string
  1422. description: Name or number of the port to access
  1423. on the container. Number must be in the range
  1424. 1 to 65535. Name must be an IANA_SVC_NAME.
  1425. x-kubernetes-int-or-string: true
  1426. scheme:
  1427. description: Scheme to use for connecting to the
  1428. host. Defaults to HTTP.
  1429. type: string
  1430. required:
  1431. - port
  1432. type: object
  1433. initialDelaySeconds:
  1434. description: 'Number of seconds after the container
  1435. has started before liveness probes are initiated.
  1436. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1437. format: int32
  1438. type: integer
  1439. periodSeconds:
  1440. description: How often (in seconds) to perform the probe.
  1441. Default to 10 seconds. Minimum value is 1.
  1442. format: int32
  1443. type: integer
  1444. successThreshold:
  1445. description: Minimum consecutive successes for the probe
  1446. to be considered successful after having failed. Defaults
  1447. to 1. Must be 1 for liveness and startup. Minimum
  1448. value is 1.
  1449. format: int32
  1450. type: integer
  1451. tcpSocket:
  1452. description: TCPSocket specifies an action involving
  1453. a TCP port.
  1454. properties:
  1455. host:
  1456. description: 'Optional: Host name to connect to,
  1457. defaults to the pod IP.'
  1458. type: string
  1459. port:
  1460. anyOf:
  1461. - type: integer
  1462. - type: string
  1463. description: Number or name of the port to access
  1464. on the container. Number must be in the range
  1465. 1 to 65535. Name must be an IANA_SVC_NAME.
  1466. x-kubernetes-int-or-string: true
  1467. required:
  1468. - port
  1469. type: object
  1470. terminationGracePeriodSeconds:
  1471. description: Optional duration in seconds the pod needs
  1472. to terminate gracefully upon probe failure. The grace
  1473. period is the duration in seconds after the processes
  1474. running in the pod are sent a termination signal and
  1475. the time when the processes are forcibly halted with
  1476. a kill signal. Set this value longer than the expected
  1477. cleanup time for your process. If this value is nil,
  1478. the pod's terminationGracePeriodSeconds will be used.
  1479. Otherwise, this value overrides the value provided
  1480. by the pod spec. Value must be non-negative integer.
  1481. The value zero indicates stop immediately via the
  1482. kill signal (no opportunity to shut down). This is
  1483. a beta field and requires enabling ProbeTerminationGracePeriod
  1484. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  1485. is used if unset.
  1486. format: int64
  1487. type: integer
  1488. timeoutSeconds:
  1489. description: 'Number of seconds after which the probe
  1490. times out. Defaults to 1 second. Minimum value is
  1491. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1492. format: int32
  1493. type: integer
  1494. type: object
  1495. name:
  1496. description: Name of the container specified as a DNS_LABEL.
  1497. Each container in a pod must have a unique name (DNS_LABEL).
  1498. Cannot be updated.
  1499. type: string
  1500. ports:
  1501. description: List of ports to expose from the container.
  1502. Exposing a port here gives the system additional information
  1503. about the network connections a container uses, but is
  1504. primarily informational. Not specifying a port here DOES
  1505. NOT prevent that port from being exposed. Any port which
  1506. is listening on the default "0.0.0.0" address inside a
  1507. container will be accessible from the network. Cannot
  1508. be updated.
  1509. items:
  1510. description: ContainerPort represents a network port in
  1511. a single container.
  1512. properties:
  1513. containerPort:
  1514. description: Number of port to expose on the pod's
  1515. IP address. This must be a valid port number, 0
  1516. < x < 65536.
  1517. format: int32
  1518. type: integer
  1519. hostIP:
  1520. description: What host IP to bind the external port
  1521. to.
  1522. type: string
  1523. hostPort:
  1524. description: Number of port to expose on the host.
  1525. If specified, this must be a valid port number,
  1526. 0 < x < 65536. If HostNetwork is specified, this
  1527. must match ContainerPort. Most containers do not
  1528. need this.
  1529. format: int32
  1530. type: integer
  1531. name:
  1532. description: If specified, this must be an IANA_SVC_NAME
  1533. and unique within the pod. Each named port in a
  1534. pod must have a unique name. Name for the port that
  1535. can be referred to by services.
  1536. type: string
  1537. protocol:
  1538. default: TCP
  1539. description: Protocol for port. Must be UDP, TCP,
  1540. or SCTP. Defaults to "TCP".
  1541. type: string
  1542. required:
  1543. - containerPort
  1544. type: object
  1545. type: array
  1546. x-kubernetes-list-map-keys:
  1547. - containerPort
  1548. - protocol
  1549. x-kubernetes-list-type: map
  1550. readinessProbe:
  1551. description: 'Periodic probe of container service readiness.
  1552. Container will be removed from service endpoints if the
  1553. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1554. properties:
  1555. exec:
  1556. description: Exec specifies the action to take.
  1557. properties:
  1558. command:
  1559. description: Command is the command line to execute
  1560. inside the container, the working directory for
  1561. the command is root ('/') in the container's
  1562. filesystem. The command is simply exec'd, it is
  1563. not run inside a shell, so traditional shell instructions
  1564. ('|', etc) won't work. To use a shell, you need
  1565. to explicitly call out to that shell. Exit status
  1566. of 0 is treated as live/healthy and non-zero is
  1567. unhealthy.
  1568. items:
  1569. type: string
  1570. type: array
  1571. type: object
  1572. failureThreshold:
  1573. description: Minimum consecutive failures for the probe
  1574. to be considered failed after having succeeded. Defaults
  1575. to 3. Minimum value is 1.
  1576. format: int32
  1577. type: integer
  1578. grpc:
  1579. description: GRPC specifies an action involving a GRPC
  1580. port. This is a beta field and requires enabling GRPCContainerProbe
  1581. feature gate.
  1582. properties:
  1583. port:
  1584. description: Port number of the gRPC service. Number
  1585. must be in the range 1 to 65535.
  1586. format: int32
  1587. type: integer
  1588. service:
  1589. description: "Service is the name of the service
  1590. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  1591. \n If this is not specified, the default behavior
  1592. is defined by gRPC."
  1593. type: string
  1594. required:
  1595. - port
  1596. type: object
  1597. httpGet:
  1598. description: HTTPGet specifies the http request to perform.
  1599. properties:
  1600. host:
  1601. description: Host name to connect to, defaults to
  1602. the pod IP. You probably want to set "Host" in
  1603. httpHeaders instead.
  1604. type: string
  1605. httpHeaders:
  1606. description: Custom headers to set in the request.
  1607. HTTP allows repeated headers.
  1608. items:
  1609. description: HTTPHeader describes a custom header
  1610. to be used in HTTP probes
  1611. properties:
  1612. name:
  1613. description: The header field name
  1614. type: string
  1615. value:
  1616. description: The header field value
  1617. type: string
  1618. required:
  1619. - name
  1620. - value
  1621. type: object
  1622. type: array
  1623. path:
  1624. description: Path to access on the HTTP server.
  1625. type: string
  1626. port:
  1627. anyOf:
  1628. - type: integer
  1629. - type: string
  1630. description: Name or number of the port to access
  1631. on the container. Number must be in the range
  1632. 1 to 65535. Name must be an IANA_SVC_NAME.
  1633. x-kubernetes-int-or-string: true
  1634. scheme:
  1635. description: Scheme to use for connecting to the
  1636. host. Defaults to HTTP.
  1637. type: string
  1638. required:
  1639. - port
  1640. type: object
  1641. initialDelaySeconds:
  1642. description: 'Number of seconds after the container
  1643. has started before liveness probes are initiated.
  1644. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1645. format: int32
  1646. type: integer
  1647. periodSeconds:
  1648. description: How often (in seconds) to perform the probe.
  1649. Default to 10 seconds. Minimum value is 1.
  1650. format: int32
  1651. type: integer
  1652. successThreshold:
  1653. description: Minimum consecutive successes for the probe
  1654. to be considered successful after having failed. Defaults
  1655. to 1. Must be 1 for liveness and startup. Minimum
  1656. value is 1.
  1657. format: int32
  1658. type: integer
  1659. tcpSocket:
  1660. description: TCPSocket specifies an action involving
  1661. a TCP port.
  1662. properties:
  1663. host:
  1664. description: 'Optional: Host name to connect to,
  1665. defaults to the pod IP.'
  1666. type: string
  1667. port:
  1668. anyOf:
  1669. - type: integer
  1670. - type: string
  1671. description: Number or name of the port to access
  1672. on the container. Number must be in the range
  1673. 1 to 65535. Name must be an IANA_SVC_NAME.
  1674. x-kubernetes-int-or-string: true
  1675. required:
  1676. - port
  1677. type: object
  1678. terminationGracePeriodSeconds:
  1679. description: Optional duration in seconds the pod needs
  1680. to terminate gracefully upon probe failure. The grace
  1681. period is the duration in seconds after the processes
  1682. running in the pod are sent a termination signal and
  1683. the time when the processes are forcibly halted with
  1684. a kill signal. Set this value longer than the expected
  1685. cleanup time for your process. If this value is nil,
  1686. the pod's terminationGracePeriodSeconds will be used.
  1687. Otherwise, this value overrides the value provided
  1688. by the pod spec. Value must be non-negative integer.
  1689. The value zero indicates stop immediately via the
  1690. kill signal (no opportunity to shut down). This is
  1691. a beta field and requires enabling ProbeTerminationGracePeriod
  1692. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  1693. is used if unset.
  1694. format: int64
  1695. type: integer
  1696. timeoutSeconds:
  1697. description: 'Number of seconds after which the probe
  1698. times out. Defaults to 1 second. Minimum value is
  1699. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1700. format: int32
  1701. type: integer
  1702. type: object
  1703. resources:
  1704. description: 'Compute Resources required by this container.
  1705. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1706. properties:
  1707. limits:
  1708. additionalProperties:
  1709. anyOf:
  1710. - type: integer
  1711. - type: string
  1712. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1713. x-kubernetes-int-or-string: true
  1714. description: 'Limits describes the maximum amount of
  1715. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1716. type: object
  1717. requests:
  1718. additionalProperties:
  1719. anyOf:
  1720. - type: integer
  1721. - type: string
  1722. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1723. x-kubernetes-int-or-string: true
  1724. description: 'Requests describes the minimum amount
  1725. of compute resources required. If Requests is omitted
  1726. for a container, it defaults to Limits if that is
  1727. explicitly specified, otherwise to an implementation-defined
  1728. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1729. type: object
  1730. type: object
  1731. securityContext:
  1732. description: 'SecurityContext defines the security options
  1733. the container should be run with. If set, the fields of
  1734. SecurityContext override the equivalent fields of PodSecurityContext.
  1735. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  1736. properties:
  1737. allowPrivilegeEscalation:
  1738. description: 'AllowPrivilegeEscalation controls whether
  1739. a process can gain more privileges than its parent
  1740. process. This bool directly controls if the no_new_privs
  1741. flag will be set on the container process. AllowPrivilegeEscalation
  1742. is true always when the container is: 1) run as Privileged
  1743. 2) has CAP_SYS_ADMIN Note that this field cannot be
  1744. set when spec.os.name is windows.'
  1745. type: boolean
  1746. capabilities:
  1747. description: The capabilities to add/drop when running
  1748. containers. Defaults to the default set of capabilities
  1749. granted by the container runtime. Note that this field
  1750. cannot be set when spec.os.name is windows.
  1751. properties:
  1752. add:
  1753. description: Added capabilities
  1754. items:
  1755. description: Capability represent POSIX capabilities
  1756. type
  1757. type: string
  1758. type: array
  1759. drop:
  1760. description: Removed capabilities
  1761. items:
  1762. description: Capability represent POSIX capabilities
  1763. type
  1764. type: string
  1765. type: array
  1766. type: object
  1767. privileged:
  1768. description: Run container in privileged mode. Processes
  1769. in privileged containers are essentially equivalent
  1770. to root on the host. Defaults to false. Note that
  1771. this field cannot be set when spec.os.name is windows.
  1772. type: boolean
  1773. procMount:
  1774. description: procMount denotes the type of proc mount
  1775. to use for the containers. The default is DefaultProcMount
  1776. which uses the container runtime defaults for readonly
  1777. paths and masked paths. This requires the ProcMountType
  1778. feature flag to be enabled. Note that this field cannot
  1779. be set when spec.os.name is windows.
  1780. type: string
  1781. readOnlyRootFilesystem:
  1782. description: Whether this container has a read-only
  1783. root filesystem. Default is false. Note that this
  1784. field cannot be set when spec.os.name is windows.
  1785. type: boolean
  1786. runAsGroup:
  1787. description: The GID to run the entrypoint of the container
  1788. process. Uses runtime default if unset. May also be
  1789. set in PodSecurityContext. If set in both SecurityContext
  1790. and PodSecurityContext, the value specified in SecurityContext
  1791. takes precedence. Note that this field cannot be set
  1792. when spec.os.name is windows.
  1793. format: int64
  1794. type: integer
  1795. runAsNonRoot:
  1796. description: Indicates that the container must run as
  1797. a non-root user. If true, the Kubelet will validate
  1798. the image at runtime to ensure that it does not run
  1799. as UID 0 (root) and fail to start the container if
  1800. it does. If unset or false, no such validation will
  1801. be performed. May also be set in PodSecurityContext. If
  1802. set in both SecurityContext and PodSecurityContext,
  1803. the value specified in SecurityContext takes precedence.
  1804. type: boolean
  1805. runAsUser:
  1806. description: The UID to run the entrypoint of the container
  1807. process. Defaults to user specified in image metadata
  1808. if unspecified. May also be set in PodSecurityContext. If
  1809. set in both SecurityContext and PodSecurityContext,
  1810. the value specified in SecurityContext takes precedence.
  1811. Note that this field cannot be set when spec.os.name
  1812. is windows.
  1813. format: int64
  1814. type: integer
  1815. seLinuxOptions:
  1816. description: The SELinux context to be applied to the
  1817. container. If unspecified, the container runtime will
  1818. allocate a random SELinux context for each container. May
  1819. also be set in PodSecurityContext. If set in both
  1820. SecurityContext and PodSecurityContext, the value
  1821. specified in SecurityContext takes precedence. Note
  1822. that this field cannot be set when spec.os.name is
  1823. windows.
  1824. properties:
  1825. level:
  1826. description: Level is SELinux level label that applies
  1827. to the container.
  1828. type: string
  1829. role:
  1830. description: Role is a SELinux role label that applies
  1831. to the container.
  1832. type: string
  1833. type:
  1834. description: Type is a SELinux type label that applies
  1835. to the container.
  1836. type: string
  1837. user:
  1838. description: User is a SELinux user label that applies
  1839. to the container.
  1840. type: string
  1841. type: object
  1842. seccompProfile:
  1843. description: The seccomp options to use by this container.
  1844. If seccomp options are provided at both the pod &
  1845. container level, the container options override the
  1846. pod options. Note that this field cannot be set when
  1847. spec.os.name is windows.
  1848. properties:
  1849. localhostProfile:
  1850. description: localhostProfile indicates a profile
  1851. defined in a file on the node should be used.
  1852. The profile must be preconfigured on the node
  1853. to work. Must be a descending path, relative to
  1854. the kubelet's configured seccomp profile location.
  1855. Must only be set if type is "Localhost".
  1856. type: string
  1857. type:
  1858. description: "type indicates which kind of seccomp
  1859. profile will be applied. Valid options are: \n
  1860. Localhost - a profile defined in a file on the
  1861. node should be used. RuntimeDefault - the container
  1862. runtime default profile should be used. Unconfined
  1863. - no profile should be applied."
  1864. type: string
  1865. required:
  1866. - type
  1867. type: object
  1868. windowsOptions:
  1869. description: The Windows specific settings applied to
  1870. all containers. If unspecified, the options from the
  1871. PodSecurityContext will be used. If set in both SecurityContext
  1872. and PodSecurityContext, the value specified in SecurityContext
  1873. takes precedence. Note that this field cannot be set
  1874. when spec.os.name is linux.
  1875. properties:
  1876. gmsaCredentialSpec:
  1877. description: GMSACredentialSpec is where the GMSA
  1878. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  1879. inlines the contents of the GMSA credential spec
  1880. named by the GMSACredentialSpecName field.
  1881. type: string
  1882. gmsaCredentialSpecName:
  1883. description: GMSACredentialSpecName is the name
  1884. of the GMSA credential spec to use.
  1885. type: string
  1886. hostProcess:
  1887. description: HostProcess determines if a container
  1888. should be run as a 'Host Process' container. This
  1889. field is alpha-level and will only be honored
  1890. by components that enable the WindowsHostProcessContainers
  1891. feature flag. Setting this field without the feature
  1892. flag will result in errors when validating the
  1893. Pod. All of a Pod's containers must have the same
  1894. effective HostProcess value (it is not allowed
  1895. to have a mix of HostProcess containers and non-HostProcess
  1896. containers). In addition, if HostProcess is true
  1897. then HostNetwork must also be set to true.
  1898. type: boolean
  1899. runAsUserName:
  1900. description: The UserName in Windows to run the
  1901. entrypoint of the container process. Defaults
  1902. to the user specified in image metadata if unspecified.
  1903. May also be set in PodSecurityContext. If set
  1904. in both SecurityContext and PodSecurityContext,
  1905. the value specified in SecurityContext takes precedence.
  1906. type: string
  1907. type: object
  1908. type: object
  1909. startupProbe:
  1910. description: 'StartupProbe indicates that the Pod has successfully
  1911. initialized. If specified, no other probes are executed
  1912. until this completes successfully. If this probe fails,
  1913. the Pod will be restarted, just as if the livenessProbe
  1914. failed. This can be used to provide different probe parameters
  1915. at the beginning of a Pod''s lifecycle, when it might
  1916. take a long time to load data or warm a cache, than during
  1917. steady-state operation. This cannot be updated. More info:
  1918. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1919. properties:
  1920. exec:
  1921. description: Exec specifies the action to take.
  1922. properties:
  1923. command:
  1924. description: Command is the command line to execute
  1925. inside the container, the working directory for
  1926. the command is root ('/') in the container's
  1927. filesystem. The command is simply exec'd, it is
  1928. not run inside a shell, so traditional shell instructions
  1929. ('|', etc) won't work. To use a shell, you need
  1930. to explicitly call out to that shell. Exit status
  1931. of 0 is treated as live/healthy and non-zero is
  1932. unhealthy.
  1933. items:
  1934. type: string
  1935. type: array
  1936. type: object
  1937. failureThreshold:
  1938. description: Minimum consecutive failures for the probe
  1939. to be considered failed after having succeeded. Defaults
  1940. to 3. Minimum value is 1.
  1941. format: int32
  1942. type: integer
  1943. grpc:
  1944. description: GRPC specifies an action involving a GRPC
  1945. port. This is a beta field and requires enabling GRPCContainerProbe
  1946. feature gate.
  1947. properties:
  1948. port:
  1949. description: Port number of the gRPC service. Number
  1950. must be in the range 1 to 65535.
  1951. format: int32
  1952. type: integer
  1953. service:
  1954. description: "Service is the name of the service
  1955. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  1956. \n If this is not specified, the default behavior
  1957. is defined by gRPC."
  1958. type: string
  1959. required:
  1960. - port
  1961. type: object
  1962. httpGet:
  1963. description: HTTPGet specifies the http request to perform.
  1964. properties:
  1965. host:
  1966. description: Host name to connect to, defaults to
  1967. the pod IP. You probably want to set "Host" in
  1968. httpHeaders instead.
  1969. type: string
  1970. httpHeaders:
  1971. description: Custom headers to set in the request.
  1972. HTTP allows repeated headers.
  1973. items:
  1974. description: HTTPHeader describes a custom header
  1975. to be used in HTTP probes
  1976. properties:
  1977. name:
  1978. description: The header field name
  1979. type: string
  1980. value:
  1981. description: The header field value
  1982. type: string
  1983. required:
  1984. - name
  1985. - value
  1986. type: object
  1987. type: array
  1988. path:
  1989. description: Path to access on the HTTP server.
  1990. type: string
  1991. port:
  1992. anyOf:
  1993. - type: integer
  1994. - type: string
  1995. description: Name or number of the port to access
  1996. on the container. Number must be in the range
  1997. 1 to 65535. Name must be an IANA_SVC_NAME.
  1998. x-kubernetes-int-or-string: true
  1999. scheme:
  2000. description: Scheme to use for connecting to the
  2001. host. Defaults to HTTP.
  2002. type: string
  2003. required:
  2004. - port
  2005. type: object
  2006. initialDelaySeconds:
  2007. description: 'Number of seconds after the container
  2008. has started before liveness probes are initiated.
  2009. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2010. format: int32
  2011. type: integer
  2012. periodSeconds:
  2013. description: How often (in seconds) to perform the probe.
  2014. Default to 10 seconds. Minimum value is 1.
  2015. format: int32
  2016. type: integer
  2017. successThreshold:
  2018. description: Minimum consecutive successes for the probe
  2019. to be considered successful after having failed. Defaults
  2020. to 1. Must be 1 for liveness and startup. Minimum
  2021. value is 1.
  2022. format: int32
  2023. type: integer
  2024. tcpSocket:
  2025. description: TCPSocket specifies an action involving
  2026. a TCP port.
  2027. properties:
  2028. host:
  2029. description: 'Optional: Host name to connect to,
  2030. defaults to the pod IP.'
  2031. type: string
  2032. port:
  2033. anyOf:
  2034. - type: integer
  2035. - type: string
  2036. description: Number or name of the port to access
  2037. on the container. Number must be in the range
  2038. 1 to 65535. Name must be an IANA_SVC_NAME.
  2039. x-kubernetes-int-or-string: true
  2040. required:
  2041. - port
  2042. type: object
  2043. terminationGracePeriodSeconds:
  2044. description: Optional duration in seconds the pod needs
  2045. to terminate gracefully upon probe failure. The grace
  2046. period is the duration in seconds after the processes
  2047. running in the pod are sent a termination signal and
  2048. the time when the processes are forcibly halted with
  2049. a kill signal. Set this value longer than the expected
  2050. cleanup time for your process. If this value is nil,
  2051. the pod's terminationGracePeriodSeconds will be used.
  2052. Otherwise, this value overrides the value provided
  2053. by the pod spec. Value must be non-negative integer.
  2054. The value zero indicates stop immediately via the
  2055. kill signal (no opportunity to shut down). This is
  2056. a beta field and requires enabling ProbeTerminationGracePeriod
  2057. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  2058. is used if unset.
  2059. format: int64
  2060. type: integer
  2061. timeoutSeconds:
  2062. description: 'Number of seconds after which the probe
  2063. times out. Defaults to 1 second. Minimum value is
  2064. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2065. format: int32
  2066. type: integer
  2067. type: object
  2068. stdin:
  2069. description: Whether this container should allocate a buffer
  2070. for stdin in the container runtime. If this is not set,
  2071. reads from stdin in the container will always result in
  2072. EOF. Default is false.
  2073. type: boolean
  2074. stdinOnce:
  2075. description: Whether the container runtime should close
  2076. the stdin channel after it has been opened by a single
  2077. attach. When stdin is true the stdin stream will remain
  2078. open across multiple attach sessions. If stdinOnce is
  2079. set to true, stdin is opened on container start, is empty
  2080. until the first client attaches to stdin, and then remains
  2081. open and accepts data until the client disconnects, at
  2082. which time stdin is closed and remains closed until the
  2083. container is restarted. If this flag is false, a container
  2084. processes that reads from stdin will never receive an
  2085. EOF. Default is false
  2086. type: boolean
  2087. terminationMessagePath:
  2088. description: 'Optional: Path at which the file to which
  2089. the container''s termination message will be written is
  2090. mounted into the container''s filesystem. Message written
  2091. is intended to be brief final status, such as an assertion
  2092. failure message. Will be truncated by the node if greater
  2093. than 4096 bytes. The total message length across all containers
  2094. will be limited to 12kb. Defaults to /dev/termination-log.
  2095. Cannot be updated.'
  2096. type: string
  2097. terminationMessagePolicy:
  2098. description: Indicate how the termination message should
  2099. be populated. File will use the contents of terminationMessagePath
  2100. to populate the container status message on both success
  2101. and failure. FallbackToLogsOnError will use the last chunk
  2102. of container log output if the termination message file
  2103. is empty and the container exited with an error. The log
  2104. output is limited to 2048 bytes or 80 lines, whichever
  2105. is smaller. Defaults to File. Cannot be updated.
  2106. type: string
  2107. tty:
  2108. description: Whether this container should allocate a TTY
  2109. for itself, also requires 'stdin' to be true. Default
  2110. is false.
  2111. type: boolean
  2112. volumeDevices:
  2113. description: volumeDevices is the list of block devices
  2114. to be used by the container.
  2115. items:
  2116. description: volumeDevice describes a mapping of a raw
  2117. block device within a container.
  2118. properties:
  2119. devicePath:
  2120. description: devicePath is the path inside of the
  2121. container that the device will be mapped to.
  2122. type: string
  2123. name:
  2124. description: name must match the name of a persistentVolumeClaim
  2125. in the pod
  2126. type: string
  2127. required:
  2128. - devicePath
  2129. - name
  2130. type: object
  2131. type: array
  2132. volumeMounts:
  2133. description: Pod volumes to mount into the container's filesystem.
  2134. Cannot be updated.
  2135. items:
  2136. description: VolumeMount describes a mounting of a Volume
  2137. within a container.
  2138. properties:
  2139. mountPath:
  2140. description: Path within the container at which the
  2141. volume should be mounted. Must not contain ':'.
  2142. type: string
  2143. mountPropagation:
  2144. description: mountPropagation determines how mounts
  2145. are propagated from the host to container and the
  2146. other way around. When not set, MountPropagationNone
  2147. is used. This field is beta in 1.10.
  2148. type: string
  2149. name:
  2150. description: This must match the Name of a Volume.
  2151. type: string
  2152. readOnly:
  2153. description: Mounted read-only if true, read-write
  2154. otherwise (false or unspecified). Defaults to false.
  2155. type: boolean
  2156. subPath:
  2157. description: Path within the volume from which the
  2158. container's volume should be mounted. Defaults to
  2159. "" (volume's root).
  2160. type: string
  2161. subPathExpr:
  2162. description: Expanded path within the volume from
  2163. which the container's volume should be mounted.
  2164. Behaves similarly to SubPath but environment variable
  2165. references $(VAR_NAME) are expanded using the container's
  2166. environment. Defaults to "" (volume's root). SubPathExpr
  2167. and SubPath are mutually exclusive.
  2168. type: string
  2169. required:
  2170. - mountPath
  2171. - name
  2172. type: object
  2173. type: array
  2174. workingDir:
  2175. description: Container's working directory. If not specified,
  2176. the container runtime's default will be used, which might
  2177. be configured in the container image. Cannot be updated.
  2178. type: string
  2179. required:
  2180. - name
  2181. type: object
  2182. type: array
  2183. dnsConfig:
  2184. description: Specifies the DNS parameters of a pod. Parameters
  2185. specified here will be merged to the generated DNS configuration
  2186. based on DNSPolicy.
  2187. properties:
  2188. nameservers:
  2189. description: A list of DNS name server IP addresses. This
  2190. will be appended to the base nameservers generated from
  2191. DNSPolicy. Duplicated nameservers will be removed.
  2192. items:
  2193. type: string
  2194. type: array
  2195. options:
  2196. description: A list of DNS resolver options. This will be
  2197. merged with the base options generated from DNSPolicy. Duplicated
  2198. entries will be removed. Resolution options given in Options
  2199. will override those that appear in the base DNSPolicy.
  2200. items:
  2201. description: PodDNSConfigOption defines DNS resolver options
  2202. of a pod.
  2203. properties:
  2204. name:
  2205. description: Required.
  2206. type: string
  2207. value:
  2208. type: string
  2209. type: object
  2210. type: array
  2211. searches:
  2212. description: A list of DNS search domains for host-name lookup.
  2213. This will be appended to the base search paths generated
  2214. from DNSPolicy. Duplicated search paths will be removed.
  2215. items:
  2216. type: string
  2217. type: array
  2218. type: object
  2219. dnsPolicy:
  2220. description: Set DNS policy for the pod. Defaults to "ClusterFirst".
  2221. Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst',
  2222. 'Default' or 'None'. DNS parameters given in DNSConfig will
  2223. be merged with the policy selected with DNSPolicy. To have DNS
  2224. options set along with hostNetwork, you have to specify DNS
  2225. policy explicitly to 'ClusterFirstWithHostNet'.
  2226. type: string
  2227. enableServiceLinks:
  2228. description: 'EnableServiceLinks indicates whether information
  2229. about services should be injected into pod''s environment variables,
  2230. matching the syntax of Docker links. Optional: Defaults to true.'
  2231. type: boolean
  2232. ephemeralContainers:
  2233. description: List of ephemeral containers run in this pod. Ephemeral
  2234. containers may be run in an existing pod to perform user-initiated
  2235. actions such as debugging. This list cannot be specified when
  2236. creating a pod, and it cannot be modified by updating the pod
  2237. spec. In order to add an ephemeral container to an existing
  2238. pod, use the pod's ephemeralcontainers subresource. This field
  2239. is beta-level and available on clusters that haven't disabled
  2240. the EphemeralContainers feature gate.
  2241. items:
  2242. description: "An EphemeralContainer is a temporary container
  2243. that you may add to an existing Pod for user-initiated activities
  2244. such as debugging. Ephemeral containers have no resource or
  2245. scheduling guarantees, and they will not be restarted when
  2246. they exit or when a Pod is removed or restarted. The kubelet
  2247. may evict a Pod if an ephemeral container causes the Pod to
  2248. exceed its resource allocation. \n To add an ephemeral container,
  2249. use the ephemeralcontainers subresource of an existing Pod.
  2250. Ephemeral containers may not be removed or restarted. \n This
  2251. is a beta feature available on clusters that haven't disabled
  2252. the EphemeralContainers feature gate."
  2253. properties:
  2254. args:
  2255. description: 'Arguments to the entrypoint. The image''s
  2256. CMD is used if this is not provided. Variable references
  2257. $(VAR_NAME) are expanded using the container''s environment.
  2258. If a variable cannot be resolved, the reference in the
  2259. input string will be unchanged. Double $$ are reduced
  2260. to a single $, which allows for escaping the $(VAR_NAME)
  2261. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  2262. "$(VAR_NAME)". Escaped references will never be expanded,
  2263. regardless of whether the variable exists or not. Cannot
  2264. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  2265. items:
  2266. type: string
  2267. type: array
  2268. command:
  2269. description: 'Entrypoint array. Not executed within a shell.
  2270. The image''s ENTRYPOINT is used if this is not provided.
  2271. Variable references $(VAR_NAME) are expanded using the
  2272. container''s environment. If a variable cannot be resolved,
  2273. the reference in the input string will be unchanged. Double
  2274. $$ are reduced to a single $, which allows for escaping
  2275. the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce
  2276. the string literal "$(VAR_NAME)". Escaped references will
  2277. never be expanded, regardless of whether the variable
  2278. exists 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'
  2279. items:
  2280. type: string
  2281. type: array
  2282. env:
  2283. description: List of environment variables to set in the
  2284. container. Cannot be updated.
  2285. items:
  2286. description: EnvVar represents an environment variable
  2287. present in a Container.
  2288. properties:
  2289. name:
  2290. description: Name of the environment variable. Must
  2291. be a C_IDENTIFIER.
  2292. type: string
  2293. value:
  2294. description: 'Variable references $(VAR_NAME) are
  2295. expanded using the previously defined environment
  2296. variables in the container and any service environment
  2297. variables. If a variable cannot be resolved, the
  2298. reference in the input string will be unchanged.
  2299. Double $$ are reduced to a single $, which allows
  2300. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  2301. will produce the string literal "$(VAR_NAME)". Escaped
  2302. references will never be expanded, regardless of
  2303. whether the variable exists or not. Defaults to
  2304. "".'
  2305. type: string
  2306. valueFrom:
  2307. description: Source for the environment variable's
  2308. value. Cannot be used if value is not empty.
  2309. properties:
  2310. configMapKeyRef:
  2311. description: Selects a key of a ConfigMap.
  2312. properties:
  2313. key:
  2314. description: The key to select.
  2315. type: string
  2316. name:
  2317. description: 'Name of the referent. More info:
  2318. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2319. TODO: Add other useful fields. apiVersion,
  2320. kind, uid?'
  2321. type: string
  2322. optional:
  2323. description: Specify whether the ConfigMap
  2324. or its key must be defined
  2325. type: boolean
  2326. required:
  2327. - key
  2328. type: object
  2329. x-kubernetes-map-type: atomic
  2330. fieldRef:
  2331. description: 'Selects a field of the pod: supports
  2332. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  2333. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  2334. spec.serviceAccountName, status.hostIP, status.podIP,
  2335. status.podIPs.'
  2336. properties:
  2337. apiVersion:
  2338. description: Version of the schema the FieldPath
  2339. is written in terms of, defaults to "v1".
  2340. type: string
  2341. fieldPath:
  2342. description: Path of the field to select in
  2343. the specified API version.
  2344. type: string
  2345. required:
  2346. - fieldPath
  2347. type: object
  2348. x-kubernetes-map-type: atomic
  2349. resourceFieldRef:
  2350. description: 'Selects a resource of the container:
  2351. only resources limits and requests (limits.cpu,
  2352. limits.memory, limits.ephemeral-storage, requests.cpu,
  2353. requests.memory and requests.ephemeral-storage)
  2354. are currently supported.'
  2355. properties:
  2356. containerName:
  2357. description: 'Container name: required for
  2358. volumes, optional for env vars'
  2359. type: string
  2360. divisor:
  2361. anyOf:
  2362. - type: integer
  2363. - type: string
  2364. description: Specifies the output format of
  2365. the exposed resources, defaults to "1"
  2366. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2367. x-kubernetes-int-or-string: true
  2368. resource:
  2369. description: 'Required: resource to select'
  2370. type: string
  2371. required:
  2372. - resource
  2373. type: object
  2374. x-kubernetes-map-type: atomic
  2375. secretKeyRef:
  2376. description: Selects a key of a secret in the
  2377. pod's namespace
  2378. properties:
  2379. key:
  2380. description: The key of the secret to select
  2381. from. Must be a valid secret key.
  2382. type: string
  2383. name:
  2384. description: 'Name of the referent. More info:
  2385. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2386. TODO: Add other useful fields. apiVersion,
  2387. kind, uid?'
  2388. type: string
  2389. optional:
  2390. description: Specify whether the Secret or
  2391. its key must be defined
  2392. type: boolean
  2393. required:
  2394. - key
  2395. type: object
  2396. x-kubernetes-map-type: atomic
  2397. type: object
  2398. required:
  2399. - name
  2400. type: object
  2401. type: array
  2402. envFrom:
  2403. description: List of sources to populate environment variables
  2404. in the container. The keys defined within a source must
  2405. be a C_IDENTIFIER. All invalid keys will be reported as
  2406. an event when the container is starting. When a key exists
  2407. in multiple sources, the value associated with the last
  2408. source will take precedence. Values defined by an Env
  2409. with a duplicate key will take precedence. Cannot be updated.
  2410. items:
  2411. description: EnvFromSource represents the source of a
  2412. set of ConfigMaps
  2413. properties:
  2414. configMapRef:
  2415. description: The ConfigMap to select from
  2416. properties:
  2417. name:
  2418. description: 'Name of the referent. More info:
  2419. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2420. TODO: Add other useful fields. apiVersion, kind,
  2421. uid?'
  2422. type: string
  2423. optional:
  2424. description: Specify whether the ConfigMap must
  2425. be defined
  2426. type: boolean
  2427. type: object
  2428. x-kubernetes-map-type: atomic
  2429. prefix:
  2430. description: An optional identifier to prepend to
  2431. each key in the ConfigMap. Must be a C_IDENTIFIER.
  2432. type: string
  2433. secretRef:
  2434. description: The Secret to select from
  2435. properties:
  2436. name:
  2437. description: 'Name of the referent. More info:
  2438. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2439. TODO: Add other useful fields. apiVersion, kind,
  2440. uid?'
  2441. type: string
  2442. optional:
  2443. description: Specify whether the Secret must be
  2444. defined
  2445. type: boolean
  2446. type: object
  2447. x-kubernetes-map-type: atomic
  2448. type: object
  2449. type: array
  2450. image:
  2451. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images'
  2452. type: string
  2453. imagePullPolicy:
  2454. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  2455. Defaults to Always if :latest tag is specified, or IfNotPresent
  2456. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  2457. type: string
  2458. lifecycle:
  2459. description: Lifecycle is not allowed for ephemeral containers.
  2460. properties:
  2461. postStart:
  2462. description: 'PostStart is called immediately after
  2463. a container is created. If the handler fails, the
  2464. container is terminated and restarted according to
  2465. its restart policy. Other management of the container
  2466. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  2467. properties:
  2468. exec:
  2469. description: Exec specifies the action to take.
  2470. properties:
  2471. command:
  2472. description: Command is the command line to
  2473. execute inside the container, the working
  2474. directory for the command is root ('/') in
  2475. the container's filesystem. The command is
  2476. simply exec'd, it is not run inside a shell,
  2477. so traditional shell instructions ('|', etc)
  2478. won't work. To use a shell, you need to explicitly
  2479. call out to that shell. Exit status of 0 is
  2480. treated as live/healthy and non-zero is unhealthy.
  2481. items:
  2482. type: string
  2483. type: array
  2484. type: object
  2485. httpGet:
  2486. description: HTTPGet specifies the http request
  2487. to perform.
  2488. properties:
  2489. host:
  2490. description: Host name to connect to, defaults
  2491. to the pod IP. You probably want to set "Host"
  2492. in httpHeaders instead.
  2493. type: string
  2494. httpHeaders:
  2495. description: Custom headers to set in the request.
  2496. HTTP allows repeated headers.
  2497. items:
  2498. description: HTTPHeader describes a custom
  2499. header to be used in HTTP probes
  2500. properties:
  2501. name:
  2502. description: The header field name
  2503. type: string
  2504. value:
  2505. description: The header field value
  2506. type: string
  2507. required:
  2508. - name
  2509. - value
  2510. type: object
  2511. type: array
  2512. path:
  2513. description: Path to access on the HTTP server.
  2514. type: string
  2515. port:
  2516. anyOf:
  2517. - type: integer
  2518. - type: string
  2519. description: Name or number of the port to access
  2520. on the container. Number must be in the range
  2521. 1 to 65535. Name must be an IANA_SVC_NAME.
  2522. x-kubernetes-int-or-string: true
  2523. scheme:
  2524. description: Scheme to use for connecting to
  2525. the host. Defaults to HTTP.
  2526. type: string
  2527. required:
  2528. - port
  2529. type: object
  2530. tcpSocket:
  2531. description: Deprecated. TCPSocket is NOT supported
  2532. as a LifecycleHandler and kept for the backward
  2533. compatibility. There are no validation of this
  2534. field and lifecycle hooks will fail in runtime
  2535. when tcp handler is specified.
  2536. properties:
  2537. host:
  2538. description: 'Optional: Host name to connect
  2539. to, defaults to the pod IP.'
  2540. type: string
  2541. port:
  2542. anyOf:
  2543. - type: integer
  2544. - type: string
  2545. description: Number or name of the port to access
  2546. on the container. Number must be in the range
  2547. 1 to 65535. Name must be an IANA_SVC_NAME.
  2548. x-kubernetes-int-or-string: true
  2549. required:
  2550. - port
  2551. type: object
  2552. type: object
  2553. preStop:
  2554. description: 'PreStop is called immediately before a
  2555. container is terminated due to an API request or management
  2556. event such as liveness/startup probe failure, preemption,
  2557. resource contention, etc. The handler is not called
  2558. if the container crashes or exits. The Pod''s termination
  2559. grace period countdown begins before the PreStop hook
  2560. is executed. Regardless of the outcome of the handler,
  2561. the container will eventually terminate within the
  2562. Pod''s termination grace period (unless delayed by
  2563. finalizers). Other management of the container blocks
  2564. until the hook completes or until the termination
  2565. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  2566. properties:
  2567. exec:
  2568. description: Exec specifies the action to take.
  2569. properties:
  2570. command:
  2571. description: Command is the command line to
  2572. execute inside the container, the working
  2573. directory for the command is root ('/') in
  2574. the container's filesystem. The command is
  2575. simply exec'd, it is not run inside a shell,
  2576. so traditional shell instructions ('|', etc)
  2577. won't work. To use a shell, you need to explicitly
  2578. call out to that shell. Exit status of 0 is
  2579. treated as live/healthy and non-zero is unhealthy.
  2580. items:
  2581. type: string
  2582. type: array
  2583. type: object
  2584. httpGet:
  2585. description: HTTPGet specifies the http request
  2586. to perform.
  2587. properties:
  2588. host:
  2589. description: Host name to connect to, defaults
  2590. to the pod IP. You probably want to set "Host"
  2591. in httpHeaders instead.
  2592. type: string
  2593. httpHeaders:
  2594. description: Custom headers to set in the request.
  2595. HTTP allows repeated headers.
  2596. items:
  2597. description: HTTPHeader describes a custom
  2598. header to be used in HTTP probes
  2599. properties:
  2600. name:
  2601. description: The header field name
  2602. type: string
  2603. value:
  2604. description: The header field value
  2605. type: string
  2606. required:
  2607. - name
  2608. - value
  2609. type: object
  2610. type: array
  2611. path:
  2612. description: Path to access on the HTTP server.
  2613. type: string
  2614. port:
  2615. anyOf:
  2616. - type: integer
  2617. - type: string
  2618. description: Name or number of the port to access
  2619. on the container. Number must be in the range
  2620. 1 to 65535. Name must be an IANA_SVC_NAME.
  2621. x-kubernetes-int-or-string: true
  2622. scheme:
  2623. description: Scheme to use for connecting to
  2624. the host. Defaults to HTTP.
  2625. type: string
  2626. required:
  2627. - port
  2628. type: object
  2629. tcpSocket:
  2630. description: Deprecated. TCPSocket is NOT supported
  2631. as a LifecycleHandler and kept for the backward
  2632. compatibility. There are no validation of this
  2633. field and lifecycle hooks will fail in runtime
  2634. when tcp handler is specified.
  2635. properties:
  2636. host:
  2637. description: 'Optional: Host name to connect
  2638. to, defaults to the pod IP.'
  2639. type: string
  2640. port:
  2641. anyOf:
  2642. - type: integer
  2643. - type: string
  2644. description: Number or name of the port to access
  2645. on the container. Number must be in the range
  2646. 1 to 65535. Name must be an IANA_SVC_NAME.
  2647. x-kubernetes-int-or-string: true
  2648. required:
  2649. - port
  2650. type: object
  2651. type: object
  2652. type: object
  2653. livenessProbe:
  2654. description: Probes are not allowed for ephemeral containers.
  2655. properties:
  2656. exec:
  2657. description: Exec specifies the action to take.
  2658. properties:
  2659. command:
  2660. description: Command is the command line to execute
  2661. inside the container, the working directory for
  2662. the command is root ('/') in the container's
  2663. filesystem. The command is simply exec'd, it is
  2664. not run inside a shell, so traditional shell instructions
  2665. ('|', etc) won't work. To use a shell, you need
  2666. to explicitly call out to that shell. Exit status
  2667. of 0 is treated as live/healthy and non-zero is
  2668. unhealthy.
  2669. items:
  2670. type: string
  2671. type: array
  2672. type: object
  2673. failureThreshold:
  2674. description: Minimum consecutive failures for the probe
  2675. to be considered failed after having succeeded. Defaults
  2676. to 3. Minimum value is 1.
  2677. format: int32
  2678. type: integer
  2679. grpc:
  2680. description: GRPC specifies an action involving a GRPC
  2681. port. This is a beta field and requires enabling GRPCContainerProbe
  2682. feature gate.
  2683. properties:
  2684. port:
  2685. description: Port number of the gRPC service. Number
  2686. must be in the range 1 to 65535.
  2687. format: int32
  2688. type: integer
  2689. service:
  2690. description: "Service is the name of the service
  2691. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2692. \n If this is not specified, the default behavior
  2693. is defined by gRPC."
  2694. type: string
  2695. required:
  2696. - port
  2697. type: object
  2698. httpGet:
  2699. description: HTTPGet specifies the http request to perform.
  2700. properties:
  2701. host:
  2702. description: Host name to connect to, defaults to
  2703. the pod IP. You probably want to set "Host" in
  2704. httpHeaders instead.
  2705. type: string
  2706. httpHeaders:
  2707. description: Custom headers to set in the request.
  2708. HTTP allows repeated headers.
  2709. items:
  2710. description: HTTPHeader describes a custom header
  2711. to be used in HTTP probes
  2712. properties:
  2713. name:
  2714. description: The header field name
  2715. type: string
  2716. value:
  2717. description: The header field value
  2718. type: string
  2719. required:
  2720. - name
  2721. - value
  2722. type: object
  2723. type: array
  2724. path:
  2725. description: Path to access on the HTTP server.
  2726. type: string
  2727. port:
  2728. anyOf:
  2729. - type: integer
  2730. - type: string
  2731. description: Name or number of the port to access
  2732. on the container. Number must be in the range
  2733. 1 to 65535. Name must be an IANA_SVC_NAME.
  2734. x-kubernetes-int-or-string: true
  2735. scheme:
  2736. description: Scheme to use for connecting to the
  2737. host. Defaults to HTTP.
  2738. type: string
  2739. required:
  2740. - port
  2741. type: object
  2742. initialDelaySeconds:
  2743. description: 'Number of seconds after the container
  2744. has started before liveness probes are initiated.
  2745. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2746. format: int32
  2747. type: integer
  2748. periodSeconds:
  2749. description: How often (in seconds) to perform the probe.
  2750. Default to 10 seconds. Minimum value is 1.
  2751. format: int32
  2752. type: integer
  2753. successThreshold:
  2754. description: Minimum consecutive successes for the probe
  2755. to be considered successful after having failed. Defaults
  2756. to 1. Must be 1 for liveness and startup. Minimum
  2757. value is 1.
  2758. format: int32
  2759. type: integer
  2760. tcpSocket:
  2761. description: TCPSocket specifies an action involving
  2762. a TCP port.
  2763. properties:
  2764. host:
  2765. description: 'Optional: Host name to connect to,
  2766. defaults to the pod IP.'
  2767. type: string
  2768. port:
  2769. anyOf:
  2770. - type: integer
  2771. - type: string
  2772. description: Number or name of the port to access
  2773. on the container. Number must be in the range
  2774. 1 to 65535. Name must be an IANA_SVC_NAME.
  2775. x-kubernetes-int-or-string: true
  2776. required:
  2777. - port
  2778. type: object
  2779. terminationGracePeriodSeconds:
  2780. description: Optional duration in seconds the pod needs
  2781. to terminate gracefully upon probe failure. The grace
  2782. period is the duration in seconds after the processes
  2783. running in the pod are sent a termination signal and
  2784. the time when the processes are forcibly halted with
  2785. a kill signal. Set this value longer than the expected
  2786. cleanup time for your process. If this value is nil,
  2787. the pod's terminationGracePeriodSeconds will be used.
  2788. Otherwise, this value overrides the value provided
  2789. by the pod spec. Value must be non-negative integer.
  2790. The value zero indicates stop immediately via the
  2791. kill signal (no opportunity to shut down). This is
  2792. a beta field and requires enabling ProbeTerminationGracePeriod
  2793. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  2794. is used if unset.
  2795. format: int64
  2796. type: integer
  2797. timeoutSeconds:
  2798. description: 'Number of seconds after which the probe
  2799. times out. Defaults to 1 second. Minimum value is
  2800. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2801. format: int32
  2802. type: integer
  2803. type: object
  2804. name:
  2805. description: Name of the ephemeral container specified as
  2806. a DNS_LABEL. This name must be unique among all containers,
  2807. init containers and ephemeral containers.
  2808. type: string
  2809. ports:
  2810. description: Ports are not allowed for ephemeral containers.
  2811. items:
  2812. description: ContainerPort represents a network port in
  2813. a single container.
  2814. properties:
  2815. containerPort:
  2816. description: Number of port to expose on the pod's
  2817. IP address. This must be a valid port number, 0
  2818. < x < 65536.
  2819. format: int32
  2820. type: integer
  2821. hostIP:
  2822. description: What host IP to bind the external port
  2823. to.
  2824. type: string
  2825. hostPort:
  2826. description: Number of port to expose on the host.
  2827. If specified, this must be a valid port number,
  2828. 0 < x < 65536. If HostNetwork is specified, this
  2829. must match ContainerPort. Most containers do not
  2830. need this.
  2831. format: int32
  2832. type: integer
  2833. name:
  2834. description: If specified, this must be an IANA_SVC_NAME
  2835. and unique within the pod. Each named port in a
  2836. pod must have a unique name. Name for the port that
  2837. can be referred to by services.
  2838. type: string
  2839. protocol:
  2840. default: TCP
  2841. description: Protocol for port. Must be UDP, TCP,
  2842. or SCTP. Defaults to "TCP".
  2843. type: string
  2844. required:
  2845. - containerPort
  2846. type: object
  2847. type: array
  2848. x-kubernetes-list-map-keys:
  2849. - containerPort
  2850. - protocol
  2851. x-kubernetes-list-type: map
  2852. readinessProbe:
  2853. description: Probes are not allowed for ephemeral containers.
  2854. properties:
  2855. exec:
  2856. description: Exec specifies the action to take.
  2857. properties:
  2858. command:
  2859. description: Command is the command line to execute
  2860. inside the container, the working directory for
  2861. the command is root ('/') in the container's
  2862. filesystem. The command is simply exec'd, it is
  2863. not run inside a shell, so traditional shell instructions
  2864. ('|', etc) won't work. To use a shell, you need
  2865. to explicitly call out to that shell. Exit status
  2866. of 0 is treated as live/healthy and non-zero is
  2867. unhealthy.
  2868. items:
  2869. type: string
  2870. type: array
  2871. type: object
  2872. failureThreshold:
  2873. description: Minimum consecutive failures for the probe
  2874. to be considered failed after having succeeded. Defaults
  2875. to 3. Minimum value is 1.
  2876. format: int32
  2877. type: integer
  2878. grpc:
  2879. description: GRPC specifies an action involving a GRPC
  2880. port. This is a beta field and requires enabling GRPCContainerProbe
  2881. feature gate.
  2882. properties:
  2883. port:
  2884. description: Port number of the gRPC service. Number
  2885. must be in the range 1 to 65535.
  2886. format: int32
  2887. type: integer
  2888. service:
  2889. description: "Service is the name of the service
  2890. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2891. \n If this is not specified, the default behavior
  2892. is defined by gRPC."
  2893. type: string
  2894. required:
  2895. - port
  2896. type: object
  2897. httpGet:
  2898. description: HTTPGet specifies the http request to perform.
  2899. properties:
  2900. host:
  2901. description: Host name to connect to, defaults to
  2902. the pod IP. You probably want to set "Host" in
  2903. httpHeaders instead.
  2904. type: string
  2905. httpHeaders:
  2906. description: Custom headers to set in the request.
  2907. HTTP allows repeated headers.
  2908. items:
  2909. description: HTTPHeader describes a custom header
  2910. to be used in HTTP probes
  2911. properties:
  2912. name:
  2913. description: The header field name
  2914. type: string
  2915. value:
  2916. description: The header field value
  2917. type: string
  2918. required:
  2919. - name
  2920. - value
  2921. type: object
  2922. type: array
  2923. path:
  2924. description: Path to access on the HTTP server.
  2925. type: string
  2926. port:
  2927. anyOf:
  2928. - type: integer
  2929. - type: string
  2930. description: Name or number of the port to access
  2931. on the container. Number must be in the range
  2932. 1 to 65535. Name must be an IANA_SVC_NAME.
  2933. x-kubernetes-int-or-string: true
  2934. scheme:
  2935. description: Scheme to use for connecting to the
  2936. host. Defaults to HTTP.
  2937. type: string
  2938. required:
  2939. - port
  2940. type: object
  2941. initialDelaySeconds:
  2942. description: 'Number of seconds after the container
  2943. has started before liveness probes are initiated.
  2944. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2945. format: int32
  2946. type: integer
  2947. periodSeconds:
  2948. description: How often (in seconds) to perform the probe.
  2949. Default to 10 seconds. Minimum value is 1.
  2950. format: int32
  2951. type: integer
  2952. successThreshold:
  2953. description: Minimum consecutive successes for the probe
  2954. to be considered successful after having failed. Defaults
  2955. to 1. Must be 1 for liveness and startup. Minimum
  2956. value is 1.
  2957. format: int32
  2958. type: integer
  2959. tcpSocket:
  2960. description: TCPSocket specifies an action involving
  2961. a TCP port.
  2962. properties:
  2963. host:
  2964. description: 'Optional: Host name to connect to,
  2965. defaults to the pod IP.'
  2966. type: string
  2967. port:
  2968. anyOf:
  2969. - type: integer
  2970. - type: string
  2971. description: Number or name of the port to access
  2972. on the container. Number must be in the range
  2973. 1 to 65535. Name must be an IANA_SVC_NAME.
  2974. x-kubernetes-int-or-string: true
  2975. required:
  2976. - port
  2977. type: object
  2978. terminationGracePeriodSeconds:
  2979. description: Optional duration in seconds the pod needs
  2980. to terminate gracefully upon probe failure. The grace
  2981. period is the duration in seconds after the processes
  2982. running in the pod are sent a termination signal and
  2983. the time when the processes are forcibly halted with
  2984. a kill signal. Set this value longer than the expected
  2985. cleanup time for your process. If this value is nil,
  2986. the pod's terminationGracePeriodSeconds will be used.
  2987. Otherwise, this value overrides the value provided
  2988. by the pod spec. Value must be non-negative integer.
  2989. The value zero indicates stop immediately via the
  2990. kill signal (no opportunity to shut down). This is
  2991. a beta field and requires enabling ProbeTerminationGracePeriod
  2992. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  2993. is used if unset.
  2994. format: int64
  2995. type: integer
  2996. timeoutSeconds:
  2997. description: 'Number of seconds after which the probe
  2998. times out. Defaults to 1 second. Minimum value is
  2999. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3000. format: int32
  3001. type: integer
  3002. type: object
  3003. resources:
  3004. description: Resources are not allowed for ephemeral containers.
  3005. Ephemeral containers use spare resources already allocated
  3006. to the pod.
  3007. properties:
  3008. limits:
  3009. additionalProperties:
  3010. anyOf:
  3011. - type: integer
  3012. - type: string
  3013. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3014. x-kubernetes-int-or-string: true
  3015. description: 'Limits describes the maximum amount of
  3016. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3017. type: object
  3018. requests:
  3019. additionalProperties:
  3020. anyOf:
  3021. - type: integer
  3022. - type: string
  3023. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3024. x-kubernetes-int-or-string: true
  3025. description: 'Requests describes the minimum amount
  3026. of compute resources required. If Requests is omitted
  3027. for a container, it defaults to Limits if that is
  3028. explicitly specified, otherwise to an implementation-defined
  3029. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3030. type: object
  3031. type: object
  3032. securityContext:
  3033. description: 'Optional: SecurityContext defines the security
  3034. options the ephemeral container should be run with. If
  3035. set, the fields of SecurityContext override the equivalent
  3036. fields of PodSecurityContext.'
  3037. properties:
  3038. allowPrivilegeEscalation:
  3039. description: 'AllowPrivilegeEscalation controls whether
  3040. a process can gain more privileges than its parent
  3041. process. This bool directly controls if the no_new_privs
  3042. flag will be set on the container process. AllowPrivilegeEscalation
  3043. is true always when the container is: 1) run as Privileged
  3044. 2) has CAP_SYS_ADMIN Note that this field cannot be
  3045. set when spec.os.name is windows.'
  3046. type: boolean
  3047. capabilities:
  3048. description: The capabilities to add/drop when running
  3049. containers. Defaults to the default set of capabilities
  3050. granted by the container runtime. Note that this field
  3051. cannot be set when spec.os.name is windows.
  3052. properties:
  3053. add:
  3054. description: Added capabilities
  3055. items:
  3056. description: Capability represent POSIX capabilities
  3057. type
  3058. type: string
  3059. type: array
  3060. drop:
  3061. description: Removed capabilities
  3062. items:
  3063. description: Capability represent POSIX capabilities
  3064. type
  3065. type: string
  3066. type: array
  3067. type: object
  3068. privileged:
  3069. description: Run container in privileged mode. Processes
  3070. in privileged containers are essentially equivalent
  3071. to root on the host. Defaults to false. Note that
  3072. this field cannot be set when spec.os.name is windows.
  3073. type: boolean
  3074. procMount:
  3075. description: procMount denotes the type of proc mount
  3076. to use for the containers. The default is DefaultProcMount
  3077. which uses the container runtime defaults for readonly
  3078. paths and masked paths. This requires the ProcMountType
  3079. feature flag to be enabled. Note that this field cannot
  3080. be set when spec.os.name is windows.
  3081. type: string
  3082. readOnlyRootFilesystem:
  3083. description: Whether this container has a read-only
  3084. root filesystem. Default is false. Note that this
  3085. field cannot be set when spec.os.name is windows.
  3086. type: boolean
  3087. runAsGroup:
  3088. description: The GID to run the entrypoint of the container
  3089. process. Uses runtime default if unset. May also be
  3090. set in PodSecurityContext. If set in both SecurityContext
  3091. and PodSecurityContext, the value specified in SecurityContext
  3092. takes precedence. Note that this field cannot be set
  3093. when spec.os.name is windows.
  3094. format: int64
  3095. type: integer
  3096. runAsNonRoot:
  3097. description: Indicates that the container must run as
  3098. a non-root user. If true, the Kubelet will validate
  3099. the image at runtime to ensure that it does not run
  3100. as UID 0 (root) and fail to start the container if
  3101. it does. If unset or false, no such validation will
  3102. be performed. May also be set in PodSecurityContext. If
  3103. set in both SecurityContext and PodSecurityContext,
  3104. the value specified in SecurityContext takes precedence.
  3105. type: boolean
  3106. runAsUser:
  3107. description: The UID to run the entrypoint of the container
  3108. process. Defaults to user specified in image metadata
  3109. if unspecified. May also be set in PodSecurityContext. If
  3110. set in both SecurityContext and PodSecurityContext,
  3111. the value specified in SecurityContext takes precedence.
  3112. Note that this field cannot be set when spec.os.name
  3113. is windows.
  3114. format: int64
  3115. type: integer
  3116. seLinuxOptions:
  3117. description: The SELinux context to be applied to the
  3118. container. If unspecified, the container runtime will
  3119. allocate a random SELinux context for each container. May
  3120. also be set in PodSecurityContext. If set in both
  3121. SecurityContext and PodSecurityContext, the value
  3122. specified in SecurityContext takes precedence. Note
  3123. that this field cannot be set when spec.os.name is
  3124. windows.
  3125. properties:
  3126. level:
  3127. description: Level is SELinux level label that applies
  3128. to the container.
  3129. type: string
  3130. role:
  3131. description: Role is a SELinux role label that applies
  3132. to the container.
  3133. type: string
  3134. type:
  3135. description: Type is a SELinux type label that applies
  3136. to the container.
  3137. type: string
  3138. user:
  3139. description: User is a SELinux user label that applies
  3140. to the container.
  3141. type: string
  3142. type: object
  3143. seccompProfile:
  3144. description: The seccomp options to use by this container.
  3145. If seccomp options are provided at both the pod &
  3146. container level, the container options override the
  3147. pod options. Note that this field cannot be set when
  3148. spec.os.name is windows.
  3149. properties:
  3150. localhostProfile:
  3151. description: localhostProfile indicates a profile
  3152. defined in a file on the node should be used.
  3153. The profile must be preconfigured on the node
  3154. to work. Must be a descending path, relative to
  3155. the kubelet's configured seccomp profile location.
  3156. Must only be set if type is "Localhost".
  3157. type: string
  3158. type:
  3159. description: "type indicates which kind of seccomp
  3160. profile will be applied. Valid options are: \n
  3161. Localhost - a profile defined in a file on the
  3162. node should be used. RuntimeDefault - the container
  3163. runtime default profile should be used. Unconfined
  3164. - no profile should be applied."
  3165. type: string
  3166. required:
  3167. - type
  3168. type: object
  3169. windowsOptions:
  3170. description: The Windows specific settings applied to
  3171. all containers. If unspecified, the options from the
  3172. PodSecurityContext will be used. If set in both SecurityContext
  3173. and PodSecurityContext, the value specified in SecurityContext
  3174. takes precedence. Note that this field cannot be set
  3175. when spec.os.name is linux.
  3176. properties:
  3177. gmsaCredentialSpec:
  3178. description: GMSACredentialSpec is where the GMSA
  3179. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  3180. inlines the contents of the GMSA credential spec
  3181. named by the GMSACredentialSpecName field.
  3182. type: string
  3183. gmsaCredentialSpecName:
  3184. description: GMSACredentialSpecName is the name
  3185. of the GMSA credential spec to use.
  3186. type: string
  3187. hostProcess:
  3188. description: HostProcess determines if a container
  3189. should be run as a 'Host Process' container. This
  3190. field is alpha-level and will only be honored
  3191. by components that enable the WindowsHostProcessContainers
  3192. feature flag. Setting this field without the feature
  3193. flag will result in errors when validating the
  3194. Pod. All of a Pod's containers must have the same
  3195. effective HostProcess value (it is not allowed
  3196. to have a mix of HostProcess containers and non-HostProcess
  3197. containers). In addition, if HostProcess is true
  3198. then HostNetwork must also be set to true.
  3199. type: boolean
  3200. runAsUserName:
  3201. description: The UserName in Windows to run the
  3202. entrypoint of the container process. Defaults
  3203. to the user specified in image metadata if unspecified.
  3204. May also be set in PodSecurityContext. If set
  3205. in both SecurityContext and PodSecurityContext,
  3206. the value specified in SecurityContext takes precedence.
  3207. type: string
  3208. type: object
  3209. type: object
  3210. startupProbe:
  3211. description: Probes are not allowed for ephemeral containers.
  3212. properties:
  3213. exec:
  3214. description: Exec specifies the action to take.
  3215. properties:
  3216. command:
  3217. description: Command is the command line to execute
  3218. inside the container, the working directory for
  3219. the command is root ('/') in the container's
  3220. filesystem. The command is simply exec'd, it is
  3221. not run inside a shell, so traditional shell instructions
  3222. ('|', etc) won't work. To use a shell, you need
  3223. to explicitly call out to that shell. Exit status
  3224. of 0 is treated as live/healthy and non-zero is
  3225. unhealthy.
  3226. items:
  3227. type: string
  3228. type: array
  3229. type: object
  3230. failureThreshold:
  3231. description: Minimum consecutive failures for the probe
  3232. to be considered failed after having succeeded. Defaults
  3233. to 3. Minimum value is 1.
  3234. format: int32
  3235. type: integer
  3236. grpc:
  3237. description: GRPC specifies an action involving a GRPC
  3238. port. This is a beta field and requires enabling GRPCContainerProbe
  3239. feature gate.
  3240. properties:
  3241. port:
  3242. description: Port number of the gRPC service. Number
  3243. must be in the range 1 to 65535.
  3244. format: int32
  3245. type: integer
  3246. service:
  3247. description: "Service is the name of the service
  3248. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  3249. \n If this is not specified, the default behavior
  3250. is defined by gRPC."
  3251. type: string
  3252. required:
  3253. - port
  3254. type: object
  3255. httpGet:
  3256. description: HTTPGet specifies the http request to perform.
  3257. properties:
  3258. host:
  3259. description: Host name to connect to, defaults to
  3260. the pod IP. You probably want to set "Host" in
  3261. httpHeaders instead.
  3262. type: string
  3263. httpHeaders:
  3264. description: Custom headers to set in the request.
  3265. HTTP allows repeated headers.
  3266. items:
  3267. description: HTTPHeader describes a custom header
  3268. to be used in HTTP probes
  3269. properties:
  3270. name:
  3271. description: The header field name
  3272. type: string
  3273. value:
  3274. description: The header field value
  3275. type: string
  3276. required:
  3277. - name
  3278. - value
  3279. type: object
  3280. type: array
  3281. path:
  3282. description: Path to access on the HTTP server.
  3283. type: string
  3284. port:
  3285. anyOf:
  3286. - type: integer
  3287. - type: string
  3288. description: Name or number of the port to access
  3289. on the container. Number must be in the range
  3290. 1 to 65535. Name must be an IANA_SVC_NAME.
  3291. x-kubernetes-int-or-string: true
  3292. scheme:
  3293. description: Scheme to use for connecting to the
  3294. host. Defaults to HTTP.
  3295. type: string
  3296. required:
  3297. - port
  3298. type: object
  3299. initialDelaySeconds:
  3300. description: 'Number of seconds after the container
  3301. has started before liveness probes are initiated.
  3302. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3303. format: int32
  3304. type: integer
  3305. periodSeconds:
  3306. description: How often (in seconds) to perform the probe.
  3307. Default to 10 seconds. Minimum value is 1.
  3308. format: int32
  3309. type: integer
  3310. successThreshold:
  3311. description: Minimum consecutive successes for the probe
  3312. to be considered successful after having failed. Defaults
  3313. to 1. Must be 1 for liveness and startup. Minimum
  3314. value is 1.
  3315. format: int32
  3316. type: integer
  3317. tcpSocket:
  3318. description: TCPSocket specifies an action involving
  3319. a TCP port.
  3320. properties:
  3321. host:
  3322. description: 'Optional: Host name to connect to,
  3323. defaults to the pod IP.'
  3324. type: string
  3325. port:
  3326. anyOf:
  3327. - type: integer
  3328. - type: string
  3329. description: Number or name of the port to access
  3330. on the container. Number must be in the range
  3331. 1 to 65535. Name must be an IANA_SVC_NAME.
  3332. x-kubernetes-int-or-string: true
  3333. required:
  3334. - port
  3335. type: object
  3336. terminationGracePeriodSeconds:
  3337. description: Optional duration in seconds the pod needs
  3338. to terminate gracefully upon probe failure. The grace
  3339. period is the duration in seconds after the processes
  3340. running in the pod are sent a termination signal and
  3341. the time when the processes are forcibly halted with
  3342. a kill signal. Set this value longer than the expected
  3343. cleanup time for your process. If this value is nil,
  3344. the pod's terminationGracePeriodSeconds will be used.
  3345. Otherwise, this value overrides the value provided
  3346. by the pod spec. Value must be non-negative integer.
  3347. The value zero indicates stop immediately via the
  3348. kill signal (no opportunity to shut down). This is
  3349. a beta field and requires enabling ProbeTerminationGracePeriod
  3350. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  3351. is used if unset.
  3352. format: int64
  3353. type: integer
  3354. timeoutSeconds:
  3355. description: 'Number of seconds after which the probe
  3356. times out. Defaults to 1 second. Minimum value is
  3357. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3358. format: int32
  3359. type: integer
  3360. type: object
  3361. stdin:
  3362. description: Whether this container should allocate a buffer
  3363. for stdin in the container runtime. If this is not set,
  3364. reads from stdin in the container will always result in
  3365. EOF. Default is false.
  3366. type: boolean
  3367. stdinOnce:
  3368. description: Whether the container runtime should close
  3369. the stdin channel after it has been opened by a single
  3370. attach. When stdin is true the stdin stream will remain
  3371. open across multiple attach sessions. If stdinOnce is
  3372. set to true, stdin is opened on container start, is empty
  3373. until the first client attaches to stdin, and then remains
  3374. open and accepts data until the client disconnects, at
  3375. which time stdin is closed and remains closed until the
  3376. container is restarted. If this flag is false, a container
  3377. processes that reads from stdin will never receive an
  3378. EOF. Default is false
  3379. type: boolean
  3380. targetContainerName:
  3381. description: "If set, the name of the container from PodSpec
  3382. that this ephemeral container targets. The ephemeral container
  3383. will be run in the namespaces (IPC, PID, etc) of this
  3384. container. If not set then the ephemeral container uses
  3385. the namespaces configured in the Pod spec. \n The container
  3386. runtime must implement support for this feature. If the
  3387. runtime does not support namespace targeting then the
  3388. result of setting this field is undefined."
  3389. type: string
  3390. terminationMessagePath:
  3391. description: 'Optional: Path at which the file to which
  3392. the container''s termination message will be written is
  3393. mounted into the container''s filesystem. Message written
  3394. is intended to be brief final status, such as an assertion
  3395. failure message. Will be truncated by the node if greater
  3396. than 4096 bytes. The total message length across all containers
  3397. will be limited to 12kb. Defaults to /dev/termination-log.
  3398. Cannot be updated.'
  3399. type: string
  3400. terminationMessagePolicy:
  3401. description: Indicate how the termination message should
  3402. be populated. File will use the contents of terminationMessagePath
  3403. to populate the container status message on both success
  3404. and failure. FallbackToLogsOnError will use the last chunk
  3405. of container log output if the termination message file
  3406. is empty and the container exited with an error. The log
  3407. output is limited to 2048 bytes or 80 lines, whichever
  3408. is smaller. Defaults to File. Cannot be updated.
  3409. type: string
  3410. tty:
  3411. description: Whether this container should allocate a TTY
  3412. for itself, also requires 'stdin' to be true. Default
  3413. is false.
  3414. type: boolean
  3415. volumeDevices:
  3416. description: volumeDevices is the list of block devices
  3417. to be used by the container.
  3418. items:
  3419. description: volumeDevice describes a mapping of a raw
  3420. block device within a container.
  3421. properties:
  3422. devicePath:
  3423. description: devicePath is the path inside of the
  3424. container that the device will be mapped to.
  3425. type: string
  3426. name:
  3427. description: name must match the name of a persistentVolumeClaim
  3428. in the pod
  3429. type: string
  3430. required:
  3431. - devicePath
  3432. - name
  3433. type: object
  3434. type: array
  3435. volumeMounts:
  3436. description: Pod volumes to mount into the container's filesystem.
  3437. Subpath mounts are not allowed for ephemeral containers.
  3438. Cannot be updated.
  3439. items:
  3440. description: VolumeMount describes a mounting of a Volume
  3441. within a container.
  3442. properties:
  3443. mountPath:
  3444. description: Path within the container at which the
  3445. volume should be mounted. Must not contain ':'.
  3446. type: string
  3447. mountPropagation:
  3448. description: mountPropagation determines how mounts
  3449. are propagated from the host to container and the
  3450. other way around. When not set, MountPropagationNone
  3451. is used. This field is beta in 1.10.
  3452. type: string
  3453. name:
  3454. description: This must match the Name of a Volume.
  3455. type: string
  3456. readOnly:
  3457. description: Mounted read-only if true, read-write
  3458. otherwise (false or unspecified). Defaults to false.
  3459. type: boolean
  3460. subPath:
  3461. description: Path within the volume from which the
  3462. container's volume should be mounted. Defaults to
  3463. "" (volume's root).
  3464. type: string
  3465. subPathExpr:
  3466. description: Expanded path within the volume from
  3467. which the container's volume should be mounted.
  3468. Behaves similarly to SubPath but environment variable
  3469. references $(VAR_NAME) are expanded using the container's
  3470. environment. Defaults to "" (volume's root). SubPathExpr
  3471. and SubPath are mutually exclusive.
  3472. type: string
  3473. required:
  3474. - mountPath
  3475. - name
  3476. type: object
  3477. type: array
  3478. workingDir:
  3479. description: Container's working directory. If not specified,
  3480. the container runtime's default will be used, which might
  3481. be configured in the container image. Cannot be updated.
  3482. type: string
  3483. required:
  3484. - name
  3485. type: object
  3486. type: array
  3487. hostAliases:
  3488. description: HostAliases is an optional list of hosts and IPs
  3489. that will be injected into the pod's hosts file if specified.
  3490. This is only valid for non-hostNetwork pods.
  3491. items:
  3492. description: HostAlias holds the mapping between IP and hostnames
  3493. that will be injected as an entry in the pod's hosts file.
  3494. properties:
  3495. hostnames:
  3496. description: Hostnames for the above IP address.
  3497. items:
  3498. type: string
  3499. type: array
  3500. ip:
  3501. description: IP address of the host file entry.
  3502. type: string
  3503. type: object
  3504. type: array
  3505. hostIPC:
  3506. description: 'Use the host''s ipc namespace. Optional: Default
  3507. to false.'
  3508. type: boolean
  3509. hostNetwork:
  3510. description: Host networking requested for this pod. Use the host's
  3511. network namespace. If this option is set, the ports that will
  3512. be used must be specified. Default to false.
  3513. type: boolean
  3514. hostPID:
  3515. description: 'Use the host''s pid namespace. Optional: Default
  3516. to false.'
  3517. type: boolean
  3518. hostname:
  3519. description: Specifies the hostname of the Pod If not specified,
  3520. the pod's hostname will be set to a system-defined value.
  3521. type: string
  3522. imagePullSecrets:
  3523. description: 'ImagePullSecrets is an optional list of references
  3524. to secrets in the same namespace to use for pulling any of the
  3525. images used by this PodSpec. If specified, these secrets will
  3526. be passed to individual puller implementations for them to use.
  3527. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  3528. items:
  3529. description: LocalObjectReference contains enough information
  3530. to let you locate the referenced object inside the same namespace.
  3531. properties:
  3532. name:
  3533. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3534. TODO: Add other useful fields. apiVersion, kind, uid?'
  3535. type: string
  3536. type: object
  3537. x-kubernetes-map-type: atomic
  3538. type: array
  3539. initContainers:
  3540. description: 'List of initialization containers belonging to the
  3541. pod. Init containers are executed in order prior to containers
  3542. being started. If any init container fails, the pod is considered
  3543. to have failed and is handled according to its restartPolicy.
  3544. The name for an init container or normal container must be unique
  3545. among all containers. Init containers may not have Lifecycle
  3546. actions, Readiness probes, Liveness probes, or Startup probes.
  3547. The resourceRequirements of an init container are taken into
  3548. account during scheduling by finding the highest request/limit
  3549. for each resource type, and then using the max of of that value
  3550. or the sum of the normal containers. Limits are applied to init
  3551. containers in a similar fashion. Init containers cannot currently
  3552. be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
  3553. items:
  3554. description: A single application container that you want to
  3555. run within a pod.
  3556. properties:
  3557. args:
  3558. description: 'Arguments to the entrypoint. The container
  3559. image''s CMD is used if this is not provided. Variable
  3560. references $(VAR_NAME) are expanded using the container''s
  3561. environment. If a variable cannot be resolved, the reference
  3562. in the input string will be unchanged. Double $$ are reduced
  3563. to a single $, which allows for escaping the $(VAR_NAME)
  3564. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  3565. "$(VAR_NAME)". Escaped references will never be expanded,
  3566. regardless of whether the variable exists or not. Cannot
  3567. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  3568. items:
  3569. type: string
  3570. type: array
  3571. command:
  3572. description: 'Entrypoint array. Not executed within a shell.
  3573. The container image''s ENTRYPOINT is used if this is not
  3574. provided. Variable references $(VAR_NAME) are expanded
  3575. using the container''s environment. If a variable cannot
  3576. be resolved, the reference in the input string will be
  3577. unchanged. Double $$ are reduced to a single $, which
  3578. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  3579. will produce the string literal "$(VAR_NAME)". Escaped
  3580. references will never be expanded, regardless of whether
  3581. the variable exists or not. Cannot be updated. More info:
  3582. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  3583. items:
  3584. type: string
  3585. type: array
  3586. env:
  3587. description: List of environment variables to set in the
  3588. container. Cannot be updated.
  3589. items:
  3590. description: EnvVar represents an environment variable
  3591. present in a Container.
  3592. properties:
  3593. name:
  3594. description: Name of the environment variable. Must
  3595. be a C_IDENTIFIER.
  3596. type: string
  3597. value:
  3598. description: 'Variable references $(VAR_NAME) are
  3599. expanded using the previously defined environment
  3600. variables in the container and any service environment
  3601. variables. If a variable cannot be resolved, the
  3602. reference in the input string will be unchanged.
  3603. Double $$ are reduced to a single $, which allows
  3604. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  3605. will produce the string literal "$(VAR_NAME)". Escaped
  3606. references will never be expanded, regardless of
  3607. whether the variable exists or not. Defaults to
  3608. "".'
  3609. type: string
  3610. valueFrom:
  3611. description: Source for the environment variable's
  3612. value. Cannot be used if value is not empty.
  3613. properties:
  3614. configMapKeyRef:
  3615. description: Selects a key of a ConfigMap.
  3616. properties:
  3617. key:
  3618. description: The key to select.
  3619. type: string
  3620. name:
  3621. description: 'Name of the referent. More info:
  3622. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3623. TODO: Add other useful fields. apiVersion,
  3624. kind, uid?'
  3625. type: string
  3626. optional:
  3627. description: Specify whether the ConfigMap
  3628. or its key must be defined
  3629. type: boolean
  3630. required:
  3631. - key
  3632. type: object
  3633. x-kubernetes-map-type: atomic
  3634. fieldRef:
  3635. description: 'Selects a field of the pod: supports
  3636. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  3637. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  3638. spec.serviceAccountName, status.hostIP, status.podIP,
  3639. status.podIPs.'
  3640. properties:
  3641. apiVersion:
  3642. description: Version of the schema the FieldPath
  3643. is written in terms of, defaults to "v1".
  3644. type: string
  3645. fieldPath:
  3646. description: Path of the field to select in
  3647. the specified API version.
  3648. type: string
  3649. required:
  3650. - fieldPath
  3651. type: object
  3652. x-kubernetes-map-type: atomic
  3653. resourceFieldRef:
  3654. description: 'Selects a resource of the container:
  3655. only resources limits and requests (limits.cpu,
  3656. limits.memory, limits.ephemeral-storage, requests.cpu,
  3657. requests.memory and requests.ephemeral-storage)
  3658. are currently supported.'
  3659. properties:
  3660. containerName:
  3661. description: 'Container name: required for
  3662. volumes, optional for env vars'
  3663. type: string
  3664. divisor:
  3665. anyOf:
  3666. - type: integer
  3667. - type: string
  3668. description: Specifies the output format of
  3669. the exposed resources, defaults to "1"
  3670. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3671. x-kubernetes-int-or-string: true
  3672. resource:
  3673. description: 'Required: resource to select'
  3674. type: string
  3675. required:
  3676. - resource
  3677. type: object
  3678. x-kubernetes-map-type: atomic
  3679. secretKeyRef:
  3680. description: Selects a key of a secret in the
  3681. pod's namespace
  3682. properties:
  3683. key:
  3684. description: The key of the secret to select
  3685. from. Must be a valid secret key.
  3686. type: string
  3687. name:
  3688. description: 'Name of the referent. More info:
  3689. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3690. TODO: Add other useful fields. apiVersion,
  3691. kind, uid?'
  3692. type: string
  3693. optional:
  3694. description: Specify whether the Secret or
  3695. its key must be defined
  3696. type: boolean
  3697. required:
  3698. - key
  3699. type: object
  3700. x-kubernetes-map-type: atomic
  3701. type: object
  3702. required:
  3703. - name
  3704. type: object
  3705. type: array
  3706. envFrom:
  3707. description: List of sources to populate environment variables
  3708. in the container. The keys defined within a source must
  3709. be a C_IDENTIFIER. All invalid keys will be reported as
  3710. an event when the container is starting. When a key exists
  3711. in multiple sources, the value associated with the last
  3712. source will take precedence. Values defined by an Env
  3713. with a duplicate key will take precedence. Cannot be updated.
  3714. items:
  3715. description: EnvFromSource represents the source of a
  3716. set of ConfigMaps
  3717. properties:
  3718. configMapRef:
  3719. description: The ConfigMap to select from
  3720. properties:
  3721. name:
  3722. description: 'Name of the referent. More info:
  3723. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3724. TODO: Add other useful fields. apiVersion, kind,
  3725. uid?'
  3726. type: string
  3727. optional:
  3728. description: Specify whether the ConfigMap must
  3729. be defined
  3730. type: boolean
  3731. type: object
  3732. x-kubernetes-map-type: atomic
  3733. prefix:
  3734. description: An optional identifier to prepend to
  3735. each key in the ConfigMap. Must be a C_IDENTIFIER.
  3736. type: string
  3737. secretRef:
  3738. description: The Secret to select from
  3739. properties:
  3740. name:
  3741. description: 'Name of the referent. More info:
  3742. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3743. TODO: Add other useful fields. apiVersion, kind,
  3744. uid?'
  3745. type: string
  3746. optional:
  3747. description: Specify whether the Secret must be
  3748. defined
  3749. type: boolean
  3750. type: object
  3751. x-kubernetes-map-type: atomic
  3752. type: object
  3753. type: array
  3754. image:
  3755. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  3756. This field is optional to allow higher level config management
  3757. to default or override container images in workload controllers
  3758. like Deployments and StatefulSets.'
  3759. type: string
  3760. imagePullPolicy:
  3761. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  3762. Defaults to Always if :latest tag is specified, or IfNotPresent
  3763. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  3764. type: string
  3765. lifecycle:
  3766. description: Actions that the management system should take
  3767. in response to container lifecycle events. Cannot be updated.
  3768. properties:
  3769. postStart:
  3770. description: 'PostStart is called immediately after
  3771. a container is created. If the handler fails, the
  3772. container is terminated and restarted according to
  3773. its restart policy. Other management of the container
  3774. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3775. properties:
  3776. exec:
  3777. description: Exec specifies the action to take.
  3778. properties:
  3779. command:
  3780. description: Command is the command line to
  3781. execute inside the container, the working
  3782. directory for the command is root ('/') in
  3783. the container's filesystem. The command is
  3784. simply exec'd, it is not run inside a shell,
  3785. so traditional shell instructions ('|', etc)
  3786. won't work. To use a shell, you need to explicitly
  3787. call out to that shell. Exit status of 0 is
  3788. treated as live/healthy and non-zero is unhealthy.
  3789. items:
  3790. type: string
  3791. type: array
  3792. type: object
  3793. httpGet:
  3794. description: HTTPGet specifies the http request
  3795. to perform.
  3796. properties:
  3797. host:
  3798. description: Host name to connect to, defaults
  3799. to the pod IP. You probably want to set "Host"
  3800. in httpHeaders instead.
  3801. type: string
  3802. httpHeaders:
  3803. description: Custom headers to set in the request.
  3804. HTTP allows repeated headers.
  3805. items:
  3806. description: HTTPHeader describes a custom
  3807. header to be used in HTTP probes
  3808. properties:
  3809. name:
  3810. description: The header field name
  3811. type: string
  3812. value:
  3813. description: The header field value
  3814. type: string
  3815. required:
  3816. - name
  3817. - value
  3818. type: object
  3819. type: array
  3820. path:
  3821. description: Path to access on the HTTP server.
  3822. type: string
  3823. port:
  3824. anyOf:
  3825. - type: integer
  3826. - type: string
  3827. description: Name or number of the port to access
  3828. on the container. Number must be in the range
  3829. 1 to 65535. Name must be an IANA_SVC_NAME.
  3830. x-kubernetes-int-or-string: true
  3831. scheme:
  3832. description: Scheme to use for connecting to
  3833. the host. Defaults to HTTP.
  3834. type: string
  3835. required:
  3836. - port
  3837. type: object
  3838. tcpSocket:
  3839. description: Deprecated. TCPSocket is NOT supported
  3840. as a LifecycleHandler and kept for the backward
  3841. compatibility. There are no validation of this
  3842. field and lifecycle hooks will fail in runtime
  3843. when tcp handler is specified.
  3844. properties:
  3845. host:
  3846. description: 'Optional: Host name to connect
  3847. to, defaults to the pod IP.'
  3848. type: string
  3849. port:
  3850. anyOf:
  3851. - type: integer
  3852. - type: string
  3853. description: Number or name of the port to access
  3854. on the container. Number must be in the range
  3855. 1 to 65535. Name must be an IANA_SVC_NAME.
  3856. x-kubernetes-int-or-string: true
  3857. required:
  3858. - port
  3859. type: object
  3860. type: object
  3861. preStop:
  3862. description: 'PreStop is called immediately before a
  3863. container is terminated due to an API request or management
  3864. event such as liveness/startup probe failure, preemption,
  3865. resource contention, etc. The handler is not called
  3866. if the container crashes or exits. The Pod''s termination
  3867. grace period countdown begins before the PreStop hook
  3868. is executed. Regardless of the outcome of the handler,
  3869. the container will eventually terminate within the
  3870. Pod''s termination grace period (unless delayed by
  3871. finalizers). Other management of the container blocks
  3872. until the hook completes or until the termination
  3873. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3874. properties:
  3875. exec:
  3876. description: Exec specifies the action to take.
  3877. properties:
  3878. command:
  3879. description: Command is the command line to
  3880. execute inside the container, the working
  3881. directory for the command is root ('/') in
  3882. the container's filesystem. The command is
  3883. simply exec'd, it is not run inside a shell,
  3884. so traditional shell instructions ('|', etc)
  3885. won't work. To use a shell, you need to explicitly
  3886. call out to that shell. Exit status of 0 is
  3887. treated as live/healthy and non-zero is unhealthy.
  3888. items:
  3889. type: string
  3890. type: array
  3891. type: object
  3892. httpGet:
  3893. description: HTTPGet specifies the http request
  3894. to perform.
  3895. properties:
  3896. host:
  3897. description: Host name to connect to, defaults
  3898. to the pod IP. You probably want to set "Host"
  3899. in httpHeaders instead.
  3900. type: string
  3901. httpHeaders:
  3902. description: Custom headers to set in the request.
  3903. HTTP allows repeated headers.
  3904. items:
  3905. description: HTTPHeader describes a custom
  3906. header to be used in HTTP probes
  3907. properties:
  3908. name:
  3909. description: The header field name
  3910. type: string
  3911. value:
  3912. description: The header field value
  3913. type: string
  3914. required:
  3915. - name
  3916. - value
  3917. type: object
  3918. type: array
  3919. path:
  3920. description: Path to access on the HTTP server.
  3921. type: string
  3922. port:
  3923. anyOf:
  3924. - type: integer
  3925. - type: string
  3926. description: Name or number of the port to access
  3927. on the container. Number must be in the range
  3928. 1 to 65535. Name must be an IANA_SVC_NAME.
  3929. x-kubernetes-int-or-string: true
  3930. scheme:
  3931. description: Scheme to use for connecting to
  3932. the host. Defaults to HTTP.
  3933. type: string
  3934. required:
  3935. - port
  3936. type: object
  3937. tcpSocket:
  3938. description: Deprecated. TCPSocket is NOT supported
  3939. as a LifecycleHandler and kept for the backward
  3940. compatibility. There are no validation of this
  3941. field and lifecycle hooks will fail in runtime
  3942. when tcp handler is specified.
  3943. properties:
  3944. host:
  3945. description: 'Optional: Host name to connect
  3946. to, defaults to the pod IP.'
  3947. type: string
  3948. port:
  3949. anyOf:
  3950. - type: integer
  3951. - type: string
  3952. description: Number or name of the port to access
  3953. on the container. Number must be in the range
  3954. 1 to 65535. Name must be an IANA_SVC_NAME.
  3955. x-kubernetes-int-or-string: true
  3956. required:
  3957. - port
  3958. type: object
  3959. type: object
  3960. type: object
  3961. livenessProbe:
  3962. description: 'Periodic probe of container liveness. Container
  3963. will be restarted if the probe fails. Cannot be updated.
  3964. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3965. properties:
  3966. exec:
  3967. description: Exec specifies the action to take.
  3968. properties:
  3969. command:
  3970. description: Command is the command line to execute
  3971. inside the container, the working directory for
  3972. the command is root ('/') in the container's
  3973. filesystem. The command is simply exec'd, it is
  3974. not run inside a shell, so traditional shell instructions
  3975. ('|', etc) won't work. To use a shell, you need
  3976. to explicitly call out to that shell. Exit status
  3977. of 0 is treated as live/healthy and non-zero is
  3978. unhealthy.
  3979. items:
  3980. type: string
  3981. type: array
  3982. type: object
  3983. failureThreshold:
  3984. description: Minimum consecutive failures for the probe
  3985. to be considered failed after having succeeded. Defaults
  3986. to 3. Minimum value is 1.
  3987. format: int32
  3988. type: integer
  3989. grpc:
  3990. description: GRPC specifies an action involving a GRPC
  3991. port. This is a beta field and requires enabling GRPCContainerProbe
  3992. feature gate.
  3993. properties:
  3994. port:
  3995. description: Port number of the gRPC service. Number
  3996. must be in the range 1 to 65535.
  3997. format: int32
  3998. type: integer
  3999. service:
  4000. description: "Service is the name of the service
  4001. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  4002. \n If this is not specified, the default behavior
  4003. is defined by gRPC."
  4004. type: string
  4005. required:
  4006. - port
  4007. type: object
  4008. httpGet:
  4009. description: HTTPGet specifies the http request to perform.
  4010. properties:
  4011. host:
  4012. description: Host name to connect to, defaults to
  4013. the pod IP. You probably want to set "Host" in
  4014. httpHeaders instead.
  4015. type: string
  4016. httpHeaders:
  4017. description: Custom headers to set in the request.
  4018. HTTP allows repeated headers.
  4019. items:
  4020. description: HTTPHeader describes a custom header
  4021. to be used in HTTP probes
  4022. properties:
  4023. name:
  4024. description: The header field name
  4025. type: string
  4026. value:
  4027. description: The header field value
  4028. type: string
  4029. required:
  4030. - name
  4031. - value
  4032. type: object
  4033. type: array
  4034. path:
  4035. description: Path to access on the HTTP server.
  4036. type: string
  4037. port:
  4038. anyOf:
  4039. - type: integer
  4040. - type: string
  4041. description: Name or number of the port to access
  4042. on the container. Number must be in the range
  4043. 1 to 65535. Name must be an IANA_SVC_NAME.
  4044. x-kubernetes-int-or-string: true
  4045. scheme:
  4046. description: Scheme to use for connecting to the
  4047. host. Defaults to HTTP.
  4048. type: string
  4049. required:
  4050. - port
  4051. type: object
  4052. initialDelaySeconds:
  4053. description: 'Number of seconds after the container
  4054. has started before liveness probes are initiated.
  4055. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4056. format: int32
  4057. type: integer
  4058. periodSeconds:
  4059. description: How often (in seconds) to perform the probe.
  4060. Default to 10 seconds. Minimum value is 1.
  4061. format: int32
  4062. type: integer
  4063. successThreshold:
  4064. description: Minimum consecutive successes for the probe
  4065. to be considered successful after having failed. Defaults
  4066. to 1. Must be 1 for liveness and startup. Minimum
  4067. value is 1.
  4068. format: int32
  4069. type: integer
  4070. tcpSocket:
  4071. description: TCPSocket specifies an action involving
  4072. a TCP port.
  4073. properties:
  4074. host:
  4075. description: 'Optional: Host name to connect to,
  4076. defaults to the pod IP.'
  4077. type: string
  4078. port:
  4079. anyOf:
  4080. - type: integer
  4081. - type: string
  4082. description: Number or name of the port to access
  4083. on the container. Number must be in the range
  4084. 1 to 65535. Name must be an IANA_SVC_NAME.
  4085. x-kubernetes-int-or-string: true
  4086. required:
  4087. - port
  4088. type: object
  4089. terminationGracePeriodSeconds:
  4090. description: Optional duration in seconds the pod needs
  4091. to terminate gracefully upon probe failure. The grace
  4092. period is the duration in seconds after the processes
  4093. running in the pod are sent a termination signal and
  4094. the time when the processes are forcibly halted with
  4095. a kill signal. Set this value longer than the expected
  4096. cleanup time for your process. If this value is nil,
  4097. the pod's terminationGracePeriodSeconds will be used.
  4098. Otherwise, this value overrides the value provided
  4099. by the pod spec. Value must be non-negative integer.
  4100. The value zero indicates stop immediately via the
  4101. kill signal (no opportunity to shut down). This is
  4102. a beta field and requires enabling ProbeTerminationGracePeriod
  4103. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  4104. is used if unset.
  4105. format: int64
  4106. type: integer
  4107. timeoutSeconds:
  4108. description: 'Number of seconds after which the probe
  4109. times out. Defaults to 1 second. Minimum value is
  4110. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4111. format: int32
  4112. type: integer
  4113. type: object
  4114. name:
  4115. description: Name of the container specified as a DNS_LABEL.
  4116. Each container in a pod must have a unique name (DNS_LABEL).
  4117. Cannot be updated.
  4118. type: string
  4119. ports:
  4120. description: List of ports to expose from the container.
  4121. Exposing a port here gives the system additional information
  4122. about the network connections a container uses, but is
  4123. primarily informational. Not specifying a port here DOES
  4124. NOT prevent that port from being exposed. Any port which
  4125. is listening on the default "0.0.0.0" address inside a
  4126. container will be accessible from the network. Cannot
  4127. be updated.
  4128. items:
  4129. description: ContainerPort represents a network port in
  4130. a single container.
  4131. properties:
  4132. containerPort:
  4133. description: Number of port to expose on the pod's
  4134. IP address. This must be a valid port number, 0
  4135. < x < 65536.
  4136. format: int32
  4137. type: integer
  4138. hostIP:
  4139. description: What host IP to bind the external port
  4140. to.
  4141. type: string
  4142. hostPort:
  4143. description: Number of port to expose on the host.
  4144. If specified, this must be a valid port number,
  4145. 0 < x < 65536. If HostNetwork is specified, this
  4146. must match ContainerPort. Most containers do not
  4147. need this.
  4148. format: int32
  4149. type: integer
  4150. name:
  4151. description: If specified, this must be an IANA_SVC_NAME
  4152. and unique within the pod. Each named port in a
  4153. pod must have a unique name. Name for the port that
  4154. can be referred to by services.
  4155. type: string
  4156. protocol:
  4157. default: TCP
  4158. description: Protocol for port. Must be UDP, TCP,
  4159. or SCTP. Defaults to "TCP".
  4160. type: string
  4161. required:
  4162. - containerPort
  4163. type: object
  4164. type: array
  4165. x-kubernetes-list-map-keys:
  4166. - containerPort
  4167. - protocol
  4168. x-kubernetes-list-type: map
  4169. readinessProbe:
  4170. description: 'Periodic probe of container service readiness.
  4171. Container will be removed from service endpoints if the
  4172. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4173. properties:
  4174. exec:
  4175. description: Exec specifies the action to take.
  4176. properties:
  4177. command:
  4178. description: Command is the command line to execute
  4179. inside the container, the working directory for
  4180. the command is root ('/') in the container's
  4181. filesystem. The command is simply exec'd, it is
  4182. not run inside a shell, so traditional shell instructions
  4183. ('|', etc) won't work. To use a shell, you need
  4184. to explicitly call out to that shell. Exit status
  4185. of 0 is treated as live/healthy and non-zero is
  4186. unhealthy.
  4187. items:
  4188. type: string
  4189. type: array
  4190. type: object
  4191. failureThreshold:
  4192. description: Minimum consecutive failures for the probe
  4193. to be considered failed after having succeeded. Defaults
  4194. to 3. Minimum value is 1.
  4195. format: int32
  4196. type: integer
  4197. grpc:
  4198. description: GRPC specifies an action involving a GRPC
  4199. port. This is a beta field and requires enabling GRPCContainerProbe
  4200. feature gate.
  4201. properties:
  4202. port:
  4203. description: Port number of the gRPC service. Number
  4204. must be in the range 1 to 65535.
  4205. format: int32
  4206. type: integer
  4207. service:
  4208. description: "Service is the name of the service
  4209. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  4210. \n If this is not specified, the default behavior
  4211. is defined by gRPC."
  4212. type: string
  4213. required:
  4214. - port
  4215. type: object
  4216. httpGet:
  4217. description: HTTPGet specifies the http request to perform.
  4218. properties:
  4219. host:
  4220. description: Host name to connect to, defaults to
  4221. the pod IP. You probably want to set "Host" in
  4222. httpHeaders instead.
  4223. type: string
  4224. httpHeaders:
  4225. description: Custom headers to set in the request.
  4226. HTTP allows repeated headers.
  4227. items:
  4228. description: HTTPHeader describes a custom header
  4229. to be used in HTTP probes
  4230. properties:
  4231. name:
  4232. description: The header field name
  4233. type: string
  4234. value:
  4235. description: The header field value
  4236. type: string
  4237. required:
  4238. - name
  4239. - value
  4240. type: object
  4241. type: array
  4242. path:
  4243. description: Path to access on the HTTP server.
  4244. type: string
  4245. port:
  4246. anyOf:
  4247. - type: integer
  4248. - type: string
  4249. description: Name or number of the port to access
  4250. on the container. Number must be in the range
  4251. 1 to 65535. Name must be an IANA_SVC_NAME.
  4252. x-kubernetes-int-or-string: true
  4253. scheme:
  4254. description: Scheme to use for connecting to the
  4255. host. Defaults to HTTP.
  4256. type: string
  4257. required:
  4258. - port
  4259. type: object
  4260. initialDelaySeconds:
  4261. description: 'Number of seconds after the container
  4262. has started before liveness probes are initiated.
  4263. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4264. format: int32
  4265. type: integer
  4266. periodSeconds:
  4267. description: How often (in seconds) to perform the probe.
  4268. Default to 10 seconds. Minimum value is 1.
  4269. format: int32
  4270. type: integer
  4271. successThreshold:
  4272. description: Minimum consecutive successes for the probe
  4273. to be considered successful after having failed. Defaults
  4274. to 1. Must be 1 for liveness and startup. Minimum
  4275. value is 1.
  4276. format: int32
  4277. type: integer
  4278. tcpSocket:
  4279. description: TCPSocket specifies an action involving
  4280. a TCP port.
  4281. properties:
  4282. host:
  4283. description: 'Optional: Host name to connect to,
  4284. defaults to the pod IP.'
  4285. type: string
  4286. port:
  4287. anyOf:
  4288. - type: integer
  4289. - type: string
  4290. description: Number or name of the port to access
  4291. on the container. Number must be in the range
  4292. 1 to 65535. Name must be an IANA_SVC_NAME.
  4293. x-kubernetes-int-or-string: true
  4294. required:
  4295. - port
  4296. type: object
  4297. terminationGracePeriodSeconds:
  4298. description: Optional duration in seconds the pod needs
  4299. to terminate gracefully upon probe failure. The grace
  4300. period is the duration in seconds after the processes
  4301. running in the pod are sent a termination signal and
  4302. the time when the processes are forcibly halted with
  4303. a kill signal. Set this value longer than the expected
  4304. cleanup time for your process. If this value is nil,
  4305. the pod's terminationGracePeriodSeconds will be used.
  4306. Otherwise, this value overrides the value provided
  4307. by the pod spec. Value must be non-negative integer.
  4308. The value zero indicates stop immediately via the
  4309. kill signal (no opportunity to shut down). This is
  4310. a beta field and requires enabling ProbeTerminationGracePeriod
  4311. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  4312. is used if unset.
  4313. format: int64
  4314. type: integer
  4315. timeoutSeconds:
  4316. description: 'Number of seconds after which the probe
  4317. times out. Defaults to 1 second. Minimum value is
  4318. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4319. format: int32
  4320. type: integer
  4321. type: object
  4322. resources:
  4323. description: 'Compute Resources required by this container.
  4324. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  4325. properties:
  4326. limits:
  4327. additionalProperties:
  4328. anyOf:
  4329. - type: integer
  4330. - type: string
  4331. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4332. x-kubernetes-int-or-string: true
  4333. description: 'Limits describes the maximum amount of
  4334. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  4335. type: object
  4336. requests:
  4337. additionalProperties:
  4338. anyOf:
  4339. - type: integer
  4340. - type: string
  4341. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4342. x-kubernetes-int-or-string: true
  4343. description: 'Requests describes the minimum amount
  4344. of compute resources required. If Requests is omitted
  4345. for a container, it defaults to Limits if that is
  4346. explicitly specified, otherwise to an implementation-defined
  4347. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  4348. type: object
  4349. type: object
  4350. securityContext:
  4351. description: 'SecurityContext defines the security options
  4352. the container should be run with. If set, the fields of
  4353. SecurityContext override the equivalent fields of PodSecurityContext.
  4354. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  4355. properties:
  4356. allowPrivilegeEscalation:
  4357. description: 'AllowPrivilegeEscalation controls whether
  4358. a process can gain more privileges than its parent
  4359. process. This bool directly controls if the no_new_privs
  4360. flag will be set on the container process. AllowPrivilegeEscalation
  4361. is true always when the container is: 1) run as Privileged
  4362. 2) has CAP_SYS_ADMIN Note that this field cannot be
  4363. set when spec.os.name is windows.'
  4364. type: boolean
  4365. capabilities:
  4366. description: The capabilities to add/drop when running
  4367. containers. Defaults to the default set of capabilities
  4368. granted by the container runtime. Note that this field
  4369. cannot be set when spec.os.name is windows.
  4370. properties:
  4371. add:
  4372. description: Added capabilities
  4373. items:
  4374. description: Capability represent POSIX capabilities
  4375. type
  4376. type: string
  4377. type: array
  4378. drop:
  4379. description: Removed capabilities
  4380. items:
  4381. description: Capability represent POSIX capabilities
  4382. type
  4383. type: string
  4384. type: array
  4385. type: object
  4386. privileged:
  4387. description: Run container in privileged mode. Processes
  4388. in privileged containers are essentially equivalent
  4389. to root on the host. Defaults to false. Note that
  4390. this field cannot be set when spec.os.name is windows.
  4391. type: boolean
  4392. procMount:
  4393. description: procMount denotes the type of proc mount
  4394. to use for the containers. The default is DefaultProcMount
  4395. which uses the container runtime defaults for readonly
  4396. paths and masked paths. This requires the ProcMountType
  4397. feature flag to be enabled. Note that this field cannot
  4398. be set when spec.os.name is windows.
  4399. type: string
  4400. readOnlyRootFilesystem:
  4401. description: Whether this container has a read-only
  4402. root filesystem. Default is false. Note that this
  4403. field cannot be set when spec.os.name is windows.
  4404. type: boolean
  4405. runAsGroup:
  4406. description: The GID to run the entrypoint of the container
  4407. process. Uses runtime default if unset. May also be
  4408. set in PodSecurityContext. If set in both SecurityContext
  4409. and PodSecurityContext, the value specified in SecurityContext
  4410. takes precedence. Note that this field cannot be set
  4411. when spec.os.name is windows.
  4412. format: int64
  4413. type: integer
  4414. runAsNonRoot:
  4415. description: Indicates that the container must run as
  4416. a non-root user. If true, the Kubelet will validate
  4417. the image at runtime to ensure that it does not run
  4418. as UID 0 (root) and fail to start the container if
  4419. it does. If unset or false, no such validation will
  4420. be performed. May also be set in PodSecurityContext. If
  4421. set in both SecurityContext and PodSecurityContext,
  4422. the value specified in SecurityContext takes precedence.
  4423. type: boolean
  4424. runAsUser:
  4425. description: The UID to run the entrypoint of the container
  4426. process. Defaults to user specified in image metadata
  4427. if unspecified. May also be set in PodSecurityContext. If
  4428. set in both SecurityContext and PodSecurityContext,
  4429. the value specified in SecurityContext takes precedence.
  4430. Note that this field cannot be set when spec.os.name
  4431. is windows.
  4432. format: int64
  4433. type: integer
  4434. seLinuxOptions:
  4435. description: The SELinux context to be applied to the
  4436. container. If unspecified, the container runtime will
  4437. allocate a random SELinux context for each container. May
  4438. also be set in PodSecurityContext. If set in both
  4439. SecurityContext and PodSecurityContext, the value
  4440. specified in SecurityContext takes precedence. Note
  4441. that this field cannot be set when spec.os.name is
  4442. windows.
  4443. properties:
  4444. level:
  4445. description: Level is SELinux level label that applies
  4446. to the container.
  4447. type: string
  4448. role:
  4449. description: Role is a SELinux role label that applies
  4450. to the container.
  4451. type: string
  4452. type:
  4453. description: Type is a SELinux type label that applies
  4454. to the container.
  4455. type: string
  4456. user:
  4457. description: User is a SELinux user label that applies
  4458. to the container.
  4459. type: string
  4460. type: object
  4461. seccompProfile:
  4462. description: The seccomp options to use by this container.
  4463. If seccomp options are provided at both the pod &
  4464. container level, the container options override the
  4465. pod options. Note that this field cannot be set when
  4466. spec.os.name is windows.
  4467. properties:
  4468. localhostProfile:
  4469. description: localhostProfile indicates a profile
  4470. defined in a file on the node should be used.
  4471. The profile must be preconfigured on the node
  4472. to work. Must be a descending path, relative to
  4473. the kubelet's configured seccomp profile location.
  4474. Must only be set if type is "Localhost".
  4475. type: string
  4476. type:
  4477. description: "type indicates which kind of seccomp
  4478. profile will be applied. Valid options are: \n
  4479. Localhost - a profile defined in a file on the
  4480. node should be used. RuntimeDefault - the container
  4481. runtime default profile should be used. Unconfined
  4482. - no profile should be applied."
  4483. type: string
  4484. required:
  4485. - type
  4486. type: object
  4487. windowsOptions:
  4488. description: The Windows specific settings applied to
  4489. all containers. If unspecified, the options from the
  4490. PodSecurityContext will be used. If set in both SecurityContext
  4491. and PodSecurityContext, the value specified in SecurityContext
  4492. takes precedence. Note that this field cannot be set
  4493. when spec.os.name is linux.
  4494. properties:
  4495. gmsaCredentialSpec:
  4496. description: GMSACredentialSpec is where the GMSA
  4497. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  4498. inlines the contents of the GMSA credential spec
  4499. named by the GMSACredentialSpecName field.
  4500. type: string
  4501. gmsaCredentialSpecName:
  4502. description: GMSACredentialSpecName is the name
  4503. of the GMSA credential spec to use.
  4504. type: string
  4505. hostProcess:
  4506. description: HostProcess determines if a container
  4507. should be run as a 'Host Process' container. This
  4508. field is alpha-level and will only be honored
  4509. by components that enable the WindowsHostProcessContainers
  4510. feature flag. Setting this field without the feature
  4511. flag will result in errors when validating the
  4512. Pod. All of a Pod's containers must have the same
  4513. effective HostProcess value (it is not allowed
  4514. to have a mix of HostProcess containers and non-HostProcess
  4515. containers). In addition, if HostProcess is true
  4516. then HostNetwork must also be set to true.
  4517. type: boolean
  4518. runAsUserName:
  4519. description: The UserName in Windows to run the
  4520. entrypoint of the container process. Defaults
  4521. to the user specified in image metadata if unspecified.
  4522. May also be set in PodSecurityContext. If set
  4523. in both SecurityContext and PodSecurityContext,
  4524. the value specified in SecurityContext takes precedence.
  4525. type: string
  4526. type: object
  4527. type: object
  4528. startupProbe:
  4529. description: 'StartupProbe indicates that the Pod has successfully
  4530. initialized. If specified, no other probes are executed
  4531. until this completes successfully. If this probe fails,
  4532. the Pod will be restarted, just as if the livenessProbe
  4533. failed. This can be used to provide different probe parameters
  4534. at the beginning of a Pod''s lifecycle, when it might
  4535. take a long time to load data or warm a cache, than during
  4536. steady-state operation. This cannot be updated. More info:
  4537. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4538. properties:
  4539. exec:
  4540. description: Exec specifies the action to take.
  4541. properties:
  4542. command:
  4543. description: Command is the command line to execute
  4544. inside the container, the working directory for
  4545. the command is root ('/') in the container's
  4546. filesystem. The command is simply exec'd, it is
  4547. not run inside a shell, so traditional shell instructions
  4548. ('|', etc) won't work. To use a shell, you need
  4549. to explicitly call out to that shell. Exit status
  4550. of 0 is treated as live/healthy and non-zero is
  4551. unhealthy.
  4552. items:
  4553. type: string
  4554. type: array
  4555. type: object
  4556. failureThreshold:
  4557. description: Minimum consecutive failures for the probe
  4558. to be considered failed after having succeeded. Defaults
  4559. to 3. Minimum value is 1.
  4560. format: int32
  4561. type: integer
  4562. grpc:
  4563. description: GRPC specifies an action involving a GRPC
  4564. port. This is a beta field and requires enabling GRPCContainerProbe
  4565. feature gate.
  4566. properties:
  4567. port:
  4568. description: Port number of the gRPC service. Number
  4569. must be in the range 1 to 65535.
  4570. format: int32
  4571. type: integer
  4572. service:
  4573. description: "Service is the name of the service
  4574. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  4575. \n If this is not specified, the default behavior
  4576. is defined by gRPC."
  4577. type: string
  4578. required:
  4579. - port
  4580. type: object
  4581. httpGet:
  4582. description: HTTPGet specifies the http request to perform.
  4583. properties:
  4584. host:
  4585. description: Host name to connect to, defaults to
  4586. the pod IP. You probably want to set "Host" in
  4587. httpHeaders instead.
  4588. type: string
  4589. httpHeaders:
  4590. description: Custom headers to set in the request.
  4591. HTTP allows repeated headers.
  4592. items:
  4593. description: HTTPHeader describes a custom header
  4594. to be used in HTTP probes
  4595. properties:
  4596. name:
  4597. description: The header field name
  4598. type: string
  4599. value:
  4600. description: The header field value
  4601. type: string
  4602. required:
  4603. - name
  4604. - value
  4605. type: object
  4606. type: array
  4607. path:
  4608. description: Path to access on the HTTP server.
  4609. type: string
  4610. port:
  4611. anyOf:
  4612. - type: integer
  4613. - type: string
  4614. description: Name or number of the port to access
  4615. on the container. Number must be in the range
  4616. 1 to 65535. Name must be an IANA_SVC_NAME.
  4617. x-kubernetes-int-or-string: true
  4618. scheme:
  4619. description: Scheme to use for connecting to the
  4620. host. Defaults to HTTP.
  4621. type: string
  4622. required:
  4623. - port
  4624. type: object
  4625. initialDelaySeconds:
  4626. description: 'Number of seconds after the container
  4627. has started before liveness probes are initiated.
  4628. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4629. format: int32
  4630. type: integer
  4631. periodSeconds:
  4632. description: How often (in seconds) to perform the probe.
  4633. Default to 10 seconds. Minimum value is 1.
  4634. format: int32
  4635. type: integer
  4636. successThreshold:
  4637. description: Minimum consecutive successes for the probe
  4638. to be considered successful after having failed. Defaults
  4639. to 1. Must be 1 for liveness and startup. Minimum
  4640. value is 1.
  4641. format: int32
  4642. type: integer
  4643. tcpSocket:
  4644. description: TCPSocket specifies an action involving
  4645. a TCP port.
  4646. properties:
  4647. host:
  4648. description: 'Optional: Host name to connect to,
  4649. defaults to the pod IP.'
  4650. type: string
  4651. port:
  4652. anyOf:
  4653. - type: integer
  4654. - type: string
  4655. description: Number or name of the port to access
  4656. on the container. Number must be in the range
  4657. 1 to 65535. Name must be an IANA_SVC_NAME.
  4658. x-kubernetes-int-or-string: true
  4659. required:
  4660. - port
  4661. type: object
  4662. terminationGracePeriodSeconds:
  4663. description: Optional duration in seconds the pod needs
  4664. to terminate gracefully upon probe failure. The grace
  4665. period is the duration in seconds after the processes
  4666. running in the pod are sent a termination signal and
  4667. the time when the processes are forcibly halted with
  4668. a kill signal. Set this value longer than the expected
  4669. cleanup time for your process. If this value is nil,
  4670. the pod's terminationGracePeriodSeconds will be used.
  4671. Otherwise, this value overrides the value provided
  4672. by the pod spec. Value must be non-negative integer.
  4673. The value zero indicates stop immediately via the
  4674. kill signal (no opportunity to shut down). This is
  4675. a beta field and requires enabling ProbeTerminationGracePeriod
  4676. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  4677. is used if unset.
  4678. format: int64
  4679. type: integer
  4680. timeoutSeconds:
  4681. description: 'Number of seconds after which the probe
  4682. times out. Defaults to 1 second. Minimum value is
  4683. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4684. format: int32
  4685. type: integer
  4686. type: object
  4687. stdin:
  4688. description: Whether this container should allocate a buffer
  4689. for stdin in the container runtime. If this is not set,
  4690. reads from stdin in the container will always result in
  4691. EOF. Default is false.
  4692. type: boolean
  4693. stdinOnce:
  4694. description: Whether the container runtime should close
  4695. the stdin channel after it has been opened by a single
  4696. attach. When stdin is true the stdin stream will remain
  4697. open across multiple attach sessions. If stdinOnce is
  4698. set to true, stdin is opened on container start, is empty
  4699. until the first client attaches to stdin, and then remains
  4700. open and accepts data until the client disconnects, at
  4701. which time stdin is closed and remains closed until the
  4702. container is restarted. If this flag is false, a container
  4703. processes that reads from stdin will never receive an
  4704. EOF. Default is false
  4705. type: boolean
  4706. terminationMessagePath:
  4707. description: 'Optional: Path at which the file to which
  4708. the container''s termination message will be written is
  4709. mounted into the container''s filesystem. Message written
  4710. is intended to be brief final status, such as an assertion
  4711. failure message. Will be truncated by the node if greater
  4712. than 4096 bytes. The total message length across all containers
  4713. will be limited to 12kb. Defaults to /dev/termination-log.
  4714. Cannot be updated.'
  4715. type: string
  4716. terminationMessagePolicy:
  4717. description: Indicate how the termination message should
  4718. be populated. File will use the contents of terminationMessagePath
  4719. to populate the container status message on both success
  4720. and failure. FallbackToLogsOnError will use the last chunk
  4721. of container log output if the termination message file
  4722. is empty and the container exited with an error. The log
  4723. output is limited to 2048 bytes or 80 lines, whichever
  4724. is smaller. Defaults to File. Cannot be updated.
  4725. type: string
  4726. tty:
  4727. description: Whether this container should allocate a TTY
  4728. for itself, also requires 'stdin' to be true. Default
  4729. is false.
  4730. type: boolean
  4731. volumeDevices:
  4732. description: volumeDevices is the list of block devices
  4733. to be used by the container.
  4734. items:
  4735. description: volumeDevice describes a mapping of a raw
  4736. block device within a container.
  4737. properties:
  4738. devicePath:
  4739. description: devicePath is the path inside of the
  4740. container that the device will be mapped to.
  4741. type: string
  4742. name:
  4743. description: name must match the name of a persistentVolumeClaim
  4744. in the pod
  4745. type: string
  4746. required:
  4747. - devicePath
  4748. - name
  4749. type: object
  4750. type: array
  4751. volumeMounts:
  4752. description: Pod volumes to mount into the container's filesystem.
  4753. Cannot be updated.
  4754. items:
  4755. description: VolumeMount describes a mounting of a Volume
  4756. within a container.
  4757. properties:
  4758. mountPath:
  4759. description: Path within the container at which the
  4760. volume should be mounted. Must not contain ':'.
  4761. type: string
  4762. mountPropagation:
  4763. description: mountPropagation determines how mounts
  4764. are propagated from the host to container and the
  4765. other way around. When not set, MountPropagationNone
  4766. is used. This field is beta in 1.10.
  4767. type: string
  4768. name:
  4769. description: This must match the Name of a Volume.
  4770. type: string
  4771. readOnly:
  4772. description: Mounted read-only if true, read-write
  4773. otherwise (false or unspecified). Defaults to false.
  4774. type: boolean
  4775. subPath:
  4776. description: Path within the volume from which the
  4777. container's volume should be mounted. Defaults to
  4778. "" (volume's root).
  4779. type: string
  4780. subPathExpr:
  4781. description: Expanded path within the volume from
  4782. which the container's volume should be mounted.
  4783. Behaves similarly to SubPath but environment variable
  4784. references $(VAR_NAME) are expanded using the container's
  4785. environment. Defaults to "" (volume's root). SubPathExpr
  4786. and SubPath are mutually exclusive.
  4787. type: string
  4788. required:
  4789. - mountPath
  4790. - name
  4791. type: object
  4792. type: array
  4793. workingDir:
  4794. description: Container's working directory. If not specified,
  4795. the container runtime's default will be used, which might
  4796. be configured in the container image. Cannot be updated.
  4797. type: string
  4798. required:
  4799. - name
  4800. type: object
  4801. type: array
  4802. nodeName:
  4803. description: NodeName is a request to schedule this pod onto a
  4804. specific node. If it is non-empty, the scheduler simply schedules
  4805. this pod onto that node, assuming that it fits resource requirements.
  4806. type: string
  4807. nodeSelector:
  4808. additionalProperties:
  4809. type: string
  4810. description: 'NodeSelector is a selector which must be true for
  4811. the pod to fit on a node. Selector which must match a node''s
  4812. labels for the pod to be scheduled on that node. More info:
  4813. https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  4814. type: object
  4815. x-kubernetes-map-type: atomic
  4816. os:
  4817. description: "Specifies the OS of the containers in the pod. Some
  4818. pod and container fields are restricted if this is set. \n If
  4819. the OS field is set to linux, the following fields must be unset:
  4820. -securityContext.windowsOptions \n If the OS field is set to
  4821. windows, following fields must be unset: - spec.hostPID - spec.hostIPC
  4822. - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile
  4823. - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy
  4824. - spec.securityContext.sysctls - spec.shareProcessNamespace
  4825. - spec.securityContext.runAsUser - spec.securityContext.runAsGroup
  4826. - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions
  4827. - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities
  4828. - spec.containers[*].securityContext.readOnlyRootFilesystem
  4829. - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation
  4830. - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser
  4831. - spec.containers[*].securityContext.runAsGroup This is a beta
  4832. field and requires the IdentifyPodOS feature"
  4833. properties:
  4834. name:
  4835. description: 'Name is the name of the operating system. The
  4836. currently supported values are linux and windows. Additional
  4837. value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration
  4838. Clients should expect to handle additional values and treat
  4839. unrecognized values in this field as os: null'
  4840. type: string
  4841. required:
  4842. - name
  4843. type: object
  4844. overhead:
  4845. additionalProperties:
  4846. anyOf:
  4847. - type: integer
  4848. - type: string
  4849. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4850. x-kubernetes-int-or-string: true
  4851. description: 'Overhead represents the resource overhead associated
  4852. with running a pod for a given RuntimeClass. This field will
  4853. be autopopulated at admission time by the RuntimeClass admission
  4854. controller. If the RuntimeClass admission controller is enabled,
  4855. overhead must not be set in Pod create requests. The RuntimeClass
  4856. admission controller will reject Pod create requests which have
  4857. the overhead already set. If RuntimeClass is configured and
  4858. selected in the PodSpec, Overhead will be set to the value defined
  4859. in the corresponding RuntimeClass, otherwise it will remain
  4860. unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md'
  4861. type: object
  4862. preemptionPolicy:
  4863. description: PreemptionPolicy is the Policy for preempting pods
  4864. with lower priority. One of Never, PreemptLowerPriority. Defaults
  4865. to PreemptLowerPriority if unset.
  4866. type: string
  4867. priority:
  4868. description: The priority value. Various system components use
  4869. this field to find the priority of the pod. When Priority Admission
  4870. Controller is enabled, it prevents users from setting this field.
  4871. The admission controller populates this field from PriorityClassName.
  4872. The higher the value, the higher the priority.
  4873. format: int32
  4874. type: integer
  4875. priorityClassName:
  4876. description: If specified, indicates the pod's priority. "system-node-critical"
  4877. and "system-cluster-critical" are two special keywords which
  4878. indicate the highest priorities with the former being the highest
  4879. priority. Any other name must be defined by creating a PriorityClass
  4880. object with that name. If not specified, the pod priority will
  4881. be default or zero if there is no default.
  4882. type: string
  4883. readinessGates:
  4884. description: 'If specified, all readiness gates will be evaluated
  4885. for pod readiness. A pod is ready when all its containers are
  4886. ready AND all conditions specified in the readiness gates have
  4887. status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates'
  4888. items:
  4889. description: PodReadinessGate contains the reference to a pod
  4890. condition
  4891. properties:
  4892. conditionType:
  4893. description: ConditionType refers to a condition in the
  4894. pod's condition list with matching type.
  4895. type: string
  4896. required:
  4897. - conditionType
  4898. type: object
  4899. type: array
  4900. restartPolicy:
  4901. description: 'Restart policy for all containers within the pod.
  4902. One of Always, OnFailure, Never. Default to Always. More info:
  4903. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy'
  4904. type: string
  4905. runtimeClassName:
  4906. description: 'RuntimeClassName refers to a RuntimeClass object
  4907. in the node.k8s.io group, which should be used to run this pod. If
  4908. no RuntimeClass resource matches the named class, the pod will
  4909. not be run. If unset or empty, the "legacy" RuntimeClass will
  4910. be used, which is an implicit class with an empty definition
  4911. that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class'
  4912. type: string
  4913. schedulerName:
  4914. description: If specified, the pod will be dispatched by specified
  4915. scheduler. If not specified, the pod will be dispatched by default
  4916. scheduler.
  4917. type: string
  4918. securityContext:
  4919. description: 'SecurityContext holds pod-level security attributes
  4920. and common container settings. Optional: Defaults to empty. See
  4921. type description for default values of each field.'
  4922. properties:
  4923. fsGroup:
  4924. description: "A special supplemental group that applies to
  4925. all containers in a pod. Some volume types allow the Kubelet
  4926. to change the ownership of that volume to be owned by the
  4927. pod: \n 1. The owning GID will be the FSGroup 2. The setgid
  4928. bit is set (new files created in the volume will be owned
  4929. by FSGroup) 3. The permission bits are OR'd with rw-rw----
  4930. \n If unset, the Kubelet will not modify the ownership and
  4931. permissions of any volume. Note that this field cannot be
  4932. set when spec.os.name is windows."
  4933. format: int64
  4934. type: integer
  4935. fsGroupChangePolicy:
  4936. description: 'fsGroupChangePolicy defines behavior of changing
  4937. ownership and permission of the volume before being exposed
  4938. inside Pod. This field will only apply to volume types which
  4939. support fsGroup based ownership(and permissions). It will
  4940. have no effect on ephemeral volume types such as: secret,
  4941. configmaps and emptydir. Valid values are "OnRootMismatch"
  4942. and "Always". If not specified, "Always" is used. Note that
  4943. this field cannot be set when spec.os.name is windows.'
  4944. type: string
  4945. runAsGroup:
  4946. description: The GID to run the entrypoint of the container
  4947. process. Uses runtime default if unset. May also be set
  4948. in SecurityContext. If set in both SecurityContext and
  4949. PodSecurityContext, the value specified in SecurityContext
  4950. takes precedence for that container. Note that this field
  4951. cannot be set when spec.os.name is windows.
  4952. format: int64
  4953. type: integer
  4954. runAsNonRoot:
  4955. description: Indicates that the container must run as a non-root
  4956. user. If true, the Kubelet will validate the image at runtime
  4957. to ensure that it does not run as UID 0 (root) and fail
  4958. to start the container if it does. If unset or false, no
  4959. such validation will be performed. May also be set in SecurityContext. If
  4960. set in both SecurityContext and PodSecurityContext, the
  4961. value specified in SecurityContext takes precedence.
  4962. type: boolean
  4963. runAsUser:
  4964. description: The UID to run the entrypoint of the container
  4965. process. Defaults to user specified in image metadata if
  4966. unspecified. May also be set in SecurityContext. If set
  4967. in both SecurityContext and PodSecurityContext, the value
  4968. specified in SecurityContext takes precedence for that container.
  4969. Note that this field cannot be set when spec.os.name is
  4970. windows.
  4971. format: int64
  4972. type: integer
  4973. seLinuxOptions:
  4974. description: The SELinux context to be applied to all containers.
  4975. If unspecified, the container runtime will allocate a random
  4976. SELinux context for each container. May also be set in
  4977. SecurityContext. If set in both SecurityContext and PodSecurityContext,
  4978. the value specified in SecurityContext takes precedence
  4979. for that container. Note that this field cannot be set when
  4980. spec.os.name is windows.
  4981. properties:
  4982. level:
  4983. description: Level is SELinux level label that applies
  4984. to the container.
  4985. type: string
  4986. role:
  4987. description: Role is a SELinux role label that applies
  4988. to the container.
  4989. type: string
  4990. type:
  4991. description: Type is a SELinux type label that applies
  4992. to the container.
  4993. type: string
  4994. user:
  4995. description: User is a SELinux user label that applies
  4996. to the container.
  4997. type: string
  4998. type: object
  4999. seccompProfile:
  5000. description: The seccomp options to use by the containers
  5001. in this pod. Note that this field cannot be set when spec.os.name
  5002. is windows.
  5003. properties:
  5004. localhostProfile:
  5005. description: localhostProfile indicates a profile defined
  5006. in a file on the node should be used. The profile must
  5007. be preconfigured on the node to work. Must be a descending
  5008. path, relative to the kubelet's configured seccomp profile
  5009. location. Must only be set if type is "Localhost".
  5010. type: string
  5011. type:
  5012. description: "type indicates which kind of seccomp profile
  5013. will be applied. Valid options are: \n Localhost - a
  5014. profile defined in a file on the node should be used.
  5015. RuntimeDefault - the container runtime default profile
  5016. should be used. Unconfined - no profile should be applied."
  5017. type: string
  5018. required:
  5019. - type
  5020. type: object
  5021. supplementalGroups:
  5022. description: A list of groups applied to the first process
  5023. run in each container, in addition to the container's primary
  5024. GID. If unspecified, no groups will be added to any container.
  5025. Note that this field cannot be set when spec.os.name is
  5026. windows.
  5027. items:
  5028. format: int64
  5029. type: integer
  5030. type: array
  5031. sysctls:
  5032. description: Sysctls hold a list of namespaced sysctls used
  5033. for the pod. Pods with unsupported sysctls (by the container
  5034. runtime) might fail to launch. Note that this field cannot
  5035. be set when spec.os.name is windows.
  5036. items:
  5037. description: Sysctl defines a kernel parameter to be set
  5038. properties:
  5039. name:
  5040. description: Name of a property to set
  5041. type: string
  5042. value:
  5043. description: Value of a property to set
  5044. type: string
  5045. required:
  5046. - name
  5047. - value
  5048. type: object
  5049. type: array
  5050. windowsOptions:
  5051. description: The Windows specific settings applied to all
  5052. containers. If unspecified, the options within a container's
  5053. SecurityContext will be used. If set in both SecurityContext
  5054. and PodSecurityContext, the value specified in SecurityContext
  5055. takes precedence. Note that this field cannot be set when
  5056. spec.os.name is linux.
  5057. properties:
  5058. gmsaCredentialSpec:
  5059. description: GMSACredentialSpec is where the GMSA admission
  5060. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  5061. inlines the contents of the GMSA credential spec named
  5062. by the GMSACredentialSpecName field.
  5063. type: string
  5064. gmsaCredentialSpecName:
  5065. description: GMSACredentialSpecName is the name of the
  5066. GMSA credential spec to use.
  5067. type: string
  5068. hostProcess:
  5069. description: HostProcess determines if a container should
  5070. be run as a 'Host Process' container. This field is
  5071. alpha-level and will only be honored by components that
  5072. enable the WindowsHostProcessContainers feature flag.
  5073. Setting this field without the feature flag will result
  5074. in errors when validating the Pod. All of a Pod's containers
  5075. must have the same effective HostProcess value (it is
  5076. not allowed to have a mix of HostProcess containers
  5077. and non-HostProcess containers). In addition, if HostProcess
  5078. is true then HostNetwork must also be set to true.
  5079. type: boolean
  5080. runAsUserName:
  5081. description: The UserName in Windows to run the entrypoint
  5082. of the container process. Defaults to the user specified
  5083. in image metadata if unspecified. May also be set in
  5084. PodSecurityContext. If set in both SecurityContext and
  5085. PodSecurityContext, the value specified in SecurityContext
  5086. takes precedence.
  5087. type: string
  5088. type: object
  5089. type: object
  5090. serviceAccount:
  5091. description: 'DeprecatedServiceAccount is a depreciated alias
  5092. for ServiceAccountName. Deprecated: Use serviceAccountName instead.'
  5093. type: string
  5094. serviceAccountName:
  5095. description: 'ServiceAccountName is the name of the ServiceAccount
  5096. to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  5097. type: string
  5098. setHostnameAsFQDN:
  5099. description: If true the pod's hostname will be configured as
  5100. the pod's FQDN, rather than the leaf name (the default). In
  5101. Linux containers, this means setting the FQDN in the hostname
  5102. field of the kernel (the nodename field of struct utsname).
  5103. In Windows containers, this means setting the registry value
  5104. of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters
  5105. to FQDN. If a pod does not have FQDN, this has no effect. Default
  5106. to false.
  5107. type: boolean
  5108. shareProcessNamespace:
  5109. description: 'Share a single process namespace between all of
  5110. the containers in a pod. When this is set containers will be
  5111. able to view and signal processes from other containers in the
  5112. same pod, and the first process in each container will not be
  5113. assigned PID 1. HostPID and ShareProcessNamespace cannot both
  5114. be set. Optional: Default to false.'
  5115. type: boolean
  5116. subdomain:
  5117. description: If specified, the fully qualified Pod hostname will
  5118. be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
  5119. If not specified, the pod will not have a domainname at all.
  5120. type: string
  5121. terminationGracePeriodSeconds:
  5122. description: Optional duration in seconds the pod needs to terminate
  5123. gracefully. May be decreased in delete request. Value must be
  5124. non-negative integer. The value zero indicates stop immediately
  5125. via the kill signal (no opportunity to shut down). If this value
  5126. is nil, the default grace period will be used instead. The grace
  5127. period is the duration in seconds after the processes running
  5128. in the pod are sent a termination signal and the time when the
  5129. processes are forcibly halted with a kill signal. Set this value
  5130. longer than the expected cleanup time for your process. Defaults
  5131. to 30 seconds.
  5132. format: int64
  5133. type: integer
  5134. tolerations:
  5135. description: If specified, the pod's tolerations.
  5136. items:
  5137. description: The pod this Toleration is attached to tolerates
  5138. any taint that matches the triple <key,value,effect> using
  5139. the matching operator <operator>.
  5140. properties:
  5141. effect:
  5142. description: Effect indicates the taint effect to match.
  5143. Empty means match all taint effects. When specified, allowed
  5144. values are NoSchedule, PreferNoSchedule and NoExecute.
  5145. type: string
  5146. key:
  5147. description: Key is the taint key that the toleration applies
  5148. to. Empty means match all taint keys. If the key is empty,
  5149. operator must be Exists; this combination means to match
  5150. all values and all keys.
  5151. type: string
  5152. operator:
  5153. description: Operator represents a key's relationship to
  5154. the value. Valid operators are Exists and Equal. Defaults
  5155. to Equal. Exists is equivalent to wildcard for value,
  5156. so that a pod can tolerate all taints of a particular
  5157. category.
  5158. type: string
  5159. tolerationSeconds:
  5160. description: TolerationSeconds represents the period of
  5161. time the toleration (which must be of effect NoExecute,
  5162. otherwise this field is ignored) tolerates the taint.
  5163. By default, it is not set, which means tolerate the taint
  5164. forever (do not evict). Zero and negative values will
  5165. be treated as 0 (evict immediately) by the system.
  5166. format: int64
  5167. type: integer
  5168. value:
  5169. description: Value is the taint value the toleration matches
  5170. to. If the operator is Exists, the value should be empty,
  5171. otherwise just a regular string.
  5172. type: string
  5173. type: object
  5174. type: array
  5175. topologySpreadConstraints:
  5176. description: TopologySpreadConstraints describes how a group of
  5177. pods ought to spread across topology domains. Scheduler will
  5178. schedule pods in a way which abides by the constraints. All
  5179. topologySpreadConstraints are ANDed.
  5180. items:
  5181. description: TopologySpreadConstraint specifies how to spread
  5182. matching pods among the given topology.
  5183. properties:
  5184. labelSelector:
  5185. description: LabelSelector is used to find matching pods.
  5186. Pods that match this label selector are counted to determine
  5187. the number of pods in their corresponding topology domain.
  5188. properties:
  5189. matchExpressions:
  5190. description: matchExpressions is a list of label selector
  5191. requirements. The requirements are ANDed.
  5192. items:
  5193. description: A label selector requirement is a selector
  5194. that contains values, a key, and an operator that
  5195. relates the key and values.
  5196. properties:
  5197. key:
  5198. description: key is the label key that the selector
  5199. applies to.
  5200. type: string
  5201. operator:
  5202. description: operator represents a key's relationship
  5203. to a set of values. Valid operators are In,
  5204. NotIn, Exists and DoesNotExist.
  5205. type: string
  5206. values:
  5207. description: values is an array of string values.
  5208. If the operator is In or NotIn, the values array
  5209. must be non-empty. If the operator is Exists
  5210. or DoesNotExist, the values array must be empty.
  5211. This array is replaced during a strategic merge
  5212. patch.
  5213. items:
  5214. type: string
  5215. type: array
  5216. required:
  5217. - key
  5218. - operator
  5219. type: object
  5220. type: array
  5221. matchLabels:
  5222. additionalProperties:
  5223. type: string
  5224. description: matchLabels is a map of {key,value} pairs.
  5225. A single {key,value} in the matchLabels map is equivalent
  5226. to an element of matchExpressions, whose key field
  5227. is "key", the operator is "In", and the values array
  5228. contains only "value". The requirements are ANDed.
  5229. type: object
  5230. type: object
  5231. x-kubernetes-map-type: atomic
  5232. maxSkew:
  5233. description: 'MaxSkew describes the degree to which pods
  5234. may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  5235. it is the maximum permitted difference between the number
  5236. of matching pods in the target topology and the global
  5237. minimum. The global minimum is the minimum number of matching
  5238. pods in an eligible domain or zero if the number of eligible
  5239. domains is less than MinDomains. For example, in a 3-zone
  5240. cluster, MaxSkew is set to 1, and pods with the same labelSelector
  5241. spread as 2/2/1: In this case, the global minimum is 1.
  5242. | zone1 | zone2 | zone3 | | P P | P P | P | -
  5243. if MaxSkew is 1, incoming pod can only be scheduled to
  5244. zone3 to become 2/2/2; scheduling it onto zone1(zone2)
  5245. would make the ActualSkew(3-1) on zone1(zone2) violate
  5246. MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled
  5247. onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  5248. it is used to give higher precedence to topologies that
  5249. satisfy it. It''s a required field. Default value is 1
  5250. and 0 is not allowed.'
  5251. format: int32
  5252. type: integer
  5253. minDomains:
  5254. description: "MinDomains indicates a minimum number of eligible
  5255. domains. When the number of eligible domains with matching
  5256. topology keys is less than minDomains, Pod Topology Spread
  5257. treats \"global minimum\" as 0, and then the calculation
  5258. of Skew is performed. And when the number of eligible
  5259. domains with matching topology keys equals or greater
  5260. than minDomains, this value has no effect on scheduling.
  5261. As a result, when the number of eligible domains is less
  5262. than minDomains, scheduler won't schedule more than maxSkew
  5263. Pods to those domains. If value is nil, the constraint
  5264. behaves as if MinDomains is equal to 1. Valid values are
  5265. integers greater than 0. When value is not nil, WhenUnsatisfiable
  5266. must be DoNotSchedule. \n For example, in a 3-zone cluster,
  5267. MaxSkew is set to 2, MinDomains is set to 5 and pods with
  5268. the same labelSelector spread as 2/2/2: | zone1 | zone2
  5269. | zone3 | | P P | P P | P P | The number of domains
  5270. is less than 5(MinDomains), so \"global minimum\" is treated
  5271. as 0. In this situation, new pod with the same labelSelector
  5272. cannot be scheduled, because computed skew will be 3(3
  5273. - 0) if new Pod is scheduled to any of the three zones,
  5274. it will violate MaxSkew. \n This is an alpha field and
  5275. requires enabling MinDomainsInPodTopologySpread feature
  5276. gate."
  5277. format: int32
  5278. type: integer
  5279. topologyKey:
  5280. description: TopologyKey is the key of node labels. Nodes
  5281. that have a label with this key and identical values are
  5282. considered to be in the same topology. We consider each
  5283. <key, value> as a "bucket", and try to put balanced number
  5284. of pods into each bucket. We define a domain as a particular
  5285. instance of a topology. Also, we define an eligible domain
  5286. as a domain whose nodes match the node selector. e.g.
  5287. If TopologyKey is "kubernetes.io/hostname", each Node
  5288. is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone",
  5289. each zone is a domain of that topology. It's a required
  5290. field.
  5291. type: string
  5292. whenUnsatisfiable:
  5293. description: 'WhenUnsatisfiable indicates how to deal with
  5294. a pod if it doesn''t satisfy the spread constraint. -
  5295. DoNotSchedule (default) tells the scheduler not to schedule
  5296. it. - ScheduleAnyway tells the scheduler to schedule the
  5297. pod in any location, but giving higher precedence to topologies
  5298. that would help reduce the skew. A constraint is considered
  5299. "Unsatisfiable" for an incoming pod if and only if every
  5300. possible node assignment for that pod would violate "MaxSkew"
  5301. on some topology. For example, in a 3-zone cluster, MaxSkew
  5302. is set to 1, and pods with the same labelSelector spread
  5303. as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
  5304. If WhenUnsatisfiable is set to DoNotSchedule, incoming
  5305. pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
  5306. as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1).
  5307. In other words, the cluster can still be imbalanced, but
  5308. scheduler won''t make it *more* imbalanced. It''s a required
  5309. field.'
  5310. type: string
  5311. required:
  5312. - maxSkew
  5313. - topologyKey
  5314. - whenUnsatisfiable
  5315. type: object
  5316. type: array
  5317. x-kubernetes-list-map-keys:
  5318. - topologyKey
  5319. - whenUnsatisfiable
  5320. x-kubernetes-list-type: map
  5321. volumes:
  5322. description: 'List of volumes that can be mounted by containers
  5323. belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  5324. items:
  5325. description: Volume represents a named volume in a pod that
  5326. may be accessed by any container in the pod.
  5327. properties:
  5328. awsElasticBlockStore:
  5329. description: 'awsElasticBlockStore represents an AWS Disk
  5330. resource that is attached to a kubelet''s host machine
  5331. and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  5332. properties:
  5333. fsType:
  5334. description: 'fsType is the filesystem type of the volume
  5335. that you want to mount. Tip: Ensure that the filesystem
  5336. type is supported by the host operating system. Examples:
  5337. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  5338. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5339. TODO: how do we prevent errors in the filesystem from
  5340. compromising the machine'
  5341. type: string
  5342. partition:
  5343. description: 'partition is the partition in the volume
  5344. that you want to mount. If omitted, the default is
  5345. to mount by volume name. Examples: For volume /dev/sda1,
  5346. you specify the partition as "1". Similarly, the volume
  5347. partition for /dev/sda is "0" (or you can leave the
  5348. property empty).'
  5349. format: int32
  5350. type: integer
  5351. readOnly:
  5352. description: 'readOnly value true will force the readOnly
  5353. setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  5354. type: boolean
  5355. volumeID:
  5356. description: 'volumeID is unique ID of the persistent
  5357. disk resource in AWS (Amazon EBS volume). More info:
  5358. https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  5359. type: string
  5360. required:
  5361. - volumeID
  5362. type: object
  5363. azureDisk:
  5364. description: azureDisk represents an Azure Data Disk mount
  5365. on the host and bind mount to the pod.
  5366. properties:
  5367. cachingMode:
  5368. description: 'cachingMode is the Host Caching mode:
  5369. None, Read Only, Read Write.'
  5370. type: string
  5371. diskName:
  5372. description: diskName is the Name of the data disk in
  5373. the blob storage
  5374. type: string
  5375. diskURI:
  5376. description: diskURI is the URI of data disk in the
  5377. blob storage
  5378. type: string
  5379. fsType:
  5380. description: fsType is Filesystem type to mount. Must
  5381. be a filesystem type supported by the host operating
  5382. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  5383. to be "ext4" if unspecified.
  5384. type: string
  5385. kind:
  5386. description: 'kind expected values are Shared: multiple
  5387. blob disks per storage account Dedicated: single
  5388. blob disk per storage account Managed: azure managed
  5389. data disk (only in managed availability set). defaults
  5390. to shared'
  5391. type: string
  5392. readOnly:
  5393. description: readOnly Defaults to false (read/write).
  5394. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  5395. type: boolean
  5396. required:
  5397. - diskName
  5398. - diskURI
  5399. type: object
  5400. azureFile:
  5401. description: azureFile represents an Azure File Service
  5402. mount on the host and bind mount to the pod.
  5403. properties:
  5404. readOnly:
  5405. description: readOnly defaults to false (read/write).
  5406. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  5407. type: boolean
  5408. secretName:
  5409. description: secretName is the name of secret that
  5410. contains Azure Storage Account Name and Key
  5411. type: string
  5412. shareName:
  5413. description: shareName is the azure share Name
  5414. type: string
  5415. required:
  5416. - secretName
  5417. - shareName
  5418. type: object
  5419. cephfs:
  5420. description: cephFS represents a Ceph FS mount on the host
  5421. that shares a pod's lifetime
  5422. properties:
  5423. monitors:
  5424. description: 'monitors is Required: Monitors is a collection
  5425. of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5426. items:
  5427. type: string
  5428. type: array
  5429. path:
  5430. description: 'path is Optional: Used as the mounted
  5431. root, rather than the full Ceph tree, default is /'
  5432. type: string
  5433. readOnly:
  5434. description: 'readOnly is Optional: Defaults to false
  5435. (read/write). ReadOnly here will force the ReadOnly
  5436. setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5437. type: boolean
  5438. secretFile:
  5439. description: 'secretFile is Optional: SecretFile is
  5440. the path to key ring for User, default is /etc/ceph/user.secret
  5441. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5442. type: string
  5443. secretRef:
  5444. description: 'secretRef is Optional: SecretRef is reference
  5445. to the authentication secret for User, default is
  5446. empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5447. properties:
  5448. name:
  5449. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5450. TODO: Add other useful fields. apiVersion, kind,
  5451. uid?'
  5452. type: string
  5453. type: object
  5454. x-kubernetes-map-type: atomic
  5455. user:
  5456. description: 'user is optional: User is the rados user
  5457. name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5458. type: string
  5459. required:
  5460. - monitors
  5461. type: object
  5462. cinder:
  5463. description: 'cinder represents a cinder volume attached
  5464. and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5465. properties:
  5466. fsType:
  5467. description: 'fsType is the filesystem type to mount.
  5468. Must be a filesystem type supported by the host operating
  5469. system. Examples: "ext4", "xfs", "ntfs". Implicitly
  5470. inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5471. type: string
  5472. readOnly:
  5473. description: 'readOnly defaults to false (read/write).
  5474. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  5475. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5476. type: boolean
  5477. secretRef:
  5478. description: 'secretRef is optional: points to a secret
  5479. object containing parameters used to connect to OpenStack.'
  5480. properties:
  5481. name:
  5482. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5483. TODO: Add other useful fields. apiVersion, kind,
  5484. uid?'
  5485. type: string
  5486. type: object
  5487. x-kubernetes-map-type: atomic
  5488. volumeID:
  5489. description: 'volumeID used to identify the volume in
  5490. cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5491. type: string
  5492. required:
  5493. - volumeID
  5494. type: object
  5495. configMap:
  5496. description: configMap represents a configMap that should
  5497. populate this volume
  5498. properties:
  5499. defaultMode:
  5500. description: 'defaultMode is optional: mode bits used
  5501. to set permissions on created files by default. Must
  5502. be an octal value between 0000 and 0777 or a decimal
  5503. value between 0 and 511. YAML accepts both octal and
  5504. decimal values, JSON requires decimal values for mode
  5505. bits. Defaults to 0644. Directories within the path
  5506. are not affected by this setting. This might be in
  5507. conflict with other options that affect the file mode,
  5508. like fsGroup, and the result can be other mode bits
  5509. set.'
  5510. format: int32
  5511. type: integer
  5512. items:
  5513. description: items if unspecified, each key-value pair
  5514. in the Data field of the referenced ConfigMap will
  5515. be projected into the volume as a file whose name
  5516. is the key and content is the value. If specified,
  5517. the listed keys will be projected into the specified
  5518. paths, and unlisted keys will not be present. If a
  5519. key is specified which is not present in the ConfigMap,
  5520. the volume setup will error unless it is marked optional.
  5521. Paths must be relative and may not contain the '..'
  5522. path or start with '..'.
  5523. items:
  5524. description: Maps a string key to a path within a
  5525. volume.
  5526. properties:
  5527. key:
  5528. description: key is the key to project.
  5529. type: string
  5530. mode:
  5531. description: 'mode is Optional: mode bits used
  5532. to set permissions on this file. Must be an
  5533. octal value between 0000 and 0777 or a decimal
  5534. value between 0 and 511. YAML accepts both octal
  5535. and decimal values, JSON requires decimal values
  5536. for mode bits. If not specified, the volume
  5537. defaultMode will be used. This might be in conflict
  5538. with other options that affect the file mode,
  5539. like fsGroup, and the result can be other mode
  5540. bits set.'
  5541. format: int32
  5542. type: integer
  5543. path:
  5544. description: path is the relative path of the
  5545. file to map the key to. May not be an absolute
  5546. path. May not contain the path element '..'.
  5547. May not start with the string '..'.
  5548. type: string
  5549. required:
  5550. - key
  5551. - path
  5552. type: object
  5553. type: array
  5554. name:
  5555. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5556. TODO: Add other useful fields. apiVersion, kind, uid?'
  5557. type: string
  5558. optional:
  5559. description: optional specify whether the ConfigMap
  5560. or its keys must be defined
  5561. type: boolean
  5562. type: object
  5563. x-kubernetes-map-type: atomic
  5564. csi:
  5565. description: csi (Container Storage Interface) represents
  5566. ephemeral storage that is handled by certain external
  5567. CSI drivers (Beta feature).
  5568. properties:
  5569. driver:
  5570. description: driver is the name of the CSI driver that
  5571. handles this volume. Consult with your admin for the
  5572. correct name as registered in the cluster.
  5573. type: string
  5574. fsType:
  5575. description: fsType to mount. Ex. "ext4", "xfs", "ntfs".
  5576. If not provided, the empty value is passed to the
  5577. associated CSI driver which will determine the default
  5578. filesystem to apply.
  5579. type: string
  5580. nodePublishSecretRef:
  5581. description: nodePublishSecretRef is a reference to
  5582. the secret object containing sensitive information
  5583. to pass to the CSI driver to complete the CSI NodePublishVolume
  5584. and NodeUnpublishVolume calls. This field is optional,
  5585. and may be empty if no secret is required. If the
  5586. secret object contains more than one secret, all secret
  5587. references are passed.
  5588. properties:
  5589. name:
  5590. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5591. TODO: Add other useful fields. apiVersion, kind,
  5592. uid?'
  5593. type: string
  5594. type: object
  5595. x-kubernetes-map-type: atomic
  5596. readOnly:
  5597. description: readOnly specifies a read-only configuration
  5598. for the volume. Defaults to false (read/write).
  5599. type: boolean
  5600. volumeAttributes:
  5601. additionalProperties:
  5602. type: string
  5603. description: volumeAttributes stores driver-specific
  5604. properties that are passed to the CSI driver. Consult
  5605. your driver's documentation for supported values.
  5606. type: object
  5607. required:
  5608. - driver
  5609. type: object
  5610. downwardAPI:
  5611. description: downwardAPI represents downward API about the
  5612. pod that should populate this volume
  5613. properties:
  5614. defaultMode:
  5615. description: 'Optional: mode bits to use on created
  5616. files by default. Must be a Optional: mode bits used
  5617. to set permissions on created files by default. Must
  5618. be an octal value between 0000 and 0777 or a decimal
  5619. value between 0 and 511. YAML accepts both octal and
  5620. decimal values, JSON requires decimal values for mode
  5621. bits. Defaults to 0644. Directories within the path
  5622. are not affected by this setting. This might be in
  5623. conflict with other options that affect the file mode,
  5624. like fsGroup, and the result can be other mode bits
  5625. set.'
  5626. format: int32
  5627. type: integer
  5628. items:
  5629. description: Items is a list of downward API volume
  5630. file
  5631. items:
  5632. description: DownwardAPIVolumeFile represents information
  5633. to create the file containing the pod field
  5634. properties:
  5635. fieldRef:
  5636. description: 'Required: Selects a field of the
  5637. pod: only annotations, labels, name and namespace
  5638. are supported.'
  5639. properties:
  5640. apiVersion:
  5641. description: Version of the schema the FieldPath
  5642. is written in terms of, defaults to "v1".
  5643. type: string
  5644. fieldPath:
  5645. description: Path of the field to select in
  5646. the specified API version.
  5647. type: string
  5648. required:
  5649. - fieldPath
  5650. type: object
  5651. x-kubernetes-map-type: atomic
  5652. mode:
  5653. description: 'Optional: mode bits used to set
  5654. permissions on this file, must be an octal value
  5655. between 0000 and 0777 or a decimal value between
  5656. 0 and 511. YAML accepts both octal and decimal
  5657. values, JSON requires decimal values for mode
  5658. bits. If not specified, the volume defaultMode
  5659. will be used. This might be in conflict with
  5660. other options that affect the file mode, like
  5661. fsGroup, and the result can be other mode bits
  5662. set.'
  5663. format: int32
  5664. type: integer
  5665. path:
  5666. description: 'Required: Path is the relative
  5667. path name of the file to be created. Must not
  5668. be absolute or contain the ''..'' path. Must
  5669. be utf-8 encoded. The first item of the relative
  5670. path must not start with ''..'''
  5671. type: string
  5672. resourceFieldRef:
  5673. description: 'Selects a resource of the container:
  5674. only resources limits and requests (limits.cpu,
  5675. limits.memory, requests.cpu and requests.memory)
  5676. are currently supported.'
  5677. properties:
  5678. containerName:
  5679. description: 'Container name: required for
  5680. volumes, optional for env vars'
  5681. type: string
  5682. divisor:
  5683. anyOf:
  5684. - type: integer
  5685. - type: string
  5686. description: Specifies the output format of
  5687. the exposed resources, defaults to "1"
  5688. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5689. x-kubernetes-int-or-string: true
  5690. resource:
  5691. description: 'Required: resource to select'
  5692. type: string
  5693. required:
  5694. - resource
  5695. type: object
  5696. x-kubernetes-map-type: atomic
  5697. required:
  5698. - path
  5699. type: object
  5700. type: array
  5701. type: object
  5702. emptyDir:
  5703. description: 'emptyDir represents a temporary directory
  5704. that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  5705. properties:
  5706. medium:
  5707. description: 'medium represents what type of storage
  5708. medium should back this directory. The default is
  5709. "" which means to use the node''s default medium.
  5710. Must be an empty string (default) or Memory. More
  5711. info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  5712. type: string
  5713. sizeLimit:
  5714. anyOf:
  5715. - type: integer
  5716. - type: string
  5717. description: 'sizeLimit is the total amount of local
  5718. storage required for this EmptyDir volume. The size
  5719. limit is also applicable for memory medium. The maximum
  5720. usage on memory medium EmptyDir would be the minimum
  5721. value between the SizeLimit specified here and the
  5722. sum of memory limits of all containers in a pod. The
  5723. default is nil which means that the limit is undefined.
  5724. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  5725. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5726. x-kubernetes-int-or-string: true
  5727. type: object
  5728. ephemeral:
  5729. description: "ephemeral represents a volume that is handled
  5730. by a cluster storage driver. The volume's lifecycle is
  5731. tied to the pod that defines it - it will be created before
  5732. the pod starts, and deleted when the pod is removed. \n
  5733. Use this if: a) the volume is only needed while the pod
  5734. runs, b) features of normal volumes like restoring from
  5735. snapshot or capacity tracking are needed, c) the storage
  5736. driver is specified through a storage class, and d) the
  5737. storage driver supports dynamic volume provisioning through
  5738. a PersistentVolumeClaim (see EphemeralVolumeSource for
  5739. more information on the connection between this volume
  5740. type and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  5741. or one of the vendor-specific APIs for volumes that persist
  5742. for longer than the lifecycle of an individual pod. \n
  5743. Use CSI for light-weight local ephemeral volumes if the
  5744. CSI driver is meant to be used that way - see the documentation
  5745. of the driver for more information. \n A pod can use both
  5746. types of ephemeral volumes and persistent volumes at the
  5747. same time."
  5748. properties:
  5749. volumeClaimTemplate:
  5750. description: "Will be used to create a stand-alone PVC
  5751. to provision the volume. The pod in which this EphemeralVolumeSource
  5752. is embedded will be the owner of the PVC, i.e. the
  5753. PVC will be deleted together with the pod. The name
  5754. of the PVC will be `<pod name>-<volume name>` where
  5755. `<volume name>` is the name from the `PodSpec.Volumes`
  5756. array entry. Pod validation will reject the pod if
  5757. the concatenated name is not valid for a PVC (for
  5758. example, too long). \n An existing PVC with that name
  5759. that is not owned by the pod will *not* be used for
  5760. the pod to avoid using an unrelated volume by mistake.
  5761. Starting the pod is then blocked until the unrelated
  5762. PVC is removed. If such a pre-created PVC is meant
  5763. to be used by the pod, the PVC has to updated with
  5764. an owner reference to the pod once the pod exists.
  5765. Normally this should not be necessary, but it may
  5766. be useful when manually reconstructing a broken cluster.
  5767. \n This field is read-only and no changes will be
  5768. made by Kubernetes to the PVC after it has been created.
  5769. \n Required, must not be nil."
  5770. properties:
  5771. metadata:
  5772. description: May contain labels and annotations
  5773. that will be copied into the PVC when creating
  5774. it. No other fields are allowed and will be rejected
  5775. during validation.
  5776. type: object
  5777. spec:
  5778. description: The specification for the PersistentVolumeClaim.
  5779. The entire content is copied unchanged into the
  5780. PVC that gets created from this template. The
  5781. same fields as in a PersistentVolumeClaim are
  5782. also valid here.
  5783. properties:
  5784. accessModes:
  5785. description: 'accessModes contains the desired
  5786. access modes the volume should have. More
  5787. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  5788. items:
  5789. type: string
  5790. type: array
  5791. dataSource:
  5792. description: 'dataSource field can be used to
  5793. specify either: * An existing VolumeSnapshot
  5794. object (snapshot.storage.k8s.io/VolumeSnapshot)
  5795. * An existing PVC (PersistentVolumeClaim)
  5796. If the provisioner or an external controller
  5797. can support the specified data source, it
  5798. will create a new volume based on the contents
  5799. of the specified data source. If the AnyVolumeDataSource
  5800. feature gate is enabled, this field will always
  5801. have the same contents as the DataSourceRef
  5802. field.'
  5803. properties:
  5804. apiGroup:
  5805. description: APIGroup is the group for the
  5806. resource being referenced. If APIGroup
  5807. is not specified, the specified Kind must
  5808. be in the core API group. For any other
  5809. third-party types, APIGroup is required.
  5810. type: string
  5811. kind:
  5812. description: Kind is the type of resource
  5813. being referenced
  5814. type: string
  5815. name:
  5816. description: Name is the name of resource
  5817. being referenced
  5818. type: string
  5819. required:
  5820. - kind
  5821. - name
  5822. type: object
  5823. x-kubernetes-map-type: atomic
  5824. dataSourceRef:
  5825. description: 'dataSourceRef specifies the object
  5826. from which to populate the volume with data,
  5827. if a non-empty volume is desired. This may
  5828. be any local object from a non-empty API group
  5829. (non core object) or a PersistentVolumeClaim
  5830. object. When this field is specified, volume
  5831. binding will only succeed if the type of the
  5832. specified object matches some installed volume
  5833. populator or dynamic provisioner. This field
  5834. will replace the functionality of the DataSource
  5835. field and as such if both fields are non-empty,
  5836. they must have the same value. For backwards
  5837. compatibility, both fields (DataSource and
  5838. DataSourceRef) will be set to the same value
  5839. automatically if one of them is empty and
  5840. the other is non-empty. There are two important
  5841. differences between DataSource and DataSourceRef:
  5842. * While DataSource only allows two specific
  5843. types of objects, DataSourceRef allows any
  5844. non-core object, as well as PersistentVolumeClaim
  5845. objects. * While DataSource ignores disallowed
  5846. values (dropping them), DataSourceRef preserves
  5847. all values, and generates an error if a disallowed
  5848. value is specified. (Beta) Using this field
  5849. requires the AnyVolumeDataSource feature gate
  5850. to be enabled.'
  5851. properties:
  5852. apiGroup:
  5853. description: APIGroup is the group for the
  5854. resource being referenced. If APIGroup
  5855. is not specified, the specified Kind must
  5856. be in the core API group. For any other
  5857. third-party types, APIGroup is required.
  5858. type: string
  5859. kind:
  5860. description: Kind is the type of resource
  5861. being referenced
  5862. type: string
  5863. name:
  5864. description: Name is the name of resource
  5865. being referenced
  5866. type: string
  5867. required:
  5868. - kind
  5869. - name
  5870. type: object
  5871. x-kubernetes-map-type: atomic
  5872. resources:
  5873. description: 'resources represents the minimum
  5874. resources the volume should have. If RecoverVolumeExpansionFailure
  5875. feature is enabled users are allowed to specify
  5876. resource requirements that are lower than
  5877. previous value but must still be higher than
  5878. capacity recorded in the status field of the
  5879. claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  5880. properties:
  5881. limits:
  5882. additionalProperties:
  5883. anyOf:
  5884. - type: integer
  5885. - type: string
  5886. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5887. x-kubernetes-int-or-string: true
  5888. description: 'Limits describes the maximum
  5889. amount of compute resources allowed. More
  5890. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5891. type: object
  5892. requests:
  5893. additionalProperties:
  5894. anyOf:
  5895. - type: integer
  5896. - type: string
  5897. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5898. x-kubernetes-int-or-string: true
  5899. description: 'Requests describes the minimum
  5900. amount of compute resources required.
  5901. If Requests is omitted for a container,
  5902. it defaults to Limits if that is explicitly
  5903. specified, otherwise to an implementation-defined
  5904. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5905. type: object
  5906. type: object
  5907. selector:
  5908. description: selector is a label query over
  5909. volumes to consider for binding.
  5910. properties:
  5911. matchExpressions:
  5912. description: matchExpressions is a list
  5913. of label selector requirements. The requirements
  5914. are ANDed.
  5915. items:
  5916. description: A label selector requirement
  5917. is a selector that contains values,
  5918. a key, and an operator that relates
  5919. the key and values.
  5920. properties:
  5921. key:
  5922. description: key is the label key
  5923. that the selector applies to.
  5924. type: string
  5925. operator:
  5926. description: operator represents a
  5927. key's relationship to a set of values.
  5928. Valid operators are In, NotIn, Exists
  5929. and DoesNotExist.
  5930. type: string
  5931. values:
  5932. description: values is an array of
  5933. string values. If the operator is
  5934. In or NotIn, the values array must
  5935. be non-empty. If the operator is
  5936. Exists or DoesNotExist, the values
  5937. array must be empty. This array
  5938. is replaced during a strategic merge
  5939. patch.
  5940. items:
  5941. type: string
  5942. type: array
  5943. required:
  5944. - key
  5945. - operator
  5946. type: object
  5947. type: array
  5948. matchLabels:
  5949. additionalProperties:
  5950. type: string
  5951. description: matchLabels is a map of {key,value}
  5952. pairs. A single {key,value} in the matchLabels
  5953. map is equivalent to an element of matchExpressions,
  5954. whose key field is "key", the operator
  5955. is "In", and the values array contains
  5956. only "value". The requirements are ANDed.
  5957. type: object
  5958. type: object
  5959. x-kubernetes-map-type: atomic
  5960. storageClassName:
  5961. description: 'storageClassName is the name of
  5962. the StorageClass required by the claim. More
  5963. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  5964. type: string
  5965. volumeMode:
  5966. description: volumeMode defines what type of
  5967. volume is required by the claim. Value of
  5968. Filesystem is implied when not included in
  5969. claim spec.
  5970. type: string
  5971. volumeName:
  5972. description: volumeName is the binding reference
  5973. to the PersistentVolume backing this claim.
  5974. type: string
  5975. type: object
  5976. required:
  5977. - spec
  5978. type: object
  5979. type: object
  5980. fc:
  5981. description: fc represents a Fibre Channel resource that
  5982. is attached to a kubelet's host machine and then exposed
  5983. to the pod.
  5984. properties:
  5985. fsType:
  5986. description: 'fsType is the filesystem type to mount.
  5987. Must be a filesystem type supported by the host operating
  5988. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  5989. to be "ext4" if unspecified. TODO: how do we prevent
  5990. errors in the filesystem from compromising the machine'
  5991. type: string
  5992. lun:
  5993. description: 'lun is Optional: FC target lun number'
  5994. format: int32
  5995. type: integer
  5996. readOnly:
  5997. description: 'readOnly is Optional: Defaults to false
  5998. (read/write). ReadOnly here will force the ReadOnly
  5999. setting in VolumeMounts.'
  6000. type: boolean
  6001. targetWWNs:
  6002. description: 'targetWWNs is Optional: FC target worldwide
  6003. names (WWNs)'
  6004. items:
  6005. type: string
  6006. type: array
  6007. wwids:
  6008. description: 'wwids Optional: FC volume world wide identifiers
  6009. (wwids) Either wwids or combination of targetWWNs
  6010. and lun must be set, but not both simultaneously.'
  6011. items:
  6012. type: string
  6013. type: array
  6014. type: object
  6015. flexVolume:
  6016. description: flexVolume represents a generic volume resource
  6017. that is provisioned/attached using an exec based plugin.
  6018. properties:
  6019. driver:
  6020. description: driver is the name of the driver to use
  6021. for this volume.
  6022. type: string
  6023. fsType:
  6024. description: fsType is the filesystem type to mount.
  6025. Must be a filesystem type supported by the host operating
  6026. system. Ex. "ext4", "xfs", "ntfs". The default filesystem
  6027. depends on FlexVolume script.
  6028. type: string
  6029. options:
  6030. additionalProperties:
  6031. type: string
  6032. description: 'options is Optional: this field holds
  6033. extra command options if any.'
  6034. type: object
  6035. readOnly:
  6036. description: 'readOnly is Optional: defaults to false
  6037. (read/write). ReadOnly here will force the ReadOnly
  6038. setting in VolumeMounts.'
  6039. type: boolean
  6040. secretRef:
  6041. description: 'secretRef is Optional: secretRef is reference
  6042. to the secret object containing sensitive information
  6043. to pass to the plugin scripts. This may be empty if
  6044. no secret object is specified. If the secret object
  6045. contains more than one secret, all secrets are passed
  6046. to the plugin scripts.'
  6047. properties:
  6048. name:
  6049. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6050. TODO: Add other useful fields. apiVersion, kind,
  6051. uid?'
  6052. type: string
  6053. type: object
  6054. x-kubernetes-map-type: atomic
  6055. required:
  6056. - driver
  6057. type: object
  6058. flocker:
  6059. description: flocker represents a Flocker volume attached
  6060. to a kubelet's host machine. This depends on the Flocker
  6061. control service being running
  6062. properties:
  6063. datasetName:
  6064. description: datasetName is Name of the dataset stored
  6065. as metadata -> name on the dataset for Flocker should
  6066. be considered as deprecated
  6067. type: string
  6068. datasetUUID:
  6069. description: datasetUUID is the UUID of the dataset.
  6070. This is unique identifier of a Flocker dataset
  6071. type: string
  6072. type: object
  6073. gcePersistentDisk:
  6074. description: 'gcePersistentDisk represents a GCE Disk resource
  6075. that is attached to a kubelet''s host machine and then
  6076. exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6077. properties:
  6078. fsType:
  6079. description: 'fsType is filesystem type of the volume
  6080. that you want to mount. Tip: Ensure that the filesystem
  6081. type is supported by the host operating system. Examples:
  6082. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  6083. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6084. TODO: how do we prevent errors in the filesystem from
  6085. compromising the machine'
  6086. type: string
  6087. partition:
  6088. description: 'partition is the partition in the volume
  6089. that you want to mount. If omitted, the default is
  6090. to mount by volume name. Examples: For volume /dev/sda1,
  6091. you specify the partition as "1". Similarly, the volume
  6092. partition for /dev/sda is "0" (or you can leave the
  6093. property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6094. format: int32
  6095. type: integer
  6096. pdName:
  6097. description: 'pdName is unique name of the PD resource
  6098. in GCE. Used to identify the disk in GCE. More info:
  6099. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6100. type: string
  6101. readOnly:
  6102. description: 'readOnly here will force the ReadOnly
  6103. setting in VolumeMounts. Defaults to false. More info:
  6104. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6105. type: boolean
  6106. required:
  6107. - pdName
  6108. type: object
  6109. gitRepo:
  6110. description: 'gitRepo represents a git repository at a particular
  6111. revision. DEPRECATED: GitRepo is deprecated. To provision
  6112. a container with a git repo, mount an EmptyDir into an
  6113. InitContainer that clones the repo using git, then mount
  6114. the EmptyDir into the Pod''s container.'
  6115. properties:
  6116. directory:
  6117. description: directory is the target directory name.
  6118. Must not contain or start with '..'. If '.' is supplied,
  6119. the volume directory will be the git repository. Otherwise,
  6120. if specified, the volume will contain the git repository
  6121. in the subdirectory with the given name.
  6122. type: string
  6123. repository:
  6124. description: repository is the URL
  6125. type: string
  6126. revision:
  6127. description: revision is the commit hash for the specified
  6128. revision.
  6129. type: string
  6130. required:
  6131. - repository
  6132. type: object
  6133. glusterfs:
  6134. description: 'glusterfs represents a Glusterfs mount on
  6135. the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  6136. properties:
  6137. endpoints:
  6138. description: 'endpoints is the endpoint name that details
  6139. Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  6140. type: string
  6141. path:
  6142. description: 'path is the Glusterfs volume path. More
  6143. info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  6144. type: string
  6145. readOnly:
  6146. description: 'readOnly here will force the Glusterfs
  6147. volume to be mounted with read-only permissions. Defaults
  6148. to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  6149. type: boolean
  6150. required:
  6151. - endpoints
  6152. - path
  6153. type: object
  6154. hostPath:
  6155. description: 'hostPath represents a pre-existing file or
  6156. directory on the host machine that is directly exposed
  6157. to the container. This is generally used for system agents
  6158. or other privileged things that are allowed to see the
  6159. host machine. Most containers will NOT need this. More
  6160. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6161. --- TODO(jonesdl) We need to restrict who can use host
  6162. directory mounts and who can/can not mount host directories
  6163. as read/write.'
  6164. properties:
  6165. path:
  6166. description: 'path of the directory on the host. If
  6167. the path is a symlink, it will follow the link to
  6168. the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  6169. type: string
  6170. type:
  6171. description: 'type for HostPath Volume Defaults to ""
  6172. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  6173. type: string
  6174. required:
  6175. - path
  6176. type: object
  6177. iscsi:
  6178. description: 'iscsi represents an ISCSI Disk resource that
  6179. is attached to a kubelet''s host machine and then exposed
  6180. to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  6181. properties:
  6182. chapAuthDiscovery:
  6183. description: chapAuthDiscovery defines whether support
  6184. iSCSI Discovery CHAP authentication
  6185. type: boolean
  6186. chapAuthSession:
  6187. description: chapAuthSession defines whether support
  6188. iSCSI Session CHAP authentication
  6189. type: boolean
  6190. fsType:
  6191. description: 'fsType is the filesystem type of the volume
  6192. that you want to mount. Tip: Ensure that the filesystem
  6193. type is supported by the host operating system. Examples:
  6194. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  6195. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  6196. TODO: how do we prevent errors in the filesystem from
  6197. compromising the machine'
  6198. type: string
  6199. initiatorName:
  6200. description: initiatorName is the custom iSCSI Initiator
  6201. Name. If initiatorName is specified with iscsiInterface
  6202. simultaneously, new iSCSI interface <target portal>:<volume
  6203. name> will be created for the connection.
  6204. type: string
  6205. iqn:
  6206. description: iqn is the target iSCSI Qualified Name.
  6207. type: string
  6208. iscsiInterface:
  6209. description: iscsiInterface is the interface Name that
  6210. uses an iSCSI transport. Defaults to 'default' (tcp).
  6211. type: string
  6212. lun:
  6213. description: lun represents iSCSI Target Lun number.
  6214. format: int32
  6215. type: integer
  6216. portals:
  6217. description: portals is the iSCSI Target Portal List.
  6218. The portal is either an IP or ip_addr:port if the
  6219. port is other than default (typically TCP ports 860
  6220. and 3260).
  6221. items:
  6222. type: string
  6223. type: array
  6224. readOnly:
  6225. description: readOnly here will force the ReadOnly setting
  6226. in VolumeMounts. Defaults to false.
  6227. type: boolean
  6228. secretRef:
  6229. description: secretRef is the CHAP Secret for iSCSI
  6230. target and initiator authentication
  6231. properties:
  6232. name:
  6233. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6234. TODO: Add other useful fields. apiVersion, kind,
  6235. uid?'
  6236. type: string
  6237. type: object
  6238. x-kubernetes-map-type: atomic
  6239. targetPortal:
  6240. description: targetPortal is iSCSI Target Portal. The
  6241. Portal is either an IP or ip_addr:port if the port
  6242. is other than default (typically TCP ports 860 and
  6243. 3260).
  6244. type: string
  6245. required:
  6246. - iqn
  6247. - lun
  6248. - targetPortal
  6249. type: object
  6250. name:
  6251. description: 'name of the volume. Must be a DNS_LABEL and
  6252. unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6253. type: string
  6254. nfs:
  6255. description: 'nfs represents an NFS mount on the host that
  6256. shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6257. properties:
  6258. path:
  6259. description: 'path that is exported by the NFS server.
  6260. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6261. type: string
  6262. readOnly:
  6263. description: 'readOnly here will force the NFS export
  6264. to be mounted with read-only permissions. Defaults
  6265. to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6266. type: boolean
  6267. server:
  6268. description: 'server is the hostname or IP address of
  6269. the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6270. type: string
  6271. required:
  6272. - path
  6273. - server
  6274. type: object
  6275. persistentVolumeClaim:
  6276. description: 'persistentVolumeClaimVolumeSource represents
  6277. a reference to a PersistentVolumeClaim in the same namespace.
  6278. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  6279. properties:
  6280. claimName:
  6281. description: 'claimName is the name of a PersistentVolumeClaim
  6282. in the same namespace as the pod using this volume.
  6283. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  6284. type: string
  6285. readOnly:
  6286. description: readOnly Will force the ReadOnly setting
  6287. in VolumeMounts. Default false.
  6288. type: boolean
  6289. required:
  6290. - claimName
  6291. type: object
  6292. photonPersistentDisk:
  6293. description: photonPersistentDisk represents a PhotonController
  6294. persistent disk attached and mounted on kubelets host
  6295. machine
  6296. properties:
  6297. fsType:
  6298. description: fsType is the filesystem type to mount.
  6299. Must be a filesystem type supported by the host operating
  6300. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  6301. to be "ext4" if unspecified.
  6302. type: string
  6303. pdID:
  6304. description: pdID is the ID that identifies Photon Controller
  6305. persistent disk
  6306. type: string
  6307. required:
  6308. - pdID
  6309. type: object
  6310. portworxVolume:
  6311. description: portworxVolume represents a portworx volume
  6312. attached and mounted on kubelets host machine
  6313. properties:
  6314. fsType:
  6315. description: fSType represents the filesystem type to
  6316. mount Must be a filesystem type supported by the host
  6317. operating system. Ex. "ext4", "xfs". Implicitly inferred
  6318. to be "ext4" if unspecified.
  6319. type: string
  6320. readOnly:
  6321. description: readOnly defaults to false (read/write).
  6322. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  6323. type: boolean
  6324. volumeID:
  6325. description: volumeID uniquely identifies a Portworx
  6326. volume
  6327. type: string
  6328. required:
  6329. - volumeID
  6330. type: object
  6331. projected:
  6332. description: projected items for all in one resources secrets,
  6333. configmaps, and downward API
  6334. properties:
  6335. defaultMode:
  6336. description: defaultMode are the mode bits used to set
  6337. permissions on created files by default. Must be an
  6338. octal value between 0000 and 0777 or a decimal value
  6339. between 0 and 511. YAML accepts both octal and decimal
  6340. values, JSON requires decimal values for mode bits.
  6341. Directories within the path are not affected by this
  6342. setting. This might be in conflict with other options
  6343. that affect the file mode, like fsGroup, and the result
  6344. can be other mode bits set.
  6345. format: int32
  6346. type: integer
  6347. sources:
  6348. description: sources is the list of volume projections
  6349. items:
  6350. description: Projection that may be projected along
  6351. with other supported volume types
  6352. properties:
  6353. configMap:
  6354. description: configMap information about the configMap
  6355. data to project
  6356. properties:
  6357. items:
  6358. description: items if unspecified, each key-value
  6359. pair in the Data field of the referenced
  6360. ConfigMap will be projected into the volume
  6361. as a file whose name is the key and content
  6362. is the value. If specified, the listed keys
  6363. will be projected into the specified paths,
  6364. and unlisted keys will not be present. If
  6365. a key is specified which is not present
  6366. in the ConfigMap, the volume setup will
  6367. error unless it is marked optional. Paths
  6368. must be relative and may not contain the
  6369. '..' path or start with '..'.
  6370. items:
  6371. description: Maps a string key to a path
  6372. within a volume.
  6373. properties:
  6374. key:
  6375. description: key is the key to project.
  6376. type: string
  6377. mode:
  6378. description: 'mode is Optional: mode
  6379. bits used to set permissions on this
  6380. file. Must be an octal value between
  6381. 0000 and 0777 or a decimal value between
  6382. 0 and 511. YAML accepts both octal
  6383. and decimal values, JSON requires
  6384. decimal values for mode bits. If not
  6385. specified, the volume defaultMode
  6386. will be used. This might be in conflict
  6387. with other options that affect the
  6388. file mode, like fsGroup, and the result
  6389. can be other mode bits set.'
  6390. format: int32
  6391. type: integer
  6392. path:
  6393. description: path is the relative path
  6394. of the file to map the key to. May
  6395. not be an absolute path. May not contain
  6396. the path element '..'. May not start
  6397. with the string '..'.
  6398. type: string
  6399. required:
  6400. - key
  6401. - path
  6402. type: object
  6403. type: array
  6404. name:
  6405. description: 'Name of the referent. More info:
  6406. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6407. TODO: Add other useful fields. apiVersion,
  6408. kind, uid?'
  6409. type: string
  6410. optional:
  6411. description: optional specify whether the
  6412. ConfigMap or its keys must be defined
  6413. type: boolean
  6414. type: object
  6415. x-kubernetes-map-type: atomic
  6416. downwardAPI:
  6417. description: downwardAPI information about the
  6418. downwardAPI data to project
  6419. properties:
  6420. items:
  6421. description: Items is a list of DownwardAPIVolume
  6422. file
  6423. items:
  6424. description: DownwardAPIVolumeFile represents
  6425. information to create the file containing
  6426. the pod field
  6427. properties:
  6428. fieldRef:
  6429. description: 'Required: Selects a field
  6430. of the pod: only annotations, labels,
  6431. name and namespace are supported.'
  6432. properties:
  6433. apiVersion:
  6434. description: Version of the schema
  6435. the FieldPath is written in terms
  6436. of, defaults to "v1".
  6437. type: string
  6438. fieldPath:
  6439. description: Path of the field to
  6440. select in the specified API version.
  6441. type: string
  6442. required:
  6443. - fieldPath
  6444. type: object
  6445. x-kubernetes-map-type: atomic
  6446. mode:
  6447. description: 'Optional: mode bits used
  6448. to set permissions on this file, must
  6449. be an octal value between 0000 and
  6450. 0777 or a decimal value between 0
  6451. and 511. YAML accepts both octal and
  6452. decimal values, JSON requires decimal
  6453. values for mode bits. If not specified,
  6454. the volume defaultMode will be used.
  6455. This might be in conflict with other
  6456. options that affect the file mode,
  6457. like fsGroup, and the result can be
  6458. other mode bits set.'
  6459. format: int32
  6460. type: integer
  6461. path:
  6462. description: 'Required: Path is the
  6463. relative path name of the file to
  6464. be created. Must not be absolute or
  6465. contain the ''..'' path. Must be utf-8
  6466. encoded. The first item of the relative
  6467. path must not start with ''..'''
  6468. type: string
  6469. resourceFieldRef:
  6470. description: 'Selects a resource of
  6471. the container: only resources limits
  6472. and requests (limits.cpu, limits.memory,
  6473. requests.cpu and requests.memory)
  6474. are currently supported.'
  6475. properties:
  6476. containerName:
  6477. description: 'Container name: required
  6478. for volumes, optional for env
  6479. vars'
  6480. type: string
  6481. divisor:
  6482. anyOf:
  6483. - type: integer
  6484. - type: string
  6485. description: Specifies the output
  6486. format of the exposed resources,
  6487. defaults to "1"
  6488. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6489. x-kubernetes-int-or-string: true
  6490. resource:
  6491. description: 'Required: resource
  6492. to select'
  6493. type: string
  6494. required:
  6495. - resource
  6496. type: object
  6497. x-kubernetes-map-type: atomic
  6498. required:
  6499. - path
  6500. type: object
  6501. type: array
  6502. type: object
  6503. secret:
  6504. description: secret information about the secret
  6505. data to project
  6506. properties:
  6507. items:
  6508. description: items if unspecified, each key-value
  6509. pair in the Data field of the referenced
  6510. Secret will be projected into the volume
  6511. as a file whose name is the key and content
  6512. is the value. If specified, the listed keys
  6513. will be projected into the specified paths,
  6514. and unlisted keys will not be present. If
  6515. a key is specified which is not present
  6516. in the Secret, the volume setup will error
  6517. unless it is marked optional. Paths must
  6518. be relative and may not contain the '..'
  6519. path or start with '..'.
  6520. items:
  6521. description: Maps a string key to a path
  6522. within a volume.
  6523. properties:
  6524. key:
  6525. description: key is the key to project.
  6526. type: string
  6527. mode:
  6528. description: 'mode is Optional: mode
  6529. bits used to set permissions on this
  6530. file. Must be an octal value between
  6531. 0000 and 0777 or a decimal value between
  6532. 0 and 511. YAML accepts both octal
  6533. and decimal values, JSON requires
  6534. decimal values for mode bits. If not
  6535. specified, the volume defaultMode
  6536. will be used. This might be in conflict
  6537. with other options that affect the
  6538. file mode, like fsGroup, and the result
  6539. can be other mode bits set.'
  6540. format: int32
  6541. type: integer
  6542. path:
  6543. description: path is the relative path
  6544. of the file to map the key to. May
  6545. not be an absolute path. May not contain
  6546. the path element '..'. May not start
  6547. with the string '..'.
  6548. type: string
  6549. required:
  6550. - key
  6551. - path
  6552. type: object
  6553. type: array
  6554. name:
  6555. description: 'Name of the referent. More info:
  6556. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6557. TODO: Add other useful fields. apiVersion,
  6558. kind, uid?'
  6559. type: string
  6560. optional:
  6561. description: optional field specify whether
  6562. the Secret or its key must be defined
  6563. type: boolean
  6564. type: object
  6565. x-kubernetes-map-type: atomic
  6566. serviceAccountToken:
  6567. description: serviceAccountToken is information
  6568. about the serviceAccountToken data to project
  6569. properties:
  6570. audience:
  6571. description: audience is the intended audience
  6572. of the token. A recipient of a token must
  6573. identify itself with an identifier specified
  6574. in the audience of the token, and otherwise
  6575. should reject the token. The audience defaults
  6576. to the identifier of the apiserver.
  6577. type: string
  6578. expirationSeconds:
  6579. description: expirationSeconds is the requested
  6580. duration of validity of the service account
  6581. token. As the token approaches expiration,
  6582. the kubelet volume plugin will proactively
  6583. rotate the service account token. The kubelet
  6584. will start trying to rotate the token if
  6585. the token is older than 80 percent of its
  6586. time to live or if the token is older than
  6587. 24 hours.Defaults to 1 hour and must be
  6588. at least 10 minutes.
  6589. format: int64
  6590. type: integer
  6591. path:
  6592. description: path is the path relative to
  6593. the mount point of the file to project the
  6594. token into.
  6595. type: string
  6596. required:
  6597. - path
  6598. type: object
  6599. type: object
  6600. type: array
  6601. type: object
  6602. quobyte:
  6603. description: quobyte represents a Quobyte mount on the host
  6604. that shares a pod's lifetime
  6605. properties:
  6606. group:
  6607. description: group to map volume access to Default is
  6608. no group
  6609. type: string
  6610. readOnly:
  6611. description: readOnly here will force the Quobyte volume
  6612. to be mounted with read-only permissions. Defaults
  6613. to false.
  6614. type: boolean
  6615. registry:
  6616. description: registry represents a single or multiple
  6617. Quobyte Registry services specified as a string as
  6618. host:port pair (multiple entries are separated with
  6619. commas) which acts as the central registry for volumes
  6620. type: string
  6621. tenant:
  6622. description: tenant owning the given Quobyte volume
  6623. in the Backend Used with dynamically provisioned Quobyte
  6624. volumes, value is set by the plugin
  6625. type: string
  6626. user:
  6627. description: user to map volume access to Defaults to
  6628. serivceaccount user
  6629. type: string
  6630. volume:
  6631. description: volume is a string that references an already
  6632. created Quobyte volume by name.
  6633. type: string
  6634. required:
  6635. - registry
  6636. - volume
  6637. type: object
  6638. rbd:
  6639. description: 'rbd represents a Rados Block Device mount
  6640. on the host that shares a pod''s lifetime. More info:
  6641. https://examples.k8s.io/volumes/rbd/README.md'
  6642. properties:
  6643. fsType:
  6644. description: 'fsType is the filesystem type of the volume
  6645. that you want to mount. Tip: Ensure that the filesystem
  6646. type is supported by the host operating system. Examples:
  6647. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  6648. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  6649. TODO: how do we prevent errors in the filesystem from
  6650. compromising the machine'
  6651. type: string
  6652. image:
  6653. description: 'image is the rados image name. More info:
  6654. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6655. type: string
  6656. keyring:
  6657. description: 'keyring is the path to key ring for RBDUser.
  6658. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6659. type: string
  6660. monitors:
  6661. description: 'monitors is a collection of Ceph monitors.
  6662. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6663. items:
  6664. type: string
  6665. type: array
  6666. pool:
  6667. description: 'pool is the rados pool name. Default is
  6668. rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6669. type: string
  6670. readOnly:
  6671. description: 'readOnly here will force the ReadOnly
  6672. setting in VolumeMounts. Defaults to false. More info:
  6673. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6674. type: boolean
  6675. secretRef:
  6676. description: 'secretRef is name of the authentication
  6677. secret for RBDUser. If provided overrides keyring.
  6678. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6679. properties:
  6680. name:
  6681. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6682. TODO: Add other useful fields. apiVersion, kind,
  6683. uid?'
  6684. type: string
  6685. type: object
  6686. x-kubernetes-map-type: atomic
  6687. user:
  6688. description: 'user is the rados user name. Default is
  6689. admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6690. type: string
  6691. required:
  6692. - image
  6693. - monitors
  6694. type: object
  6695. scaleIO:
  6696. description: scaleIO represents a ScaleIO persistent volume
  6697. attached and mounted on Kubernetes nodes.
  6698. properties:
  6699. fsType:
  6700. description: fsType is the filesystem type to mount.
  6701. Must be a filesystem type supported by the host operating
  6702. system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  6703. type: string
  6704. gateway:
  6705. description: gateway is the host address of the ScaleIO
  6706. API Gateway.
  6707. type: string
  6708. protectionDomain:
  6709. description: protectionDomain is the name of the ScaleIO
  6710. Protection Domain for the configured storage.
  6711. type: string
  6712. readOnly:
  6713. description: readOnly Defaults to false (read/write).
  6714. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  6715. type: boolean
  6716. secretRef:
  6717. description: secretRef references to the secret for
  6718. ScaleIO user and other sensitive information. If this
  6719. is not provided, Login operation will fail.
  6720. properties:
  6721. name:
  6722. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6723. TODO: Add other useful fields. apiVersion, kind,
  6724. uid?'
  6725. type: string
  6726. type: object
  6727. x-kubernetes-map-type: atomic
  6728. sslEnabled:
  6729. description: sslEnabled Flag enable/disable SSL communication
  6730. with Gateway, default false
  6731. type: boolean
  6732. storageMode:
  6733. description: storageMode indicates whether the storage
  6734. for a volume should be ThickProvisioned or ThinProvisioned.
  6735. Default is ThinProvisioned.
  6736. type: string
  6737. storagePool:
  6738. description: storagePool is the ScaleIO Storage Pool
  6739. associated with the protection domain.
  6740. type: string
  6741. system:
  6742. description: system is the name of the storage system
  6743. as configured in ScaleIO.
  6744. type: string
  6745. volumeName:
  6746. description: volumeName is the name of a volume already
  6747. created in the ScaleIO system that is associated with
  6748. this volume source.
  6749. type: string
  6750. required:
  6751. - gateway
  6752. - secretRef
  6753. - system
  6754. type: object
  6755. secret:
  6756. description: 'secret represents a secret that should populate
  6757. this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  6758. properties:
  6759. defaultMode:
  6760. description: 'defaultMode is Optional: mode bits used
  6761. to set permissions on created files by default. Must
  6762. be an octal value between 0000 and 0777 or a decimal
  6763. value between 0 and 511. YAML accepts both octal and
  6764. decimal values, JSON requires decimal values for mode
  6765. bits. Defaults to 0644. Directories within the path
  6766. are not affected by this setting. This might be in
  6767. conflict with other options that affect the file mode,
  6768. like fsGroup, and the result can be other mode bits
  6769. set.'
  6770. format: int32
  6771. type: integer
  6772. items:
  6773. description: items If unspecified, each key-value pair
  6774. in the Data field of the referenced Secret will be
  6775. projected into the volume as a file whose name is
  6776. the key and content is the value. If specified, the
  6777. listed keys will be projected into the specified paths,
  6778. and unlisted keys will not be present. If a key is
  6779. specified which is not present in the Secret, the
  6780. volume setup will error unless it is marked optional.
  6781. Paths must be relative and may not contain the '..'
  6782. path or start with '..'.
  6783. items:
  6784. description: Maps a string key to a path within a
  6785. volume.
  6786. properties:
  6787. key:
  6788. description: key is the key to project.
  6789. type: string
  6790. mode:
  6791. description: 'mode is Optional: mode bits used
  6792. to set permissions on this file. Must be an
  6793. octal value between 0000 and 0777 or a decimal
  6794. value between 0 and 511. YAML accepts both octal
  6795. and decimal values, JSON requires decimal values
  6796. for mode bits. If not specified, the volume
  6797. defaultMode will be used. This might be in conflict
  6798. with other options that affect the file mode,
  6799. like fsGroup, and the result can be other mode
  6800. bits set.'
  6801. format: int32
  6802. type: integer
  6803. path:
  6804. description: path is the relative path of the
  6805. file to map the key to. May not be an absolute
  6806. path. May not contain the path element '..'.
  6807. May not start with the string '..'.
  6808. type: string
  6809. required:
  6810. - key
  6811. - path
  6812. type: object
  6813. type: array
  6814. optional:
  6815. description: optional field specify whether the Secret
  6816. or its keys must be defined
  6817. type: boolean
  6818. secretName:
  6819. description: 'secretName is the name of the secret in
  6820. the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  6821. type: string
  6822. type: object
  6823. storageos:
  6824. description: storageOS represents a StorageOS volume attached
  6825. and mounted on Kubernetes nodes.
  6826. properties:
  6827. fsType:
  6828. description: fsType is the filesystem type to mount.
  6829. Must be a filesystem type supported by the host operating
  6830. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  6831. to be "ext4" if unspecified.
  6832. type: string
  6833. readOnly:
  6834. description: readOnly defaults to false (read/write).
  6835. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  6836. type: boolean
  6837. secretRef:
  6838. description: secretRef specifies the secret to use for
  6839. obtaining the StorageOS API credentials. If not specified,
  6840. default values will be attempted.
  6841. properties:
  6842. name:
  6843. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6844. TODO: Add other useful fields. apiVersion, kind,
  6845. uid?'
  6846. type: string
  6847. type: object
  6848. x-kubernetes-map-type: atomic
  6849. volumeName:
  6850. description: volumeName is the human-readable name of
  6851. the StorageOS volume. Volume names are only unique
  6852. within a namespace.
  6853. type: string
  6854. volumeNamespace:
  6855. description: volumeNamespace specifies the scope of
  6856. the volume within StorageOS. If no namespace is specified
  6857. then the Pod's namespace will be used. This allows
  6858. the Kubernetes name scoping to be mirrored within
  6859. StorageOS for tighter integration. Set VolumeName
  6860. to any name to override the default behaviour. Set
  6861. to "default" if you are not using namespaces within
  6862. StorageOS. Namespaces that do not pre-exist within
  6863. StorageOS will be created.
  6864. type: string
  6865. type: object
  6866. vsphereVolume:
  6867. description: vsphereVolume represents a vSphere volume attached
  6868. and mounted on kubelets host machine
  6869. properties:
  6870. fsType:
  6871. description: fsType is filesystem type to mount. Must
  6872. be a filesystem type supported by the host operating
  6873. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  6874. to be "ext4" if unspecified.
  6875. type: string
  6876. storagePolicyID:
  6877. description: storagePolicyID is the storage Policy Based
  6878. Management (SPBM) profile ID associated with the StoragePolicyName.
  6879. type: string
  6880. storagePolicyName:
  6881. description: storagePolicyName is the storage Policy
  6882. Based Management (SPBM) profile name.
  6883. type: string
  6884. volumePath:
  6885. description: volumePath is the path that identifies
  6886. vSphere volume vmdk
  6887. type: string
  6888. required:
  6889. - volumePath
  6890. type: object
  6891. required:
  6892. - name
  6893. type: object
  6894. type: array
  6895. required:
  6896. - containers
  6897. type: object
  6898. greenSpec:
  6899. description: Pod Spec for a Green Service
  6900. properties:
  6901. activeDeadlineSeconds:
  6902. description: Optional duration in seconds the pod may be active
  6903. on the node relative to StartTime before the system will actively
  6904. try to mark it failed and kill associated containers. Value
  6905. must be a positive integer.
  6906. format: int64
  6907. type: integer
  6908. affinity:
  6909. description: If specified, the pod's scheduling constraints
  6910. properties:
  6911. nodeAffinity:
  6912. description: Describes node affinity scheduling rules for
  6913. the pod.
  6914. properties:
  6915. preferredDuringSchedulingIgnoredDuringExecution:
  6916. description: The scheduler will prefer to schedule pods
  6917. to nodes that satisfy the affinity expressions specified
  6918. by this field, but it may choose a node that violates
  6919. one or more of the expressions. The node that is most
  6920. preferred is the one with the greatest sum of weights,
  6921. i.e. for each node that meets all of the scheduling
  6922. requirements (resource request, requiredDuringScheduling
  6923. affinity expressions, etc.), compute a sum by iterating
  6924. through the elements of this field and adding "weight"
  6925. to the sum if the node matches the corresponding matchExpressions;
  6926. the node(s) with the highest sum are the most preferred.
  6927. items:
  6928. description: An empty preferred scheduling term matches
  6929. all objects with implicit weight 0 (i.e. it's a no-op).
  6930. A null preferred scheduling term matches no objects
  6931. (i.e. is also a no-op).
  6932. properties:
  6933. preference:
  6934. description: A node selector term, associated with
  6935. the corresponding weight.
  6936. properties:
  6937. matchExpressions:
  6938. description: A list of node selector requirements
  6939. by node's labels.
  6940. items:
  6941. description: A node selector requirement is
  6942. a selector that contains values, a key,
  6943. and an operator that relates the key and
  6944. values.
  6945. properties:
  6946. key:
  6947. description: The label key that the selector
  6948. applies to.
  6949. type: string
  6950. operator:
  6951. description: Represents a key's relationship
  6952. to a set of values. Valid operators
  6953. are In, NotIn, Exists, DoesNotExist.
  6954. Gt, and Lt.
  6955. type: string
  6956. values:
  6957. description: An array of string values.
  6958. If the operator is In or NotIn, the
  6959. values array must be non-empty. If the
  6960. operator is Exists or DoesNotExist,
  6961. the values array must be empty. If the
  6962. operator is Gt or Lt, the values array
  6963. must have a single element, which will
  6964. be interpreted as an integer. This array
  6965. is replaced during a strategic merge
  6966. patch.
  6967. items:
  6968. type: string
  6969. type: array
  6970. required:
  6971. - key
  6972. - operator
  6973. type: object
  6974. type: array
  6975. matchFields:
  6976. description: A list of node selector requirements
  6977. by node's fields.
  6978. items:
  6979. description: A node selector requirement is
  6980. a selector that contains values, a key,
  6981. and an operator that relates the key and
  6982. values.
  6983. properties:
  6984. key:
  6985. description: The label key that the selector
  6986. applies to.
  6987. type: string
  6988. operator:
  6989. description: Represents a key's relationship
  6990. to a set of values. Valid operators
  6991. are In, NotIn, Exists, DoesNotExist.
  6992. Gt, and Lt.
  6993. type: string
  6994. values:
  6995. description: An array of string values.
  6996. If the operator is In or NotIn, the
  6997. values array must be non-empty. If the
  6998. operator is Exists or DoesNotExist,
  6999. the values array must be empty. If the
  7000. operator is Gt or Lt, the values array
  7001. must have a single element, which will
  7002. be interpreted as an integer. This array
  7003. is replaced during a strategic merge
  7004. patch.
  7005. items:
  7006. type: string
  7007. type: array
  7008. required:
  7009. - key
  7010. - operator
  7011. type: object
  7012. type: array
  7013. type: object
  7014. x-kubernetes-map-type: atomic
  7015. weight:
  7016. description: Weight associated with matching the
  7017. corresponding nodeSelectorTerm, in the range 1-100.
  7018. format: int32
  7019. type: integer
  7020. required:
  7021. - preference
  7022. - weight
  7023. type: object
  7024. type: array
  7025. requiredDuringSchedulingIgnoredDuringExecution:
  7026. description: If the affinity requirements specified by
  7027. this field are not met at scheduling time, the pod will
  7028. not be scheduled onto the node. If the affinity requirements
  7029. specified by this field cease to be met at some point
  7030. during pod execution (e.g. due to an update), the system
  7031. may or may not try to eventually evict the pod from
  7032. its node.
  7033. properties:
  7034. nodeSelectorTerms:
  7035. description: Required. A list of node selector terms.
  7036. The terms are ORed.
  7037. items:
  7038. description: A null or empty node selector term
  7039. matches no objects. The requirements of them are
  7040. ANDed. The TopologySelectorTerm type implements
  7041. a subset of the NodeSelectorTerm.
  7042. properties:
  7043. matchExpressions:
  7044. description: A list of node selector requirements
  7045. by node's labels.
  7046. items:
  7047. description: A node selector requirement is
  7048. a selector that contains values, a key,
  7049. and an operator that relates the key and
  7050. values.
  7051. properties:
  7052. key:
  7053. description: The label key that the selector
  7054. applies to.
  7055. type: string
  7056. operator:
  7057. description: Represents a key's relationship
  7058. to a set of values. Valid operators
  7059. are In, NotIn, Exists, DoesNotExist.
  7060. Gt, and Lt.
  7061. type: string
  7062. values:
  7063. description: An array of string values.
  7064. If the operator is In or NotIn, the
  7065. values array must be non-empty. If the
  7066. operator is Exists or DoesNotExist,
  7067. the values array must be empty. If the
  7068. operator is Gt or Lt, the values array
  7069. must have a single element, which will
  7070. be interpreted as an integer. This array
  7071. is replaced during a strategic merge
  7072. patch.
  7073. items:
  7074. type: string
  7075. type: array
  7076. required:
  7077. - key
  7078. - operator
  7079. type: object
  7080. type: array
  7081. matchFields:
  7082. description: A list of node selector requirements
  7083. by node's fields.
  7084. items:
  7085. description: A node selector requirement is
  7086. a selector that contains values, a key,
  7087. and an operator that relates the key and
  7088. values.
  7089. properties:
  7090. key:
  7091. description: The label key that the selector
  7092. applies to.
  7093. type: string
  7094. operator:
  7095. description: Represents a key's relationship
  7096. to a set of values. Valid operators
  7097. are In, NotIn, Exists, DoesNotExist.
  7098. Gt, and Lt.
  7099. type: string
  7100. values:
  7101. description: An array of string values.
  7102. If the operator is In or NotIn, the
  7103. values array must be non-empty. If the
  7104. operator is Exists or DoesNotExist,
  7105. the values array must be empty. If the
  7106. operator is Gt or Lt, the values array
  7107. must have a single element, which will
  7108. be interpreted as an integer. This array
  7109. is replaced during a strategic merge
  7110. patch.
  7111. items:
  7112. type: string
  7113. type: array
  7114. required:
  7115. - key
  7116. - operator
  7117. type: object
  7118. type: array
  7119. type: object
  7120. x-kubernetes-map-type: atomic
  7121. type: array
  7122. required:
  7123. - nodeSelectorTerms
  7124. type: object
  7125. x-kubernetes-map-type: atomic
  7126. type: object
  7127. podAffinity:
  7128. description: Describes pod affinity scheduling rules (e.g.
  7129. co-locate this pod in the same node, zone, etc. as some
  7130. other pod(s)).
  7131. properties:
  7132. preferredDuringSchedulingIgnoredDuringExecution:
  7133. description: The scheduler will prefer to schedule pods
  7134. to nodes that satisfy the affinity expressions specified
  7135. by this field, but it may choose a node that violates
  7136. one or more of the expressions. The node that is most
  7137. preferred is the one with the greatest sum of weights,
  7138. i.e. for each node that meets all of the scheduling
  7139. requirements (resource request, requiredDuringScheduling
  7140. affinity expressions, etc.), compute a sum by iterating
  7141. through the elements of this field and adding "weight"
  7142. to the sum if the node has pods which matches the corresponding
  7143. podAffinityTerm; the node(s) with the highest sum are
  7144. the most preferred.
  7145. items:
  7146. description: The weights of all of the matched WeightedPodAffinityTerm
  7147. fields are added per-node to find the most preferred
  7148. node(s)
  7149. properties:
  7150. podAffinityTerm:
  7151. description: Required. A pod affinity term, associated
  7152. with the corresponding weight.
  7153. properties:
  7154. labelSelector:
  7155. description: A label query over a set of resources,
  7156. in this case pods.
  7157. properties:
  7158. matchExpressions:
  7159. description: matchExpressions is a list
  7160. of label selector requirements. The requirements
  7161. are ANDed.
  7162. items:
  7163. description: A label selector requirement
  7164. is a selector that contains values,
  7165. a key, and an operator that relates
  7166. the key and values.
  7167. properties:
  7168. key:
  7169. description: key is the label key
  7170. that the selector applies to.
  7171. type: string
  7172. operator:
  7173. description: operator represents a
  7174. key's relationship to a set of values.
  7175. Valid operators are In, NotIn, Exists
  7176. and DoesNotExist.
  7177. type: string
  7178. values:
  7179. description: values is an array of
  7180. string values. If the operator is
  7181. In or NotIn, the values array must
  7182. be non-empty. If the operator is
  7183. Exists or DoesNotExist, the values
  7184. array must be empty. This array
  7185. is replaced during a strategic merge
  7186. patch.
  7187. items:
  7188. type: string
  7189. type: array
  7190. required:
  7191. - key
  7192. - operator
  7193. type: object
  7194. type: array
  7195. matchLabels:
  7196. additionalProperties:
  7197. type: string
  7198. description: matchLabels is a map of {key,value}
  7199. pairs. A single {key,value} in the matchLabels
  7200. map is equivalent to an element of matchExpressions,
  7201. whose key field is "key", the operator
  7202. is "In", and the values array contains
  7203. only "value". The requirements are ANDed.
  7204. type: object
  7205. type: object
  7206. x-kubernetes-map-type: atomic
  7207. namespaceSelector:
  7208. description: A label query over the set of namespaces
  7209. that the term applies to. The term is applied
  7210. to the union of the namespaces selected by
  7211. this field and the ones listed in the namespaces
  7212. field. null selector and null or empty namespaces
  7213. list means "this pod's namespace". An empty
  7214. selector ({}) matches all namespaces.
  7215. properties:
  7216. matchExpressions:
  7217. description: matchExpressions is a list
  7218. of label selector requirements. The requirements
  7219. are ANDed.
  7220. items:
  7221. description: A label selector requirement
  7222. is a selector that contains values,
  7223. a key, and an operator that relates
  7224. the key and values.
  7225. properties:
  7226. key:
  7227. description: key is the label key
  7228. that the selector applies to.
  7229. type: string
  7230. operator:
  7231. description: operator represents a
  7232. key's relationship to a set of values.
  7233. Valid operators are In, NotIn, Exists
  7234. and DoesNotExist.
  7235. type: string
  7236. values:
  7237. description: values is an array of
  7238. string values. If the operator is
  7239. In or NotIn, the values array must
  7240. be non-empty. If the operator is
  7241. Exists or DoesNotExist, the values
  7242. array must be empty. This array
  7243. is replaced during a strategic merge
  7244. patch.
  7245. items:
  7246. type: string
  7247. type: array
  7248. required:
  7249. - key
  7250. - operator
  7251. type: object
  7252. type: array
  7253. matchLabels:
  7254. additionalProperties:
  7255. type: string
  7256. description: matchLabels is a map of {key,value}
  7257. pairs. A single {key,value} in the matchLabels
  7258. map is equivalent to an element of matchExpressions,
  7259. whose key field is "key", the operator
  7260. is "In", and the values array contains
  7261. only "value". The requirements are ANDed.
  7262. type: object
  7263. type: object
  7264. x-kubernetes-map-type: atomic
  7265. namespaces:
  7266. description: namespaces specifies a static list
  7267. of namespace names that the term applies to.
  7268. The term is applied to the union of the namespaces
  7269. listed in this field and the ones selected
  7270. by namespaceSelector. null or empty namespaces
  7271. list and null namespaceSelector means "this
  7272. pod's namespace".
  7273. items:
  7274. type: string
  7275. type: array
  7276. topologyKey:
  7277. description: This pod should be co-located (affinity)
  7278. or not co-located (anti-affinity) with the
  7279. pods matching the labelSelector in the specified
  7280. namespaces, where co-located is defined as
  7281. running on a node whose value of the label
  7282. with key topologyKey matches that of any node
  7283. on which any of the selected pods is running.
  7284. Empty topologyKey is not allowed.
  7285. type: string
  7286. required:
  7287. - topologyKey
  7288. type: object
  7289. weight:
  7290. description: weight associated with matching the
  7291. corresponding podAffinityTerm, in the range 1-100.
  7292. format: int32
  7293. type: integer
  7294. required:
  7295. - podAffinityTerm
  7296. - weight
  7297. type: object
  7298. type: array
  7299. requiredDuringSchedulingIgnoredDuringExecution:
  7300. description: If the affinity requirements specified by
  7301. this field are not met at scheduling time, the pod will
  7302. not be scheduled onto the node. If the affinity requirements
  7303. specified by this field cease to be met at some point
  7304. during pod execution (e.g. due to a pod label update),
  7305. the system may or may not try to eventually evict the
  7306. pod from its node. When there are multiple elements,
  7307. the lists of nodes corresponding to each podAffinityTerm
  7308. are intersected, i.e. all terms must be satisfied.
  7309. items:
  7310. description: Defines a set of pods (namely those matching
  7311. the labelSelector relative to the given namespace(s))
  7312. that this pod should be co-located (affinity) or not
  7313. co-located (anti-affinity) with, where co-located
  7314. is defined as running on a node whose value of the
  7315. label with key <topologyKey> matches that of any node
  7316. on which a pod of the set of pods is running
  7317. properties:
  7318. labelSelector:
  7319. description: A label query over a set of resources,
  7320. in this case pods.
  7321. properties:
  7322. matchExpressions:
  7323. description: matchExpressions is a list of label
  7324. selector requirements. The requirements are
  7325. ANDed.
  7326. items:
  7327. description: A label selector requirement
  7328. is a selector that contains values, a key,
  7329. and an operator that relates the key and
  7330. values.
  7331. properties:
  7332. key:
  7333. description: key is the label key that
  7334. the selector applies to.
  7335. type: string
  7336. operator:
  7337. description: operator represents a key's
  7338. relationship to a set of values. Valid
  7339. operators are In, NotIn, Exists and
  7340. DoesNotExist.
  7341. type: string
  7342. values:
  7343. description: values is an array of string
  7344. values. If the operator is In or NotIn,
  7345. the values array must be non-empty.
  7346. If the operator is Exists or DoesNotExist,
  7347. the values array must be empty. This
  7348. array is replaced during a strategic
  7349. merge patch.
  7350. items:
  7351. type: string
  7352. type: array
  7353. required:
  7354. - key
  7355. - operator
  7356. type: object
  7357. type: array
  7358. matchLabels:
  7359. additionalProperties:
  7360. type: string
  7361. description: matchLabels is a map of {key,value}
  7362. pairs. A single {key,value} in the matchLabels
  7363. map is equivalent to an element of matchExpressions,
  7364. whose key field is "key", the operator is
  7365. "In", and the values array contains only "value".
  7366. The requirements are ANDed.
  7367. type: object
  7368. type: object
  7369. x-kubernetes-map-type: atomic
  7370. namespaceSelector:
  7371. description: A label query over the set of namespaces
  7372. that the term applies to. The term is applied
  7373. to the union of the namespaces selected by this
  7374. field and the ones listed in the namespaces field.
  7375. null selector and null or empty namespaces list
  7376. means "this pod's namespace". An empty selector
  7377. ({}) matches all namespaces.
  7378. properties:
  7379. matchExpressions:
  7380. description: matchExpressions is a list of label
  7381. selector requirements. The requirements are
  7382. ANDed.
  7383. items:
  7384. description: A label selector requirement
  7385. is a selector that contains values, a key,
  7386. and an operator that relates the key and
  7387. values.
  7388. properties:
  7389. key:
  7390. description: key is the label key that
  7391. the selector applies to.
  7392. type: string
  7393. operator:
  7394. description: operator represents a key's
  7395. relationship to a set of values. Valid
  7396. operators are In, NotIn, Exists and
  7397. DoesNotExist.
  7398. type: string
  7399. values:
  7400. description: values is an array of string
  7401. values. If the operator is In or NotIn,
  7402. the values array must be non-empty.
  7403. If the operator is Exists or DoesNotExist,
  7404. the values array must be empty. This
  7405. array is replaced during a strategic
  7406. merge patch.
  7407. items:
  7408. type: string
  7409. type: array
  7410. required:
  7411. - key
  7412. - operator
  7413. type: object
  7414. type: array
  7415. matchLabels:
  7416. additionalProperties:
  7417. type: string
  7418. description: matchLabels is a map of {key,value}
  7419. pairs. A single {key,value} in the matchLabels
  7420. map is equivalent to an element of matchExpressions,
  7421. whose key field is "key", the operator is
  7422. "In", and the values array contains only "value".
  7423. The requirements are ANDed.
  7424. type: object
  7425. type: object
  7426. x-kubernetes-map-type: atomic
  7427. namespaces:
  7428. description: namespaces specifies a static list
  7429. of namespace names that the term applies to. The
  7430. term is applied to the union of the namespaces
  7431. listed in this field and the ones selected by
  7432. namespaceSelector. null or empty namespaces list
  7433. and null namespaceSelector means "this pod's namespace".
  7434. items:
  7435. type: string
  7436. type: array
  7437. topologyKey:
  7438. description: This pod should be co-located (affinity)
  7439. or not co-located (anti-affinity) with the pods
  7440. matching the labelSelector in the specified namespaces,
  7441. where co-located is defined as running on a node
  7442. whose value of the label with key topologyKey
  7443. matches that of any node on which any of the selected
  7444. pods is running. Empty topologyKey is not allowed.
  7445. type: string
  7446. required:
  7447. - topologyKey
  7448. type: object
  7449. type: array
  7450. type: object
  7451. podAntiAffinity:
  7452. description: Describes pod anti-affinity scheduling rules
  7453. (e.g. avoid putting this pod in the same node, zone, etc.
  7454. as some other pod(s)).
  7455. properties:
  7456. preferredDuringSchedulingIgnoredDuringExecution:
  7457. description: The scheduler will prefer to schedule pods
  7458. to nodes that satisfy the anti-affinity expressions
  7459. specified by this field, but it may choose a node that
  7460. violates one or more of the expressions. The node that
  7461. is most preferred is the one with the greatest sum of
  7462. weights, i.e. for each node that meets all of the scheduling
  7463. requirements (resource request, requiredDuringScheduling
  7464. anti-affinity expressions, etc.), compute a sum by iterating
  7465. through the elements of this field and adding "weight"
  7466. to the sum if the node has pods which matches the corresponding
  7467. podAffinityTerm; the node(s) with the highest sum are
  7468. the most preferred.
  7469. items:
  7470. description: The weights of all of the matched WeightedPodAffinityTerm
  7471. fields are added per-node to find the most preferred
  7472. node(s)
  7473. properties:
  7474. podAffinityTerm:
  7475. description: Required. A pod affinity term, associated
  7476. with the corresponding weight.
  7477. properties:
  7478. labelSelector:
  7479. description: A label query over a set of resources,
  7480. in this case pods.
  7481. properties:
  7482. matchExpressions:
  7483. description: matchExpressions is a list
  7484. of label selector requirements. The requirements
  7485. are ANDed.
  7486. items:
  7487. description: A label selector requirement
  7488. is a selector that contains values,
  7489. a key, and an operator that relates
  7490. the key and values.
  7491. properties:
  7492. key:
  7493. description: key is the label key
  7494. that the selector applies to.
  7495. type: string
  7496. operator:
  7497. description: operator represents a
  7498. key's relationship to a set of values.
  7499. Valid operators are In, NotIn, Exists
  7500. and DoesNotExist.
  7501. type: string
  7502. values:
  7503. description: values is an array of
  7504. string values. If the operator is
  7505. In or NotIn, the values array must
  7506. be non-empty. If the operator is
  7507. Exists or DoesNotExist, the values
  7508. array must be empty. This array
  7509. is replaced during a strategic merge
  7510. patch.
  7511. items:
  7512. type: string
  7513. type: array
  7514. required:
  7515. - key
  7516. - operator
  7517. type: object
  7518. type: array
  7519. matchLabels:
  7520. additionalProperties:
  7521. type: string
  7522. description: matchLabels is a map of {key,value}
  7523. pairs. A single {key,value} in the matchLabels
  7524. map is equivalent to an element of matchExpressions,
  7525. whose key field is "key", the operator
  7526. is "In", and the values array contains
  7527. only "value". The requirements are ANDed.
  7528. type: object
  7529. type: object
  7530. x-kubernetes-map-type: atomic
  7531. namespaceSelector:
  7532. description: A label query over the set of namespaces
  7533. that the term applies to. The term is applied
  7534. to the union of the namespaces selected by
  7535. this field and the ones listed in the namespaces
  7536. field. null selector and null or empty namespaces
  7537. list means "this pod's namespace". An empty
  7538. selector ({}) matches all namespaces.
  7539. properties:
  7540. matchExpressions:
  7541. description: matchExpressions is a list
  7542. of label selector requirements. The requirements
  7543. are ANDed.
  7544. items:
  7545. description: A label selector requirement
  7546. is a selector that contains values,
  7547. a key, and an operator that relates
  7548. the key and values.
  7549. properties:
  7550. key:
  7551. description: key is the label key
  7552. that the selector applies to.
  7553. type: string
  7554. operator:
  7555. description: operator represents a
  7556. key's relationship to a set of values.
  7557. Valid operators are In, NotIn, Exists
  7558. and DoesNotExist.
  7559. type: string
  7560. values:
  7561. description: values is an array of
  7562. string values. If the operator is
  7563. In or NotIn, the values array must
  7564. be non-empty. If the operator is
  7565. Exists or DoesNotExist, the values
  7566. array must be empty. This array
  7567. is replaced during a strategic merge
  7568. patch.
  7569. items:
  7570. type: string
  7571. type: array
  7572. required:
  7573. - key
  7574. - operator
  7575. type: object
  7576. type: array
  7577. matchLabels:
  7578. additionalProperties:
  7579. type: string
  7580. description: matchLabels is a map of {key,value}
  7581. pairs. A single {key,value} in the matchLabels
  7582. map is equivalent to an element of matchExpressions,
  7583. whose key field is "key", the operator
  7584. is "In", and the values array contains
  7585. only "value". The requirements are ANDed.
  7586. type: object
  7587. type: object
  7588. x-kubernetes-map-type: atomic
  7589. namespaces:
  7590. description: namespaces specifies a static list
  7591. of namespace names that the term applies to.
  7592. The term is applied to the union of the namespaces
  7593. listed in this field and the ones selected
  7594. by namespaceSelector. null or empty namespaces
  7595. list and null namespaceSelector means "this
  7596. pod's namespace".
  7597. items:
  7598. type: string
  7599. type: array
  7600. topologyKey:
  7601. description: This pod should be co-located (affinity)
  7602. or not co-located (anti-affinity) with the
  7603. pods matching the labelSelector in the specified
  7604. namespaces, where co-located is defined as
  7605. running on a node whose value of the label
  7606. with key topologyKey matches that of any node
  7607. on which any of the selected pods is running.
  7608. Empty topologyKey is not allowed.
  7609. type: string
  7610. required:
  7611. - topologyKey
  7612. type: object
  7613. weight:
  7614. description: weight associated with matching the
  7615. corresponding podAffinityTerm, in the range 1-100.
  7616. format: int32
  7617. type: integer
  7618. required:
  7619. - podAffinityTerm
  7620. - weight
  7621. type: object
  7622. type: array
  7623. requiredDuringSchedulingIgnoredDuringExecution:
  7624. description: If the anti-affinity requirements specified
  7625. by this field are not met at scheduling time, the pod
  7626. will not be scheduled onto the node. If the anti-affinity
  7627. requirements specified by this field cease to be met
  7628. at some point during pod execution (e.g. due to a pod
  7629. label update), the system may or may not try to eventually
  7630. evict the pod from its node. When there are multiple
  7631. elements, the lists of nodes corresponding to each podAffinityTerm
  7632. are intersected, i.e. all terms must be satisfied.
  7633. items:
  7634. description: Defines a set of pods (namely those matching
  7635. the labelSelector relative to the given namespace(s))
  7636. that this pod should be co-located (affinity) or not
  7637. co-located (anti-affinity) with, where co-located
  7638. is defined as running on a node whose value of the
  7639. label with key <topologyKey> matches that of any node
  7640. on which a pod of the set of pods is running
  7641. properties:
  7642. labelSelector:
  7643. description: A label query over a set of resources,
  7644. in this case pods.
  7645. properties:
  7646. matchExpressions:
  7647. description: matchExpressions is a list of label
  7648. selector requirements. The requirements are
  7649. ANDed.
  7650. items:
  7651. description: A label selector requirement
  7652. is a selector that contains values, a key,
  7653. and an operator that relates the key and
  7654. values.
  7655. properties:
  7656. key:
  7657. description: key is the label key that
  7658. the selector applies to.
  7659. type: string
  7660. operator:
  7661. description: operator represents a key's
  7662. relationship to a set of values. Valid
  7663. operators are In, NotIn, Exists and
  7664. DoesNotExist.
  7665. type: string
  7666. values:
  7667. description: values is an array of string
  7668. values. If the operator is In or NotIn,
  7669. the values array must be non-empty.
  7670. If the operator is Exists or DoesNotExist,
  7671. the values array must be empty. This
  7672. array is replaced during a strategic
  7673. merge patch.
  7674. items:
  7675. type: string
  7676. type: array
  7677. required:
  7678. - key
  7679. - operator
  7680. type: object
  7681. type: array
  7682. matchLabels:
  7683. additionalProperties:
  7684. type: string
  7685. description: matchLabels is a map of {key,value}
  7686. pairs. A single {key,value} in the matchLabels
  7687. map is equivalent to an element of matchExpressions,
  7688. whose key field is "key", the operator is
  7689. "In", and the values array contains only "value".
  7690. The requirements are ANDed.
  7691. type: object
  7692. type: object
  7693. x-kubernetes-map-type: atomic
  7694. namespaceSelector:
  7695. description: A label query over the set of namespaces
  7696. that the term applies to. The term is applied
  7697. to the union of the namespaces selected by this
  7698. field and the ones listed in the namespaces field.
  7699. null selector and null or empty namespaces list
  7700. means "this pod's namespace". An empty selector
  7701. ({}) matches all namespaces.
  7702. properties:
  7703. matchExpressions:
  7704. description: matchExpressions is a list of label
  7705. selector requirements. The requirements are
  7706. ANDed.
  7707. items:
  7708. description: A label selector requirement
  7709. is a selector that contains values, a key,
  7710. and an operator that relates the key and
  7711. values.
  7712. properties:
  7713. key:
  7714. description: key is the label key that
  7715. the selector applies to.
  7716. type: string
  7717. operator:
  7718. description: operator represents a key's
  7719. relationship to a set of values. Valid
  7720. operators are In, NotIn, Exists and
  7721. DoesNotExist.
  7722. type: string
  7723. values:
  7724. description: values is an array of string
  7725. values. If the operator is In or NotIn,
  7726. the values array must be non-empty.
  7727. If the operator is Exists or DoesNotExist,
  7728. the values array must be empty. This
  7729. array is replaced during a strategic
  7730. merge patch.
  7731. items:
  7732. type: string
  7733. type: array
  7734. required:
  7735. - key
  7736. - operator
  7737. type: object
  7738. type: array
  7739. matchLabels:
  7740. additionalProperties:
  7741. type: string
  7742. description: matchLabels is a map of {key,value}
  7743. pairs. A single {key,value} in the matchLabels
  7744. map is equivalent to an element of matchExpressions,
  7745. whose key field is "key", the operator is
  7746. "In", and the values array contains only "value".
  7747. The requirements are ANDed.
  7748. type: object
  7749. type: object
  7750. x-kubernetes-map-type: atomic
  7751. namespaces:
  7752. description: namespaces specifies a static list
  7753. of namespace names that the term applies to. The
  7754. term is applied to the union of the namespaces
  7755. listed in this field and the ones selected by
  7756. namespaceSelector. null or empty namespaces list
  7757. and null namespaceSelector means "this pod's namespace".
  7758. items:
  7759. type: string
  7760. type: array
  7761. topologyKey:
  7762. description: This pod should be co-located (affinity)
  7763. or not co-located (anti-affinity) with the pods
  7764. matching the labelSelector in the specified namespaces,
  7765. where co-located is defined as running on a node
  7766. whose value of the label with key topologyKey
  7767. matches that of any node on which any of the selected
  7768. pods is running. Empty topologyKey is not allowed.
  7769. type: string
  7770. required:
  7771. - topologyKey
  7772. type: object
  7773. type: array
  7774. type: object
  7775. type: object
  7776. automountServiceAccountToken:
  7777. description: AutomountServiceAccountToken indicates whether a
  7778. service account token should be automatically mounted.
  7779. type: boolean
  7780. containers:
  7781. description: List of containers belonging to the pod. Containers
  7782. cannot currently be added or removed. There must be at least
  7783. one container in a Pod. Cannot be updated.
  7784. items:
  7785. description: A single application container that you want to
  7786. run within a pod.
  7787. properties:
  7788. args:
  7789. description: 'Arguments to the entrypoint. The container
  7790. image''s CMD is used if this is not provided. Variable
  7791. references $(VAR_NAME) are expanded using the container''s
  7792. environment. If a variable cannot be resolved, the reference
  7793. in the input string will be unchanged. Double $$ are reduced
  7794. to a single $, which allows for escaping the $(VAR_NAME)
  7795. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  7796. "$(VAR_NAME)". Escaped references will never be expanded,
  7797. regardless of whether the variable exists or not. Cannot
  7798. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  7799. items:
  7800. type: string
  7801. type: array
  7802. command:
  7803. description: 'Entrypoint array. Not executed within a shell.
  7804. The container image''s ENTRYPOINT is used if this is not
  7805. provided. Variable references $(VAR_NAME) are expanded
  7806. using the container''s environment. If a variable cannot
  7807. be resolved, the reference in the input string will be
  7808. unchanged. Double $$ are reduced to a single $, which
  7809. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  7810. will produce the string literal "$(VAR_NAME)". Escaped
  7811. references will never be expanded, regardless of whether
  7812. the variable exists or not. Cannot be updated. More info:
  7813. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  7814. items:
  7815. type: string
  7816. type: array
  7817. env:
  7818. description: List of environment variables to set in the
  7819. container. Cannot be updated.
  7820. items:
  7821. description: EnvVar represents an environment variable
  7822. present in a Container.
  7823. properties:
  7824. name:
  7825. description: Name of the environment variable. Must
  7826. be a C_IDENTIFIER.
  7827. type: string
  7828. value:
  7829. description: 'Variable references $(VAR_NAME) are
  7830. expanded using the previously defined environment
  7831. variables in the container and any service environment
  7832. variables. If a variable cannot be resolved, the
  7833. reference in the input string will be unchanged.
  7834. Double $$ are reduced to a single $, which allows
  7835. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  7836. will produce the string literal "$(VAR_NAME)". Escaped
  7837. references will never be expanded, regardless of
  7838. whether the variable exists or not. Defaults to
  7839. "".'
  7840. type: string
  7841. valueFrom:
  7842. description: Source for the environment variable's
  7843. value. Cannot be used if value is not empty.
  7844. properties:
  7845. configMapKeyRef:
  7846. description: Selects a key of a ConfigMap.
  7847. properties:
  7848. key:
  7849. description: The key to select.
  7850. type: string
  7851. name:
  7852. description: 'Name of the referent. More info:
  7853. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7854. TODO: Add other useful fields. apiVersion,
  7855. kind, uid?'
  7856. type: string
  7857. optional:
  7858. description: Specify whether the ConfigMap
  7859. or its key must be defined
  7860. type: boolean
  7861. required:
  7862. - key
  7863. type: object
  7864. x-kubernetes-map-type: atomic
  7865. fieldRef:
  7866. description: 'Selects a field of the pod: supports
  7867. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  7868. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  7869. spec.serviceAccountName, status.hostIP, status.podIP,
  7870. status.podIPs.'
  7871. properties:
  7872. apiVersion:
  7873. description: Version of the schema the FieldPath
  7874. is written in terms of, defaults to "v1".
  7875. type: string
  7876. fieldPath:
  7877. description: Path of the field to select in
  7878. the specified API version.
  7879. type: string
  7880. required:
  7881. - fieldPath
  7882. type: object
  7883. x-kubernetes-map-type: atomic
  7884. resourceFieldRef:
  7885. description: 'Selects a resource of the container:
  7886. only resources limits and requests (limits.cpu,
  7887. limits.memory, limits.ephemeral-storage, requests.cpu,
  7888. requests.memory and requests.ephemeral-storage)
  7889. are currently supported.'
  7890. properties:
  7891. containerName:
  7892. description: 'Container name: required for
  7893. volumes, optional for env vars'
  7894. type: string
  7895. divisor:
  7896. anyOf:
  7897. - type: integer
  7898. - type: string
  7899. description: Specifies the output format of
  7900. the exposed resources, defaults to "1"
  7901. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7902. x-kubernetes-int-or-string: true
  7903. resource:
  7904. description: 'Required: resource to select'
  7905. type: string
  7906. required:
  7907. - resource
  7908. type: object
  7909. x-kubernetes-map-type: atomic
  7910. secretKeyRef:
  7911. description: Selects a key of a secret in the
  7912. pod's namespace
  7913. properties:
  7914. key:
  7915. description: The key of the secret to select
  7916. from. Must be a valid secret key.
  7917. type: string
  7918. name:
  7919. description: 'Name of the referent. More info:
  7920. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7921. TODO: Add other useful fields. apiVersion,
  7922. kind, uid?'
  7923. type: string
  7924. optional:
  7925. description: Specify whether the Secret or
  7926. its key must be defined
  7927. type: boolean
  7928. required:
  7929. - key
  7930. type: object
  7931. x-kubernetes-map-type: atomic
  7932. type: object
  7933. required:
  7934. - name
  7935. type: object
  7936. type: array
  7937. envFrom:
  7938. description: List of sources to populate environment variables
  7939. in the container. The keys defined within a source must
  7940. be a C_IDENTIFIER. All invalid keys will be reported as
  7941. an event when the container is starting. When a key exists
  7942. in multiple sources, the value associated with the last
  7943. source will take precedence. Values defined by an Env
  7944. with a duplicate key will take precedence. Cannot be updated.
  7945. items:
  7946. description: EnvFromSource represents the source of a
  7947. set of ConfigMaps
  7948. properties:
  7949. configMapRef:
  7950. description: The ConfigMap to select from
  7951. properties:
  7952. name:
  7953. description: 'Name of the referent. More info:
  7954. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7955. TODO: Add other useful fields. apiVersion, kind,
  7956. uid?'
  7957. type: string
  7958. optional:
  7959. description: Specify whether the ConfigMap must
  7960. be defined
  7961. type: boolean
  7962. type: object
  7963. x-kubernetes-map-type: atomic
  7964. prefix:
  7965. description: An optional identifier to prepend to
  7966. each key in the ConfigMap. Must be a C_IDENTIFIER.
  7967. type: string
  7968. secretRef:
  7969. description: The Secret to select from
  7970. properties:
  7971. name:
  7972. description: 'Name of the referent. More info:
  7973. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7974. TODO: Add other useful fields. apiVersion, kind,
  7975. uid?'
  7976. type: string
  7977. optional:
  7978. description: Specify whether the Secret must be
  7979. defined
  7980. type: boolean
  7981. type: object
  7982. x-kubernetes-map-type: atomic
  7983. type: object
  7984. type: array
  7985. image:
  7986. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  7987. This field is optional to allow higher level config management
  7988. to default or override container images in workload controllers
  7989. like Deployments and StatefulSets.'
  7990. type: string
  7991. imagePullPolicy:
  7992. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  7993. Defaults to Always if :latest tag is specified, or IfNotPresent
  7994. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  7995. type: string
  7996. lifecycle:
  7997. description: Actions that the management system should take
  7998. in response to container lifecycle events. Cannot be updated.
  7999. properties:
  8000. postStart:
  8001. description: 'PostStart is called immediately after
  8002. a container is created. If the handler fails, the
  8003. container is terminated and restarted according to
  8004. its restart policy. Other management of the container
  8005. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  8006. properties:
  8007. exec:
  8008. description: Exec specifies the action to take.
  8009. properties:
  8010. command:
  8011. description: Command is the command line to
  8012. execute inside the container, the working
  8013. directory for the command is root ('/') in
  8014. the container's filesystem. The command is
  8015. simply exec'd, it is not run inside a shell,
  8016. so traditional shell instructions ('|', etc)
  8017. won't work. To use a shell, you need to explicitly
  8018. call out to that shell. Exit status of 0 is
  8019. treated as live/healthy and non-zero is unhealthy.
  8020. items:
  8021. type: string
  8022. type: array
  8023. type: object
  8024. httpGet:
  8025. description: HTTPGet specifies the http request
  8026. to perform.
  8027. properties:
  8028. host:
  8029. description: Host name to connect to, defaults
  8030. to the pod IP. You probably want to set "Host"
  8031. in httpHeaders instead.
  8032. type: string
  8033. httpHeaders:
  8034. description: Custom headers to set in the request.
  8035. HTTP allows repeated headers.
  8036. items:
  8037. description: HTTPHeader describes a custom
  8038. header to be used in HTTP probes
  8039. properties:
  8040. name:
  8041. description: The header field name
  8042. type: string
  8043. value:
  8044. description: The header field value
  8045. type: string
  8046. required:
  8047. - name
  8048. - value
  8049. type: object
  8050. type: array
  8051. path:
  8052. description: Path to access on the HTTP server.
  8053. type: string
  8054. port:
  8055. anyOf:
  8056. - type: integer
  8057. - type: string
  8058. description: Name or number of the port to access
  8059. on the container. Number must be in the range
  8060. 1 to 65535. Name must be an IANA_SVC_NAME.
  8061. x-kubernetes-int-or-string: true
  8062. scheme:
  8063. description: Scheme to use for connecting to
  8064. the host. Defaults to HTTP.
  8065. type: string
  8066. required:
  8067. - port
  8068. type: object
  8069. tcpSocket:
  8070. description: Deprecated. TCPSocket is NOT supported
  8071. as a LifecycleHandler and kept for the backward
  8072. compatibility. There are no validation of this
  8073. field and lifecycle hooks will fail in runtime
  8074. when tcp handler is specified.
  8075. properties:
  8076. host:
  8077. description: 'Optional: Host name to connect
  8078. to, defaults to the pod IP.'
  8079. type: string
  8080. port:
  8081. anyOf:
  8082. - type: integer
  8083. - type: string
  8084. description: Number or name of the port to access
  8085. on the container. Number must be in the range
  8086. 1 to 65535. Name must be an IANA_SVC_NAME.
  8087. x-kubernetes-int-or-string: true
  8088. required:
  8089. - port
  8090. type: object
  8091. type: object
  8092. preStop:
  8093. description: 'PreStop is called immediately before a
  8094. container is terminated due to an API request or management
  8095. event such as liveness/startup probe failure, preemption,
  8096. resource contention, etc. The handler is not called
  8097. if the container crashes or exits. The Pod''s termination
  8098. grace period countdown begins before the PreStop hook
  8099. is executed. Regardless of the outcome of the handler,
  8100. the container will eventually terminate within the
  8101. Pod''s termination grace period (unless delayed by
  8102. finalizers). Other management of the container blocks
  8103. until the hook completes or until the termination
  8104. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  8105. properties:
  8106. exec:
  8107. description: Exec specifies the action to take.
  8108. properties:
  8109. command:
  8110. description: Command is the command line to
  8111. execute inside the container, the working
  8112. directory for the command is root ('/') in
  8113. the container's filesystem. The command is
  8114. simply exec'd, it is not run inside a shell,
  8115. so traditional shell instructions ('|', etc)
  8116. won't work. To use a shell, you need to explicitly
  8117. call out to that shell. Exit status of 0 is
  8118. treated as live/healthy and non-zero is unhealthy.
  8119. items:
  8120. type: string
  8121. type: array
  8122. type: object
  8123. httpGet:
  8124. description: HTTPGet specifies the http request
  8125. to perform.
  8126. properties:
  8127. host:
  8128. description: Host name to connect to, defaults
  8129. to the pod IP. You probably want to set "Host"
  8130. in httpHeaders instead.
  8131. type: string
  8132. httpHeaders:
  8133. description: Custom headers to set in the request.
  8134. HTTP allows repeated headers.
  8135. items:
  8136. description: HTTPHeader describes a custom
  8137. header to be used in HTTP probes
  8138. properties:
  8139. name:
  8140. description: The header field name
  8141. type: string
  8142. value:
  8143. description: The header field value
  8144. type: string
  8145. required:
  8146. - name
  8147. - value
  8148. type: object
  8149. type: array
  8150. path:
  8151. description: Path to access on the HTTP server.
  8152. type: string
  8153. port:
  8154. anyOf:
  8155. - type: integer
  8156. - type: string
  8157. description: Name or number of the port to access
  8158. on the container. Number must be in the range
  8159. 1 to 65535. Name must be an IANA_SVC_NAME.
  8160. x-kubernetes-int-or-string: true
  8161. scheme:
  8162. description: Scheme to use for connecting to
  8163. the host. Defaults to HTTP.
  8164. type: string
  8165. required:
  8166. - port
  8167. type: object
  8168. tcpSocket:
  8169. description: Deprecated. TCPSocket is NOT supported
  8170. as a LifecycleHandler and kept for the backward
  8171. compatibility. There are no validation of this
  8172. field and lifecycle hooks will fail in runtime
  8173. when tcp handler is specified.
  8174. properties:
  8175. host:
  8176. description: 'Optional: Host name to connect
  8177. to, defaults to the pod IP.'
  8178. type: string
  8179. port:
  8180. anyOf:
  8181. - type: integer
  8182. - type: string
  8183. description: Number or name of the port to access
  8184. on the container. Number must be in the range
  8185. 1 to 65535. Name must be an IANA_SVC_NAME.
  8186. x-kubernetes-int-or-string: true
  8187. required:
  8188. - port
  8189. type: object
  8190. type: object
  8191. type: object
  8192. livenessProbe:
  8193. description: 'Periodic probe of container liveness. Container
  8194. will be restarted if the probe fails. Cannot be updated.
  8195. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8196. properties:
  8197. exec:
  8198. description: Exec specifies the action to take.
  8199. properties:
  8200. command:
  8201. description: Command is the command line to execute
  8202. inside the container, the working directory for
  8203. the command is root ('/') in the container's
  8204. filesystem. The command is simply exec'd, it is
  8205. not run inside a shell, so traditional shell instructions
  8206. ('|', etc) won't work. To use a shell, you need
  8207. to explicitly call out to that shell. Exit status
  8208. of 0 is treated as live/healthy and non-zero is
  8209. unhealthy.
  8210. items:
  8211. type: string
  8212. type: array
  8213. type: object
  8214. failureThreshold:
  8215. description: Minimum consecutive failures for the probe
  8216. to be considered failed after having succeeded. Defaults
  8217. to 3. Minimum value is 1.
  8218. format: int32
  8219. type: integer
  8220. grpc:
  8221. description: GRPC specifies an action involving a GRPC
  8222. port. This is a beta field and requires enabling GRPCContainerProbe
  8223. feature gate.
  8224. properties:
  8225. port:
  8226. description: Port number of the gRPC service. Number
  8227. must be in the range 1 to 65535.
  8228. format: int32
  8229. type: integer
  8230. service:
  8231. description: "Service is the name of the service
  8232. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  8233. \n If this is not specified, the default behavior
  8234. is defined by gRPC."
  8235. type: string
  8236. required:
  8237. - port
  8238. type: object
  8239. httpGet:
  8240. description: HTTPGet specifies the http request to perform.
  8241. properties:
  8242. host:
  8243. description: Host name to connect to, defaults to
  8244. the pod IP. You probably want to set "Host" in
  8245. httpHeaders instead.
  8246. type: string
  8247. httpHeaders:
  8248. description: Custom headers to set in the request.
  8249. HTTP allows repeated headers.
  8250. items:
  8251. description: HTTPHeader describes a custom header
  8252. to be used in HTTP probes
  8253. properties:
  8254. name:
  8255. description: The header field name
  8256. type: string
  8257. value:
  8258. description: The header field value
  8259. type: string
  8260. required:
  8261. - name
  8262. - value
  8263. type: object
  8264. type: array
  8265. path:
  8266. description: Path to access on the HTTP server.
  8267. type: string
  8268. port:
  8269. anyOf:
  8270. - type: integer
  8271. - type: string
  8272. description: Name or number of the port to access
  8273. on the container. Number must be in the range
  8274. 1 to 65535. Name must be an IANA_SVC_NAME.
  8275. x-kubernetes-int-or-string: true
  8276. scheme:
  8277. description: Scheme to use for connecting to the
  8278. host. Defaults to HTTP.
  8279. type: string
  8280. required:
  8281. - port
  8282. type: object
  8283. initialDelaySeconds:
  8284. description: 'Number of seconds after the container
  8285. has started before liveness probes are initiated.
  8286. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8287. format: int32
  8288. type: integer
  8289. periodSeconds:
  8290. description: How often (in seconds) to perform the probe.
  8291. Default to 10 seconds. Minimum value is 1.
  8292. format: int32
  8293. type: integer
  8294. successThreshold:
  8295. description: Minimum consecutive successes for the probe
  8296. to be considered successful after having failed. Defaults
  8297. to 1. Must be 1 for liveness and startup. Minimum
  8298. value is 1.
  8299. format: int32
  8300. type: integer
  8301. tcpSocket:
  8302. description: TCPSocket specifies an action involving
  8303. a TCP port.
  8304. properties:
  8305. host:
  8306. description: 'Optional: Host name to connect to,
  8307. defaults to the pod IP.'
  8308. type: string
  8309. port:
  8310. anyOf:
  8311. - type: integer
  8312. - type: string
  8313. description: Number or name of the port to access
  8314. on the container. Number must be in the range
  8315. 1 to 65535. Name must be an IANA_SVC_NAME.
  8316. x-kubernetes-int-or-string: true
  8317. required:
  8318. - port
  8319. type: object
  8320. terminationGracePeriodSeconds:
  8321. description: Optional duration in seconds the pod needs
  8322. to terminate gracefully upon probe failure. The grace
  8323. period is the duration in seconds after the processes
  8324. running in the pod are sent a termination signal and
  8325. the time when the processes are forcibly halted with
  8326. a kill signal. Set this value longer than the expected
  8327. cleanup time for your process. If this value is nil,
  8328. the pod's terminationGracePeriodSeconds will be used.
  8329. Otherwise, this value overrides the value provided
  8330. by the pod spec. Value must be non-negative integer.
  8331. The value zero indicates stop immediately via the
  8332. kill signal (no opportunity to shut down). This is
  8333. a beta field and requires enabling ProbeTerminationGracePeriod
  8334. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  8335. is used if unset.
  8336. format: int64
  8337. type: integer
  8338. timeoutSeconds:
  8339. description: 'Number of seconds after which the probe
  8340. times out. Defaults to 1 second. Minimum value is
  8341. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8342. format: int32
  8343. type: integer
  8344. type: object
  8345. name:
  8346. description: Name of the container specified as a DNS_LABEL.
  8347. Each container in a pod must have a unique name (DNS_LABEL).
  8348. Cannot be updated.
  8349. type: string
  8350. ports:
  8351. description: List of ports to expose from the container.
  8352. Exposing a port here gives the system additional information
  8353. about the network connections a container uses, but is
  8354. primarily informational. Not specifying a port here DOES
  8355. NOT prevent that port from being exposed. Any port which
  8356. is listening on the default "0.0.0.0" address inside a
  8357. container will be accessible from the network. Cannot
  8358. be updated.
  8359. items:
  8360. description: ContainerPort represents a network port in
  8361. a single container.
  8362. properties:
  8363. containerPort:
  8364. description: Number of port to expose on the pod's
  8365. IP address. This must be a valid port number, 0
  8366. < x < 65536.
  8367. format: int32
  8368. type: integer
  8369. hostIP:
  8370. description: What host IP to bind the external port
  8371. to.
  8372. type: string
  8373. hostPort:
  8374. description: Number of port to expose on the host.
  8375. If specified, this must be a valid port number,
  8376. 0 < x < 65536. If HostNetwork is specified, this
  8377. must match ContainerPort. Most containers do not
  8378. need this.
  8379. format: int32
  8380. type: integer
  8381. name:
  8382. description: If specified, this must be an IANA_SVC_NAME
  8383. and unique within the pod. Each named port in a
  8384. pod must have a unique name. Name for the port that
  8385. can be referred to by services.
  8386. type: string
  8387. protocol:
  8388. default: TCP
  8389. description: Protocol for port. Must be UDP, TCP,
  8390. or SCTP. Defaults to "TCP".
  8391. type: string
  8392. required:
  8393. - containerPort
  8394. type: object
  8395. type: array
  8396. x-kubernetes-list-map-keys:
  8397. - containerPort
  8398. - protocol
  8399. x-kubernetes-list-type: map
  8400. readinessProbe:
  8401. description: 'Periodic probe of container service readiness.
  8402. Container will be removed from service endpoints if the
  8403. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8404. properties:
  8405. exec:
  8406. description: Exec specifies the action to take.
  8407. properties:
  8408. command:
  8409. description: Command is the command line to execute
  8410. inside the container, the working directory for
  8411. the command is root ('/') in the container's
  8412. filesystem. The command is simply exec'd, it is
  8413. not run inside a shell, so traditional shell instructions
  8414. ('|', etc) won't work. To use a shell, you need
  8415. to explicitly call out to that shell. Exit status
  8416. of 0 is treated as live/healthy and non-zero is
  8417. unhealthy.
  8418. items:
  8419. type: string
  8420. type: array
  8421. type: object
  8422. failureThreshold:
  8423. description: Minimum consecutive failures for the probe
  8424. to be considered failed after having succeeded. Defaults
  8425. to 3. Minimum value is 1.
  8426. format: int32
  8427. type: integer
  8428. grpc:
  8429. description: GRPC specifies an action involving a GRPC
  8430. port. This is a beta field and requires enabling GRPCContainerProbe
  8431. feature gate.
  8432. properties:
  8433. port:
  8434. description: Port number of the gRPC service. Number
  8435. must be in the range 1 to 65535.
  8436. format: int32
  8437. type: integer
  8438. service:
  8439. description: "Service is the name of the service
  8440. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  8441. \n If this is not specified, the default behavior
  8442. is defined by gRPC."
  8443. type: string
  8444. required:
  8445. - port
  8446. type: object
  8447. httpGet:
  8448. description: HTTPGet specifies the http request to perform.
  8449. properties:
  8450. host:
  8451. description: Host name to connect to, defaults to
  8452. the pod IP. You probably want to set "Host" in
  8453. httpHeaders instead.
  8454. type: string
  8455. httpHeaders:
  8456. description: Custom headers to set in the request.
  8457. HTTP allows repeated headers.
  8458. items:
  8459. description: HTTPHeader describes a custom header
  8460. to be used in HTTP probes
  8461. properties:
  8462. name:
  8463. description: The header field name
  8464. type: string
  8465. value:
  8466. description: The header field value
  8467. type: string
  8468. required:
  8469. - name
  8470. - value
  8471. type: object
  8472. type: array
  8473. path:
  8474. description: Path to access on the HTTP server.
  8475. type: string
  8476. port:
  8477. anyOf:
  8478. - type: integer
  8479. - type: string
  8480. description: Name or number of the port to access
  8481. on the container. Number must be in the range
  8482. 1 to 65535. Name must be an IANA_SVC_NAME.
  8483. x-kubernetes-int-or-string: true
  8484. scheme:
  8485. description: Scheme to use for connecting to the
  8486. host. Defaults to HTTP.
  8487. type: string
  8488. required:
  8489. - port
  8490. type: object
  8491. initialDelaySeconds:
  8492. description: 'Number of seconds after the container
  8493. has started before liveness probes are initiated.
  8494. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8495. format: int32
  8496. type: integer
  8497. periodSeconds:
  8498. description: How often (in seconds) to perform the probe.
  8499. Default to 10 seconds. Minimum value is 1.
  8500. format: int32
  8501. type: integer
  8502. successThreshold:
  8503. description: Minimum consecutive successes for the probe
  8504. to be considered successful after having failed. Defaults
  8505. to 1. Must be 1 for liveness and startup. Minimum
  8506. value is 1.
  8507. format: int32
  8508. type: integer
  8509. tcpSocket:
  8510. description: TCPSocket specifies an action involving
  8511. a TCP port.
  8512. properties:
  8513. host:
  8514. description: 'Optional: Host name to connect to,
  8515. defaults to the pod IP.'
  8516. type: string
  8517. port:
  8518. anyOf:
  8519. - type: integer
  8520. - type: string
  8521. description: Number or name of the port to access
  8522. on the container. Number must be in the range
  8523. 1 to 65535. Name must be an IANA_SVC_NAME.
  8524. x-kubernetes-int-or-string: true
  8525. required:
  8526. - port
  8527. type: object
  8528. terminationGracePeriodSeconds:
  8529. description: Optional duration in seconds the pod needs
  8530. to terminate gracefully upon probe failure. The grace
  8531. period is the duration in seconds after the processes
  8532. running in the pod are sent a termination signal and
  8533. the time when the processes are forcibly halted with
  8534. a kill signal. Set this value longer than the expected
  8535. cleanup time for your process. If this value is nil,
  8536. the pod's terminationGracePeriodSeconds will be used.
  8537. Otherwise, this value overrides the value provided
  8538. by the pod spec. Value must be non-negative integer.
  8539. The value zero indicates stop immediately via the
  8540. kill signal (no opportunity to shut down). This is
  8541. a beta field and requires enabling ProbeTerminationGracePeriod
  8542. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  8543. is used if unset.
  8544. format: int64
  8545. type: integer
  8546. timeoutSeconds:
  8547. description: 'Number of seconds after which the probe
  8548. times out. Defaults to 1 second. Minimum value is
  8549. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8550. format: int32
  8551. type: integer
  8552. type: object
  8553. resources:
  8554. description: 'Compute Resources required by this container.
  8555. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8556. properties:
  8557. limits:
  8558. additionalProperties:
  8559. anyOf:
  8560. - type: integer
  8561. - type: string
  8562. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8563. x-kubernetes-int-or-string: true
  8564. description: 'Limits describes the maximum amount of
  8565. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8566. type: object
  8567. requests:
  8568. additionalProperties:
  8569. anyOf:
  8570. - type: integer
  8571. - type: string
  8572. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8573. x-kubernetes-int-or-string: true
  8574. description: 'Requests describes the minimum amount
  8575. of compute resources required. If Requests is omitted
  8576. for a container, it defaults to Limits if that is
  8577. explicitly specified, otherwise to an implementation-defined
  8578. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8579. type: object
  8580. type: object
  8581. securityContext:
  8582. description: 'SecurityContext defines the security options
  8583. the container should be run with. If set, the fields of
  8584. SecurityContext override the equivalent fields of PodSecurityContext.
  8585. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  8586. properties:
  8587. allowPrivilegeEscalation:
  8588. description: 'AllowPrivilegeEscalation controls whether
  8589. a process can gain more privileges than its parent
  8590. process. This bool directly controls if the no_new_privs
  8591. flag will be set on the container process. AllowPrivilegeEscalation
  8592. is true always when the container is: 1) run as Privileged
  8593. 2) has CAP_SYS_ADMIN Note that this field cannot be
  8594. set when spec.os.name is windows.'
  8595. type: boolean
  8596. capabilities:
  8597. description: The capabilities to add/drop when running
  8598. containers. Defaults to the default set of capabilities
  8599. granted by the container runtime. Note that this field
  8600. cannot be set when spec.os.name is windows.
  8601. properties:
  8602. add:
  8603. description: Added capabilities
  8604. items:
  8605. description: Capability represent POSIX capabilities
  8606. type
  8607. type: string
  8608. type: array
  8609. drop:
  8610. description: Removed capabilities
  8611. items:
  8612. description: Capability represent POSIX capabilities
  8613. type
  8614. type: string
  8615. type: array
  8616. type: object
  8617. privileged:
  8618. description: Run container in privileged mode. Processes
  8619. in privileged containers are essentially equivalent
  8620. to root on the host. Defaults to false. Note that
  8621. this field cannot be set when spec.os.name is windows.
  8622. type: boolean
  8623. procMount:
  8624. description: procMount denotes the type of proc mount
  8625. to use for the containers. The default is DefaultProcMount
  8626. which uses the container runtime defaults for readonly
  8627. paths and masked paths. This requires the ProcMountType
  8628. feature flag to be enabled. Note that this field cannot
  8629. be set when spec.os.name is windows.
  8630. type: string
  8631. readOnlyRootFilesystem:
  8632. description: Whether this container has a read-only
  8633. root filesystem. Default is false. Note that this
  8634. field cannot be set when spec.os.name is windows.
  8635. type: boolean
  8636. runAsGroup:
  8637. description: The GID to run the entrypoint of the container
  8638. process. Uses runtime default if unset. May also be
  8639. set in PodSecurityContext. If set in both SecurityContext
  8640. and PodSecurityContext, the value specified in SecurityContext
  8641. takes precedence. Note that this field cannot be set
  8642. when spec.os.name is windows.
  8643. format: int64
  8644. type: integer
  8645. runAsNonRoot:
  8646. description: Indicates that the container must run as
  8647. a non-root user. If true, the Kubelet will validate
  8648. the image at runtime to ensure that it does not run
  8649. as UID 0 (root) and fail to start the container if
  8650. it does. If unset or false, no such validation will
  8651. be performed. May also be set in PodSecurityContext. If
  8652. set in both SecurityContext and PodSecurityContext,
  8653. the value specified in SecurityContext takes precedence.
  8654. type: boolean
  8655. runAsUser:
  8656. description: The UID to run the entrypoint of the container
  8657. process. Defaults to user specified in image metadata
  8658. if unspecified. May also be set in PodSecurityContext. If
  8659. set in both SecurityContext and PodSecurityContext,
  8660. the value specified in SecurityContext takes precedence.
  8661. Note that this field cannot be set when spec.os.name
  8662. is windows.
  8663. format: int64
  8664. type: integer
  8665. seLinuxOptions:
  8666. description: The SELinux context to be applied to the
  8667. container. If unspecified, the container runtime will
  8668. allocate a random SELinux context for each container. May
  8669. also be set in PodSecurityContext. If set in both
  8670. SecurityContext and PodSecurityContext, the value
  8671. specified in SecurityContext takes precedence. Note
  8672. that this field cannot be set when spec.os.name is
  8673. windows.
  8674. properties:
  8675. level:
  8676. description: Level is SELinux level label that applies
  8677. to the container.
  8678. type: string
  8679. role:
  8680. description: Role is a SELinux role label that applies
  8681. to the container.
  8682. type: string
  8683. type:
  8684. description: Type is a SELinux type label that applies
  8685. to the container.
  8686. type: string
  8687. user:
  8688. description: User is a SELinux user label that applies
  8689. to the container.
  8690. type: string
  8691. type: object
  8692. seccompProfile:
  8693. description: The seccomp options to use by this container.
  8694. If seccomp options are provided at both the pod &
  8695. container level, the container options override the
  8696. pod options. Note that this field cannot be set when
  8697. spec.os.name is windows.
  8698. properties:
  8699. localhostProfile:
  8700. description: localhostProfile indicates a profile
  8701. defined in a file on the node should be used.
  8702. The profile must be preconfigured on the node
  8703. to work. Must be a descending path, relative to
  8704. the kubelet's configured seccomp profile location.
  8705. Must only be set if type is "Localhost".
  8706. type: string
  8707. type:
  8708. description: "type indicates which kind of seccomp
  8709. profile will be applied. Valid options are: \n
  8710. Localhost - a profile defined in a file on the
  8711. node should be used. RuntimeDefault - the container
  8712. runtime default profile should be used. Unconfined
  8713. - no profile should be applied."
  8714. type: string
  8715. required:
  8716. - type
  8717. type: object
  8718. windowsOptions:
  8719. description: The Windows specific settings applied to
  8720. all containers. If unspecified, the options from the
  8721. PodSecurityContext will be used. If set in both SecurityContext
  8722. and PodSecurityContext, the value specified in SecurityContext
  8723. takes precedence. Note that this field cannot be set
  8724. when spec.os.name is linux.
  8725. properties:
  8726. gmsaCredentialSpec:
  8727. description: GMSACredentialSpec is where the GMSA
  8728. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  8729. inlines the contents of the GMSA credential spec
  8730. named by the GMSACredentialSpecName field.
  8731. type: string
  8732. gmsaCredentialSpecName:
  8733. description: GMSACredentialSpecName is the name
  8734. of the GMSA credential spec to use.
  8735. type: string
  8736. hostProcess:
  8737. description: HostProcess determines if a container
  8738. should be run as a 'Host Process' container. This
  8739. field is alpha-level and will only be honored
  8740. by components that enable the WindowsHostProcessContainers
  8741. feature flag. Setting this field without the feature
  8742. flag will result in errors when validating the
  8743. Pod. All of a Pod's containers must have the same
  8744. effective HostProcess value (it is not allowed
  8745. to have a mix of HostProcess containers and non-HostProcess
  8746. containers). In addition, if HostProcess is true
  8747. then HostNetwork must also be set to true.
  8748. type: boolean
  8749. runAsUserName:
  8750. description: The UserName in Windows to run the
  8751. entrypoint of the container process. Defaults
  8752. to the user specified in image metadata if unspecified.
  8753. May also be set in PodSecurityContext. If set
  8754. in both SecurityContext and PodSecurityContext,
  8755. the value specified in SecurityContext takes precedence.
  8756. type: string
  8757. type: object
  8758. type: object
  8759. startupProbe:
  8760. description: 'StartupProbe indicates that the Pod has successfully
  8761. initialized. If specified, no other probes are executed
  8762. until this completes successfully. If this probe fails,
  8763. the Pod will be restarted, just as if the livenessProbe
  8764. failed. This can be used to provide different probe parameters
  8765. at the beginning of a Pod''s lifecycle, when it might
  8766. take a long time to load data or warm a cache, than during
  8767. steady-state operation. This cannot be updated. More info:
  8768. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8769. properties:
  8770. exec:
  8771. description: Exec specifies the action to take.
  8772. properties:
  8773. command:
  8774. description: Command is the command line to execute
  8775. inside the container, the working directory for
  8776. the command is root ('/') in the container's
  8777. filesystem. The command is simply exec'd, it is
  8778. not run inside a shell, so traditional shell instructions
  8779. ('|', etc) won't work. To use a shell, you need
  8780. to explicitly call out to that shell. Exit status
  8781. of 0 is treated as live/healthy and non-zero is
  8782. unhealthy.
  8783. items:
  8784. type: string
  8785. type: array
  8786. type: object
  8787. failureThreshold:
  8788. description: Minimum consecutive failures for the probe
  8789. to be considered failed after having succeeded. Defaults
  8790. to 3. Minimum value is 1.
  8791. format: int32
  8792. type: integer
  8793. grpc:
  8794. description: GRPC specifies an action involving a GRPC
  8795. port. This is a beta field and requires enabling GRPCContainerProbe
  8796. feature gate.
  8797. properties:
  8798. port:
  8799. description: Port number of the gRPC service. Number
  8800. must be in the range 1 to 65535.
  8801. format: int32
  8802. type: integer
  8803. service:
  8804. description: "Service is the name of the service
  8805. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  8806. \n If this is not specified, the default behavior
  8807. is defined by gRPC."
  8808. type: string
  8809. required:
  8810. - port
  8811. type: object
  8812. httpGet:
  8813. description: HTTPGet specifies the http request to perform.
  8814. properties:
  8815. host:
  8816. description: Host name to connect to, defaults to
  8817. the pod IP. You probably want to set "Host" in
  8818. httpHeaders instead.
  8819. type: string
  8820. httpHeaders:
  8821. description: Custom headers to set in the request.
  8822. HTTP allows repeated headers.
  8823. items:
  8824. description: HTTPHeader describes a custom header
  8825. to be used in HTTP probes
  8826. properties:
  8827. name:
  8828. description: The header field name
  8829. type: string
  8830. value:
  8831. description: The header field value
  8832. type: string
  8833. required:
  8834. - name
  8835. - value
  8836. type: object
  8837. type: array
  8838. path:
  8839. description: Path to access on the HTTP server.
  8840. type: string
  8841. port:
  8842. anyOf:
  8843. - type: integer
  8844. - type: string
  8845. description: Name or number of the port to access
  8846. on the container. Number must be in the range
  8847. 1 to 65535. Name must be an IANA_SVC_NAME.
  8848. x-kubernetes-int-or-string: true
  8849. scheme:
  8850. description: Scheme to use for connecting to the
  8851. host. Defaults to HTTP.
  8852. type: string
  8853. required:
  8854. - port
  8855. type: object
  8856. initialDelaySeconds:
  8857. description: 'Number of seconds after the container
  8858. has started before liveness probes are initiated.
  8859. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8860. format: int32
  8861. type: integer
  8862. periodSeconds:
  8863. description: How often (in seconds) to perform the probe.
  8864. Default to 10 seconds. Minimum value is 1.
  8865. format: int32
  8866. type: integer
  8867. successThreshold:
  8868. description: Minimum consecutive successes for the probe
  8869. to be considered successful after having failed. Defaults
  8870. to 1. Must be 1 for liveness and startup. Minimum
  8871. value is 1.
  8872. format: int32
  8873. type: integer
  8874. tcpSocket:
  8875. description: TCPSocket specifies an action involving
  8876. a TCP port.
  8877. properties:
  8878. host:
  8879. description: 'Optional: Host name to connect to,
  8880. defaults to the pod IP.'
  8881. type: string
  8882. port:
  8883. anyOf:
  8884. - type: integer
  8885. - type: string
  8886. description: Number or name of the port to access
  8887. on the container. Number must be in the range
  8888. 1 to 65535. Name must be an IANA_SVC_NAME.
  8889. x-kubernetes-int-or-string: true
  8890. required:
  8891. - port
  8892. type: object
  8893. terminationGracePeriodSeconds:
  8894. description: Optional duration in seconds the pod needs
  8895. to terminate gracefully upon probe failure. The grace
  8896. period is the duration in seconds after the processes
  8897. running in the pod are sent a termination signal and
  8898. the time when the processes are forcibly halted with
  8899. a kill signal. Set this value longer than the expected
  8900. cleanup time for your process. If this value is nil,
  8901. the pod's terminationGracePeriodSeconds will be used.
  8902. Otherwise, this value overrides the value provided
  8903. by the pod spec. Value must be non-negative integer.
  8904. The value zero indicates stop immediately via the
  8905. kill signal (no opportunity to shut down). This is
  8906. a beta field and requires enabling ProbeTerminationGracePeriod
  8907. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  8908. is used if unset.
  8909. format: int64
  8910. type: integer
  8911. timeoutSeconds:
  8912. description: 'Number of seconds after which the probe
  8913. times out. Defaults to 1 second. Minimum value is
  8914. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8915. format: int32
  8916. type: integer
  8917. type: object
  8918. stdin:
  8919. description: Whether this container should allocate a buffer
  8920. for stdin in the container runtime. If this is not set,
  8921. reads from stdin in the container will always result in
  8922. EOF. Default is false.
  8923. type: boolean
  8924. stdinOnce:
  8925. description: Whether the container runtime should close
  8926. the stdin channel after it has been opened by a single
  8927. attach. When stdin is true the stdin stream will remain
  8928. open across multiple attach sessions. If stdinOnce is
  8929. set to true, stdin is opened on container start, is empty
  8930. until the first client attaches to stdin, and then remains
  8931. open and accepts data until the client disconnects, at
  8932. which time stdin is closed and remains closed until the
  8933. container is restarted. If this flag is false, a container
  8934. processes that reads from stdin will never receive an
  8935. EOF. Default is false
  8936. type: boolean
  8937. terminationMessagePath:
  8938. description: 'Optional: Path at which the file to which
  8939. the container''s termination message will be written is
  8940. mounted into the container''s filesystem. Message written
  8941. is intended to be brief final status, such as an assertion
  8942. failure message. Will be truncated by the node if greater
  8943. than 4096 bytes. The total message length across all containers
  8944. will be limited to 12kb. Defaults to /dev/termination-log.
  8945. Cannot be updated.'
  8946. type: string
  8947. terminationMessagePolicy:
  8948. description: Indicate how the termination message should
  8949. be populated. File will use the contents of terminationMessagePath
  8950. to populate the container status message on both success
  8951. and failure. FallbackToLogsOnError will use the last chunk
  8952. of container log output if the termination message file
  8953. is empty and the container exited with an error. The log
  8954. output is limited to 2048 bytes or 80 lines, whichever
  8955. is smaller. Defaults to File. Cannot be updated.
  8956. type: string
  8957. tty:
  8958. description: Whether this container should allocate a TTY
  8959. for itself, also requires 'stdin' to be true. Default
  8960. is false.
  8961. type: boolean
  8962. volumeDevices:
  8963. description: volumeDevices is the list of block devices
  8964. to be used by the container.
  8965. items:
  8966. description: volumeDevice describes a mapping of a raw
  8967. block device within a container.
  8968. properties:
  8969. devicePath:
  8970. description: devicePath is the path inside of the
  8971. container that the device will be mapped to.
  8972. type: string
  8973. name:
  8974. description: name must match the name of a persistentVolumeClaim
  8975. in the pod
  8976. type: string
  8977. required:
  8978. - devicePath
  8979. - name
  8980. type: object
  8981. type: array
  8982. volumeMounts:
  8983. description: Pod volumes to mount into the container's filesystem.
  8984. Cannot be updated.
  8985. items:
  8986. description: VolumeMount describes a mounting of a Volume
  8987. within a container.
  8988. properties:
  8989. mountPath:
  8990. description: Path within the container at which the
  8991. volume should be mounted. Must not contain ':'.
  8992. type: string
  8993. mountPropagation:
  8994. description: mountPropagation determines how mounts
  8995. are propagated from the host to container and the
  8996. other way around. When not set, MountPropagationNone
  8997. is used. This field is beta in 1.10.
  8998. type: string
  8999. name:
  9000. description: This must match the Name of a Volume.
  9001. type: string
  9002. readOnly:
  9003. description: Mounted read-only if true, read-write
  9004. otherwise (false or unspecified). Defaults to false.
  9005. type: boolean
  9006. subPath:
  9007. description: Path within the volume from which the
  9008. container's volume should be mounted. Defaults to
  9009. "" (volume's root).
  9010. type: string
  9011. subPathExpr:
  9012. description: Expanded path within the volume from
  9013. which the container's volume should be mounted.
  9014. Behaves similarly to SubPath but environment variable
  9015. references $(VAR_NAME) are expanded using the container's
  9016. environment. Defaults to "" (volume's root). SubPathExpr
  9017. and SubPath are mutually exclusive.
  9018. type: string
  9019. required:
  9020. - mountPath
  9021. - name
  9022. type: object
  9023. type: array
  9024. workingDir:
  9025. description: Container's working directory. If not specified,
  9026. the container runtime's default will be used, which might
  9027. be configured in the container image. Cannot be updated.
  9028. type: string
  9029. required:
  9030. - name
  9031. type: object
  9032. type: array
  9033. dnsConfig:
  9034. description: Specifies the DNS parameters of a pod. Parameters
  9035. specified here will be merged to the generated DNS configuration
  9036. based on DNSPolicy.
  9037. properties:
  9038. nameservers:
  9039. description: A list of DNS name server IP addresses. This
  9040. will be appended to the base nameservers generated from
  9041. DNSPolicy. Duplicated nameservers will be removed.
  9042. items:
  9043. type: string
  9044. type: array
  9045. options:
  9046. description: A list of DNS resolver options. This will be
  9047. merged with the base options generated from DNSPolicy. Duplicated
  9048. entries will be removed. Resolution options given in Options
  9049. will override those that appear in the base DNSPolicy.
  9050. items:
  9051. description: PodDNSConfigOption defines DNS resolver options
  9052. of a pod.
  9053. properties:
  9054. name:
  9055. description: Required.
  9056. type: string
  9057. value:
  9058. type: string
  9059. type: object
  9060. type: array
  9061. searches:
  9062. description: A list of DNS search domains for host-name lookup.
  9063. This will be appended to the base search paths generated
  9064. from DNSPolicy. Duplicated search paths will be removed.
  9065. items:
  9066. type: string
  9067. type: array
  9068. type: object
  9069. dnsPolicy:
  9070. description: Set DNS policy for the pod. Defaults to "ClusterFirst".
  9071. Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst',
  9072. 'Default' or 'None'. DNS parameters given in DNSConfig will
  9073. be merged with the policy selected with DNSPolicy. To have DNS
  9074. options set along with hostNetwork, you have to specify DNS
  9075. policy explicitly to 'ClusterFirstWithHostNet'.
  9076. type: string
  9077. enableServiceLinks:
  9078. description: 'EnableServiceLinks indicates whether information
  9079. about services should be injected into pod''s environment variables,
  9080. matching the syntax of Docker links. Optional: Defaults to true.'
  9081. type: boolean
  9082. ephemeralContainers:
  9083. description: List of ephemeral containers run in this pod. Ephemeral
  9084. containers may be run in an existing pod to perform user-initiated
  9085. actions such as debugging. This list cannot be specified when
  9086. creating a pod, and it cannot be modified by updating the pod
  9087. spec. In order to add an ephemeral container to an existing
  9088. pod, use the pod's ephemeralcontainers subresource. This field
  9089. is beta-level and available on clusters that haven't disabled
  9090. the EphemeralContainers feature gate.
  9091. items:
  9092. description: "An EphemeralContainer is a temporary container
  9093. that you may add to an existing Pod for user-initiated activities
  9094. such as debugging. Ephemeral containers have no resource or
  9095. scheduling guarantees, and they will not be restarted when
  9096. they exit or when a Pod is removed or restarted. The kubelet
  9097. may evict a Pod if an ephemeral container causes the Pod to
  9098. exceed its resource allocation. \n To add an ephemeral container,
  9099. use the ephemeralcontainers subresource of an existing Pod.
  9100. Ephemeral containers may not be removed or restarted. \n This
  9101. is a beta feature available on clusters that haven't disabled
  9102. the EphemeralContainers feature gate."
  9103. properties:
  9104. args:
  9105. description: 'Arguments to the entrypoint. The image''s
  9106. CMD is used if this is not provided. Variable references
  9107. $(VAR_NAME) are expanded using the container''s environment.
  9108. If a variable cannot be resolved, the reference in the
  9109. input string will be unchanged. Double $$ are reduced
  9110. to a single $, which allows for escaping the $(VAR_NAME)
  9111. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  9112. "$(VAR_NAME)". Escaped references will never be expanded,
  9113. regardless of whether the variable exists or not. Cannot
  9114. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  9115. items:
  9116. type: string
  9117. type: array
  9118. command:
  9119. description: 'Entrypoint array. Not executed within a shell.
  9120. The image''s ENTRYPOINT is used if this is not provided.
  9121. Variable references $(VAR_NAME) are expanded using the
  9122. container''s environment. If a variable cannot be resolved,
  9123. the reference in the input string will be unchanged. Double
  9124. $$ are reduced to a single $, which allows for escaping
  9125. the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce
  9126. the string literal "$(VAR_NAME)". Escaped references will
  9127. never be expanded, regardless of whether the variable
  9128. exists 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'
  9129. items:
  9130. type: string
  9131. type: array
  9132. env:
  9133. description: List of environment variables to set in the
  9134. container. Cannot be updated.
  9135. items:
  9136. description: EnvVar represents an environment variable
  9137. present in a Container.
  9138. properties:
  9139. name:
  9140. description: Name of the environment variable. Must
  9141. be a C_IDENTIFIER.
  9142. type: string
  9143. value:
  9144. description: 'Variable references $(VAR_NAME) are
  9145. expanded using the previously defined environment
  9146. variables in the container and any service environment
  9147. variables. If a variable cannot be resolved, the
  9148. reference in the input string will be unchanged.
  9149. Double $$ are reduced to a single $, which allows
  9150. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  9151. will produce the string literal "$(VAR_NAME)". Escaped
  9152. references will never be expanded, regardless of
  9153. whether the variable exists or not. Defaults to
  9154. "".'
  9155. type: string
  9156. valueFrom:
  9157. description: Source for the environment variable's
  9158. value. Cannot be used if value is not empty.
  9159. properties:
  9160. configMapKeyRef:
  9161. description: Selects a key of a ConfigMap.
  9162. properties:
  9163. key:
  9164. description: The key to select.
  9165. type: string
  9166. name:
  9167. description: 'Name of the referent. More info:
  9168. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9169. TODO: Add other useful fields. apiVersion,
  9170. kind, uid?'
  9171. type: string
  9172. optional:
  9173. description: Specify whether the ConfigMap
  9174. or its key must be defined
  9175. type: boolean
  9176. required:
  9177. - key
  9178. type: object
  9179. x-kubernetes-map-type: atomic
  9180. fieldRef:
  9181. description: 'Selects a field of the pod: supports
  9182. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  9183. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  9184. spec.serviceAccountName, status.hostIP, status.podIP,
  9185. status.podIPs.'
  9186. properties:
  9187. apiVersion:
  9188. description: Version of the schema the FieldPath
  9189. is written in terms of, defaults to "v1".
  9190. type: string
  9191. fieldPath:
  9192. description: Path of the field to select in
  9193. the specified API version.
  9194. type: string
  9195. required:
  9196. - fieldPath
  9197. type: object
  9198. x-kubernetes-map-type: atomic
  9199. resourceFieldRef:
  9200. description: 'Selects a resource of the container:
  9201. only resources limits and requests (limits.cpu,
  9202. limits.memory, limits.ephemeral-storage, requests.cpu,
  9203. requests.memory and requests.ephemeral-storage)
  9204. are currently supported.'
  9205. properties:
  9206. containerName:
  9207. description: 'Container name: required for
  9208. volumes, optional for env vars'
  9209. type: string
  9210. divisor:
  9211. anyOf:
  9212. - type: integer
  9213. - type: string
  9214. description: Specifies the output format of
  9215. the exposed resources, defaults to "1"
  9216. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9217. x-kubernetes-int-or-string: true
  9218. resource:
  9219. description: 'Required: resource to select'
  9220. type: string
  9221. required:
  9222. - resource
  9223. type: object
  9224. x-kubernetes-map-type: atomic
  9225. secretKeyRef:
  9226. description: Selects a key of a secret in the
  9227. pod's namespace
  9228. properties:
  9229. key:
  9230. description: The key of the secret to select
  9231. from. Must be a valid secret key.
  9232. type: string
  9233. name:
  9234. description: 'Name of the referent. More info:
  9235. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9236. TODO: Add other useful fields. apiVersion,
  9237. kind, uid?'
  9238. type: string
  9239. optional:
  9240. description: Specify whether the Secret or
  9241. its key must be defined
  9242. type: boolean
  9243. required:
  9244. - key
  9245. type: object
  9246. x-kubernetes-map-type: atomic
  9247. type: object
  9248. required:
  9249. - name
  9250. type: object
  9251. type: array
  9252. envFrom:
  9253. description: List of sources to populate environment variables
  9254. in the container. The keys defined within a source must
  9255. be a C_IDENTIFIER. All invalid keys will be reported as
  9256. an event when the container is starting. When a key exists
  9257. in multiple sources, the value associated with the last
  9258. source will take precedence. Values defined by an Env
  9259. with a duplicate key will take precedence. Cannot be updated.
  9260. items:
  9261. description: EnvFromSource represents the source of a
  9262. set of ConfigMaps
  9263. properties:
  9264. configMapRef:
  9265. description: The ConfigMap to select from
  9266. properties:
  9267. name:
  9268. description: 'Name of the referent. More info:
  9269. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9270. TODO: Add other useful fields. apiVersion, kind,
  9271. uid?'
  9272. type: string
  9273. optional:
  9274. description: Specify whether the ConfigMap must
  9275. be defined
  9276. type: boolean
  9277. type: object
  9278. x-kubernetes-map-type: atomic
  9279. prefix:
  9280. description: An optional identifier to prepend to
  9281. each key in the ConfigMap. Must be a C_IDENTIFIER.
  9282. type: string
  9283. secretRef:
  9284. description: The Secret to select from
  9285. properties:
  9286. name:
  9287. description: 'Name of the referent. More info:
  9288. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9289. TODO: Add other useful fields. apiVersion, kind,
  9290. uid?'
  9291. type: string
  9292. optional:
  9293. description: Specify whether the Secret must be
  9294. defined
  9295. type: boolean
  9296. type: object
  9297. x-kubernetes-map-type: atomic
  9298. type: object
  9299. type: array
  9300. image:
  9301. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images'
  9302. type: string
  9303. imagePullPolicy:
  9304. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  9305. Defaults to Always if :latest tag is specified, or IfNotPresent
  9306. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  9307. type: string
  9308. lifecycle:
  9309. description: Lifecycle is not allowed for ephemeral containers.
  9310. properties:
  9311. postStart:
  9312. description: 'PostStart is called immediately after
  9313. a container is created. If the handler fails, the
  9314. container is terminated and restarted according to
  9315. its restart policy. Other management of the container
  9316. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  9317. properties:
  9318. exec:
  9319. description: Exec specifies the action to take.
  9320. properties:
  9321. command:
  9322. description: Command is the command line to
  9323. execute inside the container, the working
  9324. directory for the command is root ('/') in
  9325. the container's filesystem. The command is
  9326. simply exec'd, it is not run inside a shell,
  9327. so traditional shell instructions ('|', etc)
  9328. won't work. To use a shell, you need to explicitly
  9329. call out to that shell. Exit status of 0 is
  9330. treated as live/healthy and non-zero is unhealthy.
  9331. items:
  9332. type: string
  9333. type: array
  9334. type: object
  9335. httpGet:
  9336. description: HTTPGet specifies the http request
  9337. to perform.
  9338. properties:
  9339. host:
  9340. description: Host name to connect to, defaults
  9341. to the pod IP. You probably want to set "Host"
  9342. in httpHeaders instead.
  9343. type: string
  9344. httpHeaders:
  9345. description: Custom headers to set in the request.
  9346. HTTP allows repeated headers.
  9347. items:
  9348. description: HTTPHeader describes a custom
  9349. header to be used in HTTP probes
  9350. properties:
  9351. name:
  9352. description: The header field name
  9353. type: string
  9354. value:
  9355. description: The header field value
  9356. type: string
  9357. required:
  9358. - name
  9359. - value
  9360. type: object
  9361. type: array
  9362. path:
  9363. description: Path to access on the HTTP server.
  9364. type: string
  9365. port:
  9366. anyOf:
  9367. - type: integer
  9368. - type: string
  9369. description: Name or number of the port to access
  9370. on the container. Number must be in the range
  9371. 1 to 65535. Name must be an IANA_SVC_NAME.
  9372. x-kubernetes-int-or-string: true
  9373. scheme:
  9374. description: Scheme to use for connecting to
  9375. the host. Defaults to HTTP.
  9376. type: string
  9377. required:
  9378. - port
  9379. type: object
  9380. tcpSocket:
  9381. description: Deprecated. TCPSocket is NOT supported
  9382. as a LifecycleHandler and kept for the backward
  9383. compatibility. There are no validation of this
  9384. field and lifecycle hooks will fail in runtime
  9385. when tcp handler is specified.
  9386. properties:
  9387. host:
  9388. description: 'Optional: Host name to connect
  9389. to, defaults to the pod IP.'
  9390. type: string
  9391. port:
  9392. anyOf:
  9393. - type: integer
  9394. - type: string
  9395. description: Number or name of the port to access
  9396. on the container. Number must be in the range
  9397. 1 to 65535. Name must be an IANA_SVC_NAME.
  9398. x-kubernetes-int-or-string: true
  9399. required:
  9400. - port
  9401. type: object
  9402. type: object
  9403. preStop:
  9404. description: 'PreStop is called immediately before a
  9405. container is terminated due to an API request or management
  9406. event such as liveness/startup probe failure, preemption,
  9407. resource contention, etc. The handler is not called
  9408. if the container crashes or exits. The Pod''s termination
  9409. grace period countdown begins before the PreStop hook
  9410. is executed. Regardless of the outcome of the handler,
  9411. the container will eventually terminate within the
  9412. Pod''s termination grace period (unless delayed by
  9413. finalizers). Other management of the container blocks
  9414. until the hook completes or until the termination
  9415. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  9416. properties:
  9417. exec:
  9418. description: Exec specifies the action to take.
  9419. properties:
  9420. command:
  9421. description: Command is the command line to
  9422. execute inside the container, the working
  9423. directory for the command is root ('/') in
  9424. the container's filesystem. The command is
  9425. simply exec'd, it is not run inside a shell,
  9426. so traditional shell instructions ('|', etc)
  9427. won't work. To use a shell, you need to explicitly
  9428. call out to that shell. Exit status of 0 is
  9429. treated as live/healthy and non-zero is unhealthy.
  9430. items:
  9431. type: string
  9432. type: array
  9433. type: object
  9434. httpGet:
  9435. description: HTTPGet specifies the http request
  9436. to perform.
  9437. properties:
  9438. host:
  9439. description: Host name to connect to, defaults
  9440. to the pod IP. You probably want to set "Host"
  9441. in httpHeaders instead.
  9442. type: string
  9443. httpHeaders:
  9444. description: Custom headers to set in the request.
  9445. HTTP allows repeated headers.
  9446. items:
  9447. description: HTTPHeader describes a custom
  9448. header to be used in HTTP probes
  9449. properties:
  9450. name:
  9451. description: The header field name
  9452. type: string
  9453. value:
  9454. description: The header field value
  9455. type: string
  9456. required:
  9457. - name
  9458. - value
  9459. type: object
  9460. type: array
  9461. path:
  9462. description: Path to access on the HTTP server.
  9463. type: string
  9464. port:
  9465. anyOf:
  9466. - type: integer
  9467. - type: string
  9468. description: Name or number of the port to access
  9469. on the container. Number must be in the range
  9470. 1 to 65535. Name must be an IANA_SVC_NAME.
  9471. x-kubernetes-int-or-string: true
  9472. scheme:
  9473. description: Scheme to use for connecting to
  9474. the host. Defaults to HTTP.
  9475. type: string
  9476. required:
  9477. - port
  9478. type: object
  9479. tcpSocket:
  9480. description: Deprecated. TCPSocket is NOT supported
  9481. as a LifecycleHandler and kept for the backward
  9482. compatibility. There are no validation of this
  9483. field and lifecycle hooks will fail in runtime
  9484. when tcp handler is specified.
  9485. properties:
  9486. host:
  9487. description: 'Optional: Host name to connect
  9488. to, defaults to the pod IP.'
  9489. type: string
  9490. port:
  9491. anyOf:
  9492. - type: integer
  9493. - type: string
  9494. description: Number or name of the port to access
  9495. on the container. Number must be in the range
  9496. 1 to 65535. Name must be an IANA_SVC_NAME.
  9497. x-kubernetes-int-or-string: true
  9498. required:
  9499. - port
  9500. type: object
  9501. type: object
  9502. type: object
  9503. livenessProbe:
  9504. description: Probes are not allowed for ephemeral containers.
  9505. properties:
  9506. exec:
  9507. description: Exec specifies the action to take.
  9508. properties:
  9509. command:
  9510. description: Command is the command line to execute
  9511. inside the container, the working directory for
  9512. the command is root ('/') in the container's
  9513. filesystem. The command is simply exec'd, it is
  9514. not run inside a shell, so traditional shell instructions
  9515. ('|', etc) won't work. To use a shell, you need
  9516. to explicitly call out to that shell. Exit status
  9517. of 0 is treated as live/healthy and non-zero is
  9518. unhealthy.
  9519. items:
  9520. type: string
  9521. type: array
  9522. type: object
  9523. failureThreshold:
  9524. description: Minimum consecutive failures for the probe
  9525. to be considered failed after having succeeded. Defaults
  9526. to 3. Minimum value is 1.
  9527. format: int32
  9528. type: integer
  9529. grpc:
  9530. description: GRPC specifies an action involving a GRPC
  9531. port. This is a beta field and requires enabling GRPCContainerProbe
  9532. feature gate.
  9533. properties:
  9534. port:
  9535. description: Port number of the gRPC service. Number
  9536. must be in the range 1 to 65535.
  9537. format: int32
  9538. type: integer
  9539. service:
  9540. description: "Service is the name of the service
  9541. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  9542. \n If this is not specified, the default behavior
  9543. is defined by gRPC."
  9544. type: string
  9545. required:
  9546. - port
  9547. type: object
  9548. httpGet:
  9549. description: HTTPGet specifies the http request to perform.
  9550. properties:
  9551. host:
  9552. description: Host name to connect to, defaults to
  9553. the pod IP. You probably want to set "Host" in
  9554. httpHeaders instead.
  9555. type: string
  9556. httpHeaders:
  9557. description: Custom headers to set in the request.
  9558. HTTP allows repeated headers.
  9559. items:
  9560. description: HTTPHeader describes a custom header
  9561. to be used in HTTP probes
  9562. properties:
  9563. name:
  9564. description: The header field name
  9565. type: string
  9566. value:
  9567. description: The header field value
  9568. type: string
  9569. required:
  9570. - name
  9571. - value
  9572. type: object
  9573. type: array
  9574. path:
  9575. description: Path to access on the HTTP server.
  9576. type: string
  9577. port:
  9578. anyOf:
  9579. - type: integer
  9580. - type: string
  9581. description: Name or number of the port to access
  9582. on the container. Number must be in the range
  9583. 1 to 65535. Name must be an IANA_SVC_NAME.
  9584. x-kubernetes-int-or-string: true
  9585. scheme:
  9586. description: Scheme to use for connecting to the
  9587. host. Defaults to HTTP.
  9588. type: string
  9589. required:
  9590. - port
  9591. type: object
  9592. initialDelaySeconds:
  9593. description: 'Number of seconds after the container
  9594. has started before liveness probes are initiated.
  9595. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9596. format: int32
  9597. type: integer
  9598. periodSeconds:
  9599. description: How often (in seconds) to perform the probe.
  9600. Default to 10 seconds. Minimum value is 1.
  9601. format: int32
  9602. type: integer
  9603. successThreshold:
  9604. description: Minimum consecutive successes for the probe
  9605. to be considered successful after having failed. Defaults
  9606. to 1. Must be 1 for liveness and startup. Minimum
  9607. value is 1.
  9608. format: int32
  9609. type: integer
  9610. tcpSocket:
  9611. description: TCPSocket specifies an action involving
  9612. a TCP port.
  9613. properties:
  9614. host:
  9615. description: 'Optional: Host name to connect to,
  9616. defaults to the pod IP.'
  9617. type: string
  9618. port:
  9619. anyOf:
  9620. - type: integer
  9621. - type: string
  9622. description: Number or name of the port to access
  9623. on the container. Number must be in the range
  9624. 1 to 65535. Name must be an IANA_SVC_NAME.
  9625. x-kubernetes-int-or-string: true
  9626. required:
  9627. - port
  9628. type: object
  9629. terminationGracePeriodSeconds:
  9630. description: Optional duration in seconds the pod needs
  9631. to terminate gracefully upon probe failure. The grace
  9632. period is the duration in seconds after the processes
  9633. running in the pod are sent a termination signal and
  9634. the time when the processes are forcibly halted with
  9635. a kill signal. Set this value longer than the expected
  9636. cleanup time for your process. If this value is nil,
  9637. the pod's terminationGracePeriodSeconds will be used.
  9638. Otherwise, this value overrides the value provided
  9639. by the pod spec. Value must be non-negative integer.
  9640. The value zero indicates stop immediately via the
  9641. kill signal (no opportunity to shut down). This is
  9642. a beta field and requires enabling ProbeTerminationGracePeriod
  9643. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  9644. is used if unset.
  9645. format: int64
  9646. type: integer
  9647. timeoutSeconds:
  9648. description: 'Number of seconds after which the probe
  9649. times out. Defaults to 1 second. Minimum value is
  9650. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9651. format: int32
  9652. type: integer
  9653. type: object
  9654. name:
  9655. description: Name of the ephemeral container specified as
  9656. a DNS_LABEL. This name must be unique among all containers,
  9657. init containers and ephemeral containers.
  9658. type: string
  9659. ports:
  9660. description: Ports are not allowed for ephemeral containers.
  9661. items:
  9662. description: ContainerPort represents a network port in
  9663. a single container.
  9664. properties:
  9665. containerPort:
  9666. description: Number of port to expose on the pod's
  9667. IP address. This must be a valid port number, 0
  9668. < x < 65536.
  9669. format: int32
  9670. type: integer
  9671. hostIP:
  9672. description: What host IP to bind the external port
  9673. to.
  9674. type: string
  9675. hostPort:
  9676. description: Number of port to expose on the host.
  9677. If specified, this must be a valid port number,
  9678. 0 < x < 65536. If HostNetwork is specified, this
  9679. must match ContainerPort. Most containers do not
  9680. need this.
  9681. format: int32
  9682. type: integer
  9683. name:
  9684. description: If specified, this must be an IANA_SVC_NAME
  9685. and unique within the pod. Each named port in a
  9686. pod must have a unique name. Name for the port that
  9687. can be referred to by services.
  9688. type: string
  9689. protocol:
  9690. default: TCP
  9691. description: Protocol for port. Must be UDP, TCP,
  9692. or SCTP. Defaults to "TCP".
  9693. type: string
  9694. required:
  9695. - containerPort
  9696. type: object
  9697. type: array
  9698. x-kubernetes-list-map-keys:
  9699. - containerPort
  9700. - protocol
  9701. x-kubernetes-list-type: map
  9702. readinessProbe:
  9703. description: Probes are not allowed for ephemeral containers.
  9704. properties:
  9705. exec:
  9706. description: Exec specifies the action to take.
  9707. properties:
  9708. command:
  9709. description: Command is the command line to execute
  9710. inside the container, the working directory for
  9711. the command is root ('/') in the container's
  9712. filesystem. The command is simply exec'd, it is
  9713. not run inside a shell, so traditional shell instructions
  9714. ('|', etc) won't work. To use a shell, you need
  9715. to explicitly call out to that shell. Exit status
  9716. of 0 is treated as live/healthy and non-zero is
  9717. unhealthy.
  9718. items:
  9719. type: string
  9720. type: array
  9721. type: object
  9722. failureThreshold:
  9723. description: Minimum consecutive failures for the probe
  9724. to be considered failed after having succeeded. Defaults
  9725. to 3. Minimum value is 1.
  9726. format: int32
  9727. type: integer
  9728. grpc:
  9729. description: GRPC specifies an action involving a GRPC
  9730. port. This is a beta field and requires enabling GRPCContainerProbe
  9731. feature gate.
  9732. properties:
  9733. port:
  9734. description: Port number of the gRPC service. Number
  9735. must be in the range 1 to 65535.
  9736. format: int32
  9737. type: integer
  9738. service:
  9739. description: "Service is the name of the service
  9740. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  9741. \n If this is not specified, the default behavior
  9742. is defined by gRPC."
  9743. type: string
  9744. required:
  9745. - port
  9746. type: object
  9747. httpGet:
  9748. description: HTTPGet specifies the http request to perform.
  9749. properties:
  9750. host:
  9751. description: Host name to connect to, defaults to
  9752. the pod IP. You probably want to set "Host" in
  9753. httpHeaders instead.
  9754. type: string
  9755. httpHeaders:
  9756. description: Custom headers to set in the request.
  9757. HTTP allows repeated headers.
  9758. items:
  9759. description: HTTPHeader describes a custom header
  9760. to be used in HTTP probes
  9761. properties:
  9762. name:
  9763. description: The header field name
  9764. type: string
  9765. value:
  9766. description: The header field value
  9767. type: string
  9768. required:
  9769. - name
  9770. - value
  9771. type: object
  9772. type: array
  9773. path:
  9774. description: Path to access on the HTTP server.
  9775. type: string
  9776. port:
  9777. anyOf:
  9778. - type: integer
  9779. - type: string
  9780. description: Name or number of the port to access
  9781. on the container. Number must be in the range
  9782. 1 to 65535. Name must be an IANA_SVC_NAME.
  9783. x-kubernetes-int-or-string: true
  9784. scheme:
  9785. description: Scheme to use for connecting to the
  9786. host. Defaults to HTTP.
  9787. type: string
  9788. required:
  9789. - port
  9790. type: object
  9791. initialDelaySeconds:
  9792. description: 'Number of seconds after the container
  9793. has started before liveness probes are initiated.
  9794. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9795. format: int32
  9796. type: integer
  9797. periodSeconds:
  9798. description: How often (in seconds) to perform the probe.
  9799. Default to 10 seconds. Minimum value is 1.
  9800. format: int32
  9801. type: integer
  9802. successThreshold:
  9803. description: Minimum consecutive successes for the probe
  9804. to be considered successful after having failed. Defaults
  9805. to 1. Must be 1 for liveness and startup. Minimum
  9806. value is 1.
  9807. format: int32
  9808. type: integer
  9809. tcpSocket:
  9810. description: TCPSocket specifies an action involving
  9811. a TCP port.
  9812. properties:
  9813. host:
  9814. description: 'Optional: Host name to connect to,
  9815. defaults to the pod IP.'
  9816. type: string
  9817. port:
  9818. anyOf:
  9819. - type: integer
  9820. - type: string
  9821. description: Number or name of the port to access
  9822. on the container. Number must be in the range
  9823. 1 to 65535. Name must be an IANA_SVC_NAME.
  9824. x-kubernetes-int-or-string: true
  9825. required:
  9826. - port
  9827. type: object
  9828. terminationGracePeriodSeconds:
  9829. description: Optional duration in seconds the pod needs
  9830. to terminate gracefully upon probe failure. The grace
  9831. period is the duration in seconds after the processes
  9832. running in the pod are sent a termination signal and
  9833. the time when the processes are forcibly halted with
  9834. a kill signal. Set this value longer than the expected
  9835. cleanup time for your process. If this value is nil,
  9836. the pod's terminationGracePeriodSeconds will be used.
  9837. Otherwise, this value overrides the value provided
  9838. by the pod spec. Value must be non-negative integer.
  9839. The value zero indicates stop immediately via the
  9840. kill signal (no opportunity to shut down). This is
  9841. a beta field and requires enabling ProbeTerminationGracePeriod
  9842. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  9843. is used if unset.
  9844. format: int64
  9845. type: integer
  9846. timeoutSeconds:
  9847. description: 'Number of seconds after which the probe
  9848. times out. Defaults to 1 second. Minimum value is
  9849. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9850. format: int32
  9851. type: integer
  9852. type: object
  9853. resources:
  9854. description: Resources are not allowed for ephemeral containers.
  9855. Ephemeral containers use spare resources already allocated
  9856. to the pod.
  9857. properties:
  9858. limits:
  9859. additionalProperties:
  9860. anyOf:
  9861. - type: integer
  9862. - type: string
  9863. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9864. x-kubernetes-int-or-string: true
  9865. description: 'Limits describes the maximum amount of
  9866. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9867. type: object
  9868. requests:
  9869. additionalProperties:
  9870. anyOf:
  9871. - type: integer
  9872. - type: string
  9873. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9874. x-kubernetes-int-or-string: true
  9875. description: 'Requests describes the minimum amount
  9876. of compute resources required. If Requests is omitted
  9877. for a container, it defaults to Limits if that is
  9878. explicitly specified, otherwise to an implementation-defined
  9879. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9880. type: object
  9881. type: object
  9882. securityContext:
  9883. description: 'Optional: SecurityContext defines the security
  9884. options the ephemeral container should be run with. If
  9885. set, the fields of SecurityContext override the equivalent
  9886. fields of PodSecurityContext.'
  9887. properties:
  9888. allowPrivilegeEscalation:
  9889. description: 'AllowPrivilegeEscalation controls whether
  9890. a process can gain more privileges than its parent
  9891. process. This bool directly controls if the no_new_privs
  9892. flag will be set on the container process. AllowPrivilegeEscalation
  9893. is true always when the container is: 1) run as Privileged
  9894. 2) has CAP_SYS_ADMIN Note that this field cannot be
  9895. set when spec.os.name is windows.'
  9896. type: boolean
  9897. capabilities:
  9898. description: The capabilities to add/drop when running
  9899. containers. Defaults to the default set of capabilities
  9900. granted by the container runtime. Note that this field
  9901. cannot be set when spec.os.name is windows.
  9902. properties:
  9903. add:
  9904. description: Added capabilities
  9905. items:
  9906. description: Capability represent POSIX capabilities
  9907. type
  9908. type: string
  9909. type: array
  9910. drop:
  9911. description: Removed capabilities
  9912. items:
  9913. description: Capability represent POSIX capabilities
  9914. type
  9915. type: string
  9916. type: array
  9917. type: object
  9918. privileged:
  9919. description: Run container in privileged mode. Processes
  9920. in privileged containers are essentially equivalent
  9921. to root on the host. Defaults to false. Note that
  9922. this field cannot be set when spec.os.name is windows.
  9923. type: boolean
  9924. procMount:
  9925. description: procMount denotes the type of proc mount
  9926. to use for the containers. The default is DefaultProcMount
  9927. which uses the container runtime defaults for readonly
  9928. paths and masked paths. This requires the ProcMountType
  9929. feature flag to be enabled. Note that this field cannot
  9930. be set when spec.os.name is windows.
  9931. type: string
  9932. readOnlyRootFilesystem:
  9933. description: Whether this container has a read-only
  9934. root filesystem. Default is false. Note that this
  9935. field cannot be set when spec.os.name is windows.
  9936. type: boolean
  9937. runAsGroup:
  9938. description: The GID to run the entrypoint of the container
  9939. process. Uses runtime default if unset. May also be
  9940. set in PodSecurityContext. If set in both SecurityContext
  9941. and PodSecurityContext, the value specified in SecurityContext
  9942. takes precedence. Note that this field cannot be set
  9943. when spec.os.name is windows.
  9944. format: int64
  9945. type: integer
  9946. runAsNonRoot:
  9947. description: Indicates that the container must run as
  9948. a non-root user. If true, the Kubelet will validate
  9949. the image at runtime to ensure that it does not run
  9950. as UID 0 (root) and fail to start the container if
  9951. it does. If unset or false, no such validation will
  9952. be performed. May also be set in PodSecurityContext. If
  9953. set in both SecurityContext and PodSecurityContext,
  9954. the value specified in SecurityContext takes precedence.
  9955. type: boolean
  9956. runAsUser:
  9957. description: The UID to run the entrypoint of the container
  9958. process. Defaults to user specified in image metadata
  9959. if unspecified. May also be set in PodSecurityContext. If
  9960. set in both SecurityContext and PodSecurityContext,
  9961. the value specified in SecurityContext takes precedence.
  9962. Note that this field cannot be set when spec.os.name
  9963. is windows.
  9964. format: int64
  9965. type: integer
  9966. seLinuxOptions:
  9967. description: The SELinux context to be applied to the
  9968. container. If unspecified, the container runtime will
  9969. allocate a random SELinux context for each container. May
  9970. also be set in PodSecurityContext. If set in both
  9971. SecurityContext and PodSecurityContext, the value
  9972. specified in SecurityContext takes precedence. Note
  9973. that this field cannot be set when spec.os.name is
  9974. windows.
  9975. properties:
  9976. level:
  9977. description: Level is SELinux level label that applies
  9978. to the container.
  9979. type: string
  9980. role:
  9981. description: Role is a SELinux role label that applies
  9982. to the container.
  9983. type: string
  9984. type:
  9985. description: Type is a SELinux type label that applies
  9986. to the container.
  9987. type: string
  9988. user:
  9989. description: User is a SELinux user label that applies
  9990. to the container.
  9991. type: string
  9992. type: object
  9993. seccompProfile:
  9994. description: The seccomp options to use by this container.
  9995. If seccomp options are provided at both the pod &
  9996. container level, the container options override the
  9997. pod options. Note that this field cannot be set when
  9998. spec.os.name is windows.
  9999. properties:
  10000. localhostProfile:
  10001. description: localhostProfile indicates a profile
  10002. defined in a file on the node should be used.
  10003. The profile must be preconfigured on the node
  10004. to work. Must be a descending path, relative to
  10005. the kubelet's configured seccomp profile location.
  10006. Must only be set if type is "Localhost".
  10007. type: string
  10008. type:
  10009. description: "type indicates which kind of seccomp
  10010. profile will be applied. Valid options are: \n
  10011. Localhost - a profile defined in a file on the
  10012. node should be used. RuntimeDefault - the container
  10013. runtime default profile should be used. Unconfined
  10014. - no profile should be applied."
  10015. type: string
  10016. required:
  10017. - type
  10018. type: object
  10019. windowsOptions:
  10020. description: The Windows specific settings applied to
  10021. all containers. If unspecified, the options from the
  10022. PodSecurityContext will be used. If set in both SecurityContext
  10023. and PodSecurityContext, the value specified in SecurityContext
  10024. takes precedence. Note that this field cannot be set
  10025. when spec.os.name is linux.
  10026. properties:
  10027. gmsaCredentialSpec:
  10028. description: GMSACredentialSpec is where the GMSA
  10029. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  10030. inlines the contents of the GMSA credential spec
  10031. named by the GMSACredentialSpecName field.
  10032. type: string
  10033. gmsaCredentialSpecName:
  10034. description: GMSACredentialSpecName is the name
  10035. of the GMSA credential spec to use.
  10036. type: string
  10037. hostProcess:
  10038. description: HostProcess determines if a container
  10039. should be run as a 'Host Process' container. This
  10040. field is alpha-level and will only be honored
  10041. by components that enable the WindowsHostProcessContainers
  10042. feature flag. Setting this field without the feature
  10043. flag will result in errors when validating the
  10044. Pod. All of a Pod's containers must have the same
  10045. effective HostProcess value (it is not allowed
  10046. to have a mix of HostProcess containers and non-HostProcess
  10047. containers). In addition, if HostProcess is true
  10048. then HostNetwork must also be set to true.
  10049. type: boolean
  10050. runAsUserName:
  10051. description: The UserName in Windows to run the
  10052. entrypoint of the container process. Defaults
  10053. to the user specified in image metadata if unspecified.
  10054. May also be set in PodSecurityContext. If set
  10055. in both SecurityContext and PodSecurityContext,
  10056. the value specified in SecurityContext takes precedence.
  10057. type: string
  10058. type: object
  10059. type: object
  10060. startupProbe:
  10061. description: Probes are not allowed for ephemeral containers.
  10062. properties:
  10063. exec:
  10064. description: Exec specifies the action to take.
  10065. properties:
  10066. command:
  10067. description: Command is the command line to execute
  10068. inside the container, the working directory for
  10069. the command is root ('/') in the container's
  10070. filesystem. The command is simply exec'd, it is
  10071. not run inside a shell, so traditional shell instructions
  10072. ('|', etc) won't work. To use a shell, you need
  10073. to explicitly call out to that shell. Exit status
  10074. of 0 is treated as live/healthy and non-zero is
  10075. unhealthy.
  10076. items:
  10077. type: string
  10078. type: array
  10079. type: object
  10080. failureThreshold:
  10081. description: Minimum consecutive failures for the probe
  10082. to be considered failed after having succeeded. Defaults
  10083. to 3. Minimum value is 1.
  10084. format: int32
  10085. type: integer
  10086. grpc:
  10087. description: GRPC specifies an action involving a GRPC
  10088. port. This is a beta field and requires enabling GRPCContainerProbe
  10089. feature gate.
  10090. properties:
  10091. port:
  10092. description: Port number of the gRPC service. Number
  10093. must be in the range 1 to 65535.
  10094. format: int32
  10095. type: integer
  10096. service:
  10097. description: "Service is the name of the service
  10098. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  10099. \n If this is not specified, the default behavior
  10100. is defined by gRPC."
  10101. type: string
  10102. required:
  10103. - port
  10104. type: object
  10105. httpGet:
  10106. description: HTTPGet specifies the http request to perform.
  10107. properties:
  10108. host:
  10109. description: Host name to connect to, defaults to
  10110. the pod IP. You probably want to set "Host" in
  10111. httpHeaders instead.
  10112. type: string
  10113. httpHeaders:
  10114. description: Custom headers to set in the request.
  10115. HTTP allows repeated headers.
  10116. items:
  10117. description: HTTPHeader describes a custom header
  10118. to be used in HTTP probes
  10119. properties:
  10120. name:
  10121. description: The header field name
  10122. type: string
  10123. value:
  10124. description: The header field value
  10125. type: string
  10126. required:
  10127. - name
  10128. - value
  10129. type: object
  10130. type: array
  10131. path:
  10132. description: Path to access on the HTTP server.
  10133. type: string
  10134. port:
  10135. anyOf:
  10136. - type: integer
  10137. - type: string
  10138. description: Name or number of the port to access
  10139. on the container. Number must be in the range
  10140. 1 to 65535. Name must be an IANA_SVC_NAME.
  10141. x-kubernetes-int-or-string: true
  10142. scheme:
  10143. description: Scheme to use for connecting to the
  10144. host. Defaults to HTTP.
  10145. type: string
  10146. required:
  10147. - port
  10148. type: object
  10149. initialDelaySeconds:
  10150. description: 'Number of seconds after the container
  10151. has started before liveness probes are initiated.
  10152. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10153. format: int32
  10154. type: integer
  10155. periodSeconds:
  10156. description: How often (in seconds) to perform the probe.
  10157. Default to 10 seconds. Minimum value is 1.
  10158. format: int32
  10159. type: integer
  10160. successThreshold:
  10161. description: Minimum consecutive successes for the probe
  10162. to be considered successful after having failed. Defaults
  10163. to 1. Must be 1 for liveness and startup. Minimum
  10164. value is 1.
  10165. format: int32
  10166. type: integer
  10167. tcpSocket:
  10168. description: TCPSocket specifies an action involving
  10169. a TCP port.
  10170. properties:
  10171. host:
  10172. description: 'Optional: Host name to connect to,
  10173. defaults to the pod IP.'
  10174. type: string
  10175. port:
  10176. anyOf:
  10177. - type: integer
  10178. - type: string
  10179. description: Number or name of the port to access
  10180. on the container. Number must be in the range
  10181. 1 to 65535. Name must be an IANA_SVC_NAME.
  10182. x-kubernetes-int-or-string: true
  10183. required:
  10184. - port
  10185. type: object
  10186. terminationGracePeriodSeconds:
  10187. description: Optional duration in seconds the pod needs
  10188. to terminate gracefully upon probe failure. The grace
  10189. period is the duration in seconds after the processes
  10190. running in the pod are sent a termination signal and
  10191. the time when the processes are forcibly halted with
  10192. a kill signal. Set this value longer than the expected
  10193. cleanup time for your process. If this value is nil,
  10194. the pod's terminationGracePeriodSeconds will be used.
  10195. Otherwise, this value overrides the value provided
  10196. by the pod spec. Value must be non-negative integer.
  10197. The value zero indicates stop immediately via the
  10198. kill signal (no opportunity to shut down). This is
  10199. a beta field and requires enabling ProbeTerminationGracePeriod
  10200. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  10201. is used if unset.
  10202. format: int64
  10203. type: integer
  10204. timeoutSeconds:
  10205. description: 'Number of seconds after which the probe
  10206. times out. Defaults to 1 second. Minimum value is
  10207. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10208. format: int32
  10209. type: integer
  10210. type: object
  10211. stdin:
  10212. description: Whether this container should allocate a buffer
  10213. for stdin in the container runtime. If this is not set,
  10214. reads from stdin in the container will always result in
  10215. EOF. Default is false.
  10216. type: boolean
  10217. stdinOnce:
  10218. description: Whether the container runtime should close
  10219. the stdin channel after it has been opened by a single
  10220. attach. When stdin is true the stdin stream will remain
  10221. open across multiple attach sessions. If stdinOnce is
  10222. set to true, stdin is opened on container start, is empty
  10223. until the first client attaches to stdin, and then remains
  10224. open and accepts data until the client disconnects, at
  10225. which time stdin is closed and remains closed until the
  10226. container is restarted. If this flag is false, a container
  10227. processes that reads from stdin will never receive an
  10228. EOF. Default is false
  10229. type: boolean
  10230. targetContainerName:
  10231. description: "If set, the name of the container from PodSpec
  10232. that this ephemeral container targets. The ephemeral container
  10233. will be run in the namespaces (IPC, PID, etc) of this
  10234. container. If not set then the ephemeral container uses
  10235. the namespaces configured in the Pod spec. \n The container
  10236. runtime must implement support for this feature. If the
  10237. runtime does not support namespace targeting then the
  10238. result of setting this field is undefined."
  10239. type: string
  10240. terminationMessagePath:
  10241. description: 'Optional: Path at which the file to which
  10242. the container''s termination message will be written is
  10243. mounted into the container''s filesystem. Message written
  10244. is intended to be brief final status, such as an assertion
  10245. failure message. Will be truncated by the node if greater
  10246. than 4096 bytes. The total message length across all containers
  10247. will be limited to 12kb. Defaults to /dev/termination-log.
  10248. Cannot be updated.'
  10249. type: string
  10250. terminationMessagePolicy:
  10251. description: Indicate how the termination message should
  10252. be populated. File will use the contents of terminationMessagePath
  10253. to populate the container status message on both success
  10254. and failure. FallbackToLogsOnError will use the last chunk
  10255. of container log output if the termination message file
  10256. is empty and the container exited with an error. The log
  10257. output is limited to 2048 bytes or 80 lines, whichever
  10258. is smaller. Defaults to File. Cannot be updated.
  10259. type: string
  10260. tty:
  10261. description: Whether this container should allocate a TTY
  10262. for itself, also requires 'stdin' to be true. Default
  10263. is false.
  10264. type: boolean
  10265. volumeDevices:
  10266. description: volumeDevices is the list of block devices
  10267. to be used by the container.
  10268. items:
  10269. description: volumeDevice describes a mapping of a raw
  10270. block device within a container.
  10271. properties:
  10272. devicePath:
  10273. description: devicePath is the path inside of the
  10274. container that the device will be mapped to.
  10275. type: string
  10276. name:
  10277. description: name must match the name of a persistentVolumeClaim
  10278. in the pod
  10279. type: string
  10280. required:
  10281. - devicePath
  10282. - name
  10283. type: object
  10284. type: array
  10285. volumeMounts:
  10286. description: Pod volumes to mount into the container's filesystem.
  10287. Subpath mounts are not allowed for ephemeral containers.
  10288. Cannot be updated.
  10289. items:
  10290. description: VolumeMount describes a mounting of a Volume
  10291. within a container.
  10292. properties:
  10293. mountPath:
  10294. description: Path within the container at which the
  10295. volume should be mounted. Must not contain ':'.
  10296. type: string
  10297. mountPropagation:
  10298. description: mountPropagation determines how mounts
  10299. are propagated from the host to container and the
  10300. other way around. When not set, MountPropagationNone
  10301. is used. This field is beta in 1.10.
  10302. type: string
  10303. name:
  10304. description: This must match the Name of a Volume.
  10305. type: string
  10306. readOnly:
  10307. description: Mounted read-only if true, read-write
  10308. otherwise (false or unspecified). Defaults to false.
  10309. type: boolean
  10310. subPath:
  10311. description: Path within the volume from which the
  10312. container's volume should be mounted. Defaults to
  10313. "" (volume's root).
  10314. type: string
  10315. subPathExpr:
  10316. description: Expanded path within the volume from
  10317. which the container's volume should be mounted.
  10318. Behaves similarly to SubPath but environment variable
  10319. references $(VAR_NAME) are expanded using the container's
  10320. environment. Defaults to "" (volume's root). SubPathExpr
  10321. and SubPath are mutually exclusive.
  10322. type: string
  10323. required:
  10324. - mountPath
  10325. - name
  10326. type: object
  10327. type: array
  10328. workingDir:
  10329. description: Container's working directory. If not specified,
  10330. the container runtime's default will be used, which might
  10331. be configured in the container image. Cannot be updated.
  10332. type: string
  10333. required:
  10334. - name
  10335. type: object
  10336. type: array
  10337. hostAliases:
  10338. description: HostAliases is an optional list of hosts and IPs
  10339. that will be injected into the pod's hosts file if specified.
  10340. This is only valid for non-hostNetwork pods.
  10341. items:
  10342. description: HostAlias holds the mapping between IP and hostnames
  10343. that will be injected as an entry in the pod's hosts file.
  10344. properties:
  10345. hostnames:
  10346. description: Hostnames for the above IP address.
  10347. items:
  10348. type: string
  10349. type: array
  10350. ip:
  10351. description: IP address of the host file entry.
  10352. type: string
  10353. type: object
  10354. type: array
  10355. hostIPC:
  10356. description: 'Use the host''s ipc namespace. Optional: Default
  10357. to false.'
  10358. type: boolean
  10359. hostNetwork:
  10360. description: Host networking requested for this pod. Use the host's
  10361. network namespace. If this option is set, the ports that will
  10362. be used must be specified. Default to false.
  10363. type: boolean
  10364. hostPID:
  10365. description: 'Use the host''s pid namespace. Optional: Default
  10366. to false.'
  10367. type: boolean
  10368. hostname:
  10369. description: Specifies the hostname of the Pod If not specified,
  10370. the pod's hostname will be set to a system-defined value.
  10371. type: string
  10372. imagePullSecrets:
  10373. description: 'ImagePullSecrets is an optional list of references
  10374. to secrets in the same namespace to use for pulling any of the
  10375. images used by this PodSpec. If specified, these secrets will
  10376. be passed to individual puller implementations for them to use.
  10377. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  10378. items:
  10379. description: LocalObjectReference contains enough information
  10380. to let you locate the referenced object inside the same namespace.
  10381. properties:
  10382. name:
  10383. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10384. TODO: Add other useful fields. apiVersion, kind, uid?'
  10385. type: string
  10386. type: object
  10387. x-kubernetes-map-type: atomic
  10388. type: array
  10389. initContainers:
  10390. description: 'List of initialization containers belonging to the
  10391. pod. Init containers are executed in order prior to containers
  10392. being started. If any init container fails, the pod is considered
  10393. to have failed and is handled according to its restartPolicy.
  10394. The name for an init container or normal container must be unique
  10395. among all containers. Init containers may not have Lifecycle
  10396. actions, Readiness probes, Liveness probes, or Startup probes.
  10397. The resourceRequirements of an init container are taken into
  10398. account during scheduling by finding the highest request/limit
  10399. for each resource type, and then using the max of of that value
  10400. or the sum of the normal containers. Limits are applied to init
  10401. containers in a similar fashion. Init containers cannot currently
  10402. be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
  10403. items:
  10404. description: A single application container that you want to
  10405. run within a pod.
  10406. properties:
  10407. args:
  10408. description: 'Arguments to the entrypoint. The container
  10409. image''s CMD is used if this is not provided. Variable
  10410. references $(VAR_NAME) are expanded using the container''s
  10411. environment. If a variable cannot be resolved, the reference
  10412. in the input string will be unchanged. Double $$ are reduced
  10413. to a single $, which allows for escaping the $(VAR_NAME)
  10414. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  10415. "$(VAR_NAME)". Escaped references will never be expanded,
  10416. regardless of whether the variable exists or not. Cannot
  10417. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  10418. items:
  10419. type: string
  10420. type: array
  10421. command:
  10422. description: 'Entrypoint array. Not executed within a shell.
  10423. The container image''s ENTRYPOINT is used if this is not
  10424. provided. Variable references $(VAR_NAME) are expanded
  10425. using the container''s environment. If a variable cannot
  10426. be resolved, the reference in the input string will be
  10427. unchanged. Double $$ are reduced to a single $, which
  10428. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  10429. will produce the string literal "$(VAR_NAME)". Escaped
  10430. references will never be expanded, regardless of whether
  10431. the variable exists or not. Cannot be updated. More info:
  10432. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  10433. items:
  10434. type: string
  10435. type: array
  10436. env:
  10437. description: List of environment variables to set in the
  10438. container. Cannot be updated.
  10439. items:
  10440. description: EnvVar represents an environment variable
  10441. present in a Container.
  10442. properties:
  10443. name:
  10444. description: Name of the environment variable. Must
  10445. be a C_IDENTIFIER.
  10446. type: string
  10447. value:
  10448. description: 'Variable references $(VAR_NAME) are
  10449. expanded using the previously defined environment
  10450. variables in the container and any service environment
  10451. variables. If a variable cannot be resolved, the
  10452. reference in the input string will be unchanged.
  10453. Double $$ are reduced to a single $, which allows
  10454. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  10455. will produce the string literal "$(VAR_NAME)". Escaped
  10456. references will never be expanded, regardless of
  10457. whether the variable exists or not. Defaults to
  10458. "".'
  10459. type: string
  10460. valueFrom:
  10461. description: Source for the environment variable's
  10462. value. Cannot be used if value is not empty.
  10463. properties:
  10464. configMapKeyRef:
  10465. description: Selects a key of a ConfigMap.
  10466. properties:
  10467. key:
  10468. description: The key to select.
  10469. type: string
  10470. name:
  10471. description: 'Name of the referent. More info:
  10472. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10473. TODO: Add other useful fields. apiVersion,
  10474. kind, uid?'
  10475. type: string
  10476. optional:
  10477. description: Specify whether the ConfigMap
  10478. or its key must be defined
  10479. type: boolean
  10480. required:
  10481. - key
  10482. type: object
  10483. x-kubernetes-map-type: atomic
  10484. fieldRef:
  10485. description: 'Selects a field of the pod: supports
  10486. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  10487. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  10488. spec.serviceAccountName, status.hostIP, status.podIP,
  10489. status.podIPs.'
  10490. properties:
  10491. apiVersion:
  10492. description: Version of the schema the FieldPath
  10493. is written in terms of, defaults to "v1".
  10494. type: string
  10495. fieldPath:
  10496. description: Path of the field to select in
  10497. the specified API version.
  10498. type: string
  10499. required:
  10500. - fieldPath
  10501. type: object
  10502. x-kubernetes-map-type: atomic
  10503. resourceFieldRef:
  10504. description: 'Selects a resource of the container:
  10505. only resources limits and requests (limits.cpu,
  10506. limits.memory, limits.ephemeral-storage, requests.cpu,
  10507. requests.memory and requests.ephemeral-storage)
  10508. are currently supported.'
  10509. properties:
  10510. containerName:
  10511. description: 'Container name: required for
  10512. volumes, optional for env vars'
  10513. type: string
  10514. divisor:
  10515. anyOf:
  10516. - type: integer
  10517. - type: string
  10518. description: Specifies the output format of
  10519. the exposed resources, defaults to "1"
  10520. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10521. x-kubernetes-int-or-string: true
  10522. resource:
  10523. description: 'Required: resource to select'
  10524. type: string
  10525. required:
  10526. - resource
  10527. type: object
  10528. x-kubernetes-map-type: atomic
  10529. secretKeyRef:
  10530. description: Selects a key of a secret in the
  10531. pod's namespace
  10532. properties:
  10533. key:
  10534. description: The key of the secret to select
  10535. from. Must be a valid secret key.
  10536. type: string
  10537. name:
  10538. description: 'Name of the referent. More info:
  10539. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10540. TODO: Add other useful fields. apiVersion,
  10541. kind, uid?'
  10542. type: string
  10543. optional:
  10544. description: Specify whether the Secret or
  10545. its key must be defined
  10546. type: boolean
  10547. required:
  10548. - key
  10549. type: object
  10550. x-kubernetes-map-type: atomic
  10551. type: object
  10552. required:
  10553. - name
  10554. type: object
  10555. type: array
  10556. envFrom:
  10557. description: List of sources to populate environment variables
  10558. in the container. The keys defined within a source must
  10559. be a C_IDENTIFIER. All invalid keys will be reported as
  10560. an event when the container is starting. When a key exists
  10561. in multiple sources, the value associated with the last
  10562. source will take precedence. Values defined by an Env
  10563. with a duplicate key will take precedence. Cannot be updated.
  10564. items:
  10565. description: EnvFromSource represents the source of a
  10566. set of ConfigMaps
  10567. properties:
  10568. configMapRef:
  10569. description: The ConfigMap to select from
  10570. properties:
  10571. name:
  10572. description: 'Name of the referent. More info:
  10573. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10574. TODO: Add other useful fields. apiVersion, kind,
  10575. uid?'
  10576. type: string
  10577. optional:
  10578. description: Specify whether the ConfigMap must
  10579. be defined
  10580. type: boolean
  10581. type: object
  10582. x-kubernetes-map-type: atomic
  10583. prefix:
  10584. description: An optional identifier to prepend to
  10585. each key in the ConfigMap. Must be a C_IDENTIFIER.
  10586. type: string
  10587. secretRef:
  10588. description: The Secret to select from
  10589. properties:
  10590. name:
  10591. description: 'Name of the referent. More info:
  10592. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10593. TODO: Add other useful fields. apiVersion, kind,
  10594. uid?'
  10595. type: string
  10596. optional:
  10597. description: Specify whether the Secret must be
  10598. defined
  10599. type: boolean
  10600. type: object
  10601. x-kubernetes-map-type: atomic
  10602. type: object
  10603. type: array
  10604. image:
  10605. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  10606. This field is optional to allow higher level config management
  10607. to default or override container images in workload controllers
  10608. like Deployments and StatefulSets.'
  10609. type: string
  10610. imagePullPolicy:
  10611. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  10612. Defaults to Always if :latest tag is specified, or IfNotPresent
  10613. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  10614. type: string
  10615. lifecycle:
  10616. description: Actions that the management system should take
  10617. in response to container lifecycle events. Cannot be updated.
  10618. properties:
  10619. postStart:
  10620. description: 'PostStart is called immediately after
  10621. a container is created. If the handler fails, the
  10622. container is terminated and restarted according to
  10623. its restart policy. Other management of the container
  10624. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  10625. properties:
  10626. exec:
  10627. description: Exec specifies the action to take.
  10628. properties:
  10629. command:
  10630. description: Command is the command line to
  10631. execute inside the container, the working
  10632. directory for the command is root ('/') in
  10633. the container's filesystem. The command is
  10634. simply exec'd, it is not run inside a shell,
  10635. so traditional shell instructions ('|', etc)
  10636. won't work. To use a shell, you need to explicitly
  10637. call out to that shell. Exit status of 0 is
  10638. treated as live/healthy and non-zero is unhealthy.
  10639. items:
  10640. type: string
  10641. type: array
  10642. type: object
  10643. httpGet:
  10644. description: HTTPGet specifies the http request
  10645. to perform.
  10646. properties:
  10647. host:
  10648. description: Host name to connect to, defaults
  10649. to the pod IP. You probably want to set "Host"
  10650. in httpHeaders instead.
  10651. type: string
  10652. httpHeaders:
  10653. description: Custom headers to set in the request.
  10654. HTTP allows repeated headers.
  10655. items:
  10656. description: HTTPHeader describes a custom
  10657. header to be used in HTTP probes
  10658. properties:
  10659. name:
  10660. description: The header field name
  10661. type: string
  10662. value:
  10663. description: The header field value
  10664. type: string
  10665. required:
  10666. - name
  10667. - value
  10668. type: object
  10669. type: array
  10670. path:
  10671. description: Path to access on the HTTP server.
  10672. type: string
  10673. port:
  10674. anyOf:
  10675. - type: integer
  10676. - type: string
  10677. description: Name or number of the port to access
  10678. on the container. Number must be in the range
  10679. 1 to 65535. Name must be an IANA_SVC_NAME.
  10680. x-kubernetes-int-or-string: true
  10681. scheme:
  10682. description: Scheme to use for connecting to
  10683. the host. Defaults to HTTP.
  10684. type: string
  10685. required:
  10686. - port
  10687. type: object
  10688. tcpSocket:
  10689. description: Deprecated. TCPSocket is NOT supported
  10690. as a LifecycleHandler and kept for the backward
  10691. compatibility. There are no validation of this
  10692. field and lifecycle hooks will fail in runtime
  10693. when tcp handler is specified.
  10694. properties:
  10695. host:
  10696. description: 'Optional: Host name to connect
  10697. to, defaults to the pod IP.'
  10698. type: string
  10699. port:
  10700. anyOf:
  10701. - type: integer
  10702. - type: string
  10703. description: Number or name of the port to access
  10704. on the container. Number must be in the range
  10705. 1 to 65535. Name must be an IANA_SVC_NAME.
  10706. x-kubernetes-int-or-string: true
  10707. required:
  10708. - port
  10709. type: object
  10710. type: object
  10711. preStop:
  10712. description: 'PreStop is called immediately before a
  10713. container is terminated due to an API request or management
  10714. event such as liveness/startup probe failure, preemption,
  10715. resource contention, etc. The handler is not called
  10716. if the container crashes or exits. The Pod''s termination
  10717. grace period countdown begins before the PreStop hook
  10718. is executed. Regardless of the outcome of the handler,
  10719. the container will eventually terminate within the
  10720. Pod''s termination grace period (unless delayed by
  10721. finalizers). Other management of the container blocks
  10722. until the hook completes or until the termination
  10723. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  10724. properties:
  10725. exec:
  10726. description: Exec specifies the action to take.
  10727. properties:
  10728. command:
  10729. description: Command is the command line to
  10730. execute inside the container, the working
  10731. directory for the command is root ('/') in
  10732. the container's filesystem. The command is
  10733. simply exec'd, it is not run inside a shell,
  10734. so traditional shell instructions ('|', etc)
  10735. won't work. To use a shell, you need to explicitly
  10736. call out to that shell. Exit status of 0 is
  10737. treated as live/healthy and non-zero is unhealthy.
  10738. items:
  10739. type: string
  10740. type: array
  10741. type: object
  10742. httpGet:
  10743. description: HTTPGet specifies the http request
  10744. to perform.
  10745. properties:
  10746. host:
  10747. description: Host name to connect to, defaults
  10748. to the pod IP. You probably want to set "Host"
  10749. in httpHeaders instead.
  10750. type: string
  10751. httpHeaders:
  10752. description: Custom headers to set in the request.
  10753. HTTP allows repeated headers.
  10754. items:
  10755. description: HTTPHeader describes a custom
  10756. header to be used in HTTP probes
  10757. properties:
  10758. name:
  10759. description: The header field name
  10760. type: string
  10761. value:
  10762. description: The header field value
  10763. type: string
  10764. required:
  10765. - name
  10766. - value
  10767. type: object
  10768. type: array
  10769. path:
  10770. description: Path to access on the HTTP server.
  10771. type: string
  10772. port:
  10773. anyOf:
  10774. - type: integer
  10775. - type: string
  10776. description: Name or number of the port to access
  10777. on the container. Number must be in the range
  10778. 1 to 65535. Name must be an IANA_SVC_NAME.
  10779. x-kubernetes-int-or-string: true
  10780. scheme:
  10781. description: Scheme to use for connecting to
  10782. the host. Defaults to HTTP.
  10783. type: string
  10784. required:
  10785. - port
  10786. type: object
  10787. tcpSocket:
  10788. description: Deprecated. TCPSocket is NOT supported
  10789. as a LifecycleHandler and kept for the backward
  10790. compatibility. There are no validation of this
  10791. field and lifecycle hooks will fail in runtime
  10792. when tcp handler is specified.
  10793. properties:
  10794. host:
  10795. description: 'Optional: Host name to connect
  10796. to, defaults to the pod IP.'
  10797. type: string
  10798. port:
  10799. anyOf:
  10800. - type: integer
  10801. - type: string
  10802. description: Number or name of the port to access
  10803. on the container. Number must be in the range
  10804. 1 to 65535. Name must be an IANA_SVC_NAME.
  10805. x-kubernetes-int-or-string: true
  10806. required:
  10807. - port
  10808. type: object
  10809. type: object
  10810. type: object
  10811. livenessProbe:
  10812. description: 'Periodic probe of container liveness. Container
  10813. will be restarted if the probe fails. Cannot be updated.
  10814. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10815. properties:
  10816. exec:
  10817. description: Exec specifies the action to take.
  10818. properties:
  10819. command:
  10820. description: Command is the command line to execute
  10821. inside the container, the working directory for
  10822. the command is root ('/') in the container's
  10823. filesystem. The command is simply exec'd, it is
  10824. not run inside a shell, so traditional shell instructions
  10825. ('|', etc) won't work. To use a shell, you need
  10826. to explicitly call out to that shell. Exit status
  10827. of 0 is treated as live/healthy and non-zero is
  10828. unhealthy.
  10829. items:
  10830. type: string
  10831. type: array
  10832. type: object
  10833. failureThreshold:
  10834. description: Minimum consecutive failures for the probe
  10835. to be considered failed after having succeeded. Defaults
  10836. to 3. Minimum value is 1.
  10837. format: int32
  10838. type: integer
  10839. grpc:
  10840. description: GRPC specifies an action involving a GRPC
  10841. port. This is a beta field and requires enabling GRPCContainerProbe
  10842. feature gate.
  10843. properties:
  10844. port:
  10845. description: Port number of the gRPC service. Number
  10846. must be in the range 1 to 65535.
  10847. format: int32
  10848. type: integer
  10849. service:
  10850. description: "Service is the name of the service
  10851. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  10852. \n If this is not specified, the default behavior
  10853. is defined by gRPC."
  10854. type: string
  10855. required:
  10856. - port
  10857. type: object
  10858. httpGet:
  10859. description: HTTPGet specifies the http request to perform.
  10860. properties:
  10861. host:
  10862. description: Host name to connect to, defaults to
  10863. the pod IP. You probably want to set "Host" in
  10864. httpHeaders instead.
  10865. type: string
  10866. httpHeaders:
  10867. description: Custom headers to set in the request.
  10868. HTTP allows repeated headers.
  10869. items:
  10870. description: HTTPHeader describes a custom header
  10871. to be used in HTTP probes
  10872. properties:
  10873. name:
  10874. description: The header field name
  10875. type: string
  10876. value:
  10877. description: The header field value
  10878. type: string
  10879. required:
  10880. - name
  10881. - value
  10882. type: object
  10883. type: array
  10884. path:
  10885. description: Path to access on the HTTP server.
  10886. type: string
  10887. port:
  10888. anyOf:
  10889. - type: integer
  10890. - type: string
  10891. description: Name or number of the port to access
  10892. on the container. Number must be in the range
  10893. 1 to 65535. Name must be an IANA_SVC_NAME.
  10894. x-kubernetes-int-or-string: true
  10895. scheme:
  10896. description: Scheme to use for connecting to the
  10897. host. Defaults to HTTP.
  10898. type: string
  10899. required:
  10900. - port
  10901. type: object
  10902. initialDelaySeconds:
  10903. description: 'Number of seconds after the container
  10904. has started before liveness probes are initiated.
  10905. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10906. format: int32
  10907. type: integer
  10908. periodSeconds:
  10909. description: How often (in seconds) to perform the probe.
  10910. Default to 10 seconds. Minimum value is 1.
  10911. format: int32
  10912. type: integer
  10913. successThreshold:
  10914. description: Minimum consecutive successes for the probe
  10915. to be considered successful after having failed. Defaults
  10916. to 1. Must be 1 for liveness and startup. Minimum
  10917. value is 1.
  10918. format: int32
  10919. type: integer
  10920. tcpSocket:
  10921. description: TCPSocket specifies an action involving
  10922. a TCP port.
  10923. properties:
  10924. host:
  10925. description: 'Optional: Host name to connect to,
  10926. defaults to the pod IP.'
  10927. type: string
  10928. port:
  10929. anyOf:
  10930. - type: integer
  10931. - type: string
  10932. description: Number or name of the port to access
  10933. on the container. Number must be in the range
  10934. 1 to 65535. Name must be an IANA_SVC_NAME.
  10935. x-kubernetes-int-or-string: true
  10936. required:
  10937. - port
  10938. type: object
  10939. terminationGracePeriodSeconds:
  10940. description: Optional duration in seconds the pod needs
  10941. to terminate gracefully upon probe failure. The grace
  10942. period is the duration in seconds after the processes
  10943. running in the pod are sent a termination signal and
  10944. the time when the processes are forcibly halted with
  10945. a kill signal. Set this value longer than the expected
  10946. cleanup time for your process. If this value is nil,
  10947. the pod's terminationGracePeriodSeconds will be used.
  10948. Otherwise, this value overrides the value provided
  10949. by the pod spec. Value must be non-negative integer.
  10950. The value zero indicates stop immediately via the
  10951. kill signal (no opportunity to shut down). This is
  10952. a beta field and requires enabling ProbeTerminationGracePeriod
  10953. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  10954. is used if unset.
  10955. format: int64
  10956. type: integer
  10957. timeoutSeconds:
  10958. description: 'Number of seconds after which the probe
  10959. times out. Defaults to 1 second. Minimum value is
  10960. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10961. format: int32
  10962. type: integer
  10963. type: object
  10964. name:
  10965. description: Name of the container specified as a DNS_LABEL.
  10966. Each container in a pod must have a unique name (DNS_LABEL).
  10967. Cannot be updated.
  10968. type: string
  10969. ports:
  10970. description: List of ports to expose from the container.
  10971. Exposing a port here gives the system additional information
  10972. about the network connections a container uses, but is
  10973. primarily informational. Not specifying a port here DOES
  10974. NOT prevent that port from being exposed. Any port which
  10975. is listening on the default "0.0.0.0" address inside a
  10976. container will be accessible from the network. Cannot
  10977. be updated.
  10978. items:
  10979. description: ContainerPort represents a network port in
  10980. a single container.
  10981. properties:
  10982. containerPort:
  10983. description: Number of port to expose on the pod's
  10984. IP address. This must be a valid port number, 0
  10985. < x < 65536.
  10986. format: int32
  10987. type: integer
  10988. hostIP:
  10989. description: What host IP to bind the external port
  10990. to.
  10991. type: string
  10992. hostPort:
  10993. description: Number of port to expose on the host.
  10994. If specified, this must be a valid port number,
  10995. 0 < x < 65536. If HostNetwork is specified, this
  10996. must match ContainerPort. Most containers do not
  10997. need this.
  10998. format: int32
  10999. type: integer
  11000. name:
  11001. description: If specified, this must be an IANA_SVC_NAME
  11002. and unique within the pod. Each named port in a
  11003. pod must have a unique name. Name for the port that
  11004. can be referred to by services.
  11005. type: string
  11006. protocol:
  11007. default: TCP
  11008. description: Protocol for port. Must be UDP, TCP,
  11009. or SCTP. Defaults to "TCP".
  11010. type: string
  11011. required:
  11012. - containerPort
  11013. type: object
  11014. type: array
  11015. x-kubernetes-list-map-keys:
  11016. - containerPort
  11017. - protocol
  11018. x-kubernetes-list-type: map
  11019. readinessProbe:
  11020. description: 'Periodic probe of container service readiness.
  11021. Container will be removed from service endpoints if the
  11022. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11023. properties:
  11024. exec:
  11025. description: Exec specifies the action to take.
  11026. properties:
  11027. command:
  11028. description: Command is the command line to execute
  11029. inside the container, the working directory for
  11030. the command is root ('/') in the container's
  11031. filesystem. The command is simply exec'd, it is
  11032. not run inside a shell, so traditional shell instructions
  11033. ('|', etc) won't work. To use a shell, you need
  11034. to explicitly call out to that shell. Exit status
  11035. of 0 is treated as live/healthy and non-zero is
  11036. unhealthy.
  11037. items:
  11038. type: string
  11039. type: array
  11040. type: object
  11041. failureThreshold:
  11042. description: Minimum consecutive failures for the probe
  11043. to be considered failed after having succeeded. Defaults
  11044. to 3. Minimum value is 1.
  11045. format: int32
  11046. type: integer
  11047. grpc:
  11048. description: GRPC specifies an action involving a GRPC
  11049. port. This is a beta field and requires enabling GRPCContainerProbe
  11050. feature gate.
  11051. properties:
  11052. port:
  11053. description: Port number of the gRPC service. Number
  11054. must be in the range 1 to 65535.
  11055. format: int32
  11056. type: integer
  11057. service:
  11058. description: "Service is the name of the service
  11059. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  11060. \n If this is not specified, the default behavior
  11061. is defined by gRPC."
  11062. type: string
  11063. required:
  11064. - port
  11065. type: object
  11066. httpGet:
  11067. description: HTTPGet specifies the http request to perform.
  11068. properties:
  11069. host:
  11070. description: Host name to connect to, defaults to
  11071. the pod IP. You probably want to set "Host" in
  11072. httpHeaders instead.
  11073. type: string
  11074. httpHeaders:
  11075. description: Custom headers to set in the request.
  11076. HTTP allows repeated headers.
  11077. items:
  11078. description: HTTPHeader describes a custom header
  11079. to be used in HTTP probes
  11080. properties:
  11081. name:
  11082. description: The header field name
  11083. type: string
  11084. value:
  11085. description: The header field value
  11086. type: string
  11087. required:
  11088. - name
  11089. - value
  11090. type: object
  11091. type: array
  11092. path:
  11093. description: Path to access on the HTTP server.
  11094. type: string
  11095. port:
  11096. anyOf:
  11097. - type: integer
  11098. - type: string
  11099. description: Name or number of the port to access
  11100. on the container. Number must be in the range
  11101. 1 to 65535. Name must be an IANA_SVC_NAME.
  11102. x-kubernetes-int-or-string: true
  11103. scheme:
  11104. description: Scheme to use for connecting to the
  11105. host. Defaults to HTTP.
  11106. type: string
  11107. required:
  11108. - port
  11109. type: object
  11110. initialDelaySeconds:
  11111. description: 'Number of seconds after the container
  11112. has started before liveness probes are initiated.
  11113. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11114. format: int32
  11115. type: integer
  11116. periodSeconds:
  11117. description: How often (in seconds) to perform the probe.
  11118. Default to 10 seconds. Minimum value is 1.
  11119. format: int32
  11120. type: integer
  11121. successThreshold:
  11122. description: Minimum consecutive successes for the probe
  11123. to be considered successful after having failed. Defaults
  11124. to 1. Must be 1 for liveness and startup. Minimum
  11125. value is 1.
  11126. format: int32
  11127. type: integer
  11128. tcpSocket:
  11129. description: TCPSocket specifies an action involving
  11130. a TCP port.
  11131. properties:
  11132. host:
  11133. description: 'Optional: Host name to connect to,
  11134. defaults to the pod IP.'
  11135. type: string
  11136. port:
  11137. anyOf:
  11138. - type: integer
  11139. - type: string
  11140. description: Number or name of the port to access
  11141. on the container. Number must be in the range
  11142. 1 to 65535. Name must be an IANA_SVC_NAME.
  11143. x-kubernetes-int-or-string: true
  11144. required:
  11145. - port
  11146. type: object
  11147. terminationGracePeriodSeconds:
  11148. description: Optional duration in seconds the pod needs
  11149. to terminate gracefully upon probe failure. The grace
  11150. period is the duration in seconds after the processes
  11151. running in the pod are sent a termination signal and
  11152. the time when the processes are forcibly halted with
  11153. a kill signal. Set this value longer than the expected
  11154. cleanup time for your process. If this value is nil,
  11155. the pod's terminationGracePeriodSeconds will be used.
  11156. Otherwise, this value overrides the value provided
  11157. by the pod spec. Value must be non-negative integer.
  11158. The value zero indicates stop immediately via the
  11159. kill signal (no opportunity to shut down). This is
  11160. a beta field and requires enabling ProbeTerminationGracePeriod
  11161. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  11162. is used if unset.
  11163. format: int64
  11164. type: integer
  11165. timeoutSeconds:
  11166. description: 'Number of seconds after which the probe
  11167. times out. Defaults to 1 second. Minimum value is
  11168. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11169. format: int32
  11170. type: integer
  11171. type: object
  11172. resources:
  11173. description: 'Compute Resources required by this container.
  11174. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  11175. properties:
  11176. limits:
  11177. additionalProperties:
  11178. anyOf:
  11179. - type: integer
  11180. - type: string
  11181. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11182. x-kubernetes-int-or-string: true
  11183. description: 'Limits describes the maximum amount of
  11184. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  11185. type: object
  11186. requests:
  11187. additionalProperties:
  11188. anyOf:
  11189. - type: integer
  11190. - type: string
  11191. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11192. x-kubernetes-int-or-string: true
  11193. description: 'Requests describes the minimum amount
  11194. of compute resources required. If Requests is omitted
  11195. for a container, it defaults to Limits if that is
  11196. explicitly specified, otherwise to an implementation-defined
  11197. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  11198. type: object
  11199. type: object
  11200. securityContext:
  11201. description: 'SecurityContext defines the security options
  11202. the container should be run with. If set, the fields of
  11203. SecurityContext override the equivalent fields of PodSecurityContext.
  11204. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  11205. properties:
  11206. allowPrivilegeEscalation:
  11207. description: 'AllowPrivilegeEscalation controls whether
  11208. a process can gain more privileges than its parent
  11209. process. This bool directly controls if the no_new_privs
  11210. flag will be set on the container process. AllowPrivilegeEscalation
  11211. is true always when the container is: 1) run as Privileged
  11212. 2) has CAP_SYS_ADMIN Note that this field cannot be
  11213. set when spec.os.name is windows.'
  11214. type: boolean
  11215. capabilities:
  11216. description: The capabilities to add/drop when running
  11217. containers. Defaults to the default set of capabilities
  11218. granted by the container runtime. Note that this field
  11219. cannot be set when spec.os.name is windows.
  11220. properties:
  11221. add:
  11222. description: Added capabilities
  11223. items:
  11224. description: Capability represent POSIX capabilities
  11225. type
  11226. type: string
  11227. type: array
  11228. drop:
  11229. description: Removed capabilities
  11230. items:
  11231. description: Capability represent POSIX capabilities
  11232. type
  11233. type: string
  11234. type: array
  11235. type: object
  11236. privileged:
  11237. description: Run container in privileged mode. Processes
  11238. in privileged containers are essentially equivalent
  11239. to root on the host. Defaults to false. Note that
  11240. this field cannot be set when spec.os.name is windows.
  11241. type: boolean
  11242. procMount:
  11243. description: procMount denotes the type of proc mount
  11244. to use for the containers. The default is DefaultProcMount
  11245. which uses the container runtime defaults for readonly
  11246. paths and masked paths. This requires the ProcMountType
  11247. feature flag to be enabled. Note that this field cannot
  11248. be set when spec.os.name is windows.
  11249. type: string
  11250. readOnlyRootFilesystem:
  11251. description: Whether this container has a read-only
  11252. root filesystem. Default is false. Note that this
  11253. field cannot be set when spec.os.name is windows.
  11254. type: boolean
  11255. runAsGroup:
  11256. description: The GID to run the entrypoint of the container
  11257. process. Uses runtime default if unset. May also be
  11258. set in PodSecurityContext. If set in both SecurityContext
  11259. and PodSecurityContext, the value specified in SecurityContext
  11260. takes precedence. Note that this field cannot be set
  11261. when spec.os.name is windows.
  11262. format: int64
  11263. type: integer
  11264. runAsNonRoot:
  11265. description: Indicates that the container must run as
  11266. a non-root user. If true, the Kubelet will validate
  11267. the image at runtime to ensure that it does not run
  11268. as UID 0 (root) and fail to start the container if
  11269. it does. If unset or false, no such validation will
  11270. be performed. May also be set in PodSecurityContext. If
  11271. set in both SecurityContext and PodSecurityContext,
  11272. the value specified in SecurityContext takes precedence.
  11273. type: boolean
  11274. runAsUser:
  11275. description: The UID to run the entrypoint of the container
  11276. process. Defaults to user specified in image metadata
  11277. if unspecified. May also be set in PodSecurityContext. If
  11278. set in both SecurityContext and PodSecurityContext,
  11279. the value specified in SecurityContext takes precedence.
  11280. Note that this field cannot be set when spec.os.name
  11281. is windows.
  11282. format: int64
  11283. type: integer
  11284. seLinuxOptions:
  11285. description: The SELinux context to be applied to the
  11286. container. If unspecified, the container runtime will
  11287. allocate a random SELinux context for each container. May
  11288. also be set in PodSecurityContext. If set in both
  11289. SecurityContext and PodSecurityContext, the value
  11290. specified in SecurityContext takes precedence. Note
  11291. that this field cannot be set when spec.os.name is
  11292. windows.
  11293. properties:
  11294. level:
  11295. description: Level is SELinux level label that applies
  11296. to the container.
  11297. type: string
  11298. role:
  11299. description: Role is a SELinux role label that applies
  11300. to the container.
  11301. type: string
  11302. type:
  11303. description: Type is a SELinux type label that applies
  11304. to the container.
  11305. type: string
  11306. user:
  11307. description: User is a SELinux user label that applies
  11308. to the container.
  11309. type: string
  11310. type: object
  11311. seccompProfile:
  11312. description: The seccomp options to use by this container.
  11313. If seccomp options are provided at both the pod &
  11314. container level, the container options override the
  11315. pod options. Note that this field cannot be set when
  11316. spec.os.name is windows.
  11317. properties:
  11318. localhostProfile:
  11319. description: localhostProfile indicates a profile
  11320. defined in a file on the node should be used.
  11321. The profile must be preconfigured on the node
  11322. to work. Must be a descending path, relative to
  11323. the kubelet's configured seccomp profile location.
  11324. Must only be set if type is "Localhost".
  11325. type: string
  11326. type:
  11327. description: "type indicates which kind of seccomp
  11328. profile will be applied. Valid options are: \n
  11329. Localhost - a profile defined in a file on the
  11330. node should be used. RuntimeDefault - the container
  11331. runtime default profile should be used. Unconfined
  11332. - no profile should be applied."
  11333. type: string
  11334. required:
  11335. - type
  11336. type: object
  11337. windowsOptions:
  11338. description: The Windows specific settings applied to
  11339. all containers. If unspecified, the options from the
  11340. PodSecurityContext will be used. If set in both SecurityContext
  11341. and PodSecurityContext, the value specified in SecurityContext
  11342. takes precedence. Note that this field cannot be set
  11343. when spec.os.name is linux.
  11344. properties:
  11345. gmsaCredentialSpec:
  11346. description: GMSACredentialSpec is where the GMSA
  11347. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  11348. inlines the contents of the GMSA credential spec
  11349. named by the GMSACredentialSpecName field.
  11350. type: string
  11351. gmsaCredentialSpecName:
  11352. description: GMSACredentialSpecName is the name
  11353. of the GMSA credential spec to use.
  11354. type: string
  11355. hostProcess:
  11356. description: HostProcess determines if a container
  11357. should be run as a 'Host Process' container. This
  11358. field is alpha-level and will only be honored
  11359. by components that enable the WindowsHostProcessContainers
  11360. feature flag. Setting this field without the feature
  11361. flag will result in errors when validating the
  11362. Pod. All of a Pod's containers must have the same
  11363. effective HostProcess value (it is not allowed
  11364. to have a mix of HostProcess containers and non-HostProcess
  11365. containers). In addition, if HostProcess is true
  11366. then HostNetwork must also be set to true.
  11367. type: boolean
  11368. runAsUserName:
  11369. description: The UserName in Windows to run the
  11370. entrypoint of the container process. Defaults
  11371. to the user specified in image metadata if unspecified.
  11372. May also be set in PodSecurityContext. If set
  11373. in both SecurityContext and PodSecurityContext,
  11374. the value specified in SecurityContext takes precedence.
  11375. type: string
  11376. type: object
  11377. type: object
  11378. startupProbe:
  11379. description: 'StartupProbe indicates that the Pod has successfully
  11380. initialized. If specified, no other probes are executed
  11381. until this completes successfully. If this probe fails,
  11382. the Pod will be restarted, just as if the livenessProbe
  11383. failed. This can be used to provide different probe parameters
  11384. at the beginning of a Pod''s lifecycle, when it might
  11385. take a long time to load data or warm a cache, than during
  11386. steady-state operation. This cannot be updated. More info:
  11387. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11388. properties:
  11389. exec:
  11390. description: Exec specifies the action to take.
  11391. properties:
  11392. command:
  11393. description: Command is the command line to execute
  11394. inside the container, the working directory for
  11395. the command is root ('/') in the container's
  11396. filesystem. The command is simply exec'd, it is
  11397. not run inside a shell, so traditional shell instructions
  11398. ('|', etc) won't work. To use a shell, you need
  11399. to explicitly call out to that shell. Exit status
  11400. of 0 is treated as live/healthy and non-zero is
  11401. unhealthy.
  11402. items:
  11403. type: string
  11404. type: array
  11405. type: object
  11406. failureThreshold:
  11407. description: Minimum consecutive failures for the probe
  11408. to be considered failed after having succeeded. Defaults
  11409. to 3. Minimum value is 1.
  11410. format: int32
  11411. type: integer
  11412. grpc:
  11413. description: GRPC specifies an action involving a GRPC
  11414. port. This is a beta field and requires enabling GRPCContainerProbe
  11415. feature gate.
  11416. properties:
  11417. port:
  11418. description: Port number of the gRPC service. Number
  11419. must be in the range 1 to 65535.
  11420. format: int32
  11421. type: integer
  11422. service:
  11423. description: "Service is the name of the service
  11424. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  11425. \n If this is not specified, the default behavior
  11426. is defined by gRPC."
  11427. type: string
  11428. required:
  11429. - port
  11430. type: object
  11431. httpGet:
  11432. description: HTTPGet specifies the http request to perform.
  11433. properties:
  11434. host:
  11435. description: Host name to connect to, defaults to
  11436. the pod IP. You probably want to set "Host" in
  11437. httpHeaders instead.
  11438. type: string
  11439. httpHeaders:
  11440. description: Custom headers to set in the request.
  11441. HTTP allows repeated headers.
  11442. items:
  11443. description: HTTPHeader describes a custom header
  11444. to be used in HTTP probes
  11445. properties:
  11446. name:
  11447. description: The header field name
  11448. type: string
  11449. value:
  11450. description: The header field value
  11451. type: string
  11452. required:
  11453. - name
  11454. - value
  11455. type: object
  11456. type: array
  11457. path:
  11458. description: Path to access on the HTTP server.
  11459. type: string
  11460. port:
  11461. anyOf:
  11462. - type: integer
  11463. - type: string
  11464. description: Name or number of the port to access
  11465. on the container. Number must be in the range
  11466. 1 to 65535. Name must be an IANA_SVC_NAME.
  11467. x-kubernetes-int-or-string: true
  11468. scheme:
  11469. description: Scheme to use for connecting to the
  11470. host. Defaults to HTTP.
  11471. type: string
  11472. required:
  11473. - port
  11474. type: object
  11475. initialDelaySeconds:
  11476. description: 'Number of seconds after the container
  11477. has started before liveness probes are initiated.
  11478. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11479. format: int32
  11480. type: integer
  11481. periodSeconds:
  11482. description: How often (in seconds) to perform the probe.
  11483. Default to 10 seconds. Minimum value is 1.
  11484. format: int32
  11485. type: integer
  11486. successThreshold:
  11487. description: Minimum consecutive successes for the probe
  11488. to be considered successful after having failed. Defaults
  11489. to 1. Must be 1 for liveness and startup. Minimum
  11490. value is 1.
  11491. format: int32
  11492. type: integer
  11493. tcpSocket:
  11494. description: TCPSocket specifies an action involving
  11495. a TCP port.
  11496. properties:
  11497. host:
  11498. description: 'Optional: Host name to connect to,
  11499. defaults to the pod IP.'
  11500. type: string
  11501. port:
  11502. anyOf:
  11503. - type: integer
  11504. - type: string
  11505. description: Number or name of the port to access
  11506. on the container. Number must be in the range
  11507. 1 to 65535. Name must be an IANA_SVC_NAME.
  11508. x-kubernetes-int-or-string: true
  11509. required:
  11510. - port
  11511. type: object
  11512. terminationGracePeriodSeconds:
  11513. description: Optional duration in seconds the pod needs
  11514. to terminate gracefully upon probe failure. The grace
  11515. period is the duration in seconds after the processes
  11516. running in the pod are sent a termination signal and
  11517. the time when the processes are forcibly halted with
  11518. a kill signal. Set this value longer than the expected
  11519. cleanup time for your process. If this value is nil,
  11520. the pod's terminationGracePeriodSeconds will be used.
  11521. Otherwise, this value overrides the value provided
  11522. by the pod spec. Value must be non-negative integer.
  11523. The value zero indicates stop immediately via the
  11524. kill signal (no opportunity to shut down). This is
  11525. a beta field and requires enabling ProbeTerminationGracePeriod
  11526. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  11527. is used if unset.
  11528. format: int64
  11529. type: integer
  11530. timeoutSeconds:
  11531. description: 'Number of seconds after which the probe
  11532. times out. Defaults to 1 second. Minimum value is
  11533. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11534. format: int32
  11535. type: integer
  11536. type: object
  11537. stdin:
  11538. description: Whether this container should allocate a buffer
  11539. for stdin in the container runtime. If this is not set,
  11540. reads from stdin in the container will always result in
  11541. EOF. Default is false.
  11542. type: boolean
  11543. stdinOnce:
  11544. description: Whether the container runtime should close
  11545. the stdin channel after it has been opened by a single
  11546. attach. When stdin is true the stdin stream will remain
  11547. open across multiple attach sessions. If stdinOnce is
  11548. set to true, stdin is opened on container start, is empty
  11549. until the first client attaches to stdin, and then remains
  11550. open and accepts data until the client disconnects, at
  11551. which time stdin is closed and remains closed until the
  11552. container is restarted. If this flag is false, a container
  11553. processes that reads from stdin will never receive an
  11554. EOF. Default is false
  11555. type: boolean
  11556. terminationMessagePath:
  11557. description: 'Optional: Path at which the file to which
  11558. the container''s termination message will be written is
  11559. mounted into the container''s filesystem. Message written
  11560. is intended to be brief final status, such as an assertion
  11561. failure message. Will be truncated by the node if greater
  11562. than 4096 bytes. The total message length across all containers
  11563. will be limited to 12kb. Defaults to /dev/termination-log.
  11564. Cannot be updated.'
  11565. type: string
  11566. terminationMessagePolicy:
  11567. description: Indicate how the termination message should
  11568. be populated. File will use the contents of terminationMessagePath
  11569. to populate the container status message on both success
  11570. and failure. FallbackToLogsOnError will use the last chunk
  11571. of container log output if the termination message file
  11572. is empty and the container exited with an error. The log
  11573. output is limited to 2048 bytes or 80 lines, whichever
  11574. is smaller. Defaults to File. Cannot be updated.
  11575. type: string
  11576. tty:
  11577. description: Whether this container should allocate a TTY
  11578. for itself, also requires 'stdin' to be true. Default
  11579. is false.
  11580. type: boolean
  11581. volumeDevices:
  11582. description: volumeDevices is the list of block devices
  11583. to be used by the container.
  11584. items:
  11585. description: volumeDevice describes a mapping of a raw
  11586. block device within a container.
  11587. properties:
  11588. devicePath:
  11589. description: devicePath is the path inside of the
  11590. container that the device will be mapped to.
  11591. type: string
  11592. name:
  11593. description: name must match the name of a persistentVolumeClaim
  11594. in the pod
  11595. type: string
  11596. required:
  11597. - devicePath
  11598. - name
  11599. type: object
  11600. type: array
  11601. volumeMounts:
  11602. description: Pod volumes to mount into the container's filesystem.
  11603. Cannot be updated.
  11604. items:
  11605. description: VolumeMount describes a mounting of a Volume
  11606. within a container.
  11607. properties:
  11608. mountPath:
  11609. description: Path within the container at which the
  11610. volume should be mounted. Must not contain ':'.
  11611. type: string
  11612. mountPropagation:
  11613. description: mountPropagation determines how mounts
  11614. are propagated from the host to container and the
  11615. other way around. When not set, MountPropagationNone
  11616. is used. This field is beta in 1.10.
  11617. type: string
  11618. name:
  11619. description: This must match the Name of a Volume.
  11620. type: string
  11621. readOnly:
  11622. description: Mounted read-only if true, read-write
  11623. otherwise (false or unspecified). Defaults to false.
  11624. type: boolean
  11625. subPath:
  11626. description: Path within the volume from which the
  11627. container's volume should be mounted. Defaults to
  11628. "" (volume's root).
  11629. type: string
  11630. subPathExpr:
  11631. description: Expanded path within the volume from
  11632. which the container's volume should be mounted.
  11633. Behaves similarly to SubPath but environment variable
  11634. references $(VAR_NAME) are expanded using the container's
  11635. environment. Defaults to "" (volume's root). SubPathExpr
  11636. and SubPath are mutually exclusive.
  11637. type: string
  11638. required:
  11639. - mountPath
  11640. - name
  11641. type: object
  11642. type: array
  11643. workingDir:
  11644. description: Container's working directory. If not specified,
  11645. the container runtime's default will be used, which might
  11646. be configured in the container image. Cannot be updated.
  11647. type: string
  11648. required:
  11649. - name
  11650. type: object
  11651. type: array
  11652. nodeName:
  11653. description: NodeName is a request to schedule this pod onto a
  11654. specific node. If it is non-empty, the scheduler simply schedules
  11655. this pod onto that node, assuming that it fits resource requirements.
  11656. type: string
  11657. nodeSelector:
  11658. additionalProperties:
  11659. type: string
  11660. description: 'NodeSelector is a selector which must be true for
  11661. the pod to fit on a node. Selector which must match a node''s
  11662. labels for the pod to be scheduled on that node. More info:
  11663. https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  11664. type: object
  11665. x-kubernetes-map-type: atomic
  11666. os:
  11667. description: "Specifies the OS of the containers in the pod. Some
  11668. pod and container fields are restricted if this is set. \n If
  11669. the OS field is set to linux, the following fields must be unset:
  11670. -securityContext.windowsOptions \n If the OS field is set to
  11671. windows, following fields must be unset: - spec.hostPID - spec.hostIPC
  11672. - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile
  11673. - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy
  11674. - spec.securityContext.sysctls - spec.shareProcessNamespace
  11675. - spec.securityContext.runAsUser - spec.securityContext.runAsGroup
  11676. - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions
  11677. - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities
  11678. - spec.containers[*].securityContext.readOnlyRootFilesystem
  11679. - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation
  11680. - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser
  11681. - spec.containers[*].securityContext.runAsGroup This is a beta
  11682. field and requires the IdentifyPodOS feature"
  11683. properties:
  11684. name:
  11685. description: 'Name is the name of the operating system. The
  11686. currently supported values are linux and windows. Additional
  11687. value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration
  11688. Clients should expect to handle additional values and treat
  11689. unrecognized values in this field as os: null'
  11690. type: string
  11691. required:
  11692. - name
  11693. type: object
  11694. overhead:
  11695. additionalProperties:
  11696. anyOf:
  11697. - type: integer
  11698. - type: string
  11699. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11700. x-kubernetes-int-or-string: true
  11701. description: 'Overhead represents the resource overhead associated
  11702. with running a pod for a given RuntimeClass. This field will
  11703. be autopopulated at admission time by the RuntimeClass admission
  11704. controller. If the RuntimeClass admission controller is enabled,
  11705. overhead must not be set in Pod create requests. The RuntimeClass
  11706. admission controller will reject Pod create requests which have
  11707. the overhead already set. If RuntimeClass is configured and
  11708. selected in the PodSpec, Overhead will be set to the value defined
  11709. in the corresponding RuntimeClass, otherwise it will remain
  11710. unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md'
  11711. type: object
  11712. preemptionPolicy:
  11713. description: PreemptionPolicy is the Policy for preempting pods
  11714. with lower priority. One of Never, PreemptLowerPriority. Defaults
  11715. to PreemptLowerPriority if unset.
  11716. type: string
  11717. priority:
  11718. description: The priority value. Various system components use
  11719. this field to find the priority of the pod. When Priority Admission
  11720. Controller is enabled, it prevents users from setting this field.
  11721. The admission controller populates this field from PriorityClassName.
  11722. The higher the value, the higher the priority.
  11723. format: int32
  11724. type: integer
  11725. priorityClassName:
  11726. description: If specified, indicates the pod's priority. "system-node-critical"
  11727. and "system-cluster-critical" are two special keywords which
  11728. indicate the highest priorities with the former being the highest
  11729. priority. Any other name must be defined by creating a PriorityClass
  11730. object with that name. If not specified, the pod priority will
  11731. be default or zero if there is no default.
  11732. type: string
  11733. readinessGates:
  11734. description: 'If specified, all readiness gates will be evaluated
  11735. for pod readiness. A pod is ready when all its containers are
  11736. ready AND all conditions specified in the readiness gates have
  11737. status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates'
  11738. items:
  11739. description: PodReadinessGate contains the reference to a pod
  11740. condition
  11741. properties:
  11742. conditionType:
  11743. description: ConditionType refers to a condition in the
  11744. pod's condition list with matching type.
  11745. type: string
  11746. required:
  11747. - conditionType
  11748. type: object
  11749. type: array
  11750. restartPolicy:
  11751. description: 'Restart policy for all containers within the pod.
  11752. One of Always, OnFailure, Never. Default to Always. More info:
  11753. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy'
  11754. type: string
  11755. runtimeClassName:
  11756. description: 'RuntimeClassName refers to a RuntimeClass object
  11757. in the node.k8s.io group, which should be used to run this pod. If
  11758. no RuntimeClass resource matches the named class, the pod will
  11759. not be run. If unset or empty, the "legacy" RuntimeClass will
  11760. be used, which is an implicit class with an empty definition
  11761. that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class'
  11762. type: string
  11763. schedulerName:
  11764. description: If specified, the pod will be dispatched by specified
  11765. scheduler. If not specified, the pod will be dispatched by default
  11766. scheduler.
  11767. type: string
  11768. securityContext:
  11769. description: 'SecurityContext holds pod-level security attributes
  11770. and common container settings. Optional: Defaults to empty. See
  11771. type description for default values of each field.'
  11772. properties:
  11773. fsGroup:
  11774. description: "A special supplemental group that applies to
  11775. all containers in a pod. Some volume types allow the Kubelet
  11776. to change the ownership of that volume to be owned by the
  11777. pod: \n 1. The owning GID will be the FSGroup 2. The setgid
  11778. bit is set (new files created in the volume will be owned
  11779. by FSGroup) 3. The permission bits are OR'd with rw-rw----
  11780. \n If unset, the Kubelet will not modify the ownership and
  11781. permissions of any volume. Note that this field cannot be
  11782. set when spec.os.name is windows."
  11783. format: int64
  11784. type: integer
  11785. fsGroupChangePolicy:
  11786. description: 'fsGroupChangePolicy defines behavior of changing
  11787. ownership and permission of the volume before being exposed
  11788. inside Pod. This field will only apply to volume types which
  11789. support fsGroup based ownership(and permissions). It will
  11790. have no effect on ephemeral volume types such as: secret,
  11791. configmaps and emptydir. Valid values are "OnRootMismatch"
  11792. and "Always". If not specified, "Always" is used. Note that
  11793. this field cannot be set when spec.os.name is windows.'
  11794. type: string
  11795. runAsGroup:
  11796. description: The GID to run the entrypoint of the container
  11797. process. Uses runtime default if unset. May also be set
  11798. in SecurityContext. If set in both SecurityContext and
  11799. PodSecurityContext, the value specified in SecurityContext
  11800. takes precedence for that container. Note that this field
  11801. cannot be set when spec.os.name is windows.
  11802. format: int64
  11803. type: integer
  11804. runAsNonRoot:
  11805. description: Indicates that the container must run as a non-root
  11806. user. If true, the Kubelet will validate the image at runtime
  11807. to ensure that it does not run as UID 0 (root) and fail
  11808. to start the container if it does. If unset or false, no
  11809. such validation will be performed. May also be set in SecurityContext. If
  11810. set in both SecurityContext and PodSecurityContext, the
  11811. value specified in SecurityContext takes precedence.
  11812. type: boolean
  11813. runAsUser:
  11814. description: The UID to run the entrypoint of the container
  11815. process. Defaults to user specified in image metadata if
  11816. unspecified. May also be set in SecurityContext. If set
  11817. in both SecurityContext and PodSecurityContext, the value
  11818. specified in SecurityContext takes precedence for that container.
  11819. Note that this field cannot be set when spec.os.name is
  11820. windows.
  11821. format: int64
  11822. type: integer
  11823. seLinuxOptions:
  11824. description: The SELinux context to be applied to all containers.
  11825. If unspecified, the container runtime will allocate a random
  11826. SELinux context for each container. May also be set in
  11827. SecurityContext. If set in both SecurityContext and PodSecurityContext,
  11828. the value specified in SecurityContext takes precedence
  11829. for that container. Note that this field cannot be set when
  11830. spec.os.name is windows.
  11831. properties:
  11832. level:
  11833. description: Level is SELinux level label that applies
  11834. to the container.
  11835. type: string
  11836. role:
  11837. description: Role is a SELinux role label that applies
  11838. to the container.
  11839. type: string
  11840. type:
  11841. description: Type is a SELinux type label that applies
  11842. to the container.
  11843. type: string
  11844. user:
  11845. description: User is a SELinux user label that applies
  11846. to the container.
  11847. type: string
  11848. type: object
  11849. seccompProfile:
  11850. description: The seccomp options to use by the containers
  11851. in this pod. Note that this field cannot be set when spec.os.name
  11852. is windows.
  11853. properties:
  11854. localhostProfile:
  11855. description: localhostProfile indicates a profile defined
  11856. in a file on the node should be used. The profile must
  11857. be preconfigured on the node to work. Must be a descending
  11858. path, relative to the kubelet's configured seccomp profile
  11859. location. Must only be set if type is "Localhost".
  11860. type: string
  11861. type:
  11862. description: "type indicates which kind of seccomp profile
  11863. will be applied. Valid options are: \n Localhost - a
  11864. profile defined in a file on the node should be used.
  11865. RuntimeDefault - the container runtime default profile
  11866. should be used. Unconfined - no profile should be applied."
  11867. type: string
  11868. required:
  11869. - type
  11870. type: object
  11871. supplementalGroups:
  11872. description: A list of groups applied to the first process
  11873. run in each container, in addition to the container's primary
  11874. GID. If unspecified, no groups will be added to any container.
  11875. Note that this field cannot be set when spec.os.name is
  11876. windows.
  11877. items:
  11878. format: int64
  11879. type: integer
  11880. type: array
  11881. sysctls:
  11882. description: Sysctls hold a list of namespaced sysctls used
  11883. for the pod. Pods with unsupported sysctls (by the container
  11884. runtime) might fail to launch. Note that this field cannot
  11885. be set when spec.os.name is windows.
  11886. items:
  11887. description: Sysctl defines a kernel parameter to be set
  11888. properties:
  11889. name:
  11890. description: Name of a property to set
  11891. type: string
  11892. value:
  11893. description: Value of a property to set
  11894. type: string
  11895. required:
  11896. - name
  11897. - value
  11898. type: object
  11899. type: array
  11900. windowsOptions:
  11901. description: The Windows specific settings applied to all
  11902. containers. If unspecified, the options within a container's
  11903. SecurityContext will be used. If set in both SecurityContext
  11904. and PodSecurityContext, the value specified in SecurityContext
  11905. takes precedence. Note that this field cannot be set when
  11906. spec.os.name is linux.
  11907. properties:
  11908. gmsaCredentialSpec:
  11909. description: GMSACredentialSpec is where the GMSA admission
  11910. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  11911. inlines the contents of the GMSA credential spec named
  11912. by the GMSACredentialSpecName field.
  11913. type: string
  11914. gmsaCredentialSpecName:
  11915. description: GMSACredentialSpecName is the name of the
  11916. GMSA credential spec to use.
  11917. type: string
  11918. hostProcess:
  11919. description: HostProcess determines if a container should
  11920. be run as a 'Host Process' container. This field is
  11921. alpha-level and will only be honored by components that
  11922. enable the WindowsHostProcessContainers feature flag.
  11923. Setting this field without the feature flag will result
  11924. in errors when validating the Pod. All of a Pod's containers
  11925. must have the same effective HostProcess value (it is
  11926. not allowed to have a mix of HostProcess containers
  11927. and non-HostProcess containers). In addition, if HostProcess
  11928. is true then HostNetwork must also be set to true.
  11929. type: boolean
  11930. runAsUserName:
  11931. description: The UserName in Windows to run the entrypoint
  11932. of the container process. Defaults to the user specified
  11933. in image metadata if unspecified. May also be set in
  11934. PodSecurityContext. If set in both SecurityContext and
  11935. PodSecurityContext, the value specified in SecurityContext
  11936. takes precedence.
  11937. type: string
  11938. type: object
  11939. type: object
  11940. serviceAccount:
  11941. description: 'DeprecatedServiceAccount is a depreciated alias
  11942. for ServiceAccountName. Deprecated: Use serviceAccountName instead.'
  11943. type: string
  11944. serviceAccountName:
  11945. description: 'ServiceAccountName is the name of the ServiceAccount
  11946. to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  11947. type: string
  11948. setHostnameAsFQDN:
  11949. description: If true the pod's hostname will be configured as
  11950. the pod's FQDN, rather than the leaf name (the default). In
  11951. Linux containers, this means setting the FQDN in the hostname
  11952. field of the kernel (the nodename field of struct utsname).
  11953. In Windows containers, this means setting the registry value
  11954. of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters
  11955. to FQDN. If a pod does not have FQDN, this has no effect. Default
  11956. to false.
  11957. type: boolean
  11958. shareProcessNamespace:
  11959. description: 'Share a single process namespace between all of
  11960. the containers in a pod. When this is set containers will be
  11961. able to view and signal processes from other containers in the
  11962. same pod, and the first process in each container will not be
  11963. assigned PID 1. HostPID and ShareProcessNamespace cannot both
  11964. be set. Optional: Default to false.'
  11965. type: boolean
  11966. subdomain:
  11967. description: If specified, the fully qualified Pod hostname will
  11968. be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
  11969. If not specified, the pod will not have a domainname at all.
  11970. type: string
  11971. terminationGracePeriodSeconds:
  11972. description: Optional duration in seconds the pod needs to terminate
  11973. gracefully. May be decreased in delete request. Value must be
  11974. non-negative integer. The value zero indicates stop immediately
  11975. via the kill signal (no opportunity to shut down). If this value
  11976. is nil, the default grace period will be used instead. The grace
  11977. period is the duration in seconds after the processes running
  11978. in the pod are sent a termination signal and the time when the
  11979. processes are forcibly halted with a kill signal. Set this value
  11980. longer than the expected cleanup time for your process. Defaults
  11981. to 30 seconds.
  11982. format: int64
  11983. type: integer
  11984. tolerations:
  11985. description: If specified, the pod's tolerations.
  11986. items:
  11987. description: The pod this Toleration is attached to tolerates
  11988. any taint that matches the triple <key,value,effect> using
  11989. the matching operator <operator>.
  11990. properties:
  11991. effect:
  11992. description: Effect indicates the taint effect to match.
  11993. Empty means match all taint effects. When specified, allowed
  11994. values are NoSchedule, PreferNoSchedule and NoExecute.
  11995. type: string
  11996. key:
  11997. description: Key is the taint key that the toleration applies
  11998. to. Empty means match all taint keys. If the key is empty,
  11999. operator must be Exists; this combination means to match
  12000. all values and all keys.
  12001. type: string
  12002. operator:
  12003. description: Operator represents a key's relationship to
  12004. the value. Valid operators are Exists and Equal. Defaults
  12005. to Equal. Exists is equivalent to wildcard for value,
  12006. so that a pod can tolerate all taints of a particular
  12007. category.
  12008. type: string
  12009. tolerationSeconds:
  12010. description: TolerationSeconds represents the period of
  12011. time the toleration (which must be of effect NoExecute,
  12012. otherwise this field is ignored) tolerates the taint.
  12013. By default, it is not set, which means tolerate the taint
  12014. forever (do not evict). Zero and negative values will
  12015. be treated as 0 (evict immediately) by the system.
  12016. format: int64
  12017. type: integer
  12018. value:
  12019. description: Value is the taint value the toleration matches
  12020. to. If the operator is Exists, the value should be empty,
  12021. otherwise just a regular string.
  12022. type: string
  12023. type: object
  12024. type: array
  12025. topologySpreadConstraints:
  12026. description: TopologySpreadConstraints describes how a group of
  12027. pods ought to spread across topology domains. Scheduler will
  12028. schedule pods in a way which abides by the constraints. All
  12029. topologySpreadConstraints are ANDed.
  12030. items:
  12031. description: TopologySpreadConstraint specifies how to spread
  12032. matching pods among the given topology.
  12033. properties:
  12034. labelSelector:
  12035. description: LabelSelector is used to find matching pods.
  12036. Pods that match this label selector are counted to determine
  12037. the number of pods in their corresponding topology domain.
  12038. properties:
  12039. matchExpressions:
  12040. description: matchExpressions is a list of label selector
  12041. requirements. The requirements are ANDed.
  12042. items:
  12043. description: A label selector requirement is a selector
  12044. that contains values, a key, and an operator that
  12045. relates the key and values.
  12046. properties:
  12047. key:
  12048. description: key is the label key that the selector
  12049. applies to.
  12050. type: string
  12051. operator:
  12052. description: operator represents a key's relationship
  12053. to a set of values. Valid operators are In,
  12054. NotIn, Exists and DoesNotExist.
  12055. type: string
  12056. values:
  12057. description: values is an array of string values.
  12058. If the operator is In or NotIn, the values array
  12059. must be non-empty. If the operator is Exists
  12060. or DoesNotExist, the values array must be empty.
  12061. This array is replaced during a strategic merge
  12062. patch.
  12063. items:
  12064. type: string
  12065. type: array
  12066. required:
  12067. - key
  12068. - operator
  12069. type: object
  12070. type: array
  12071. matchLabels:
  12072. additionalProperties:
  12073. type: string
  12074. description: matchLabels is a map of {key,value} pairs.
  12075. A single {key,value} in the matchLabels map is equivalent
  12076. to an element of matchExpressions, whose key field
  12077. is "key", the operator is "In", and the values array
  12078. contains only "value". The requirements are ANDed.
  12079. type: object
  12080. type: object
  12081. x-kubernetes-map-type: atomic
  12082. maxSkew:
  12083. description: 'MaxSkew describes the degree to which pods
  12084. may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  12085. it is the maximum permitted difference between the number
  12086. of matching pods in the target topology and the global
  12087. minimum. The global minimum is the minimum number of matching
  12088. pods in an eligible domain or zero if the number of eligible
  12089. domains is less than MinDomains. For example, in a 3-zone
  12090. cluster, MaxSkew is set to 1, and pods with the same labelSelector
  12091. spread as 2/2/1: In this case, the global minimum is 1.
  12092. | zone1 | zone2 | zone3 | | P P | P P | P | -
  12093. if MaxSkew is 1, incoming pod can only be scheduled to
  12094. zone3 to become 2/2/2; scheduling it onto zone1(zone2)
  12095. would make the ActualSkew(3-1) on zone1(zone2) violate
  12096. MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled
  12097. onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  12098. it is used to give higher precedence to topologies that
  12099. satisfy it. It''s a required field. Default value is 1
  12100. and 0 is not allowed.'
  12101. format: int32
  12102. type: integer
  12103. minDomains:
  12104. description: "MinDomains indicates a minimum number of eligible
  12105. domains. When the number of eligible domains with matching
  12106. topology keys is less than minDomains, Pod Topology Spread
  12107. treats \"global minimum\" as 0, and then the calculation
  12108. of Skew is performed. And when the number of eligible
  12109. domains with matching topology keys equals or greater
  12110. than minDomains, this value has no effect on scheduling.
  12111. As a result, when the number of eligible domains is less
  12112. than minDomains, scheduler won't schedule more than maxSkew
  12113. Pods to those domains. If value is nil, the constraint
  12114. behaves as if MinDomains is equal to 1. Valid values are
  12115. integers greater than 0. When value is not nil, WhenUnsatisfiable
  12116. must be DoNotSchedule. \n For example, in a 3-zone cluster,
  12117. MaxSkew is set to 2, MinDomains is set to 5 and pods with
  12118. the same labelSelector spread as 2/2/2: | zone1 | zone2
  12119. | zone3 | | P P | P P | P P | The number of domains
  12120. is less than 5(MinDomains), so \"global minimum\" is treated
  12121. as 0. In this situation, new pod with the same labelSelector
  12122. cannot be scheduled, because computed skew will be 3(3
  12123. - 0) if new Pod is scheduled to any of the three zones,
  12124. it will violate MaxSkew. \n This is an alpha field and
  12125. requires enabling MinDomainsInPodTopologySpread feature
  12126. gate."
  12127. format: int32
  12128. type: integer
  12129. topologyKey:
  12130. description: TopologyKey is the key of node labels. Nodes
  12131. that have a label with this key and identical values are
  12132. considered to be in the same topology. We consider each
  12133. <key, value> as a "bucket", and try to put balanced number
  12134. of pods into each bucket. We define a domain as a particular
  12135. instance of a topology. Also, we define an eligible domain
  12136. as a domain whose nodes match the node selector. e.g.
  12137. If TopologyKey is "kubernetes.io/hostname", each Node
  12138. is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone",
  12139. each zone is a domain of that topology. It's a required
  12140. field.
  12141. type: string
  12142. whenUnsatisfiable:
  12143. description: 'WhenUnsatisfiable indicates how to deal with
  12144. a pod if it doesn''t satisfy the spread constraint. -
  12145. DoNotSchedule (default) tells the scheduler not to schedule
  12146. it. - ScheduleAnyway tells the scheduler to schedule the
  12147. pod in any location, but giving higher precedence to topologies
  12148. that would help reduce the skew. A constraint is considered
  12149. "Unsatisfiable" for an incoming pod if and only if every
  12150. possible node assignment for that pod would violate "MaxSkew"
  12151. on some topology. For example, in a 3-zone cluster, MaxSkew
  12152. is set to 1, and pods with the same labelSelector spread
  12153. as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
  12154. If WhenUnsatisfiable is set to DoNotSchedule, incoming
  12155. pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
  12156. as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1).
  12157. In other words, the cluster can still be imbalanced, but
  12158. scheduler won''t make it *more* imbalanced. It''s a required
  12159. field.'
  12160. type: string
  12161. required:
  12162. - maxSkew
  12163. - topologyKey
  12164. - whenUnsatisfiable
  12165. type: object
  12166. type: array
  12167. x-kubernetes-list-map-keys:
  12168. - topologyKey
  12169. - whenUnsatisfiable
  12170. x-kubernetes-list-type: map
  12171. volumes:
  12172. description: 'List of volumes that can be mounted by containers
  12173. belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  12174. items:
  12175. description: Volume represents a named volume in a pod that
  12176. may be accessed by any container in the pod.
  12177. properties:
  12178. awsElasticBlockStore:
  12179. description: 'awsElasticBlockStore represents an AWS Disk
  12180. resource that is attached to a kubelet''s host machine
  12181. and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  12182. properties:
  12183. fsType:
  12184. description: 'fsType is the filesystem type of the volume
  12185. that you want to mount. Tip: Ensure that the filesystem
  12186. type is supported by the host operating system. Examples:
  12187. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  12188. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  12189. TODO: how do we prevent errors in the filesystem from
  12190. compromising the machine'
  12191. type: string
  12192. partition:
  12193. description: 'partition is the partition in the volume
  12194. that you want to mount. If omitted, the default is
  12195. to mount by volume name. Examples: For volume /dev/sda1,
  12196. you specify the partition as "1". Similarly, the volume
  12197. partition for /dev/sda is "0" (or you can leave the
  12198. property empty).'
  12199. format: int32
  12200. type: integer
  12201. readOnly:
  12202. description: 'readOnly value true will force the readOnly
  12203. setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  12204. type: boolean
  12205. volumeID:
  12206. description: 'volumeID is unique ID of the persistent
  12207. disk resource in AWS (Amazon EBS volume). More info:
  12208. https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  12209. type: string
  12210. required:
  12211. - volumeID
  12212. type: object
  12213. azureDisk:
  12214. description: azureDisk represents an Azure Data Disk mount
  12215. on the host and bind mount to the pod.
  12216. properties:
  12217. cachingMode:
  12218. description: 'cachingMode is the Host Caching mode:
  12219. None, Read Only, Read Write.'
  12220. type: string
  12221. diskName:
  12222. description: diskName is the Name of the data disk in
  12223. the blob storage
  12224. type: string
  12225. diskURI:
  12226. description: diskURI is the URI of data disk in the
  12227. blob storage
  12228. type: string
  12229. fsType:
  12230. description: fsType is Filesystem type to mount. Must
  12231. be a filesystem type supported by the host operating
  12232. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  12233. to be "ext4" if unspecified.
  12234. type: string
  12235. kind:
  12236. description: 'kind expected values are Shared: multiple
  12237. blob disks per storage account Dedicated: single
  12238. blob disk per storage account Managed: azure managed
  12239. data disk (only in managed availability set). defaults
  12240. to shared'
  12241. type: string
  12242. readOnly:
  12243. description: readOnly Defaults to false (read/write).
  12244. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  12245. type: boolean
  12246. required:
  12247. - diskName
  12248. - diskURI
  12249. type: object
  12250. azureFile:
  12251. description: azureFile represents an Azure File Service
  12252. mount on the host and bind mount to the pod.
  12253. properties:
  12254. readOnly:
  12255. description: readOnly defaults to false (read/write).
  12256. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  12257. type: boolean
  12258. secretName:
  12259. description: secretName is the name of secret that
  12260. contains Azure Storage Account Name and Key
  12261. type: string
  12262. shareName:
  12263. description: shareName is the azure share Name
  12264. type: string
  12265. required:
  12266. - secretName
  12267. - shareName
  12268. type: object
  12269. cephfs:
  12270. description: cephFS represents a Ceph FS mount on the host
  12271. that shares a pod's lifetime
  12272. properties:
  12273. monitors:
  12274. description: 'monitors is Required: Monitors is a collection
  12275. of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12276. items:
  12277. type: string
  12278. type: array
  12279. path:
  12280. description: 'path is Optional: Used as the mounted
  12281. root, rather than the full Ceph tree, default is /'
  12282. type: string
  12283. readOnly:
  12284. description: 'readOnly is Optional: Defaults to false
  12285. (read/write). ReadOnly here will force the ReadOnly
  12286. setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12287. type: boolean
  12288. secretFile:
  12289. description: 'secretFile is Optional: SecretFile is
  12290. the path to key ring for User, default is /etc/ceph/user.secret
  12291. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12292. type: string
  12293. secretRef:
  12294. description: 'secretRef is Optional: SecretRef is reference
  12295. to the authentication secret for User, default is
  12296. empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12297. properties:
  12298. name:
  12299. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12300. TODO: Add other useful fields. apiVersion, kind,
  12301. uid?'
  12302. type: string
  12303. type: object
  12304. x-kubernetes-map-type: atomic
  12305. user:
  12306. description: 'user is optional: User is the rados user
  12307. name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12308. type: string
  12309. required:
  12310. - monitors
  12311. type: object
  12312. cinder:
  12313. description: 'cinder represents a cinder volume attached
  12314. and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12315. properties:
  12316. fsType:
  12317. description: 'fsType is the filesystem type to mount.
  12318. Must be a filesystem type supported by the host operating
  12319. system. Examples: "ext4", "xfs", "ntfs". Implicitly
  12320. inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12321. type: string
  12322. readOnly:
  12323. description: 'readOnly defaults to false (read/write).
  12324. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  12325. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12326. type: boolean
  12327. secretRef:
  12328. description: 'secretRef is optional: points to a secret
  12329. object containing parameters used to connect to OpenStack.'
  12330. properties:
  12331. name:
  12332. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12333. TODO: Add other useful fields. apiVersion, kind,
  12334. uid?'
  12335. type: string
  12336. type: object
  12337. x-kubernetes-map-type: atomic
  12338. volumeID:
  12339. description: 'volumeID used to identify the volume in
  12340. cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12341. type: string
  12342. required:
  12343. - volumeID
  12344. type: object
  12345. configMap:
  12346. description: configMap represents a configMap that should
  12347. populate this volume
  12348. properties:
  12349. defaultMode:
  12350. description: 'defaultMode is optional: mode bits used
  12351. to set permissions on created files by default. Must
  12352. be an octal value between 0000 and 0777 or a decimal
  12353. value between 0 and 511. YAML accepts both octal and
  12354. decimal values, JSON requires decimal values for mode
  12355. bits. Defaults to 0644. Directories within the path
  12356. are not affected by this setting. This might be in
  12357. conflict with other options that affect the file mode,
  12358. like fsGroup, and the result can be other mode bits
  12359. set.'
  12360. format: int32
  12361. type: integer
  12362. items:
  12363. description: items if unspecified, each key-value pair
  12364. in the Data field of the referenced ConfigMap will
  12365. be projected into the volume as a file whose name
  12366. is the key and content is the value. If specified,
  12367. the listed keys will be projected into the specified
  12368. paths, and unlisted keys will not be present. If a
  12369. key is specified which is not present in the ConfigMap,
  12370. the volume setup will error unless it is marked optional.
  12371. Paths must be relative and may not contain the '..'
  12372. path or start with '..'.
  12373. items:
  12374. description: Maps a string key to a path within a
  12375. volume.
  12376. properties:
  12377. key:
  12378. description: key is the key to project.
  12379. type: string
  12380. mode:
  12381. description: 'mode is Optional: mode bits used
  12382. to set permissions on this file. Must be an
  12383. octal value between 0000 and 0777 or a decimal
  12384. value between 0 and 511. YAML accepts both octal
  12385. and decimal values, JSON requires decimal values
  12386. for mode bits. If not specified, the volume
  12387. defaultMode will be used. This might be in conflict
  12388. with other options that affect the file mode,
  12389. like fsGroup, and the result can be other mode
  12390. bits set.'
  12391. format: int32
  12392. type: integer
  12393. path:
  12394. description: path is the relative path of the
  12395. file to map the key to. May not be an absolute
  12396. path. May not contain the path element '..'.
  12397. May not start with the string '..'.
  12398. type: string
  12399. required:
  12400. - key
  12401. - path
  12402. type: object
  12403. type: array
  12404. name:
  12405. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12406. TODO: Add other useful fields. apiVersion, kind, uid?'
  12407. type: string
  12408. optional:
  12409. description: optional specify whether the ConfigMap
  12410. or its keys must be defined
  12411. type: boolean
  12412. type: object
  12413. x-kubernetes-map-type: atomic
  12414. csi:
  12415. description: csi (Container Storage Interface) represents
  12416. ephemeral storage that is handled by certain external
  12417. CSI drivers (Beta feature).
  12418. properties:
  12419. driver:
  12420. description: driver is the name of the CSI driver that
  12421. handles this volume. Consult with your admin for the
  12422. correct name as registered in the cluster.
  12423. type: string
  12424. fsType:
  12425. description: fsType to mount. Ex. "ext4", "xfs", "ntfs".
  12426. If not provided, the empty value is passed to the
  12427. associated CSI driver which will determine the default
  12428. filesystem to apply.
  12429. type: string
  12430. nodePublishSecretRef:
  12431. description: nodePublishSecretRef is a reference to
  12432. the secret object containing sensitive information
  12433. to pass to the CSI driver to complete the CSI NodePublishVolume
  12434. and NodeUnpublishVolume calls. This field is optional,
  12435. and may be empty if no secret is required. If the
  12436. secret object contains more than one secret, all secret
  12437. references are passed.
  12438. properties:
  12439. name:
  12440. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12441. TODO: Add other useful fields. apiVersion, kind,
  12442. uid?'
  12443. type: string
  12444. type: object
  12445. x-kubernetes-map-type: atomic
  12446. readOnly:
  12447. description: readOnly specifies a read-only configuration
  12448. for the volume. Defaults to false (read/write).
  12449. type: boolean
  12450. volumeAttributes:
  12451. additionalProperties:
  12452. type: string
  12453. description: volumeAttributes stores driver-specific
  12454. properties that are passed to the CSI driver. Consult
  12455. your driver's documentation for supported values.
  12456. type: object
  12457. required:
  12458. - driver
  12459. type: object
  12460. downwardAPI:
  12461. description: downwardAPI represents downward API about the
  12462. pod that should populate this volume
  12463. properties:
  12464. defaultMode:
  12465. description: 'Optional: mode bits to use on created
  12466. files by default. Must be a Optional: mode bits used
  12467. to set permissions on created files by default. Must
  12468. be an octal value between 0000 and 0777 or a decimal
  12469. value between 0 and 511. YAML accepts both octal and
  12470. decimal values, JSON requires decimal values for mode
  12471. bits. Defaults to 0644. Directories within the path
  12472. are not affected by this setting. This might be in
  12473. conflict with other options that affect the file mode,
  12474. like fsGroup, and the result can be other mode bits
  12475. set.'
  12476. format: int32
  12477. type: integer
  12478. items:
  12479. description: Items is a list of downward API volume
  12480. file
  12481. items:
  12482. description: DownwardAPIVolumeFile represents information
  12483. to create the file containing the pod field
  12484. properties:
  12485. fieldRef:
  12486. description: 'Required: Selects a field of the
  12487. pod: only annotations, labels, name and namespace
  12488. are supported.'
  12489. properties:
  12490. apiVersion:
  12491. description: Version of the schema the FieldPath
  12492. is written in terms of, defaults to "v1".
  12493. type: string
  12494. fieldPath:
  12495. description: Path of the field to select in
  12496. the specified API version.
  12497. type: string
  12498. required:
  12499. - fieldPath
  12500. type: object
  12501. x-kubernetes-map-type: atomic
  12502. mode:
  12503. description: 'Optional: mode bits used to set
  12504. permissions on this file, must be an octal value
  12505. between 0000 and 0777 or a decimal value between
  12506. 0 and 511. YAML accepts both octal and decimal
  12507. values, JSON requires decimal values for mode
  12508. bits. If not specified, the volume defaultMode
  12509. will be used. This might be in conflict with
  12510. other options that affect the file mode, like
  12511. fsGroup, and the result can be other mode bits
  12512. set.'
  12513. format: int32
  12514. type: integer
  12515. path:
  12516. description: 'Required: Path is the relative
  12517. path name of the file to be created. Must not
  12518. be absolute or contain the ''..'' path. Must
  12519. be utf-8 encoded. The first item of the relative
  12520. path must not start with ''..'''
  12521. type: string
  12522. resourceFieldRef:
  12523. description: 'Selects a resource of the container:
  12524. only resources limits and requests (limits.cpu,
  12525. limits.memory, requests.cpu and requests.memory)
  12526. are currently supported.'
  12527. properties:
  12528. containerName:
  12529. description: 'Container name: required for
  12530. volumes, optional for env vars'
  12531. type: string
  12532. divisor:
  12533. anyOf:
  12534. - type: integer
  12535. - type: string
  12536. description: Specifies the output format of
  12537. the exposed resources, defaults to "1"
  12538. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12539. x-kubernetes-int-or-string: true
  12540. resource:
  12541. description: 'Required: resource to select'
  12542. type: string
  12543. required:
  12544. - resource
  12545. type: object
  12546. x-kubernetes-map-type: atomic
  12547. required:
  12548. - path
  12549. type: object
  12550. type: array
  12551. type: object
  12552. emptyDir:
  12553. description: 'emptyDir represents a temporary directory
  12554. that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  12555. properties:
  12556. medium:
  12557. description: 'medium represents what type of storage
  12558. medium should back this directory. The default is
  12559. "" which means to use the node''s default medium.
  12560. Must be an empty string (default) or Memory. More
  12561. info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  12562. type: string
  12563. sizeLimit:
  12564. anyOf:
  12565. - type: integer
  12566. - type: string
  12567. description: 'sizeLimit is the total amount of local
  12568. storage required for this EmptyDir volume. The size
  12569. limit is also applicable for memory medium. The maximum
  12570. usage on memory medium EmptyDir would be the minimum
  12571. value between the SizeLimit specified here and the
  12572. sum of memory limits of all containers in a pod. The
  12573. default is nil which means that the limit is undefined.
  12574. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  12575. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12576. x-kubernetes-int-or-string: true
  12577. type: object
  12578. ephemeral:
  12579. description: "ephemeral represents a volume that is handled
  12580. by a cluster storage driver. The volume's lifecycle is
  12581. tied to the pod that defines it - it will be created before
  12582. the pod starts, and deleted when the pod is removed. \n
  12583. Use this if: a) the volume is only needed while the pod
  12584. runs, b) features of normal volumes like restoring from
  12585. snapshot or capacity tracking are needed, c) the storage
  12586. driver is specified through a storage class, and d) the
  12587. storage driver supports dynamic volume provisioning through
  12588. a PersistentVolumeClaim (see EphemeralVolumeSource for
  12589. more information on the connection between this volume
  12590. type and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  12591. or one of the vendor-specific APIs for volumes that persist
  12592. for longer than the lifecycle of an individual pod. \n
  12593. Use CSI for light-weight local ephemeral volumes if the
  12594. CSI driver is meant to be used that way - see the documentation
  12595. of the driver for more information. \n A pod can use both
  12596. types of ephemeral volumes and persistent volumes at the
  12597. same time."
  12598. properties:
  12599. volumeClaimTemplate:
  12600. description: "Will be used to create a stand-alone PVC
  12601. to provision the volume. The pod in which this EphemeralVolumeSource
  12602. is embedded will be the owner of the PVC, i.e. the
  12603. PVC will be deleted together with the pod. The name
  12604. of the PVC will be `<pod name>-<volume name>` where
  12605. `<volume name>` is the name from the `PodSpec.Volumes`
  12606. array entry. Pod validation will reject the pod if
  12607. the concatenated name is not valid for a PVC (for
  12608. example, too long). \n An existing PVC with that name
  12609. that is not owned by the pod will *not* be used for
  12610. the pod to avoid using an unrelated volume by mistake.
  12611. Starting the pod is then blocked until the unrelated
  12612. PVC is removed. If such a pre-created PVC is meant
  12613. to be used by the pod, the PVC has to updated with
  12614. an owner reference to the pod once the pod exists.
  12615. Normally this should not be necessary, but it may
  12616. be useful when manually reconstructing a broken cluster.
  12617. \n This field is read-only and no changes will be
  12618. made by Kubernetes to the PVC after it has been created.
  12619. \n Required, must not be nil."
  12620. properties:
  12621. metadata:
  12622. description: May contain labels and annotations
  12623. that will be copied into the PVC when creating
  12624. it. No other fields are allowed and will be rejected
  12625. during validation.
  12626. type: object
  12627. spec:
  12628. description: The specification for the PersistentVolumeClaim.
  12629. The entire content is copied unchanged into the
  12630. PVC that gets created from this template. The
  12631. same fields as in a PersistentVolumeClaim are
  12632. also valid here.
  12633. properties:
  12634. accessModes:
  12635. description: 'accessModes contains the desired
  12636. access modes the volume should have. More
  12637. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  12638. items:
  12639. type: string
  12640. type: array
  12641. dataSource:
  12642. description: 'dataSource field can be used to
  12643. specify either: * An existing VolumeSnapshot
  12644. object (snapshot.storage.k8s.io/VolumeSnapshot)
  12645. * An existing PVC (PersistentVolumeClaim)
  12646. If the provisioner or an external controller
  12647. can support the specified data source, it
  12648. will create a new volume based on the contents
  12649. of the specified data source. If the AnyVolumeDataSource
  12650. feature gate is enabled, this field will always
  12651. have the same contents as the DataSourceRef
  12652. field.'
  12653. properties:
  12654. apiGroup:
  12655. description: APIGroup is the group for the
  12656. resource being referenced. If APIGroup
  12657. is not specified, the specified Kind must
  12658. be in the core API group. For any other
  12659. third-party types, APIGroup is required.
  12660. type: string
  12661. kind:
  12662. description: Kind is the type of resource
  12663. being referenced
  12664. type: string
  12665. name:
  12666. description: Name is the name of resource
  12667. being referenced
  12668. type: string
  12669. required:
  12670. - kind
  12671. - name
  12672. type: object
  12673. x-kubernetes-map-type: atomic
  12674. dataSourceRef:
  12675. description: 'dataSourceRef specifies the object
  12676. from which to populate the volume with data,
  12677. if a non-empty volume is desired. This may
  12678. be any local object from a non-empty API group
  12679. (non core object) or a PersistentVolumeClaim
  12680. object. When this field is specified, volume
  12681. binding will only succeed if the type of the
  12682. specified object matches some installed volume
  12683. populator or dynamic provisioner. This field
  12684. will replace the functionality of the DataSource
  12685. field and as such if both fields are non-empty,
  12686. they must have the same value. For backwards
  12687. compatibility, both fields (DataSource and
  12688. DataSourceRef) will be set to the same value
  12689. automatically if one of them is empty and
  12690. the other is non-empty. There are two important
  12691. differences between DataSource and DataSourceRef:
  12692. * While DataSource only allows two specific
  12693. types of objects, DataSourceRef allows any
  12694. non-core object, as well as PersistentVolumeClaim
  12695. objects. * While DataSource ignores disallowed
  12696. values (dropping them), DataSourceRef preserves
  12697. all values, and generates an error if a disallowed
  12698. value is specified. (Beta) Using this field
  12699. requires the AnyVolumeDataSource feature gate
  12700. to be enabled.'
  12701. properties:
  12702. apiGroup:
  12703. description: APIGroup is the group for the
  12704. resource being referenced. If APIGroup
  12705. is not specified, the specified Kind must
  12706. be in the core API group. For any other
  12707. third-party types, APIGroup is required.
  12708. type: string
  12709. kind:
  12710. description: Kind is the type of resource
  12711. being referenced
  12712. type: string
  12713. name:
  12714. description: Name is the name of resource
  12715. being referenced
  12716. type: string
  12717. required:
  12718. - kind
  12719. - name
  12720. type: object
  12721. x-kubernetes-map-type: atomic
  12722. resources:
  12723. description: 'resources represents the minimum
  12724. resources the volume should have. If RecoverVolumeExpansionFailure
  12725. feature is enabled users are allowed to specify
  12726. resource requirements that are lower than
  12727. previous value but must still be higher than
  12728. capacity recorded in the status field of the
  12729. claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  12730. properties:
  12731. limits:
  12732. additionalProperties:
  12733. anyOf:
  12734. - type: integer
  12735. - type: string
  12736. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12737. x-kubernetes-int-or-string: true
  12738. description: 'Limits describes the maximum
  12739. amount of compute resources allowed. More
  12740. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12741. type: object
  12742. requests:
  12743. additionalProperties:
  12744. anyOf:
  12745. - type: integer
  12746. - type: string
  12747. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12748. x-kubernetes-int-or-string: true
  12749. description: 'Requests describes the minimum
  12750. amount of compute resources required.
  12751. If Requests is omitted for a container,
  12752. it defaults to Limits if that is explicitly
  12753. specified, otherwise to an implementation-defined
  12754. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12755. type: object
  12756. type: object
  12757. selector:
  12758. description: selector is a label query over
  12759. volumes to consider for binding.
  12760. properties:
  12761. matchExpressions:
  12762. description: matchExpressions is a list
  12763. of label selector requirements. The requirements
  12764. are ANDed.
  12765. items:
  12766. description: A label selector requirement
  12767. is a selector that contains values,
  12768. a key, and an operator that relates
  12769. the key and values.
  12770. properties:
  12771. key:
  12772. description: key is the label key
  12773. that the selector applies to.
  12774. type: string
  12775. operator:
  12776. description: operator represents a
  12777. key's relationship to a set of values.
  12778. Valid operators are In, NotIn, Exists
  12779. and DoesNotExist.
  12780. type: string
  12781. values:
  12782. description: values is an array of
  12783. string values. If the operator is
  12784. In or NotIn, the values array must
  12785. be non-empty. If the operator is
  12786. Exists or DoesNotExist, the values
  12787. array must be empty. This array
  12788. is replaced during a strategic merge
  12789. patch.
  12790. items:
  12791. type: string
  12792. type: array
  12793. required:
  12794. - key
  12795. - operator
  12796. type: object
  12797. type: array
  12798. matchLabels:
  12799. additionalProperties:
  12800. type: string
  12801. description: matchLabels is a map of {key,value}
  12802. pairs. A single {key,value} in the matchLabels
  12803. map is equivalent to an element of matchExpressions,
  12804. whose key field is "key", the operator
  12805. is "In", and the values array contains
  12806. only "value". The requirements are ANDed.
  12807. type: object
  12808. type: object
  12809. x-kubernetes-map-type: atomic
  12810. storageClassName:
  12811. description: 'storageClassName is the name of
  12812. the StorageClass required by the claim. More
  12813. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  12814. type: string
  12815. volumeMode:
  12816. description: volumeMode defines what type of
  12817. volume is required by the claim. Value of
  12818. Filesystem is implied when not included in
  12819. claim spec.
  12820. type: string
  12821. volumeName:
  12822. description: volumeName is the binding reference
  12823. to the PersistentVolume backing this claim.
  12824. type: string
  12825. type: object
  12826. required:
  12827. - spec
  12828. type: object
  12829. type: object
  12830. fc:
  12831. description: fc represents a Fibre Channel resource that
  12832. is attached to a kubelet's host machine and then exposed
  12833. to the pod.
  12834. properties:
  12835. fsType:
  12836. description: 'fsType is the filesystem type to mount.
  12837. Must be a filesystem type supported by the host operating
  12838. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  12839. to be "ext4" if unspecified. TODO: how do we prevent
  12840. errors in the filesystem from compromising the machine'
  12841. type: string
  12842. lun:
  12843. description: 'lun is Optional: FC target lun number'
  12844. format: int32
  12845. type: integer
  12846. readOnly:
  12847. description: 'readOnly is Optional: Defaults to false
  12848. (read/write). ReadOnly here will force the ReadOnly
  12849. setting in VolumeMounts.'
  12850. type: boolean
  12851. targetWWNs:
  12852. description: 'targetWWNs is Optional: FC target worldwide
  12853. names (WWNs)'
  12854. items:
  12855. type: string
  12856. type: array
  12857. wwids:
  12858. description: 'wwids Optional: FC volume world wide identifiers
  12859. (wwids) Either wwids or combination of targetWWNs
  12860. and lun must be set, but not both simultaneously.'
  12861. items:
  12862. type: string
  12863. type: array
  12864. type: object
  12865. flexVolume:
  12866. description: flexVolume represents a generic volume resource
  12867. that is provisioned/attached using an exec based plugin.
  12868. properties:
  12869. driver:
  12870. description: driver is the name of the driver to use
  12871. for this volume.
  12872. type: string
  12873. fsType:
  12874. description: fsType is the filesystem type to mount.
  12875. Must be a filesystem type supported by the host operating
  12876. system. Ex. "ext4", "xfs", "ntfs". The default filesystem
  12877. depends on FlexVolume script.
  12878. type: string
  12879. options:
  12880. additionalProperties:
  12881. type: string
  12882. description: 'options is Optional: this field holds
  12883. extra command options if any.'
  12884. type: object
  12885. readOnly:
  12886. description: 'readOnly is Optional: defaults to false
  12887. (read/write). ReadOnly here will force the ReadOnly
  12888. setting in VolumeMounts.'
  12889. type: boolean
  12890. secretRef:
  12891. description: 'secretRef is Optional: secretRef is reference
  12892. to the secret object containing sensitive information
  12893. to pass to the plugin scripts. This may be empty if
  12894. no secret object is specified. If the secret object
  12895. contains more than one secret, all secrets are passed
  12896. to the plugin scripts.'
  12897. properties:
  12898. name:
  12899. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12900. TODO: Add other useful fields. apiVersion, kind,
  12901. uid?'
  12902. type: string
  12903. type: object
  12904. x-kubernetes-map-type: atomic
  12905. required:
  12906. - driver
  12907. type: object
  12908. flocker:
  12909. description: flocker represents a Flocker volume attached
  12910. to a kubelet's host machine. This depends on the Flocker
  12911. control service being running
  12912. properties:
  12913. datasetName:
  12914. description: datasetName is Name of the dataset stored
  12915. as metadata -> name on the dataset for Flocker should
  12916. be considered as deprecated
  12917. type: string
  12918. datasetUUID:
  12919. description: datasetUUID is the UUID of the dataset.
  12920. This is unique identifier of a Flocker dataset
  12921. type: string
  12922. type: object
  12923. gcePersistentDisk:
  12924. description: 'gcePersistentDisk represents a GCE Disk resource
  12925. that is attached to a kubelet''s host machine and then
  12926. exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12927. properties:
  12928. fsType:
  12929. description: 'fsType is filesystem type of the volume
  12930. that you want to mount. Tip: Ensure that the filesystem
  12931. type is supported by the host operating system. Examples:
  12932. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  12933. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  12934. TODO: how do we prevent errors in the filesystem from
  12935. compromising the machine'
  12936. type: string
  12937. partition:
  12938. description: 'partition is the partition in the volume
  12939. that you want to mount. If omitted, the default is
  12940. to mount by volume name. Examples: For volume /dev/sda1,
  12941. you specify the partition as "1". Similarly, the volume
  12942. partition for /dev/sda is "0" (or you can leave the
  12943. property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12944. format: int32
  12945. type: integer
  12946. pdName:
  12947. description: 'pdName is unique name of the PD resource
  12948. in GCE. Used to identify the disk in GCE. More info:
  12949. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12950. type: string
  12951. readOnly:
  12952. description: 'readOnly here will force the ReadOnly
  12953. setting in VolumeMounts. Defaults to false. More info:
  12954. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12955. type: boolean
  12956. required:
  12957. - pdName
  12958. type: object
  12959. gitRepo:
  12960. description: 'gitRepo represents a git repository at a particular
  12961. revision. DEPRECATED: GitRepo is deprecated. To provision
  12962. a container with a git repo, mount an EmptyDir into an
  12963. InitContainer that clones the repo using git, then mount
  12964. the EmptyDir into the Pod''s container.'
  12965. properties:
  12966. directory:
  12967. description: directory is the target directory name.
  12968. Must not contain or start with '..'. If '.' is supplied,
  12969. the volume directory will be the git repository. Otherwise,
  12970. if specified, the volume will contain the git repository
  12971. in the subdirectory with the given name.
  12972. type: string
  12973. repository:
  12974. description: repository is the URL
  12975. type: string
  12976. revision:
  12977. description: revision is the commit hash for the specified
  12978. revision.
  12979. type: string
  12980. required:
  12981. - repository
  12982. type: object
  12983. glusterfs:
  12984. description: 'glusterfs represents a Glusterfs mount on
  12985. the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  12986. properties:
  12987. endpoints:
  12988. description: 'endpoints is the endpoint name that details
  12989. Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  12990. type: string
  12991. path:
  12992. description: 'path is the Glusterfs volume path. More
  12993. info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  12994. type: string
  12995. readOnly:
  12996. description: 'readOnly here will force the Glusterfs
  12997. volume to be mounted with read-only permissions. Defaults
  12998. to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  12999. type: boolean
  13000. required:
  13001. - endpoints
  13002. - path
  13003. type: object
  13004. hostPath:
  13005. description: 'hostPath represents a pre-existing file or
  13006. directory on the host machine that is directly exposed
  13007. to the container. This is generally used for system agents
  13008. or other privileged things that are allowed to see the
  13009. host machine. Most containers will NOT need this. More
  13010. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  13011. --- TODO(jonesdl) We need to restrict who can use host
  13012. directory mounts and who can/can not mount host directories
  13013. as read/write.'
  13014. properties:
  13015. path:
  13016. description: 'path of the directory on the host. If
  13017. the path is a symlink, it will follow the link to
  13018. the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  13019. type: string
  13020. type:
  13021. description: 'type for HostPath Volume Defaults to ""
  13022. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  13023. type: string
  13024. required:
  13025. - path
  13026. type: object
  13027. iscsi:
  13028. description: 'iscsi represents an ISCSI Disk resource that
  13029. is attached to a kubelet''s host machine and then exposed
  13030. to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  13031. properties:
  13032. chapAuthDiscovery:
  13033. description: chapAuthDiscovery defines whether support
  13034. iSCSI Discovery CHAP authentication
  13035. type: boolean
  13036. chapAuthSession:
  13037. description: chapAuthSession defines whether support
  13038. iSCSI Session CHAP authentication
  13039. type: boolean
  13040. fsType:
  13041. description: 'fsType is the filesystem type of the volume
  13042. that you want to mount. Tip: Ensure that the filesystem
  13043. type is supported by the host operating system. Examples:
  13044. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  13045. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  13046. TODO: how do we prevent errors in the filesystem from
  13047. compromising the machine'
  13048. type: string
  13049. initiatorName:
  13050. description: initiatorName is the custom iSCSI Initiator
  13051. Name. If initiatorName is specified with iscsiInterface
  13052. simultaneously, new iSCSI interface <target portal>:<volume
  13053. name> will be created for the connection.
  13054. type: string
  13055. iqn:
  13056. description: iqn is the target iSCSI Qualified Name.
  13057. type: string
  13058. iscsiInterface:
  13059. description: iscsiInterface is the interface Name that
  13060. uses an iSCSI transport. Defaults to 'default' (tcp).
  13061. type: string
  13062. lun:
  13063. description: lun represents iSCSI Target Lun number.
  13064. format: int32
  13065. type: integer
  13066. portals:
  13067. description: portals is the iSCSI Target Portal List.
  13068. The portal is either an IP or ip_addr:port if the
  13069. port is other than default (typically TCP ports 860
  13070. and 3260).
  13071. items:
  13072. type: string
  13073. type: array
  13074. readOnly:
  13075. description: readOnly here will force the ReadOnly setting
  13076. in VolumeMounts. Defaults to false.
  13077. type: boolean
  13078. secretRef:
  13079. description: secretRef is the CHAP Secret for iSCSI
  13080. target and initiator authentication
  13081. properties:
  13082. name:
  13083. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13084. TODO: Add other useful fields. apiVersion, kind,
  13085. uid?'
  13086. type: string
  13087. type: object
  13088. x-kubernetes-map-type: atomic
  13089. targetPortal:
  13090. description: targetPortal is iSCSI Target Portal. The
  13091. Portal is either an IP or ip_addr:port if the port
  13092. is other than default (typically TCP ports 860 and
  13093. 3260).
  13094. type: string
  13095. required:
  13096. - iqn
  13097. - lun
  13098. - targetPortal
  13099. type: object
  13100. name:
  13101. description: 'name of the volume. Must be a DNS_LABEL and
  13102. unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  13103. type: string
  13104. nfs:
  13105. description: 'nfs represents an NFS mount on the host that
  13106. shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13107. properties:
  13108. path:
  13109. description: 'path that is exported by the NFS server.
  13110. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13111. type: string
  13112. readOnly:
  13113. description: 'readOnly here will force the NFS export
  13114. to be mounted with read-only permissions. Defaults
  13115. to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13116. type: boolean
  13117. server:
  13118. description: 'server is the hostname or IP address of
  13119. the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13120. type: string
  13121. required:
  13122. - path
  13123. - server
  13124. type: object
  13125. persistentVolumeClaim:
  13126. description: 'persistentVolumeClaimVolumeSource represents
  13127. a reference to a PersistentVolumeClaim in the same namespace.
  13128. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  13129. properties:
  13130. claimName:
  13131. description: 'claimName is the name of a PersistentVolumeClaim
  13132. in the same namespace as the pod using this volume.
  13133. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  13134. type: string
  13135. readOnly:
  13136. description: readOnly Will force the ReadOnly setting
  13137. in VolumeMounts. Default false.
  13138. type: boolean
  13139. required:
  13140. - claimName
  13141. type: object
  13142. photonPersistentDisk:
  13143. description: photonPersistentDisk represents a PhotonController
  13144. persistent disk attached and mounted on kubelets host
  13145. machine
  13146. properties:
  13147. fsType:
  13148. description: fsType is the filesystem type to mount.
  13149. Must be a filesystem type supported by the host operating
  13150. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  13151. to be "ext4" if unspecified.
  13152. type: string
  13153. pdID:
  13154. description: pdID is the ID that identifies Photon Controller
  13155. persistent disk
  13156. type: string
  13157. required:
  13158. - pdID
  13159. type: object
  13160. portworxVolume:
  13161. description: portworxVolume represents a portworx volume
  13162. attached and mounted on kubelets host machine
  13163. properties:
  13164. fsType:
  13165. description: fSType represents the filesystem type to
  13166. mount Must be a filesystem type supported by the host
  13167. operating system. Ex. "ext4", "xfs". Implicitly inferred
  13168. to be "ext4" if unspecified.
  13169. type: string
  13170. readOnly:
  13171. description: readOnly defaults to false (read/write).
  13172. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  13173. type: boolean
  13174. volumeID:
  13175. description: volumeID uniquely identifies a Portworx
  13176. volume
  13177. type: string
  13178. required:
  13179. - volumeID
  13180. type: object
  13181. projected:
  13182. description: projected items for all in one resources secrets,
  13183. configmaps, and downward API
  13184. properties:
  13185. defaultMode:
  13186. description: defaultMode are the mode bits used to set
  13187. permissions on created files by default. Must be an
  13188. octal value between 0000 and 0777 or a decimal value
  13189. between 0 and 511. YAML accepts both octal and decimal
  13190. values, JSON requires decimal values for mode bits.
  13191. Directories within the path are not affected by this
  13192. setting. This might be in conflict with other options
  13193. that affect the file mode, like fsGroup, and the result
  13194. can be other mode bits set.
  13195. format: int32
  13196. type: integer
  13197. sources:
  13198. description: sources is the list of volume projections
  13199. items:
  13200. description: Projection that may be projected along
  13201. with other supported volume types
  13202. properties:
  13203. configMap:
  13204. description: configMap information about the configMap
  13205. data to project
  13206. properties:
  13207. items:
  13208. description: items if unspecified, each key-value
  13209. pair in the Data field of the referenced
  13210. ConfigMap will be projected into the volume
  13211. as a file whose name is the key and content
  13212. is the value. If specified, the listed keys
  13213. will be projected into the specified paths,
  13214. and unlisted keys will not be present. If
  13215. a key is specified which is not present
  13216. in the ConfigMap, the volume setup will
  13217. error unless it is marked optional. Paths
  13218. must be relative and may not contain the
  13219. '..' path or start with '..'.
  13220. items:
  13221. description: Maps a string key to a path
  13222. within a volume.
  13223. properties:
  13224. key:
  13225. description: key is the key to project.
  13226. type: string
  13227. mode:
  13228. description: 'mode is Optional: mode
  13229. bits used to set permissions on this
  13230. file. Must be an octal value between
  13231. 0000 and 0777 or a decimal value between
  13232. 0 and 511. YAML accepts both octal
  13233. and decimal values, JSON requires
  13234. decimal values for mode bits. If not
  13235. specified, the volume defaultMode
  13236. will be used. This might be in conflict
  13237. with other options that affect the
  13238. file mode, like fsGroup, and the result
  13239. can be other mode bits set.'
  13240. format: int32
  13241. type: integer
  13242. path:
  13243. description: path is the relative path
  13244. of the file to map the key to. May
  13245. not be an absolute path. May not contain
  13246. the path element '..'. May not start
  13247. with the string '..'.
  13248. type: string
  13249. required:
  13250. - key
  13251. - path
  13252. type: object
  13253. type: array
  13254. name:
  13255. description: 'Name of the referent. More info:
  13256. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13257. TODO: Add other useful fields. apiVersion,
  13258. kind, uid?'
  13259. type: string
  13260. optional:
  13261. description: optional specify whether the
  13262. ConfigMap or its keys must be defined
  13263. type: boolean
  13264. type: object
  13265. x-kubernetes-map-type: atomic
  13266. downwardAPI:
  13267. description: downwardAPI information about the
  13268. downwardAPI data to project
  13269. properties:
  13270. items:
  13271. description: Items is a list of DownwardAPIVolume
  13272. file
  13273. items:
  13274. description: DownwardAPIVolumeFile represents
  13275. information to create the file containing
  13276. the pod field
  13277. properties:
  13278. fieldRef:
  13279. description: 'Required: Selects a field
  13280. of the pod: only annotations, labels,
  13281. name and namespace are supported.'
  13282. properties:
  13283. apiVersion:
  13284. description: Version of the schema
  13285. the FieldPath is written in terms
  13286. of, defaults to "v1".
  13287. type: string
  13288. fieldPath:
  13289. description: Path of the field to
  13290. select in the specified API version.
  13291. type: string
  13292. required:
  13293. - fieldPath
  13294. type: object
  13295. x-kubernetes-map-type: atomic
  13296. mode:
  13297. description: 'Optional: mode bits used
  13298. to set permissions on this file, must
  13299. be an octal value between 0000 and
  13300. 0777 or a decimal value between 0
  13301. and 511. YAML accepts both octal and
  13302. decimal values, JSON requires decimal
  13303. values for mode bits. If not specified,
  13304. the volume defaultMode will be used.
  13305. This might be in conflict with other
  13306. options that affect the file mode,
  13307. like fsGroup, and the result can be
  13308. other mode bits set.'
  13309. format: int32
  13310. type: integer
  13311. path:
  13312. description: 'Required: Path is the
  13313. relative path name of the file to
  13314. be created. Must not be absolute or
  13315. contain the ''..'' path. Must be utf-8
  13316. encoded. The first item of the relative
  13317. path must not start with ''..'''
  13318. type: string
  13319. resourceFieldRef:
  13320. description: 'Selects a resource of
  13321. the container: only resources limits
  13322. and requests (limits.cpu, limits.memory,
  13323. requests.cpu and requests.memory)
  13324. are currently supported.'
  13325. properties:
  13326. containerName:
  13327. description: 'Container name: required
  13328. for volumes, optional for env
  13329. vars'
  13330. type: string
  13331. divisor:
  13332. anyOf:
  13333. - type: integer
  13334. - type: string
  13335. description: Specifies the output
  13336. format of the exposed resources,
  13337. defaults to "1"
  13338. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  13339. x-kubernetes-int-or-string: true
  13340. resource:
  13341. description: 'Required: resource
  13342. to select'
  13343. type: string
  13344. required:
  13345. - resource
  13346. type: object
  13347. x-kubernetes-map-type: atomic
  13348. required:
  13349. - path
  13350. type: object
  13351. type: array
  13352. type: object
  13353. secret:
  13354. description: secret information about the secret
  13355. data to project
  13356. properties:
  13357. items:
  13358. description: items if unspecified, each key-value
  13359. pair in the Data field of the referenced
  13360. Secret will be projected into the volume
  13361. as a file whose name is the key and content
  13362. is the value. If specified, the listed keys
  13363. will be projected into the specified paths,
  13364. and unlisted keys will not be present. If
  13365. a key is specified which is not present
  13366. in the Secret, the volume setup will error
  13367. unless it is marked optional. Paths must
  13368. be relative and may not contain the '..'
  13369. path or start with '..'.
  13370. items:
  13371. description: Maps a string key to a path
  13372. within a volume.
  13373. properties:
  13374. key:
  13375. description: key is the key to project.
  13376. type: string
  13377. mode:
  13378. description: 'mode is Optional: mode
  13379. bits used to set permissions on this
  13380. file. Must be an octal value between
  13381. 0000 and 0777 or a decimal value between
  13382. 0 and 511. YAML accepts both octal
  13383. and decimal values, JSON requires
  13384. decimal values for mode bits. If not
  13385. specified, the volume defaultMode
  13386. will be used. This might be in conflict
  13387. with other options that affect the
  13388. file mode, like fsGroup, and the result
  13389. can be other mode bits set.'
  13390. format: int32
  13391. type: integer
  13392. path:
  13393. description: path is the relative path
  13394. of the file to map the key to. May
  13395. not be an absolute path. May not contain
  13396. the path element '..'. May not start
  13397. with the string '..'.
  13398. type: string
  13399. required:
  13400. - key
  13401. - path
  13402. type: object
  13403. type: array
  13404. name:
  13405. description: 'Name of the referent. More info:
  13406. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13407. TODO: Add other useful fields. apiVersion,
  13408. kind, uid?'
  13409. type: string
  13410. optional:
  13411. description: optional field specify whether
  13412. the Secret or its key must be defined
  13413. type: boolean
  13414. type: object
  13415. x-kubernetes-map-type: atomic
  13416. serviceAccountToken:
  13417. description: serviceAccountToken is information
  13418. about the serviceAccountToken data to project
  13419. properties:
  13420. audience:
  13421. description: audience is the intended audience
  13422. of the token. A recipient of a token must
  13423. identify itself with an identifier specified
  13424. in the audience of the token, and otherwise
  13425. should reject the token. The audience defaults
  13426. to the identifier of the apiserver.
  13427. type: string
  13428. expirationSeconds:
  13429. description: expirationSeconds is the requested
  13430. duration of validity of the service account
  13431. token. As the token approaches expiration,
  13432. the kubelet volume plugin will proactively
  13433. rotate the service account token. The kubelet
  13434. will start trying to rotate the token if
  13435. the token is older than 80 percent of its
  13436. time to live or if the token is older than
  13437. 24 hours.Defaults to 1 hour and must be
  13438. at least 10 minutes.
  13439. format: int64
  13440. type: integer
  13441. path:
  13442. description: path is the path relative to
  13443. the mount point of the file to project the
  13444. token into.
  13445. type: string
  13446. required:
  13447. - path
  13448. type: object
  13449. type: object
  13450. type: array
  13451. type: object
  13452. quobyte:
  13453. description: quobyte represents a Quobyte mount on the host
  13454. that shares a pod's lifetime
  13455. properties:
  13456. group:
  13457. description: group to map volume access to Default is
  13458. no group
  13459. type: string
  13460. readOnly:
  13461. description: readOnly here will force the Quobyte volume
  13462. to be mounted with read-only permissions. Defaults
  13463. to false.
  13464. type: boolean
  13465. registry:
  13466. description: registry represents a single or multiple
  13467. Quobyte Registry services specified as a string as
  13468. host:port pair (multiple entries are separated with
  13469. commas) which acts as the central registry for volumes
  13470. type: string
  13471. tenant:
  13472. description: tenant owning the given Quobyte volume
  13473. in the Backend Used with dynamically provisioned Quobyte
  13474. volumes, value is set by the plugin
  13475. type: string
  13476. user:
  13477. description: user to map volume access to Defaults to
  13478. serivceaccount user
  13479. type: string
  13480. volume:
  13481. description: volume is a string that references an already
  13482. created Quobyte volume by name.
  13483. type: string
  13484. required:
  13485. - registry
  13486. - volume
  13487. type: object
  13488. rbd:
  13489. description: 'rbd represents a Rados Block Device mount
  13490. on the host that shares a pod''s lifetime. More info:
  13491. https://examples.k8s.io/volumes/rbd/README.md'
  13492. properties:
  13493. fsType:
  13494. description: 'fsType is the filesystem type of the volume
  13495. that you want to mount. Tip: Ensure that the filesystem
  13496. type is supported by the host operating system. Examples:
  13497. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  13498. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  13499. TODO: how do we prevent errors in the filesystem from
  13500. compromising the machine'
  13501. type: string
  13502. image:
  13503. description: 'image is the rados image name. More info:
  13504. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13505. type: string
  13506. keyring:
  13507. description: 'keyring is the path to key ring for RBDUser.
  13508. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13509. type: string
  13510. monitors:
  13511. description: 'monitors is a collection of Ceph monitors.
  13512. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13513. items:
  13514. type: string
  13515. type: array
  13516. pool:
  13517. description: 'pool is the rados pool name. Default is
  13518. rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13519. type: string
  13520. readOnly:
  13521. description: 'readOnly here will force the ReadOnly
  13522. setting in VolumeMounts. Defaults to false. More info:
  13523. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13524. type: boolean
  13525. secretRef:
  13526. description: 'secretRef is name of the authentication
  13527. secret for RBDUser. If provided overrides keyring.
  13528. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13529. properties:
  13530. name:
  13531. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13532. TODO: Add other useful fields. apiVersion, kind,
  13533. uid?'
  13534. type: string
  13535. type: object
  13536. x-kubernetes-map-type: atomic
  13537. user:
  13538. description: 'user is the rados user name. Default is
  13539. admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13540. type: string
  13541. required:
  13542. - image
  13543. - monitors
  13544. type: object
  13545. scaleIO:
  13546. description: scaleIO represents a ScaleIO persistent volume
  13547. attached and mounted on Kubernetes nodes.
  13548. properties:
  13549. fsType:
  13550. description: fsType is the filesystem type to mount.
  13551. Must be a filesystem type supported by the host operating
  13552. system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  13553. type: string
  13554. gateway:
  13555. description: gateway is the host address of the ScaleIO
  13556. API Gateway.
  13557. type: string
  13558. protectionDomain:
  13559. description: protectionDomain is the name of the ScaleIO
  13560. Protection Domain for the configured storage.
  13561. type: string
  13562. readOnly:
  13563. description: readOnly Defaults to false (read/write).
  13564. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  13565. type: boolean
  13566. secretRef:
  13567. description: secretRef references to the secret for
  13568. ScaleIO user and other sensitive information. If this
  13569. is not provided, Login operation will fail.
  13570. properties:
  13571. name:
  13572. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13573. TODO: Add other useful fields. apiVersion, kind,
  13574. uid?'
  13575. type: string
  13576. type: object
  13577. x-kubernetes-map-type: atomic
  13578. sslEnabled:
  13579. description: sslEnabled Flag enable/disable SSL communication
  13580. with Gateway, default false
  13581. type: boolean
  13582. storageMode:
  13583. description: storageMode indicates whether the storage
  13584. for a volume should be ThickProvisioned or ThinProvisioned.
  13585. Default is ThinProvisioned.
  13586. type: string
  13587. storagePool:
  13588. description: storagePool is the ScaleIO Storage Pool
  13589. associated with the protection domain.
  13590. type: string
  13591. system:
  13592. description: system is the name of the storage system
  13593. as configured in ScaleIO.
  13594. type: string
  13595. volumeName:
  13596. description: volumeName is the name of a volume already
  13597. created in the ScaleIO system that is associated with
  13598. this volume source.
  13599. type: string
  13600. required:
  13601. - gateway
  13602. - secretRef
  13603. - system
  13604. type: object
  13605. secret:
  13606. description: 'secret represents a secret that should populate
  13607. this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  13608. properties:
  13609. defaultMode:
  13610. description: 'defaultMode is Optional: mode bits used
  13611. to set permissions on created files by default. Must
  13612. be an octal value between 0000 and 0777 or a decimal
  13613. value between 0 and 511. YAML accepts both octal and
  13614. decimal values, JSON requires decimal values for mode
  13615. bits. Defaults to 0644. Directories within the path
  13616. are not affected by this setting. This might be in
  13617. conflict with other options that affect the file mode,
  13618. like fsGroup, and the result can be other mode bits
  13619. set.'
  13620. format: int32
  13621. type: integer
  13622. items:
  13623. description: items If unspecified, each key-value pair
  13624. in the Data field of the referenced Secret will be
  13625. projected into the volume as a file whose name is
  13626. the key and content is the value. If specified, the
  13627. listed keys will be projected into the specified paths,
  13628. and unlisted keys will not be present. If a key is
  13629. specified which is not present in the Secret, the
  13630. volume setup will error unless it is marked optional.
  13631. Paths must be relative and may not contain the '..'
  13632. path or start with '..'.
  13633. items:
  13634. description: Maps a string key to a path within a
  13635. volume.
  13636. properties:
  13637. key:
  13638. description: key is the key to project.
  13639. type: string
  13640. mode:
  13641. description: 'mode is Optional: mode bits used
  13642. to set permissions on this file. Must be an
  13643. octal value between 0000 and 0777 or a decimal
  13644. value between 0 and 511. YAML accepts both octal
  13645. and decimal values, JSON requires decimal values
  13646. for mode bits. If not specified, the volume
  13647. defaultMode will be used. This might be in conflict
  13648. with other options that affect the file mode,
  13649. like fsGroup, and the result can be other mode
  13650. bits set.'
  13651. format: int32
  13652. type: integer
  13653. path:
  13654. description: path is the relative path of the
  13655. file to map the key to. May not be an absolute
  13656. path. May not contain the path element '..'.
  13657. May not start with the string '..'.
  13658. type: string
  13659. required:
  13660. - key
  13661. - path
  13662. type: object
  13663. type: array
  13664. optional:
  13665. description: optional field specify whether the Secret
  13666. or its keys must be defined
  13667. type: boolean
  13668. secretName:
  13669. description: 'secretName is the name of the secret in
  13670. the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  13671. type: string
  13672. type: object
  13673. storageos:
  13674. description: storageOS represents a StorageOS volume attached
  13675. and mounted on Kubernetes nodes.
  13676. properties:
  13677. fsType:
  13678. description: fsType is the filesystem type to mount.
  13679. Must be a filesystem type supported by the host operating
  13680. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  13681. to be "ext4" if unspecified.
  13682. type: string
  13683. readOnly:
  13684. description: readOnly defaults to false (read/write).
  13685. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  13686. type: boolean
  13687. secretRef:
  13688. description: secretRef specifies the secret to use for
  13689. obtaining the StorageOS API credentials. If not specified,
  13690. default values will be attempted.
  13691. properties:
  13692. name:
  13693. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13694. TODO: Add other useful fields. apiVersion, kind,
  13695. uid?'
  13696. type: string
  13697. type: object
  13698. x-kubernetes-map-type: atomic
  13699. volumeName:
  13700. description: volumeName is the human-readable name of
  13701. the StorageOS volume. Volume names are only unique
  13702. within a namespace.
  13703. type: string
  13704. volumeNamespace:
  13705. description: volumeNamespace specifies the scope of
  13706. the volume within StorageOS. If no namespace is specified
  13707. then the Pod's namespace will be used. This allows
  13708. the Kubernetes name scoping to be mirrored within
  13709. StorageOS for tighter integration. Set VolumeName
  13710. to any name to override the default behaviour. Set
  13711. to "default" if you are not using namespaces within
  13712. StorageOS. Namespaces that do not pre-exist within
  13713. StorageOS will be created.
  13714. type: string
  13715. type: object
  13716. vsphereVolume:
  13717. description: vsphereVolume represents a vSphere volume attached
  13718. and mounted on kubelets host machine
  13719. properties:
  13720. fsType:
  13721. description: fsType is filesystem type to mount. Must
  13722. be a filesystem type supported by the host operating
  13723. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  13724. to be "ext4" if unspecified.
  13725. type: string
  13726. storagePolicyID:
  13727. description: storagePolicyID is the storage Policy Based
  13728. Management (SPBM) profile ID associated with the StoragePolicyName.
  13729. type: string
  13730. storagePolicyName:
  13731. description: storagePolicyName is the storage Policy
  13732. Based Management (SPBM) profile name.
  13733. type: string
  13734. volumePath:
  13735. description: volumePath is the path that identifies
  13736. vSphere volume vmdk
  13737. type: string
  13738. required:
  13739. - volumePath
  13740. type: object
  13741. required:
  13742. - name
  13743. type: object
  13744. type: array
  13745. required:
  13746. - containers
  13747. type: object
  13748. routeTo:
  13749. description: Set which service traffic should go
  13750. enum:
  13751. - Blue
  13752. - Green
  13753. type: string
  13754. required:
  13755. - routeTo
  13756. type: object
  13757. status:
  13758. description: BlueGreenStatus defines the observed state of BlueGreen
  13759. properties:
  13760. routeTo:
  13761. enum:
  13762. - Blue
  13763. - Green
  13764. type: string
  13765. type: object
  13766. type: object
  13767. served: true
  13768. storage: true
  13769. subresources:
  13770. status: {}