app.demo.kakao.com_bluegreens.yaml 879 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760
  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. - name: v1
  19. schema:
  20. openAPIV3Schema:
  21. description: BlueGreen is the Schema for the bluegreens API
  22. properties:
  23. apiVersion:
  24. description: 'APIVersion defines the versioned schema of this representation
  25. of an object. Servers should convert recognized schemas to the latest
  26. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  27. type: string
  28. kind:
  29. description: 'Kind is a string value representing the REST resource this
  30. object represents. Servers may infer this from the endpoint the client
  31. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  32. type: string
  33. metadata:
  34. type: object
  35. spec:
  36. description: BlueGreenSpec defines the desired state of BlueGreen
  37. properties:
  38. blueSpec:
  39. description: Pod Spec for a Blue Service
  40. properties:
  41. activeDeadlineSeconds:
  42. description: Optional duration in seconds the pod may be active
  43. on the node relative to StartTime before the system will actively
  44. try to mark it failed and kill associated containers. Value
  45. must be a positive integer.
  46. format: int64
  47. type: integer
  48. affinity:
  49. description: If specified, the pod's scheduling constraints
  50. properties:
  51. nodeAffinity:
  52. description: Describes node affinity scheduling rules for
  53. the pod.
  54. properties:
  55. preferredDuringSchedulingIgnoredDuringExecution:
  56. description: The scheduler will prefer to schedule pods
  57. to nodes that satisfy the affinity expressions specified
  58. by this field, but it may choose a node that violates
  59. one or more of the expressions. The node that is most
  60. preferred is the one with the greatest sum of weights,
  61. i.e. for each node that meets all of the scheduling
  62. requirements (resource request, requiredDuringScheduling
  63. affinity expressions, etc.), compute a sum by iterating
  64. through the elements of this field and adding "weight"
  65. to the sum if the node matches the corresponding matchExpressions;
  66. the node(s) with the highest sum are the most preferred.
  67. items:
  68. description: An empty preferred scheduling term matches
  69. all objects with implicit weight 0 (i.e. it's a no-op).
  70. A null preferred scheduling term matches no objects
  71. (i.e. is also a no-op).
  72. properties:
  73. preference:
  74. description: A node selector term, associated with
  75. the corresponding weight.
  76. properties:
  77. matchExpressions:
  78. description: A list of node selector requirements
  79. by node's labels.
  80. items:
  81. description: A node selector requirement is
  82. a selector that contains values, a key,
  83. and an operator that relates the key and
  84. values.
  85. properties:
  86. key:
  87. description: The label key that the selector
  88. applies to.
  89. type: string
  90. operator:
  91. description: Represents a key's relationship
  92. to a set of values. Valid operators
  93. are In, NotIn, Exists, DoesNotExist.
  94. Gt, and Lt.
  95. type: string
  96. values:
  97. description: An array of string values.
  98. If the operator is In or NotIn, the
  99. values array must be non-empty. If the
  100. operator is Exists or DoesNotExist,
  101. the values array must be empty. If the
  102. operator is Gt or Lt, the values array
  103. must have a single element, which will
  104. be interpreted as an integer. This array
  105. is replaced during a strategic merge
  106. patch.
  107. items:
  108. type: string
  109. type: array
  110. required:
  111. - key
  112. - operator
  113. type: object
  114. type: array
  115. matchFields:
  116. description: A list of node selector requirements
  117. by node's fields.
  118. items:
  119. description: A node selector requirement is
  120. a selector that contains values, a key,
  121. and an operator that relates the key and
  122. values.
  123. properties:
  124. key:
  125. description: The label key that the selector
  126. applies to.
  127. type: string
  128. operator:
  129. description: Represents a key's relationship
  130. to a set of values. Valid operators
  131. are In, NotIn, Exists, DoesNotExist.
  132. Gt, and Lt.
  133. type: string
  134. values:
  135. description: An array of string values.
  136. If the operator is In or NotIn, the
  137. values array must be non-empty. If the
  138. operator is Exists or DoesNotExist,
  139. the values array must be empty. If the
  140. operator is Gt or Lt, the values array
  141. must have a single element, which will
  142. be interpreted as an integer. This array
  143. is replaced during a strategic merge
  144. patch.
  145. items:
  146. type: string
  147. type: array
  148. required:
  149. - key
  150. - operator
  151. type: object
  152. type: array
  153. type: object
  154. x-kubernetes-map-type: atomic
  155. weight:
  156. description: Weight associated with matching the
  157. corresponding nodeSelectorTerm, in the range 1-100.
  158. format: int32
  159. type: integer
  160. required:
  161. - preference
  162. - weight
  163. type: object
  164. type: array
  165. requiredDuringSchedulingIgnoredDuringExecution:
  166. description: If the affinity requirements specified by
  167. this field are not met at scheduling time, the pod will
  168. not be scheduled onto the node. If the affinity requirements
  169. specified by this field cease to be met at some point
  170. during pod execution (e.g. due to an update), the system
  171. may or may not try to eventually evict the pod from
  172. its node.
  173. properties:
  174. nodeSelectorTerms:
  175. description: Required. A list of node selector terms.
  176. The terms are ORed.
  177. items:
  178. description: A null or empty node selector term
  179. matches no objects. The requirements of them are
  180. ANDed. The TopologySelectorTerm type implements
  181. a subset of the NodeSelectorTerm.
  182. properties:
  183. matchExpressions:
  184. description: A list of node selector requirements
  185. by node's labels.
  186. items:
  187. description: A node selector requirement is
  188. a selector that contains values, a key,
  189. and an operator that relates the key and
  190. values.
  191. properties:
  192. key:
  193. description: The label key that the selector
  194. applies to.
  195. type: string
  196. operator:
  197. description: Represents a key's relationship
  198. to a set of values. Valid operators
  199. are In, NotIn, Exists, DoesNotExist.
  200. Gt, and Lt.
  201. type: string
  202. values:
  203. description: An array of string values.
  204. If the operator is In or NotIn, the
  205. values array must be non-empty. If the
  206. operator is Exists or DoesNotExist,
  207. the values array must be empty. If the
  208. operator is Gt or Lt, the values array
  209. must have a single element, which will
  210. be interpreted as an integer. This array
  211. is replaced during a strategic merge
  212. patch.
  213. items:
  214. type: string
  215. type: array
  216. required:
  217. - key
  218. - operator
  219. type: object
  220. type: array
  221. matchFields:
  222. description: A list of node selector requirements
  223. by node's fields.
  224. items:
  225. description: A node selector requirement is
  226. a selector that contains values, a key,
  227. and an operator that relates the key and
  228. values.
  229. properties:
  230. key:
  231. description: The label key that the selector
  232. applies to.
  233. type: string
  234. operator:
  235. description: Represents a key's relationship
  236. to a set of values. Valid operators
  237. are In, NotIn, Exists, DoesNotExist.
  238. Gt, and Lt.
  239. type: string
  240. values:
  241. description: An array of string values.
  242. If the operator is In or NotIn, the
  243. values array must be non-empty. If the
  244. operator is Exists or DoesNotExist,
  245. the values array must be empty. If the
  246. operator is Gt or Lt, the values array
  247. must have a single element, which will
  248. be interpreted as an integer. This array
  249. is replaced during a strategic merge
  250. patch.
  251. items:
  252. type: string
  253. type: array
  254. required:
  255. - key
  256. - operator
  257. type: object
  258. type: array
  259. type: object
  260. x-kubernetes-map-type: atomic
  261. type: array
  262. required:
  263. - nodeSelectorTerms
  264. type: object
  265. x-kubernetes-map-type: atomic
  266. type: object
  267. podAffinity:
  268. description: Describes pod affinity scheduling rules (e.g.
  269. co-locate this pod in the same node, zone, etc. as some
  270. other pod(s)).
  271. properties:
  272. preferredDuringSchedulingIgnoredDuringExecution:
  273. description: The scheduler will prefer to schedule pods
  274. to nodes that satisfy the affinity expressions specified
  275. by this field, but it may choose a node that violates
  276. one or more of the expressions. The node that is most
  277. preferred is the one with the greatest sum of weights,
  278. i.e. for each node that meets all of the scheduling
  279. requirements (resource request, requiredDuringScheduling
  280. affinity expressions, etc.), compute a sum by iterating
  281. through the elements of this field and adding "weight"
  282. to the sum if the node has pods which matches the corresponding
  283. podAffinityTerm; the node(s) with the highest sum are
  284. the most preferred.
  285. items:
  286. description: The weights of all of the matched WeightedPodAffinityTerm
  287. fields are added per-node to find the most preferred
  288. node(s)
  289. properties:
  290. podAffinityTerm:
  291. description: Required. A pod affinity term, associated
  292. with the corresponding weight.
  293. properties:
  294. labelSelector:
  295. description: A label query over a set of resources,
  296. in this case pods.
  297. properties:
  298. matchExpressions:
  299. description: matchExpressions is a list
  300. of label selector requirements. The requirements
  301. are ANDed.
  302. items:
  303. description: A label selector requirement
  304. is a selector that contains values,
  305. a key, and an operator that relates
  306. the key and values.
  307. properties:
  308. key:
  309. description: key is the label key
  310. that the selector applies to.
  311. type: string
  312. operator:
  313. description: operator represents a
  314. key's relationship to a set of values.
  315. Valid operators are In, NotIn, Exists
  316. and DoesNotExist.
  317. type: string
  318. values:
  319. description: values is an array of
  320. string values. If the operator is
  321. In or NotIn, the values array must
  322. be non-empty. If the operator is
  323. Exists or DoesNotExist, the values
  324. array must be empty. This array
  325. is replaced during a strategic merge
  326. patch.
  327. items:
  328. type: string
  329. type: array
  330. required:
  331. - key
  332. - operator
  333. type: object
  334. type: array
  335. matchLabels:
  336. additionalProperties:
  337. type: string
  338. description: matchLabels is a map of {key,value}
  339. pairs. A single {key,value} in the matchLabels
  340. map is equivalent to an element of matchExpressions,
  341. whose key field is "key", the operator
  342. is "In", and the values array contains
  343. only "value". The requirements are ANDed.
  344. type: object
  345. type: object
  346. x-kubernetes-map-type: atomic
  347. namespaceSelector:
  348. description: A label query over the set of namespaces
  349. that the term applies to. The term is applied
  350. to the union of the namespaces selected by
  351. this field and the ones listed in the namespaces
  352. field. null selector and null or empty namespaces
  353. list means "this pod's namespace". An empty
  354. selector ({}) matches all namespaces.
  355. properties:
  356. matchExpressions:
  357. description: matchExpressions is a list
  358. of label selector requirements. The requirements
  359. are ANDed.
  360. items:
  361. description: A label selector requirement
  362. is a selector that contains values,
  363. a key, and an operator that relates
  364. the key and values.
  365. properties:
  366. key:
  367. description: key is the label key
  368. that the selector applies to.
  369. type: string
  370. operator:
  371. description: operator represents a
  372. key's relationship to a set of values.
  373. Valid operators are In, NotIn, Exists
  374. and DoesNotExist.
  375. type: string
  376. values:
  377. description: values is an array of
  378. string values. If the operator is
  379. In or NotIn, the values array must
  380. be non-empty. If the operator is
  381. Exists or DoesNotExist, the values
  382. array must be empty. This array
  383. is replaced during a strategic merge
  384. patch.
  385. items:
  386. type: string
  387. type: array
  388. required:
  389. - key
  390. - operator
  391. type: object
  392. type: array
  393. matchLabels:
  394. additionalProperties:
  395. type: string
  396. description: matchLabels is a map of {key,value}
  397. pairs. A single {key,value} in the matchLabels
  398. map is equivalent to an element of matchExpressions,
  399. whose key field is "key", the operator
  400. is "In", and the values array contains
  401. only "value". The requirements are ANDed.
  402. type: object
  403. type: object
  404. x-kubernetes-map-type: atomic
  405. namespaces:
  406. description: namespaces specifies a static list
  407. of namespace names that the term applies to.
  408. The term is applied to the union of the namespaces
  409. listed in this field and the ones selected
  410. by namespaceSelector. null or empty namespaces
  411. list and null namespaceSelector means "this
  412. pod's namespace".
  413. items:
  414. type: string
  415. type: array
  416. topologyKey:
  417. description: This pod should be co-located (affinity)
  418. or not co-located (anti-affinity) with the
  419. pods matching the labelSelector in the specified
  420. namespaces, where co-located is defined as
  421. running on a node whose value of the label
  422. with key topologyKey matches that of any node
  423. on which any of the selected pods is running.
  424. Empty topologyKey is not allowed.
  425. type: string
  426. required:
  427. - topologyKey
  428. type: object
  429. weight:
  430. description: weight associated with matching the
  431. corresponding podAffinityTerm, in the range 1-100.
  432. format: int32
  433. type: integer
  434. required:
  435. - podAffinityTerm
  436. - weight
  437. type: object
  438. type: array
  439. requiredDuringSchedulingIgnoredDuringExecution:
  440. description: If the affinity requirements specified by
  441. this field are not met at scheduling time, the pod will
  442. not be scheduled onto the node. If the affinity requirements
  443. specified by this field cease to be met at some point
  444. during pod execution (e.g. due to a pod label update),
  445. the system may or may not try to eventually evict the
  446. pod from its node. When there are multiple elements,
  447. the lists of nodes corresponding to each podAffinityTerm
  448. are intersected, i.e. all terms must be satisfied.
  449. items:
  450. description: Defines a set of pods (namely those matching
  451. the labelSelector relative to the given namespace(s))
  452. that this pod should be co-located (affinity) or not
  453. co-located (anti-affinity) with, where co-located
  454. is defined as running on a node whose value of the
  455. label with key <topologyKey> matches that of any node
  456. on which a pod of the set of pods is running
  457. properties:
  458. labelSelector:
  459. description: A label query over a set of resources,
  460. in this case pods.
  461. properties:
  462. matchExpressions:
  463. description: matchExpressions is a list of label
  464. selector requirements. The requirements are
  465. ANDed.
  466. items:
  467. description: A label selector requirement
  468. is a selector that contains values, a key,
  469. and an operator that relates the key and
  470. values.
  471. properties:
  472. key:
  473. description: key is the label key that
  474. the selector applies to.
  475. type: string
  476. operator:
  477. description: operator represents a key's
  478. relationship to a set of values. Valid
  479. operators are In, NotIn, Exists and
  480. DoesNotExist.
  481. type: string
  482. values:
  483. description: values is an array of string
  484. values. If the operator is In or NotIn,
  485. the values array must be non-empty.
  486. If the operator is Exists or DoesNotExist,
  487. the values array must be empty. This
  488. array is replaced during a strategic
  489. merge patch.
  490. items:
  491. type: string
  492. type: array
  493. required:
  494. - key
  495. - operator
  496. type: object
  497. type: array
  498. matchLabels:
  499. additionalProperties:
  500. type: string
  501. description: matchLabels is a map of {key,value}
  502. pairs. A single {key,value} in the matchLabels
  503. map is equivalent to an element of matchExpressions,
  504. whose key field is "key", the operator is
  505. "In", and the values array contains only "value".
  506. The requirements are ANDed.
  507. type: object
  508. type: object
  509. x-kubernetes-map-type: atomic
  510. namespaceSelector:
  511. description: A label query over the set of namespaces
  512. that the term applies to. The term is applied
  513. to the union of the namespaces selected by this
  514. field and the ones listed in the namespaces field.
  515. null selector and null or empty namespaces list
  516. means "this pod's namespace". An empty selector
  517. ({}) matches all namespaces.
  518. properties:
  519. matchExpressions:
  520. description: matchExpressions is a list of label
  521. selector requirements. The requirements are
  522. ANDed.
  523. items:
  524. description: A label selector requirement
  525. is a selector that contains values, a key,
  526. and an operator that relates the key and
  527. values.
  528. properties:
  529. key:
  530. description: key is the label key that
  531. the selector applies to.
  532. type: string
  533. operator:
  534. description: operator represents a key's
  535. relationship to a set of values. Valid
  536. operators are In, NotIn, Exists and
  537. DoesNotExist.
  538. type: string
  539. values:
  540. description: values is an array of string
  541. values. If the operator is In or NotIn,
  542. the values array must be non-empty.
  543. If the operator is Exists or DoesNotExist,
  544. the values array must be empty. This
  545. array is replaced during a strategic
  546. merge patch.
  547. items:
  548. type: string
  549. type: array
  550. required:
  551. - key
  552. - operator
  553. type: object
  554. type: array
  555. matchLabels:
  556. additionalProperties:
  557. type: string
  558. description: matchLabels is a map of {key,value}
  559. pairs. A single {key,value} in the matchLabels
  560. map is equivalent to an element of matchExpressions,
  561. whose key field is "key", the operator is
  562. "In", and the values array contains only "value".
  563. The requirements are ANDed.
  564. type: object
  565. type: object
  566. x-kubernetes-map-type: atomic
  567. namespaces:
  568. description: namespaces specifies a static list
  569. of namespace names that the term applies to. The
  570. term is applied to the union of the namespaces
  571. listed in this field and the ones selected by
  572. namespaceSelector. null or empty namespaces list
  573. and null namespaceSelector means "this pod's namespace".
  574. items:
  575. type: string
  576. type: array
  577. topologyKey:
  578. description: This pod should be co-located (affinity)
  579. or not co-located (anti-affinity) with the pods
  580. matching the labelSelector in the specified namespaces,
  581. where co-located is defined as running on a node
  582. whose value of the label with key topologyKey
  583. matches that of any node on which any of the selected
  584. pods is running. Empty topologyKey is not allowed.
  585. type: string
  586. required:
  587. - topologyKey
  588. type: object
  589. type: array
  590. type: object
  591. podAntiAffinity:
  592. description: Describes pod anti-affinity scheduling rules
  593. (e.g. avoid putting this pod in the same node, zone, etc.
  594. as some other pod(s)).
  595. properties:
  596. preferredDuringSchedulingIgnoredDuringExecution:
  597. description: The scheduler will prefer to schedule pods
  598. to nodes that satisfy the anti-affinity expressions
  599. specified by this field, but it may choose a node that
  600. violates one or more of the expressions. The node that
  601. is most preferred is the one with the greatest sum of
  602. weights, i.e. for each node that meets all of the scheduling
  603. requirements (resource request, requiredDuringScheduling
  604. anti-affinity expressions, etc.), compute a sum by iterating
  605. through the elements of this field and adding "weight"
  606. to the sum if the node has pods which matches the corresponding
  607. podAffinityTerm; the node(s) with the highest sum are
  608. the most preferred.
  609. items:
  610. description: The weights of all of the matched WeightedPodAffinityTerm
  611. fields are added per-node to find the most preferred
  612. node(s)
  613. properties:
  614. podAffinityTerm:
  615. description: Required. A pod affinity term, associated
  616. with the corresponding weight.
  617. properties:
  618. labelSelector:
  619. description: A label query over a set of resources,
  620. in this case pods.
  621. properties:
  622. matchExpressions:
  623. description: matchExpressions is a list
  624. of label selector requirements. The requirements
  625. are ANDed.
  626. items:
  627. description: A label selector requirement
  628. is a selector that contains values,
  629. a key, and an operator that relates
  630. the key and values.
  631. properties:
  632. key:
  633. description: key is the label key
  634. that the selector applies to.
  635. type: string
  636. operator:
  637. description: operator represents a
  638. key's relationship to a set of values.
  639. Valid operators are In, NotIn, Exists
  640. and DoesNotExist.
  641. type: string
  642. values:
  643. description: values is an array of
  644. string values. If the operator is
  645. In or NotIn, the values array must
  646. be non-empty. If the operator is
  647. Exists or DoesNotExist, the values
  648. array must be empty. This array
  649. is replaced during a strategic merge
  650. patch.
  651. items:
  652. type: string
  653. type: array
  654. required:
  655. - key
  656. - operator
  657. type: object
  658. type: array
  659. matchLabels:
  660. additionalProperties:
  661. type: string
  662. description: matchLabels is a map of {key,value}
  663. pairs. A single {key,value} in the matchLabels
  664. map is equivalent to an element of matchExpressions,
  665. whose key field is "key", the operator
  666. is "In", and the values array contains
  667. only "value". The requirements are ANDed.
  668. type: object
  669. type: object
  670. x-kubernetes-map-type: atomic
  671. namespaceSelector:
  672. description: A label query over the set of namespaces
  673. that the term applies to. The term is applied
  674. to the union of the namespaces selected by
  675. this field and the ones listed in the namespaces
  676. field. null selector and null or empty namespaces
  677. list means "this pod's namespace". An empty
  678. selector ({}) matches all namespaces.
  679. properties:
  680. matchExpressions:
  681. description: matchExpressions is a list
  682. of label selector requirements. The requirements
  683. are ANDed.
  684. items:
  685. description: A label selector requirement
  686. is a selector that contains values,
  687. a key, and an operator that relates
  688. the key and values.
  689. properties:
  690. key:
  691. description: key is the label key
  692. that the selector applies to.
  693. type: string
  694. operator:
  695. description: operator represents a
  696. key's relationship to a set of values.
  697. Valid operators are In, NotIn, Exists
  698. and DoesNotExist.
  699. type: string
  700. values:
  701. description: values is an array of
  702. string values. If the operator is
  703. In or NotIn, the values array must
  704. be non-empty. If the operator is
  705. Exists or DoesNotExist, the values
  706. array must be empty. This array
  707. is replaced during a strategic merge
  708. patch.
  709. items:
  710. type: string
  711. type: array
  712. required:
  713. - key
  714. - operator
  715. type: object
  716. type: array
  717. matchLabels:
  718. additionalProperties:
  719. type: string
  720. description: matchLabels is a map of {key,value}
  721. pairs. A single {key,value} in the matchLabels
  722. map is equivalent to an element of matchExpressions,
  723. whose key field is "key", the operator
  724. is "In", and the values array contains
  725. only "value". The requirements are ANDed.
  726. type: object
  727. type: object
  728. x-kubernetes-map-type: atomic
  729. namespaces:
  730. description: namespaces specifies a static list
  731. of namespace names that the term applies to.
  732. The term is applied to the union of the namespaces
  733. listed in this field and the ones selected
  734. by namespaceSelector. null or empty namespaces
  735. list and null namespaceSelector means "this
  736. pod's namespace".
  737. items:
  738. type: string
  739. type: array
  740. topologyKey:
  741. description: This pod should be co-located (affinity)
  742. or not co-located (anti-affinity) with the
  743. pods matching the labelSelector in the specified
  744. namespaces, where co-located is defined as
  745. running on a node whose value of the label
  746. with key topologyKey matches that of any node
  747. on which any of the selected pods is running.
  748. Empty topologyKey is not allowed.
  749. type: string
  750. required:
  751. - topologyKey
  752. type: object
  753. weight:
  754. description: weight associated with matching the
  755. corresponding podAffinityTerm, in the range 1-100.
  756. format: int32
  757. type: integer
  758. required:
  759. - podAffinityTerm
  760. - weight
  761. type: object
  762. type: array
  763. requiredDuringSchedulingIgnoredDuringExecution:
  764. description: If the anti-affinity requirements specified
  765. by this field are not met at scheduling time, the pod
  766. will not be scheduled onto the node. If the anti-affinity
  767. requirements specified by this field cease to be met
  768. at some point during pod execution (e.g. due to a pod
  769. label update), the system may or may not try to eventually
  770. evict the pod from its node. When there are multiple
  771. elements, the lists of nodes corresponding to each podAffinityTerm
  772. are intersected, i.e. all terms must be satisfied.
  773. items:
  774. description: Defines a set of pods (namely those matching
  775. the labelSelector relative to the given namespace(s))
  776. that this pod should be co-located (affinity) or not
  777. co-located (anti-affinity) with, where co-located
  778. is defined as running on a node whose value of the
  779. label with key <topologyKey> matches that of any node
  780. on which a pod of the set of pods is running
  781. properties:
  782. labelSelector:
  783. description: A label query over a set of resources,
  784. in this case pods.
  785. properties:
  786. matchExpressions:
  787. description: matchExpressions is a list of label
  788. selector requirements. The requirements are
  789. ANDed.
  790. items:
  791. description: A label selector requirement
  792. is a selector that contains values, a key,
  793. and an operator that relates the key and
  794. values.
  795. properties:
  796. key:
  797. description: key is the label key that
  798. the selector applies to.
  799. type: string
  800. operator:
  801. description: operator represents a key's
  802. relationship to a set of values. Valid
  803. operators are In, NotIn, Exists and
  804. DoesNotExist.
  805. type: string
  806. values:
  807. description: values is an array of string
  808. values. If the operator is In or NotIn,
  809. the values array must be non-empty.
  810. If the operator is Exists or DoesNotExist,
  811. the values array must be empty. This
  812. array is replaced during a strategic
  813. merge patch.
  814. items:
  815. type: string
  816. type: array
  817. required:
  818. - key
  819. - operator
  820. type: object
  821. type: array
  822. matchLabels:
  823. additionalProperties:
  824. type: string
  825. description: matchLabels is a map of {key,value}
  826. pairs. A single {key,value} in the matchLabels
  827. map is equivalent to an element of matchExpressions,
  828. whose key field is "key", the operator is
  829. "In", and the values array contains only "value".
  830. The requirements are ANDed.
  831. type: object
  832. type: object
  833. x-kubernetes-map-type: atomic
  834. namespaceSelector:
  835. description: A label query over the set of namespaces
  836. that the term applies to. The term is applied
  837. to the union of the namespaces selected by this
  838. field and the ones listed in the namespaces field.
  839. null selector and null or empty namespaces list
  840. means "this pod's namespace". An empty selector
  841. ({}) matches all namespaces.
  842. properties:
  843. matchExpressions:
  844. description: matchExpressions is a list of label
  845. selector requirements. The requirements are
  846. ANDed.
  847. items:
  848. description: A label selector requirement
  849. is a selector that contains values, a key,
  850. and an operator that relates the key and
  851. values.
  852. properties:
  853. key:
  854. description: key is the label key that
  855. the selector applies to.
  856. type: string
  857. operator:
  858. description: operator represents a key's
  859. relationship to a set of values. Valid
  860. operators are In, NotIn, Exists and
  861. DoesNotExist.
  862. type: string
  863. values:
  864. description: values is an array of string
  865. values. If the operator is In or NotIn,
  866. the values array must be non-empty.
  867. If the operator is Exists or DoesNotExist,
  868. the values array must be empty. This
  869. array is replaced during a strategic
  870. merge patch.
  871. items:
  872. type: string
  873. type: array
  874. required:
  875. - key
  876. - operator
  877. type: object
  878. type: array
  879. matchLabels:
  880. additionalProperties:
  881. type: string
  882. description: matchLabels is a map of {key,value}
  883. pairs. A single {key,value} in the matchLabels
  884. map is equivalent to an element of matchExpressions,
  885. whose key field is "key", the operator is
  886. "In", and the values array contains only "value".
  887. The requirements are ANDed.
  888. type: object
  889. type: object
  890. x-kubernetes-map-type: atomic
  891. namespaces:
  892. description: namespaces specifies a static list
  893. of namespace names that the term applies to. The
  894. term is applied to the union of the namespaces
  895. listed in this field and the ones selected by
  896. namespaceSelector. null or empty namespaces list
  897. and null namespaceSelector means "this pod's namespace".
  898. items:
  899. type: string
  900. type: array
  901. topologyKey:
  902. description: This pod should be co-located (affinity)
  903. or not co-located (anti-affinity) with the pods
  904. matching the labelSelector in the specified namespaces,
  905. where co-located is defined as running on a node
  906. whose value of the label with key topologyKey
  907. matches that of any node on which any of the selected
  908. pods is running. Empty topologyKey is not allowed.
  909. type: string
  910. required:
  911. - topologyKey
  912. type: object
  913. type: array
  914. type: object
  915. type: object
  916. automountServiceAccountToken:
  917. description: AutomountServiceAccountToken indicates whether a
  918. service account token should be automatically mounted.
  919. type: boolean
  920. containers:
  921. description: List of containers belonging to the pod. Containers
  922. cannot currently be added or removed. There must be at least
  923. one container in a Pod. Cannot be updated.
  924. items:
  925. description: A single application container that you want to
  926. run within a pod.
  927. properties:
  928. args:
  929. description: 'Arguments to the entrypoint. The container
  930. image''s CMD is used if this is not provided. Variable
  931. references $(VAR_NAME) are expanded using the container''s
  932. environment. If a variable cannot be resolved, the reference
  933. in the input string will be unchanged. Double $$ are reduced
  934. to a single $, which allows for escaping the $(VAR_NAME)
  935. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  936. "$(VAR_NAME)". Escaped references will never be expanded,
  937. regardless of whether the variable exists or not. Cannot
  938. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  939. items:
  940. type: string
  941. type: array
  942. command:
  943. description: 'Entrypoint array. Not executed within a shell.
  944. The container image''s ENTRYPOINT is used if this is not
  945. provided. Variable references $(VAR_NAME) are expanded
  946. using the container''s environment. If a variable cannot
  947. be resolved, the reference in the input string will be
  948. unchanged. Double $$ are reduced to a single $, which
  949. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  950. will produce the string literal "$(VAR_NAME)". Escaped
  951. references will never be expanded, regardless of whether
  952. the variable exists or not. Cannot be updated. More info:
  953. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  954. items:
  955. type: string
  956. type: array
  957. env:
  958. description: List of environment variables to set in the
  959. container. Cannot be updated.
  960. items:
  961. description: EnvVar represents an environment variable
  962. present in a Container.
  963. properties:
  964. name:
  965. description: Name of the environment variable. Must
  966. be a C_IDENTIFIER.
  967. type: string
  968. value:
  969. description: 'Variable references $(VAR_NAME) are
  970. expanded using the previously defined environment
  971. variables in the container and any service environment
  972. variables. If a variable cannot be resolved, the
  973. reference in the input string will be unchanged.
  974. Double $$ are reduced to a single $, which allows
  975. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  976. will produce the string literal "$(VAR_NAME)". Escaped
  977. references will never be expanded, regardless of
  978. whether the variable exists or not. Defaults to
  979. "".'
  980. type: string
  981. valueFrom:
  982. description: Source for the environment variable's
  983. value. Cannot be used if value is not empty.
  984. properties:
  985. configMapKeyRef:
  986. description: Selects a key of a ConfigMap.
  987. properties:
  988. key:
  989. description: The key to select.
  990. type: string
  991. name:
  992. description: 'Name of the referent. More info:
  993. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  994. TODO: Add other useful fields. apiVersion,
  995. kind, uid?'
  996. type: string
  997. optional:
  998. description: Specify whether the ConfigMap
  999. or its key must be defined
  1000. type: boolean
  1001. required:
  1002. - key
  1003. type: object
  1004. x-kubernetes-map-type: atomic
  1005. fieldRef:
  1006. description: 'Selects a field of the pod: supports
  1007. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  1008. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  1009. spec.serviceAccountName, status.hostIP, status.podIP,
  1010. status.podIPs.'
  1011. properties:
  1012. apiVersion:
  1013. description: Version of the schema the FieldPath
  1014. is written in terms of, defaults to "v1".
  1015. type: string
  1016. fieldPath:
  1017. description: Path of the field to select in
  1018. the specified API version.
  1019. type: string
  1020. required:
  1021. - fieldPath
  1022. type: object
  1023. x-kubernetes-map-type: atomic
  1024. resourceFieldRef:
  1025. description: 'Selects a resource of the container:
  1026. only resources limits and requests (limits.cpu,
  1027. limits.memory, limits.ephemeral-storage, requests.cpu,
  1028. requests.memory and requests.ephemeral-storage)
  1029. are currently supported.'
  1030. properties:
  1031. containerName:
  1032. description: 'Container name: required for
  1033. volumes, optional for env vars'
  1034. type: string
  1035. divisor:
  1036. anyOf:
  1037. - type: integer
  1038. - type: string
  1039. description: Specifies the output format of
  1040. the exposed resources, defaults to "1"
  1041. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1042. x-kubernetes-int-or-string: true
  1043. resource:
  1044. description: 'Required: resource to select'
  1045. type: string
  1046. required:
  1047. - resource
  1048. type: object
  1049. x-kubernetes-map-type: atomic
  1050. secretKeyRef:
  1051. description: Selects a key of a secret in the
  1052. pod's namespace
  1053. properties:
  1054. key:
  1055. description: The key of the secret to select
  1056. from. Must be a valid secret key.
  1057. type: string
  1058. name:
  1059. description: 'Name of the referent. More info:
  1060. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1061. TODO: Add other useful fields. apiVersion,
  1062. kind, uid?'
  1063. type: string
  1064. optional:
  1065. description: Specify whether the Secret or
  1066. its key must be defined
  1067. type: boolean
  1068. required:
  1069. - key
  1070. type: object
  1071. x-kubernetes-map-type: atomic
  1072. type: object
  1073. required:
  1074. - name
  1075. type: object
  1076. type: array
  1077. envFrom:
  1078. description: List of sources to populate environment variables
  1079. in the container. The keys defined within a source must
  1080. be a C_IDENTIFIER. All invalid keys will be reported as
  1081. an event when the container is starting. When a key exists
  1082. in multiple sources, the value associated with the last
  1083. source will take precedence. Values defined by an Env
  1084. with a duplicate key will take precedence. Cannot be updated.
  1085. items:
  1086. description: EnvFromSource represents the source of a
  1087. set of ConfigMaps
  1088. properties:
  1089. configMapRef:
  1090. description: The ConfigMap to select from
  1091. properties:
  1092. name:
  1093. description: 'Name of the referent. More info:
  1094. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1095. TODO: Add other useful fields. apiVersion, kind,
  1096. uid?'
  1097. type: string
  1098. optional:
  1099. description: Specify whether the ConfigMap must
  1100. be defined
  1101. type: boolean
  1102. type: object
  1103. x-kubernetes-map-type: atomic
  1104. prefix:
  1105. description: An optional identifier to prepend to
  1106. each key in the ConfigMap. Must be a C_IDENTIFIER.
  1107. type: string
  1108. secretRef:
  1109. description: The Secret to select from
  1110. properties:
  1111. name:
  1112. description: 'Name of the referent. More info:
  1113. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1114. TODO: Add other useful fields. apiVersion, kind,
  1115. uid?'
  1116. type: string
  1117. optional:
  1118. description: Specify whether the Secret must be
  1119. defined
  1120. type: boolean
  1121. type: object
  1122. x-kubernetes-map-type: atomic
  1123. type: object
  1124. type: array
  1125. image:
  1126. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  1127. This field is optional to allow higher level config management
  1128. to default or override container images in workload controllers
  1129. like Deployments and StatefulSets.'
  1130. type: string
  1131. imagePullPolicy:
  1132. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  1133. Defaults to Always if :latest tag is specified, or IfNotPresent
  1134. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  1135. type: string
  1136. lifecycle:
  1137. description: Actions that the management system should take
  1138. in response to container lifecycle events. Cannot be updated.
  1139. properties:
  1140. postStart:
  1141. description: 'PostStart is called immediately after
  1142. a container is created. If the handler fails, the
  1143. container is terminated and restarted according to
  1144. its restart policy. Other management of the container
  1145. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1146. properties:
  1147. exec:
  1148. description: Exec specifies the action to take.
  1149. properties:
  1150. command:
  1151. description: Command is the command line to
  1152. execute inside the container, the working
  1153. directory for the command is root ('/') in
  1154. the container's filesystem. The command is
  1155. simply exec'd, it is not run inside a shell,
  1156. so traditional shell instructions ('|', etc)
  1157. won't work. To use a shell, you need to explicitly
  1158. call out to that shell. Exit status of 0 is
  1159. treated as live/healthy and non-zero is unhealthy.
  1160. items:
  1161. type: string
  1162. type: array
  1163. type: object
  1164. httpGet:
  1165. description: HTTPGet specifies the http request
  1166. to perform.
  1167. properties:
  1168. host:
  1169. description: Host name to connect to, defaults
  1170. to the pod IP. You probably want to set "Host"
  1171. in httpHeaders instead.
  1172. type: string
  1173. httpHeaders:
  1174. description: Custom headers to set in the request.
  1175. HTTP allows repeated headers.
  1176. items:
  1177. description: HTTPHeader describes a custom
  1178. header to be used in HTTP probes
  1179. properties:
  1180. name:
  1181. description: The header field name
  1182. type: string
  1183. value:
  1184. description: The header field value
  1185. type: string
  1186. required:
  1187. - name
  1188. - value
  1189. type: object
  1190. type: array
  1191. path:
  1192. description: Path to access on the HTTP server.
  1193. type: string
  1194. port:
  1195. anyOf:
  1196. - type: integer
  1197. - type: string
  1198. description: Name or number of the port to access
  1199. on the container. Number must be in the range
  1200. 1 to 65535. Name must be an IANA_SVC_NAME.
  1201. x-kubernetes-int-or-string: true
  1202. scheme:
  1203. description: Scheme to use for connecting to
  1204. the host. Defaults to HTTP.
  1205. type: string
  1206. required:
  1207. - port
  1208. type: object
  1209. tcpSocket:
  1210. description: Deprecated. TCPSocket is NOT supported
  1211. as a LifecycleHandler and kept for the backward
  1212. compatibility. There are no validation of this
  1213. field and lifecycle hooks will fail in runtime
  1214. when tcp handler is specified.
  1215. properties:
  1216. host:
  1217. description: 'Optional: Host name to connect
  1218. to, defaults to the pod IP.'
  1219. type: string
  1220. port:
  1221. anyOf:
  1222. - type: integer
  1223. - type: string
  1224. description: Number or name of the port to access
  1225. on the container. Number must be in the range
  1226. 1 to 65535. Name must be an IANA_SVC_NAME.
  1227. x-kubernetes-int-or-string: true
  1228. required:
  1229. - port
  1230. type: object
  1231. type: object
  1232. preStop:
  1233. description: 'PreStop is called immediately before a
  1234. container is terminated due to an API request or management
  1235. event such as liveness/startup probe failure, preemption,
  1236. resource contention, etc. The handler is not called
  1237. if the container crashes or exits. The Pod''s termination
  1238. grace period countdown begins before the PreStop hook
  1239. is executed. Regardless of the outcome of the handler,
  1240. the container will eventually terminate within the
  1241. Pod''s termination grace period (unless delayed by
  1242. finalizers). Other management of the container blocks
  1243. until the hook completes or until the termination
  1244. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1245. properties:
  1246. exec:
  1247. description: Exec specifies the action to take.
  1248. properties:
  1249. command:
  1250. description: Command is the command line to
  1251. execute inside the container, the working
  1252. directory for the command is root ('/') in
  1253. the container's filesystem. The command is
  1254. simply exec'd, it is not run inside a shell,
  1255. so traditional shell instructions ('|', etc)
  1256. won't work. To use a shell, you need to explicitly
  1257. call out to that shell. Exit status of 0 is
  1258. treated as live/healthy and non-zero is unhealthy.
  1259. items:
  1260. type: string
  1261. type: array
  1262. type: object
  1263. httpGet:
  1264. description: HTTPGet specifies the http request
  1265. to perform.
  1266. properties:
  1267. host:
  1268. description: Host name to connect to, defaults
  1269. to the pod IP. You probably want to set "Host"
  1270. in httpHeaders instead.
  1271. type: string
  1272. httpHeaders:
  1273. description: Custom headers to set in the request.
  1274. HTTP allows repeated headers.
  1275. items:
  1276. description: HTTPHeader describes a custom
  1277. header to be used in HTTP probes
  1278. properties:
  1279. name:
  1280. description: The header field name
  1281. type: string
  1282. value:
  1283. description: The header field value
  1284. type: string
  1285. required:
  1286. - name
  1287. - value
  1288. type: object
  1289. type: array
  1290. path:
  1291. description: Path to access on the HTTP server.
  1292. type: string
  1293. port:
  1294. anyOf:
  1295. - type: integer
  1296. - type: string
  1297. description: Name or number of the port to access
  1298. on the container. Number must be in the range
  1299. 1 to 65535. Name must be an IANA_SVC_NAME.
  1300. x-kubernetes-int-or-string: true
  1301. scheme:
  1302. description: Scheme to use for connecting to
  1303. the host. Defaults to HTTP.
  1304. type: string
  1305. required:
  1306. - port
  1307. type: object
  1308. tcpSocket:
  1309. description: Deprecated. TCPSocket is NOT supported
  1310. as a LifecycleHandler and kept for the backward
  1311. compatibility. There are no validation of this
  1312. field and lifecycle hooks will fail in runtime
  1313. when tcp handler is specified.
  1314. properties:
  1315. host:
  1316. description: 'Optional: Host name to connect
  1317. to, defaults to the pod IP.'
  1318. type: string
  1319. port:
  1320. anyOf:
  1321. - type: integer
  1322. - type: string
  1323. description: Number or name of the port to access
  1324. on the container. Number must be in the range
  1325. 1 to 65535. Name must be an IANA_SVC_NAME.
  1326. x-kubernetes-int-or-string: true
  1327. required:
  1328. - port
  1329. type: object
  1330. type: object
  1331. type: object
  1332. livenessProbe:
  1333. description: 'Periodic probe of container liveness. Container
  1334. will be restarted if the probe fails. Cannot be updated.
  1335. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1336. properties:
  1337. exec:
  1338. description: Exec specifies the action to take.
  1339. properties:
  1340. command:
  1341. description: Command is the command line to execute
  1342. inside the container, the working directory for
  1343. the command is root ('/') in the container's
  1344. filesystem. The command is simply exec'd, it is
  1345. not run inside a shell, so traditional shell instructions
  1346. ('|', etc) won't work. To use a shell, you need
  1347. to explicitly call out to that shell. Exit status
  1348. of 0 is treated as live/healthy and non-zero is
  1349. unhealthy.
  1350. items:
  1351. type: string
  1352. type: array
  1353. type: object
  1354. failureThreshold:
  1355. description: Minimum consecutive failures for the probe
  1356. to be considered failed after having succeeded. Defaults
  1357. to 3. Minimum value is 1.
  1358. format: int32
  1359. type: integer
  1360. grpc:
  1361. description: GRPC specifies an action involving a GRPC
  1362. port. This is a beta field and requires enabling GRPCContainerProbe
  1363. feature gate.
  1364. properties:
  1365. port:
  1366. description: Port number of the gRPC service. Number
  1367. must be in the range 1 to 65535.
  1368. format: int32
  1369. type: integer
  1370. service:
  1371. description: "Service is the name of the service
  1372. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  1373. \n If this is not specified, the default behavior
  1374. is defined by gRPC."
  1375. type: string
  1376. required:
  1377. - port
  1378. type: object
  1379. httpGet:
  1380. description: HTTPGet specifies the http request to perform.
  1381. properties:
  1382. host:
  1383. description: Host name to connect to, defaults to
  1384. the pod IP. You probably want to set "Host" in
  1385. httpHeaders instead.
  1386. type: string
  1387. httpHeaders:
  1388. description: Custom headers to set in the request.
  1389. HTTP allows repeated headers.
  1390. items:
  1391. description: HTTPHeader describes a custom header
  1392. to be used in HTTP probes
  1393. properties:
  1394. name:
  1395. description: The header field name
  1396. type: string
  1397. value:
  1398. description: The header field value
  1399. type: string
  1400. required:
  1401. - name
  1402. - value
  1403. type: object
  1404. type: array
  1405. path:
  1406. description: Path to access on the HTTP server.
  1407. type: string
  1408. port:
  1409. anyOf:
  1410. - type: integer
  1411. - type: string
  1412. description: Name or number of the port to access
  1413. on the container. Number must be in the range
  1414. 1 to 65535. Name must be an IANA_SVC_NAME.
  1415. x-kubernetes-int-or-string: true
  1416. scheme:
  1417. description: Scheme to use for connecting to the
  1418. host. Defaults to HTTP.
  1419. type: string
  1420. required:
  1421. - port
  1422. type: object
  1423. initialDelaySeconds:
  1424. description: 'Number of seconds after the container
  1425. has started before liveness probes are initiated.
  1426. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1427. format: int32
  1428. type: integer
  1429. periodSeconds:
  1430. description: How often (in seconds) to perform the probe.
  1431. Default to 10 seconds. Minimum value is 1.
  1432. format: int32
  1433. type: integer
  1434. successThreshold:
  1435. description: Minimum consecutive successes for the probe
  1436. to be considered successful after having failed. Defaults
  1437. to 1. Must be 1 for liveness and startup. Minimum
  1438. value is 1.
  1439. format: int32
  1440. type: integer
  1441. tcpSocket:
  1442. description: TCPSocket specifies an action involving
  1443. a TCP port.
  1444. properties:
  1445. host:
  1446. description: 'Optional: Host name to connect to,
  1447. defaults to the pod IP.'
  1448. type: string
  1449. port:
  1450. anyOf:
  1451. - type: integer
  1452. - type: string
  1453. description: Number or name of the port to access
  1454. on the container. Number must be in the range
  1455. 1 to 65535. Name must be an IANA_SVC_NAME.
  1456. x-kubernetes-int-or-string: true
  1457. required:
  1458. - port
  1459. type: object
  1460. terminationGracePeriodSeconds:
  1461. description: Optional duration in seconds the pod needs
  1462. to terminate gracefully upon probe failure. The grace
  1463. period is the duration in seconds after the processes
  1464. running in the pod are sent a termination signal and
  1465. the time when the processes are forcibly halted with
  1466. a kill signal. Set this value longer than the expected
  1467. cleanup time for your process. If this value is nil,
  1468. the pod's terminationGracePeriodSeconds will be used.
  1469. Otherwise, this value overrides the value provided
  1470. by the pod spec. Value must be non-negative integer.
  1471. The value zero indicates stop immediately via the
  1472. kill signal (no opportunity to shut down). This is
  1473. a beta field and requires enabling ProbeTerminationGracePeriod
  1474. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  1475. is used if unset.
  1476. format: int64
  1477. type: integer
  1478. timeoutSeconds:
  1479. description: 'Number of seconds after which the probe
  1480. times out. Defaults to 1 second. Minimum value is
  1481. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1482. format: int32
  1483. type: integer
  1484. type: object
  1485. name:
  1486. description: Name of the container specified as a DNS_LABEL.
  1487. Each container in a pod must have a unique name (DNS_LABEL).
  1488. Cannot be updated.
  1489. type: string
  1490. ports:
  1491. description: List of ports to expose from the container.
  1492. Exposing a port here gives the system additional information
  1493. about the network connections a container uses, but is
  1494. primarily informational. Not specifying a port here DOES
  1495. NOT prevent that port from being exposed. Any port which
  1496. is listening on the default "0.0.0.0" address inside a
  1497. container will be accessible from the network. Cannot
  1498. be updated.
  1499. items:
  1500. description: ContainerPort represents a network port in
  1501. a single container.
  1502. properties:
  1503. containerPort:
  1504. description: Number of port to expose on the pod's
  1505. IP address. This must be a valid port number, 0
  1506. < x < 65536.
  1507. format: int32
  1508. type: integer
  1509. hostIP:
  1510. description: What host IP to bind the external port
  1511. to.
  1512. type: string
  1513. hostPort:
  1514. description: Number of port to expose on the host.
  1515. If specified, this must be a valid port number,
  1516. 0 < x < 65536. If HostNetwork is specified, this
  1517. must match ContainerPort. Most containers do not
  1518. need this.
  1519. format: int32
  1520. type: integer
  1521. name:
  1522. description: If specified, this must be an IANA_SVC_NAME
  1523. and unique within the pod. Each named port in a
  1524. pod must have a unique name. Name for the port that
  1525. can be referred to by services.
  1526. type: string
  1527. protocol:
  1528. default: TCP
  1529. description: Protocol for port. Must be UDP, TCP,
  1530. or SCTP. Defaults to "TCP".
  1531. type: string
  1532. required:
  1533. - containerPort
  1534. type: object
  1535. type: array
  1536. x-kubernetes-list-map-keys:
  1537. - containerPort
  1538. - protocol
  1539. x-kubernetes-list-type: map
  1540. readinessProbe:
  1541. description: 'Periodic probe of container service readiness.
  1542. Container will be removed from service endpoints if the
  1543. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1544. properties:
  1545. exec:
  1546. description: Exec specifies the action to take.
  1547. properties:
  1548. command:
  1549. description: Command is the command line to execute
  1550. inside the container, the working directory for
  1551. the command is root ('/') in the container's
  1552. filesystem. The command is simply exec'd, it is
  1553. not run inside a shell, so traditional shell instructions
  1554. ('|', etc) won't work. To use a shell, you need
  1555. to explicitly call out to that shell. Exit status
  1556. of 0 is treated as live/healthy and non-zero is
  1557. unhealthy.
  1558. items:
  1559. type: string
  1560. type: array
  1561. type: object
  1562. failureThreshold:
  1563. description: Minimum consecutive failures for the probe
  1564. to be considered failed after having succeeded. Defaults
  1565. to 3. Minimum value is 1.
  1566. format: int32
  1567. type: integer
  1568. grpc:
  1569. description: GRPC specifies an action involving a GRPC
  1570. port. This is a beta field and requires enabling GRPCContainerProbe
  1571. feature gate.
  1572. properties:
  1573. port:
  1574. description: Port number of the gRPC service. Number
  1575. must be in the range 1 to 65535.
  1576. format: int32
  1577. type: integer
  1578. service:
  1579. description: "Service is the name of the service
  1580. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  1581. \n If this is not specified, the default behavior
  1582. is defined by gRPC."
  1583. type: string
  1584. required:
  1585. - port
  1586. type: object
  1587. httpGet:
  1588. description: HTTPGet specifies the http request to perform.
  1589. properties:
  1590. host:
  1591. description: Host name to connect to, defaults to
  1592. the pod IP. You probably want to set "Host" in
  1593. httpHeaders instead.
  1594. type: string
  1595. httpHeaders:
  1596. description: Custom headers to set in the request.
  1597. HTTP allows repeated headers.
  1598. items:
  1599. description: HTTPHeader describes a custom header
  1600. to be used in HTTP probes
  1601. properties:
  1602. name:
  1603. description: The header field name
  1604. type: string
  1605. value:
  1606. description: The header field value
  1607. type: string
  1608. required:
  1609. - name
  1610. - value
  1611. type: object
  1612. type: array
  1613. path:
  1614. description: Path to access on the HTTP server.
  1615. type: string
  1616. port:
  1617. anyOf:
  1618. - type: integer
  1619. - type: string
  1620. description: Name or number of the port to access
  1621. on the container. Number must be in the range
  1622. 1 to 65535. Name must be an IANA_SVC_NAME.
  1623. x-kubernetes-int-or-string: true
  1624. scheme:
  1625. description: Scheme to use for connecting to the
  1626. host. Defaults to HTTP.
  1627. type: string
  1628. required:
  1629. - port
  1630. type: object
  1631. initialDelaySeconds:
  1632. description: 'Number of seconds after the container
  1633. has started before liveness probes are initiated.
  1634. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1635. format: int32
  1636. type: integer
  1637. periodSeconds:
  1638. description: How often (in seconds) to perform the probe.
  1639. Default to 10 seconds. Minimum value is 1.
  1640. format: int32
  1641. type: integer
  1642. successThreshold:
  1643. description: Minimum consecutive successes for the probe
  1644. to be considered successful after having failed. Defaults
  1645. to 1. Must be 1 for liveness and startup. Minimum
  1646. value is 1.
  1647. format: int32
  1648. type: integer
  1649. tcpSocket:
  1650. description: TCPSocket specifies an action involving
  1651. a TCP port.
  1652. properties:
  1653. host:
  1654. description: 'Optional: Host name to connect to,
  1655. defaults to the pod IP.'
  1656. type: string
  1657. port:
  1658. anyOf:
  1659. - type: integer
  1660. - type: string
  1661. description: Number or name of the port to access
  1662. on the container. Number must be in the range
  1663. 1 to 65535. Name must be an IANA_SVC_NAME.
  1664. x-kubernetes-int-or-string: true
  1665. required:
  1666. - port
  1667. type: object
  1668. terminationGracePeriodSeconds:
  1669. description: Optional duration in seconds the pod needs
  1670. to terminate gracefully upon probe failure. The grace
  1671. period is the duration in seconds after the processes
  1672. running in the pod are sent a termination signal and
  1673. the time when the processes are forcibly halted with
  1674. a kill signal. Set this value longer than the expected
  1675. cleanup time for your process. If this value is nil,
  1676. the pod's terminationGracePeriodSeconds will be used.
  1677. Otherwise, this value overrides the value provided
  1678. by the pod spec. Value must be non-negative integer.
  1679. The value zero indicates stop immediately via the
  1680. kill signal (no opportunity to shut down). This is
  1681. a beta field and requires enabling ProbeTerminationGracePeriod
  1682. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  1683. is used if unset.
  1684. format: int64
  1685. type: integer
  1686. timeoutSeconds:
  1687. description: 'Number of seconds after which the probe
  1688. times out. Defaults to 1 second. Minimum value is
  1689. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1690. format: int32
  1691. type: integer
  1692. type: object
  1693. resources:
  1694. description: 'Compute Resources required by this container.
  1695. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1696. properties:
  1697. limits:
  1698. additionalProperties:
  1699. anyOf:
  1700. - type: integer
  1701. - type: string
  1702. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1703. x-kubernetes-int-or-string: true
  1704. description: 'Limits describes the maximum amount of
  1705. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1706. type: object
  1707. requests:
  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: 'Requests describes the minimum amount
  1715. of compute resources required. If Requests is omitted
  1716. for a container, it defaults to Limits if that is
  1717. explicitly specified, otherwise to an implementation-defined
  1718. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1719. type: object
  1720. type: object
  1721. securityContext:
  1722. description: 'SecurityContext defines the security options
  1723. the container should be run with. If set, the fields of
  1724. SecurityContext override the equivalent fields of PodSecurityContext.
  1725. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  1726. properties:
  1727. allowPrivilegeEscalation:
  1728. description: 'AllowPrivilegeEscalation controls whether
  1729. a process can gain more privileges than its parent
  1730. process. This bool directly controls if the no_new_privs
  1731. flag will be set on the container process. AllowPrivilegeEscalation
  1732. is true always when the container is: 1) run as Privileged
  1733. 2) has CAP_SYS_ADMIN Note that this field cannot be
  1734. set when spec.os.name is windows.'
  1735. type: boolean
  1736. capabilities:
  1737. description: The capabilities to add/drop when running
  1738. containers. Defaults to the default set of capabilities
  1739. granted by the container runtime. Note that this field
  1740. cannot be set when spec.os.name is windows.
  1741. properties:
  1742. add:
  1743. description: Added capabilities
  1744. items:
  1745. description: Capability represent POSIX capabilities
  1746. type
  1747. type: string
  1748. type: array
  1749. drop:
  1750. description: Removed capabilities
  1751. items:
  1752. description: Capability represent POSIX capabilities
  1753. type
  1754. type: string
  1755. type: array
  1756. type: object
  1757. privileged:
  1758. description: Run container in privileged mode. Processes
  1759. in privileged containers are essentially equivalent
  1760. to root on the host. Defaults to false. Note that
  1761. this field cannot be set when spec.os.name is windows.
  1762. type: boolean
  1763. procMount:
  1764. description: procMount denotes the type of proc mount
  1765. to use for the containers. The default is DefaultProcMount
  1766. which uses the container runtime defaults for readonly
  1767. paths and masked paths. This requires the ProcMountType
  1768. feature flag to be enabled. Note that this field cannot
  1769. be set when spec.os.name is windows.
  1770. type: string
  1771. readOnlyRootFilesystem:
  1772. description: Whether this container has a read-only
  1773. root filesystem. Default is false. Note that this
  1774. field cannot be set when spec.os.name is windows.
  1775. type: boolean
  1776. runAsGroup:
  1777. description: The GID to run the entrypoint of the container
  1778. process. Uses runtime default if unset. May also be
  1779. set in PodSecurityContext. If set in both SecurityContext
  1780. and PodSecurityContext, the value specified in SecurityContext
  1781. takes precedence. Note that this field cannot be set
  1782. when spec.os.name is windows.
  1783. format: int64
  1784. type: integer
  1785. runAsNonRoot:
  1786. description: Indicates that the container must run as
  1787. a non-root user. If true, the Kubelet will validate
  1788. the image at runtime to ensure that it does not run
  1789. as UID 0 (root) and fail to start the container if
  1790. it does. If unset or false, no such validation will
  1791. be performed. May also be set in PodSecurityContext. If
  1792. set in both SecurityContext and PodSecurityContext,
  1793. the value specified in SecurityContext takes precedence.
  1794. type: boolean
  1795. runAsUser:
  1796. description: The UID to run the entrypoint of the container
  1797. process. Defaults to user specified in image metadata
  1798. if unspecified. May also be set in PodSecurityContext. If
  1799. set in both SecurityContext and PodSecurityContext,
  1800. the value specified in SecurityContext takes precedence.
  1801. Note that this field cannot be set when spec.os.name
  1802. is windows.
  1803. format: int64
  1804. type: integer
  1805. seLinuxOptions:
  1806. description: The SELinux context to be applied to the
  1807. container. If unspecified, the container runtime will
  1808. allocate a random SELinux context for each container. May
  1809. also be set in PodSecurityContext. If set in both
  1810. SecurityContext and PodSecurityContext, the value
  1811. specified in SecurityContext takes precedence. Note
  1812. that this field cannot be set when spec.os.name is
  1813. windows.
  1814. properties:
  1815. level:
  1816. description: Level is SELinux level label that applies
  1817. to the container.
  1818. type: string
  1819. role:
  1820. description: Role is a SELinux role label that applies
  1821. to the container.
  1822. type: string
  1823. type:
  1824. description: Type is a SELinux type label that applies
  1825. to the container.
  1826. type: string
  1827. user:
  1828. description: User is a SELinux user label that applies
  1829. to the container.
  1830. type: string
  1831. type: object
  1832. seccompProfile:
  1833. description: The seccomp options to use by this container.
  1834. If seccomp options are provided at both the pod &
  1835. container level, the container options override the
  1836. pod options. Note that this field cannot be set when
  1837. spec.os.name is windows.
  1838. properties:
  1839. localhostProfile:
  1840. description: localhostProfile indicates a profile
  1841. defined in a file on the node should be used.
  1842. The profile must be preconfigured on the node
  1843. to work. Must be a descending path, relative to
  1844. the kubelet's configured seccomp profile location.
  1845. Must only be set if type is "Localhost".
  1846. type: string
  1847. type:
  1848. description: "type indicates which kind of seccomp
  1849. profile will be applied. Valid options are: \n
  1850. Localhost - a profile defined in a file on the
  1851. node should be used. RuntimeDefault - the container
  1852. runtime default profile should be used. Unconfined
  1853. - no profile should be applied."
  1854. type: string
  1855. required:
  1856. - type
  1857. type: object
  1858. windowsOptions:
  1859. description: The Windows specific settings applied to
  1860. all containers. If unspecified, the options from the
  1861. PodSecurityContext will be used. If set in both SecurityContext
  1862. and PodSecurityContext, the value specified in SecurityContext
  1863. takes precedence. Note that this field cannot be set
  1864. when spec.os.name is linux.
  1865. properties:
  1866. gmsaCredentialSpec:
  1867. description: GMSACredentialSpec is where the GMSA
  1868. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  1869. inlines the contents of the GMSA credential spec
  1870. named by the GMSACredentialSpecName field.
  1871. type: string
  1872. gmsaCredentialSpecName:
  1873. description: GMSACredentialSpecName is the name
  1874. of the GMSA credential spec to use.
  1875. type: string
  1876. hostProcess:
  1877. description: HostProcess determines if a container
  1878. should be run as a 'Host Process' container. This
  1879. field is alpha-level and will only be honored
  1880. by components that enable the WindowsHostProcessContainers
  1881. feature flag. Setting this field without the feature
  1882. flag will result in errors when validating the
  1883. Pod. All of a Pod's containers must have the same
  1884. effective HostProcess value (it is not allowed
  1885. to have a mix of HostProcess containers and non-HostProcess
  1886. containers). In addition, if HostProcess is true
  1887. then HostNetwork must also be set to true.
  1888. type: boolean
  1889. runAsUserName:
  1890. description: The UserName in Windows to run the
  1891. entrypoint of the container process. Defaults
  1892. to the user specified in image metadata if unspecified.
  1893. May also be set in PodSecurityContext. If set
  1894. in both SecurityContext and PodSecurityContext,
  1895. the value specified in SecurityContext takes precedence.
  1896. type: string
  1897. type: object
  1898. type: object
  1899. startupProbe:
  1900. description: 'StartupProbe indicates that the Pod has successfully
  1901. initialized. If specified, no other probes are executed
  1902. until this completes successfully. If this probe fails,
  1903. the Pod will be restarted, just as if the livenessProbe
  1904. failed. This can be used to provide different probe parameters
  1905. at the beginning of a Pod''s lifecycle, when it might
  1906. take a long time to load data or warm a cache, than during
  1907. steady-state operation. This cannot be updated. More info:
  1908. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1909. properties:
  1910. exec:
  1911. description: Exec specifies the action to take.
  1912. properties:
  1913. command:
  1914. description: Command is the command line to execute
  1915. inside the container, the working directory for
  1916. the command is root ('/') in the container's
  1917. filesystem. The command is simply exec'd, it is
  1918. not run inside a shell, so traditional shell instructions
  1919. ('|', etc) won't work. To use a shell, you need
  1920. to explicitly call out to that shell. Exit status
  1921. of 0 is treated as live/healthy and non-zero is
  1922. unhealthy.
  1923. items:
  1924. type: string
  1925. type: array
  1926. type: object
  1927. failureThreshold:
  1928. description: Minimum consecutive failures for the probe
  1929. to be considered failed after having succeeded. Defaults
  1930. to 3. Minimum value is 1.
  1931. format: int32
  1932. type: integer
  1933. grpc:
  1934. description: GRPC specifies an action involving a GRPC
  1935. port. This is a beta field and requires enabling GRPCContainerProbe
  1936. feature gate.
  1937. properties:
  1938. port:
  1939. description: Port number of the gRPC service. Number
  1940. must be in the range 1 to 65535.
  1941. format: int32
  1942. type: integer
  1943. service:
  1944. description: "Service is the name of the service
  1945. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  1946. \n If this is not specified, the default behavior
  1947. is defined by gRPC."
  1948. type: string
  1949. required:
  1950. - port
  1951. type: object
  1952. httpGet:
  1953. description: HTTPGet specifies the http request to perform.
  1954. properties:
  1955. host:
  1956. description: Host name to connect to, defaults to
  1957. the pod IP. You probably want to set "Host" in
  1958. httpHeaders instead.
  1959. type: string
  1960. httpHeaders:
  1961. description: Custom headers to set in the request.
  1962. HTTP allows repeated headers.
  1963. items:
  1964. description: HTTPHeader describes a custom header
  1965. to be used in HTTP probes
  1966. properties:
  1967. name:
  1968. description: The header field name
  1969. type: string
  1970. value:
  1971. description: The header field value
  1972. type: string
  1973. required:
  1974. - name
  1975. - value
  1976. type: object
  1977. type: array
  1978. path:
  1979. description: Path to access on the HTTP server.
  1980. type: string
  1981. port:
  1982. anyOf:
  1983. - type: integer
  1984. - type: string
  1985. description: Name or number of the port to access
  1986. on the container. Number must be in the range
  1987. 1 to 65535. Name must be an IANA_SVC_NAME.
  1988. x-kubernetes-int-or-string: true
  1989. scheme:
  1990. description: Scheme to use for connecting to the
  1991. host. Defaults to HTTP.
  1992. type: string
  1993. required:
  1994. - port
  1995. type: object
  1996. initialDelaySeconds:
  1997. description: 'Number of seconds after the container
  1998. has started before liveness probes are initiated.
  1999. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2000. format: int32
  2001. type: integer
  2002. periodSeconds:
  2003. description: How often (in seconds) to perform the probe.
  2004. Default to 10 seconds. Minimum value is 1.
  2005. format: int32
  2006. type: integer
  2007. successThreshold:
  2008. description: Minimum consecutive successes for the probe
  2009. to be considered successful after having failed. Defaults
  2010. to 1. Must be 1 for liveness and startup. Minimum
  2011. value is 1.
  2012. format: int32
  2013. type: integer
  2014. tcpSocket:
  2015. description: TCPSocket specifies an action involving
  2016. a TCP port.
  2017. properties:
  2018. host:
  2019. description: 'Optional: Host name to connect to,
  2020. defaults to the pod IP.'
  2021. type: string
  2022. port:
  2023. anyOf:
  2024. - type: integer
  2025. - type: string
  2026. description: Number or name of the port to access
  2027. on the container. Number must be in the range
  2028. 1 to 65535. Name must be an IANA_SVC_NAME.
  2029. x-kubernetes-int-or-string: true
  2030. required:
  2031. - port
  2032. type: object
  2033. terminationGracePeriodSeconds:
  2034. description: Optional duration in seconds the pod needs
  2035. to terminate gracefully upon probe failure. The grace
  2036. period is the duration in seconds after the processes
  2037. running in the pod are sent a termination signal and
  2038. the time when the processes are forcibly halted with
  2039. a kill signal. Set this value longer than the expected
  2040. cleanup time for your process. If this value is nil,
  2041. the pod's terminationGracePeriodSeconds will be used.
  2042. Otherwise, this value overrides the value provided
  2043. by the pod spec. Value must be non-negative integer.
  2044. The value zero indicates stop immediately via the
  2045. kill signal (no opportunity to shut down). This is
  2046. a beta field and requires enabling ProbeTerminationGracePeriod
  2047. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  2048. is used if unset.
  2049. format: int64
  2050. type: integer
  2051. timeoutSeconds:
  2052. description: 'Number of seconds after which the probe
  2053. times out. Defaults to 1 second. Minimum value is
  2054. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2055. format: int32
  2056. type: integer
  2057. type: object
  2058. stdin:
  2059. description: Whether this container should allocate a buffer
  2060. for stdin in the container runtime. If this is not set,
  2061. reads from stdin in the container will always result in
  2062. EOF. Default is false.
  2063. type: boolean
  2064. stdinOnce:
  2065. description: Whether the container runtime should close
  2066. the stdin channel after it has been opened by a single
  2067. attach. When stdin is true the stdin stream will remain
  2068. open across multiple attach sessions. If stdinOnce is
  2069. set to true, stdin is opened on container start, is empty
  2070. until the first client attaches to stdin, and then remains
  2071. open and accepts data until the client disconnects, at
  2072. which time stdin is closed and remains closed until the
  2073. container is restarted. If this flag is false, a container
  2074. processes that reads from stdin will never receive an
  2075. EOF. Default is false
  2076. type: boolean
  2077. terminationMessagePath:
  2078. description: 'Optional: Path at which the file to which
  2079. the container''s termination message will be written is
  2080. mounted into the container''s filesystem. Message written
  2081. is intended to be brief final status, such as an assertion
  2082. failure message. Will be truncated by the node if greater
  2083. than 4096 bytes. The total message length across all containers
  2084. will be limited to 12kb. Defaults to /dev/termination-log.
  2085. Cannot be updated.'
  2086. type: string
  2087. terminationMessagePolicy:
  2088. description: Indicate how the termination message should
  2089. be populated. File will use the contents of terminationMessagePath
  2090. to populate the container status message on both success
  2091. and failure. FallbackToLogsOnError will use the last chunk
  2092. of container log output if the termination message file
  2093. is empty and the container exited with an error. The log
  2094. output is limited to 2048 bytes or 80 lines, whichever
  2095. is smaller. Defaults to File. Cannot be updated.
  2096. type: string
  2097. tty:
  2098. description: Whether this container should allocate a TTY
  2099. for itself, also requires 'stdin' to be true. Default
  2100. is false.
  2101. type: boolean
  2102. volumeDevices:
  2103. description: volumeDevices is the list of block devices
  2104. to be used by the container.
  2105. items:
  2106. description: volumeDevice describes a mapping of a raw
  2107. block device within a container.
  2108. properties:
  2109. devicePath:
  2110. description: devicePath is the path inside of the
  2111. container that the device will be mapped to.
  2112. type: string
  2113. name:
  2114. description: name must match the name of a persistentVolumeClaim
  2115. in the pod
  2116. type: string
  2117. required:
  2118. - devicePath
  2119. - name
  2120. type: object
  2121. type: array
  2122. volumeMounts:
  2123. description: Pod volumes to mount into the container's filesystem.
  2124. Cannot be updated.
  2125. items:
  2126. description: VolumeMount describes a mounting of a Volume
  2127. within a container.
  2128. properties:
  2129. mountPath:
  2130. description: Path within the container at which the
  2131. volume should be mounted. Must not contain ':'.
  2132. type: string
  2133. mountPropagation:
  2134. description: mountPropagation determines how mounts
  2135. are propagated from the host to container and the
  2136. other way around. When not set, MountPropagationNone
  2137. is used. This field is beta in 1.10.
  2138. type: string
  2139. name:
  2140. description: This must match the Name of a Volume.
  2141. type: string
  2142. readOnly:
  2143. description: Mounted read-only if true, read-write
  2144. otherwise (false or unspecified). Defaults to false.
  2145. type: boolean
  2146. subPath:
  2147. description: Path within the volume from which the
  2148. container's volume should be mounted. Defaults to
  2149. "" (volume's root).
  2150. type: string
  2151. subPathExpr:
  2152. description: Expanded path within the volume from
  2153. which the container's volume should be mounted.
  2154. Behaves similarly to SubPath but environment variable
  2155. references $(VAR_NAME) are expanded using the container's
  2156. environment. Defaults to "" (volume's root). SubPathExpr
  2157. and SubPath are mutually exclusive.
  2158. type: string
  2159. required:
  2160. - mountPath
  2161. - name
  2162. type: object
  2163. type: array
  2164. workingDir:
  2165. description: Container's working directory. If not specified,
  2166. the container runtime's default will be used, which might
  2167. be configured in the container image. Cannot be updated.
  2168. type: string
  2169. required:
  2170. - name
  2171. type: object
  2172. type: array
  2173. dnsConfig:
  2174. description: Specifies the DNS parameters of a pod. Parameters
  2175. specified here will be merged to the generated DNS configuration
  2176. based on DNSPolicy.
  2177. properties:
  2178. nameservers:
  2179. description: A list of DNS name server IP addresses. This
  2180. will be appended to the base nameservers generated from
  2181. DNSPolicy. Duplicated nameservers will be removed.
  2182. items:
  2183. type: string
  2184. type: array
  2185. options:
  2186. description: A list of DNS resolver options. This will be
  2187. merged with the base options generated from DNSPolicy. Duplicated
  2188. entries will be removed. Resolution options given in Options
  2189. will override those that appear in the base DNSPolicy.
  2190. items:
  2191. description: PodDNSConfigOption defines DNS resolver options
  2192. of a pod.
  2193. properties:
  2194. name:
  2195. description: Required.
  2196. type: string
  2197. value:
  2198. type: string
  2199. type: object
  2200. type: array
  2201. searches:
  2202. description: A list of DNS search domains for host-name lookup.
  2203. This will be appended to the base search paths generated
  2204. from DNSPolicy. Duplicated search paths will be removed.
  2205. items:
  2206. type: string
  2207. type: array
  2208. type: object
  2209. dnsPolicy:
  2210. description: Set DNS policy for the pod. Defaults to "ClusterFirst".
  2211. Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst',
  2212. 'Default' or 'None'. DNS parameters given in DNSConfig will
  2213. be merged with the policy selected with DNSPolicy. To have DNS
  2214. options set along with hostNetwork, you have to specify DNS
  2215. policy explicitly to 'ClusterFirstWithHostNet'.
  2216. type: string
  2217. enableServiceLinks:
  2218. description: 'EnableServiceLinks indicates whether information
  2219. about services should be injected into pod''s environment variables,
  2220. matching the syntax of Docker links. Optional: Defaults to true.'
  2221. type: boolean
  2222. ephemeralContainers:
  2223. description: List of ephemeral containers run in this pod. Ephemeral
  2224. containers may be run in an existing pod to perform user-initiated
  2225. actions such as debugging. This list cannot be specified when
  2226. creating a pod, and it cannot be modified by updating the pod
  2227. spec. In order to add an ephemeral container to an existing
  2228. pod, use the pod's ephemeralcontainers subresource. This field
  2229. is beta-level and available on clusters that haven't disabled
  2230. the EphemeralContainers feature gate.
  2231. items:
  2232. description: "An EphemeralContainer is a temporary container
  2233. that you may add to an existing Pod for user-initiated activities
  2234. such as debugging. Ephemeral containers have no resource or
  2235. scheduling guarantees, and they will not be restarted when
  2236. they exit or when a Pod is removed or restarted. The kubelet
  2237. may evict a Pod if an ephemeral container causes the Pod to
  2238. exceed its resource allocation. \n To add an ephemeral container,
  2239. use the ephemeralcontainers subresource of an existing Pod.
  2240. Ephemeral containers may not be removed or restarted. \n This
  2241. is a beta feature available on clusters that haven't disabled
  2242. the EphemeralContainers feature gate."
  2243. properties:
  2244. args:
  2245. description: 'Arguments to the entrypoint. The image''s
  2246. CMD is used if this is not provided. Variable references
  2247. $(VAR_NAME) are expanded using the container''s environment.
  2248. If a variable cannot be resolved, the reference in the
  2249. input string will be unchanged. Double $$ are reduced
  2250. to a single $, which allows for escaping the $(VAR_NAME)
  2251. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  2252. "$(VAR_NAME)". Escaped references will never be expanded,
  2253. regardless of whether the variable exists or not. Cannot
  2254. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  2255. items:
  2256. type: string
  2257. type: array
  2258. command:
  2259. description: 'Entrypoint array. Not executed within a shell.
  2260. The image''s ENTRYPOINT is used if this is not provided.
  2261. Variable references $(VAR_NAME) are expanded using the
  2262. container''s environment. If a variable cannot be resolved,
  2263. the reference in the input string will be unchanged. Double
  2264. $$ are reduced to a single $, which allows for escaping
  2265. the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce
  2266. the string literal "$(VAR_NAME)". Escaped references will
  2267. never be expanded, regardless of whether the variable
  2268. 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'
  2269. items:
  2270. type: string
  2271. type: array
  2272. env:
  2273. description: List of environment variables to set in the
  2274. container. Cannot be updated.
  2275. items:
  2276. description: EnvVar represents an environment variable
  2277. present in a Container.
  2278. properties:
  2279. name:
  2280. description: Name of the environment variable. Must
  2281. be a C_IDENTIFIER.
  2282. type: string
  2283. value:
  2284. description: 'Variable references $(VAR_NAME) are
  2285. expanded using the previously defined environment
  2286. variables in the container and any service environment
  2287. variables. If a variable cannot be resolved, the
  2288. reference in the input string will be unchanged.
  2289. Double $$ are reduced to a single $, which allows
  2290. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  2291. will produce the string literal "$(VAR_NAME)". Escaped
  2292. references will never be expanded, regardless of
  2293. whether the variable exists or not. Defaults to
  2294. "".'
  2295. type: string
  2296. valueFrom:
  2297. description: Source for the environment variable's
  2298. value. Cannot be used if value is not empty.
  2299. properties:
  2300. configMapKeyRef:
  2301. description: Selects a key of a ConfigMap.
  2302. properties:
  2303. key:
  2304. description: The key to select.
  2305. type: string
  2306. name:
  2307. description: 'Name of the referent. More info:
  2308. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2309. TODO: Add other useful fields. apiVersion,
  2310. kind, uid?'
  2311. type: string
  2312. optional:
  2313. description: Specify whether the ConfigMap
  2314. or its key must be defined
  2315. type: boolean
  2316. required:
  2317. - key
  2318. type: object
  2319. x-kubernetes-map-type: atomic
  2320. fieldRef:
  2321. description: 'Selects a field of the pod: supports
  2322. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  2323. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  2324. spec.serviceAccountName, status.hostIP, status.podIP,
  2325. status.podIPs.'
  2326. properties:
  2327. apiVersion:
  2328. description: Version of the schema the FieldPath
  2329. is written in terms of, defaults to "v1".
  2330. type: string
  2331. fieldPath:
  2332. description: Path of the field to select in
  2333. the specified API version.
  2334. type: string
  2335. required:
  2336. - fieldPath
  2337. type: object
  2338. x-kubernetes-map-type: atomic
  2339. resourceFieldRef:
  2340. description: 'Selects a resource of the container:
  2341. only resources limits and requests (limits.cpu,
  2342. limits.memory, limits.ephemeral-storage, requests.cpu,
  2343. requests.memory and requests.ephemeral-storage)
  2344. are currently supported.'
  2345. properties:
  2346. containerName:
  2347. description: 'Container name: required for
  2348. volumes, optional for env vars'
  2349. type: string
  2350. divisor:
  2351. anyOf:
  2352. - type: integer
  2353. - type: string
  2354. description: Specifies the output format of
  2355. the exposed resources, defaults to "1"
  2356. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2357. x-kubernetes-int-or-string: true
  2358. resource:
  2359. description: 'Required: resource to select'
  2360. type: string
  2361. required:
  2362. - resource
  2363. type: object
  2364. x-kubernetes-map-type: atomic
  2365. secretKeyRef:
  2366. description: Selects a key of a secret in the
  2367. pod's namespace
  2368. properties:
  2369. key:
  2370. description: The key of the secret to select
  2371. from. Must be a valid secret key.
  2372. type: string
  2373. name:
  2374. description: 'Name of the referent. More info:
  2375. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2376. TODO: Add other useful fields. apiVersion,
  2377. kind, uid?'
  2378. type: string
  2379. optional:
  2380. description: Specify whether the Secret or
  2381. its key must be defined
  2382. type: boolean
  2383. required:
  2384. - key
  2385. type: object
  2386. x-kubernetes-map-type: atomic
  2387. type: object
  2388. required:
  2389. - name
  2390. type: object
  2391. type: array
  2392. envFrom:
  2393. description: List of sources to populate environment variables
  2394. in the container. The keys defined within a source must
  2395. be a C_IDENTIFIER. All invalid keys will be reported as
  2396. an event when the container is starting. When a key exists
  2397. in multiple sources, the value associated with the last
  2398. source will take precedence. Values defined by an Env
  2399. with a duplicate key will take precedence. Cannot be updated.
  2400. items:
  2401. description: EnvFromSource represents the source of a
  2402. set of ConfigMaps
  2403. properties:
  2404. configMapRef:
  2405. description: The ConfigMap to select from
  2406. properties:
  2407. name:
  2408. description: 'Name of the referent. More info:
  2409. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2410. TODO: Add other useful fields. apiVersion, kind,
  2411. uid?'
  2412. type: string
  2413. optional:
  2414. description: Specify whether the ConfigMap must
  2415. be defined
  2416. type: boolean
  2417. type: object
  2418. x-kubernetes-map-type: atomic
  2419. prefix:
  2420. description: An optional identifier to prepend to
  2421. each key in the ConfigMap. Must be a C_IDENTIFIER.
  2422. type: string
  2423. secretRef:
  2424. description: The Secret to select from
  2425. properties:
  2426. name:
  2427. description: 'Name of the referent. More info:
  2428. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2429. TODO: Add other useful fields. apiVersion, kind,
  2430. uid?'
  2431. type: string
  2432. optional:
  2433. description: Specify whether the Secret must be
  2434. defined
  2435. type: boolean
  2436. type: object
  2437. x-kubernetes-map-type: atomic
  2438. type: object
  2439. type: array
  2440. image:
  2441. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images'
  2442. type: string
  2443. imagePullPolicy:
  2444. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  2445. Defaults to Always if :latest tag is specified, or IfNotPresent
  2446. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  2447. type: string
  2448. lifecycle:
  2449. description: Lifecycle is not allowed for ephemeral containers.
  2450. properties:
  2451. postStart:
  2452. description: 'PostStart is called immediately after
  2453. a container is created. If the handler fails, the
  2454. container is terminated and restarted according to
  2455. its restart policy. Other management of the container
  2456. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  2457. properties:
  2458. exec:
  2459. description: Exec specifies the action to take.
  2460. properties:
  2461. command:
  2462. description: Command is the command line to
  2463. execute inside the container, the working
  2464. directory for the command is root ('/') in
  2465. the container's filesystem. The command is
  2466. simply exec'd, it is not run inside a shell,
  2467. so traditional shell instructions ('|', etc)
  2468. won't work. To use a shell, you need to explicitly
  2469. call out to that shell. Exit status of 0 is
  2470. treated as live/healthy and non-zero is unhealthy.
  2471. items:
  2472. type: string
  2473. type: array
  2474. type: object
  2475. httpGet:
  2476. description: HTTPGet specifies the http request
  2477. to perform.
  2478. properties:
  2479. host:
  2480. description: Host name to connect to, defaults
  2481. to the pod IP. You probably want to set "Host"
  2482. in httpHeaders instead.
  2483. type: string
  2484. httpHeaders:
  2485. description: Custom headers to set in the request.
  2486. HTTP allows repeated headers.
  2487. items:
  2488. description: HTTPHeader describes a custom
  2489. header to be used in HTTP probes
  2490. properties:
  2491. name:
  2492. description: The header field name
  2493. type: string
  2494. value:
  2495. description: The header field value
  2496. type: string
  2497. required:
  2498. - name
  2499. - value
  2500. type: object
  2501. type: array
  2502. path:
  2503. description: Path to access on the HTTP server.
  2504. type: string
  2505. port:
  2506. anyOf:
  2507. - type: integer
  2508. - type: string
  2509. description: Name or number of the port to access
  2510. on the container. Number must be in the range
  2511. 1 to 65535. Name must be an IANA_SVC_NAME.
  2512. x-kubernetes-int-or-string: true
  2513. scheme:
  2514. description: Scheme to use for connecting to
  2515. the host. Defaults to HTTP.
  2516. type: string
  2517. required:
  2518. - port
  2519. type: object
  2520. tcpSocket:
  2521. description: Deprecated. TCPSocket is NOT supported
  2522. as a LifecycleHandler and kept for the backward
  2523. compatibility. There are no validation of this
  2524. field and lifecycle hooks will fail in runtime
  2525. when tcp handler is specified.
  2526. properties:
  2527. host:
  2528. description: 'Optional: Host name to connect
  2529. to, defaults to the pod IP.'
  2530. type: string
  2531. port:
  2532. anyOf:
  2533. - type: integer
  2534. - type: string
  2535. description: Number or name of the port to access
  2536. on the container. Number must be in the range
  2537. 1 to 65535. Name must be an IANA_SVC_NAME.
  2538. x-kubernetes-int-or-string: true
  2539. required:
  2540. - port
  2541. type: object
  2542. type: object
  2543. preStop:
  2544. description: 'PreStop is called immediately before a
  2545. container is terminated due to an API request or management
  2546. event such as liveness/startup probe failure, preemption,
  2547. resource contention, etc. The handler is not called
  2548. if the container crashes or exits. The Pod''s termination
  2549. grace period countdown begins before the PreStop hook
  2550. is executed. Regardless of the outcome of the handler,
  2551. the container will eventually terminate within the
  2552. Pod''s termination grace period (unless delayed by
  2553. finalizers). Other management of the container blocks
  2554. until the hook completes or until the termination
  2555. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  2556. properties:
  2557. exec:
  2558. description: Exec specifies the action to take.
  2559. properties:
  2560. command:
  2561. description: Command is the command line to
  2562. execute inside the container, the working
  2563. directory for the command is root ('/') in
  2564. the container's filesystem. The command is
  2565. simply exec'd, it is not run inside a shell,
  2566. so traditional shell instructions ('|', etc)
  2567. won't work. To use a shell, you need to explicitly
  2568. call out to that shell. Exit status of 0 is
  2569. treated as live/healthy and non-zero is unhealthy.
  2570. items:
  2571. type: string
  2572. type: array
  2573. type: object
  2574. httpGet:
  2575. description: HTTPGet specifies the http request
  2576. to perform.
  2577. properties:
  2578. host:
  2579. description: Host name to connect to, defaults
  2580. to the pod IP. You probably want to set "Host"
  2581. in httpHeaders instead.
  2582. type: string
  2583. httpHeaders:
  2584. description: Custom headers to set in the request.
  2585. HTTP allows repeated headers.
  2586. items:
  2587. description: HTTPHeader describes a custom
  2588. header to be used in HTTP probes
  2589. properties:
  2590. name:
  2591. description: The header field name
  2592. type: string
  2593. value:
  2594. description: The header field value
  2595. type: string
  2596. required:
  2597. - name
  2598. - value
  2599. type: object
  2600. type: array
  2601. path:
  2602. description: Path to access on the HTTP server.
  2603. type: string
  2604. port:
  2605. anyOf:
  2606. - type: integer
  2607. - type: string
  2608. description: Name or number of the port to access
  2609. on the container. Number must be in the range
  2610. 1 to 65535. Name must be an IANA_SVC_NAME.
  2611. x-kubernetes-int-or-string: true
  2612. scheme:
  2613. description: Scheme to use for connecting to
  2614. the host. Defaults to HTTP.
  2615. type: string
  2616. required:
  2617. - port
  2618. type: object
  2619. tcpSocket:
  2620. description: Deprecated. TCPSocket is NOT supported
  2621. as a LifecycleHandler and kept for the backward
  2622. compatibility. There are no validation of this
  2623. field and lifecycle hooks will fail in runtime
  2624. when tcp handler is specified.
  2625. properties:
  2626. host:
  2627. description: 'Optional: Host name to connect
  2628. to, defaults to the pod IP.'
  2629. type: string
  2630. port:
  2631. anyOf:
  2632. - type: integer
  2633. - type: string
  2634. description: Number or name of the port to access
  2635. on the container. Number must be in the range
  2636. 1 to 65535. Name must be an IANA_SVC_NAME.
  2637. x-kubernetes-int-or-string: true
  2638. required:
  2639. - port
  2640. type: object
  2641. type: object
  2642. type: object
  2643. livenessProbe:
  2644. description: Probes are not allowed for ephemeral containers.
  2645. properties:
  2646. exec:
  2647. description: Exec specifies the action to take.
  2648. properties:
  2649. command:
  2650. description: Command is the command line to execute
  2651. inside the container, the working directory for
  2652. the command is root ('/') in the container's
  2653. filesystem. The command is simply exec'd, it is
  2654. not run inside a shell, so traditional shell instructions
  2655. ('|', etc) won't work. To use a shell, you need
  2656. to explicitly call out to that shell. Exit status
  2657. of 0 is treated as live/healthy and non-zero is
  2658. unhealthy.
  2659. items:
  2660. type: string
  2661. type: array
  2662. type: object
  2663. failureThreshold:
  2664. description: Minimum consecutive failures for the probe
  2665. to be considered failed after having succeeded. Defaults
  2666. to 3. Minimum value is 1.
  2667. format: int32
  2668. type: integer
  2669. grpc:
  2670. description: GRPC specifies an action involving a GRPC
  2671. port. This is a beta field and requires enabling GRPCContainerProbe
  2672. feature gate.
  2673. properties:
  2674. port:
  2675. description: Port number of the gRPC service. Number
  2676. must be in the range 1 to 65535.
  2677. format: int32
  2678. type: integer
  2679. service:
  2680. description: "Service is the name of the service
  2681. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2682. \n If this is not specified, the default behavior
  2683. is defined by gRPC."
  2684. type: string
  2685. required:
  2686. - port
  2687. type: object
  2688. httpGet:
  2689. description: HTTPGet specifies the http request to perform.
  2690. properties:
  2691. host:
  2692. description: Host name to connect to, defaults to
  2693. the pod IP. You probably want to set "Host" in
  2694. httpHeaders instead.
  2695. type: string
  2696. httpHeaders:
  2697. description: Custom headers to set in the request.
  2698. HTTP allows repeated headers.
  2699. items:
  2700. description: HTTPHeader describes a custom header
  2701. to be used in HTTP probes
  2702. properties:
  2703. name:
  2704. description: The header field name
  2705. type: string
  2706. value:
  2707. description: The header field value
  2708. type: string
  2709. required:
  2710. - name
  2711. - value
  2712. type: object
  2713. type: array
  2714. path:
  2715. description: Path to access on the HTTP server.
  2716. type: string
  2717. port:
  2718. anyOf:
  2719. - type: integer
  2720. - type: string
  2721. description: Name or number of the port to access
  2722. on the container. Number must be in the range
  2723. 1 to 65535. Name must be an IANA_SVC_NAME.
  2724. x-kubernetes-int-or-string: true
  2725. scheme:
  2726. description: Scheme to use for connecting to the
  2727. host. Defaults to HTTP.
  2728. type: string
  2729. required:
  2730. - port
  2731. type: object
  2732. initialDelaySeconds:
  2733. description: 'Number of seconds after the container
  2734. has started before liveness probes are initiated.
  2735. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2736. format: int32
  2737. type: integer
  2738. periodSeconds:
  2739. description: How often (in seconds) to perform the probe.
  2740. Default to 10 seconds. Minimum value is 1.
  2741. format: int32
  2742. type: integer
  2743. successThreshold:
  2744. description: Minimum consecutive successes for the probe
  2745. to be considered successful after having failed. Defaults
  2746. to 1. Must be 1 for liveness and startup. Minimum
  2747. value is 1.
  2748. format: int32
  2749. type: integer
  2750. tcpSocket:
  2751. description: TCPSocket specifies an action involving
  2752. a TCP port.
  2753. properties:
  2754. host:
  2755. description: 'Optional: Host name to connect to,
  2756. defaults to the pod IP.'
  2757. type: string
  2758. port:
  2759. anyOf:
  2760. - type: integer
  2761. - type: string
  2762. description: Number or name of the port to access
  2763. on the container. Number must be in the range
  2764. 1 to 65535. Name must be an IANA_SVC_NAME.
  2765. x-kubernetes-int-or-string: true
  2766. required:
  2767. - port
  2768. type: object
  2769. terminationGracePeriodSeconds:
  2770. description: Optional duration in seconds the pod needs
  2771. to terminate gracefully upon probe failure. The grace
  2772. period is the duration in seconds after the processes
  2773. running in the pod are sent a termination signal and
  2774. the time when the processes are forcibly halted with
  2775. a kill signal. Set this value longer than the expected
  2776. cleanup time for your process. If this value is nil,
  2777. the pod's terminationGracePeriodSeconds will be used.
  2778. Otherwise, this value overrides the value provided
  2779. by the pod spec. Value must be non-negative integer.
  2780. The value zero indicates stop immediately via the
  2781. kill signal (no opportunity to shut down). This is
  2782. a beta field and requires enabling ProbeTerminationGracePeriod
  2783. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  2784. is used if unset.
  2785. format: int64
  2786. type: integer
  2787. timeoutSeconds:
  2788. description: 'Number of seconds after which the probe
  2789. times out. Defaults to 1 second. Minimum value is
  2790. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2791. format: int32
  2792. type: integer
  2793. type: object
  2794. name:
  2795. description: Name of the ephemeral container specified as
  2796. a DNS_LABEL. This name must be unique among all containers,
  2797. init containers and ephemeral containers.
  2798. type: string
  2799. ports:
  2800. description: Ports are not allowed for ephemeral containers.
  2801. items:
  2802. description: ContainerPort represents a network port in
  2803. a single container.
  2804. properties:
  2805. containerPort:
  2806. description: Number of port to expose on the pod's
  2807. IP address. This must be a valid port number, 0
  2808. < x < 65536.
  2809. format: int32
  2810. type: integer
  2811. hostIP:
  2812. description: What host IP to bind the external port
  2813. to.
  2814. type: string
  2815. hostPort:
  2816. description: Number of port to expose on the host.
  2817. If specified, this must be a valid port number,
  2818. 0 < x < 65536. If HostNetwork is specified, this
  2819. must match ContainerPort. Most containers do not
  2820. need this.
  2821. format: int32
  2822. type: integer
  2823. name:
  2824. description: If specified, this must be an IANA_SVC_NAME
  2825. and unique within the pod. Each named port in a
  2826. pod must have a unique name. Name for the port that
  2827. can be referred to by services.
  2828. type: string
  2829. protocol:
  2830. default: TCP
  2831. description: Protocol for port. Must be UDP, TCP,
  2832. or SCTP. Defaults to "TCP".
  2833. type: string
  2834. required:
  2835. - containerPort
  2836. type: object
  2837. type: array
  2838. x-kubernetes-list-map-keys:
  2839. - containerPort
  2840. - protocol
  2841. x-kubernetes-list-type: map
  2842. readinessProbe:
  2843. description: Probes are not allowed for ephemeral containers.
  2844. properties:
  2845. exec:
  2846. description: Exec specifies the action to take.
  2847. properties:
  2848. command:
  2849. description: Command is the command line to execute
  2850. inside the container, the working directory for
  2851. the command is root ('/') in the container's
  2852. filesystem. The command is simply exec'd, it is
  2853. not run inside a shell, so traditional shell instructions
  2854. ('|', etc) won't work. To use a shell, you need
  2855. to explicitly call out to that shell. Exit status
  2856. of 0 is treated as live/healthy and non-zero is
  2857. unhealthy.
  2858. items:
  2859. type: string
  2860. type: array
  2861. type: object
  2862. failureThreshold:
  2863. description: Minimum consecutive failures for the probe
  2864. to be considered failed after having succeeded. Defaults
  2865. to 3. Minimum value is 1.
  2866. format: int32
  2867. type: integer
  2868. grpc:
  2869. description: GRPC specifies an action involving a GRPC
  2870. port. This is a beta field and requires enabling GRPCContainerProbe
  2871. feature gate.
  2872. properties:
  2873. port:
  2874. description: Port number of the gRPC service. Number
  2875. must be in the range 1 to 65535.
  2876. format: int32
  2877. type: integer
  2878. service:
  2879. description: "Service is the name of the service
  2880. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  2881. \n If this is not specified, the default behavior
  2882. is defined by gRPC."
  2883. type: string
  2884. required:
  2885. - port
  2886. type: object
  2887. httpGet:
  2888. description: HTTPGet specifies the http request to perform.
  2889. properties:
  2890. host:
  2891. description: Host name to connect to, defaults to
  2892. the pod IP. You probably want to set "Host" in
  2893. httpHeaders instead.
  2894. type: string
  2895. httpHeaders:
  2896. description: Custom headers to set in the request.
  2897. HTTP allows repeated headers.
  2898. items:
  2899. description: HTTPHeader describes a custom header
  2900. to be used in HTTP probes
  2901. properties:
  2902. name:
  2903. description: The header field name
  2904. type: string
  2905. value:
  2906. description: The header field value
  2907. type: string
  2908. required:
  2909. - name
  2910. - value
  2911. type: object
  2912. type: array
  2913. path:
  2914. description: Path to access on the HTTP server.
  2915. type: string
  2916. port:
  2917. anyOf:
  2918. - type: integer
  2919. - type: string
  2920. description: Name or number of the port to access
  2921. on the container. Number must be in the range
  2922. 1 to 65535. Name must be an IANA_SVC_NAME.
  2923. x-kubernetes-int-or-string: true
  2924. scheme:
  2925. description: Scheme to use for connecting to the
  2926. host. Defaults to HTTP.
  2927. type: string
  2928. required:
  2929. - port
  2930. type: object
  2931. initialDelaySeconds:
  2932. description: 'Number of seconds after the container
  2933. has started before liveness probes are initiated.
  2934. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2935. format: int32
  2936. type: integer
  2937. periodSeconds:
  2938. description: How often (in seconds) to perform the probe.
  2939. Default to 10 seconds. Minimum value is 1.
  2940. format: int32
  2941. type: integer
  2942. successThreshold:
  2943. description: Minimum consecutive successes for the probe
  2944. to be considered successful after having failed. Defaults
  2945. to 1. Must be 1 for liveness and startup. Minimum
  2946. value is 1.
  2947. format: int32
  2948. type: integer
  2949. tcpSocket:
  2950. description: TCPSocket specifies an action involving
  2951. a TCP port.
  2952. properties:
  2953. host:
  2954. description: 'Optional: Host name to connect to,
  2955. defaults to the pod IP.'
  2956. type: string
  2957. port:
  2958. anyOf:
  2959. - type: integer
  2960. - type: string
  2961. description: Number or name of the port to access
  2962. on the container. Number must be in the range
  2963. 1 to 65535. Name must be an IANA_SVC_NAME.
  2964. x-kubernetes-int-or-string: true
  2965. required:
  2966. - port
  2967. type: object
  2968. terminationGracePeriodSeconds:
  2969. description: Optional duration in seconds the pod needs
  2970. to terminate gracefully upon probe failure. The grace
  2971. period is the duration in seconds after the processes
  2972. running in the pod are sent a termination signal and
  2973. the time when the processes are forcibly halted with
  2974. a kill signal. Set this value longer than the expected
  2975. cleanup time for your process. If this value is nil,
  2976. the pod's terminationGracePeriodSeconds will be used.
  2977. Otherwise, this value overrides the value provided
  2978. by the pod spec. Value must be non-negative integer.
  2979. The value zero indicates stop immediately via the
  2980. kill signal (no opportunity to shut down). This is
  2981. a beta field and requires enabling ProbeTerminationGracePeriod
  2982. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  2983. is used if unset.
  2984. format: int64
  2985. type: integer
  2986. timeoutSeconds:
  2987. description: 'Number of seconds after which the probe
  2988. times out. Defaults to 1 second. Minimum value is
  2989. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2990. format: int32
  2991. type: integer
  2992. type: object
  2993. resources:
  2994. description: Resources are not allowed for ephemeral containers.
  2995. Ephemeral containers use spare resources already allocated
  2996. to the pod.
  2997. properties:
  2998. limits:
  2999. additionalProperties:
  3000. anyOf:
  3001. - type: integer
  3002. - type: string
  3003. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3004. x-kubernetes-int-or-string: true
  3005. description: 'Limits describes the maximum amount of
  3006. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3007. type: object
  3008. requests:
  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: 'Requests describes the minimum amount
  3016. of compute resources required. If Requests is omitted
  3017. for a container, it defaults to Limits if that is
  3018. explicitly specified, otherwise to an implementation-defined
  3019. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3020. type: object
  3021. type: object
  3022. securityContext:
  3023. description: 'Optional: SecurityContext defines the security
  3024. options the ephemeral container should be run with. If
  3025. set, the fields of SecurityContext override the equivalent
  3026. fields of PodSecurityContext.'
  3027. properties:
  3028. allowPrivilegeEscalation:
  3029. description: 'AllowPrivilegeEscalation controls whether
  3030. a process can gain more privileges than its parent
  3031. process. This bool directly controls if the no_new_privs
  3032. flag will be set on the container process. AllowPrivilegeEscalation
  3033. is true always when the container is: 1) run as Privileged
  3034. 2) has CAP_SYS_ADMIN Note that this field cannot be
  3035. set when spec.os.name is windows.'
  3036. type: boolean
  3037. capabilities:
  3038. description: The capabilities to add/drop when running
  3039. containers. Defaults to the default set of capabilities
  3040. granted by the container runtime. Note that this field
  3041. cannot be set when spec.os.name is windows.
  3042. properties:
  3043. add:
  3044. description: Added capabilities
  3045. items:
  3046. description: Capability represent POSIX capabilities
  3047. type
  3048. type: string
  3049. type: array
  3050. drop:
  3051. description: Removed capabilities
  3052. items:
  3053. description: Capability represent POSIX capabilities
  3054. type
  3055. type: string
  3056. type: array
  3057. type: object
  3058. privileged:
  3059. description: Run container in privileged mode. Processes
  3060. in privileged containers are essentially equivalent
  3061. to root on the host. Defaults to false. Note that
  3062. this field cannot be set when spec.os.name is windows.
  3063. type: boolean
  3064. procMount:
  3065. description: procMount denotes the type of proc mount
  3066. to use for the containers. The default is DefaultProcMount
  3067. which uses the container runtime defaults for readonly
  3068. paths and masked paths. This requires the ProcMountType
  3069. feature flag to be enabled. Note that this field cannot
  3070. be set when spec.os.name is windows.
  3071. type: string
  3072. readOnlyRootFilesystem:
  3073. description: Whether this container has a read-only
  3074. root filesystem. Default is false. Note that this
  3075. field cannot be set when spec.os.name is windows.
  3076. type: boolean
  3077. runAsGroup:
  3078. description: The GID to run the entrypoint of the container
  3079. process. Uses runtime default if unset. May also be
  3080. set in PodSecurityContext. If set in both SecurityContext
  3081. and PodSecurityContext, the value specified in SecurityContext
  3082. takes precedence. Note that this field cannot be set
  3083. when spec.os.name is windows.
  3084. format: int64
  3085. type: integer
  3086. runAsNonRoot:
  3087. description: Indicates that the container must run as
  3088. a non-root user. If true, the Kubelet will validate
  3089. the image at runtime to ensure that it does not run
  3090. as UID 0 (root) and fail to start the container if
  3091. it does. If unset or false, no such validation will
  3092. be performed. May also be set in PodSecurityContext. If
  3093. set in both SecurityContext and PodSecurityContext,
  3094. the value specified in SecurityContext takes precedence.
  3095. type: boolean
  3096. runAsUser:
  3097. description: The UID to run the entrypoint of the container
  3098. process. Defaults to user specified in image metadata
  3099. if unspecified. May also be set in PodSecurityContext. If
  3100. set in both SecurityContext and PodSecurityContext,
  3101. the value specified in SecurityContext takes precedence.
  3102. Note that this field cannot be set when spec.os.name
  3103. is windows.
  3104. format: int64
  3105. type: integer
  3106. seLinuxOptions:
  3107. description: The SELinux context to be applied to the
  3108. container. If unspecified, the container runtime will
  3109. allocate a random SELinux context for each container. May
  3110. also be set in PodSecurityContext. If set in both
  3111. SecurityContext and PodSecurityContext, the value
  3112. specified in SecurityContext takes precedence. Note
  3113. that this field cannot be set when spec.os.name is
  3114. windows.
  3115. properties:
  3116. level:
  3117. description: Level is SELinux level label that applies
  3118. to the container.
  3119. type: string
  3120. role:
  3121. description: Role is a SELinux role label that applies
  3122. to the container.
  3123. type: string
  3124. type:
  3125. description: Type is a SELinux type label that applies
  3126. to the container.
  3127. type: string
  3128. user:
  3129. description: User is a SELinux user label that applies
  3130. to the container.
  3131. type: string
  3132. type: object
  3133. seccompProfile:
  3134. description: The seccomp options to use by this container.
  3135. If seccomp options are provided at both the pod &
  3136. container level, the container options override the
  3137. pod options. Note that this field cannot be set when
  3138. spec.os.name is windows.
  3139. properties:
  3140. localhostProfile:
  3141. description: localhostProfile indicates a profile
  3142. defined in a file on the node should be used.
  3143. The profile must be preconfigured on the node
  3144. to work. Must be a descending path, relative to
  3145. the kubelet's configured seccomp profile location.
  3146. Must only be set if type is "Localhost".
  3147. type: string
  3148. type:
  3149. description: "type indicates which kind of seccomp
  3150. profile will be applied. Valid options are: \n
  3151. Localhost - a profile defined in a file on the
  3152. node should be used. RuntimeDefault - the container
  3153. runtime default profile should be used. Unconfined
  3154. - no profile should be applied."
  3155. type: string
  3156. required:
  3157. - type
  3158. type: object
  3159. windowsOptions:
  3160. description: The Windows specific settings applied to
  3161. all containers. If unspecified, the options from the
  3162. PodSecurityContext will be used. If set in both SecurityContext
  3163. and PodSecurityContext, the value specified in SecurityContext
  3164. takes precedence. Note that this field cannot be set
  3165. when spec.os.name is linux.
  3166. properties:
  3167. gmsaCredentialSpec:
  3168. description: GMSACredentialSpec is where the GMSA
  3169. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  3170. inlines the contents of the GMSA credential spec
  3171. named by the GMSACredentialSpecName field.
  3172. type: string
  3173. gmsaCredentialSpecName:
  3174. description: GMSACredentialSpecName is the name
  3175. of the GMSA credential spec to use.
  3176. type: string
  3177. hostProcess:
  3178. description: HostProcess determines if a container
  3179. should be run as a 'Host Process' container. This
  3180. field is alpha-level and will only be honored
  3181. by components that enable the WindowsHostProcessContainers
  3182. feature flag. Setting this field without the feature
  3183. flag will result in errors when validating the
  3184. Pod. All of a Pod's containers must have the same
  3185. effective HostProcess value (it is not allowed
  3186. to have a mix of HostProcess containers and non-HostProcess
  3187. containers). In addition, if HostProcess is true
  3188. then HostNetwork must also be set to true.
  3189. type: boolean
  3190. runAsUserName:
  3191. description: The UserName in Windows to run the
  3192. entrypoint of the container process. Defaults
  3193. to the user specified in image metadata if unspecified.
  3194. May also be set in PodSecurityContext. If set
  3195. in both SecurityContext and PodSecurityContext,
  3196. the value specified in SecurityContext takes precedence.
  3197. type: string
  3198. type: object
  3199. type: object
  3200. startupProbe:
  3201. description: Probes are not allowed for ephemeral containers.
  3202. properties:
  3203. exec:
  3204. description: Exec specifies the action to take.
  3205. properties:
  3206. command:
  3207. description: Command is the command line to execute
  3208. inside the container, the working directory for
  3209. the command is root ('/') in the container's
  3210. filesystem. The command is simply exec'd, it is
  3211. not run inside a shell, so traditional shell instructions
  3212. ('|', etc) won't work. To use a shell, you need
  3213. to explicitly call out to that shell. Exit status
  3214. of 0 is treated as live/healthy and non-zero is
  3215. unhealthy.
  3216. items:
  3217. type: string
  3218. type: array
  3219. type: object
  3220. failureThreshold:
  3221. description: Minimum consecutive failures for the probe
  3222. to be considered failed after having succeeded. Defaults
  3223. to 3. Minimum value is 1.
  3224. format: int32
  3225. type: integer
  3226. grpc:
  3227. description: GRPC specifies an action involving a GRPC
  3228. port. This is a beta field and requires enabling GRPCContainerProbe
  3229. feature gate.
  3230. properties:
  3231. port:
  3232. description: Port number of the gRPC service. Number
  3233. must be in the range 1 to 65535.
  3234. format: int32
  3235. type: integer
  3236. service:
  3237. description: "Service is the name of the service
  3238. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  3239. \n If this is not specified, the default behavior
  3240. is defined by gRPC."
  3241. type: string
  3242. required:
  3243. - port
  3244. type: object
  3245. httpGet:
  3246. description: HTTPGet specifies the http request to perform.
  3247. properties:
  3248. host:
  3249. description: Host name to connect to, defaults to
  3250. the pod IP. You probably want to set "Host" in
  3251. httpHeaders instead.
  3252. type: string
  3253. httpHeaders:
  3254. description: Custom headers to set in the request.
  3255. HTTP allows repeated headers.
  3256. items:
  3257. description: HTTPHeader describes a custom header
  3258. to be used in HTTP probes
  3259. properties:
  3260. name:
  3261. description: The header field name
  3262. type: string
  3263. value:
  3264. description: The header field value
  3265. type: string
  3266. required:
  3267. - name
  3268. - value
  3269. type: object
  3270. type: array
  3271. path:
  3272. description: Path to access on the HTTP server.
  3273. type: string
  3274. port:
  3275. anyOf:
  3276. - type: integer
  3277. - type: string
  3278. description: Name or number of the port to access
  3279. on the container. Number must be in the range
  3280. 1 to 65535. Name must be an IANA_SVC_NAME.
  3281. x-kubernetes-int-or-string: true
  3282. scheme:
  3283. description: Scheme to use for connecting to the
  3284. host. Defaults to HTTP.
  3285. type: string
  3286. required:
  3287. - port
  3288. type: object
  3289. initialDelaySeconds:
  3290. description: 'Number of seconds after the container
  3291. has started before liveness probes are initiated.
  3292. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3293. format: int32
  3294. type: integer
  3295. periodSeconds:
  3296. description: How often (in seconds) to perform the probe.
  3297. Default to 10 seconds. Minimum value is 1.
  3298. format: int32
  3299. type: integer
  3300. successThreshold:
  3301. description: Minimum consecutive successes for the probe
  3302. to be considered successful after having failed. Defaults
  3303. to 1. Must be 1 for liveness and startup. Minimum
  3304. value is 1.
  3305. format: int32
  3306. type: integer
  3307. tcpSocket:
  3308. description: TCPSocket specifies an action involving
  3309. a TCP port.
  3310. properties:
  3311. host:
  3312. description: 'Optional: Host name to connect to,
  3313. defaults to the pod IP.'
  3314. type: string
  3315. port:
  3316. anyOf:
  3317. - type: integer
  3318. - type: string
  3319. description: Number or name of the port to access
  3320. on the container. Number must be in the range
  3321. 1 to 65535. Name must be an IANA_SVC_NAME.
  3322. x-kubernetes-int-or-string: true
  3323. required:
  3324. - port
  3325. type: object
  3326. terminationGracePeriodSeconds:
  3327. description: Optional duration in seconds the pod needs
  3328. to terminate gracefully upon probe failure. The grace
  3329. period is the duration in seconds after the processes
  3330. running in the pod are sent a termination signal and
  3331. the time when the processes are forcibly halted with
  3332. a kill signal. Set this value longer than the expected
  3333. cleanup time for your process. If this value is nil,
  3334. the pod's terminationGracePeriodSeconds will be used.
  3335. Otherwise, this value overrides the value provided
  3336. by the pod spec. Value must be non-negative integer.
  3337. The value zero indicates stop immediately via the
  3338. kill signal (no opportunity to shut down). This is
  3339. a beta field and requires enabling ProbeTerminationGracePeriod
  3340. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  3341. is used if unset.
  3342. format: int64
  3343. type: integer
  3344. timeoutSeconds:
  3345. description: 'Number of seconds after which the probe
  3346. times out. Defaults to 1 second. Minimum value is
  3347. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3348. format: int32
  3349. type: integer
  3350. type: object
  3351. stdin:
  3352. description: Whether this container should allocate a buffer
  3353. for stdin in the container runtime. If this is not set,
  3354. reads from stdin in the container will always result in
  3355. EOF. Default is false.
  3356. type: boolean
  3357. stdinOnce:
  3358. description: Whether the container runtime should close
  3359. the stdin channel after it has been opened by a single
  3360. attach. When stdin is true the stdin stream will remain
  3361. open across multiple attach sessions. If stdinOnce is
  3362. set to true, stdin is opened on container start, is empty
  3363. until the first client attaches to stdin, and then remains
  3364. open and accepts data until the client disconnects, at
  3365. which time stdin is closed and remains closed until the
  3366. container is restarted. If this flag is false, a container
  3367. processes that reads from stdin will never receive an
  3368. EOF. Default is false
  3369. type: boolean
  3370. targetContainerName:
  3371. description: "If set, the name of the container from PodSpec
  3372. that this ephemeral container targets. The ephemeral container
  3373. will be run in the namespaces (IPC, PID, etc) of this
  3374. container. If not set then the ephemeral container uses
  3375. the namespaces configured in the Pod spec. \n The container
  3376. runtime must implement support for this feature. If the
  3377. runtime does not support namespace targeting then the
  3378. result of setting this field is undefined."
  3379. type: string
  3380. terminationMessagePath:
  3381. description: 'Optional: Path at which the file to which
  3382. the container''s termination message will be written is
  3383. mounted into the container''s filesystem. Message written
  3384. is intended to be brief final status, such as an assertion
  3385. failure message. Will be truncated by the node if greater
  3386. than 4096 bytes. The total message length across all containers
  3387. will be limited to 12kb. Defaults to /dev/termination-log.
  3388. Cannot be updated.'
  3389. type: string
  3390. terminationMessagePolicy:
  3391. description: Indicate how the termination message should
  3392. be populated. File will use the contents of terminationMessagePath
  3393. to populate the container status message on both success
  3394. and failure. FallbackToLogsOnError will use the last chunk
  3395. of container log output if the termination message file
  3396. is empty and the container exited with an error. The log
  3397. output is limited to 2048 bytes or 80 lines, whichever
  3398. is smaller. Defaults to File. Cannot be updated.
  3399. type: string
  3400. tty:
  3401. description: Whether this container should allocate a TTY
  3402. for itself, also requires 'stdin' to be true. Default
  3403. is false.
  3404. type: boolean
  3405. volumeDevices:
  3406. description: volumeDevices is the list of block devices
  3407. to be used by the container.
  3408. items:
  3409. description: volumeDevice describes a mapping of a raw
  3410. block device within a container.
  3411. properties:
  3412. devicePath:
  3413. description: devicePath is the path inside of the
  3414. container that the device will be mapped to.
  3415. type: string
  3416. name:
  3417. description: name must match the name of a persistentVolumeClaim
  3418. in the pod
  3419. type: string
  3420. required:
  3421. - devicePath
  3422. - name
  3423. type: object
  3424. type: array
  3425. volumeMounts:
  3426. description: Pod volumes to mount into the container's filesystem.
  3427. Subpath mounts are not allowed for ephemeral containers.
  3428. Cannot be updated.
  3429. items:
  3430. description: VolumeMount describes a mounting of a Volume
  3431. within a container.
  3432. properties:
  3433. mountPath:
  3434. description: Path within the container at which the
  3435. volume should be mounted. Must not contain ':'.
  3436. type: string
  3437. mountPropagation:
  3438. description: mountPropagation determines how mounts
  3439. are propagated from the host to container and the
  3440. other way around. When not set, MountPropagationNone
  3441. is used. This field is beta in 1.10.
  3442. type: string
  3443. name:
  3444. description: This must match the Name of a Volume.
  3445. type: string
  3446. readOnly:
  3447. description: Mounted read-only if true, read-write
  3448. otherwise (false or unspecified). Defaults to false.
  3449. type: boolean
  3450. subPath:
  3451. description: Path within the volume from which the
  3452. container's volume should be mounted. Defaults to
  3453. "" (volume's root).
  3454. type: string
  3455. subPathExpr:
  3456. description: Expanded path within the volume from
  3457. which the container's volume should be mounted.
  3458. Behaves similarly to SubPath but environment variable
  3459. references $(VAR_NAME) are expanded using the container's
  3460. environment. Defaults to "" (volume's root). SubPathExpr
  3461. and SubPath are mutually exclusive.
  3462. type: string
  3463. required:
  3464. - mountPath
  3465. - name
  3466. type: object
  3467. type: array
  3468. workingDir:
  3469. description: Container's working directory. If not specified,
  3470. the container runtime's default will be used, which might
  3471. be configured in the container image. Cannot be updated.
  3472. type: string
  3473. required:
  3474. - name
  3475. type: object
  3476. type: array
  3477. hostAliases:
  3478. description: HostAliases is an optional list of hosts and IPs
  3479. that will be injected into the pod's hosts file if specified.
  3480. This is only valid for non-hostNetwork pods.
  3481. items:
  3482. description: HostAlias holds the mapping between IP and hostnames
  3483. that will be injected as an entry in the pod's hosts file.
  3484. properties:
  3485. hostnames:
  3486. description: Hostnames for the above IP address.
  3487. items:
  3488. type: string
  3489. type: array
  3490. ip:
  3491. description: IP address of the host file entry.
  3492. type: string
  3493. type: object
  3494. type: array
  3495. hostIPC:
  3496. description: 'Use the host''s ipc namespace. Optional: Default
  3497. to false.'
  3498. type: boolean
  3499. hostNetwork:
  3500. description: Host networking requested for this pod. Use the host's
  3501. network namespace. If this option is set, the ports that will
  3502. be used must be specified. Default to false.
  3503. type: boolean
  3504. hostPID:
  3505. description: 'Use the host''s pid namespace. Optional: Default
  3506. to false.'
  3507. type: boolean
  3508. hostname:
  3509. description: Specifies the hostname of the Pod If not specified,
  3510. the pod's hostname will be set to a system-defined value.
  3511. type: string
  3512. imagePullSecrets:
  3513. description: 'ImagePullSecrets is an optional list of references
  3514. to secrets in the same namespace to use for pulling any of the
  3515. images used by this PodSpec. If specified, these secrets will
  3516. be passed to individual puller implementations for them to use.
  3517. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  3518. items:
  3519. description: LocalObjectReference contains enough information
  3520. to let you locate the referenced object inside the same namespace.
  3521. properties:
  3522. name:
  3523. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3524. TODO: Add other useful fields. apiVersion, kind, uid?'
  3525. type: string
  3526. type: object
  3527. x-kubernetes-map-type: atomic
  3528. type: array
  3529. initContainers:
  3530. description: 'List of initialization containers belonging to the
  3531. pod. Init containers are executed in order prior to containers
  3532. being started. If any init container fails, the pod is considered
  3533. to have failed and is handled according to its restartPolicy.
  3534. The name for an init container or normal container must be unique
  3535. among all containers. Init containers may not have Lifecycle
  3536. actions, Readiness probes, Liveness probes, or Startup probes.
  3537. The resourceRequirements of an init container are taken into
  3538. account during scheduling by finding the highest request/limit
  3539. for each resource type, and then using the max of of that value
  3540. or the sum of the normal containers. Limits are applied to init
  3541. containers in a similar fashion. Init containers cannot currently
  3542. be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
  3543. items:
  3544. description: A single application container that you want to
  3545. run within a pod.
  3546. properties:
  3547. args:
  3548. description: 'Arguments to the entrypoint. The container
  3549. image''s CMD is used if this is not provided. Variable
  3550. references $(VAR_NAME) are expanded using the container''s
  3551. environment. If a variable cannot be resolved, the reference
  3552. in the input string will be unchanged. Double $$ are reduced
  3553. to a single $, which allows for escaping the $(VAR_NAME)
  3554. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  3555. "$(VAR_NAME)". Escaped references will never be expanded,
  3556. regardless of whether the variable exists or not. Cannot
  3557. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  3558. items:
  3559. type: string
  3560. type: array
  3561. command:
  3562. description: 'Entrypoint array. Not executed within a shell.
  3563. The container image''s ENTRYPOINT is used if this is not
  3564. provided. Variable references $(VAR_NAME) are expanded
  3565. using the container''s environment. If a variable cannot
  3566. be resolved, the reference in the input string will be
  3567. unchanged. Double $$ are reduced to a single $, which
  3568. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  3569. will produce the string literal "$(VAR_NAME)". Escaped
  3570. references will never be expanded, regardless of whether
  3571. the variable exists or not. Cannot be updated. More info:
  3572. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  3573. items:
  3574. type: string
  3575. type: array
  3576. env:
  3577. description: List of environment variables to set in the
  3578. container. Cannot be updated.
  3579. items:
  3580. description: EnvVar represents an environment variable
  3581. present in a Container.
  3582. properties:
  3583. name:
  3584. description: Name of the environment variable. Must
  3585. be a C_IDENTIFIER.
  3586. type: string
  3587. value:
  3588. description: 'Variable references $(VAR_NAME) are
  3589. expanded using the previously defined environment
  3590. variables in the container and any service environment
  3591. variables. If a variable cannot be resolved, the
  3592. reference in the input string will be unchanged.
  3593. Double $$ are reduced to a single $, which allows
  3594. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  3595. will produce the string literal "$(VAR_NAME)". Escaped
  3596. references will never be expanded, regardless of
  3597. whether the variable exists or not. Defaults to
  3598. "".'
  3599. type: string
  3600. valueFrom:
  3601. description: Source for the environment variable's
  3602. value. Cannot be used if value is not empty.
  3603. properties:
  3604. configMapKeyRef:
  3605. description: Selects a key of a ConfigMap.
  3606. properties:
  3607. key:
  3608. description: The key to select.
  3609. type: string
  3610. name:
  3611. description: 'Name of the referent. More info:
  3612. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3613. TODO: Add other useful fields. apiVersion,
  3614. kind, uid?'
  3615. type: string
  3616. optional:
  3617. description: Specify whether the ConfigMap
  3618. or its key must be defined
  3619. type: boolean
  3620. required:
  3621. - key
  3622. type: object
  3623. x-kubernetes-map-type: atomic
  3624. fieldRef:
  3625. description: 'Selects a field of the pod: supports
  3626. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  3627. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  3628. spec.serviceAccountName, status.hostIP, status.podIP,
  3629. status.podIPs.'
  3630. properties:
  3631. apiVersion:
  3632. description: Version of the schema the FieldPath
  3633. is written in terms of, defaults to "v1".
  3634. type: string
  3635. fieldPath:
  3636. description: Path of the field to select in
  3637. the specified API version.
  3638. type: string
  3639. required:
  3640. - fieldPath
  3641. type: object
  3642. x-kubernetes-map-type: atomic
  3643. resourceFieldRef:
  3644. description: 'Selects a resource of the container:
  3645. only resources limits and requests (limits.cpu,
  3646. limits.memory, limits.ephemeral-storage, requests.cpu,
  3647. requests.memory and requests.ephemeral-storage)
  3648. are currently supported.'
  3649. properties:
  3650. containerName:
  3651. description: 'Container name: required for
  3652. volumes, optional for env vars'
  3653. type: string
  3654. divisor:
  3655. anyOf:
  3656. - type: integer
  3657. - type: string
  3658. description: Specifies the output format of
  3659. the exposed resources, defaults to "1"
  3660. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3661. x-kubernetes-int-or-string: true
  3662. resource:
  3663. description: 'Required: resource to select'
  3664. type: string
  3665. required:
  3666. - resource
  3667. type: object
  3668. x-kubernetes-map-type: atomic
  3669. secretKeyRef:
  3670. description: Selects a key of a secret in the
  3671. pod's namespace
  3672. properties:
  3673. key:
  3674. description: The key of the secret to select
  3675. from. Must be a valid secret key.
  3676. type: string
  3677. name:
  3678. description: 'Name of the referent. More info:
  3679. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3680. TODO: Add other useful fields. apiVersion,
  3681. kind, uid?'
  3682. type: string
  3683. optional:
  3684. description: Specify whether the Secret or
  3685. its key must be defined
  3686. type: boolean
  3687. required:
  3688. - key
  3689. type: object
  3690. x-kubernetes-map-type: atomic
  3691. type: object
  3692. required:
  3693. - name
  3694. type: object
  3695. type: array
  3696. envFrom:
  3697. description: List of sources to populate environment variables
  3698. in the container. The keys defined within a source must
  3699. be a C_IDENTIFIER. All invalid keys will be reported as
  3700. an event when the container is starting. When a key exists
  3701. in multiple sources, the value associated with the last
  3702. source will take precedence. Values defined by an Env
  3703. with a duplicate key will take precedence. Cannot be updated.
  3704. items:
  3705. description: EnvFromSource represents the source of a
  3706. set of ConfigMaps
  3707. properties:
  3708. configMapRef:
  3709. description: The ConfigMap to select from
  3710. properties:
  3711. name:
  3712. description: 'Name of the referent. More info:
  3713. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3714. TODO: Add other useful fields. apiVersion, kind,
  3715. uid?'
  3716. type: string
  3717. optional:
  3718. description: Specify whether the ConfigMap must
  3719. be defined
  3720. type: boolean
  3721. type: object
  3722. x-kubernetes-map-type: atomic
  3723. prefix:
  3724. description: An optional identifier to prepend to
  3725. each key in the ConfigMap. Must be a C_IDENTIFIER.
  3726. type: string
  3727. secretRef:
  3728. description: The Secret to select from
  3729. properties:
  3730. name:
  3731. description: 'Name of the referent. More info:
  3732. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3733. TODO: Add other useful fields. apiVersion, kind,
  3734. uid?'
  3735. type: string
  3736. optional:
  3737. description: Specify whether the Secret must be
  3738. defined
  3739. type: boolean
  3740. type: object
  3741. x-kubernetes-map-type: atomic
  3742. type: object
  3743. type: array
  3744. image:
  3745. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  3746. This field is optional to allow higher level config management
  3747. to default or override container images in workload controllers
  3748. like Deployments and StatefulSets.'
  3749. type: string
  3750. imagePullPolicy:
  3751. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  3752. Defaults to Always if :latest tag is specified, or IfNotPresent
  3753. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  3754. type: string
  3755. lifecycle:
  3756. description: Actions that the management system should take
  3757. in response to container lifecycle events. Cannot be updated.
  3758. properties:
  3759. postStart:
  3760. description: 'PostStart is called immediately after
  3761. a container is created. If the handler fails, the
  3762. container is terminated and restarted according to
  3763. its restart policy. Other management of the container
  3764. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3765. properties:
  3766. exec:
  3767. description: Exec specifies the action to take.
  3768. properties:
  3769. command:
  3770. description: Command is the command line to
  3771. execute inside the container, the working
  3772. directory for the command is root ('/') in
  3773. the container's filesystem. The command is
  3774. simply exec'd, it is not run inside a shell,
  3775. so traditional shell instructions ('|', etc)
  3776. won't work. To use a shell, you need to explicitly
  3777. call out to that shell. Exit status of 0 is
  3778. treated as live/healthy and non-zero is unhealthy.
  3779. items:
  3780. type: string
  3781. type: array
  3782. type: object
  3783. httpGet:
  3784. description: HTTPGet specifies the http request
  3785. to perform.
  3786. properties:
  3787. host:
  3788. description: Host name to connect to, defaults
  3789. to the pod IP. You probably want to set "Host"
  3790. in httpHeaders instead.
  3791. type: string
  3792. httpHeaders:
  3793. description: Custom headers to set in the request.
  3794. HTTP allows repeated headers.
  3795. items:
  3796. description: HTTPHeader describes a custom
  3797. header to be used in HTTP probes
  3798. properties:
  3799. name:
  3800. description: The header field name
  3801. type: string
  3802. value:
  3803. description: The header field value
  3804. type: string
  3805. required:
  3806. - name
  3807. - value
  3808. type: object
  3809. type: array
  3810. path:
  3811. description: Path to access on the HTTP server.
  3812. type: string
  3813. port:
  3814. anyOf:
  3815. - type: integer
  3816. - type: string
  3817. description: Name or number of the port to access
  3818. on the container. Number must be in the range
  3819. 1 to 65535. Name must be an IANA_SVC_NAME.
  3820. x-kubernetes-int-or-string: true
  3821. scheme:
  3822. description: Scheme to use for connecting to
  3823. the host. Defaults to HTTP.
  3824. type: string
  3825. required:
  3826. - port
  3827. type: object
  3828. tcpSocket:
  3829. description: Deprecated. TCPSocket is NOT supported
  3830. as a LifecycleHandler and kept for the backward
  3831. compatibility. There are no validation of this
  3832. field and lifecycle hooks will fail in runtime
  3833. when tcp handler is specified.
  3834. properties:
  3835. host:
  3836. description: 'Optional: Host name to connect
  3837. to, defaults to the pod IP.'
  3838. type: string
  3839. port:
  3840. anyOf:
  3841. - type: integer
  3842. - type: string
  3843. description: Number or name of the port to access
  3844. on the container. Number must be in the range
  3845. 1 to 65535. Name must be an IANA_SVC_NAME.
  3846. x-kubernetes-int-or-string: true
  3847. required:
  3848. - port
  3849. type: object
  3850. type: object
  3851. preStop:
  3852. description: 'PreStop is called immediately before a
  3853. container is terminated due to an API request or management
  3854. event such as liveness/startup probe failure, preemption,
  3855. resource contention, etc. The handler is not called
  3856. if the container crashes or exits. The Pod''s termination
  3857. grace period countdown begins before the PreStop hook
  3858. is executed. Regardless of the outcome of the handler,
  3859. the container will eventually terminate within the
  3860. Pod''s termination grace period (unless delayed by
  3861. finalizers). Other management of the container blocks
  3862. until the hook completes or until the termination
  3863. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3864. properties:
  3865. exec:
  3866. description: Exec specifies the action to take.
  3867. properties:
  3868. command:
  3869. description: Command is the command line to
  3870. execute inside the container, the working
  3871. directory for the command is root ('/') in
  3872. the container's filesystem. The command is
  3873. simply exec'd, it is not run inside a shell,
  3874. so traditional shell instructions ('|', etc)
  3875. won't work. To use a shell, you need to explicitly
  3876. call out to that shell. Exit status of 0 is
  3877. treated as live/healthy and non-zero is unhealthy.
  3878. items:
  3879. type: string
  3880. type: array
  3881. type: object
  3882. httpGet:
  3883. description: HTTPGet specifies the http request
  3884. to perform.
  3885. properties:
  3886. host:
  3887. description: Host name to connect to, defaults
  3888. to the pod IP. You probably want to set "Host"
  3889. in httpHeaders instead.
  3890. type: string
  3891. httpHeaders:
  3892. description: Custom headers to set in the request.
  3893. HTTP allows repeated headers.
  3894. items:
  3895. description: HTTPHeader describes a custom
  3896. header to be used in HTTP probes
  3897. properties:
  3898. name:
  3899. description: The header field name
  3900. type: string
  3901. value:
  3902. description: The header field value
  3903. type: string
  3904. required:
  3905. - name
  3906. - value
  3907. type: object
  3908. type: array
  3909. path:
  3910. description: Path to access on the HTTP server.
  3911. type: string
  3912. port:
  3913. anyOf:
  3914. - type: integer
  3915. - type: string
  3916. description: Name or number of the port to access
  3917. on the container. Number must be in the range
  3918. 1 to 65535. Name must be an IANA_SVC_NAME.
  3919. x-kubernetes-int-or-string: true
  3920. scheme:
  3921. description: Scheme to use for connecting to
  3922. the host. Defaults to HTTP.
  3923. type: string
  3924. required:
  3925. - port
  3926. type: object
  3927. tcpSocket:
  3928. description: Deprecated. TCPSocket is NOT supported
  3929. as a LifecycleHandler and kept for the backward
  3930. compatibility. There are no validation of this
  3931. field and lifecycle hooks will fail in runtime
  3932. when tcp handler is specified.
  3933. properties:
  3934. host:
  3935. description: 'Optional: Host name to connect
  3936. to, defaults to the pod IP.'
  3937. type: string
  3938. port:
  3939. anyOf:
  3940. - type: integer
  3941. - type: string
  3942. description: Number or name of the port to access
  3943. on the container. Number must be in the range
  3944. 1 to 65535. Name must be an IANA_SVC_NAME.
  3945. x-kubernetes-int-or-string: true
  3946. required:
  3947. - port
  3948. type: object
  3949. type: object
  3950. type: object
  3951. livenessProbe:
  3952. description: 'Periodic probe of container liveness. Container
  3953. will be restarted if the probe fails. Cannot be updated.
  3954. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3955. properties:
  3956. exec:
  3957. description: Exec specifies the action to take.
  3958. properties:
  3959. command:
  3960. description: Command is the command line to execute
  3961. inside the container, the working directory for
  3962. the command is root ('/') in the container's
  3963. filesystem. The command is simply exec'd, it is
  3964. not run inside a shell, so traditional shell instructions
  3965. ('|', etc) won't work. To use a shell, you need
  3966. to explicitly call out to that shell. Exit status
  3967. of 0 is treated as live/healthy and non-zero is
  3968. unhealthy.
  3969. items:
  3970. type: string
  3971. type: array
  3972. type: object
  3973. failureThreshold:
  3974. description: Minimum consecutive failures for the probe
  3975. to be considered failed after having succeeded. Defaults
  3976. to 3. Minimum value is 1.
  3977. format: int32
  3978. type: integer
  3979. grpc:
  3980. description: GRPC specifies an action involving a GRPC
  3981. port. This is a beta field and requires enabling GRPCContainerProbe
  3982. feature gate.
  3983. properties:
  3984. port:
  3985. description: Port number of the gRPC service. Number
  3986. must be in the range 1 to 65535.
  3987. format: int32
  3988. type: integer
  3989. service:
  3990. description: "Service is the name of the service
  3991. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  3992. \n If this is not specified, the default behavior
  3993. is defined by gRPC."
  3994. type: string
  3995. required:
  3996. - port
  3997. type: object
  3998. httpGet:
  3999. description: HTTPGet specifies the http request to perform.
  4000. properties:
  4001. host:
  4002. description: Host name to connect to, defaults to
  4003. the pod IP. You probably want to set "Host" in
  4004. httpHeaders instead.
  4005. type: string
  4006. httpHeaders:
  4007. description: Custom headers to set in the request.
  4008. HTTP allows repeated headers.
  4009. items:
  4010. description: HTTPHeader describes a custom header
  4011. to be used in HTTP probes
  4012. properties:
  4013. name:
  4014. description: The header field name
  4015. type: string
  4016. value:
  4017. description: The header field value
  4018. type: string
  4019. required:
  4020. - name
  4021. - value
  4022. type: object
  4023. type: array
  4024. path:
  4025. description: Path to access on the HTTP server.
  4026. type: string
  4027. port:
  4028. anyOf:
  4029. - type: integer
  4030. - type: string
  4031. description: Name or number of the port to access
  4032. on the container. Number must be in the range
  4033. 1 to 65535. Name must be an IANA_SVC_NAME.
  4034. x-kubernetes-int-or-string: true
  4035. scheme:
  4036. description: Scheme to use for connecting to the
  4037. host. Defaults to HTTP.
  4038. type: string
  4039. required:
  4040. - port
  4041. type: object
  4042. initialDelaySeconds:
  4043. description: 'Number of seconds after the container
  4044. has started before liveness probes are initiated.
  4045. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4046. format: int32
  4047. type: integer
  4048. periodSeconds:
  4049. description: How often (in seconds) to perform the probe.
  4050. Default to 10 seconds. Minimum value is 1.
  4051. format: int32
  4052. type: integer
  4053. successThreshold:
  4054. description: Minimum consecutive successes for the probe
  4055. to be considered successful after having failed. Defaults
  4056. to 1. Must be 1 for liveness and startup. Minimum
  4057. value is 1.
  4058. format: int32
  4059. type: integer
  4060. tcpSocket:
  4061. description: TCPSocket specifies an action involving
  4062. a TCP port.
  4063. properties:
  4064. host:
  4065. description: 'Optional: Host name to connect to,
  4066. defaults to the pod IP.'
  4067. type: string
  4068. port:
  4069. anyOf:
  4070. - type: integer
  4071. - type: string
  4072. description: Number or name of the port to access
  4073. on the container. Number must be in the range
  4074. 1 to 65535. Name must be an IANA_SVC_NAME.
  4075. x-kubernetes-int-or-string: true
  4076. required:
  4077. - port
  4078. type: object
  4079. terminationGracePeriodSeconds:
  4080. description: Optional duration in seconds the pod needs
  4081. to terminate gracefully upon probe failure. The grace
  4082. period is the duration in seconds after the processes
  4083. running in the pod are sent a termination signal and
  4084. the time when the processes are forcibly halted with
  4085. a kill signal. Set this value longer than the expected
  4086. cleanup time for your process. If this value is nil,
  4087. the pod's terminationGracePeriodSeconds will be used.
  4088. Otherwise, this value overrides the value provided
  4089. by the pod spec. Value must be non-negative integer.
  4090. The value zero indicates stop immediately via the
  4091. kill signal (no opportunity to shut down). This is
  4092. a beta field and requires enabling ProbeTerminationGracePeriod
  4093. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  4094. is used if unset.
  4095. format: int64
  4096. type: integer
  4097. timeoutSeconds:
  4098. description: 'Number of seconds after which the probe
  4099. times out. Defaults to 1 second. Minimum value is
  4100. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4101. format: int32
  4102. type: integer
  4103. type: object
  4104. name:
  4105. description: Name of the container specified as a DNS_LABEL.
  4106. Each container in a pod must have a unique name (DNS_LABEL).
  4107. Cannot be updated.
  4108. type: string
  4109. ports:
  4110. description: List of ports to expose from the container.
  4111. Exposing a port here gives the system additional information
  4112. about the network connections a container uses, but is
  4113. primarily informational. Not specifying a port here DOES
  4114. NOT prevent that port from being exposed. Any port which
  4115. is listening on the default "0.0.0.0" address inside a
  4116. container will be accessible from the network. Cannot
  4117. be updated.
  4118. items:
  4119. description: ContainerPort represents a network port in
  4120. a single container.
  4121. properties:
  4122. containerPort:
  4123. description: Number of port to expose on the pod's
  4124. IP address. This must be a valid port number, 0
  4125. < x < 65536.
  4126. format: int32
  4127. type: integer
  4128. hostIP:
  4129. description: What host IP to bind the external port
  4130. to.
  4131. type: string
  4132. hostPort:
  4133. description: Number of port to expose on the host.
  4134. If specified, this must be a valid port number,
  4135. 0 < x < 65536. If HostNetwork is specified, this
  4136. must match ContainerPort. Most containers do not
  4137. need this.
  4138. format: int32
  4139. type: integer
  4140. name:
  4141. description: If specified, this must be an IANA_SVC_NAME
  4142. and unique within the pod. Each named port in a
  4143. pod must have a unique name. Name for the port that
  4144. can be referred to by services.
  4145. type: string
  4146. protocol:
  4147. default: TCP
  4148. description: Protocol for port. Must be UDP, TCP,
  4149. or SCTP. Defaults to "TCP".
  4150. type: string
  4151. required:
  4152. - containerPort
  4153. type: object
  4154. type: array
  4155. x-kubernetes-list-map-keys:
  4156. - containerPort
  4157. - protocol
  4158. x-kubernetes-list-type: map
  4159. readinessProbe:
  4160. description: 'Periodic probe of container service readiness.
  4161. Container will be removed from service endpoints if the
  4162. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4163. properties:
  4164. exec:
  4165. description: Exec specifies the action to take.
  4166. properties:
  4167. command:
  4168. description: Command is the command line to execute
  4169. inside the container, the working directory for
  4170. the command is root ('/') in the container's
  4171. filesystem. The command is simply exec'd, it is
  4172. not run inside a shell, so traditional shell instructions
  4173. ('|', etc) won't work. To use a shell, you need
  4174. to explicitly call out to that shell. Exit status
  4175. of 0 is treated as live/healthy and non-zero is
  4176. unhealthy.
  4177. items:
  4178. type: string
  4179. type: array
  4180. type: object
  4181. failureThreshold:
  4182. description: Minimum consecutive failures for the probe
  4183. to be considered failed after having succeeded. Defaults
  4184. to 3. Minimum value is 1.
  4185. format: int32
  4186. type: integer
  4187. grpc:
  4188. description: GRPC specifies an action involving a GRPC
  4189. port. This is a beta field and requires enabling GRPCContainerProbe
  4190. feature gate.
  4191. properties:
  4192. port:
  4193. description: Port number of the gRPC service. Number
  4194. must be in the range 1 to 65535.
  4195. format: int32
  4196. type: integer
  4197. service:
  4198. description: "Service is the name of the service
  4199. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  4200. \n If this is not specified, the default behavior
  4201. is defined by gRPC."
  4202. type: string
  4203. required:
  4204. - port
  4205. type: object
  4206. httpGet:
  4207. description: HTTPGet specifies the http request to perform.
  4208. properties:
  4209. host:
  4210. description: Host name to connect to, defaults to
  4211. the pod IP. You probably want to set "Host" in
  4212. httpHeaders instead.
  4213. type: string
  4214. httpHeaders:
  4215. description: Custom headers to set in the request.
  4216. HTTP allows repeated headers.
  4217. items:
  4218. description: HTTPHeader describes a custom header
  4219. to be used in HTTP probes
  4220. properties:
  4221. name:
  4222. description: The header field name
  4223. type: string
  4224. value:
  4225. description: The header field value
  4226. type: string
  4227. required:
  4228. - name
  4229. - value
  4230. type: object
  4231. type: array
  4232. path:
  4233. description: Path to access on the HTTP server.
  4234. type: string
  4235. port:
  4236. anyOf:
  4237. - type: integer
  4238. - type: string
  4239. description: Name or number of the port to access
  4240. on the container. Number must be in the range
  4241. 1 to 65535. Name must be an IANA_SVC_NAME.
  4242. x-kubernetes-int-or-string: true
  4243. scheme:
  4244. description: Scheme to use for connecting to the
  4245. host. Defaults to HTTP.
  4246. type: string
  4247. required:
  4248. - port
  4249. type: object
  4250. initialDelaySeconds:
  4251. description: 'Number of seconds after the container
  4252. has started before liveness probes are initiated.
  4253. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4254. format: int32
  4255. type: integer
  4256. periodSeconds:
  4257. description: How often (in seconds) to perform the probe.
  4258. Default to 10 seconds. Minimum value is 1.
  4259. format: int32
  4260. type: integer
  4261. successThreshold:
  4262. description: Minimum consecutive successes for the probe
  4263. to be considered successful after having failed. Defaults
  4264. to 1. Must be 1 for liveness and startup. Minimum
  4265. value is 1.
  4266. format: int32
  4267. type: integer
  4268. tcpSocket:
  4269. description: TCPSocket specifies an action involving
  4270. a TCP port.
  4271. properties:
  4272. host:
  4273. description: 'Optional: Host name to connect to,
  4274. defaults to the pod IP.'
  4275. type: string
  4276. port:
  4277. anyOf:
  4278. - type: integer
  4279. - type: string
  4280. description: Number or name of the port to access
  4281. on the container. Number must be in the range
  4282. 1 to 65535. Name must be an IANA_SVC_NAME.
  4283. x-kubernetes-int-or-string: true
  4284. required:
  4285. - port
  4286. type: object
  4287. terminationGracePeriodSeconds:
  4288. description: Optional duration in seconds the pod needs
  4289. to terminate gracefully upon probe failure. The grace
  4290. period is the duration in seconds after the processes
  4291. running in the pod are sent a termination signal and
  4292. the time when the processes are forcibly halted with
  4293. a kill signal. Set this value longer than the expected
  4294. cleanup time for your process. If this value is nil,
  4295. the pod's terminationGracePeriodSeconds will be used.
  4296. Otherwise, this value overrides the value provided
  4297. by the pod spec. Value must be non-negative integer.
  4298. The value zero indicates stop immediately via the
  4299. kill signal (no opportunity to shut down). This is
  4300. a beta field and requires enabling ProbeTerminationGracePeriod
  4301. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  4302. is used if unset.
  4303. format: int64
  4304. type: integer
  4305. timeoutSeconds:
  4306. description: 'Number of seconds after which the probe
  4307. times out. Defaults to 1 second. Minimum value is
  4308. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4309. format: int32
  4310. type: integer
  4311. type: object
  4312. resources:
  4313. description: 'Compute Resources required by this container.
  4314. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  4315. properties:
  4316. limits:
  4317. additionalProperties:
  4318. anyOf:
  4319. - type: integer
  4320. - type: string
  4321. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4322. x-kubernetes-int-or-string: true
  4323. description: 'Limits describes the maximum amount of
  4324. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  4325. type: object
  4326. requests:
  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: 'Requests describes the minimum amount
  4334. of compute resources required. If Requests is omitted
  4335. for a container, it defaults to Limits if that is
  4336. explicitly specified, otherwise to an implementation-defined
  4337. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  4338. type: object
  4339. type: object
  4340. securityContext:
  4341. description: 'SecurityContext defines the security options
  4342. the container should be run with. If set, the fields of
  4343. SecurityContext override the equivalent fields of PodSecurityContext.
  4344. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  4345. properties:
  4346. allowPrivilegeEscalation:
  4347. description: 'AllowPrivilegeEscalation controls whether
  4348. a process can gain more privileges than its parent
  4349. process. This bool directly controls if the no_new_privs
  4350. flag will be set on the container process. AllowPrivilegeEscalation
  4351. is true always when the container is: 1) run as Privileged
  4352. 2) has CAP_SYS_ADMIN Note that this field cannot be
  4353. set when spec.os.name is windows.'
  4354. type: boolean
  4355. capabilities:
  4356. description: The capabilities to add/drop when running
  4357. containers. Defaults to the default set of capabilities
  4358. granted by the container runtime. Note that this field
  4359. cannot be set when spec.os.name is windows.
  4360. properties:
  4361. add:
  4362. description: Added capabilities
  4363. items:
  4364. description: Capability represent POSIX capabilities
  4365. type
  4366. type: string
  4367. type: array
  4368. drop:
  4369. description: Removed capabilities
  4370. items:
  4371. description: Capability represent POSIX capabilities
  4372. type
  4373. type: string
  4374. type: array
  4375. type: object
  4376. privileged:
  4377. description: Run container in privileged mode. Processes
  4378. in privileged containers are essentially equivalent
  4379. to root on the host. Defaults to false. Note that
  4380. this field cannot be set when spec.os.name is windows.
  4381. type: boolean
  4382. procMount:
  4383. description: procMount denotes the type of proc mount
  4384. to use for the containers. The default is DefaultProcMount
  4385. which uses the container runtime defaults for readonly
  4386. paths and masked paths. This requires the ProcMountType
  4387. feature flag to be enabled. Note that this field cannot
  4388. be set when spec.os.name is windows.
  4389. type: string
  4390. readOnlyRootFilesystem:
  4391. description: Whether this container has a read-only
  4392. root filesystem. Default is false. Note that this
  4393. field cannot be set when spec.os.name is windows.
  4394. type: boolean
  4395. runAsGroup:
  4396. description: The GID to run the entrypoint of the container
  4397. process. Uses runtime default if unset. May also be
  4398. set in PodSecurityContext. If set in both SecurityContext
  4399. and PodSecurityContext, the value specified in SecurityContext
  4400. takes precedence. Note that this field cannot be set
  4401. when spec.os.name is windows.
  4402. format: int64
  4403. type: integer
  4404. runAsNonRoot:
  4405. description: Indicates that the container must run as
  4406. a non-root user. If true, the Kubelet will validate
  4407. the image at runtime to ensure that it does not run
  4408. as UID 0 (root) and fail to start the container if
  4409. it does. If unset or false, no such validation will
  4410. be performed. May also be set in PodSecurityContext. If
  4411. set in both SecurityContext and PodSecurityContext,
  4412. the value specified in SecurityContext takes precedence.
  4413. type: boolean
  4414. runAsUser:
  4415. description: The UID to run the entrypoint of the container
  4416. process. Defaults to user specified in image metadata
  4417. if unspecified. May also be set in PodSecurityContext. If
  4418. set in both SecurityContext and PodSecurityContext,
  4419. the value specified in SecurityContext takes precedence.
  4420. Note that this field cannot be set when spec.os.name
  4421. is windows.
  4422. format: int64
  4423. type: integer
  4424. seLinuxOptions:
  4425. description: The SELinux context to be applied to the
  4426. container. If unspecified, the container runtime will
  4427. allocate a random SELinux context for each container. May
  4428. also be set in PodSecurityContext. If set in both
  4429. SecurityContext and PodSecurityContext, the value
  4430. specified in SecurityContext takes precedence. Note
  4431. that this field cannot be set when spec.os.name is
  4432. windows.
  4433. properties:
  4434. level:
  4435. description: Level is SELinux level label that applies
  4436. to the container.
  4437. type: string
  4438. role:
  4439. description: Role is a SELinux role label that applies
  4440. to the container.
  4441. type: string
  4442. type:
  4443. description: Type is a SELinux type label that applies
  4444. to the container.
  4445. type: string
  4446. user:
  4447. description: User is a SELinux user label that applies
  4448. to the container.
  4449. type: string
  4450. type: object
  4451. seccompProfile:
  4452. description: The seccomp options to use by this container.
  4453. If seccomp options are provided at both the pod &
  4454. container level, the container options override the
  4455. pod options. Note that this field cannot be set when
  4456. spec.os.name is windows.
  4457. properties:
  4458. localhostProfile:
  4459. description: localhostProfile indicates a profile
  4460. defined in a file on the node should be used.
  4461. The profile must be preconfigured on the node
  4462. to work. Must be a descending path, relative to
  4463. the kubelet's configured seccomp profile location.
  4464. Must only be set if type is "Localhost".
  4465. type: string
  4466. type:
  4467. description: "type indicates which kind of seccomp
  4468. profile will be applied. Valid options are: \n
  4469. Localhost - a profile defined in a file on the
  4470. node should be used. RuntimeDefault - the container
  4471. runtime default profile should be used. Unconfined
  4472. - no profile should be applied."
  4473. type: string
  4474. required:
  4475. - type
  4476. type: object
  4477. windowsOptions:
  4478. description: The Windows specific settings applied to
  4479. all containers. If unspecified, the options from the
  4480. PodSecurityContext will be used. If set in both SecurityContext
  4481. and PodSecurityContext, the value specified in SecurityContext
  4482. takes precedence. Note that this field cannot be set
  4483. when spec.os.name is linux.
  4484. properties:
  4485. gmsaCredentialSpec:
  4486. description: GMSACredentialSpec is where the GMSA
  4487. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  4488. inlines the contents of the GMSA credential spec
  4489. named by the GMSACredentialSpecName field.
  4490. type: string
  4491. gmsaCredentialSpecName:
  4492. description: GMSACredentialSpecName is the name
  4493. of the GMSA credential spec to use.
  4494. type: string
  4495. hostProcess:
  4496. description: HostProcess determines if a container
  4497. should be run as a 'Host Process' container. This
  4498. field is alpha-level and will only be honored
  4499. by components that enable the WindowsHostProcessContainers
  4500. feature flag. Setting this field without the feature
  4501. flag will result in errors when validating the
  4502. Pod. All of a Pod's containers must have the same
  4503. effective HostProcess value (it is not allowed
  4504. to have a mix of HostProcess containers and non-HostProcess
  4505. containers). In addition, if HostProcess is true
  4506. then HostNetwork must also be set to true.
  4507. type: boolean
  4508. runAsUserName:
  4509. description: The UserName in Windows to run the
  4510. entrypoint of the container process. Defaults
  4511. to the user specified in image metadata if unspecified.
  4512. May also be set in PodSecurityContext. If set
  4513. in both SecurityContext and PodSecurityContext,
  4514. the value specified in SecurityContext takes precedence.
  4515. type: string
  4516. type: object
  4517. type: object
  4518. startupProbe:
  4519. description: 'StartupProbe indicates that the Pod has successfully
  4520. initialized. If specified, no other probes are executed
  4521. until this completes successfully. If this probe fails,
  4522. the Pod will be restarted, just as if the livenessProbe
  4523. failed. This can be used to provide different probe parameters
  4524. at the beginning of a Pod''s lifecycle, when it might
  4525. take a long time to load data or warm a cache, than during
  4526. steady-state operation. This cannot be updated. More info:
  4527. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4528. properties:
  4529. exec:
  4530. description: Exec specifies the action to take.
  4531. properties:
  4532. command:
  4533. description: Command is the command line to execute
  4534. inside the container, the working directory for
  4535. the command is root ('/') in the container's
  4536. filesystem. The command is simply exec'd, it is
  4537. not run inside a shell, so traditional shell instructions
  4538. ('|', etc) won't work. To use a shell, you need
  4539. to explicitly call out to that shell. Exit status
  4540. of 0 is treated as live/healthy and non-zero is
  4541. unhealthy.
  4542. items:
  4543. type: string
  4544. type: array
  4545. type: object
  4546. failureThreshold:
  4547. description: Minimum consecutive failures for the probe
  4548. to be considered failed after having succeeded. Defaults
  4549. to 3. Minimum value is 1.
  4550. format: int32
  4551. type: integer
  4552. grpc:
  4553. description: GRPC specifies an action involving a GRPC
  4554. port. This is a beta field and requires enabling GRPCContainerProbe
  4555. feature gate.
  4556. properties:
  4557. port:
  4558. description: Port number of the gRPC service. Number
  4559. must be in the range 1 to 65535.
  4560. format: int32
  4561. type: integer
  4562. service:
  4563. description: "Service is the name of the service
  4564. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  4565. \n If this is not specified, the default behavior
  4566. is defined by gRPC."
  4567. type: string
  4568. required:
  4569. - port
  4570. type: object
  4571. httpGet:
  4572. description: HTTPGet specifies the http request to perform.
  4573. properties:
  4574. host:
  4575. description: Host name to connect to, defaults to
  4576. the pod IP. You probably want to set "Host" in
  4577. httpHeaders instead.
  4578. type: string
  4579. httpHeaders:
  4580. description: Custom headers to set in the request.
  4581. HTTP allows repeated headers.
  4582. items:
  4583. description: HTTPHeader describes a custom header
  4584. to be used in HTTP probes
  4585. properties:
  4586. name:
  4587. description: The header field name
  4588. type: string
  4589. value:
  4590. description: The header field value
  4591. type: string
  4592. required:
  4593. - name
  4594. - value
  4595. type: object
  4596. type: array
  4597. path:
  4598. description: Path to access on the HTTP server.
  4599. type: string
  4600. port:
  4601. anyOf:
  4602. - type: integer
  4603. - type: string
  4604. description: Name or number of the port to access
  4605. on the container. Number must be in the range
  4606. 1 to 65535. Name must be an IANA_SVC_NAME.
  4607. x-kubernetes-int-or-string: true
  4608. scheme:
  4609. description: Scheme to use for connecting to the
  4610. host. Defaults to HTTP.
  4611. type: string
  4612. required:
  4613. - port
  4614. type: object
  4615. initialDelaySeconds:
  4616. description: 'Number of seconds after the container
  4617. has started before liveness probes are initiated.
  4618. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4619. format: int32
  4620. type: integer
  4621. periodSeconds:
  4622. description: How often (in seconds) to perform the probe.
  4623. Default to 10 seconds. Minimum value is 1.
  4624. format: int32
  4625. type: integer
  4626. successThreshold:
  4627. description: Minimum consecutive successes for the probe
  4628. to be considered successful after having failed. Defaults
  4629. to 1. Must be 1 for liveness and startup. Minimum
  4630. value is 1.
  4631. format: int32
  4632. type: integer
  4633. tcpSocket:
  4634. description: TCPSocket specifies an action involving
  4635. a TCP port.
  4636. properties:
  4637. host:
  4638. description: 'Optional: Host name to connect to,
  4639. defaults to the pod IP.'
  4640. type: string
  4641. port:
  4642. anyOf:
  4643. - type: integer
  4644. - type: string
  4645. description: Number or name of the port to access
  4646. on the container. Number must be in the range
  4647. 1 to 65535. Name must be an IANA_SVC_NAME.
  4648. x-kubernetes-int-or-string: true
  4649. required:
  4650. - port
  4651. type: object
  4652. terminationGracePeriodSeconds:
  4653. description: Optional duration in seconds the pod needs
  4654. to terminate gracefully upon probe failure. The grace
  4655. period is the duration in seconds after the processes
  4656. running in the pod are sent a termination signal and
  4657. the time when the processes are forcibly halted with
  4658. a kill signal. Set this value longer than the expected
  4659. cleanup time for your process. If this value is nil,
  4660. the pod's terminationGracePeriodSeconds will be used.
  4661. Otherwise, this value overrides the value provided
  4662. by the pod spec. Value must be non-negative integer.
  4663. The value zero indicates stop immediately via the
  4664. kill signal (no opportunity to shut down). This is
  4665. a beta field and requires enabling ProbeTerminationGracePeriod
  4666. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  4667. is used if unset.
  4668. format: int64
  4669. type: integer
  4670. timeoutSeconds:
  4671. description: 'Number of seconds after which the probe
  4672. times out. Defaults to 1 second. Minimum value is
  4673. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4674. format: int32
  4675. type: integer
  4676. type: object
  4677. stdin:
  4678. description: Whether this container should allocate a buffer
  4679. for stdin in the container runtime. If this is not set,
  4680. reads from stdin in the container will always result in
  4681. EOF. Default is false.
  4682. type: boolean
  4683. stdinOnce:
  4684. description: Whether the container runtime should close
  4685. the stdin channel after it has been opened by a single
  4686. attach. When stdin is true the stdin stream will remain
  4687. open across multiple attach sessions. If stdinOnce is
  4688. set to true, stdin is opened on container start, is empty
  4689. until the first client attaches to stdin, and then remains
  4690. open and accepts data until the client disconnects, at
  4691. which time stdin is closed and remains closed until the
  4692. container is restarted. If this flag is false, a container
  4693. processes that reads from stdin will never receive an
  4694. EOF. Default is false
  4695. type: boolean
  4696. terminationMessagePath:
  4697. description: 'Optional: Path at which the file to which
  4698. the container''s termination message will be written is
  4699. mounted into the container''s filesystem. Message written
  4700. is intended to be brief final status, such as an assertion
  4701. failure message. Will be truncated by the node if greater
  4702. than 4096 bytes. The total message length across all containers
  4703. will be limited to 12kb. Defaults to /dev/termination-log.
  4704. Cannot be updated.'
  4705. type: string
  4706. terminationMessagePolicy:
  4707. description: Indicate how the termination message should
  4708. be populated. File will use the contents of terminationMessagePath
  4709. to populate the container status message on both success
  4710. and failure. FallbackToLogsOnError will use the last chunk
  4711. of container log output if the termination message file
  4712. is empty and the container exited with an error. The log
  4713. output is limited to 2048 bytes or 80 lines, whichever
  4714. is smaller. Defaults to File. Cannot be updated.
  4715. type: string
  4716. tty:
  4717. description: Whether this container should allocate a TTY
  4718. for itself, also requires 'stdin' to be true. Default
  4719. is false.
  4720. type: boolean
  4721. volumeDevices:
  4722. description: volumeDevices is the list of block devices
  4723. to be used by the container.
  4724. items:
  4725. description: volumeDevice describes a mapping of a raw
  4726. block device within a container.
  4727. properties:
  4728. devicePath:
  4729. description: devicePath is the path inside of the
  4730. container that the device will be mapped to.
  4731. type: string
  4732. name:
  4733. description: name must match the name of a persistentVolumeClaim
  4734. in the pod
  4735. type: string
  4736. required:
  4737. - devicePath
  4738. - name
  4739. type: object
  4740. type: array
  4741. volumeMounts:
  4742. description: Pod volumes to mount into the container's filesystem.
  4743. Cannot be updated.
  4744. items:
  4745. description: VolumeMount describes a mounting of a Volume
  4746. within a container.
  4747. properties:
  4748. mountPath:
  4749. description: Path within the container at which the
  4750. volume should be mounted. Must not contain ':'.
  4751. type: string
  4752. mountPropagation:
  4753. description: mountPropagation determines how mounts
  4754. are propagated from the host to container and the
  4755. other way around. When not set, MountPropagationNone
  4756. is used. This field is beta in 1.10.
  4757. type: string
  4758. name:
  4759. description: This must match the Name of a Volume.
  4760. type: string
  4761. readOnly:
  4762. description: Mounted read-only if true, read-write
  4763. otherwise (false or unspecified). Defaults to false.
  4764. type: boolean
  4765. subPath:
  4766. description: Path within the volume from which the
  4767. container's volume should be mounted. Defaults to
  4768. "" (volume's root).
  4769. type: string
  4770. subPathExpr:
  4771. description: Expanded path within the volume from
  4772. which the container's volume should be mounted.
  4773. Behaves similarly to SubPath but environment variable
  4774. references $(VAR_NAME) are expanded using the container's
  4775. environment. Defaults to "" (volume's root). SubPathExpr
  4776. and SubPath are mutually exclusive.
  4777. type: string
  4778. required:
  4779. - mountPath
  4780. - name
  4781. type: object
  4782. type: array
  4783. workingDir:
  4784. description: Container's working directory. If not specified,
  4785. the container runtime's default will be used, which might
  4786. be configured in the container image. Cannot be updated.
  4787. type: string
  4788. required:
  4789. - name
  4790. type: object
  4791. type: array
  4792. nodeName:
  4793. description: NodeName is a request to schedule this pod onto a
  4794. specific node. If it is non-empty, the scheduler simply schedules
  4795. this pod onto that node, assuming that it fits resource requirements.
  4796. type: string
  4797. nodeSelector:
  4798. additionalProperties:
  4799. type: string
  4800. description: 'NodeSelector is a selector which must be true for
  4801. the pod to fit on a node. Selector which must match a node''s
  4802. labels for the pod to be scheduled on that node. More info:
  4803. https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  4804. type: object
  4805. x-kubernetes-map-type: atomic
  4806. os:
  4807. description: "Specifies the OS of the containers in the pod. Some
  4808. pod and container fields are restricted if this is set. \n If
  4809. the OS field is set to linux, the following fields must be unset:
  4810. -securityContext.windowsOptions \n If the OS field is set to
  4811. windows, following fields must be unset: - spec.hostPID - spec.hostIPC
  4812. - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile
  4813. - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy
  4814. - spec.securityContext.sysctls - spec.shareProcessNamespace
  4815. - spec.securityContext.runAsUser - spec.securityContext.runAsGroup
  4816. - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions
  4817. - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities
  4818. - spec.containers[*].securityContext.readOnlyRootFilesystem
  4819. - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation
  4820. - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser
  4821. - spec.containers[*].securityContext.runAsGroup This is a beta
  4822. field and requires the IdentifyPodOS feature"
  4823. properties:
  4824. name:
  4825. description: 'Name is the name of the operating system. The
  4826. currently supported values are linux and windows. Additional
  4827. value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration
  4828. Clients should expect to handle additional values and treat
  4829. unrecognized values in this field as os: null'
  4830. type: string
  4831. required:
  4832. - name
  4833. type: object
  4834. overhead:
  4835. additionalProperties:
  4836. anyOf:
  4837. - type: integer
  4838. - type: string
  4839. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4840. x-kubernetes-int-or-string: true
  4841. description: 'Overhead represents the resource overhead associated
  4842. with running a pod for a given RuntimeClass. This field will
  4843. be autopopulated at admission time by the RuntimeClass admission
  4844. controller. If the RuntimeClass admission controller is enabled,
  4845. overhead must not be set in Pod create requests. The RuntimeClass
  4846. admission controller will reject Pod create requests which have
  4847. the overhead already set. If RuntimeClass is configured and
  4848. selected in the PodSpec, Overhead will be set to the value defined
  4849. in the corresponding RuntimeClass, otherwise it will remain
  4850. unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md'
  4851. type: object
  4852. preemptionPolicy:
  4853. description: PreemptionPolicy is the Policy for preempting pods
  4854. with lower priority. One of Never, PreemptLowerPriority. Defaults
  4855. to PreemptLowerPriority if unset.
  4856. type: string
  4857. priority:
  4858. description: The priority value. Various system components use
  4859. this field to find the priority of the pod. When Priority Admission
  4860. Controller is enabled, it prevents users from setting this field.
  4861. The admission controller populates this field from PriorityClassName.
  4862. The higher the value, the higher the priority.
  4863. format: int32
  4864. type: integer
  4865. priorityClassName:
  4866. description: If specified, indicates the pod's priority. "system-node-critical"
  4867. and "system-cluster-critical" are two special keywords which
  4868. indicate the highest priorities with the former being the highest
  4869. priority. Any other name must be defined by creating a PriorityClass
  4870. object with that name. If not specified, the pod priority will
  4871. be default or zero if there is no default.
  4872. type: string
  4873. readinessGates:
  4874. description: 'If specified, all readiness gates will be evaluated
  4875. for pod readiness. A pod is ready when all its containers are
  4876. ready AND all conditions specified in the readiness gates have
  4877. status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates'
  4878. items:
  4879. description: PodReadinessGate contains the reference to a pod
  4880. condition
  4881. properties:
  4882. conditionType:
  4883. description: ConditionType refers to a condition in the
  4884. pod's condition list with matching type.
  4885. type: string
  4886. required:
  4887. - conditionType
  4888. type: object
  4889. type: array
  4890. restartPolicy:
  4891. description: 'Restart policy for all containers within the pod.
  4892. One of Always, OnFailure, Never. Default to Always. More info:
  4893. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy'
  4894. type: string
  4895. runtimeClassName:
  4896. description: 'RuntimeClassName refers to a RuntimeClass object
  4897. in the node.k8s.io group, which should be used to run this pod. If
  4898. no RuntimeClass resource matches the named class, the pod will
  4899. not be run. If unset or empty, the "legacy" RuntimeClass will
  4900. be used, which is an implicit class with an empty definition
  4901. that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class'
  4902. type: string
  4903. schedulerName:
  4904. description: If specified, the pod will be dispatched by specified
  4905. scheduler. If not specified, the pod will be dispatched by default
  4906. scheduler.
  4907. type: string
  4908. securityContext:
  4909. description: 'SecurityContext holds pod-level security attributes
  4910. and common container settings. Optional: Defaults to empty. See
  4911. type description for default values of each field.'
  4912. properties:
  4913. fsGroup:
  4914. description: "A special supplemental group that applies to
  4915. all containers in a pod. Some volume types allow the Kubelet
  4916. to change the ownership of that volume to be owned by the
  4917. pod: \n 1. The owning GID will be the FSGroup 2. The setgid
  4918. bit is set (new files created in the volume will be owned
  4919. by FSGroup) 3. The permission bits are OR'd with rw-rw----
  4920. \n If unset, the Kubelet will not modify the ownership and
  4921. permissions of any volume. Note that this field cannot be
  4922. set when spec.os.name is windows."
  4923. format: int64
  4924. type: integer
  4925. fsGroupChangePolicy:
  4926. description: 'fsGroupChangePolicy defines behavior of changing
  4927. ownership and permission of the volume before being exposed
  4928. inside Pod. This field will only apply to volume types which
  4929. support fsGroup based ownership(and permissions). It will
  4930. have no effect on ephemeral volume types such as: secret,
  4931. configmaps and emptydir. Valid values are "OnRootMismatch"
  4932. and "Always". If not specified, "Always" is used. Note that
  4933. this field cannot be set when spec.os.name is windows.'
  4934. type: string
  4935. runAsGroup:
  4936. description: The GID to run the entrypoint of the container
  4937. process. Uses runtime default if unset. May also be set
  4938. in SecurityContext. If set in both SecurityContext and
  4939. PodSecurityContext, the value specified in SecurityContext
  4940. takes precedence for that container. Note that this field
  4941. cannot be set when spec.os.name is windows.
  4942. format: int64
  4943. type: integer
  4944. runAsNonRoot:
  4945. description: Indicates that the container must run as a non-root
  4946. user. If true, the Kubelet will validate the image at runtime
  4947. to ensure that it does not run as UID 0 (root) and fail
  4948. to start the container if it does. If unset or false, no
  4949. such validation will be performed. May also be set in SecurityContext. If
  4950. set in both SecurityContext and PodSecurityContext, the
  4951. value specified in SecurityContext takes precedence.
  4952. type: boolean
  4953. runAsUser:
  4954. description: The UID to run the entrypoint of the container
  4955. process. Defaults to user specified in image metadata if
  4956. unspecified. May also be set in SecurityContext. If set
  4957. in both SecurityContext and PodSecurityContext, the value
  4958. specified in SecurityContext takes precedence for that container.
  4959. Note that this field cannot be set when spec.os.name is
  4960. windows.
  4961. format: int64
  4962. type: integer
  4963. seLinuxOptions:
  4964. description: The SELinux context to be applied to all containers.
  4965. If unspecified, the container runtime will allocate a random
  4966. SELinux context for each container. May also be set in
  4967. SecurityContext. If set in both SecurityContext and PodSecurityContext,
  4968. the value specified in SecurityContext takes precedence
  4969. for that container. Note that this field cannot be set when
  4970. spec.os.name is windows.
  4971. properties:
  4972. level:
  4973. description: Level is SELinux level label that applies
  4974. to the container.
  4975. type: string
  4976. role:
  4977. description: Role is a SELinux role label that applies
  4978. to the container.
  4979. type: string
  4980. type:
  4981. description: Type is a SELinux type label that applies
  4982. to the container.
  4983. type: string
  4984. user:
  4985. description: User is a SELinux user label that applies
  4986. to the container.
  4987. type: string
  4988. type: object
  4989. seccompProfile:
  4990. description: The seccomp options to use by the containers
  4991. in this pod. Note that this field cannot be set when spec.os.name
  4992. is windows.
  4993. properties:
  4994. localhostProfile:
  4995. description: localhostProfile indicates a profile defined
  4996. in a file on the node should be used. The profile must
  4997. be preconfigured on the node to work. Must be a descending
  4998. path, relative to the kubelet's configured seccomp profile
  4999. location. Must only be set if type is "Localhost".
  5000. type: string
  5001. type:
  5002. description: "type indicates which kind of seccomp profile
  5003. will be applied. Valid options are: \n Localhost - a
  5004. profile defined in a file on the node should be used.
  5005. RuntimeDefault - the container runtime default profile
  5006. should be used. Unconfined - no profile should be applied."
  5007. type: string
  5008. required:
  5009. - type
  5010. type: object
  5011. supplementalGroups:
  5012. description: A list of groups applied to the first process
  5013. run in each container, in addition to the container's primary
  5014. GID. If unspecified, no groups will be added to any container.
  5015. Note that this field cannot be set when spec.os.name is
  5016. windows.
  5017. items:
  5018. format: int64
  5019. type: integer
  5020. type: array
  5021. sysctls:
  5022. description: Sysctls hold a list of namespaced sysctls used
  5023. for the pod. Pods with unsupported sysctls (by the container
  5024. runtime) might fail to launch. Note that this field cannot
  5025. be set when spec.os.name is windows.
  5026. items:
  5027. description: Sysctl defines a kernel parameter to be set
  5028. properties:
  5029. name:
  5030. description: Name of a property to set
  5031. type: string
  5032. value:
  5033. description: Value of a property to set
  5034. type: string
  5035. required:
  5036. - name
  5037. - value
  5038. type: object
  5039. type: array
  5040. windowsOptions:
  5041. description: The Windows specific settings applied to all
  5042. containers. If unspecified, the options within a container's
  5043. SecurityContext will be used. If set in both SecurityContext
  5044. and PodSecurityContext, the value specified in SecurityContext
  5045. takes precedence. Note that this field cannot be set when
  5046. spec.os.name is linux.
  5047. properties:
  5048. gmsaCredentialSpec:
  5049. description: GMSACredentialSpec is where the GMSA admission
  5050. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  5051. inlines the contents of the GMSA credential spec named
  5052. by the GMSACredentialSpecName field.
  5053. type: string
  5054. gmsaCredentialSpecName:
  5055. description: GMSACredentialSpecName is the name of the
  5056. GMSA credential spec to use.
  5057. type: string
  5058. hostProcess:
  5059. description: HostProcess determines if a container should
  5060. be run as a 'Host Process' container. This field is
  5061. alpha-level and will only be honored by components that
  5062. enable the WindowsHostProcessContainers feature flag.
  5063. Setting this field without the feature flag will result
  5064. in errors when validating the Pod. All of a Pod's containers
  5065. must have the same effective HostProcess value (it is
  5066. not allowed to have a mix of HostProcess containers
  5067. and non-HostProcess containers). In addition, if HostProcess
  5068. is true then HostNetwork must also be set to true.
  5069. type: boolean
  5070. runAsUserName:
  5071. description: The UserName in Windows to run the entrypoint
  5072. of the container process. Defaults to the user specified
  5073. in image metadata if unspecified. May also be set in
  5074. PodSecurityContext. If set in both SecurityContext and
  5075. PodSecurityContext, the value specified in SecurityContext
  5076. takes precedence.
  5077. type: string
  5078. type: object
  5079. type: object
  5080. serviceAccount:
  5081. description: 'DeprecatedServiceAccount is a depreciated alias
  5082. for ServiceAccountName. Deprecated: Use serviceAccountName instead.'
  5083. type: string
  5084. serviceAccountName:
  5085. description: 'ServiceAccountName is the name of the ServiceAccount
  5086. to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  5087. type: string
  5088. setHostnameAsFQDN:
  5089. description: If true the pod's hostname will be configured as
  5090. the pod's FQDN, rather than the leaf name (the default). In
  5091. Linux containers, this means setting the FQDN in the hostname
  5092. field of the kernel (the nodename field of struct utsname).
  5093. In Windows containers, this means setting the registry value
  5094. of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters
  5095. to FQDN. If a pod does not have FQDN, this has no effect. Default
  5096. to false.
  5097. type: boolean
  5098. shareProcessNamespace:
  5099. description: 'Share a single process namespace between all of
  5100. the containers in a pod. When this is set containers will be
  5101. able to view and signal processes from other containers in the
  5102. same pod, and the first process in each container will not be
  5103. assigned PID 1. HostPID and ShareProcessNamespace cannot both
  5104. be set. Optional: Default to false.'
  5105. type: boolean
  5106. subdomain:
  5107. description: If specified, the fully qualified Pod hostname will
  5108. be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
  5109. If not specified, the pod will not have a domainname at all.
  5110. type: string
  5111. terminationGracePeriodSeconds:
  5112. description: Optional duration in seconds the pod needs to terminate
  5113. gracefully. May be decreased in delete request. Value must be
  5114. non-negative integer. The value zero indicates stop immediately
  5115. via the kill signal (no opportunity to shut down). If this value
  5116. is nil, the default grace period will be used instead. The grace
  5117. period is the duration in seconds after the processes running
  5118. in the pod are sent a termination signal and the time when the
  5119. processes are forcibly halted with a kill signal. Set this value
  5120. longer than the expected cleanup time for your process. Defaults
  5121. to 30 seconds.
  5122. format: int64
  5123. type: integer
  5124. tolerations:
  5125. description: If specified, the pod's tolerations.
  5126. items:
  5127. description: The pod this Toleration is attached to tolerates
  5128. any taint that matches the triple <key,value,effect> using
  5129. the matching operator <operator>.
  5130. properties:
  5131. effect:
  5132. description: Effect indicates the taint effect to match.
  5133. Empty means match all taint effects. When specified, allowed
  5134. values are NoSchedule, PreferNoSchedule and NoExecute.
  5135. type: string
  5136. key:
  5137. description: Key is the taint key that the toleration applies
  5138. to. Empty means match all taint keys. If the key is empty,
  5139. operator must be Exists; this combination means to match
  5140. all values and all keys.
  5141. type: string
  5142. operator:
  5143. description: Operator represents a key's relationship to
  5144. the value. Valid operators are Exists and Equal. Defaults
  5145. to Equal. Exists is equivalent to wildcard for value,
  5146. so that a pod can tolerate all taints of a particular
  5147. category.
  5148. type: string
  5149. tolerationSeconds:
  5150. description: TolerationSeconds represents the period of
  5151. time the toleration (which must be of effect NoExecute,
  5152. otherwise this field is ignored) tolerates the taint.
  5153. By default, it is not set, which means tolerate the taint
  5154. forever (do not evict). Zero and negative values will
  5155. be treated as 0 (evict immediately) by the system.
  5156. format: int64
  5157. type: integer
  5158. value:
  5159. description: Value is the taint value the toleration matches
  5160. to. If the operator is Exists, the value should be empty,
  5161. otherwise just a regular string.
  5162. type: string
  5163. type: object
  5164. type: array
  5165. topologySpreadConstraints:
  5166. description: TopologySpreadConstraints describes how a group of
  5167. pods ought to spread across topology domains. Scheduler will
  5168. schedule pods in a way which abides by the constraints. All
  5169. topologySpreadConstraints are ANDed.
  5170. items:
  5171. description: TopologySpreadConstraint specifies how to spread
  5172. matching pods among the given topology.
  5173. properties:
  5174. labelSelector:
  5175. description: LabelSelector is used to find matching pods.
  5176. Pods that match this label selector are counted to determine
  5177. the number of pods in their corresponding topology domain.
  5178. properties:
  5179. matchExpressions:
  5180. description: matchExpressions is a list of label selector
  5181. requirements. The requirements are ANDed.
  5182. items:
  5183. description: A label selector requirement is a selector
  5184. that contains values, a key, and an operator that
  5185. relates the key and values.
  5186. properties:
  5187. key:
  5188. description: key is the label key that the selector
  5189. applies to.
  5190. type: string
  5191. operator:
  5192. description: operator represents a key's relationship
  5193. to a set of values. Valid operators are In,
  5194. NotIn, Exists and DoesNotExist.
  5195. type: string
  5196. values:
  5197. description: values is an array of string values.
  5198. If the operator is In or NotIn, the values array
  5199. must be non-empty. If the operator is Exists
  5200. or DoesNotExist, the values array must be empty.
  5201. This array is replaced during a strategic merge
  5202. patch.
  5203. items:
  5204. type: string
  5205. type: array
  5206. required:
  5207. - key
  5208. - operator
  5209. type: object
  5210. type: array
  5211. matchLabels:
  5212. additionalProperties:
  5213. type: string
  5214. description: matchLabels is a map of {key,value} pairs.
  5215. A single {key,value} in the matchLabels map is equivalent
  5216. to an element of matchExpressions, whose key field
  5217. is "key", the operator is "In", and the values array
  5218. contains only "value". The requirements are ANDed.
  5219. type: object
  5220. type: object
  5221. x-kubernetes-map-type: atomic
  5222. maxSkew:
  5223. description: 'MaxSkew describes the degree to which pods
  5224. may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  5225. it is the maximum permitted difference between the number
  5226. of matching pods in the target topology and the global
  5227. minimum. The global minimum is the minimum number of matching
  5228. pods in an eligible domain or zero if the number of eligible
  5229. domains is less than MinDomains. For example, in a 3-zone
  5230. cluster, MaxSkew is set to 1, and pods with the same labelSelector
  5231. spread as 2/2/1: In this case, the global minimum is 1.
  5232. | zone1 | zone2 | zone3 | | P P | P P | P | -
  5233. if MaxSkew is 1, incoming pod can only be scheduled to
  5234. zone3 to become 2/2/2; scheduling it onto zone1(zone2)
  5235. would make the ActualSkew(3-1) on zone1(zone2) violate
  5236. MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled
  5237. onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  5238. it is used to give higher precedence to topologies that
  5239. satisfy it. It''s a required field. Default value is 1
  5240. and 0 is not allowed.'
  5241. format: int32
  5242. type: integer
  5243. minDomains:
  5244. description: "MinDomains indicates a minimum number of eligible
  5245. domains. When the number of eligible domains with matching
  5246. topology keys is less than minDomains, Pod Topology Spread
  5247. treats \"global minimum\" as 0, and then the calculation
  5248. of Skew is performed. And when the number of eligible
  5249. domains with matching topology keys equals or greater
  5250. than minDomains, this value has no effect on scheduling.
  5251. As a result, when the number of eligible domains is less
  5252. than minDomains, scheduler won't schedule more than maxSkew
  5253. Pods to those domains. If value is nil, the constraint
  5254. behaves as if MinDomains is equal to 1. Valid values are
  5255. integers greater than 0. When value is not nil, WhenUnsatisfiable
  5256. must be DoNotSchedule. \n For example, in a 3-zone cluster,
  5257. MaxSkew is set to 2, MinDomains is set to 5 and pods with
  5258. the same labelSelector spread as 2/2/2: | zone1 | zone2
  5259. | zone3 | | P P | P P | P P | The number of domains
  5260. is less than 5(MinDomains), so \"global minimum\" is treated
  5261. as 0. In this situation, new pod with the same labelSelector
  5262. cannot be scheduled, because computed skew will be 3(3
  5263. - 0) if new Pod is scheduled to any of the three zones,
  5264. it will violate MaxSkew. \n This is an alpha field and
  5265. requires enabling MinDomainsInPodTopologySpread feature
  5266. gate."
  5267. format: int32
  5268. type: integer
  5269. topologyKey:
  5270. description: TopologyKey is the key of node labels. Nodes
  5271. that have a label with this key and identical values are
  5272. considered to be in the same topology. We consider each
  5273. <key, value> as a "bucket", and try to put balanced number
  5274. of pods into each bucket. We define a domain as a particular
  5275. instance of a topology. Also, we define an eligible domain
  5276. as a domain whose nodes match the node selector. e.g.
  5277. If TopologyKey is "kubernetes.io/hostname", each Node
  5278. is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone",
  5279. each zone is a domain of that topology. It's a required
  5280. field.
  5281. type: string
  5282. whenUnsatisfiable:
  5283. description: 'WhenUnsatisfiable indicates how to deal with
  5284. a pod if it doesn''t satisfy the spread constraint. -
  5285. DoNotSchedule (default) tells the scheduler not to schedule
  5286. it. - ScheduleAnyway tells the scheduler to schedule the
  5287. pod in any location, but giving higher precedence to topologies
  5288. that would help reduce the skew. A constraint is considered
  5289. "Unsatisfiable" for an incoming pod if and only if every
  5290. possible node assignment for that pod would violate "MaxSkew"
  5291. on some topology. For example, in a 3-zone cluster, MaxSkew
  5292. is set to 1, and pods with the same labelSelector spread
  5293. as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
  5294. If WhenUnsatisfiable is set to DoNotSchedule, incoming
  5295. pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
  5296. as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1).
  5297. In other words, the cluster can still be imbalanced, but
  5298. scheduler won''t make it *more* imbalanced. It''s a required
  5299. field.'
  5300. type: string
  5301. required:
  5302. - maxSkew
  5303. - topologyKey
  5304. - whenUnsatisfiable
  5305. type: object
  5306. type: array
  5307. x-kubernetes-list-map-keys:
  5308. - topologyKey
  5309. - whenUnsatisfiable
  5310. x-kubernetes-list-type: map
  5311. volumes:
  5312. description: 'List of volumes that can be mounted by containers
  5313. belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  5314. items:
  5315. description: Volume represents a named volume in a pod that
  5316. may be accessed by any container in the pod.
  5317. properties:
  5318. awsElasticBlockStore:
  5319. description: 'awsElasticBlockStore represents an AWS Disk
  5320. resource that is attached to a kubelet''s host machine
  5321. and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  5322. properties:
  5323. fsType:
  5324. description: 'fsType is the filesystem type of the volume
  5325. that you want to mount. Tip: Ensure that the filesystem
  5326. type is supported by the host operating system. Examples:
  5327. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  5328. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  5329. TODO: how do we prevent errors in the filesystem from
  5330. compromising the machine'
  5331. type: string
  5332. partition:
  5333. description: 'partition is the partition in the volume
  5334. that you want to mount. If omitted, the default is
  5335. to mount by volume name. Examples: For volume /dev/sda1,
  5336. you specify the partition as "1". Similarly, the volume
  5337. partition for /dev/sda is "0" (or you can leave the
  5338. property empty).'
  5339. format: int32
  5340. type: integer
  5341. readOnly:
  5342. description: 'readOnly value true will force the readOnly
  5343. setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  5344. type: boolean
  5345. volumeID:
  5346. description: 'volumeID is unique ID of the persistent
  5347. disk resource in AWS (Amazon EBS volume). More info:
  5348. https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  5349. type: string
  5350. required:
  5351. - volumeID
  5352. type: object
  5353. azureDisk:
  5354. description: azureDisk represents an Azure Data Disk mount
  5355. on the host and bind mount to the pod.
  5356. properties:
  5357. cachingMode:
  5358. description: 'cachingMode is the Host Caching mode:
  5359. None, Read Only, Read Write.'
  5360. type: string
  5361. diskName:
  5362. description: diskName is the Name of the data disk in
  5363. the blob storage
  5364. type: string
  5365. diskURI:
  5366. description: diskURI is the URI of data disk in the
  5367. blob storage
  5368. type: string
  5369. fsType:
  5370. description: fsType is Filesystem type to mount. Must
  5371. be a filesystem type supported by the host operating
  5372. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  5373. to be "ext4" if unspecified.
  5374. type: string
  5375. kind:
  5376. description: 'kind expected values are Shared: multiple
  5377. blob disks per storage account Dedicated: single
  5378. blob disk per storage account Managed: azure managed
  5379. data disk (only in managed availability set). defaults
  5380. to shared'
  5381. type: string
  5382. readOnly:
  5383. description: readOnly Defaults to false (read/write).
  5384. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  5385. type: boolean
  5386. required:
  5387. - diskName
  5388. - diskURI
  5389. type: object
  5390. azureFile:
  5391. description: azureFile represents an Azure File Service
  5392. mount on the host and bind mount to the pod.
  5393. properties:
  5394. readOnly:
  5395. description: readOnly defaults to false (read/write).
  5396. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  5397. type: boolean
  5398. secretName:
  5399. description: secretName is the name of secret that
  5400. contains Azure Storage Account Name and Key
  5401. type: string
  5402. shareName:
  5403. description: shareName is the azure share Name
  5404. type: string
  5405. required:
  5406. - secretName
  5407. - shareName
  5408. type: object
  5409. cephfs:
  5410. description: cephFS represents a Ceph FS mount on the host
  5411. that shares a pod's lifetime
  5412. properties:
  5413. monitors:
  5414. description: 'monitors is Required: Monitors is a collection
  5415. of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5416. items:
  5417. type: string
  5418. type: array
  5419. path:
  5420. description: 'path is Optional: Used as the mounted
  5421. root, rather than the full Ceph tree, default is /'
  5422. type: string
  5423. readOnly:
  5424. description: 'readOnly is Optional: Defaults to false
  5425. (read/write). ReadOnly here will force the ReadOnly
  5426. setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5427. type: boolean
  5428. secretFile:
  5429. description: 'secretFile is Optional: SecretFile is
  5430. the path to key ring for User, default is /etc/ceph/user.secret
  5431. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5432. type: string
  5433. secretRef:
  5434. description: 'secretRef is Optional: SecretRef is reference
  5435. to the authentication secret for User, default is
  5436. empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5437. properties:
  5438. name:
  5439. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5440. TODO: Add other useful fields. apiVersion, kind,
  5441. uid?'
  5442. type: string
  5443. type: object
  5444. x-kubernetes-map-type: atomic
  5445. user:
  5446. description: 'user is optional: User is the rados user
  5447. name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  5448. type: string
  5449. required:
  5450. - monitors
  5451. type: object
  5452. cinder:
  5453. description: 'cinder represents a cinder volume attached
  5454. and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5455. properties:
  5456. fsType:
  5457. description: 'fsType is the filesystem type to mount.
  5458. Must be a filesystem type supported by the host operating
  5459. system. Examples: "ext4", "xfs", "ntfs". Implicitly
  5460. inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5461. type: string
  5462. readOnly:
  5463. description: 'readOnly defaults to false (read/write).
  5464. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  5465. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5466. type: boolean
  5467. secretRef:
  5468. description: 'secretRef is optional: points to a secret
  5469. object containing parameters used to connect to OpenStack.'
  5470. properties:
  5471. name:
  5472. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5473. TODO: Add other useful fields. apiVersion, kind,
  5474. uid?'
  5475. type: string
  5476. type: object
  5477. x-kubernetes-map-type: atomic
  5478. volumeID:
  5479. description: 'volumeID used to identify the volume in
  5480. cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  5481. type: string
  5482. required:
  5483. - volumeID
  5484. type: object
  5485. configMap:
  5486. description: configMap represents a configMap that should
  5487. populate this volume
  5488. properties:
  5489. defaultMode:
  5490. description: 'defaultMode is optional: mode bits used
  5491. to set permissions on created files by default. Must
  5492. be an octal value between 0000 and 0777 or a decimal
  5493. value between 0 and 511. YAML accepts both octal and
  5494. decimal values, JSON requires decimal values for mode
  5495. bits. Defaults to 0644. Directories within the path
  5496. are not affected by this setting. This might be in
  5497. conflict with other options that affect the file mode,
  5498. like fsGroup, and the result can be other mode bits
  5499. set.'
  5500. format: int32
  5501. type: integer
  5502. items:
  5503. description: items if unspecified, each key-value pair
  5504. in the Data field of the referenced ConfigMap will
  5505. be projected into the volume as a file whose name
  5506. is the key and content is the value. If specified,
  5507. the listed keys will be projected into the specified
  5508. paths, and unlisted keys will not be present. If a
  5509. key is specified which is not present in the ConfigMap,
  5510. the volume setup will error unless it is marked optional.
  5511. Paths must be relative and may not contain the '..'
  5512. path or start with '..'.
  5513. items:
  5514. description: Maps a string key to a path within a
  5515. volume.
  5516. properties:
  5517. key:
  5518. description: key is the key to project.
  5519. type: string
  5520. mode:
  5521. description: 'mode is Optional: mode bits used
  5522. to set permissions on this file. Must be an
  5523. octal value between 0000 and 0777 or a decimal
  5524. value between 0 and 511. YAML accepts both octal
  5525. and decimal values, JSON requires decimal values
  5526. for mode bits. If not specified, the volume
  5527. defaultMode will be used. This might be in conflict
  5528. with other options that affect the file mode,
  5529. like fsGroup, and the result can be other mode
  5530. bits set.'
  5531. format: int32
  5532. type: integer
  5533. path:
  5534. description: path is the relative path of the
  5535. file to map the key to. May not be an absolute
  5536. path. May not contain the path element '..'.
  5537. May not start with the string '..'.
  5538. type: string
  5539. required:
  5540. - key
  5541. - path
  5542. type: object
  5543. type: array
  5544. name:
  5545. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5546. TODO: Add other useful fields. apiVersion, kind, uid?'
  5547. type: string
  5548. optional:
  5549. description: optional specify whether the ConfigMap
  5550. or its keys must be defined
  5551. type: boolean
  5552. type: object
  5553. x-kubernetes-map-type: atomic
  5554. csi:
  5555. description: csi (Container Storage Interface) represents
  5556. ephemeral storage that is handled by certain external
  5557. CSI drivers (Beta feature).
  5558. properties:
  5559. driver:
  5560. description: driver is the name of the CSI driver that
  5561. handles this volume. Consult with your admin for the
  5562. correct name as registered in the cluster.
  5563. type: string
  5564. fsType:
  5565. description: fsType to mount. Ex. "ext4", "xfs", "ntfs".
  5566. If not provided, the empty value is passed to the
  5567. associated CSI driver which will determine the default
  5568. filesystem to apply.
  5569. type: string
  5570. nodePublishSecretRef:
  5571. description: nodePublishSecretRef is a reference to
  5572. the secret object containing sensitive information
  5573. to pass to the CSI driver to complete the CSI NodePublishVolume
  5574. and NodeUnpublishVolume calls. This field is optional,
  5575. and may be empty if no secret is required. If the
  5576. secret object contains more than one secret, all secret
  5577. references are passed.
  5578. properties:
  5579. name:
  5580. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5581. TODO: Add other useful fields. apiVersion, kind,
  5582. uid?'
  5583. type: string
  5584. type: object
  5585. x-kubernetes-map-type: atomic
  5586. readOnly:
  5587. description: readOnly specifies a read-only configuration
  5588. for the volume. Defaults to false (read/write).
  5589. type: boolean
  5590. volumeAttributes:
  5591. additionalProperties:
  5592. type: string
  5593. description: volumeAttributes stores driver-specific
  5594. properties that are passed to the CSI driver. Consult
  5595. your driver's documentation for supported values.
  5596. type: object
  5597. required:
  5598. - driver
  5599. type: object
  5600. downwardAPI:
  5601. description: downwardAPI represents downward API about the
  5602. pod that should populate this volume
  5603. properties:
  5604. defaultMode:
  5605. description: 'Optional: mode bits to use on created
  5606. files by default. Must be a Optional: mode bits used
  5607. to set permissions on created files by default. Must
  5608. be an octal value between 0000 and 0777 or a decimal
  5609. value between 0 and 511. YAML accepts both octal and
  5610. decimal values, JSON requires decimal values for mode
  5611. bits. Defaults to 0644. Directories within the path
  5612. are not affected by this setting. This might be in
  5613. conflict with other options that affect the file mode,
  5614. like fsGroup, and the result can be other mode bits
  5615. set.'
  5616. format: int32
  5617. type: integer
  5618. items:
  5619. description: Items is a list of downward API volume
  5620. file
  5621. items:
  5622. description: DownwardAPIVolumeFile represents information
  5623. to create the file containing the pod field
  5624. properties:
  5625. fieldRef:
  5626. description: 'Required: Selects a field of the
  5627. pod: only annotations, labels, name and namespace
  5628. are supported.'
  5629. properties:
  5630. apiVersion:
  5631. description: Version of the schema the FieldPath
  5632. is written in terms of, defaults to "v1".
  5633. type: string
  5634. fieldPath:
  5635. description: Path of the field to select in
  5636. the specified API version.
  5637. type: string
  5638. required:
  5639. - fieldPath
  5640. type: object
  5641. x-kubernetes-map-type: atomic
  5642. mode:
  5643. description: 'Optional: mode bits used to set
  5644. permissions on this file, must be an octal value
  5645. between 0000 and 0777 or a decimal value between
  5646. 0 and 511. YAML accepts both octal and decimal
  5647. values, JSON requires decimal values for mode
  5648. bits. If not specified, the volume defaultMode
  5649. will be used. This might be in conflict with
  5650. other options that affect the file mode, like
  5651. fsGroup, and the result can be other mode bits
  5652. set.'
  5653. format: int32
  5654. type: integer
  5655. path:
  5656. description: 'Required: Path is the relative
  5657. path name of the file to be created. Must not
  5658. be absolute or contain the ''..'' path. Must
  5659. be utf-8 encoded. The first item of the relative
  5660. path must not start with ''..'''
  5661. type: string
  5662. resourceFieldRef:
  5663. description: 'Selects a resource of the container:
  5664. only resources limits and requests (limits.cpu,
  5665. limits.memory, requests.cpu and requests.memory)
  5666. are currently supported.'
  5667. properties:
  5668. containerName:
  5669. description: 'Container name: required for
  5670. volumes, optional for env vars'
  5671. type: string
  5672. divisor:
  5673. anyOf:
  5674. - type: integer
  5675. - type: string
  5676. description: Specifies the output format of
  5677. the exposed resources, defaults to "1"
  5678. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5679. x-kubernetes-int-or-string: true
  5680. resource:
  5681. description: 'Required: resource to select'
  5682. type: string
  5683. required:
  5684. - resource
  5685. type: object
  5686. x-kubernetes-map-type: atomic
  5687. required:
  5688. - path
  5689. type: object
  5690. type: array
  5691. type: object
  5692. emptyDir:
  5693. description: 'emptyDir represents a temporary directory
  5694. that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  5695. properties:
  5696. medium:
  5697. description: 'medium represents what type of storage
  5698. medium should back this directory. The default is
  5699. "" which means to use the node''s default medium.
  5700. Must be an empty string (default) or Memory. More
  5701. info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  5702. type: string
  5703. sizeLimit:
  5704. anyOf:
  5705. - type: integer
  5706. - type: string
  5707. description: 'sizeLimit is the total amount of local
  5708. storage required for this EmptyDir volume. The size
  5709. limit is also applicable for memory medium. The maximum
  5710. usage on memory medium EmptyDir would be the minimum
  5711. value between the SizeLimit specified here and the
  5712. sum of memory limits of all containers in a pod. The
  5713. default is nil which means that the limit is undefined.
  5714. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  5715. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5716. x-kubernetes-int-or-string: true
  5717. type: object
  5718. ephemeral:
  5719. description: "ephemeral represents a volume that is handled
  5720. by a cluster storage driver. The volume's lifecycle is
  5721. tied to the pod that defines it - it will be created before
  5722. the pod starts, and deleted when the pod is removed. \n
  5723. Use this if: a) the volume is only needed while the pod
  5724. runs, b) features of normal volumes like restoring from
  5725. snapshot or capacity tracking are needed, c) the storage
  5726. driver is specified through a storage class, and d) the
  5727. storage driver supports dynamic volume provisioning through
  5728. a PersistentVolumeClaim (see EphemeralVolumeSource for
  5729. more information on the connection between this volume
  5730. type and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  5731. or one of the vendor-specific APIs for volumes that persist
  5732. for longer than the lifecycle of an individual pod. \n
  5733. Use CSI for light-weight local ephemeral volumes if the
  5734. CSI driver is meant to be used that way - see the documentation
  5735. of the driver for more information. \n A pod can use both
  5736. types of ephemeral volumes and persistent volumes at the
  5737. same time."
  5738. properties:
  5739. volumeClaimTemplate:
  5740. description: "Will be used to create a stand-alone PVC
  5741. to provision the volume. The pod in which this EphemeralVolumeSource
  5742. is embedded will be the owner of the PVC, i.e. the
  5743. PVC will be deleted together with the pod. The name
  5744. of the PVC will be `<pod name>-<volume name>` where
  5745. `<volume name>` is the name from the `PodSpec.Volumes`
  5746. array entry. Pod validation will reject the pod if
  5747. the concatenated name is not valid for a PVC (for
  5748. example, too long). \n An existing PVC with that name
  5749. that is not owned by the pod will *not* be used for
  5750. the pod to avoid using an unrelated volume by mistake.
  5751. Starting the pod is then blocked until the unrelated
  5752. PVC is removed. If such a pre-created PVC is meant
  5753. to be used by the pod, the PVC has to updated with
  5754. an owner reference to the pod once the pod exists.
  5755. Normally this should not be necessary, but it may
  5756. be useful when manually reconstructing a broken cluster.
  5757. \n This field is read-only and no changes will be
  5758. made by Kubernetes to the PVC after it has been created.
  5759. \n Required, must not be nil."
  5760. properties:
  5761. metadata:
  5762. description: May contain labels and annotations
  5763. that will be copied into the PVC when creating
  5764. it. No other fields are allowed and will be rejected
  5765. during validation.
  5766. type: object
  5767. spec:
  5768. description: The specification for the PersistentVolumeClaim.
  5769. The entire content is copied unchanged into the
  5770. PVC that gets created from this template. The
  5771. same fields as in a PersistentVolumeClaim are
  5772. also valid here.
  5773. properties:
  5774. accessModes:
  5775. description: 'accessModes contains the desired
  5776. access modes the volume should have. More
  5777. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  5778. items:
  5779. type: string
  5780. type: array
  5781. dataSource:
  5782. description: 'dataSource field can be used to
  5783. specify either: * An existing VolumeSnapshot
  5784. object (snapshot.storage.k8s.io/VolumeSnapshot)
  5785. * An existing PVC (PersistentVolumeClaim)
  5786. If the provisioner or an external controller
  5787. can support the specified data source, it
  5788. will create a new volume based on the contents
  5789. of the specified data source. If the AnyVolumeDataSource
  5790. feature gate is enabled, this field will always
  5791. have the same contents as the DataSourceRef
  5792. field.'
  5793. properties:
  5794. apiGroup:
  5795. description: APIGroup is the group for the
  5796. resource being referenced. If APIGroup
  5797. is not specified, the specified Kind must
  5798. be in the core API group. For any other
  5799. third-party types, APIGroup is required.
  5800. type: string
  5801. kind:
  5802. description: Kind is the type of resource
  5803. being referenced
  5804. type: string
  5805. name:
  5806. description: Name is the name of resource
  5807. being referenced
  5808. type: string
  5809. required:
  5810. - kind
  5811. - name
  5812. type: object
  5813. x-kubernetes-map-type: atomic
  5814. dataSourceRef:
  5815. description: 'dataSourceRef specifies the object
  5816. from which to populate the volume with data,
  5817. if a non-empty volume is desired. This may
  5818. be any local object from a non-empty API group
  5819. (non core object) or a PersistentVolumeClaim
  5820. object. When this field is specified, volume
  5821. binding will only succeed if the type of the
  5822. specified object matches some installed volume
  5823. populator or dynamic provisioner. This field
  5824. will replace the functionality of the DataSource
  5825. field and as such if both fields are non-empty,
  5826. they must have the same value. For backwards
  5827. compatibility, both fields (DataSource and
  5828. DataSourceRef) will be set to the same value
  5829. automatically if one of them is empty and
  5830. the other is non-empty. There are two important
  5831. differences between DataSource and DataSourceRef:
  5832. * While DataSource only allows two specific
  5833. types of objects, DataSourceRef allows any
  5834. non-core object, as well as PersistentVolumeClaim
  5835. objects. * While DataSource ignores disallowed
  5836. values (dropping them), DataSourceRef preserves
  5837. all values, and generates an error if a disallowed
  5838. value is specified. (Beta) Using this field
  5839. requires the AnyVolumeDataSource feature gate
  5840. to be enabled.'
  5841. properties:
  5842. apiGroup:
  5843. description: APIGroup is the group for the
  5844. resource being referenced. If APIGroup
  5845. is not specified, the specified Kind must
  5846. be in the core API group. For any other
  5847. third-party types, APIGroup is required.
  5848. type: string
  5849. kind:
  5850. description: Kind is the type of resource
  5851. being referenced
  5852. type: string
  5853. name:
  5854. description: Name is the name of resource
  5855. being referenced
  5856. type: string
  5857. required:
  5858. - kind
  5859. - name
  5860. type: object
  5861. x-kubernetes-map-type: atomic
  5862. resources:
  5863. description: 'resources represents the minimum
  5864. resources the volume should have. If RecoverVolumeExpansionFailure
  5865. feature is enabled users are allowed to specify
  5866. resource requirements that are lower than
  5867. previous value but must still be higher than
  5868. capacity recorded in the status field of the
  5869. claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  5870. properties:
  5871. limits:
  5872. additionalProperties:
  5873. anyOf:
  5874. - type: integer
  5875. - type: string
  5876. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5877. x-kubernetes-int-or-string: true
  5878. description: 'Limits describes the maximum
  5879. amount of compute resources allowed. More
  5880. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5881. type: object
  5882. requests:
  5883. additionalProperties:
  5884. anyOf:
  5885. - type: integer
  5886. - type: string
  5887. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5888. x-kubernetes-int-or-string: true
  5889. description: 'Requests describes the minimum
  5890. amount of compute resources required.
  5891. If Requests is omitted for a container,
  5892. it defaults to Limits if that is explicitly
  5893. specified, otherwise to an implementation-defined
  5894. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5895. type: object
  5896. type: object
  5897. selector:
  5898. description: selector is a label query over
  5899. volumes to consider for binding.
  5900. properties:
  5901. matchExpressions:
  5902. description: matchExpressions is a list
  5903. of label selector requirements. The requirements
  5904. are ANDed.
  5905. items:
  5906. description: A label selector requirement
  5907. is a selector that contains values,
  5908. a key, and an operator that relates
  5909. the key and values.
  5910. properties:
  5911. key:
  5912. description: key is the label key
  5913. that the selector applies to.
  5914. type: string
  5915. operator:
  5916. description: operator represents a
  5917. key's relationship to a set of values.
  5918. Valid operators are In, NotIn, Exists
  5919. and DoesNotExist.
  5920. type: string
  5921. values:
  5922. description: values is an array of
  5923. string values. If the operator is
  5924. In or NotIn, the values array must
  5925. be non-empty. If the operator is
  5926. Exists or DoesNotExist, the values
  5927. array must be empty. This array
  5928. is replaced during a strategic merge
  5929. patch.
  5930. items:
  5931. type: string
  5932. type: array
  5933. required:
  5934. - key
  5935. - operator
  5936. type: object
  5937. type: array
  5938. matchLabels:
  5939. additionalProperties:
  5940. type: string
  5941. description: matchLabels is a map of {key,value}
  5942. pairs. A single {key,value} in the matchLabels
  5943. map is equivalent to an element of matchExpressions,
  5944. whose key field is "key", the operator
  5945. is "In", and the values array contains
  5946. only "value". The requirements are ANDed.
  5947. type: object
  5948. type: object
  5949. x-kubernetes-map-type: atomic
  5950. storageClassName:
  5951. description: 'storageClassName is the name of
  5952. the StorageClass required by the claim. More
  5953. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  5954. type: string
  5955. volumeMode:
  5956. description: volumeMode defines what type of
  5957. volume is required by the claim. Value of
  5958. Filesystem is implied when not included in
  5959. claim spec.
  5960. type: string
  5961. volumeName:
  5962. description: volumeName is the binding reference
  5963. to the PersistentVolume backing this claim.
  5964. type: string
  5965. type: object
  5966. required:
  5967. - spec
  5968. type: object
  5969. type: object
  5970. fc:
  5971. description: fc represents a Fibre Channel resource that
  5972. is attached to a kubelet's host machine and then exposed
  5973. to the pod.
  5974. properties:
  5975. fsType:
  5976. description: 'fsType is the filesystem type to mount.
  5977. Must be a filesystem type supported by the host operating
  5978. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  5979. to be "ext4" if unspecified. TODO: how do we prevent
  5980. errors in the filesystem from compromising the machine'
  5981. type: string
  5982. lun:
  5983. description: 'lun is Optional: FC target lun number'
  5984. format: int32
  5985. type: integer
  5986. readOnly:
  5987. description: 'readOnly is Optional: Defaults to false
  5988. (read/write). ReadOnly here will force the ReadOnly
  5989. setting in VolumeMounts.'
  5990. type: boolean
  5991. targetWWNs:
  5992. description: 'targetWWNs is Optional: FC target worldwide
  5993. names (WWNs)'
  5994. items:
  5995. type: string
  5996. type: array
  5997. wwids:
  5998. description: 'wwids Optional: FC volume world wide identifiers
  5999. (wwids) Either wwids or combination of targetWWNs
  6000. and lun must be set, but not both simultaneously.'
  6001. items:
  6002. type: string
  6003. type: array
  6004. type: object
  6005. flexVolume:
  6006. description: flexVolume represents a generic volume resource
  6007. that is provisioned/attached using an exec based plugin.
  6008. properties:
  6009. driver:
  6010. description: driver is the name of the driver to use
  6011. for this volume.
  6012. type: string
  6013. fsType:
  6014. description: fsType is the filesystem type to mount.
  6015. Must be a filesystem type supported by the host operating
  6016. system. Ex. "ext4", "xfs", "ntfs". The default filesystem
  6017. depends on FlexVolume script.
  6018. type: string
  6019. options:
  6020. additionalProperties:
  6021. type: string
  6022. description: 'options is Optional: this field holds
  6023. extra command options if any.'
  6024. type: object
  6025. readOnly:
  6026. description: 'readOnly is Optional: defaults to false
  6027. (read/write). ReadOnly here will force the ReadOnly
  6028. setting in VolumeMounts.'
  6029. type: boolean
  6030. secretRef:
  6031. description: 'secretRef is Optional: secretRef is reference
  6032. to the secret object containing sensitive information
  6033. to pass to the plugin scripts. This may be empty if
  6034. no secret object is specified. If the secret object
  6035. contains more than one secret, all secrets are passed
  6036. to the plugin scripts.'
  6037. properties:
  6038. name:
  6039. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6040. TODO: Add other useful fields. apiVersion, kind,
  6041. uid?'
  6042. type: string
  6043. type: object
  6044. x-kubernetes-map-type: atomic
  6045. required:
  6046. - driver
  6047. type: object
  6048. flocker:
  6049. description: flocker represents a Flocker volume attached
  6050. to a kubelet's host machine. This depends on the Flocker
  6051. control service being running
  6052. properties:
  6053. datasetName:
  6054. description: datasetName is Name of the dataset stored
  6055. as metadata -> name on the dataset for Flocker should
  6056. be considered as deprecated
  6057. type: string
  6058. datasetUUID:
  6059. description: datasetUUID is the UUID of the dataset.
  6060. This is unique identifier of a Flocker dataset
  6061. type: string
  6062. type: object
  6063. gcePersistentDisk:
  6064. description: 'gcePersistentDisk represents a GCE Disk resource
  6065. that is attached to a kubelet''s host machine and then
  6066. exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6067. properties:
  6068. fsType:
  6069. description: 'fsType is filesystem type of the volume
  6070. that you want to mount. Tip: Ensure that the filesystem
  6071. type is supported by the host operating system. Examples:
  6072. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  6073. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  6074. TODO: how do we prevent errors in the filesystem from
  6075. compromising the machine'
  6076. type: string
  6077. partition:
  6078. description: 'partition is the partition in the volume
  6079. that you want to mount. If omitted, the default is
  6080. to mount by volume name. Examples: For volume /dev/sda1,
  6081. you specify the partition as "1". Similarly, the volume
  6082. partition for /dev/sda is "0" (or you can leave the
  6083. property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6084. format: int32
  6085. type: integer
  6086. pdName:
  6087. description: 'pdName is unique name of the PD resource
  6088. in GCE. Used to identify the disk in GCE. More info:
  6089. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6090. type: string
  6091. readOnly:
  6092. description: 'readOnly here will force the ReadOnly
  6093. setting in VolumeMounts. Defaults to false. More info:
  6094. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  6095. type: boolean
  6096. required:
  6097. - pdName
  6098. type: object
  6099. gitRepo:
  6100. description: 'gitRepo represents a git repository at a particular
  6101. revision. DEPRECATED: GitRepo is deprecated. To provision
  6102. a container with a git repo, mount an EmptyDir into an
  6103. InitContainer that clones the repo using git, then mount
  6104. the EmptyDir into the Pod''s container.'
  6105. properties:
  6106. directory:
  6107. description: directory is the target directory name.
  6108. Must not contain or start with '..'. If '.' is supplied,
  6109. the volume directory will be the git repository. Otherwise,
  6110. if specified, the volume will contain the git repository
  6111. in the subdirectory with the given name.
  6112. type: string
  6113. repository:
  6114. description: repository is the URL
  6115. type: string
  6116. revision:
  6117. description: revision is the commit hash for the specified
  6118. revision.
  6119. type: string
  6120. required:
  6121. - repository
  6122. type: object
  6123. glusterfs:
  6124. description: 'glusterfs represents a Glusterfs mount on
  6125. the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  6126. properties:
  6127. endpoints:
  6128. description: 'endpoints is the endpoint name that details
  6129. Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  6130. type: string
  6131. path:
  6132. description: 'path is the Glusterfs volume path. More
  6133. info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  6134. type: string
  6135. readOnly:
  6136. description: 'readOnly here will force the Glusterfs
  6137. volume to be mounted with read-only permissions. Defaults
  6138. to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  6139. type: boolean
  6140. required:
  6141. - endpoints
  6142. - path
  6143. type: object
  6144. hostPath:
  6145. description: 'hostPath represents a pre-existing file or
  6146. directory on the host machine that is directly exposed
  6147. to the container. This is generally used for system agents
  6148. or other privileged things that are allowed to see the
  6149. host machine. Most containers will NOT need this. More
  6150. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  6151. --- TODO(jonesdl) We need to restrict who can use host
  6152. directory mounts and who can/can not mount host directories
  6153. as read/write.'
  6154. properties:
  6155. path:
  6156. description: 'path of the directory on the host. If
  6157. the path is a symlink, it will follow the link to
  6158. the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  6159. type: string
  6160. type:
  6161. description: 'type for HostPath Volume Defaults to ""
  6162. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  6163. type: string
  6164. required:
  6165. - path
  6166. type: object
  6167. iscsi:
  6168. description: 'iscsi represents an ISCSI Disk resource that
  6169. is attached to a kubelet''s host machine and then exposed
  6170. to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  6171. properties:
  6172. chapAuthDiscovery:
  6173. description: chapAuthDiscovery defines whether support
  6174. iSCSI Discovery CHAP authentication
  6175. type: boolean
  6176. chapAuthSession:
  6177. description: chapAuthSession defines whether support
  6178. iSCSI Session CHAP authentication
  6179. type: boolean
  6180. fsType:
  6181. description: 'fsType is the filesystem type of the volume
  6182. that you want to mount. Tip: Ensure that the filesystem
  6183. type is supported by the host operating system. Examples:
  6184. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  6185. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  6186. TODO: how do we prevent errors in the filesystem from
  6187. compromising the machine'
  6188. type: string
  6189. initiatorName:
  6190. description: initiatorName is the custom iSCSI Initiator
  6191. Name. If initiatorName is specified with iscsiInterface
  6192. simultaneously, new iSCSI interface <target portal>:<volume
  6193. name> will be created for the connection.
  6194. type: string
  6195. iqn:
  6196. description: iqn is the target iSCSI Qualified Name.
  6197. type: string
  6198. iscsiInterface:
  6199. description: iscsiInterface is the interface Name that
  6200. uses an iSCSI transport. Defaults to 'default' (tcp).
  6201. type: string
  6202. lun:
  6203. description: lun represents iSCSI Target Lun number.
  6204. format: int32
  6205. type: integer
  6206. portals:
  6207. description: portals is the iSCSI Target Portal List.
  6208. The portal is either an IP or ip_addr:port if the
  6209. port is other than default (typically TCP ports 860
  6210. and 3260).
  6211. items:
  6212. type: string
  6213. type: array
  6214. readOnly:
  6215. description: readOnly here will force the ReadOnly setting
  6216. in VolumeMounts. Defaults to false.
  6217. type: boolean
  6218. secretRef:
  6219. description: secretRef is the CHAP Secret for iSCSI
  6220. target and initiator authentication
  6221. properties:
  6222. name:
  6223. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6224. TODO: Add other useful fields. apiVersion, kind,
  6225. uid?'
  6226. type: string
  6227. type: object
  6228. x-kubernetes-map-type: atomic
  6229. targetPortal:
  6230. description: targetPortal is iSCSI Target Portal. The
  6231. Portal is either an IP or ip_addr:port if the port
  6232. is other than default (typically TCP ports 860 and
  6233. 3260).
  6234. type: string
  6235. required:
  6236. - iqn
  6237. - lun
  6238. - targetPortal
  6239. type: object
  6240. name:
  6241. description: 'name of the volume. Must be a DNS_LABEL and
  6242. unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6243. type: string
  6244. nfs:
  6245. description: 'nfs represents an NFS mount on the host that
  6246. shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6247. properties:
  6248. path:
  6249. description: 'path that is exported by the NFS server.
  6250. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6251. type: string
  6252. readOnly:
  6253. description: 'readOnly here will force the NFS export
  6254. to be mounted with read-only permissions. Defaults
  6255. to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6256. type: boolean
  6257. server:
  6258. description: 'server is the hostname or IP address of
  6259. the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  6260. type: string
  6261. required:
  6262. - path
  6263. - server
  6264. type: object
  6265. persistentVolumeClaim:
  6266. description: 'persistentVolumeClaimVolumeSource represents
  6267. a reference to a PersistentVolumeClaim in the same namespace.
  6268. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  6269. properties:
  6270. claimName:
  6271. description: 'claimName is the name of a PersistentVolumeClaim
  6272. in the same namespace as the pod using this volume.
  6273. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  6274. type: string
  6275. readOnly:
  6276. description: readOnly Will force the ReadOnly setting
  6277. in VolumeMounts. Default false.
  6278. type: boolean
  6279. required:
  6280. - claimName
  6281. type: object
  6282. photonPersistentDisk:
  6283. description: photonPersistentDisk represents a PhotonController
  6284. persistent disk attached and mounted on kubelets host
  6285. machine
  6286. properties:
  6287. fsType:
  6288. description: fsType is the filesystem type to mount.
  6289. Must be a filesystem type supported by the host operating
  6290. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  6291. to be "ext4" if unspecified.
  6292. type: string
  6293. pdID:
  6294. description: pdID is the ID that identifies Photon Controller
  6295. persistent disk
  6296. type: string
  6297. required:
  6298. - pdID
  6299. type: object
  6300. portworxVolume:
  6301. description: portworxVolume represents a portworx volume
  6302. attached and mounted on kubelets host machine
  6303. properties:
  6304. fsType:
  6305. description: fSType represents the filesystem type to
  6306. mount Must be a filesystem type supported by the host
  6307. operating system. Ex. "ext4", "xfs". Implicitly inferred
  6308. to be "ext4" if unspecified.
  6309. type: string
  6310. readOnly:
  6311. description: readOnly defaults to false (read/write).
  6312. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  6313. type: boolean
  6314. volumeID:
  6315. description: volumeID uniquely identifies a Portworx
  6316. volume
  6317. type: string
  6318. required:
  6319. - volumeID
  6320. type: object
  6321. projected:
  6322. description: projected items for all in one resources secrets,
  6323. configmaps, and downward API
  6324. properties:
  6325. defaultMode:
  6326. description: defaultMode are the mode bits used to set
  6327. permissions on created files by default. Must be an
  6328. octal value between 0000 and 0777 or a decimal value
  6329. between 0 and 511. YAML accepts both octal and decimal
  6330. values, JSON requires decimal values for mode bits.
  6331. Directories within the path are not affected by this
  6332. setting. This might be in conflict with other options
  6333. that affect the file mode, like fsGroup, and the result
  6334. can be other mode bits set.
  6335. format: int32
  6336. type: integer
  6337. sources:
  6338. description: sources is the list of volume projections
  6339. items:
  6340. description: Projection that may be projected along
  6341. with other supported volume types
  6342. properties:
  6343. configMap:
  6344. description: configMap information about the configMap
  6345. data to project
  6346. properties:
  6347. items:
  6348. description: items if unspecified, each key-value
  6349. pair in the Data field of the referenced
  6350. ConfigMap will be projected into the volume
  6351. as a file whose name is the key and content
  6352. is the value. If specified, the listed keys
  6353. will be projected into the specified paths,
  6354. and unlisted keys will not be present. If
  6355. a key is specified which is not present
  6356. in the ConfigMap, the volume setup will
  6357. error unless it is marked optional. Paths
  6358. must be relative and may not contain the
  6359. '..' path or start with '..'.
  6360. items:
  6361. description: Maps a string key to a path
  6362. within a volume.
  6363. properties:
  6364. key:
  6365. description: key is the key to project.
  6366. type: string
  6367. mode:
  6368. description: 'mode is Optional: mode
  6369. bits used to set permissions on this
  6370. file. Must be an octal value between
  6371. 0000 and 0777 or a decimal value between
  6372. 0 and 511. YAML accepts both octal
  6373. and decimal values, JSON requires
  6374. decimal values for mode bits. If not
  6375. specified, the volume defaultMode
  6376. will be used. This might be in conflict
  6377. with other options that affect the
  6378. file mode, like fsGroup, and the result
  6379. can be other mode bits set.'
  6380. format: int32
  6381. type: integer
  6382. path:
  6383. description: path is the relative path
  6384. of the file to map the key to. May
  6385. not be an absolute path. May not contain
  6386. the path element '..'. May not start
  6387. with the string '..'.
  6388. type: string
  6389. required:
  6390. - key
  6391. - path
  6392. type: object
  6393. type: array
  6394. name:
  6395. description: 'Name of the referent. More info:
  6396. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6397. TODO: Add other useful fields. apiVersion,
  6398. kind, uid?'
  6399. type: string
  6400. optional:
  6401. description: optional specify whether the
  6402. ConfigMap or its keys must be defined
  6403. type: boolean
  6404. type: object
  6405. x-kubernetes-map-type: atomic
  6406. downwardAPI:
  6407. description: downwardAPI information about the
  6408. downwardAPI data to project
  6409. properties:
  6410. items:
  6411. description: Items is a list of DownwardAPIVolume
  6412. file
  6413. items:
  6414. description: DownwardAPIVolumeFile represents
  6415. information to create the file containing
  6416. the pod field
  6417. properties:
  6418. fieldRef:
  6419. description: 'Required: Selects a field
  6420. of the pod: only annotations, labels,
  6421. name and namespace are supported.'
  6422. properties:
  6423. apiVersion:
  6424. description: Version of the schema
  6425. the FieldPath is written in terms
  6426. of, defaults to "v1".
  6427. type: string
  6428. fieldPath:
  6429. description: Path of the field to
  6430. select in the specified API version.
  6431. type: string
  6432. required:
  6433. - fieldPath
  6434. type: object
  6435. x-kubernetes-map-type: atomic
  6436. mode:
  6437. description: 'Optional: mode bits used
  6438. to set permissions on this file, must
  6439. be an octal value between 0000 and
  6440. 0777 or a decimal value between 0
  6441. and 511. YAML accepts both octal and
  6442. decimal values, JSON requires decimal
  6443. values for mode bits. If not specified,
  6444. the volume defaultMode will be used.
  6445. This might be in conflict with other
  6446. options that affect the file mode,
  6447. like fsGroup, and the result can be
  6448. other mode bits set.'
  6449. format: int32
  6450. type: integer
  6451. path:
  6452. description: 'Required: Path is the
  6453. relative path name of the file to
  6454. be created. Must not be absolute or
  6455. contain the ''..'' path. Must be utf-8
  6456. encoded. The first item of the relative
  6457. path must not start with ''..'''
  6458. type: string
  6459. resourceFieldRef:
  6460. description: 'Selects a resource of
  6461. the container: only resources limits
  6462. and requests (limits.cpu, limits.memory,
  6463. requests.cpu and requests.memory)
  6464. are currently supported.'
  6465. properties:
  6466. containerName:
  6467. description: 'Container name: required
  6468. for volumes, optional for env
  6469. vars'
  6470. type: string
  6471. divisor:
  6472. anyOf:
  6473. - type: integer
  6474. - type: string
  6475. description: Specifies the output
  6476. format of the exposed resources,
  6477. defaults to "1"
  6478. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6479. x-kubernetes-int-or-string: true
  6480. resource:
  6481. description: 'Required: resource
  6482. to select'
  6483. type: string
  6484. required:
  6485. - resource
  6486. type: object
  6487. x-kubernetes-map-type: atomic
  6488. required:
  6489. - path
  6490. type: object
  6491. type: array
  6492. type: object
  6493. secret:
  6494. description: secret information about the secret
  6495. data to project
  6496. properties:
  6497. items:
  6498. description: items if unspecified, each key-value
  6499. pair in the Data field of the referenced
  6500. Secret will be projected into the volume
  6501. as a file whose name is the key and content
  6502. is the value. If specified, the listed keys
  6503. will be projected into the specified paths,
  6504. and unlisted keys will not be present. If
  6505. a key is specified which is not present
  6506. in the Secret, the volume setup will error
  6507. unless it is marked optional. Paths must
  6508. be relative and may not contain the '..'
  6509. path or start with '..'.
  6510. items:
  6511. description: Maps a string key to a path
  6512. within a volume.
  6513. properties:
  6514. key:
  6515. description: key is the key to project.
  6516. type: string
  6517. mode:
  6518. description: 'mode is Optional: mode
  6519. bits used to set permissions on this
  6520. file. Must be an octal value between
  6521. 0000 and 0777 or a decimal value between
  6522. 0 and 511. YAML accepts both octal
  6523. and decimal values, JSON requires
  6524. decimal values for mode bits. If not
  6525. specified, the volume defaultMode
  6526. will be used. This might be in conflict
  6527. with other options that affect the
  6528. file mode, like fsGroup, and the result
  6529. can be other mode bits set.'
  6530. format: int32
  6531. type: integer
  6532. path:
  6533. description: path is the relative path
  6534. of the file to map the key to. May
  6535. not be an absolute path. May not contain
  6536. the path element '..'. May not start
  6537. with the string '..'.
  6538. type: string
  6539. required:
  6540. - key
  6541. - path
  6542. type: object
  6543. type: array
  6544. name:
  6545. description: 'Name of the referent. More info:
  6546. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6547. TODO: Add other useful fields. apiVersion,
  6548. kind, uid?'
  6549. type: string
  6550. optional:
  6551. description: optional field specify whether
  6552. the Secret or its key must be defined
  6553. type: boolean
  6554. type: object
  6555. x-kubernetes-map-type: atomic
  6556. serviceAccountToken:
  6557. description: serviceAccountToken is information
  6558. about the serviceAccountToken data to project
  6559. properties:
  6560. audience:
  6561. description: audience is the intended audience
  6562. of the token. A recipient of a token must
  6563. identify itself with an identifier specified
  6564. in the audience of the token, and otherwise
  6565. should reject the token. The audience defaults
  6566. to the identifier of the apiserver.
  6567. type: string
  6568. expirationSeconds:
  6569. description: expirationSeconds is the requested
  6570. duration of validity of the service account
  6571. token. As the token approaches expiration,
  6572. the kubelet volume plugin will proactively
  6573. rotate the service account token. The kubelet
  6574. will start trying to rotate the token if
  6575. the token is older than 80 percent of its
  6576. time to live or if the token is older than
  6577. 24 hours.Defaults to 1 hour and must be
  6578. at least 10 minutes.
  6579. format: int64
  6580. type: integer
  6581. path:
  6582. description: path is the path relative to
  6583. the mount point of the file to project the
  6584. token into.
  6585. type: string
  6586. required:
  6587. - path
  6588. type: object
  6589. type: object
  6590. type: array
  6591. type: object
  6592. quobyte:
  6593. description: quobyte represents a Quobyte mount on the host
  6594. that shares a pod's lifetime
  6595. properties:
  6596. group:
  6597. description: group to map volume access to Default is
  6598. no group
  6599. type: string
  6600. readOnly:
  6601. description: readOnly here will force the Quobyte volume
  6602. to be mounted with read-only permissions. Defaults
  6603. to false.
  6604. type: boolean
  6605. registry:
  6606. description: registry represents a single or multiple
  6607. Quobyte Registry services specified as a string as
  6608. host:port pair (multiple entries are separated with
  6609. commas) which acts as the central registry for volumes
  6610. type: string
  6611. tenant:
  6612. description: tenant owning the given Quobyte volume
  6613. in the Backend Used with dynamically provisioned Quobyte
  6614. volumes, value is set by the plugin
  6615. type: string
  6616. user:
  6617. description: user to map volume access to Defaults to
  6618. serivceaccount user
  6619. type: string
  6620. volume:
  6621. description: volume is a string that references an already
  6622. created Quobyte volume by name.
  6623. type: string
  6624. required:
  6625. - registry
  6626. - volume
  6627. type: object
  6628. rbd:
  6629. description: 'rbd represents a Rados Block Device mount
  6630. on the host that shares a pod''s lifetime. More info:
  6631. https://examples.k8s.io/volumes/rbd/README.md'
  6632. properties:
  6633. fsType:
  6634. description: 'fsType is the filesystem type of the volume
  6635. that you want to mount. Tip: Ensure that the filesystem
  6636. type is supported by the host operating system. Examples:
  6637. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  6638. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  6639. TODO: how do we prevent errors in the filesystem from
  6640. compromising the machine'
  6641. type: string
  6642. image:
  6643. description: 'image is the rados image name. More info:
  6644. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6645. type: string
  6646. keyring:
  6647. description: 'keyring is the path to key ring for RBDUser.
  6648. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6649. type: string
  6650. monitors:
  6651. description: 'monitors is a collection of Ceph monitors.
  6652. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6653. items:
  6654. type: string
  6655. type: array
  6656. pool:
  6657. description: 'pool is the rados pool name. Default is
  6658. rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6659. type: string
  6660. readOnly:
  6661. description: 'readOnly here will force the ReadOnly
  6662. setting in VolumeMounts. Defaults to false. More info:
  6663. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6664. type: boolean
  6665. secretRef:
  6666. description: 'secretRef is name of the authentication
  6667. secret for RBDUser. If provided overrides keyring.
  6668. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6669. properties:
  6670. name:
  6671. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6672. TODO: Add other useful fields. apiVersion, kind,
  6673. uid?'
  6674. type: string
  6675. type: object
  6676. x-kubernetes-map-type: atomic
  6677. user:
  6678. description: 'user is the rados user name. Default is
  6679. admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  6680. type: string
  6681. required:
  6682. - image
  6683. - monitors
  6684. type: object
  6685. scaleIO:
  6686. description: scaleIO represents a ScaleIO persistent volume
  6687. attached and mounted on Kubernetes nodes.
  6688. properties:
  6689. fsType:
  6690. description: fsType is the filesystem type to mount.
  6691. Must be a filesystem type supported by the host operating
  6692. system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  6693. type: string
  6694. gateway:
  6695. description: gateway is the host address of the ScaleIO
  6696. API Gateway.
  6697. type: string
  6698. protectionDomain:
  6699. description: protectionDomain is the name of the ScaleIO
  6700. Protection Domain for the configured storage.
  6701. type: string
  6702. readOnly:
  6703. description: readOnly Defaults to false (read/write).
  6704. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  6705. type: boolean
  6706. secretRef:
  6707. description: secretRef references to the secret for
  6708. ScaleIO user and other sensitive information. If this
  6709. is not provided, Login operation will fail.
  6710. properties:
  6711. name:
  6712. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6713. TODO: Add other useful fields. apiVersion, kind,
  6714. uid?'
  6715. type: string
  6716. type: object
  6717. x-kubernetes-map-type: atomic
  6718. sslEnabled:
  6719. description: sslEnabled Flag enable/disable SSL communication
  6720. with Gateway, default false
  6721. type: boolean
  6722. storageMode:
  6723. description: storageMode indicates whether the storage
  6724. for a volume should be ThickProvisioned or ThinProvisioned.
  6725. Default is ThinProvisioned.
  6726. type: string
  6727. storagePool:
  6728. description: storagePool is the ScaleIO Storage Pool
  6729. associated with the protection domain.
  6730. type: string
  6731. system:
  6732. description: system is the name of the storage system
  6733. as configured in ScaleIO.
  6734. type: string
  6735. volumeName:
  6736. description: volumeName is the name of a volume already
  6737. created in the ScaleIO system that is associated with
  6738. this volume source.
  6739. type: string
  6740. required:
  6741. - gateway
  6742. - secretRef
  6743. - system
  6744. type: object
  6745. secret:
  6746. description: 'secret represents a secret that should populate
  6747. this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  6748. properties:
  6749. defaultMode:
  6750. description: 'defaultMode is Optional: mode bits used
  6751. to set permissions on created files by default. Must
  6752. be an octal value between 0000 and 0777 or a decimal
  6753. value between 0 and 511. YAML accepts both octal and
  6754. decimal values, JSON requires decimal values for mode
  6755. bits. Defaults to 0644. Directories within the path
  6756. are not affected by this setting. This might be in
  6757. conflict with other options that affect the file mode,
  6758. like fsGroup, and the result can be other mode bits
  6759. set.'
  6760. format: int32
  6761. type: integer
  6762. items:
  6763. description: items If unspecified, each key-value pair
  6764. in the Data field of the referenced Secret will be
  6765. projected into the volume as a file whose name is
  6766. the key and content is the value. If specified, the
  6767. listed keys will be projected into the specified paths,
  6768. and unlisted keys will not be present. If a key is
  6769. specified which is not present in the Secret, the
  6770. volume setup will error unless it is marked optional.
  6771. Paths must be relative and may not contain the '..'
  6772. path or start with '..'.
  6773. items:
  6774. description: Maps a string key to a path within a
  6775. volume.
  6776. properties:
  6777. key:
  6778. description: key is the key to project.
  6779. type: string
  6780. mode:
  6781. description: 'mode is Optional: mode bits used
  6782. to set permissions on this file. Must be an
  6783. octal value between 0000 and 0777 or a decimal
  6784. value between 0 and 511. YAML accepts both octal
  6785. and decimal values, JSON requires decimal values
  6786. for mode bits. If not specified, the volume
  6787. defaultMode will be used. This might be in conflict
  6788. with other options that affect the file mode,
  6789. like fsGroup, and the result can be other mode
  6790. bits set.'
  6791. format: int32
  6792. type: integer
  6793. path:
  6794. description: path is the relative path of the
  6795. file to map the key to. May not be an absolute
  6796. path. May not contain the path element '..'.
  6797. May not start with the string '..'.
  6798. type: string
  6799. required:
  6800. - key
  6801. - path
  6802. type: object
  6803. type: array
  6804. optional:
  6805. description: optional field specify whether the Secret
  6806. or its keys must be defined
  6807. type: boolean
  6808. secretName:
  6809. description: 'secretName is the name of the secret in
  6810. the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  6811. type: string
  6812. type: object
  6813. storageos:
  6814. description: storageOS represents a StorageOS volume attached
  6815. and mounted on Kubernetes nodes.
  6816. properties:
  6817. fsType:
  6818. description: fsType is the filesystem type to mount.
  6819. Must be a filesystem type supported by the host operating
  6820. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  6821. to be "ext4" if unspecified.
  6822. type: string
  6823. readOnly:
  6824. description: readOnly defaults to false (read/write).
  6825. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  6826. type: boolean
  6827. secretRef:
  6828. description: secretRef specifies the secret to use for
  6829. obtaining the StorageOS API credentials. If not specified,
  6830. default values will be attempted.
  6831. properties:
  6832. name:
  6833. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6834. TODO: Add other useful fields. apiVersion, kind,
  6835. uid?'
  6836. type: string
  6837. type: object
  6838. x-kubernetes-map-type: atomic
  6839. volumeName:
  6840. description: volumeName is the human-readable name of
  6841. the StorageOS volume. Volume names are only unique
  6842. within a namespace.
  6843. type: string
  6844. volumeNamespace:
  6845. description: volumeNamespace specifies the scope of
  6846. the volume within StorageOS. If no namespace is specified
  6847. then the Pod's namespace will be used. This allows
  6848. the Kubernetes name scoping to be mirrored within
  6849. StorageOS for tighter integration. Set VolumeName
  6850. to any name to override the default behaviour. Set
  6851. to "default" if you are not using namespaces within
  6852. StorageOS. Namespaces that do not pre-exist within
  6853. StorageOS will be created.
  6854. type: string
  6855. type: object
  6856. vsphereVolume:
  6857. description: vsphereVolume represents a vSphere volume attached
  6858. and mounted on kubelets host machine
  6859. properties:
  6860. fsType:
  6861. description: fsType is filesystem type to mount. Must
  6862. be a filesystem type supported by the host operating
  6863. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  6864. to be "ext4" if unspecified.
  6865. type: string
  6866. storagePolicyID:
  6867. description: storagePolicyID is the storage Policy Based
  6868. Management (SPBM) profile ID associated with the StoragePolicyName.
  6869. type: string
  6870. storagePolicyName:
  6871. description: storagePolicyName is the storage Policy
  6872. Based Management (SPBM) profile name.
  6873. type: string
  6874. volumePath:
  6875. description: volumePath is the path that identifies
  6876. vSphere volume vmdk
  6877. type: string
  6878. required:
  6879. - volumePath
  6880. type: object
  6881. required:
  6882. - name
  6883. type: object
  6884. type: array
  6885. required:
  6886. - containers
  6887. type: object
  6888. greenSpec:
  6889. description: Pod Spec for a Green Service
  6890. properties:
  6891. activeDeadlineSeconds:
  6892. description: Optional duration in seconds the pod may be active
  6893. on the node relative to StartTime before the system will actively
  6894. try to mark it failed and kill associated containers. Value
  6895. must be a positive integer.
  6896. format: int64
  6897. type: integer
  6898. affinity:
  6899. description: If specified, the pod's scheduling constraints
  6900. properties:
  6901. nodeAffinity:
  6902. description: Describes node affinity scheduling rules for
  6903. the pod.
  6904. properties:
  6905. preferredDuringSchedulingIgnoredDuringExecution:
  6906. description: The scheduler will prefer to schedule pods
  6907. to nodes that satisfy the affinity expressions specified
  6908. by this field, but it may choose a node that violates
  6909. one or more of the expressions. The node that is most
  6910. preferred is the one with the greatest sum of weights,
  6911. i.e. for each node that meets all of the scheduling
  6912. requirements (resource request, requiredDuringScheduling
  6913. affinity expressions, etc.), compute a sum by iterating
  6914. through the elements of this field and adding "weight"
  6915. to the sum if the node matches the corresponding matchExpressions;
  6916. the node(s) with the highest sum are the most preferred.
  6917. items:
  6918. description: An empty preferred scheduling term matches
  6919. all objects with implicit weight 0 (i.e. it's a no-op).
  6920. A null preferred scheduling term matches no objects
  6921. (i.e. is also a no-op).
  6922. properties:
  6923. preference:
  6924. description: A node selector term, associated with
  6925. the corresponding weight.
  6926. properties:
  6927. matchExpressions:
  6928. description: A list of node selector requirements
  6929. by node's labels.
  6930. items:
  6931. description: A node selector requirement is
  6932. a selector that contains values, a key,
  6933. and an operator that relates the key and
  6934. values.
  6935. properties:
  6936. key:
  6937. description: The label key that the selector
  6938. applies to.
  6939. type: string
  6940. operator:
  6941. description: Represents a key's relationship
  6942. to a set of values. Valid operators
  6943. are In, NotIn, Exists, DoesNotExist.
  6944. Gt, and Lt.
  6945. type: string
  6946. values:
  6947. description: An array of string values.
  6948. If the operator is In or NotIn, the
  6949. values array must be non-empty. If the
  6950. operator is Exists or DoesNotExist,
  6951. the values array must be empty. If the
  6952. operator is Gt or Lt, the values array
  6953. must have a single element, which will
  6954. be interpreted as an integer. This array
  6955. is replaced during a strategic merge
  6956. patch.
  6957. items:
  6958. type: string
  6959. type: array
  6960. required:
  6961. - key
  6962. - operator
  6963. type: object
  6964. type: array
  6965. matchFields:
  6966. description: A list of node selector requirements
  6967. by node's fields.
  6968. items:
  6969. description: A node selector requirement is
  6970. a selector that contains values, a key,
  6971. and an operator that relates the key and
  6972. values.
  6973. properties:
  6974. key:
  6975. description: The label key that the selector
  6976. applies to.
  6977. type: string
  6978. operator:
  6979. description: Represents a key's relationship
  6980. to a set of values. Valid operators
  6981. are In, NotIn, Exists, DoesNotExist.
  6982. Gt, and Lt.
  6983. type: string
  6984. values:
  6985. description: An array of string values.
  6986. If the operator is In or NotIn, the
  6987. values array must be non-empty. If the
  6988. operator is Exists or DoesNotExist,
  6989. the values array must be empty. If the
  6990. operator is Gt or Lt, the values array
  6991. must have a single element, which will
  6992. be interpreted as an integer. This array
  6993. is replaced during a strategic merge
  6994. patch.
  6995. items:
  6996. type: string
  6997. type: array
  6998. required:
  6999. - key
  7000. - operator
  7001. type: object
  7002. type: array
  7003. type: object
  7004. x-kubernetes-map-type: atomic
  7005. weight:
  7006. description: Weight associated with matching the
  7007. corresponding nodeSelectorTerm, in the range 1-100.
  7008. format: int32
  7009. type: integer
  7010. required:
  7011. - preference
  7012. - weight
  7013. type: object
  7014. type: array
  7015. requiredDuringSchedulingIgnoredDuringExecution:
  7016. description: If the affinity requirements specified by
  7017. this field are not met at scheduling time, the pod will
  7018. not be scheduled onto the node. If the affinity requirements
  7019. specified by this field cease to be met at some point
  7020. during pod execution (e.g. due to an update), the system
  7021. may or may not try to eventually evict the pod from
  7022. its node.
  7023. properties:
  7024. nodeSelectorTerms:
  7025. description: Required. A list of node selector terms.
  7026. The terms are ORed.
  7027. items:
  7028. description: A null or empty node selector term
  7029. matches no objects. The requirements of them are
  7030. ANDed. The TopologySelectorTerm type implements
  7031. a subset of the NodeSelectorTerm.
  7032. properties:
  7033. matchExpressions:
  7034. description: A list of node selector requirements
  7035. by node's labels.
  7036. items:
  7037. description: A node selector requirement is
  7038. a selector that contains values, a key,
  7039. and an operator that relates the key and
  7040. values.
  7041. properties:
  7042. key:
  7043. description: The label key that the selector
  7044. applies to.
  7045. type: string
  7046. operator:
  7047. description: Represents a key's relationship
  7048. to a set of values. Valid operators
  7049. are In, NotIn, Exists, DoesNotExist.
  7050. Gt, and Lt.
  7051. type: string
  7052. values:
  7053. description: An array of string values.
  7054. If the operator is In or NotIn, the
  7055. values array must be non-empty. If the
  7056. operator is Exists or DoesNotExist,
  7057. the values array must be empty. If the
  7058. operator is Gt or Lt, the values array
  7059. must have a single element, which will
  7060. be interpreted as an integer. This array
  7061. is replaced during a strategic merge
  7062. patch.
  7063. items:
  7064. type: string
  7065. type: array
  7066. required:
  7067. - key
  7068. - operator
  7069. type: object
  7070. type: array
  7071. matchFields:
  7072. description: A list of node selector requirements
  7073. by node's fields.
  7074. items:
  7075. description: A node selector requirement is
  7076. a selector that contains values, a key,
  7077. and an operator that relates the key and
  7078. values.
  7079. properties:
  7080. key:
  7081. description: The label key that the selector
  7082. applies to.
  7083. type: string
  7084. operator:
  7085. description: Represents a key's relationship
  7086. to a set of values. Valid operators
  7087. are In, NotIn, Exists, DoesNotExist.
  7088. Gt, and Lt.
  7089. type: string
  7090. values:
  7091. description: An array of string values.
  7092. If the operator is In or NotIn, the
  7093. values array must be non-empty. If the
  7094. operator is Exists or DoesNotExist,
  7095. the values array must be empty. If the
  7096. operator is Gt or Lt, the values array
  7097. must have a single element, which will
  7098. be interpreted as an integer. This array
  7099. is replaced during a strategic merge
  7100. patch.
  7101. items:
  7102. type: string
  7103. type: array
  7104. required:
  7105. - key
  7106. - operator
  7107. type: object
  7108. type: array
  7109. type: object
  7110. x-kubernetes-map-type: atomic
  7111. type: array
  7112. required:
  7113. - nodeSelectorTerms
  7114. type: object
  7115. x-kubernetes-map-type: atomic
  7116. type: object
  7117. podAffinity:
  7118. description: Describes pod affinity scheduling rules (e.g.
  7119. co-locate this pod in the same node, zone, etc. as some
  7120. other pod(s)).
  7121. properties:
  7122. preferredDuringSchedulingIgnoredDuringExecution:
  7123. description: The scheduler will prefer to schedule pods
  7124. to nodes that satisfy the affinity expressions specified
  7125. by this field, but it may choose a node that violates
  7126. one or more of the expressions. The node that is most
  7127. preferred is the one with the greatest sum of weights,
  7128. i.e. for each node that meets all of the scheduling
  7129. requirements (resource request, requiredDuringScheduling
  7130. affinity expressions, etc.), compute a sum by iterating
  7131. through the elements of this field and adding "weight"
  7132. to the sum if the node has pods which matches the corresponding
  7133. podAffinityTerm; the node(s) with the highest sum are
  7134. the most preferred.
  7135. items:
  7136. description: The weights of all of the matched WeightedPodAffinityTerm
  7137. fields are added per-node to find the most preferred
  7138. node(s)
  7139. properties:
  7140. podAffinityTerm:
  7141. description: Required. A pod affinity term, associated
  7142. with the corresponding weight.
  7143. properties:
  7144. labelSelector:
  7145. description: A label query over a set of resources,
  7146. in this case pods.
  7147. properties:
  7148. matchExpressions:
  7149. description: matchExpressions is a list
  7150. of label selector requirements. The requirements
  7151. are ANDed.
  7152. items:
  7153. description: A label selector requirement
  7154. is a selector that contains values,
  7155. a key, and an operator that relates
  7156. the key and values.
  7157. properties:
  7158. key:
  7159. description: key is the label key
  7160. that the selector applies to.
  7161. type: string
  7162. operator:
  7163. description: operator represents a
  7164. key's relationship to a set of values.
  7165. Valid operators are In, NotIn, Exists
  7166. and DoesNotExist.
  7167. type: string
  7168. values:
  7169. description: values is an array of
  7170. string values. If the operator is
  7171. In or NotIn, the values array must
  7172. be non-empty. If the operator is
  7173. Exists or DoesNotExist, the values
  7174. array must be empty. This array
  7175. is replaced during a strategic merge
  7176. patch.
  7177. items:
  7178. type: string
  7179. type: array
  7180. required:
  7181. - key
  7182. - operator
  7183. type: object
  7184. type: array
  7185. matchLabels:
  7186. additionalProperties:
  7187. type: string
  7188. description: matchLabels is a map of {key,value}
  7189. pairs. A single {key,value} in the matchLabels
  7190. map is equivalent to an element of matchExpressions,
  7191. whose key field is "key", the operator
  7192. is "In", and the values array contains
  7193. only "value". The requirements are ANDed.
  7194. type: object
  7195. type: object
  7196. x-kubernetes-map-type: atomic
  7197. namespaceSelector:
  7198. description: A label query over the set of namespaces
  7199. that the term applies to. The term is applied
  7200. to the union of the namespaces selected by
  7201. this field and the ones listed in the namespaces
  7202. field. null selector and null or empty namespaces
  7203. list means "this pod's namespace". An empty
  7204. selector ({}) matches all namespaces.
  7205. properties:
  7206. matchExpressions:
  7207. description: matchExpressions is a list
  7208. of label selector requirements. The requirements
  7209. are ANDed.
  7210. items:
  7211. description: A label selector requirement
  7212. is a selector that contains values,
  7213. a key, and an operator that relates
  7214. the key and values.
  7215. properties:
  7216. key:
  7217. description: key is the label key
  7218. that the selector applies to.
  7219. type: string
  7220. operator:
  7221. description: operator represents a
  7222. key's relationship to a set of values.
  7223. Valid operators are In, NotIn, Exists
  7224. and DoesNotExist.
  7225. type: string
  7226. values:
  7227. description: values is an array of
  7228. string values. If the operator is
  7229. In or NotIn, the values array must
  7230. be non-empty. If the operator is
  7231. Exists or DoesNotExist, the values
  7232. array must be empty. This array
  7233. is replaced during a strategic merge
  7234. patch.
  7235. items:
  7236. type: string
  7237. type: array
  7238. required:
  7239. - key
  7240. - operator
  7241. type: object
  7242. type: array
  7243. matchLabels:
  7244. additionalProperties:
  7245. type: string
  7246. description: matchLabels is a map of {key,value}
  7247. pairs. A single {key,value} in the matchLabels
  7248. map is equivalent to an element of matchExpressions,
  7249. whose key field is "key", the operator
  7250. is "In", and the values array contains
  7251. only "value". The requirements are ANDed.
  7252. type: object
  7253. type: object
  7254. x-kubernetes-map-type: atomic
  7255. namespaces:
  7256. description: namespaces specifies a static list
  7257. of namespace names that the term applies to.
  7258. The term is applied to the union of the namespaces
  7259. listed in this field and the ones selected
  7260. by namespaceSelector. null or empty namespaces
  7261. list and null namespaceSelector means "this
  7262. pod's namespace".
  7263. items:
  7264. type: string
  7265. type: array
  7266. topologyKey:
  7267. description: This pod should be co-located (affinity)
  7268. or not co-located (anti-affinity) with the
  7269. pods matching the labelSelector in the specified
  7270. namespaces, where co-located is defined as
  7271. running on a node whose value of the label
  7272. with key topologyKey matches that of any node
  7273. on which any of the selected pods is running.
  7274. Empty topologyKey is not allowed.
  7275. type: string
  7276. required:
  7277. - topologyKey
  7278. type: object
  7279. weight:
  7280. description: weight associated with matching the
  7281. corresponding podAffinityTerm, in the range 1-100.
  7282. format: int32
  7283. type: integer
  7284. required:
  7285. - podAffinityTerm
  7286. - weight
  7287. type: object
  7288. type: array
  7289. requiredDuringSchedulingIgnoredDuringExecution:
  7290. description: If the affinity requirements specified by
  7291. this field are not met at scheduling time, the pod will
  7292. not be scheduled onto the node. If the affinity requirements
  7293. specified by this field cease to be met at some point
  7294. during pod execution (e.g. due to a pod label update),
  7295. the system may or may not try to eventually evict the
  7296. pod from its node. When there are multiple elements,
  7297. the lists of nodes corresponding to each podAffinityTerm
  7298. are intersected, i.e. all terms must be satisfied.
  7299. items:
  7300. description: Defines a set of pods (namely those matching
  7301. the labelSelector relative to the given namespace(s))
  7302. that this pod should be co-located (affinity) or not
  7303. co-located (anti-affinity) with, where co-located
  7304. is defined as running on a node whose value of the
  7305. label with key <topologyKey> matches that of any node
  7306. on which a pod of the set of pods is running
  7307. properties:
  7308. labelSelector:
  7309. description: A label query over a set of resources,
  7310. in this case pods.
  7311. properties:
  7312. matchExpressions:
  7313. description: matchExpressions is a list of label
  7314. selector requirements. The requirements are
  7315. ANDed.
  7316. items:
  7317. description: A label selector requirement
  7318. is a selector that contains values, a key,
  7319. and an operator that relates the key and
  7320. values.
  7321. properties:
  7322. key:
  7323. description: key is the label key that
  7324. the selector applies to.
  7325. type: string
  7326. operator:
  7327. description: operator represents a key's
  7328. relationship to a set of values. Valid
  7329. operators are In, NotIn, Exists and
  7330. DoesNotExist.
  7331. type: string
  7332. values:
  7333. description: values is an array of string
  7334. values. If the operator is In or NotIn,
  7335. the values array must be non-empty.
  7336. If the operator is Exists or DoesNotExist,
  7337. the values array must be empty. This
  7338. array is replaced during a strategic
  7339. merge patch.
  7340. items:
  7341. type: string
  7342. type: array
  7343. required:
  7344. - key
  7345. - operator
  7346. type: object
  7347. type: array
  7348. matchLabels:
  7349. additionalProperties:
  7350. type: string
  7351. description: matchLabels is a map of {key,value}
  7352. pairs. A single {key,value} in the matchLabels
  7353. map is equivalent to an element of matchExpressions,
  7354. whose key field is "key", the operator is
  7355. "In", and the values array contains only "value".
  7356. The requirements are ANDed.
  7357. type: object
  7358. type: object
  7359. x-kubernetes-map-type: atomic
  7360. namespaceSelector:
  7361. description: A label query over the set of namespaces
  7362. that the term applies to. The term is applied
  7363. to the union of the namespaces selected by this
  7364. field and the ones listed in the namespaces field.
  7365. null selector and null or empty namespaces list
  7366. means "this pod's namespace". An empty selector
  7367. ({}) matches all namespaces.
  7368. properties:
  7369. matchExpressions:
  7370. description: matchExpressions is a list of label
  7371. selector requirements. The requirements are
  7372. ANDed.
  7373. items:
  7374. description: A label selector requirement
  7375. is a selector that contains values, a key,
  7376. and an operator that relates the key and
  7377. values.
  7378. properties:
  7379. key:
  7380. description: key is the label key that
  7381. the selector applies to.
  7382. type: string
  7383. operator:
  7384. description: operator represents a key's
  7385. relationship to a set of values. Valid
  7386. operators are In, NotIn, Exists and
  7387. DoesNotExist.
  7388. type: string
  7389. values:
  7390. description: values is an array of string
  7391. values. If the operator is In or NotIn,
  7392. the values array must be non-empty.
  7393. If the operator is Exists or DoesNotExist,
  7394. the values array must be empty. This
  7395. array is replaced during a strategic
  7396. merge patch.
  7397. items:
  7398. type: string
  7399. type: array
  7400. required:
  7401. - key
  7402. - operator
  7403. type: object
  7404. type: array
  7405. matchLabels:
  7406. additionalProperties:
  7407. type: string
  7408. description: matchLabels is a map of {key,value}
  7409. pairs. A single {key,value} in the matchLabels
  7410. map is equivalent to an element of matchExpressions,
  7411. whose key field is "key", the operator is
  7412. "In", and the values array contains only "value".
  7413. The requirements are ANDed.
  7414. type: object
  7415. type: object
  7416. x-kubernetes-map-type: atomic
  7417. namespaces:
  7418. description: namespaces specifies a static list
  7419. of namespace names that the term applies to. The
  7420. term is applied to the union of the namespaces
  7421. listed in this field and the ones selected by
  7422. namespaceSelector. null or empty namespaces list
  7423. and null namespaceSelector means "this pod's namespace".
  7424. items:
  7425. type: string
  7426. type: array
  7427. topologyKey:
  7428. description: This pod should be co-located (affinity)
  7429. or not co-located (anti-affinity) with the pods
  7430. matching the labelSelector in the specified namespaces,
  7431. where co-located is defined as running on a node
  7432. whose value of the label with key topologyKey
  7433. matches that of any node on which any of the selected
  7434. pods is running. Empty topologyKey is not allowed.
  7435. type: string
  7436. required:
  7437. - topologyKey
  7438. type: object
  7439. type: array
  7440. type: object
  7441. podAntiAffinity:
  7442. description: Describes pod anti-affinity scheduling rules
  7443. (e.g. avoid putting this pod in the same node, zone, etc.
  7444. as some other pod(s)).
  7445. properties:
  7446. preferredDuringSchedulingIgnoredDuringExecution:
  7447. description: The scheduler will prefer to schedule pods
  7448. to nodes that satisfy the anti-affinity expressions
  7449. specified by this field, but it may choose a node that
  7450. violates one or more of the expressions. The node that
  7451. is most preferred is the one with the greatest sum of
  7452. weights, i.e. for each node that meets all of the scheduling
  7453. requirements (resource request, requiredDuringScheduling
  7454. anti-affinity expressions, etc.), compute a sum by iterating
  7455. through the elements of this field and adding "weight"
  7456. to the sum if the node has pods which matches the corresponding
  7457. podAffinityTerm; the node(s) with the highest sum are
  7458. the most preferred.
  7459. items:
  7460. description: The weights of all of the matched WeightedPodAffinityTerm
  7461. fields are added per-node to find the most preferred
  7462. node(s)
  7463. properties:
  7464. podAffinityTerm:
  7465. description: Required. A pod affinity term, associated
  7466. with the corresponding weight.
  7467. properties:
  7468. labelSelector:
  7469. description: A label query over a set of resources,
  7470. in this case pods.
  7471. properties:
  7472. matchExpressions:
  7473. description: matchExpressions is a list
  7474. of label selector requirements. The requirements
  7475. are ANDed.
  7476. items:
  7477. description: A label selector requirement
  7478. is a selector that contains values,
  7479. a key, and an operator that relates
  7480. the key and values.
  7481. properties:
  7482. key:
  7483. description: key is the label key
  7484. that the selector applies to.
  7485. type: string
  7486. operator:
  7487. description: operator represents a
  7488. key's relationship to a set of values.
  7489. Valid operators are In, NotIn, Exists
  7490. and DoesNotExist.
  7491. type: string
  7492. values:
  7493. description: values is an array of
  7494. string values. If the operator is
  7495. In or NotIn, the values array must
  7496. be non-empty. If the operator is
  7497. Exists or DoesNotExist, the values
  7498. array must be empty. This array
  7499. is replaced during a strategic merge
  7500. patch.
  7501. items:
  7502. type: string
  7503. type: array
  7504. required:
  7505. - key
  7506. - operator
  7507. type: object
  7508. type: array
  7509. matchLabels:
  7510. additionalProperties:
  7511. type: string
  7512. description: matchLabels is a map of {key,value}
  7513. pairs. A single {key,value} in the matchLabels
  7514. map is equivalent to an element of matchExpressions,
  7515. whose key field is "key", the operator
  7516. is "In", and the values array contains
  7517. only "value". The requirements are ANDed.
  7518. type: object
  7519. type: object
  7520. x-kubernetes-map-type: atomic
  7521. namespaceSelector:
  7522. description: A label query over the set of namespaces
  7523. that the term applies to. The term is applied
  7524. to the union of the namespaces selected by
  7525. this field and the ones listed in the namespaces
  7526. field. null selector and null or empty namespaces
  7527. list means "this pod's namespace". An empty
  7528. selector ({}) matches all namespaces.
  7529. properties:
  7530. matchExpressions:
  7531. description: matchExpressions is a list
  7532. of label selector requirements. The requirements
  7533. are ANDed.
  7534. items:
  7535. description: A label selector requirement
  7536. is a selector that contains values,
  7537. a key, and an operator that relates
  7538. the key and values.
  7539. properties:
  7540. key:
  7541. description: key is the label key
  7542. that the selector applies to.
  7543. type: string
  7544. operator:
  7545. description: operator represents a
  7546. key's relationship to a set of values.
  7547. Valid operators are In, NotIn, Exists
  7548. and DoesNotExist.
  7549. type: string
  7550. values:
  7551. description: values is an array of
  7552. string values. If the operator is
  7553. In or NotIn, the values array must
  7554. be non-empty. If the operator is
  7555. Exists or DoesNotExist, the values
  7556. array must be empty. This array
  7557. is replaced during a strategic merge
  7558. patch.
  7559. items:
  7560. type: string
  7561. type: array
  7562. required:
  7563. - key
  7564. - operator
  7565. type: object
  7566. type: array
  7567. matchLabels:
  7568. additionalProperties:
  7569. type: string
  7570. description: matchLabels is a map of {key,value}
  7571. pairs. A single {key,value} in the matchLabels
  7572. map is equivalent to an element of matchExpressions,
  7573. whose key field is "key", the operator
  7574. is "In", and the values array contains
  7575. only "value". The requirements are ANDed.
  7576. type: object
  7577. type: object
  7578. x-kubernetes-map-type: atomic
  7579. namespaces:
  7580. description: namespaces specifies a static list
  7581. of namespace names that the term applies to.
  7582. The term is applied to the union of the namespaces
  7583. listed in this field and the ones selected
  7584. by namespaceSelector. null or empty namespaces
  7585. list and null namespaceSelector means "this
  7586. pod's namespace".
  7587. items:
  7588. type: string
  7589. type: array
  7590. topologyKey:
  7591. description: This pod should be co-located (affinity)
  7592. or not co-located (anti-affinity) with the
  7593. pods matching the labelSelector in the specified
  7594. namespaces, where co-located is defined as
  7595. running on a node whose value of the label
  7596. with key topologyKey matches that of any node
  7597. on which any of the selected pods is running.
  7598. Empty topologyKey is not allowed.
  7599. type: string
  7600. required:
  7601. - topologyKey
  7602. type: object
  7603. weight:
  7604. description: weight associated with matching the
  7605. corresponding podAffinityTerm, in the range 1-100.
  7606. format: int32
  7607. type: integer
  7608. required:
  7609. - podAffinityTerm
  7610. - weight
  7611. type: object
  7612. type: array
  7613. requiredDuringSchedulingIgnoredDuringExecution:
  7614. description: If the anti-affinity requirements specified
  7615. by this field are not met at scheduling time, the pod
  7616. will not be scheduled onto the node. If the anti-affinity
  7617. requirements specified by this field cease to be met
  7618. at some point during pod execution (e.g. due to a pod
  7619. label update), the system may or may not try to eventually
  7620. evict the pod from its node. When there are multiple
  7621. elements, the lists of nodes corresponding to each podAffinityTerm
  7622. are intersected, i.e. all terms must be satisfied.
  7623. items:
  7624. description: Defines a set of pods (namely those matching
  7625. the labelSelector relative to the given namespace(s))
  7626. that this pod should be co-located (affinity) or not
  7627. co-located (anti-affinity) with, where co-located
  7628. is defined as running on a node whose value of the
  7629. label with key <topologyKey> matches that of any node
  7630. on which a pod of the set of pods is running
  7631. properties:
  7632. labelSelector:
  7633. description: A label query over a set of resources,
  7634. in this case pods.
  7635. properties:
  7636. matchExpressions:
  7637. description: matchExpressions is a list of label
  7638. selector requirements. The requirements are
  7639. ANDed.
  7640. items:
  7641. description: A label selector requirement
  7642. is a selector that contains values, a key,
  7643. and an operator that relates the key and
  7644. values.
  7645. properties:
  7646. key:
  7647. description: key is the label key that
  7648. the selector applies to.
  7649. type: string
  7650. operator:
  7651. description: operator represents a key's
  7652. relationship to a set of values. Valid
  7653. operators are In, NotIn, Exists and
  7654. DoesNotExist.
  7655. type: string
  7656. values:
  7657. description: values is an array of string
  7658. values. If the operator is In or NotIn,
  7659. the values array must be non-empty.
  7660. If the operator is Exists or DoesNotExist,
  7661. the values array must be empty. This
  7662. array is replaced during a strategic
  7663. merge patch.
  7664. items:
  7665. type: string
  7666. type: array
  7667. required:
  7668. - key
  7669. - operator
  7670. type: object
  7671. type: array
  7672. matchLabels:
  7673. additionalProperties:
  7674. type: string
  7675. description: matchLabels is a map of {key,value}
  7676. pairs. A single {key,value} in the matchLabels
  7677. map is equivalent to an element of matchExpressions,
  7678. whose key field is "key", the operator is
  7679. "In", and the values array contains only "value".
  7680. The requirements are ANDed.
  7681. type: object
  7682. type: object
  7683. x-kubernetes-map-type: atomic
  7684. namespaceSelector:
  7685. description: A label query over the set of namespaces
  7686. that the term applies to. The term is applied
  7687. to the union of the namespaces selected by this
  7688. field and the ones listed in the namespaces field.
  7689. null selector and null or empty namespaces list
  7690. means "this pod's namespace". An empty selector
  7691. ({}) matches all namespaces.
  7692. properties:
  7693. matchExpressions:
  7694. description: matchExpressions is a list of label
  7695. selector requirements. The requirements are
  7696. ANDed.
  7697. items:
  7698. description: A label selector requirement
  7699. is a selector that contains values, a key,
  7700. and an operator that relates the key and
  7701. values.
  7702. properties:
  7703. key:
  7704. description: key is the label key that
  7705. the selector applies to.
  7706. type: string
  7707. operator:
  7708. description: operator represents a key's
  7709. relationship to a set of values. Valid
  7710. operators are In, NotIn, Exists and
  7711. DoesNotExist.
  7712. type: string
  7713. values:
  7714. description: values is an array of string
  7715. values. If the operator is In or NotIn,
  7716. the values array must be non-empty.
  7717. If the operator is Exists or DoesNotExist,
  7718. the values array must be empty. This
  7719. array is replaced during a strategic
  7720. merge patch.
  7721. items:
  7722. type: string
  7723. type: array
  7724. required:
  7725. - key
  7726. - operator
  7727. type: object
  7728. type: array
  7729. matchLabels:
  7730. additionalProperties:
  7731. type: string
  7732. description: matchLabels is a map of {key,value}
  7733. pairs. A single {key,value} in the matchLabels
  7734. map is equivalent to an element of matchExpressions,
  7735. whose key field is "key", the operator is
  7736. "In", and the values array contains only "value".
  7737. The requirements are ANDed.
  7738. type: object
  7739. type: object
  7740. x-kubernetes-map-type: atomic
  7741. namespaces:
  7742. description: namespaces specifies a static list
  7743. of namespace names that the term applies to. The
  7744. term is applied to the union of the namespaces
  7745. listed in this field and the ones selected by
  7746. namespaceSelector. null or empty namespaces list
  7747. and null namespaceSelector means "this pod's namespace".
  7748. items:
  7749. type: string
  7750. type: array
  7751. topologyKey:
  7752. description: This pod should be co-located (affinity)
  7753. or not co-located (anti-affinity) with the pods
  7754. matching the labelSelector in the specified namespaces,
  7755. where co-located is defined as running on a node
  7756. whose value of the label with key topologyKey
  7757. matches that of any node on which any of the selected
  7758. pods is running. Empty topologyKey is not allowed.
  7759. type: string
  7760. required:
  7761. - topologyKey
  7762. type: object
  7763. type: array
  7764. type: object
  7765. type: object
  7766. automountServiceAccountToken:
  7767. description: AutomountServiceAccountToken indicates whether a
  7768. service account token should be automatically mounted.
  7769. type: boolean
  7770. containers:
  7771. description: List of containers belonging to the pod. Containers
  7772. cannot currently be added or removed. There must be at least
  7773. one container in a Pod. Cannot be updated.
  7774. items:
  7775. description: A single application container that you want to
  7776. run within a pod.
  7777. properties:
  7778. args:
  7779. description: 'Arguments to the entrypoint. The container
  7780. image''s CMD is used if this is not provided. Variable
  7781. references $(VAR_NAME) are expanded using the container''s
  7782. environment. If a variable cannot be resolved, the reference
  7783. in the input string will be unchanged. Double $$ are reduced
  7784. to a single $, which allows for escaping the $(VAR_NAME)
  7785. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  7786. "$(VAR_NAME)". Escaped references will never be expanded,
  7787. regardless of whether the variable exists or not. Cannot
  7788. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  7789. items:
  7790. type: string
  7791. type: array
  7792. command:
  7793. description: 'Entrypoint array. Not executed within a shell.
  7794. The container image''s ENTRYPOINT is used if this is not
  7795. provided. Variable references $(VAR_NAME) are expanded
  7796. using the container''s environment. If a variable cannot
  7797. be resolved, the reference in the input string will be
  7798. unchanged. Double $$ are reduced to a single $, which
  7799. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  7800. will produce the string literal "$(VAR_NAME)". Escaped
  7801. references will never be expanded, regardless of whether
  7802. the variable exists or not. Cannot be updated. More info:
  7803. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  7804. items:
  7805. type: string
  7806. type: array
  7807. env:
  7808. description: List of environment variables to set in the
  7809. container. Cannot be updated.
  7810. items:
  7811. description: EnvVar represents an environment variable
  7812. present in a Container.
  7813. properties:
  7814. name:
  7815. description: Name of the environment variable. Must
  7816. be a C_IDENTIFIER.
  7817. type: string
  7818. value:
  7819. description: 'Variable references $(VAR_NAME) are
  7820. expanded using the previously defined environment
  7821. variables in the container and any service environment
  7822. variables. If a variable cannot be resolved, the
  7823. reference in the input string will be unchanged.
  7824. Double $$ are reduced to a single $, which allows
  7825. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  7826. will produce the string literal "$(VAR_NAME)". Escaped
  7827. references will never be expanded, regardless of
  7828. whether the variable exists or not. Defaults to
  7829. "".'
  7830. type: string
  7831. valueFrom:
  7832. description: Source for the environment variable's
  7833. value. Cannot be used if value is not empty.
  7834. properties:
  7835. configMapKeyRef:
  7836. description: Selects a key of a ConfigMap.
  7837. properties:
  7838. key:
  7839. description: The key to select.
  7840. type: string
  7841. name:
  7842. description: 'Name of the referent. More info:
  7843. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7844. TODO: Add other useful fields. apiVersion,
  7845. kind, uid?'
  7846. type: string
  7847. optional:
  7848. description: Specify whether the ConfigMap
  7849. or its key must be defined
  7850. type: boolean
  7851. required:
  7852. - key
  7853. type: object
  7854. x-kubernetes-map-type: atomic
  7855. fieldRef:
  7856. description: 'Selects a field of the pod: supports
  7857. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  7858. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  7859. spec.serviceAccountName, status.hostIP, status.podIP,
  7860. status.podIPs.'
  7861. properties:
  7862. apiVersion:
  7863. description: Version of the schema the FieldPath
  7864. is written in terms of, defaults to "v1".
  7865. type: string
  7866. fieldPath:
  7867. description: Path of the field to select in
  7868. the specified API version.
  7869. type: string
  7870. required:
  7871. - fieldPath
  7872. type: object
  7873. x-kubernetes-map-type: atomic
  7874. resourceFieldRef:
  7875. description: 'Selects a resource of the container:
  7876. only resources limits and requests (limits.cpu,
  7877. limits.memory, limits.ephemeral-storage, requests.cpu,
  7878. requests.memory and requests.ephemeral-storage)
  7879. are currently supported.'
  7880. properties:
  7881. containerName:
  7882. description: 'Container name: required for
  7883. volumes, optional for env vars'
  7884. type: string
  7885. divisor:
  7886. anyOf:
  7887. - type: integer
  7888. - type: string
  7889. description: Specifies the output format of
  7890. the exposed resources, defaults to "1"
  7891. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7892. x-kubernetes-int-or-string: true
  7893. resource:
  7894. description: 'Required: resource to select'
  7895. type: string
  7896. required:
  7897. - resource
  7898. type: object
  7899. x-kubernetes-map-type: atomic
  7900. secretKeyRef:
  7901. description: Selects a key of a secret in the
  7902. pod's namespace
  7903. properties:
  7904. key:
  7905. description: The key of the secret to select
  7906. from. Must be a valid secret key.
  7907. type: string
  7908. name:
  7909. description: 'Name of the referent. More info:
  7910. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7911. TODO: Add other useful fields. apiVersion,
  7912. kind, uid?'
  7913. type: string
  7914. optional:
  7915. description: Specify whether the Secret or
  7916. its key must be defined
  7917. type: boolean
  7918. required:
  7919. - key
  7920. type: object
  7921. x-kubernetes-map-type: atomic
  7922. type: object
  7923. required:
  7924. - name
  7925. type: object
  7926. type: array
  7927. envFrom:
  7928. description: List of sources to populate environment variables
  7929. in the container. The keys defined within a source must
  7930. be a C_IDENTIFIER. All invalid keys will be reported as
  7931. an event when the container is starting. When a key exists
  7932. in multiple sources, the value associated with the last
  7933. source will take precedence. Values defined by an Env
  7934. with a duplicate key will take precedence. Cannot be updated.
  7935. items:
  7936. description: EnvFromSource represents the source of a
  7937. set of ConfigMaps
  7938. properties:
  7939. configMapRef:
  7940. description: The ConfigMap to select from
  7941. properties:
  7942. name:
  7943. description: 'Name of the referent. More info:
  7944. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7945. TODO: Add other useful fields. apiVersion, kind,
  7946. uid?'
  7947. type: string
  7948. optional:
  7949. description: Specify whether the ConfigMap must
  7950. be defined
  7951. type: boolean
  7952. type: object
  7953. x-kubernetes-map-type: atomic
  7954. prefix:
  7955. description: An optional identifier to prepend to
  7956. each key in the ConfigMap. Must be a C_IDENTIFIER.
  7957. type: string
  7958. secretRef:
  7959. description: The Secret to select from
  7960. properties:
  7961. name:
  7962. description: 'Name of the referent. More info:
  7963. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7964. TODO: Add other useful fields. apiVersion, kind,
  7965. uid?'
  7966. type: string
  7967. optional:
  7968. description: Specify whether the Secret must be
  7969. defined
  7970. type: boolean
  7971. type: object
  7972. x-kubernetes-map-type: atomic
  7973. type: object
  7974. type: array
  7975. image:
  7976. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  7977. This field is optional to allow higher level config management
  7978. to default or override container images in workload controllers
  7979. like Deployments and StatefulSets.'
  7980. type: string
  7981. imagePullPolicy:
  7982. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  7983. Defaults to Always if :latest tag is specified, or IfNotPresent
  7984. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  7985. type: string
  7986. lifecycle:
  7987. description: Actions that the management system should take
  7988. in response to container lifecycle events. Cannot be updated.
  7989. properties:
  7990. postStart:
  7991. description: 'PostStart is called immediately after
  7992. a container is created. If the handler fails, the
  7993. container is terminated and restarted according to
  7994. its restart policy. Other management of the container
  7995. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  7996. properties:
  7997. exec:
  7998. description: Exec specifies the action to take.
  7999. properties:
  8000. command:
  8001. description: Command is the command line to
  8002. execute inside the container, the working
  8003. directory for the command is root ('/') in
  8004. the container's filesystem. The command is
  8005. simply exec'd, it is not run inside a shell,
  8006. so traditional shell instructions ('|', etc)
  8007. won't work. To use a shell, you need to explicitly
  8008. call out to that shell. Exit status of 0 is
  8009. treated as live/healthy and non-zero is unhealthy.
  8010. items:
  8011. type: string
  8012. type: array
  8013. type: object
  8014. httpGet:
  8015. description: HTTPGet specifies the http request
  8016. to perform.
  8017. properties:
  8018. host:
  8019. description: Host name to connect to, defaults
  8020. to the pod IP. You probably want to set "Host"
  8021. in httpHeaders instead.
  8022. type: string
  8023. httpHeaders:
  8024. description: Custom headers to set in the request.
  8025. HTTP allows repeated headers.
  8026. items:
  8027. description: HTTPHeader describes a custom
  8028. header to be used in HTTP probes
  8029. properties:
  8030. name:
  8031. description: The header field name
  8032. type: string
  8033. value:
  8034. description: The header field value
  8035. type: string
  8036. required:
  8037. - name
  8038. - value
  8039. type: object
  8040. type: array
  8041. path:
  8042. description: Path to access on the HTTP server.
  8043. type: string
  8044. port:
  8045. anyOf:
  8046. - type: integer
  8047. - type: string
  8048. description: Name or number of the port to access
  8049. on the container. Number must be in the range
  8050. 1 to 65535. Name must be an IANA_SVC_NAME.
  8051. x-kubernetes-int-or-string: true
  8052. scheme:
  8053. description: Scheme to use for connecting to
  8054. the host. Defaults to HTTP.
  8055. type: string
  8056. required:
  8057. - port
  8058. type: object
  8059. tcpSocket:
  8060. description: Deprecated. TCPSocket is NOT supported
  8061. as a LifecycleHandler and kept for the backward
  8062. compatibility. There are no validation of this
  8063. field and lifecycle hooks will fail in runtime
  8064. when tcp handler is specified.
  8065. properties:
  8066. host:
  8067. description: 'Optional: Host name to connect
  8068. to, defaults to the pod IP.'
  8069. type: string
  8070. port:
  8071. anyOf:
  8072. - type: integer
  8073. - type: string
  8074. description: Number or name of the port to access
  8075. on the container. Number must be in the range
  8076. 1 to 65535. Name must be an IANA_SVC_NAME.
  8077. x-kubernetes-int-or-string: true
  8078. required:
  8079. - port
  8080. type: object
  8081. type: object
  8082. preStop:
  8083. description: 'PreStop is called immediately before a
  8084. container is terminated due to an API request or management
  8085. event such as liveness/startup probe failure, preemption,
  8086. resource contention, etc. The handler is not called
  8087. if the container crashes or exits. The Pod''s termination
  8088. grace period countdown begins before the PreStop hook
  8089. is executed. Regardless of the outcome of the handler,
  8090. the container will eventually terminate within the
  8091. Pod''s termination grace period (unless delayed by
  8092. finalizers). Other management of the container blocks
  8093. until the hook completes or until the termination
  8094. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  8095. properties:
  8096. exec:
  8097. description: Exec specifies the action to take.
  8098. properties:
  8099. command:
  8100. description: Command is the command line to
  8101. execute inside the container, the working
  8102. directory for the command is root ('/') in
  8103. the container's filesystem. The command is
  8104. simply exec'd, it is not run inside a shell,
  8105. so traditional shell instructions ('|', etc)
  8106. won't work. To use a shell, you need to explicitly
  8107. call out to that shell. Exit status of 0 is
  8108. treated as live/healthy and non-zero is unhealthy.
  8109. items:
  8110. type: string
  8111. type: array
  8112. type: object
  8113. httpGet:
  8114. description: HTTPGet specifies the http request
  8115. to perform.
  8116. properties:
  8117. host:
  8118. description: Host name to connect to, defaults
  8119. to the pod IP. You probably want to set "Host"
  8120. in httpHeaders instead.
  8121. type: string
  8122. httpHeaders:
  8123. description: Custom headers to set in the request.
  8124. HTTP allows repeated headers.
  8125. items:
  8126. description: HTTPHeader describes a custom
  8127. header to be used in HTTP probes
  8128. properties:
  8129. name:
  8130. description: The header field name
  8131. type: string
  8132. value:
  8133. description: The header field value
  8134. type: string
  8135. required:
  8136. - name
  8137. - value
  8138. type: object
  8139. type: array
  8140. path:
  8141. description: Path to access on the HTTP server.
  8142. type: string
  8143. port:
  8144. anyOf:
  8145. - type: integer
  8146. - type: string
  8147. description: Name or number of the port to access
  8148. on the container. Number must be in the range
  8149. 1 to 65535. Name must be an IANA_SVC_NAME.
  8150. x-kubernetes-int-or-string: true
  8151. scheme:
  8152. description: Scheme to use for connecting to
  8153. the host. Defaults to HTTP.
  8154. type: string
  8155. required:
  8156. - port
  8157. type: object
  8158. tcpSocket:
  8159. description: Deprecated. TCPSocket is NOT supported
  8160. as a LifecycleHandler and kept for the backward
  8161. compatibility. There are no validation of this
  8162. field and lifecycle hooks will fail in runtime
  8163. when tcp handler is specified.
  8164. properties:
  8165. host:
  8166. description: 'Optional: Host name to connect
  8167. to, defaults to the pod IP.'
  8168. type: string
  8169. port:
  8170. anyOf:
  8171. - type: integer
  8172. - type: string
  8173. description: Number or name of the port to access
  8174. on the container. Number must be in the range
  8175. 1 to 65535. Name must be an IANA_SVC_NAME.
  8176. x-kubernetes-int-or-string: true
  8177. required:
  8178. - port
  8179. type: object
  8180. type: object
  8181. type: object
  8182. livenessProbe:
  8183. description: 'Periodic probe of container liveness. Container
  8184. will be restarted if the probe fails. Cannot be updated.
  8185. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8186. properties:
  8187. exec:
  8188. description: Exec specifies the action to take.
  8189. properties:
  8190. command:
  8191. description: Command is the command line to execute
  8192. inside the container, the working directory for
  8193. the command is root ('/') in the container's
  8194. filesystem. The command is simply exec'd, it is
  8195. not run inside a shell, so traditional shell instructions
  8196. ('|', etc) won't work. To use a shell, you need
  8197. to explicitly call out to that shell. Exit status
  8198. of 0 is treated as live/healthy and non-zero is
  8199. unhealthy.
  8200. items:
  8201. type: string
  8202. type: array
  8203. type: object
  8204. failureThreshold:
  8205. description: Minimum consecutive failures for the probe
  8206. to be considered failed after having succeeded. Defaults
  8207. to 3. Minimum value is 1.
  8208. format: int32
  8209. type: integer
  8210. grpc:
  8211. description: GRPC specifies an action involving a GRPC
  8212. port. This is a beta field and requires enabling GRPCContainerProbe
  8213. feature gate.
  8214. properties:
  8215. port:
  8216. description: Port number of the gRPC service. Number
  8217. must be in the range 1 to 65535.
  8218. format: int32
  8219. type: integer
  8220. service:
  8221. description: "Service is the name of the service
  8222. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  8223. \n If this is not specified, the default behavior
  8224. is defined by gRPC."
  8225. type: string
  8226. required:
  8227. - port
  8228. type: object
  8229. httpGet:
  8230. description: HTTPGet specifies the http request to perform.
  8231. properties:
  8232. host:
  8233. description: Host name to connect to, defaults to
  8234. the pod IP. You probably want to set "Host" in
  8235. httpHeaders instead.
  8236. type: string
  8237. httpHeaders:
  8238. description: Custom headers to set in the request.
  8239. HTTP allows repeated headers.
  8240. items:
  8241. description: HTTPHeader describes a custom header
  8242. to be used in HTTP probes
  8243. properties:
  8244. name:
  8245. description: The header field name
  8246. type: string
  8247. value:
  8248. description: The header field value
  8249. type: string
  8250. required:
  8251. - name
  8252. - value
  8253. type: object
  8254. type: array
  8255. path:
  8256. description: Path to access on the HTTP server.
  8257. type: string
  8258. port:
  8259. anyOf:
  8260. - type: integer
  8261. - type: string
  8262. description: Name or number of the port to access
  8263. on the container. Number must be in the range
  8264. 1 to 65535. Name must be an IANA_SVC_NAME.
  8265. x-kubernetes-int-or-string: true
  8266. scheme:
  8267. description: Scheme to use for connecting to the
  8268. host. Defaults to HTTP.
  8269. type: string
  8270. required:
  8271. - port
  8272. type: object
  8273. initialDelaySeconds:
  8274. description: 'Number of seconds after the container
  8275. has started before liveness probes are initiated.
  8276. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8277. format: int32
  8278. type: integer
  8279. periodSeconds:
  8280. description: How often (in seconds) to perform the probe.
  8281. Default to 10 seconds. Minimum value is 1.
  8282. format: int32
  8283. type: integer
  8284. successThreshold:
  8285. description: Minimum consecutive successes for the probe
  8286. to be considered successful after having failed. Defaults
  8287. to 1. Must be 1 for liveness and startup. Minimum
  8288. value is 1.
  8289. format: int32
  8290. type: integer
  8291. tcpSocket:
  8292. description: TCPSocket specifies an action involving
  8293. a TCP port.
  8294. properties:
  8295. host:
  8296. description: 'Optional: Host name to connect to,
  8297. defaults to the pod IP.'
  8298. type: string
  8299. port:
  8300. anyOf:
  8301. - type: integer
  8302. - type: string
  8303. description: Number or name of the port to access
  8304. on the container. Number must be in the range
  8305. 1 to 65535. Name must be an IANA_SVC_NAME.
  8306. x-kubernetes-int-or-string: true
  8307. required:
  8308. - port
  8309. type: object
  8310. terminationGracePeriodSeconds:
  8311. description: Optional duration in seconds the pod needs
  8312. to terminate gracefully upon probe failure. The grace
  8313. period is the duration in seconds after the processes
  8314. running in the pod are sent a termination signal and
  8315. the time when the processes are forcibly halted with
  8316. a kill signal. Set this value longer than the expected
  8317. cleanup time for your process. If this value is nil,
  8318. the pod's terminationGracePeriodSeconds will be used.
  8319. Otherwise, this value overrides the value provided
  8320. by the pod spec. Value must be non-negative integer.
  8321. The value zero indicates stop immediately via the
  8322. kill signal (no opportunity to shut down). This is
  8323. a beta field and requires enabling ProbeTerminationGracePeriod
  8324. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  8325. is used if unset.
  8326. format: int64
  8327. type: integer
  8328. timeoutSeconds:
  8329. description: 'Number of seconds after which the probe
  8330. times out. Defaults to 1 second. Minimum value is
  8331. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8332. format: int32
  8333. type: integer
  8334. type: object
  8335. name:
  8336. description: Name of the container specified as a DNS_LABEL.
  8337. Each container in a pod must have a unique name (DNS_LABEL).
  8338. Cannot be updated.
  8339. type: string
  8340. ports:
  8341. description: List of ports to expose from the container.
  8342. Exposing a port here gives the system additional information
  8343. about the network connections a container uses, but is
  8344. primarily informational. Not specifying a port here DOES
  8345. NOT prevent that port from being exposed. Any port which
  8346. is listening on the default "0.0.0.0" address inside a
  8347. container will be accessible from the network. Cannot
  8348. be updated.
  8349. items:
  8350. description: ContainerPort represents a network port in
  8351. a single container.
  8352. properties:
  8353. containerPort:
  8354. description: Number of port to expose on the pod's
  8355. IP address. This must be a valid port number, 0
  8356. < x < 65536.
  8357. format: int32
  8358. type: integer
  8359. hostIP:
  8360. description: What host IP to bind the external port
  8361. to.
  8362. type: string
  8363. hostPort:
  8364. description: Number of port to expose on the host.
  8365. If specified, this must be a valid port number,
  8366. 0 < x < 65536. If HostNetwork is specified, this
  8367. must match ContainerPort. Most containers do not
  8368. need this.
  8369. format: int32
  8370. type: integer
  8371. name:
  8372. description: If specified, this must be an IANA_SVC_NAME
  8373. and unique within the pod. Each named port in a
  8374. pod must have a unique name. Name for the port that
  8375. can be referred to by services.
  8376. type: string
  8377. protocol:
  8378. default: TCP
  8379. description: Protocol for port. Must be UDP, TCP,
  8380. or SCTP. Defaults to "TCP".
  8381. type: string
  8382. required:
  8383. - containerPort
  8384. type: object
  8385. type: array
  8386. x-kubernetes-list-map-keys:
  8387. - containerPort
  8388. - protocol
  8389. x-kubernetes-list-type: map
  8390. readinessProbe:
  8391. description: 'Periodic probe of container service readiness.
  8392. Container will be removed from service endpoints if the
  8393. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8394. properties:
  8395. exec:
  8396. description: Exec specifies the action to take.
  8397. properties:
  8398. command:
  8399. description: Command is the command line to execute
  8400. inside the container, the working directory for
  8401. the command is root ('/') in the container's
  8402. filesystem. The command is simply exec'd, it is
  8403. not run inside a shell, so traditional shell instructions
  8404. ('|', etc) won't work. To use a shell, you need
  8405. to explicitly call out to that shell. Exit status
  8406. of 0 is treated as live/healthy and non-zero is
  8407. unhealthy.
  8408. items:
  8409. type: string
  8410. type: array
  8411. type: object
  8412. failureThreshold:
  8413. description: Minimum consecutive failures for the probe
  8414. to be considered failed after having succeeded. Defaults
  8415. to 3. Minimum value is 1.
  8416. format: int32
  8417. type: integer
  8418. grpc:
  8419. description: GRPC specifies an action involving a GRPC
  8420. port. This is a beta field and requires enabling GRPCContainerProbe
  8421. feature gate.
  8422. properties:
  8423. port:
  8424. description: Port number of the gRPC service. Number
  8425. must be in the range 1 to 65535.
  8426. format: int32
  8427. type: integer
  8428. service:
  8429. description: "Service is the name of the service
  8430. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  8431. \n If this is not specified, the default behavior
  8432. is defined by gRPC."
  8433. type: string
  8434. required:
  8435. - port
  8436. type: object
  8437. httpGet:
  8438. description: HTTPGet specifies the http request to perform.
  8439. properties:
  8440. host:
  8441. description: Host name to connect to, defaults to
  8442. the pod IP. You probably want to set "Host" in
  8443. httpHeaders instead.
  8444. type: string
  8445. httpHeaders:
  8446. description: Custom headers to set in the request.
  8447. HTTP allows repeated headers.
  8448. items:
  8449. description: HTTPHeader describes a custom header
  8450. to be used in HTTP probes
  8451. properties:
  8452. name:
  8453. description: The header field name
  8454. type: string
  8455. value:
  8456. description: The header field value
  8457. type: string
  8458. required:
  8459. - name
  8460. - value
  8461. type: object
  8462. type: array
  8463. path:
  8464. description: Path to access on the HTTP server.
  8465. type: string
  8466. port:
  8467. anyOf:
  8468. - type: integer
  8469. - type: string
  8470. description: Name or number of the port to access
  8471. on the container. Number must be in the range
  8472. 1 to 65535. Name must be an IANA_SVC_NAME.
  8473. x-kubernetes-int-or-string: true
  8474. scheme:
  8475. description: Scheme to use for connecting to the
  8476. host. Defaults to HTTP.
  8477. type: string
  8478. required:
  8479. - port
  8480. type: object
  8481. initialDelaySeconds:
  8482. description: 'Number of seconds after the container
  8483. has started before liveness probes are initiated.
  8484. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8485. format: int32
  8486. type: integer
  8487. periodSeconds:
  8488. description: How often (in seconds) to perform the probe.
  8489. Default to 10 seconds. Minimum value is 1.
  8490. format: int32
  8491. type: integer
  8492. successThreshold:
  8493. description: Minimum consecutive successes for the probe
  8494. to be considered successful after having failed. Defaults
  8495. to 1. Must be 1 for liveness and startup. Minimum
  8496. value is 1.
  8497. format: int32
  8498. type: integer
  8499. tcpSocket:
  8500. description: TCPSocket specifies an action involving
  8501. a TCP port.
  8502. properties:
  8503. host:
  8504. description: 'Optional: Host name to connect to,
  8505. defaults to the pod IP.'
  8506. type: string
  8507. port:
  8508. anyOf:
  8509. - type: integer
  8510. - type: string
  8511. description: Number or name of the port to access
  8512. on the container. Number must be in the range
  8513. 1 to 65535. Name must be an IANA_SVC_NAME.
  8514. x-kubernetes-int-or-string: true
  8515. required:
  8516. - port
  8517. type: object
  8518. terminationGracePeriodSeconds:
  8519. description: Optional duration in seconds the pod needs
  8520. to terminate gracefully upon probe failure. The grace
  8521. period is the duration in seconds after the processes
  8522. running in the pod are sent a termination signal and
  8523. the time when the processes are forcibly halted with
  8524. a kill signal. Set this value longer than the expected
  8525. cleanup time for your process. If this value is nil,
  8526. the pod's terminationGracePeriodSeconds will be used.
  8527. Otherwise, this value overrides the value provided
  8528. by the pod spec. Value must be non-negative integer.
  8529. The value zero indicates stop immediately via the
  8530. kill signal (no opportunity to shut down). This is
  8531. a beta field and requires enabling ProbeTerminationGracePeriod
  8532. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  8533. is used if unset.
  8534. format: int64
  8535. type: integer
  8536. timeoutSeconds:
  8537. description: 'Number of seconds after which the probe
  8538. times out. Defaults to 1 second. Minimum value is
  8539. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8540. format: int32
  8541. type: integer
  8542. type: object
  8543. resources:
  8544. description: 'Compute Resources required by this container.
  8545. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8546. properties:
  8547. limits:
  8548. additionalProperties:
  8549. anyOf:
  8550. - type: integer
  8551. - type: string
  8552. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8553. x-kubernetes-int-or-string: true
  8554. description: 'Limits describes the maximum amount of
  8555. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8556. type: object
  8557. requests:
  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: 'Requests describes the minimum amount
  8565. of compute resources required. If Requests is omitted
  8566. for a container, it defaults to Limits if that is
  8567. explicitly specified, otherwise to an implementation-defined
  8568. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8569. type: object
  8570. type: object
  8571. securityContext:
  8572. description: 'SecurityContext defines the security options
  8573. the container should be run with. If set, the fields of
  8574. SecurityContext override the equivalent fields of PodSecurityContext.
  8575. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  8576. properties:
  8577. allowPrivilegeEscalation:
  8578. description: 'AllowPrivilegeEscalation controls whether
  8579. a process can gain more privileges than its parent
  8580. process. This bool directly controls if the no_new_privs
  8581. flag will be set on the container process. AllowPrivilegeEscalation
  8582. is true always when the container is: 1) run as Privileged
  8583. 2) has CAP_SYS_ADMIN Note that this field cannot be
  8584. set when spec.os.name is windows.'
  8585. type: boolean
  8586. capabilities:
  8587. description: The capabilities to add/drop when running
  8588. containers. Defaults to the default set of capabilities
  8589. granted by the container runtime. Note that this field
  8590. cannot be set when spec.os.name is windows.
  8591. properties:
  8592. add:
  8593. description: Added capabilities
  8594. items:
  8595. description: Capability represent POSIX capabilities
  8596. type
  8597. type: string
  8598. type: array
  8599. drop:
  8600. description: Removed capabilities
  8601. items:
  8602. description: Capability represent POSIX capabilities
  8603. type
  8604. type: string
  8605. type: array
  8606. type: object
  8607. privileged:
  8608. description: Run container in privileged mode. Processes
  8609. in privileged containers are essentially equivalent
  8610. to root on the host. Defaults to false. Note that
  8611. this field cannot be set when spec.os.name is windows.
  8612. type: boolean
  8613. procMount:
  8614. description: procMount denotes the type of proc mount
  8615. to use for the containers. The default is DefaultProcMount
  8616. which uses the container runtime defaults for readonly
  8617. paths and masked paths. This requires the ProcMountType
  8618. feature flag to be enabled. Note that this field cannot
  8619. be set when spec.os.name is windows.
  8620. type: string
  8621. readOnlyRootFilesystem:
  8622. description: Whether this container has a read-only
  8623. root filesystem. Default is false. Note that this
  8624. field cannot be set when spec.os.name is windows.
  8625. type: boolean
  8626. runAsGroup:
  8627. description: The GID to run the entrypoint of the container
  8628. process. Uses runtime default if unset. May also be
  8629. set in PodSecurityContext. If set in both SecurityContext
  8630. and PodSecurityContext, the value specified in SecurityContext
  8631. takes precedence. Note that this field cannot be set
  8632. when spec.os.name is windows.
  8633. format: int64
  8634. type: integer
  8635. runAsNonRoot:
  8636. description: Indicates that the container must run as
  8637. a non-root user. If true, the Kubelet will validate
  8638. the image at runtime to ensure that it does not run
  8639. as UID 0 (root) and fail to start the container if
  8640. it does. If unset or false, no such validation will
  8641. be performed. May also be set in PodSecurityContext. If
  8642. set in both SecurityContext and PodSecurityContext,
  8643. the value specified in SecurityContext takes precedence.
  8644. type: boolean
  8645. runAsUser:
  8646. description: The UID to run the entrypoint of the container
  8647. process. Defaults to user specified in image metadata
  8648. if unspecified. May also be set in PodSecurityContext. If
  8649. set in both SecurityContext and PodSecurityContext,
  8650. the value specified in SecurityContext takes precedence.
  8651. Note that this field cannot be set when spec.os.name
  8652. is windows.
  8653. format: int64
  8654. type: integer
  8655. seLinuxOptions:
  8656. description: The SELinux context to be applied to the
  8657. container. If unspecified, the container runtime will
  8658. allocate a random SELinux context for each container. May
  8659. also be set in PodSecurityContext. If set in both
  8660. SecurityContext and PodSecurityContext, the value
  8661. specified in SecurityContext takes precedence. Note
  8662. that this field cannot be set when spec.os.name is
  8663. windows.
  8664. properties:
  8665. level:
  8666. description: Level is SELinux level label that applies
  8667. to the container.
  8668. type: string
  8669. role:
  8670. description: Role is a SELinux role label that applies
  8671. to the container.
  8672. type: string
  8673. type:
  8674. description: Type is a SELinux type label that applies
  8675. to the container.
  8676. type: string
  8677. user:
  8678. description: User is a SELinux user label that applies
  8679. to the container.
  8680. type: string
  8681. type: object
  8682. seccompProfile:
  8683. description: The seccomp options to use by this container.
  8684. If seccomp options are provided at both the pod &
  8685. container level, the container options override the
  8686. pod options. Note that this field cannot be set when
  8687. spec.os.name is windows.
  8688. properties:
  8689. localhostProfile:
  8690. description: localhostProfile indicates a profile
  8691. defined in a file on the node should be used.
  8692. The profile must be preconfigured on the node
  8693. to work. Must be a descending path, relative to
  8694. the kubelet's configured seccomp profile location.
  8695. Must only be set if type is "Localhost".
  8696. type: string
  8697. type:
  8698. description: "type indicates which kind of seccomp
  8699. profile will be applied. Valid options are: \n
  8700. Localhost - a profile defined in a file on the
  8701. node should be used. RuntimeDefault - the container
  8702. runtime default profile should be used. Unconfined
  8703. - no profile should be applied."
  8704. type: string
  8705. required:
  8706. - type
  8707. type: object
  8708. windowsOptions:
  8709. description: The Windows specific settings applied to
  8710. all containers. If unspecified, the options from the
  8711. PodSecurityContext will be used. If set in both SecurityContext
  8712. and PodSecurityContext, the value specified in SecurityContext
  8713. takes precedence. Note that this field cannot be set
  8714. when spec.os.name is linux.
  8715. properties:
  8716. gmsaCredentialSpec:
  8717. description: GMSACredentialSpec is where the GMSA
  8718. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  8719. inlines the contents of the GMSA credential spec
  8720. named by the GMSACredentialSpecName field.
  8721. type: string
  8722. gmsaCredentialSpecName:
  8723. description: GMSACredentialSpecName is the name
  8724. of the GMSA credential spec to use.
  8725. type: string
  8726. hostProcess:
  8727. description: HostProcess determines if a container
  8728. should be run as a 'Host Process' container. This
  8729. field is alpha-level and will only be honored
  8730. by components that enable the WindowsHostProcessContainers
  8731. feature flag. Setting this field without the feature
  8732. flag will result in errors when validating the
  8733. Pod. All of a Pod's containers must have the same
  8734. effective HostProcess value (it is not allowed
  8735. to have a mix of HostProcess containers and non-HostProcess
  8736. containers). In addition, if HostProcess is true
  8737. then HostNetwork must also be set to true.
  8738. type: boolean
  8739. runAsUserName:
  8740. description: The UserName in Windows to run the
  8741. entrypoint of the container process. Defaults
  8742. to the user specified in image metadata if unspecified.
  8743. May also be set in PodSecurityContext. If set
  8744. in both SecurityContext and PodSecurityContext,
  8745. the value specified in SecurityContext takes precedence.
  8746. type: string
  8747. type: object
  8748. type: object
  8749. startupProbe:
  8750. description: 'StartupProbe indicates that the Pod has successfully
  8751. initialized. If specified, no other probes are executed
  8752. until this completes successfully. If this probe fails,
  8753. the Pod will be restarted, just as if the livenessProbe
  8754. failed. This can be used to provide different probe parameters
  8755. at the beginning of a Pod''s lifecycle, when it might
  8756. take a long time to load data or warm a cache, than during
  8757. steady-state operation. This cannot be updated. More info:
  8758. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8759. properties:
  8760. exec:
  8761. description: Exec specifies the action to take.
  8762. properties:
  8763. command:
  8764. description: Command is the command line to execute
  8765. inside the container, the working directory for
  8766. the command is root ('/') in the container's
  8767. filesystem. The command is simply exec'd, it is
  8768. not run inside a shell, so traditional shell instructions
  8769. ('|', etc) won't work. To use a shell, you need
  8770. to explicitly call out to that shell. Exit status
  8771. of 0 is treated as live/healthy and non-zero is
  8772. unhealthy.
  8773. items:
  8774. type: string
  8775. type: array
  8776. type: object
  8777. failureThreshold:
  8778. description: Minimum consecutive failures for the probe
  8779. to be considered failed after having succeeded. Defaults
  8780. to 3. Minimum value is 1.
  8781. format: int32
  8782. type: integer
  8783. grpc:
  8784. description: GRPC specifies an action involving a GRPC
  8785. port. This is a beta field and requires enabling GRPCContainerProbe
  8786. feature gate.
  8787. properties:
  8788. port:
  8789. description: Port number of the gRPC service. Number
  8790. must be in the range 1 to 65535.
  8791. format: int32
  8792. type: integer
  8793. service:
  8794. description: "Service is the name of the service
  8795. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  8796. \n If this is not specified, the default behavior
  8797. is defined by gRPC."
  8798. type: string
  8799. required:
  8800. - port
  8801. type: object
  8802. httpGet:
  8803. description: HTTPGet specifies the http request to perform.
  8804. properties:
  8805. host:
  8806. description: Host name to connect to, defaults to
  8807. the pod IP. You probably want to set "Host" in
  8808. httpHeaders instead.
  8809. type: string
  8810. httpHeaders:
  8811. description: Custom headers to set in the request.
  8812. HTTP allows repeated headers.
  8813. items:
  8814. description: HTTPHeader describes a custom header
  8815. to be used in HTTP probes
  8816. properties:
  8817. name:
  8818. description: The header field name
  8819. type: string
  8820. value:
  8821. description: The header field value
  8822. type: string
  8823. required:
  8824. - name
  8825. - value
  8826. type: object
  8827. type: array
  8828. path:
  8829. description: Path to access on the HTTP server.
  8830. type: string
  8831. port:
  8832. anyOf:
  8833. - type: integer
  8834. - type: string
  8835. description: Name or number of the port to access
  8836. on the container. Number must be in the range
  8837. 1 to 65535. Name must be an IANA_SVC_NAME.
  8838. x-kubernetes-int-or-string: true
  8839. scheme:
  8840. description: Scheme to use for connecting to the
  8841. host. Defaults to HTTP.
  8842. type: string
  8843. required:
  8844. - port
  8845. type: object
  8846. initialDelaySeconds:
  8847. description: 'Number of seconds after the container
  8848. has started before liveness probes are initiated.
  8849. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8850. format: int32
  8851. type: integer
  8852. periodSeconds:
  8853. description: How often (in seconds) to perform the probe.
  8854. Default to 10 seconds. Minimum value is 1.
  8855. format: int32
  8856. type: integer
  8857. successThreshold:
  8858. description: Minimum consecutive successes for the probe
  8859. to be considered successful after having failed. Defaults
  8860. to 1. Must be 1 for liveness and startup. Minimum
  8861. value is 1.
  8862. format: int32
  8863. type: integer
  8864. tcpSocket:
  8865. description: TCPSocket specifies an action involving
  8866. a TCP port.
  8867. properties:
  8868. host:
  8869. description: 'Optional: Host name to connect to,
  8870. defaults to the pod IP.'
  8871. type: string
  8872. port:
  8873. anyOf:
  8874. - type: integer
  8875. - type: string
  8876. description: Number or name of the port to access
  8877. on the container. Number must be in the range
  8878. 1 to 65535. Name must be an IANA_SVC_NAME.
  8879. x-kubernetes-int-or-string: true
  8880. required:
  8881. - port
  8882. type: object
  8883. terminationGracePeriodSeconds:
  8884. description: Optional duration in seconds the pod needs
  8885. to terminate gracefully upon probe failure. The grace
  8886. period is the duration in seconds after the processes
  8887. running in the pod are sent a termination signal and
  8888. the time when the processes are forcibly halted with
  8889. a kill signal. Set this value longer than the expected
  8890. cleanup time for your process. If this value is nil,
  8891. the pod's terminationGracePeriodSeconds will be used.
  8892. Otherwise, this value overrides the value provided
  8893. by the pod spec. Value must be non-negative integer.
  8894. The value zero indicates stop immediately via the
  8895. kill signal (no opportunity to shut down). This is
  8896. a beta field and requires enabling ProbeTerminationGracePeriod
  8897. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  8898. is used if unset.
  8899. format: int64
  8900. type: integer
  8901. timeoutSeconds:
  8902. description: 'Number of seconds after which the probe
  8903. times out. Defaults to 1 second. Minimum value is
  8904. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8905. format: int32
  8906. type: integer
  8907. type: object
  8908. stdin:
  8909. description: Whether this container should allocate a buffer
  8910. for stdin in the container runtime. If this is not set,
  8911. reads from stdin in the container will always result in
  8912. EOF. Default is false.
  8913. type: boolean
  8914. stdinOnce:
  8915. description: Whether the container runtime should close
  8916. the stdin channel after it has been opened by a single
  8917. attach. When stdin is true the stdin stream will remain
  8918. open across multiple attach sessions. If stdinOnce is
  8919. set to true, stdin is opened on container start, is empty
  8920. until the first client attaches to stdin, and then remains
  8921. open and accepts data until the client disconnects, at
  8922. which time stdin is closed and remains closed until the
  8923. container is restarted. If this flag is false, a container
  8924. processes that reads from stdin will never receive an
  8925. EOF. Default is false
  8926. type: boolean
  8927. terminationMessagePath:
  8928. description: 'Optional: Path at which the file to which
  8929. the container''s termination message will be written is
  8930. mounted into the container''s filesystem. Message written
  8931. is intended to be brief final status, such as an assertion
  8932. failure message. Will be truncated by the node if greater
  8933. than 4096 bytes. The total message length across all containers
  8934. will be limited to 12kb. Defaults to /dev/termination-log.
  8935. Cannot be updated.'
  8936. type: string
  8937. terminationMessagePolicy:
  8938. description: Indicate how the termination message should
  8939. be populated. File will use the contents of terminationMessagePath
  8940. to populate the container status message on both success
  8941. and failure. FallbackToLogsOnError will use the last chunk
  8942. of container log output if the termination message file
  8943. is empty and the container exited with an error. The log
  8944. output is limited to 2048 bytes or 80 lines, whichever
  8945. is smaller. Defaults to File. Cannot be updated.
  8946. type: string
  8947. tty:
  8948. description: Whether this container should allocate a TTY
  8949. for itself, also requires 'stdin' to be true. Default
  8950. is false.
  8951. type: boolean
  8952. volumeDevices:
  8953. description: volumeDevices is the list of block devices
  8954. to be used by the container.
  8955. items:
  8956. description: volumeDevice describes a mapping of a raw
  8957. block device within a container.
  8958. properties:
  8959. devicePath:
  8960. description: devicePath is the path inside of the
  8961. container that the device will be mapped to.
  8962. type: string
  8963. name:
  8964. description: name must match the name of a persistentVolumeClaim
  8965. in the pod
  8966. type: string
  8967. required:
  8968. - devicePath
  8969. - name
  8970. type: object
  8971. type: array
  8972. volumeMounts:
  8973. description: Pod volumes to mount into the container's filesystem.
  8974. Cannot be updated.
  8975. items:
  8976. description: VolumeMount describes a mounting of a Volume
  8977. within a container.
  8978. properties:
  8979. mountPath:
  8980. description: Path within the container at which the
  8981. volume should be mounted. Must not contain ':'.
  8982. type: string
  8983. mountPropagation:
  8984. description: mountPropagation determines how mounts
  8985. are propagated from the host to container and the
  8986. other way around. When not set, MountPropagationNone
  8987. is used. This field is beta in 1.10.
  8988. type: string
  8989. name:
  8990. description: This must match the Name of a Volume.
  8991. type: string
  8992. readOnly:
  8993. description: Mounted read-only if true, read-write
  8994. otherwise (false or unspecified). Defaults to false.
  8995. type: boolean
  8996. subPath:
  8997. description: Path within the volume from which the
  8998. container's volume should be mounted. Defaults to
  8999. "" (volume's root).
  9000. type: string
  9001. subPathExpr:
  9002. description: Expanded path within the volume from
  9003. which the container's volume should be mounted.
  9004. Behaves similarly to SubPath but environment variable
  9005. references $(VAR_NAME) are expanded using the container's
  9006. environment. Defaults to "" (volume's root). SubPathExpr
  9007. and SubPath are mutually exclusive.
  9008. type: string
  9009. required:
  9010. - mountPath
  9011. - name
  9012. type: object
  9013. type: array
  9014. workingDir:
  9015. description: Container's working directory. If not specified,
  9016. the container runtime's default will be used, which might
  9017. be configured in the container image. Cannot be updated.
  9018. type: string
  9019. required:
  9020. - name
  9021. type: object
  9022. type: array
  9023. dnsConfig:
  9024. description: Specifies the DNS parameters of a pod. Parameters
  9025. specified here will be merged to the generated DNS configuration
  9026. based on DNSPolicy.
  9027. properties:
  9028. nameservers:
  9029. description: A list of DNS name server IP addresses. This
  9030. will be appended to the base nameservers generated from
  9031. DNSPolicy. Duplicated nameservers will be removed.
  9032. items:
  9033. type: string
  9034. type: array
  9035. options:
  9036. description: A list of DNS resolver options. This will be
  9037. merged with the base options generated from DNSPolicy. Duplicated
  9038. entries will be removed. Resolution options given in Options
  9039. will override those that appear in the base DNSPolicy.
  9040. items:
  9041. description: PodDNSConfigOption defines DNS resolver options
  9042. of a pod.
  9043. properties:
  9044. name:
  9045. description: Required.
  9046. type: string
  9047. value:
  9048. type: string
  9049. type: object
  9050. type: array
  9051. searches:
  9052. description: A list of DNS search domains for host-name lookup.
  9053. This will be appended to the base search paths generated
  9054. from DNSPolicy. Duplicated search paths will be removed.
  9055. items:
  9056. type: string
  9057. type: array
  9058. type: object
  9059. dnsPolicy:
  9060. description: Set DNS policy for the pod. Defaults to "ClusterFirst".
  9061. Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst',
  9062. 'Default' or 'None'. DNS parameters given in DNSConfig will
  9063. be merged with the policy selected with DNSPolicy. To have DNS
  9064. options set along with hostNetwork, you have to specify DNS
  9065. policy explicitly to 'ClusterFirstWithHostNet'.
  9066. type: string
  9067. enableServiceLinks:
  9068. description: 'EnableServiceLinks indicates whether information
  9069. about services should be injected into pod''s environment variables,
  9070. matching the syntax of Docker links. Optional: Defaults to true.'
  9071. type: boolean
  9072. ephemeralContainers:
  9073. description: List of ephemeral containers run in this pod. Ephemeral
  9074. containers may be run in an existing pod to perform user-initiated
  9075. actions such as debugging. This list cannot be specified when
  9076. creating a pod, and it cannot be modified by updating the pod
  9077. spec. In order to add an ephemeral container to an existing
  9078. pod, use the pod's ephemeralcontainers subresource. This field
  9079. is beta-level and available on clusters that haven't disabled
  9080. the EphemeralContainers feature gate.
  9081. items:
  9082. description: "An EphemeralContainer is a temporary container
  9083. that you may add to an existing Pod for user-initiated activities
  9084. such as debugging. Ephemeral containers have no resource or
  9085. scheduling guarantees, and they will not be restarted when
  9086. they exit or when a Pod is removed or restarted. The kubelet
  9087. may evict a Pod if an ephemeral container causes the Pod to
  9088. exceed its resource allocation. \n To add an ephemeral container,
  9089. use the ephemeralcontainers subresource of an existing Pod.
  9090. Ephemeral containers may not be removed or restarted. \n This
  9091. is a beta feature available on clusters that haven't disabled
  9092. the EphemeralContainers feature gate."
  9093. properties:
  9094. args:
  9095. description: 'Arguments to the entrypoint. The image''s
  9096. CMD is used if this is not provided. Variable references
  9097. $(VAR_NAME) are expanded using the container''s environment.
  9098. If a variable cannot be resolved, the reference in the
  9099. input string will be unchanged. Double $$ are reduced
  9100. to a single $, which allows for escaping the $(VAR_NAME)
  9101. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  9102. "$(VAR_NAME)". Escaped references will never be expanded,
  9103. regardless of whether the variable exists or not. Cannot
  9104. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  9105. items:
  9106. type: string
  9107. type: array
  9108. command:
  9109. description: 'Entrypoint array. Not executed within a shell.
  9110. The image''s ENTRYPOINT is used if this is not provided.
  9111. Variable references $(VAR_NAME) are expanded using the
  9112. container''s environment. If a variable cannot be resolved,
  9113. the reference in the input string will be unchanged. Double
  9114. $$ are reduced to a single $, which allows for escaping
  9115. the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce
  9116. the string literal "$(VAR_NAME)". Escaped references will
  9117. never be expanded, regardless of whether the variable
  9118. 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'
  9119. items:
  9120. type: string
  9121. type: array
  9122. env:
  9123. description: List of environment variables to set in the
  9124. container. Cannot be updated.
  9125. items:
  9126. description: EnvVar represents an environment variable
  9127. present in a Container.
  9128. properties:
  9129. name:
  9130. description: Name of the environment variable. Must
  9131. be a C_IDENTIFIER.
  9132. type: string
  9133. value:
  9134. description: 'Variable references $(VAR_NAME) are
  9135. expanded using the previously defined environment
  9136. variables in the container and any service environment
  9137. variables. If a variable cannot be resolved, the
  9138. reference in the input string will be unchanged.
  9139. Double $$ are reduced to a single $, which allows
  9140. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  9141. will produce the string literal "$(VAR_NAME)". Escaped
  9142. references will never be expanded, regardless of
  9143. whether the variable exists or not. Defaults to
  9144. "".'
  9145. type: string
  9146. valueFrom:
  9147. description: Source for the environment variable's
  9148. value. Cannot be used if value is not empty.
  9149. properties:
  9150. configMapKeyRef:
  9151. description: Selects a key of a ConfigMap.
  9152. properties:
  9153. key:
  9154. description: The key to select.
  9155. type: string
  9156. name:
  9157. description: 'Name of the referent. More info:
  9158. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9159. TODO: Add other useful fields. apiVersion,
  9160. kind, uid?'
  9161. type: string
  9162. optional:
  9163. description: Specify whether the ConfigMap
  9164. or its key must be defined
  9165. type: boolean
  9166. required:
  9167. - key
  9168. type: object
  9169. x-kubernetes-map-type: atomic
  9170. fieldRef:
  9171. description: 'Selects a field of the pod: supports
  9172. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  9173. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  9174. spec.serviceAccountName, status.hostIP, status.podIP,
  9175. status.podIPs.'
  9176. properties:
  9177. apiVersion:
  9178. description: Version of the schema the FieldPath
  9179. is written in terms of, defaults to "v1".
  9180. type: string
  9181. fieldPath:
  9182. description: Path of the field to select in
  9183. the specified API version.
  9184. type: string
  9185. required:
  9186. - fieldPath
  9187. type: object
  9188. x-kubernetes-map-type: atomic
  9189. resourceFieldRef:
  9190. description: 'Selects a resource of the container:
  9191. only resources limits and requests (limits.cpu,
  9192. limits.memory, limits.ephemeral-storage, requests.cpu,
  9193. requests.memory and requests.ephemeral-storage)
  9194. are currently supported.'
  9195. properties:
  9196. containerName:
  9197. description: 'Container name: required for
  9198. volumes, optional for env vars'
  9199. type: string
  9200. divisor:
  9201. anyOf:
  9202. - type: integer
  9203. - type: string
  9204. description: Specifies the output format of
  9205. the exposed resources, defaults to "1"
  9206. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9207. x-kubernetes-int-or-string: true
  9208. resource:
  9209. description: 'Required: resource to select'
  9210. type: string
  9211. required:
  9212. - resource
  9213. type: object
  9214. x-kubernetes-map-type: atomic
  9215. secretKeyRef:
  9216. description: Selects a key of a secret in the
  9217. pod's namespace
  9218. properties:
  9219. key:
  9220. description: The key of the secret to select
  9221. from. Must be a valid secret key.
  9222. type: string
  9223. name:
  9224. description: 'Name of the referent. More info:
  9225. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9226. TODO: Add other useful fields. apiVersion,
  9227. kind, uid?'
  9228. type: string
  9229. optional:
  9230. description: Specify whether the Secret or
  9231. its key must be defined
  9232. type: boolean
  9233. required:
  9234. - key
  9235. type: object
  9236. x-kubernetes-map-type: atomic
  9237. type: object
  9238. required:
  9239. - name
  9240. type: object
  9241. type: array
  9242. envFrom:
  9243. description: List of sources to populate environment variables
  9244. in the container. The keys defined within a source must
  9245. be a C_IDENTIFIER. All invalid keys will be reported as
  9246. an event when the container is starting. When a key exists
  9247. in multiple sources, the value associated with the last
  9248. source will take precedence. Values defined by an Env
  9249. with a duplicate key will take precedence. Cannot be updated.
  9250. items:
  9251. description: EnvFromSource represents the source of a
  9252. set of ConfigMaps
  9253. properties:
  9254. configMapRef:
  9255. description: The ConfigMap to select from
  9256. properties:
  9257. name:
  9258. description: 'Name of the referent. More info:
  9259. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9260. TODO: Add other useful fields. apiVersion, kind,
  9261. uid?'
  9262. type: string
  9263. optional:
  9264. description: Specify whether the ConfigMap must
  9265. be defined
  9266. type: boolean
  9267. type: object
  9268. x-kubernetes-map-type: atomic
  9269. prefix:
  9270. description: An optional identifier to prepend to
  9271. each key in the ConfigMap. Must be a C_IDENTIFIER.
  9272. type: string
  9273. secretRef:
  9274. description: The Secret to select from
  9275. properties:
  9276. name:
  9277. description: 'Name of the referent. More info:
  9278. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9279. TODO: Add other useful fields. apiVersion, kind,
  9280. uid?'
  9281. type: string
  9282. optional:
  9283. description: Specify whether the Secret must be
  9284. defined
  9285. type: boolean
  9286. type: object
  9287. x-kubernetes-map-type: atomic
  9288. type: object
  9289. type: array
  9290. image:
  9291. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images'
  9292. type: string
  9293. imagePullPolicy:
  9294. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  9295. Defaults to Always if :latest tag is specified, or IfNotPresent
  9296. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  9297. type: string
  9298. lifecycle:
  9299. description: Lifecycle is not allowed for ephemeral containers.
  9300. properties:
  9301. postStart:
  9302. description: 'PostStart is called immediately after
  9303. a container is created. If the handler fails, the
  9304. container is terminated and restarted according to
  9305. its restart policy. Other management of the container
  9306. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  9307. properties:
  9308. exec:
  9309. description: Exec specifies the action to take.
  9310. properties:
  9311. command:
  9312. description: Command is the command line to
  9313. execute inside the container, the working
  9314. directory for the command is root ('/') in
  9315. the container's filesystem. The command is
  9316. simply exec'd, it is not run inside a shell,
  9317. so traditional shell instructions ('|', etc)
  9318. won't work. To use a shell, you need to explicitly
  9319. call out to that shell. Exit status of 0 is
  9320. treated as live/healthy and non-zero is unhealthy.
  9321. items:
  9322. type: string
  9323. type: array
  9324. type: object
  9325. httpGet:
  9326. description: HTTPGet specifies the http request
  9327. to perform.
  9328. properties:
  9329. host:
  9330. description: Host name to connect to, defaults
  9331. to the pod IP. You probably want to set "Host"
  9332. in httpHeaders instead.
  9333. type: string
  9334. httpHeaders:
  9335. description: Custom headers to set in the request.
  9336. HTTP allows repeated headers.
  9337. items:
  9338. description: HTTPHeader describes a custom
  9339. header to be used in HTTP probes
  9340. properties:
  9341. name:
  9342. description: The header field name
  9343. type: string
  9344. value:
  9345. description: The header field value
  9346. type: string
  9347. required:
  9348. - name
  9349. - value
  9350. type: object
  9351. type: array
  9352. path:
  9353. description: Path to access on the HTTP server.
  9354. type: string
  9355. port:
  9356. anyOf:
  9357. - type: integer
  9358. - type: string
  9359. description: Name or number of the port to access
  9360. on the container. Number must be in the range
  9361. 1 to 65535. Name must be an IANA_SVC_NAME.
  9362. x-kubernetes-int-or-string: true
  9363. scheme:
  9364. description: Scheme to use for connecting to
  9365. the host. Defaults to HTTP.
  9366. type: string
  9367. required:
  9368. - port
  9369. type: object
  9370. tcpSocket:
  9371. description: Deprecated. TCPSocket is NOT supported
  9372. as a LifecycleHandler and kept for the backward
  9373. compatibility. There are no validation of this
  9374. field and lifecycle hooks will fail in runtime
  9375. when tcp handler is specified.
  9376. properties:
  9377. host:
  9378. description: 'Optional: Host name to connect
  9379. to, defaults to the pod IP.'
  9380. type: string
  9381. port:
  9382. anyOf:
  9383. - type: integer
  9384. - type: string
  9385. description: Number or name of the port to access
  9386. on the container. Number must be in the range
  9387. 1 to 65535. Name must be an IANA_SVC_NAME.
  9388. x-kubernetes-int-or-string: true
  9389. required:
  9390. - port
  9391. type: object
  9392. type: object
  9393. preStop:
  9394. description: 'PreStop is called immediately before a
  9395. container is terminated due to an API request or management
  9396. event such as liveness/startup probe failure, preemption,
  9397. resource contention, etc. The handler is not called
  9398. if the container crashes or exits. The Pod''s termination
  9399. grace period countdown begins before the PreStop hook
  9400. is executed. Regardless of the outcome of the handler,
  9401. the container will eventually terminate within the
  9402. Pod''s termination grace period (unless delayed by
  9403. finalizers). Other management of the container blocks
  9404. until the hook completes or until the termination
  9405. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  9406. properties:
  9407. exec:
  9408. description: Exec specifies the action to take.
  9409. properties:
  9410. command:
  9411. description: Command is the command line to
  9412. execute inside the container, the working
  9413. directory for the command is root ('/') in
  9414. the container's filesystem. The command is
  9415. simply exec'd, it is not run inside a shell,
  9416. so traditional shell instructions ('|', etc)
  9417. won't work. To use a shell, you need to explicitly
  9418. call out to that shell. Exit status of 0 is
  9419. treated as live/healthy and non-zero is unhealthy.
  9420. items:
  9421. type: string
  9422. type: array
  9423. type: object
  9424. httpGet:
  9425. description: HTTPGet specifies the http request
  9426. to perform.
  9427. properties:
  9428. host:
  9429. description: Host name to connect to, defaults
  9430. to the pod IP. You probably want to set "Host"
  9431. in httpHeaders instead.
  9432. type: string
  9433. httpHeaders:
  9434. description: Custom headers to set in the request.
  9435. HTTP allows repeated headers.
  9436. items:
  9437. description: HTTPHeader describes a custom
  9438. header to be used in HTTP probes
  9439. properties:
  9440. name:
  9441. description: The header field name
  9442. type: string
  9443. value:
  9444. description: The header field value
  9445. type: string
  9446. required:
  9447. - name
  9448. - value
  9449. type: object
  9450. type: array
  9451. path:
  9452. description: Path to access on the HTTP server.
  9453. type: string
  9454. port:
  9455. anyOf:
  9456. - type: integer
  9457. - type: string
  9458. description: Name or number of the port to access
  9459. on the container. Number must be in the range
  9460. 1 to 65535. Name must be an IANA_SVC_NAME.
  9461. x-kubernetes-int-or-string: true
  9462. scheme:
  9463. description: Scheme to use for connecting to
  9464. the host. Defaults to HTTP.
  9465. type: string
  9466. required:
  9467. - port
  9468. type: object
  9469. tcpSocket:
  9470. description: Deprecated. TCPSocket is NOT supported
  9471. as a LifecycleHandler and kept for the backward
  9472. compatibility. There are no validation of this
  9473. field and lifecycle hooks will fail in runtime
  9474. when tcp handler is specified.
  9475. properties:
  9476. host:
  9477. description: 'Optional: Host name to connect
  9478. to, defaults to the pod IP.'
  9479. type: string
  9480. port:
  9481. anyOf:
  9482. - type: integer
  9483. - type: string
  9484. description: Number or name of the port to access
  9485. on the container. Number must be in the range
  9486. 1 to 65535. Name must be an IANA_SVC_NAME.
  9487. x-kubernetes-int-or-string: true
  9488. required:
  9489. - port
  9490. type: object
  9491. type: object
  9492. type: object
  9493. livenessProbe:
  9494. description: Probes are not allowed for ephemeral containers.
  9495. properties:
  9496. exec:
  9497. description: Exec specifies the action to take.
  9498. properties:
  9499. command:
  9500. description: Command is the command line to execute
  9501. inside the container, the working directory for
  9502. the command is root ('/') in the container's
  9503. filesystem. The command is simply exec'd, it is
  9504. not run inside a shell, so traditional shell instructions
  9505. ('|', etc) won't work. To use a shell, you need
  9506. to explicitly call out to that shell. Exit status
  9507. of 0 is treated as live/healthy and non-zero is
  9508. unhealthy.
  9509. items:
  9510. type: string
  9511. type: array
  9512. type: object
  9513. failureThreshold:
  9514. description: Minimum consecutive failures for the probe
  9515. to be considered failed after having succeeded. Defaults
  9516. to 3. Minimum value is 1.
  9517. format: int32
  9518. type: integer
  9519. grpc:
  9520. description: GRPC specifies an action involving a GRPC
  9521. port. This is a beta field and requires enabling GRPCContainerProbe
  9522. feature gate.
  9523. properties:
  9524. port:
  9525. description: Port number of the gRPC service. Number
  9526. must be in the range 1 to 65535.
  9527. format: int32
  9528. type: integer
  9529. service:
  9530. description: "Service is the name of the service
  9531. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  9532. \n If this is not specified, the default behavior
  9533. is defined by gRPC."
  9534. type: string
  9535. required:
  9536. - port
  9537. type: object
  9538. httpGet:
  9539. description: HTTPGet specifies the http request to perform.
  9540. properties:
  9541. host:
  9542. description: Host name to connect to, defaults to
  9543. the pod IP. You probably want to set "Host" in
  9544. httpHeaders instead.
  9545. type: string
  9546. httpHeaders:
  9547. description: Custom headers to set in the request.
  9548. HTTP allows repeated headers.
  9549. items:
  9550. description: HTTPHeader describes a custom header
  9551. to be used in HTTP probes
  9552. properties:
  9553. name:
  9554. description: The header field name
  9555. type: string
  9556. value:
  9557. description: The header field value
  9558. type: string
  9559. required:
  9560. - name
  9561. - value
  9562. type: object
  9563. type: array
  9564. path:
  9565. description: Path to access on the HTTP server.
  9566. type: string
  9567. port:
  9568. anyOf:
  9569. - type: integer
  9570. - type: string
  9571. description: Name or number of the port to access
  9572. on the container. Number must be in the range
  9573. 1 to 65535. Name must be an IANA_SVC_NAME.
  9574. x-kubernetes-int-or-string: true
  9575. scheme:
  9576. description: Scheme to use for connecting to the
  9577. host. Defaults to HTTP.
  9578. type: string
  9579. required:
  9580. - port
  9581. type: object
  9582. initialDelaySeconds:
  9583. description: 'Number of seconds after the container
  9584. has started before liveness probes are initiated.
  9585. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9586. format: int32
  9587. type: integer
  9588. periodSeconds:
  9589. description: How often (in seconds) to perform the probe.
  9590. Default to 10 seconds. Minimum value is 1.
  9591. format: int32
  9592. type: integer
  9593. successThreshold:
  9594. description: Minimum consecutive successes for the probe
  9595. to be considered successful after having failed. Defaults
  9596. to 1. Must be 1 for liveness and startup. Minimum
  9597. value is 1.
  9598. format: int32
  9599. type: integer
  9600. tcpSocket:
  9601. description: TCPSocket specifies an action involving
  9602. a TCP port.
  9603. properties:
  9604. host:
  9605. description: 'Optional: Host name to connect to,
  9606. defaults to the pod IP.'
  9607. type: string
  9608. port:
  9609. anyOf:
  9610. - type: integer
  9611. - type: string
  9612. description: Number or name of the port to access
  9613. on the container. Number must be in the range
  9614. 1 to 65535. Name must be an IANA_SVC_NAME.
  9615. x-kubernetes-int-or-string: true
  9616. required:
  9617. - port
  9618. type: object
  9619. terminationGracePeriodSeconds:
  9620. description: Optional duration in seconds the pod needs
  9621. to terminate gracefully upon probe failure. The grace
  9622. period is the duration in seconds after the processes
  9623. running in the pod are sent a termination signal and
  9624. the time when the processes are forcibly halted with
  9625. a kill signal. Set this value longer than the expected
  9626. cleanup time for your process. If this value is nil,
  9627. the pod's terminationGracePeriodSeconds will be used.
  9628. Otherwise, this value overrides the value provided
  9629. by the pod spec. Value must be non-negative integer.
  9630. The value zero indicates stop immediately via the
  9631. kill signal (no opportunity to shut down). This is
  9632. a beta field and requires enabling ProbeTerminationGracePeriod
  9633. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  9634. is used if unset.
  9635. format: int64
  9636. type: integer
  9637. timeoutSeconds:
  9638. description: 'Number of seconds after which the probe
  9639. times out. Defaults to 1 second. Minimum value is
  9640. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9641. format: int32
  9642. type: integer
  9643. type: object
  9644. name:
  9645. description: Name of the ephemeral container specified as
  9646. a DNS_LABEL. This name must be unique among all containers,
  9647. init containers and ephemeral containers.
  9648. type: string
  9649. ports:
  9650. description: Ports are not allowed for ephemeral containers.
  9651. items:
  9652. description: ContainerPort represents a network port in
  9653. a single container.
  9654. properties:
  9655. containerPort:
  9656. description: Number of port to expose on the pod's
  9657. IP address. This must be a valid port number, 0
  9658. < x < 65536.
  9659. format: int32
  9660. type: integer
  9661. hostIP:
  9662. description: What host IP to bind the external port
  9663. to.
  9664. type: string
  9665. hostPort:
  9666. description: Number of port to expose on the host.
  9667. If specified, this must be a valid port number,
  9668. 0 < x < 65536. If HostNetwork is specified, this
  9669. must match ContainerPort. Most containers do not
  9670. need this.
  9671. format: int32
  9672. type: integer
  9673. name:
  9674. description: If specified, this must be an IANA_SVC_NAME
  9675. and unique within the pod. Each named port in a
  9676. pod must have a unique name. Name for the port that
  9677. can be referred to by services.
  9678. type: string
  9679. protocol:
  9680. default: TCP
  9681. description: Protocol for port. Must be UDP, TCP,
  9682. or SCTP. Defaults to "TCP".
  9683. type: string
  9684. required:
  9685. - containerPort
  9686. type: object
  9687. type: array
  9688. x-kubernetes-list-map-keys:
  9689. - containerPort
  9690. - protocol
  9691. x-kubernetes-list-type: map
  9692. readinessProbe:
  9693. description: Probes are not allowed for ephemeral containers.
  9694. properties:
  9695. exec:
  9696. description: Exec specifies the action to take.
  9697. properties:
  9698. command:
  9699. description: Command is the command line to execute
  9700. inside the container, the working directory for
  9701. the command is root ('/') in the container's
  9702. filesystem. The command is simply exec'd, it is
  9703. not run inside a shell, so traditional shell instructions
  9704. ('|', etc) won't work. To use a shell, you need
  9705. to explicitly call out to that shell. Exit status
  9706. of 0 is treated as live/healthy and non-zero is
  9707. unhealthy.
  9708. items:
  9709. type: string
  9710. type: array
  9711. type: object
  9712. failureThreshold:
  9713. description: Minimum consecutive failures for the probe
  9714. to be considered failed after having succeeded. Defaults
  9715. to 3. Minimum value is 1.
  9716. format: int32
  9717. type: integer
  9718. grpc:
  9719. description: GRPC specifies an action involving a GRPC
  9720. port. This is a beta field and requires enabling GRPCContainerProbe
  9721. feature gate.
  9722. properties:
  9723. port:
  9724. description: Port number of the gRPC service. Number
  9725. must be in the range 1 to 65535.
  9726. format: int32
  9727. type: integer
  9728. service:
  9729. description: "Service is the name of the service
  9730. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  9731. \n If this is not specified, the default behavior
  9732. is defined by gRPC."
  9733. type: string
  9734. required:
  9735. - port
  9736. type: object
  9737. httpGet:
  9738. description: HTTPGet specifies the http request to perform.
  9739. properties:
  9740. host:
  9741. description: Host name to connect to, defaults to
  9742. the pod IP. You probably want to set "Host" in
  9743. httpHeaders instead.
  9744. type: string
  9745. httpHeaders:
  9746. description: Custom headers to set in the request.
  9747. HTTP allows repeated headers.
  9748. items:
  9749. description: HTTPHeader describes a custom header
  9750. to be used in HTTP probes
  9751. properties:
  9752. name:
  9753. description: The header field name
  9754. type: string
  9755. value:
  9756. description: The header field value
  9757. type: string
  9758. required:
  9759. - name
  9760. - value
  9761. type: object
  9762. type: array
  9763. path:
  9764. description: Path to access on the HTTP server.
  9765. type: string
  9766. port:
  9767. anyOf:
  9768. - type: integer
  9769. - type: string
  9770. description: Name or number of the port to access
  9771. on the container. Number must be in the range
  9772. 1 to 65535. Name must be an IANA_SVC_NAME.
  9773. x-kubernetes-int-or-string: true
  9774. scheme:
  9775. description: Scheme to use for connecting to the
  9776. host. Defaults to HTTP.
  9777. type: string
  9778. required:
  9779. - port
  9780. type: object
  9781. initialDelaySeconds:
  9782. description: 'Number of seconds after the container
  9783. has started before liveness probes are initiated.
  9784. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9785. format: int32
  9786. type: integer
  9787. periodSeconds:
  9788. description: How often (in seconds) to perform the probe.
  9789. Default to 10 seconds. Minimum value is 1.
  9790. format: int32
  9791. type: integer
  9792. successThreshold:
  9793. description: Minimum consecutive successes for the probe
  9794. to be considered successful after having failed. Defaults
  9795. to 1. Must be 1 for liveness and startup. Minimum
  9796. value is 1.
  9797. format: int32
  9798. type: integer
  9799. tcpSocket:
  9800. description: TCPSocket specifies an action involving
  9801. a TCP port.
  9802. properties:
  9803. host:
  9804. description: 'Optional: Host name to connect to,
  9805. defaults to the pod IP.'
  9806. type: string
  9807. port:
  9808. anyOf:
  9809. - type: integer
  9810. - type: string
  9811. description: Number or name of the port to access
  9812. on the container. Number must be in the range
  9813. 1 to 65535. Name must be an IANA_SVC_NAME.
  9814. x-kubernetes-int-or-string: true
  9815. required:
  9816. - port
  9817. type: object
  9818. terminationGracePeriodSeconds:
  9819. description: Optional duration in seconds the pod needs
  9820. to terminate gracefully upon probe failure. The grace
  9821. period is the duration in seconds after the processes
  9822. running in the pod are sent a termination signal and
  9823. the time when the processes are forcibly halted with
  9824. a kill signal. Set this value longer than the expected
  9825. cleanup time for your process. If this value is nil,
  9826. the pod's terminationGracePeriodSeconds will be used.
  9827. Otherwise, this value overrides the value provided
  9828. by the pod spec. Value must be non-negative integer.
  9829. The value zero indicates stop immediately via the
  9830. kill signal (no opportunity to shut down). This is
  9831. a beta field and requires enabling ProbeTerminationGracePeriod
  9832. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  9833. is used if unset.
  9834. format: int64
  9835. type: integer
  9836. timeoutSeconds:
  9837. description: 'Number of seconds after which the probe
  9838. times out. Defaults to 1 second. Minimum value is
  9839. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  9840. format: int32
  9841. type: integer
  9842. type: object
  9843. resources:
  9844. description: Resources are not allowed for ephemeral containers.
  9845. Ephemeral containers use spare resources already allocated
  9846. to the pod.
  9847. properties:
  9848. limits:
  9849. additionalProperties:
  9850. anyOf:
  9851. - type: integer
  9852. - type: string
  9853. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9854. x-kubernetes-int-or-string: true
  9855. description: 'Limits describes the maximum amount of
  9856. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9857. type: object
  9858. requests:
  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: 'Requests describes the minimum amount
  9866. of compute resources required. If Requests is omitted
  9867. for a container, it defaults to Limits if that is
  9868. explicitly specified, otherwise to an implementation-defined
  9869. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9870. type: object
  9871. type: object
  9872. securityContext:
  9873. description: 'Optional: SecurityContext defines the security
  9874. options the ephemeral container should be run with. If
  9875. set, the fields of SecurityContext override the equivalent
  9876. fields of PodSecurityContext.'
  9877. properties:
  9878. allowPrivilegeEscalation:
  9879. description: 'AllowPrivilegeEscalation controls whether
  9880. a process can gain more privileges than its parent
  9881. process. This bool directly controls if the no_new_privs
  9882. flag will be set on the container process. AllowPrivilegeEscalation
  9883. is true always when the container is: 1) run as Privileged
  9884. 2) has CAP_SYS_ADMIN Note that this field cannot be
  9885. set when spec.os.name is windows.'
  9886. type: boolean
  9887. capabilities:
  9888. description: The capabilities to add/drop when running
  9889. containers. Defaults to the default set of capabilities
  9890. granted by the container runtime. Note that this field
  9891. cannot be set when spec.os.name is windows.
  9892. properties:
  9893. add:
  9894. description: Added capabilities
  9895. items:
  9896. description: Capability represent POSIX capabilities
  9897. type
  9898. type: string
  9899. type: array
  9900. drop:
  9901. description: Removed capabilities
  9902. items:
  9903. description: Capability represent POSIX capabilities
  9904. type
  9905. type: string
  9906. type: array
  9907. type: object
  9908. privileged:
  9909. description: Run container in privileged mode. Processes
  9910. in privileged containers are essentially equivalent
  9911. to root on the host. Defaults to false. Note that
  9912. this field cannot be set when spec.os.name is windows.
  9913. type: boolean
  9914. procMount:
  9915. description: procMount denotes the type of proc mount
  9916. to use for the containers. The default is DefaultProcMount
  9917. which uses the container runtime defaults for readonly
  9918. paths and masked paths. This requires the ProcMountType
  9919. feature flag to be enabled. Note that this field cannot
  9920. be set when spec.os.name is windows.
  9921. type: string
  9922. readOnlyRootFilesystem:
  9923. description: Whether this container has a read-only
  9924. root filesystem. Default is false. Note that this
  9925. field cannot be set when spec.os.name is windows.
  9926. type: boolean
  9927. runAsGroup:
  9928. description: The GID to run the entrypoint of the container
  9929. process. Uses runtime default if unset. May also be
  9930. set in PodSecurityContext. If set in both SecurityContext
  9931. and PodSecurityContext, the value specified in SecurityContext
  9932. takes precedence. Note that this field cannot be set
  9933. when spec.os.name is windows.
  9934. format: int64
  9935. type: integer
  9936. runAsNonRoot:
  9937. description: Indicates that the container must run as
  9938. a non-root user. If true, the Kubelet will validate
  9939. the image at runtime to ensure that it does not run
  9940. as UID 0 (root) and fail to start the container if
  9941. it does. If unset or false, no such validation will
  9942. be performed. May also be set in PodSecurityContext. If
  9943. set in both SecurityContext and PodSecurityContext,
  9944. the value specified in SecurityContext takes precedence.
  9945. type: boolean
  9946. runAsUser:
  9947. description: The UID to run the entrypoint of the container
  9948. process. Defaults to user specified in image metadata
  9949. if unspecified. May also be set in PodSecurityContext. If
  9950. set in both SecurityContext and PodSecurityContext,
  9951. the value specified in SecurityContext takes precedence.
  9952. Note that this field cannot be set when spec.os.name
  9953. is windows.
  9954. format: int64
  9955. type: integer
  9956. seLinuxOptions:
  9957. description: The SELinux context to be applied to the
  9958. container. If unspecified, the container runtime will
  9959. allocate a random SELinux context for each container. May
  9960. also be set in PodSecurityContext. If set in both
  9961. SecurityContext and PodSecurityContext, the value
  9962. specified in SecurityContext takes precedence. Note
  9963. that this field cannot be set when spec.os.name is
  9964. windows.
  9965. properties:
  9966. level:
  9967. description: Level is SELinux level label that applies
  9968. to the container.
  9969. type: string
  9970. role:
  9971. description: Role is a SELinux role label that applies
  9972. to the container.
  9973. type: string
  9974. type:
  9975. description: Type is a SELinux type label that applies
  9976. to the container.
  9977. type: string
  9978. user:
  9979. description: User is a SELinux user label that applies
  9980. to the container.
  9981. type: string
  9982. type: object
  9983. seccompProfile:
  9984. description: The seccomp options to use by this container.
  9985. If seccomp options are provided at both the pod &
  9986. container level, the container options override the
  9987. pod options. Note that this field cannot be set when
  9988. spec.os.name is windows.
  9989. properties:
  9990. localhostProfile:
  9991. description: localhostProfile indicates a profile
  9992. defined in a file on the node should be used.
  9993. The profile must be preconfigured on the node
  9994. to work. Must be a descending path, relative to
  9995. the kubelet's configured seccomp profile location.
  9996. Must only be set if type is "Localhost".
  9997. type: string
  9998. type:
  9999. description: "type indicates which kind of seccomp
  10000. profile will be applied. Valid options are: \n
  10001. Localhost - a profile defined in a file on the
  10002. node should be used. RuntimeDefault - the container
  10003. runtime default profile should be used. Unconfined
  10004. - no profile should be applied."
  10005. type: string
  10006. required:
  10007. - type
  10008. type: object
  10009. windowsOptions:
  10010. description: The Windows specific settings applied to
  10011. all containers. If unspecified, the options from the
  10012. PodSecurityContext will be used. If set in both SecurityContext
  10013. and PodSecurityContext, the value specified in SecurityContext
  10014. takes precedence. Note that this field cannot be set
  10015. when spec.os.name is linux.
  10016. properties:
  10017. gmsaCredentialSpec:
  10018. description: GMSACredentialSpec is where the GMSA
  10019. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  10020. inlines the contents of the GMSA credential spec
  10021. named by the GMSACredentialSpecName field.
  10022. type: string
  10023. gmsaCredentialSpecName:
  10024. description: GMSACredentialSpecName is the name
  10025. of the GMSA credential spec to use.
  10026. type: string
  10027. hostProcess:
  10028. description: HostProcess determines if a container
  10029. should be run as a 'Host Process' container. This
  10030. field is alpha-level and will only be honored
  10031. by components that enable the WindowsHostProcessContainers
  10032. feature flag. Setting this field without the feature
  10033. flag will result in errors when validating the
  10034. Pod. All of a Pod's containers must have the same
  10035. effective HostProcess value (it is not allowed
  10036. to have a mix of HostProcess containers and non-HostProcess
  10037. containers). In addition, if HostProcess is true
  10038. then HostNetwork must also be set to true.
  10039. type: boolean
  10040. runAsUserName:
  10041. description: The UserName in Windows to run the
  10042. entrypoint of the container process. Defaults
  10043. to the user specified in image metadata if unspecified.
  10044. May also be set in PodSecurityContext. If set
  10045. in both SecurityContext and PodSecurityContext,
  10046. the value specified in SecurityContext takes precedence.
  10047. type: string
  10048. type: object
  10049. type: object
  10050. startupProbe:
  10051. description: Probes are not allowed for ephemeral containers.
  10052. properties:
  10053. exec:
  10054. description: Exec specifies the action to take.
  10055. properties:
  10056. command:
  10057. description: Command is the command line to execute
  10058. inside the container, the working directory for
  10059. the command is root ('/') in the container's
  10060. filesystem. The command is simply exec'd, it is
  10061. not run inside a shell, so traditional shell instructions
  10062. ('|', etc) won't work. To use a shell, you need
  10063. to explicitly call out to that shell. Exit status
  10064. of 0 is treated as live/healthy and non-zero is
  10065. unhealthy.
  10066. items:
  10067. type: string
  10068. type: array
  10069. type: object
  10070. failureThreshold:
  10071. description: Minimum consecutive failures for the probe
  10072. to be considered failed after having succeeded. Defaults
  10073. to 3. Minimum value is 1.
  10074. format: int32
  10075. type: integer
  10076. grpc:
  10077. description: GRPC specifies an action involving a GRPC
  10078. port. This is a beta field and requires enabling GRPCContainerProbe
  10079. feature gate.
  10080. properties:
  10081. port:
  10082. description: Port number of the gRPC service. Number
  10083. must be in the range 1 to 65535.
  10084. format: int32
  10085. type: integer
  10086. service:
  10087. description: "Service is the name of the service
  10088. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  10089. \n If this is not specified, the default behavior
  10090. is defined by gRPC."
  10091. type: string
  10092. required:
  10093. - port
  10094. type: object
  10095. httpGet:
  10096. description: HTTPGet specifies the http request to perform.
  10097. properties:
  10098. host:
  10099. description: Host name to connect to, defaults to
  10100. the pod IP. You probably want to set "Host" in
  10101. httpHeaders instead.
  10102. type: string
  10103. httpHeaders:
  10104. description: Custom headers to set in the request.
  10105. HTTP allows repeated headers.
  10106. items:
  10107. description: HTTPHeader describes a custom header
  10108. to be used in HTTP probes
  10109. properties:
  10110. name:
  10111. description: The header field name
  10112. type: string
  10113. value:
  10114. description: The header field value
  10115. type: string
  10116. required:
  10117. - name
  10118. - value
  10119. type: object
  10120. type: array
  10121. path:
  10122. description: Path to access on the HTTP server.
  10123. type: string
  10124. port:
  10125. anyOf:
  10126. - type: integer
  10127. - type: string
  10128. description: Name or number of the port to access
  10129. on the container. Number must be in the range
  10130. 1 to 65535. Name must be an IANA_SVC_NAME.
  10131. x-kubernetes-int-or-string: true
  10132. scheme:
  10133. description: Scheme to use for connecting to the
  10134. host. Defaults to HTTP.
  10135. type: string
  10136. required:
  10137. - port
  10138. type: object
  10139. initialDelaySeconds:
  10140. description: 'Number of seconds after the container
  10141. has started before liveness probes are initiated.
  10142. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10143. format: int32
  10144. type: integer
  10145. periodSeconds:
  10146. description: How often (in seconds) to perform the probe.
  10147. Default to 10 seconds. Minimum value is 1.
  10148. format: int32
  10149. type: integer
  10150. successThreshold:
  10151. description: Minimum consecutive successes for the probe
  10152. to be considered successful after having failed. Defaults
  10153. to 1. Must be 1 for liveness and startup. Minimum
  10154. value is 1.
  10155. format: int32
  10156. type: integer
  10157. tcpSocket:
  10158. description: TCPSocket specifies an action involving
  10159. a TCP port.
  10160. properties:
  10161. host:
  10162. description: 'Optional: Host name to connect to,
  10163. defaults to the pod IP.'
  10164. type: string
  10165. port:
  10166. anyOf:
  10167. - type: integer
  10168. - type: string
  10169. description: Number or name of the port to access
  10170. on the container. Number must be in the range
  10171. 1 to 65535. Name must be an IANA_SVC_NAME.
  10172. x-kubernetes-int-or-string: true
  10173. required:
  10174. - port
  10175. type: object
  10176. terminationGracePeriodSeconds:
  10177. description: Optional duration in seconds the pod needs
  10178. to terminate gracefully upon probe failure. The grace
  10179. period is the duration in seconds after the processes
  10180. running in the pod are sent a termination signal and
  10181. the time when the processes are forcibly halted with
  10182. a kill signal. Set this value longer than the expected
  10183. cleanup time for your process. If this value is nil,
  10184. the pod's terminationGracePeriodSeconds will be used.
  10185. Otherwise, this value overrides the value provided
  10186. by the pod spec. Value must be non-negative integer.
  10187. The value zero indicates stop immediately via the
  10188. kill signal (no opportunity to shut down). This is
  10189. a beta field and requires enabling ProbeTerminationGracePeriod
  10190. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  10191. is used if unset.
  10192. format: int64
  10193. type: integer
  10194. timeoutSeconds:
  10195. description: 'Number of seconds after which the probe
  10196. times out. Defaults to 1 second. Minimum value is
  10197. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10198. format: int32
  10199. type: integer
  10200. type: object
  10201. stdin:
  10202. description: Whether this container should allocate a buffer
  10203. for stdin in the container runtime. If this is not set,
  10204. reads from stdin in the container will always result in
  10205. EOF. Default is false.
  10206. type: boolean
  10207. stdinOnce:
  10208. description: Whether the container runtime should close
  10209. the stdin channel after it has been opened by a single
  10210. attach. When stdin is true the stdin stream will remain
  10211. open across multiple attach sessions. If stdinOnce is
  10212. set to true, stdin is opened on container start, is empty
  10213. until the first client attaches to stdin, and then remains
  10214. open and accepts data until the client disconnects, at
  10215. which time stdin is closed and remains closed until the
  10216. container is restarted. If this flag is false, a container
  10217. processes that reads from stdin will never receive an
  10218. EOF. Default is false
  10219. type: boolean
  10220. targetContainerName:
  10221. description: "If set, the name of the container from PodSpec
  10222. that this ephemeral container targets. The ephemeral container
  10223. will be run in the namespaces (IPC, PID, etc) of this
  10224. container. If not set then the ephemeral container uses
  10225. the namespaces configured in the Pod spec. \n The container
  10226. runtime must implement support for this feature. If the
  10227. runtime does not support namespace targeting then the
  10228. result of setting this field is undefined."
  10229. type: string
  10230. terminationMessagePath:
  10231. description: 'Optional: Path at which the file to which
  10232. the container''s termination message will be written is
  10233. mounted into the container''s filesystem. Message written
  10234. is intended to be brief final status, such as an assertion
  10235. failure message. Will be truncated by the node if greater
  10236. than 4096 bytes. The total message length across all containers
  10237. will be limited to 12kb. Defaults to /dev/termination-log.
  10238. Cannot be updated.'
  10239. type: string
  10240. terminationMessagePolicy:
  10241. description: Indicate how the termination message should
  10242. be populated. File will use the contents of terminationMessagePath
  10243. to populate the container status message on both success
  10244. and failure. FallbackToLogsOnError will use the last chunk
  10245. of container log output if the termination message file
  10246. is empty and the container exited with an error. The log
  10247. output is limited to 2048 bytes or 80 lines, whichever
  10248. is smaller. Defaults to File. Cannot be updated.
  10249. type: string
  10250. tty:
  10251. description: Whether this container should allocate a TTY
  10252. for itself, also requires 'stdin' to be true. Default
  10253. is false.
  10254. type: boolean
  10255. volumeDevices:
  10256. description: volumeDevices is the list of block devices
  10257. to be used by the container.
  10258. items:
  10259. description: volumeDevice describes a mapping of a raw
  10260. block device within a container.
  10261. properties:
  10262. devicePath:
  10263. description: devicePath is the path inside of the
  10264. container that the device will be mapped to.
  10265. type: string
  10266. name:
  10267. description: name must match the name of a persistentVolumeClaim
  10268. in the pod
  10269. type: string
  10270. required:
  10271. - devicePath
  10272. - name
  10273. type: object
  10274. type: array
  10275. volumeMounts:
  10276. description: Pod volumes to mount into the container's filesystem.
  10277. Subpath mounts are not allowed for ephemeral containers.
  10278. Cannot be updated.
  10279. items:
  10280. description: VolumeMount describes a mounting of a Volume
  10281. within a container.
  10282. properties:
  10283. mountPath:
  10284. description: Path within the container at which the
  10285. volume should be mounted. Must not contain ':'.
  10286. type: string
  10287. mountPropagation:
  10288. description: mountPropagation determines how mounts
  10289. are propagated from the host to container and the
  10290. other way around. When not set, MountPropagationNone
  10291. is used. This field is beta in 1.10.
  10292. type: string
  10293. name:
  10294. description: This must match the Name of a Volume.
  10295. type: string
  10296. readOnly:
  10297. description: Mounted read-only if true, read-write
  10298. otherwise (false or unspecified). Defaults to false.
  10299. type: boolean
  10300. subPath:
  10301. description: Path within the volume from which the
  10302. container's volume should be mounted. Defaults to
  10303. "" (volume's root).
  10304. type: string
  10305. subPathExpr:
  10306. description: Expanded path within the volume from
  10307. which the container's volume should be mounted.
  10308. Behaves similarly to SubPath but environment variable
  10309. references $(VAR_NAME) are expanded using the container's
  10310. environment. Defaults to "" (volume's root). SubPathExpr
  10311. and SubPath are mutually exclusive.
  10312. type: string
  10313. required:
  10314. - mountPath
  10315. - name
  10316. type: object
  10317. type: array
  10318. workingDir:
  10319. description: Container's working directory. If not specified,
  10320. the container runtime's default will be used, which might
  10321. be configured in the container image. Cannot be updated.
  10322. type: string
  10323. required:
  10324. - name
  10325. type: object
  10326. type: array
  10327. hostAliases:
  10328. description: HostAliases is an optional list of hosts and IPs
  10329. that will be injected into the pod's hosts file if specified.
  10330. This is only valid for non-hostNetwork pods.
  10331. items:
  10332. description: HostAlias holds the mapping between IP and hostnames
  10333. that will be injected as an entry in the pod's hosts file.
  10334. properties:
  10335. hostnames:
  10336. description: Hostnames for the above IP address.
  10337. items:
  10338. type: string
  10339. type: array
  10340. ip:
  10341. description: IP address of the host file entry.
  10342. type: string
  10343. type: object
  10344. type: array
  10345. hostIPC:
  10346. description: 'Use the host''s ipc namespace. Optional: Default
  10347. to false.'
  10348. type: boolean
  10349. hostNetwork:
  10350. description: Host networking requested for this pod. Use the host's
  10351. network namespace. If this option is set, the ports that will
  10352. be used must be specified. Default to false.
  10353. type: boolean
  10354. hostPID:
  10355. description: 'Use the host''s pid namespace. Optional: Default
  10356. to false.'
  10357. type: boolean
  10358. hostname:
  10359. description: Specifies the hostname of the Pod If not specified,
  10360. the pod's hostname will be set to a system-defined value.
  10361. type: string
  10362. imagePullSecrets:
  10363. description: 'ImagePullSecrets is an optional list of references
  10364. to secrets in the same namespace to use for pulling any of the
  10365. images used by this PodSpec. If specified, these secrets will
  10366. be passed to individual puller implementations for them to use.
  10367. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  10368. items:
  10369. description: LocalObjectReference contains enough information
  10370. to let you locate the referenced object inside the same namespace.
  10371. properties:
  10372. name:
  10373. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10374. TODO: Add other useful fields. apiVersion, kind, uid?'
  10375. type: string
  10376. type: object
  10377. x-kubernetes-map-type: atomic
  10378. type: array
  10379. initContainers:
  10380. description: 'List of initialization containers belonging to the
  10381. pod. Init containers are executed in order prior to containers
  10382. being started. If any init container fails, the pod is considered
  10383. to have failed and is handled according to its restartPolicy.
  10384. The name for an init container or normal container must be unique
  10385. among all containers. Init containers may not have Lifecycle
  10386. actions, Readiness probes, Liveness probes, or Startup probes.
  10387. The resourceRequirements of an init container are taken into
  10388. account during scheduling by finding the highest request/limit
  10389. for each resource type, and then using the max of of that value
  10390. or the sum of the normal containers. Limits are applied to init
  10391. containers in a similar fashion. Init containers cannot currently
  10392. be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
  10393. items:
  10394. description: A single application container that you want to
  10395. run within a pod.
  10396. properties:
  10397. args:
  10398. description: 'Arguments to the entrypoint. The container
  10399. image''s CMD is used if this is not provided. Variable
  10400. references $(VAR_NAME) are expanded using the container''s
  10401. environment. If a variable cannot be resolved, the reference
  10402. in the input string will be unchanged. Double $$ are reduced
  10403. to a single $, which allows for escaping the $(VAR_NAME)
  10404. syntax: i.e. "$$(VAR_NAME)" will produce the string literal
  10405. "$(VAR_NAME)". Escaped references will never be expanded,
  10406. regardless of whether the variable exists or not. Cannot
  10407. be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  10408. items:
  10409. type: string
  10410. type: array
  10411. command:
  10412. description: 'Entrypoint array. Not executed within a shell.
  10413. The container image''s ENTRYPOINT is used if this is not
  10414. provided. Variable references $(VAR_NAME) are expanded
  10415. using the container''s environment. If a variable cannot
  10416. be resolved, the reference in the input string will be
  10417. unchanged. Double $$ are reduced to a single $, which
  10418. allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  10419. will produce the string literal "$(VAR_NAME)". Escaped
  10420. references will never be expanded, regardless of whether
  10421. the variable exists or not. Cannot be updated. More info:
  10422. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  10423. items:
  10424. type: string
  10425. type: array
  10426. env:
  10427. description: List of environment variables to set in the
  10428. container. Cannot be updated.
  10429. items:
  10430. description: EnvVar represents an environment variable
  10431. present in a Container.
  10432. properties:
  10433. name:
  10434. description: Name of the environment variable. Must
  10435. be a C_IDENTIFIER.
  10436. type: string
  10437. value:
  10438. description: 'Variable references $(VAR_NAME) are
  10439. expanded using the previously defined environment
  10440. variables in the container and any service environment
  10441. variables. If a variable cannot be resolved, the
  10442. reference in the input string will be unchanged.
  10443. Double $$ are reduced to a single $, which allows
  10444. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
  10445. will produce the string literal "$(VAR_NAME)". Escaped
  10446. references will never be expanded, regardless of
  10447. whether the variable exists or not. Defaults to
  10448. "".'
  10449. type: string
  10450. valueFrom:
  10451. description: Source for the environment variable's
  10452. value. Cannot be used if value is not empty.
  10453. properties:
  10454. configMapKeyRef:
  10455. description: Selects a key of a ConfigMap.
  10456. properties:
  10457. key:
  10458. description: The key to select.
  10459. type: string
  10460. name:
  10461. description: 'Name of the referent. More info:
  10462. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10463. TODO: Add other useful fields. apiVersion,
  10464. kind, uid?'
  10465. type: string
  10466. optional:
  10467. description: Specify whether the ConfigMap
  10468. or its key must be defined
  10469. type: boolean
  10470. required:
  10471. - key
  10472. type: object
  10473. x-kubernetes-map-type: atomic
  10474. fieldRef:
  10475. description: 'Selects a field of the pod: supports
  10476. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  10477. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  10478. spec.serviceAccountName, status.hostIP, status.podIP,
  10479. status.podIPs.'
  10480. properties:
  10481. apiVersion:
  10482. description: Version of the schema the FieldPath
  10483. is written in terms of, defaults to "v1".
  10484. type: string
  10485. fieldPath:
  10486. description: Path of the field to select in
  10487. the specified API version.
  10488. type: string
  10489. required:
  10490. - fieldPath
  10491. type: object
  10492. x-kubernetes-map-type: atomic
  10493. resourceFieldRef:
  10494. description: 'Selects a resource of the container:
  10495. only resources limits and requests (limits.cpu,
  10496. limits.memory, limits.ephemeral-storage, requests.cpu,
  10497. requests.memory and requests.ephemeral-storage)
  10498. are currently supported.'
  10499. properties:
  10500. containerName:
  10501. description: 'Container name: required for
  10502. volumes, optional for env vars'
  10503. type: string
  10504. divisor:
  10505. anyOf:
  10506. - type: integer
  10507. - type: string
  10508. description: Specifies the output format of
  10509. the exposed resources, defaults to "1"
  10510. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10511. x-kubernetes-int-or-string: true
  10512. resource:
  10513. description: 'Required: resource to select'
  10514. type: string
  10515. required:
  10516. - resource
  10517. type: object
  10518. x-kubernetes-map-type: atomic
  10519. secretKeyRef:
  10520. description: Selects a key of a secret in the
  10521. pod's namespace
  10522. properties:
  10523. key:
  10524. description: The key of the secret to select
  10525. from. Must be a valid secret key.
  10526. type: string
  10527. name:
  10528. description: 'Name of the referent. More info:
  10529. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10530. TODO: Add other useful fields. apiVersion,
  10531. kind, uid?'
  10532. type: string
  10533. optional:
  10534. description: Specify whether the Secret or
  10535. its key must be defined
  10536. type: boolean
  10537. required:
  10538. - key
  10539. type: object
  10540. x-kubernetes-map-type: atomic
  10541. type: object
  10542. required:
  10543. - name
  10544. type: object
  10545. type: array
  10546. envFrom:
  10547. description: List of sources to populate environment variables
  10548. in the container. The keys defined within a source must
  10549. be a C_IDENTIFIER. All invalid keys will be reported as
  10550. an event when the container is starting. When a key exists
  10551. in multiple sources, the value associated with the last
  10552. source will take precedence. Values defined by an Env
  10553. with a duplicate key will take precedence. Cannot be updated.
  10554. items:
  10555. description: EnvFromSource represents the source of a
  10556. set of ConfigMaps
  10557. properties:
  10558. configMapRef:
  10559. description: The ConfigMap to select from
  10560. properties:
  10561. name:
  10562. description: 'Name of the referent. More info:
  10563. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10564. TODO: Add other useful fields. apiVersion, kind,
  10565. uid?'
  10566. type: string
  10567. optional:
  10568. description: Specify whether the ConfigMap must
  10569. be defined
  10570. type: boolean
  10571. type: object
  10572. x-kubernetes-map-type: atomic
  10573. prefix:
  10574. description: An optional identifier to prepend to
  10575. each key in the ConfigMap. Must be a C_IDENTIFIER.
  10576. type: string
  10577. secretRef:
  10578. description: The Secret to select from
  10579. properties:
  10580. name:
  10581. description: 'Name of the referent. More info:
  10582. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10583. TODO: Add other useful fields. apiVersion, kind,
  10584. uid?'
  10585. type: string
  10586. optional:
  10587. description: Specify whether the Secret must be
  10588. defined
  10589. type: boolean
  10590. type: object
  10591. x-kubernetes-map-type: atomic
  10592. type: object
  10593. type: array
  10594. image:
  10595. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  10596. This field is optional to allow higher level config management
  10597. to default or override container images in workload controllers
  10598. like Deployments and StatefulSets.'
  10599. type: string
  10600. imagePullPolicy:
  10601. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  10602. Defaults to Always if :latest tag is specified, or IfNotPresent
  10603. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  10604. type: string
  10605. lifecycle:
  10606. description: Actions that the management system should take
  10607. in response to container lifecycle events. Cannot be updated.
  10608. properties:
  10609. postStart:
  10610. description: 'PostStart is called immediately after
  10611. a container is created. If the handler fails, the
  10612. container is terminated and restarted according to
  10613. its restart policy. Other management of the container
  10614. blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  10615. properties:
  10616. exec:
  10617. description: Exec specifies the action to take.
  10618. properties:
  10619. command:
  10620. description: Command is the command line to
  10621. execute inside the container, the working
  10622. directory for the command is root ('/') in
  10623. the container's filesystem. The command is
  10624. simply exec'd, it is not run inside a shell,
  10625. so traditional shell instructions ('|', etc)
  10626. won't work. To use a shell, you need to explicitly
  10627. call out to that shell. Exit status of 0 is
  10628. treated as live/healthy and non-zero is unhealthy.
  10629. items:
  10630. type: string
  10631. type: array
  10632. type: object
  10633. httpGet:
  10634. description: HTTPGet specifies the http request
  10635. to perform.
  10636. properties:
  10637. host:
  10638. description: Host name to connect to, defaults
  10639. to the pod IP. You probably want to set "Host"
  10640. in httpHeaders instead.
  10641. type: string
  10642. httpHeaders:
  10643. description: Custom headers to set in the request.
  10644. HTTP allows repeated headers.
  10645. items:
  10646. description: HTTPHeader describes a custom
  10647. header to be used in HTTP probes
  10648. properties:
  10649. name:
  10650. description: The header field name
  10651. type: string
  10652. value:
  10653. description: The header field value
  10654. type: string
  10655. required:
  10656. - name
  10657. - value
  10658. type: object
  10659. type: array
  10660. path:
  10661. description: Path to access on the HTTP server.
  10662. type: string
  10663. port:
  10664. anyOf:
  10665. - type: integer
  10666. - type: string
  10667. description: Name or number of the port to access
  10668. on the container. Number must be in the range
  10669. 1 to 65535. Name must be an IANA_SVC_NAME.
  10670. x-kubernetes-int-or-string: true
  10671. scheme:
  10672. description: Scheme to use for connecting to
  10673. the host. Defaults to HTTP.
  10674. type: string
  10675. required:
  10676. - port
  10677. type: object
  10678. tcpSocket:
  10679. description: Deprecated. TCPSocket is NOT supported
  10680. as a LifecycleHandler and kept for the backward
  10681. compatibility. There are no validation of this
  10682. field and lifecycle hooks will fail in runtime
  10683. when tcp handler is specified.
  10684. properties:
  10685. host:
  10686. description: 'Optional: Host name to connect
  10687. to, defaults to the pod IP.'
  10688. type: string
  10689. port:
  10690. anyOf:
  10691. - type: integer
  10692. - type: string
  10693. description: Number or name of the port to access
  10694. on the container. Number must be in the range
  10695. 1 to 65535. Name must be an IANA_SVC_NAME.
  10696. x-kubernetes-int-or-string: true
  10697. required:
  10698. - port
  10699. type: object
  10700. type: object
  10701. preStop:
  10702. description: 'PreStop is called immediately before a
  10703. container is terminated due to an API request or management
  10704. event such as liveness/startup probe failure, preemption,
  10705. resource contention, etc. The handler is not called
  10706. if the container crashes or exits. The Pod''s termination
  10707. grace period countdown begins before the PreStop hook
  10708. is executed. Regardless of the outcome of the handler,
  10709. the container will eventually terminate within the
  10710. Pod''s termination grace period (unless delayed by
  10711. finalizers). Other management of the container blocks
  10712. until the hook completes or until the termination
  10713. grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  10714. properties:
  10715. exec:
  10716. description: Exec specifies the action to take.
  10717. properties:
  10718. command:
  10719. description: Command is the command line to
  10720. execute inside the container, the working
  10721. directory for the command is root ('/') in
  10722. the container's filesystem. The command is
  10723. simply exec'd, it is not run inside a shell,
  10724. so traditional shell instructions ('|', etc)
  10725. won't work. To use a shell, you need to explicitly
  10726. call out to that shell. Exit status of 0 is
  10727. treated as live/healthy and non-zero is unhealthy.
  10728. items:
  10729. type: string
  10730. type: array
  10731. type: object
  10732. httpGet:
  10733. description: HTTPGet specifies the http request
  10734. to perform.
  10735. properties:
  10736. host:
  10737. description: Host name to connect to, defaults
  10738. to the pod IP. You probably want to set "Host"
  10739. in httpHeaders instead.
  10740. type: string
  10741. httpHeaders:
  10742. description: Custom headers to set in the request.
  10743. HTTP allows repeated headers.
  10744. items:
  10745. description: HTTPHeader describes a custom
  10746. header to be used in HTTP probes
  10747. properties:
  10748. name:
  10749. description: The header field name
  10750. type: string
  10751. value:
  10752. description: The header field value
  10753. type: string
  10754. required:
  10755. - name
  10756. - value
  10757. type: object
  10758. type: array
  10759. path:
  10760. description: Path to access on the HTTP server.
  10761. type: string
  10762. port:
  10763. anyOf:
  10764. - type: integer
  10765. - type: string
  10766. description: Name or number of the port to access
  10767. on the container. Number must be in the range
  10768. 1 to 65535. Name must be an IANA_SVC_NAME.
  10769. x-kubernetes-int-or-string: true
  10770. scheme:
  10771. description: Scheme to use for connecting to
  10772. the host. Defaults to HTTP.
  10773. type: string
  10774. required:
  10775. - port
  10776. type: object
  10777. tcpSocket:
  10778. description: Deprecated. TCPSocket is NOT supported
  10779. as a LifecycleHandler and kept for the backward
  10780. compatibility. There are no validation of this
  10781. field and lifecycle hooks will fail in runtime
  10782. when tcp handler is specified.
  10783. properties:
  10784. host:
  10785. description: 'Optional: Host name to connect
  10786. to, defaults to the pod IP.'
  10787. type: string
  10788. port:
  10789. anyOf:
  10790. - type: integer
  10791. - type: string
  10792. description: Number or name of the port to access
  10793. on the container. Number must be in the range
  10794. 1 to 65535. Name must be an IANA_SVC_NAME.
  10795. x-kubernetes-int-or-string: true
  10796. required:
  10797. - port
  10798. type: object
  10799. type: object
  10800. type: object
  10801. livenessProbe:
  10802. description: 'Periodic probe of container liveness. Container
  10803. will be restarted if the probe fails. Cannot be updated.
  10804. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10805. properties:
  10806. exec:
  10807. description: Exec specifies the action to take.
  10808. properties:
  10809. command:
  10810. description: Command is the command line to execute
  10811. inside the container, the working directory for
  10812. the command is root ('/') in the container's
  10813. filesystem. The command is simply exec'd, it is
  10814. not run inside a shell, so traditional shell instructions
  10815. ('|', etc) won't work. To use a shell, you need
  10816. to explicitly call out to that shell. Exit status
  10817. of 0 is treated as live/healthy and non-zero is
  10818. unhealthy.
  10819. items:
  10820. type: string
  10821. type: array
  10822. type: object
  10823. failureThreshold:
  10824. description: Minimum consecutive failures for the probe
  10825. to be considered failed after having succeeded. Defaults
  10826. to 3. Minimum value is 1.
  10827. format: int32
  10828. type: integer
  10829. grpc:
  10830. description: GRPC specifies an action involving a GRPC
  10831. port. This is a beta field and requires enabling GRPCContainerProbe
  10832. feature gate.
  10833. properties:
  10834. port:
  10835. description: Port number of the gRPC service. Number
  10836. must be in the range 1 to 65535.
  10837. format: int32
  10838. type: integer
  10839. service:
  10840. description: "Service is the name of the service
  10841. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  10842. \n If this is not specified, the default behavior
  10843. is defined by gRPC."
  10844. type: string
  10845. required:
  10846. - port
  10847. type: object
  10848. httpGet:
  10849. description: HTTPGet specifies the http request to perform.
  10850. properties:
  10851. host:
  10852. description: Host name to connect to, defaults to
  10853. the pod IP. You probably want to set "Host" in
  10854. httpHeaders instead.
  10855. type: string
  10856. httpHeaders:
  10857. description: Custom headers to set in the request.
  10858. HTTP allows repeated headers.
  10859. items:
  10860. description: HTTPHeader describes a custom header
  10861. to be used in HTTP probes
  10862. properties:
  10863. name:
  10864. description: The header field name
  10865. type: string
  10866. value:
  10867. description: The header field value
  10868. type: string
  10869. required:
  10870. - name
  10871. - value
  10872. type: object
  10873. type: array
  10874. path:
  10875. description: Path to access on the HTTP server.
  10876. type: string
  10877. port:
  10878. anyOf:
  10879. - type: integer
  10880. - type: string
  10881. description: Name or number of the port to access
  10882. on the container. Number must be in the range
  10883. 1 to 65535. Name must be an IANA_SVC_NAME.
  10884. x-kubernetes-int-or-string: true
  10885. scheme:
  10886. description: Scheme to use for connecting to the
  10887. host. Defaults to HTTP.
  10888. type: string
  10889. required:
  10890. - port
  10891. type: object
  10892. initialDelaySeconds:
  10893. description: 'Number of seconds after the container
  10894. has started before liveness probes are initiated.
  10895. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10896. format: int32
  10897. type: integer
  10898. periodSeconds:
  10899. description: How often (in seconds) to perform the probe.
  10900. Default to 10 seconds. Minimum value is 1.
  10901. format: int32
  10902. type: integer
  10903. successThreshold:
  10904. description: Minimum consecutive successes for the probe
  10905. to be considered successful after having failed. Defaults
  10906. to 1. Must be 1 for liveness and startup. Minimum
  10907. value is 1.
  10908. format: int32
  10909. type: integer
  10910. tcpSocket:
  10911. description: TCPSocket specifies an action involving
  10912. a TCP port.
  10913. properties:
  10914. host:
  10915. description: 'Optional: Host name to connect to,
  10916. defaults to the pod IP.'
  10917. type: string
  10918. port:
  10919. anyOf:
  10920. - type: integer
  10921. - type: string
  10922. description: Number or name of the port to access
  10923. on the container. Number must be in the range
  10924. 1 to 65535. Name must be an IANA_SVC_NAME.
  10925. x-kubernetes-int-or-string: true
  10926. required:
  10927. - port
  10928. type: object
  10929. terminationGracePeriodSeconds:
  10930. description: Optional duration in seconds the pod needs
  10931. to terminate gracefully upon probe failure. The grace
  10932. period is the duration in seconds after the processes
  10933. running in the pod are sent a termination signal and
  10934. the time when the processes are forcibly halted with
  10935. a kill signal. Set this value longer than the expected
  10936. cleanup time for your process. If this value is nil,
  10937. the pod's terminationGracePeriodSeconds will be used.
  10938. Otherwise, this value overrides the value provided
  10939. by the pod spec. Value must be non-negative integer.
  10940. The value zero indicates stop immediately via the
  10941. kill signal (no opportunity to shut down). This is
  10942. a beta field and requires enabling ProbeTerminationGracePeriod
  10943. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  10944. is used if unset.
  10945. format: int64
  10946. type: integer
  10947. timeoutSeconds:
  10948. description: 'Number of seconds after which the probe
  10949. times out. Defaults to 1 second. Minimum value is
  10950. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  10951. format: int32
  10952. type: integer
  10953. type: object
  10954. name:
  10955. description: Name of the container specified as a DNS_LABEL.
  10956. Each container in a pod must have a unique name (DNS_LABEL).
  10957. Cannot be updated.
  10958. type: string
  10959. ports:
  10960. description: List of ports to expose from the container.
  10961. Exposing a port here gives the system additional information
  10962. about the network connections a container uses, but is
  10963. primarily informational. Not specifying a port here DOES
  10964. NOT prevent that port from being exposed. Any port which
  10965. is listening on the default "0.0.0.0" address inside a
  10966. container will be accessible from the network. Cannot
  10967. be updated.
  10968. items:
  10969. description: ContainerPort represents a network port in
  10970. a single container.
  10971. properties:
  10972. containerPort:
  10973. description: Number of port to expose on the pod's
  10974. IP address. This must be a valid port number, 0
  10975. < x < 65536.
  10976. format: int32
  10977. type: integer
  10978. hostIP:
  10979. description: What host IP to bind the external port
  10980. to.
  10981. type: string
  10982. hostPort:
  10983. description: Number of port to expose on the host.
  10984. If specified, this must be a valid port number,
  10985. 0 < x < 65536. If HostNetwork is specified, this
  10986. must match ContainerPort. Most containers do not
  10987. need this.
  10988. format: int32
  10989. type: integer
  10990. name:
  10991. description: If specified, this must be an IANA_SVC_NAME
  10992. and unique within the pod. Each named port in a
  10993. pod must have a unique name. Name for the port that
  10994. can be referred to by services.
  10995. type: string
  10996. protocol:
  10997. default: TCP
  10998. description: Protocol for port. Must be UDP, TCP,
  10999. or SCTP. Defaults to "TCP".
  11000. type: string
  11001. required:
  11002. - containerPort
  11003. type: object
  11004. type: array
  11005. x-kubernetes-list-map-keys:
  11006. - containerPort
  11007. - protocol
  11008. x-kubernetes-list-type: map
  11009. readinessProbe:
  11010. description: 'Periodic probe of container service readiness.
  11011. Container will be removed from service endpoints if the
  11012. probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11013. properties:
  11014. exec:
  11015. description: Exec specifies the action to take.
  11016. properties:
  11017. command:
  11018. description: Command is the command line to execute
  11019. inside the container, the working directory for
  11020. the command is root ('/') in the container's
  11021. filesystem. The command is simply exec'd, it is
  11022. not run inside a shell, so traditional shell instructions
  11023. ('|', etc) won't work. To use a shell, you need
  11024. to explicitly call out to that shell. Exit status
  11025. of 0 is treated as live/healthy and non-zero is
  11026. unhealthy.
  11027. items:
  11028. type: string
  11029. type: array
  11030. type: object
  11031. failureThreshold:
  11032. description: Minimum consecutive failures for the probe
  11033. to be considered failed after having succeeded. Defaults
  11034. to 3. Minimum value is 1.
  11035. format: int32
  11036. type: integer
  11037. grpc:
  11038. description: GRPC specifies an action involving a GRPC
  11039. port. This is a beta field and requires enabling GRPCContainerProbe
  11040. feature gate.
  11041. properties:
  11042. port:
  11043. description: Port number of the gRPC service. Number
  11044. must be in the range 1 to 65535.
  11045. format: int32
  11046. type: integer
  11047. service:
  11048. description: "Service is the name of the service
  11049. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  11050. \n If this is not specified, the default behavior
  11051. is defined by gRPC."
  11052. type: string
  11053. required:
  11054. - port
  11055. type: object
  11056. httpGet:
  11057. description: HTTPGet specifies the http request to perform.
  11058. properties:
  11059. host:
  11060. description: Host name to connect to, defaults to
  11061. the pod IP. You probably want to set "Host" in
  11062. httpHeaders instead.
  11063. type: string
  11064. httpHeaders:
  11065. description: Custom headers to set in the request.
  11066. HTTP allows repeated headers.
  11067. items:
  11068. description: HTTPHeader describes a custom header
  11069. to be used in HTTP probes
  11070. properties:
  11071. name:
  11072. description: The header field name
  11073. type: string
  11074. value:
  11075. description: The header field value
  11076. type: string
  11077. required:
  11078. - name
  11079. - value
  11080. type: object
  11081. type: array
  11082. path:
  11083. description: Path to access on the HTTP server.
  11084. type: string
  11085. port:
  11086. anyOf:
  11087. - type: integer
  11088. - type: string
  11089. description: Name or number of the port to access
  11090. on the container. Number must be in the range
  11091. 1 to 65535. Name must be an IANA_SVC_NAME.
  11092. x-kubernetes-int-or-string: true
  11093. scheme:
  11094. description: Scheme to use for connecting to the
  11095. host. Defaults to HTTP.
  11096. type: string
  11097. required:
  11098. - port
  11099. type: object
  11100. initialDelaySeconds:
  11101. description: 'Number of seconds after the container
  11102. has started before liveness probes are initiated.
  11103. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11104. format: int32
  11105. type: integer
  11106. periodSeconds:
  11107. description: How often (in seconds) to perform the probe.
  11108. Default to 10 seconds. Minimum value is 1.
  11109. format: int32
  11110. type: integer
  11111. successThreshold:
  11112. description: Minimum consecutive successes for the probe
  11113. to be considered successful after having failed. Defaults
  11114. to 1. Must be 1 for liveness and startup. Minimum
  11115. value is 1.
  11116. format: int32
  11117. type: integer
  11118. tcpSocket:
  11119. description: TCPSocket specifies an action involving
  11120. a TCP port.
  11121. properties:
  11122. host:
  11123. description: 'Optional: Host name to connect to,
  11124. defaults to the pod IP.'
  11125. type: string
  11126. port:
  11127. anyOf:
  11128. - type: integer
  11129. - type: string
  11130. description: Number or name of the port to access
  11131. on the container. Number must be in the range
  11132. 1 to 65535. Name must be an IANA_SVC_NAME.
  11133. x-kubernetes-int-or-string: true
  11134. required:
  11135. - port
  11136. type: object
  11137. terminationGracePeriodSeconds:
  11138. description: Optional duration in seconds the pod needs
  11139. to terminate gracefully upon probe failure. The grace
  11140. period is the duration in seconds after the processes
  11141. running in the pod are sent a termination signal and
  11142. the time when the processes are forcibly halted with
  11143. a kill signal. Set this value longer than the expected
  11144. cleanup time for your process. If this value is nil,
  11145. the pod's terminationGracePeriodSeconds will be used.
  11146. Otherwise, this value overrides the value provided
  11147. by the pod spec. Value must be non-negative integer.
  11148. The value zero indicates stop immediately via the
  11149. kill signal (no opportunity to shut down). This is
  11150. a beta field and requires enabling ProbeTerminationGracePeriod
  11151. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  11152. is used if unset.
  11153. format: int64
  11154. type: integer
  11155. timeoutSeconds:
  11156. description: 'Number of seconds after which the probe
  11157. times out. Defaults to 1 second. Minimum value is
  11158. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11159. format: int32
  11160. type: integer
  11161. type: object
  11162. resources:
  11163. description: 'Compute Resources required by this container.
  11164. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  11165. properties:
  11166. limits:
  11167. additionalProperties:
  11168. anyOf:
  11169. - type: integer
  11170. - type: string
  11171. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11172. x-kubernetes-int-or-string: true
  11173. description: 'Limits describes the maximum amount of
  11174. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  11175. type: object
  11176. requests:
  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: 'Requests describes the minimum amount
  11184. of compute resources required. If Requests is omitted
  11185. for a container, it defaults to Limits if that is
  11186. explicitly specified, otherwise to an implementation-defined
  11187. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  11188. type: object
  11189. type: object
  11190. securityContext:
  11191. description: 'SecurityContext defines the security options
  11192. the container should be run with. If set, the fields of
  11193. SecurityContext override the equivalent fields of PodSecurityContext.
  11194. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  11195. properties:
  11196. allowPrivilegeEscalation:
  11197. description: 'AllowPrivilegeEscalation controls whether
  11198. a process can gain more privileges than its parent
  11199. process. This bool directly controls if the no_new_privs
  11200. flag will be set on the container process. AllowPrivilegeEscalation
  11201. is true always when the container is: 1) run as Privileged
  11202. 2) has CAP_SYS_ADMIN Note that this field cannot be
  11203. set when spec.os.name is windows.'
  11204. type: boolean
  11205. capabilities:
  11206. description: The capabilities to add/drop when running
  11207. containers. Defaults to the default set of capabilities
  11208. granted by the container runtime. Note that this field
  11209. cannot be set when spec.os.name is windows.
  11210. properties:
  11211. add:
  11212. description: Added capabilities
  11213. items:
  11214. description: Capability represent POSIX capabilities
  11215. type
  11216. type: string
  11217. type: array
  11218. drop:
  11219. description: Removed capabilities
  11220. items:
  11221. description: Capability represent POSIX capabilities
  11222. type
  11223. type: string
  11224. type: array
  11225. type: object
  11226. privileged:
  11227. description: Run container in privileged mode. Processes
  11228. in privileged containers are essentially equivalent
  11229. to root on the host. Defaults to false. Note that
  11230. this field cannot be set when spec.os.name is windows.
  11231. type: boolean
  11232. procMount:
  11233. description: procMount denotes the type of proc mount
  11234. to use for the containers. The default is DefaultProcMount
  11235. which uses the container runtime defaults for readonly
  11236. paths and masked paths. This requires the ProcMountType
  11237. feature flag to be enabled. Note that this field cannot
  11238. be set when spec.os.name is windows.
  11239. type: string
  11240. readOnlyRootFilesystem:
  11241. description: Whether this container has a read-only
  11242. root filesystem. Default is false. Note that this
  11243. field cannot be set when spec.os.name is windows.
  11244. type: boolean
  11245. runAsGroup:
  11246. description: The GID to run the entrypoint of the container
  11247. process. Uses runtime default if unset. May also be
  11248. set in PodSecurityContext. If set in both SecurityContext
  11249. and PodSecurityContext, the value specified in SecurityContext
  11250. takes precedence. Note that this field cannot be set
  11251. when spec.os.name is windows.
  11252. format: int64
  11253. type: integer
  11254. runAsNonRoot:
  11255. description: Indicates that the container must run as
  11256. a non-root user. If true, the Kubelet will validate
  11257. the image at runtime to ensure that it does not run
  11258. as UID 0 (root) and fail to start the container if
  11259. it does. If unset or false, no such validation will
  11260. be performed. May also be set in PodSecurityContext. If
  11261. set in both SecurityContext and PodSecurityContext,
  11262. the value specified in SecurityContext takes precedence.
  11263. type: boolean
  11264. runAsUser:
  11265. description: The UID to run the entrypoint of the container
  11266. process. Defaults to user specified in image metadata
  11267. if unspecified. May also be set in PodSecurityContext. If
  11268. set in both SecurityContext and PodSecurityContext,
  11269. the value specified in SecurityContext takes precedence.
  11270. Note that this field cannot be set when spec.os.name
  11271. is windows.
  11272. format: int64
  11273. type: integer
  11274. seLinuxOptions:
  11275. description: The SELinux context to be applied to the
  11276. container. If unspecified, the container runtime will
  11277. allocate a random SELinux context for each container. May
  11278. also be set in PodSecurityContext. If set in both
  11279. SecurityContext and PodSecurityContext, the value
  11280. specified in SecurityContext takes precedence. Note
  11281. that this field cannot be set when spec.os.name is
  11282. windows.
  11283. properties:
  11284. level:
  11285. description: Level is SELinux level label that applies
  11286. to the container.
  11287. type: string
  11288. role:
  11289. description: Role is a SELinux role label that applies
  11290. to the container.
  11291. type: string
  11292. type:
  11293. description: Type is a SELinux type label that applies
  11294. to the container.
  11295. type: string
  11296. user:
  11297. description: User is a SELinux user label that applies
  11298. to the container.
  11299. type: string
  11300. type: object
  11301. seccompProfile:
  11302. description: The seccomp options to use by this container.
  11303. If seccomp options are provided at both the pod &
  11304. container level, the container options override the
  11305. pod options. Note that this field cannot be set when
  11306. spec.os.name is windows.
  11307. properties:
  11308. localhostProfile:
  11309. description: localhostProfile indicates a profile
  11310. defined in a file on the node should be used.
  11311. The profile must be preconfigured on the node
  11312. to work. Must be a descending path, relative to
  11313. the kubelet's configured seccomp profile location.
  11314. Must only be set if type is "Localhost".
  11315. type: string
  11316. type:
  11317. description: "type indicates which kind of seccomp
  11318. profile will be applied. Valid options are: \n
  11319. Localhost - a profile defined in a file on the
  11320. node should be used. RuntimeDefault - the container
  11321. runtime default profile should be used. Unconfined
  11322. - no profile should be applied."
  11323. type: string
  11324. required:
  11325. - type
  11326. type: object
  11327. windowsOptions:
  11328. description: The Windows specific settings applied to
  11329. all containers. If unspecified, the options from the
  11330. PodSecurityContext will be used. If set in both SecurityContext
  11331. and PodSecurityContext, the value specified in SecurityContext
  11332. takes precedence. Note that this field cannot be set
  11333. when spec.os.name is linux.
  11334. properties:
  11335. gmsaCredentialSpec:
  11336. description: GMSACredentialSpec is where the GMSA
  11337. admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  11338. inlines the contents of the GMSA credential spec
  11339. named by the GMSACredentialSpecName field.
  11340. type: string
  11341. gmsaCredentialSpecName:
  11342. description: GMSACredentialSpecName is the name
  11343. of the GMSA credential spec to use.
  11344. type: string
  11345. hostProcess:
  11346. description: HostProcess determines if a container
  11347. should be run as a 'Host Process' container. This
  11348. field is alpha-level and will only be honored
  11349. by components that enable the WindowsHostProcessContainers
  11350. feature flag. Setting this field without the feature
  11351. flag will result in errors when validating the
  11352. Pod. All of a Pod's containers must have the same
  11353. effective HostProcess value (it is not allowed
  11354. to have a mix of HostProcess containers and non-HostProcess
  11355. containers). In addition, if HostProcess is true
  11356. then HostNetwork must also be set to true.
  11357. type: boolean
  11358. runAsUserName:
  11359. description: The UserName in Windows to run the
  11360. entrypoint of the container process. Defaults
  11361. to the user specified in image metadata if unspecified.
  11362. May also be set in PodSecurityContext. If set
  11363. in both SecurityContext and PodSecurityContext,
  11364. the value specified in SecurityContext takes precedence.
  11365. type: string
  11366. type: object
  11367. type: object
  11368. startupProbe:
  11369. description: 'StartupProbe indicates that the Pod has successfully
  11370. initialized. If specified, no other probes are executed
  11371. until this completes successfully. If this probe fails,
  11372. the Pod will be restarted, just as if the livenessProbe
  11373. failed. This can be used to provide different probe parameters
  11374. at the beginning of a Pod''s lifecycle, when it might
  11375. take a long time to load data or warm a cache, than during
  11376. steady-state operation. This cannot be updated. More info:
  11377. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11378. properties:
  11379. exec:
  11380. description: Exec specifies the action to take.
  11381. properties:
  11382. command:
  11383. description: Command is the command line to execute
  11384. inside the container, the working directory for
  11385. the command is root ('/') in the container's
  11386. filesystem. The command is simply exec'd, it is
  11387. not run inside a shell, so traditional shell instructions
  11388. ('|', etc) won't work. To use a shell, you need
  11389. to explicitly call out to that shell. Exit status
  11390. of 0 is treated as live/healthy and non-zero is
  11391. unhealthy.
  11392. items:
  11393. type: string
  11394. type: array
  11395. type: object
  11396. failureThreshold:
  11397. description: Minimum consecutive failures for the probe
  11398. to be considered failed after having succeeded. Defaults
  11399. to 3. Minimum value is 1.
  11400. format: int32
  11401. type: integer
  11402. grpc:
  11403. description: GRPC specifies an action involving a GRPC
  11404. port. This is a beta field and requires enabling GRPCContainerProbe
  11405. feature gate.
  11406. properties:
  11407. port:
  11408. description: Port number of the gRPC service. Number
  11409. must be in the range 1 to 65535.
  11410. format: int32
  11411. type: integer
  11412. service:
  11413. description: "Service is the name of the service
  11414. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  11415. \n If this is not specified, the default behavior
  11416. is defined by gRPC."
  11417. type: string
  11418. required:
  11419. - port
  11420. type: object
  11421. httpGet:
  11422. description: HTTPGet specifies the http request to perform.
  11423. properties:
  11424. host:
  11425. description: Host name to connect to, defaults to
  11426. the pod IP. You probably want to set "Host" in
  11427. httpHeaders instead.
  11428. type: string
  11429. httpHeaders:
  11430. description: Custom headers to set in the request.
  11431. HTTP allows repeated headers.
  11432. items:
  11433. description: HTTPHeader describes a custom header
  11434. to be used in HTTP probes
  11435. properties:
  11436. name:
  11437. description: The header field name
  11438. type: string
  11439. value:
  11440. description: The header field value
  11441. type: string
  11442. required:
  11443. - name
  11444. - value
  11445. type: object
  11446. type: array
  11447. path:
  11448. description: Path to access on the HTTP server.
  11449. type: string
  11450. port:
  11451. anyOf:
  11452. - type: integer
  11453. - type: string
  11454. description: Name or number of the port to access
  11455. on the container. Number must be in the range
  11456. 1 to 65535. Name must be an IANA_SVC_NAME.
  11457. x-kubernetes-int-or-string: true
  11458. scheme:
  11459. description: Scheme to use for connecting to the
  11460. host. Defaults to HTTP.
  11461. type: string
  11462. required:
  11463. - port
  11464. type: object
  11465. initialDelaySeconds:
  11466. description: 'Number of seconds after the container
  11467. has started before liveness probes are initiated.
  11468. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11469. format: int32
  11470. type: integer
  11471. periodSeconds:
  11472. description: How often (in seconds) to perform the probe.
  11473. Default to 10 seconds. Minimum value is 1.
  11474. format: int32
  11475. type: integer
  11476. successThreshold:
  11477. description: Minimum consecutive successes for the probe
  11478. to be considered successful after having failed. Defaults
  11479. to 1. Must be 1 for liveness and startup. Minimum
  11480. value is 1.
  11481. format: int32
  11482. type: integer
  11483. tcpSocket:
  11484. description: TCPSocket specifies an action involving
  11485. a TCP port.
  11486. properties:
  11487. host:
  11488. description: 'Optional: Host name to connect to,
  11489. defaults to the pod IP.'
  11490. type: string
  11491. port:
  11492. anyOf:
  11493. - type: integer
  11494. - type: string
  11495. description: Number or name of the port to access
  11496. on the container. Number must be in the range
  11497. 1 to 65535. Name must be an IANA_SVC_NAME.
  11498. x-kubernetes-int-or-string: true
  11499. required:
  11500. - port
  11501. type: object
  11502. terminationGracePeriodSeconds:
  11503. description: Optional duration in seconds the pod needs
  11504. to terminate gracefully upon probe failure. The grace
  11505. period is the duration in seconds after the processes
  11506. running in the pod are sent a termination signal and
  11507. the time when the processes are forcibly halted with
  11508. a kill signal. Set this value longer than the expected
  11509. cleanup time for your process. If this value is nil,
  11510. the pod's terminationGracePeriodSeconds will be used.
  11511. Otherwise, this value overrides the value provided
  11512. by the pod spec. Value must be non-negative integer.
  11513. The value zero indicates stop immediately via the
  11514. kill signal (no opportunity to shut down). This is
  11515. a beta field and requires enabling ProbeTerminationGracePeriod
  11516. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  11517. is used if unset.
  11518. format: int64
  11519. type: integer
  11520. timeoutSeconds:
  11521. description: 'Number of seconds after which the probe
  11522. times out. Defaults to 1 second. Minimum value is
  11523. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  11524. format: int32
  11525. type: integer
  11526. type: object
  11527. stdin:
  11528. description: Whether this container should allocate a buffer
  11529. for stdin in the container runtime. If this is not set,
  11530. reads from stdin in the container will always result in
  11531. EOF. Default is false.
  11532. type: boolean
  11533. stdinOnce:
  11534. description: Whether the container runtime should close
  11535. the stdin channel after it has been opened by a single
  11536. attach. When stdin is true the stdin stream will remain
  11537. open across multiple attach sessions. If stdinOnce is
  11538. set to true, stdin is opened on container start, is empty
  11539. until the first client attaches to stdin, and then remains
  11540. open and accepts data until the client disconnects, at
  11541. which time stdin is closed and remains closed until the
  11542. container is restarted. If this flag is false, a container
  11543. processes that reads from stdin will never receive an
  11544. EOF. Default is false
  11545. type: boolean
  11546. terminationMessagePath:
  11547. description: 'Optional: Path at which the file to which
  11548. the container''s termination message will be written is
  11549. mounted into the container''s filesystem. Message written
  11550. is intended to be brief final status, such as an assertion
  11551. failure message. Will be truncated by the node if greater
  11552. than 4096 bytes. The total message length across all containers
  11553. will be limited to 12kb. Defaults to /dev/termination-log.
  11554. Cannot be updated.'
  11555. type: string
  11556. terminationMessagePolicy:
  11557. description: Indicate how the termination message should
  11558. be populated. File will use the contents of terminationMessagePath
  11559. to populate the container status message on both success
  11560. and failure. FallbackToLogsOnError will use the last chunk
  11561. of container log output if the termination message file
  11562. is empty and the container exited with an error. The log
  11563. output is limited to 2048 bytes or 80 lines, whichever
  11564. is smaller. Defaults to File. Cannot be updated.
  11565. type: string
  11566. tty:
  11567. description: Whether this container should allocate a TTY
  11568. for itself, also requires 'stdin' to be true. Default
  11569. is false.
  11570. type: boolean
  11571. volumeDevices:
  11572. description: volumeDevices is the list of block devices
  11573. to be used by the container.
  11574. items:
  11575. description: volumeDevice describes a mapping of a raw
  11576. block device within a container.
  11577. properties:
  11578. devicePath:
  11579. description: devicePath is the path inside of the
  11580. container that the device will be mapped to.
  11581. type: string
  11582. name:
  11583. description: name must match the name of a persistentVolumeClaim
  11584. in the pod
  11585. type: string
  11586. required:
  11587. - devicePath
  11588. - name
  11589. type: object
  11590. type: array
  11591. volumeMounts:
  11592. description: Pod volumes to mount into the container's filesystem.
  11593. Cannot be updated.
  11594. items:
  11595. description: VolumeMount describes a mounting of a Volume
  11596. within a container.
  11597. properties:
  11598. mountPath:
  11599. description: Path within the container at which the
  11600. volume should be mounted. Must not contain ':'.
  11601. type: string
  11602. mountPropagation:
  11603. description: mountPropagation determines how mounts
  11604. are propagated from the host to container and the
  11605. other way around. When not set, MountPropagationNone
  11606. is used. This field is beta in 1.10.
  11607. type: string
  11608. name:
  11609. description: This must match the Name of a Volume.
  11610. type: string
  11611. readOnly:
  11612. description: Mounted read-only if true, read-write
  11613. otherwise (false or unspecified). Defaults to false.
  11614. type: boolean
  11615. subPath:
  11616. description: Path within the volume from which the
  11617. container's volume should be mounted. Defaults to
  11618. "" (volume's root).
  11619. type: string
  11620. subPathExpr:
  11621. description: Expanded path within the volume from
  11622. which the container's volume should be mounted.
  11623. Behaves similarly to SubPath but environment variable
  11624. references $(VAR_NAME) are expanded using the container's
  11625. environment. Defaults to "" (volume's root). SubPathExpr
  11626. and SubPath are mutually exclusive.
  11627. type: string
  11628. required:
  11629. - mountPath
  11630. - name
  11631. type: object
  11632. type: array
  11633. workingDir:
  11634. description: Container's working directory. If not specified,
  11635. the container runtime's default will be used, which might
  11636. be configured in the container image. Cannot be updated.
  11637. type: string
  11638. required:
  11639. - name
  11640. type: object
  11641. type: array
  11642. nodeName:
  11643. description: NodeName is a request to schedule this pod onto a
  11644. specific node. If it is non-empty, the scheduler simply schedules
  11645. this pod onto that node, assuming that it fits resource requirements.
  11646. type: string
  11647. nodeSelector:
  11648. additionalProperties:
  11649. type: string
  11650. description: 'NodeSelector is a selector which must be true for
  11651. the pod to fit on a node. Selector which must match a node''s
  11652. labels for the pod to be scheduled on that node. More info:
  11653. https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  11654. type: object
  11655. x-kubernetes-map-type: atomic
  11656. os:
  11657. description: "Specifies the OS of the containers in the pod. Some
  11658. pod and container fields are restricted if this is set. \n If
  11659. the OS field is set to linux, the following fields must be unset:
  11660. -securityContext.windowsOptions \n If the OS field is set to
  11661. windows, following fields must be unset: - spec.hostPID - spec.hostIPC
  11662. - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile
  11663. - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy
  11664. - spec.securityContext.sysctls - spec.shareProcessNamespace
  11665. - spec.securityContext.runAsUser - spec.securityContext.runAsGroup
  11666. - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.seLinuxOptions
  11667. - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities
  11668. - spec.containers[*].securityContext.readOnlyRootFilesystem
  11669. - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation
  11670. - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser
  11671. - spec.containers[*].securityContext.runAsGroup This is a beta
  11672. field and requires the IdentifyPodOS feature"
  11673. properties:
  11674. name:
  11675. description: 'Name is the name of the operating system. The
  11676. currently supported values are linux and windows. Additional
  11677. value may be defined in future and can be one of: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration
  11678. Clients should expect to handle additional values and treat
  11679. unrecognized values in this field as os: null'
  11680. type: string
  11681. required:
  11682. - name
  11683. type: object
  11684. overhead:
  11685. additionalProperties:
  11686. anyOf:
  11687. - type: integer
  11688. - type: string
  11689. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11690. x-kubernetes-int-or-string: true
  11691. description: 'Overhead represents the resource overhead associated
  11692. with running a pod for a given RuntimeClass. This field will
  11693. be autopopulated at admission time by the RuntimeClass admission
  11694. controller. If the RuntimeClass admission controller is enabled,
  11695. overhead must not be set in Pod create requests. The RuntimeClass
  11696. admission controller will reject Pod create requests which have
  11697. the overhead already set. If RuntimeClass is configured and
  11698. selected in the PodSpec, Overhead will be set to the value defined
  11699. in the corresponding RuntimeClass, otherwise it will remain
  11700. unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md'
  11701. type: object
  11702. preemptionPolicy:
  11703. description: PreemptionPolicy is the Policy for preempting pods
  11704. with lower priority. One of Never, PreemptLowerPriority. Defaults
  11705. to PreemptLowerPriority if unset.
  11706. type: string
  11707. priority:
  11708. description: The priority value. Various system components use
  11709. this field to find the priority of the pod. When Priority Admission
  11710. Controller is enabled, it prevents users from setting this field.
  11711. The admission controller populates this field from PriorityClassName.
  11712. The higher the value, the higher the priority.
  11713. format: int32
  11714. type: integer
  11715. priorityClassName:
  11716. description: If specified, indicates the pod's priority. "system-node-critical"
  11717. and "system-cluster-critical" are two special keywords which
  11718. indicate the highest priorities with the former being the highest
  11719. priority. Any other name must be defined by creating a PriorityClass
  11720. object with that name. If not specified, the pod priority will
  11721. be default or zero if there is no default.
  11722. type: string
  11723. readinessGates:
  11724. description: 'If specified, all readiness gates will be evaluated
  11725. for pod readiness. A pod is ready when all its containers are
  11726. ready AND all conditions specified in the readiness gates have
  11727. status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates'
  11728. items:
  11729. description: PodReadinessGate contains the reference to a pod
  11730. condition
  11731. properties:
  11732. conditionType:
  11733. description: ConditionType refers to a condition in the
  11734. pod's condition list with matching type.
  11735. type: string
  11736. required:
  11737. - conditionType
  11738. type: object
  11739. type: array
  11740. restartPolicy:
  11741. description: 'Restart policy for all containers within the pod.
  11742. One of Always, OnFailure, Never. Default to Always. More info:
  11743. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy'
  11744. type: string
  11745. runtimeClassName:
  11746. description: 'RuntimeClassName refers to a RuntimeClass object
  11747. in the node.k8s.io group, which should be used to run this pod. If
  11748. no RuntimeClass resource matches the named class, the pod will
  11749. not be run. If unset or empty, the "legacy" RuntimeClass will
  11750. be used, which is an implicit class with an empty definition
  11751. that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class'
  11752. type: string
  11753. schedulerName:
  11754. description: If specified, the pod will be dispatched by specified
  11755. scheduler. If not specified, the pod will be dispatched by default
  11756. scheduler.
  11757. type: string
  11758. securityContext:
  11759. description: 'SecurityContext holds pod-level security attributes
  11760. and common container settings. Optional: Defaults to empty. See
  11761. type description for default values of each field.'
  11762. properties:
  11763. fsGroup:
  11764. description: "A special supplemental group that applies to
  11765. all containers in a pod. Some volume types allow the Kubelet
  11766. to change the ownership of that volume to be owned by the
  11767. pod: \n 1. The owning GID will be the FSGroup 2. The setgid
  11768. bit is set (new files created in the volume will be owned
  11769. by FSGroup) 3. The permission bits are OR'd with rw-rw----
  11770. \n If unset, the Kubelet will not modify the ownership and
  11771. permissions of any volume. Note that this field cannot be
  11772. set when spec.os.name is windows."
  11773. format: int64
  11774. type: integer
  11775. fsGroupChangePolicy:
  11776. description: 'fsGroupChangePolicy defines behavior of changing
  11777. ownership and permission of the volume before being exposed
  11778. inside Pod. This field will only apply to volume types which
  11779. support fsGroup based ownership(and permissions). It will
  11780. have no effect on ephemeral volume types such as: secret,
  11781. configmaps and emptydir. Valid values are "OnRootMismatch"
  11782. and "Always". If not specified, "Always" is used. Note that
  11783. this field cannot be set when spec.os.name is windows.'
  11784. type: string
  11785. runAsGroup:
  11786. description: The GID to run the entrypoint of the container
  11787. process. Uses runtime default if unset. May also be set
  11788. in SecurityContext. If set in both SecurityContext and
  11789. PodSecurityContext, the value specified in SecurityContext
  11790. takes precedence for that container. Note that this field
  11791. cannot be set when spec.os.name is windows.
  11792. format: int64
  11793. type: integer
  11794. runAsNonRoot:
  11795. description: Indicates that the container must run as a non-root
  11796. user. If true, the Kubelet will validate the image at runtime
  11797. to ensure that it does not run as UID 0 (root) and fail
  11798. to start the container if it does. If unset or false, no
  11799. such validation will be performed. May also be set in SecurityContext. If
  11800. set in both SecurityContext and PodSecurityContext, the
  11801. value specified in SecurityContext takes precedence.
  11802. type: boolean
  11803. runAsUser:
  11804. description: The UID to run the entrypoint of the container
  11805. process. Defaults to user specified in image metadata if
  11806. unspecified. May also be set in SecurityContext. If set
  11807. in both SecurityContext and PodSecurityContext, the value
  11808. specified in SecurityContext takes precedence for that container.
  11809. Note that this field cannot be set when spec.os.name is
  11810. windows.
  11811. format: int64
  11812. type: integer
  11813. seLinuxOptions:
  11814. description: The SELinux context to be applied to all containers.
  11815. If unspecified, the container runtime will allocate a random
  11816. SELinux context for each container. May also be set in
  11817. SecurityContext. If set in both SecurityContext and PodSecurityContext,
  11818. the value specified in SecurityContext takes precedence
  11819. for that container. Note that this field cannot be set when
  11820. spec.os.name is windows.
  11821. properties:
  11822. level:
  11823. description: Level is SELinux level label that applies
  11824. to the container.
  11825. type: string
  11826. role:
  11827. description: Role is a SELinux role label that applies
  11828. to the container.
  11829. type: string
  11830. type:
  11831. description: Type is a SELinux type label that applies
  11832. to the container.
  11833. type: string
  11834. user:
  11835. description: User is a SELinux user label that applies
  11836. to the container.
  11837. type: string
  11838. type: object
  11839. seccompProfile:
  11840. description: The seccomp options to use by the containers
  11841. in this pod. Note that this field cannot be set when spec.os.name
  11842. is windows.
  11843. properties:
  11844. localhostProfile:
  11845. description: localhostProfile indicates a profile defined
  11846. in a file on the node should be used. The profile must
  11847. be preconfigured on the node to work. Must be a descending
  11848. path, relative to the kubelet's configured seccomp profile
  11849. location. Must only be set if type is "Localhost".
  11850. type: string
  11851. type:
  11852. description: "type indicates which kind of seccomp profile
  11853. will be applied. Valid options are: \n Localhost - a
  11854. profile defined in a file on the node should be used.
  11855. RuntimeDefault - the container runtime default profile
  11856. should be used. Unconfined - no profile should be applied."
  11857. type: string
  11858. required:
  11859. - type
  11860. type: object
  11861. supplementalGroups:
  11862. description: A list of groups applied to the first process
  11863. run in each container, in addition to the container's primary
  11864. GID. If unspecified, no groups will be added to any container.
  11865. Note that this field cannot be set when spec.os.name is
  11866. windows.
  11867. items:
  11868. format: int64
  11869. type: integer
  11870. type: array
  11871. sysctls:
  11872. description: Sysctls hold a list of namespaced sysctls used
  11873. for the pod. Pods with unsupported sysctls (by the container
  11874. runtime) might fail to launch. Note that this field cannot
  11875. be set when spec.os.name is windows.
  11876. items:
  11877. description: Sysctl defines a kernel parameter to be set
  11878. properties:
  11879. name:
  11880. description: Name of a property to set
  11881. type: string
  11882. value:
  11883. description: Value of a property to set
  11884. type: string
  11885. required:
  11886. - name
  11887. - value
  11888. type: object
  11889. type: array
  11890. windowsOptions:
  11891. description: The Windows specific settings applied to all
  11892. containers. If unspecified, the options within a container's
  11893. SecurityContext will be used. If set in both SecurityContext
  11894. and PodSecurityContext, the value specified in SecurityContext
  11895. takes precedence. Note that this field cannot be set when
  11896. spec.os.name is linux.
  11897. properties:
  11898. gmsaCredentialSpec:
  11899. description: GMSACredentialSpec is where the GMSA admission
  11900. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  11901. inlines the contents of the GMSA credential spec named
  11902. by the GMSACredentialSpecName field.
  11903. type: string
  11904. gmsaCredentialSpecName:
  11905. description: GMSACredentialSpecName is the name of the
  11906. GMSA credential spec to use.
  11907. type: string
  11908. hostProcess:
  11909. description: HostProcess determines if a container should
  11910. be run as a 'Host Process' container. This field is
  11911. alpha-level and will only be honored by components that
  11912. enable the WindowsHostProcessContainers feature flag.
  11913. Setting this field without the feature flag will result
  11914. in errors when validating the Pod. All of a Pod's containers
  11915. must have the same effective HostProcess value (it is
  11916. not allowed to have a mix of HostProcess containers
  11917. and non-HostProcess containers). In addition, if HostProcess
  11918. is true then HostNetwork must also be set to true.
  11919. type: boolean
  11920. runAsUserName:
  11921. description: The UserName in Windows to run the entrypoint
  11922. of the container process. Defaults to the user specified
  11923. in image metadata if unspecified. May also be set in
  11924. PodSecurityContext. If set in both SecurityContext and
  11925. PodSecurityContext, the value specified in SecurityContext
  11926. takes precedence.
  11927. type: string
  11928. type: object
  11929. type: object
  11930. serviceAccount:
  11931. description: 'DeprecatedServiceAccount is a depreciated alias
  11932. for ServiceAccountName. Deprecated: Use serviceAccountName instead.'
  11933. type: string
  11934. serviceAccountName:
  11935. description: 'ServiceAccountName is the name of the ServiceAccount
  11936. to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  11937. type: string
  11938. setHostnameAsFQDN:
  11939. description: If true the pod's hostname will be configured as
  11940. the pod's FQDN, rather than the leaf name (the default). In
  11941. Linux containers, this means setting the FQDN in the hostname
  11942. field of the kernel (the nodename field of struct utsname).
  11943. In Windows containers, this means setting the registry value
  11944. of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters
  11945. to FQDN. If a pod does not have FQDN, this has no effect. Default
  11946. to false.
  11947. type: boolean
  11948. shareProcessNamespace:
  11949. description: 'Share a single process namespace between all of
  11950. the containers in a pod. When this is set containers will be
  11951. able to view and signal processes from other containers in the
  11952. same pod, and the first process in each container will not be
  11953. assigned PID 1. HostPID and ShareProcessNamespace cannot both
  11954. be set. Optional: Default to false.'
  11955. type: boolean
  11956. subdomain:
  11957. description: If specified, the fully qualified Pod hostname will
  11958. be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
  11959. If not specified, the pod will not have a domainname at all.
  11960. type: string
  11961. terminationGracePeriodSeconds:
  11962. description: Optional duration in seconds the pod needs to terminate
  11963. gracefully. May be decreased in delete request. Value must be
  11964. non-negative integer. The value zero indicates stop immediately
  11965. via the kill signal (no opportunity to shut down). If this value
  11966. is nil, the default grace period will be used instead. The grace
  11967. period is the duration in seconds after the processes running
  11968. in the pod are sent a termination signal and the time when the
  11969. processes are forcibly halted with a kill signal. Set this value
  11970. longer than the expected cleanup time for your process. Defaults
  11971. to 30 seconds.
  11972. format: int64
  11973. type: integer
  11974. tolerations:
  11975. description: If specified, the pod's tolerations.
  11976. items:
  11977. description: The pod this Toleration is attached to tolerates
  11978. any taint that matches the triple <key,value,effect> using
  11979. the matching operator <operator>.
  11980. properties:
  11981. effect:
  11982. description: Effect indicates the taint effect to match.
  11983. Empty means match all taint effects. When specified, allowed
  11984. values are NoSchedule, PreferNoSchedule and NoExecute.
  11985. type: string
  11986. key:
  11987. description: Key is the taint key that the toleration applies
  11988. to. Empty means match all taint keys. If the key is empty,
  11989. operator must be Exists; this combination means to match
  11990. all values and all keys.
  11991. type: string
  11992. operator:
  11993. description: Operator represents a key's relationship to
  11994. the value. Valid operators are Exists and Equal. Defaults
  11995. to Equal. Exists is equivalent to wildcard for value,
  11996. so that a pod can tolerate all taints of a particular
  11997. category.
  11998. type: string
  11999. tolerationSeconds:
  12000. description: TolerationSeconds represents the period of
  12001. time the toleration (which must be of effect NoExecute,
  12002. otherwise this field is ignored) tolerates the taint.
  12003. By default, it is not set, which means tolerate the taint
  12004. forever (do not evict). Zero and negative values will
  12005. be treated as 0 (evict immediately) by the system.
  12006. format: int64
  12007. type: integer
  12008. value:
  12009. description: Value is the taint value the toleration matches
  12010. to. If the operator is Exists, the value should be empty,
  12011. otherwise just a regular string.
  12012. type: string
  12013. type: object
  12014. type: array
  12015. topologySpreadConstraints:
  12016. description: TopologySpreadConstraints describes how a group of
  12017. pods ought to spread across topology domains. Scheduler will
  12018. schedule pods in a way which abides by the constraints. All
  12019. topologySpreadConstraints are ANDed.
  12020. items:
  12021. description: TopologySpreadConstraint specifies how to spread
  12022. matching pods among the given topology.
  12023. properties:
  12024. labelSelector:
  12025. description: LabelSelector is used to find matching pods.
  12026. Pods that match this label selector are counted to determine
  12027. the number of pods in their corresponding topology domain.
  12028. properties:
  12029. matchExpressions:
  12030. description: matchExpressions is a list of label selector
  12031. requirements. The requirements are ANDed.
  12032. items:
  12033. description: A label selector requirement is a selector
  12034. that contains values, a key, and an operator that
  12035. relates the key and values.
  12036. properties:
  12037. key:
  12038. description: key is the label key that the selector
  12039. applies to.
  12040. type: string
  12041. operator:
  12042. description: operator represents a key's relationship
  12043. to a set of values. Valid operators are In,
  12044. NotIn, Exists and DoesNotExist.
  12045. type: string
  12046. values:
  12047. description: values is an array of string values.
  12048. If the operator is In or NotIn, the values array
  12049. must be non-empty. If the operator is Exists
  12050. or DoesNotExist, the values array must be empty.
  12051. This array is replaced during a strategic merge
  12052. patch.
  12053. items:
  12054. type: string
  12055. type: array
  12056. required:
  12057. - key
  12058. - operator
  12059. type: object
  12060. type: array
  12061. matchLabels:
  12062. additionalProperties:
  12063. type: string
  12064. description: matchLabels is a map of {key,value} pairs.
  12065. A single {key,value} in the matchLabels map is equivalent
  12066. to an element of matchExpressions, whose key field
  12067. is "key", the operator is "In", and the values array
  12068. contains only "value". The requirements are ANDed.
  12069. type: object
  12070. type: object
  12071. x-kubernetes-map-type: atomic
  12072. maxSkew:
  12073. description: 'MaxSkew describes the degree to which pods
  12074. may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  12075. it is the maximum permitted difference between the number
  12076. of matching pods in the target topology and the global
  12077. minimum. The global minimum is the minimum number of matching
  12078. pods in an eligible domain or zero if the number of eligible
  12079. domains is less than MinDomains. For example, in a 3-zone
  12080. cluster, MaxSkew is set to 1, and pods with the same labelSelector
  12081. spread as 2/2/1: In this case, the global minimum is 1.
  12082. | zone1 | zone2 | zone3 | | P P | P P | P | -
  12083. if MaxSkew is 1, incoming pod can only be scheduled to
  12084. zone3 to become 2/2/2; scheduling it onto zone1(zone2)
  12085. would make the ActualSkew(3-1) on zone1(zone2) violate
  12086. MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled
  12087. onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  12088. it is used to give higher precedence to topologies that
  12089. satisfy it. It''s a required field. Default value is 1
  12090. and 0 is not allowed.'
  12091. format: int32
  12092. type: integer
  12093. minDomains:
  12094. description: "MinDomains indicates a minimum number of eligible
  12095. domains. When the number of eligible domains with matching
  12096. topology keys is less than minDomains, Pod Topology Spread
  12097. treats \"global minimum\" as 0, and then the calculation
  12098. of Skew is performed. And when the number of eligible
  12099. domains with matching topology keys equals or greater
  12100. than minDomains, this value has no effect on scheduling.
  12101. As a result, when the number of eligible domains is less
  12102. than minDomains, scheduler won't schedule more than maxSkew
  12103. Pods to those domains. If value is nil, the constraint
  12104. behaves as if MinDomains is equal to 1. Valid values are
  12105. integers greater than 0. When value is not nil, WhenUnsatisfiable
  12106. must be DoNotSchedule. \n For example, in a 3-zone cluster,
  12107. MaxSkew is set to 2, MinDomains is set to 5 and pods with
  12108. the same labelSelector spread as 2/2/2: | zone1 | zone2
  12109. | zone3 | | P P | P P | P P | The number of domains
  12110. is less than 5(MinDomains), so \"global minimum\" is treated
  12111. as 0. In this situation, new pod with the same labelSelector
  12112. cannot be scheduled, because computed skew will be 3(3
  12113. - 0) if new Pod is scheduled to any of the three zones,
  12114. it will violate MaxSkew. \n This is an alpha field and
  12115. requires enabling MinDomainsInPodTopologySpread feature
  12116. gate."
  12117. format: int32
  12118. type: integer
  12119. topologyKey:
  12120. description: TopologyKey is the key of node labels. Nodes
  12121. that have a label with this key and identical values are
  12122. considered to be in the same topology. We consider each
  12123. <key, value> as a "bucket", and try to put balanced number
  12124. of pods into each bucket. We define a domain as a particular
  12125. instance of a topology. Also, we define an eligible domain
  12126. as a domain whose nodes match the node selector. e.g.
  12127. If TopologyKey is "kubernetes.io/hostname", each Node
  12128. is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone",
  12129. each zone is a domain of that topology. It's a required
  12130. field.
  12131. type: string
  12132. whenUnsatisfiable:
  12133. description: 'WhenUnsatisfiable indicates how to deal with
  12134. a pod if it doesn''t satisfy the spread constraint. -
  12135. DoNotSchedule (default) tells the scheduler not to schedule
  12136. it. - ScheduleAnyway tells the scheduler to schedule the
  12137. pod in any location, but giving higher precedence to topologies
  12138. that would help reduce the skew. A constraint is considered
  12139. "Unsatisfiable" for an incoming pod if and only if every
  12140. possible node assignment for that pod would violate "MaxSkew"
  12141. on some topology. For example, in a 3-zone cluster, MaxSkew
  12142. is set to 1, and pods with the same labelSelector spread
  12143. as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
  12144. If WhenUnsatisfiable is set to DoNotSchedule, incoming
  12145. pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
  12146. as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1).
  12147. In other words, the cluster can still be imbalanced, but
  12148. scheduler won''t make it *more* imbalanced. It''s a required
  12149. field.'
  12150. type: string
  12151. required:
  12152. - maxSkew
  12153. - topologyKey
  12154. - whenUnsatisfiable
  12155. type: object
  12156. type: array
  12157. x-kubernetes-list-map-keys:
  12158. - topologyKey
  12159. - whenUnsatisfiable
  12160. x-kubernetes-list-type: map
  12161. volumes:
  12162. description: 'List of volumes that can be mounted by containers
  12163. belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  12164. items:
  12165. description: Volume represents a named volume in a pod that
  12166. may be accessed by any container in the pod.
  12167. properties:
  12168. awsElasticBlockStore:
  12169. description: 'awsElasticBlockStore represents an AWS Disk
  12170. resource that is attached to a kubelet''s host machine
  12171. and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  12172. properties:
  12173. fsType:
  12174. description: 'fsType is the filesystem type of the volume
  12175. that you want to mount. Tip: Ensure that the filesystem
  12176. type is supported by the host operating system. Examples:
  12177. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  12178. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  12179. TODO: how do we prevent errors in the filesystem from
  12180. compromising the machine'
  12181. type: string
  12182. partition:
  12183. description: 'partition is the partition in the volume
  12184. that you want to mount. If omitted, the default is
  12185. to mount by volume name. Examples: For volume /dev/sda1,
  12186. you specify the partition as "1". Similarly, the volume
  12187. partition for /dev/sda is "0" (or you can leave the
  12188. property empty).'
  12189. format: int32
  12190. type: integer
  12191. readOnly:
  12192. description: 'readOnly value true will force the readOnly
  12193. setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  12194. type: boolean
  12195. volumeID:
  12196. description: 'volumeID is unique ID of the persistent
  12197. disk resource in AWS (Amazon EBS volume). More info:
  12198. https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  12199. type: string
  12200. required:
  12201. - volumeID
  12202. type: object
  12203. azureDisk:
  12204. description: azureDisk represents an Azure Data Disk mount
  12205. on the host and bind mount to the pod.
  12206. properties:
  12207. cachingMode:
  12208. description: 'cachingMode is the Host Caching mode:
  12209. None, Read Only, Read Write.'
  12210. type: string
  12211. diskName:
  12212. description: diskName is the Name of the data disk in
  12213. the blob storage
  12214. type: string
  12215. diskURI:
  12216. description: diskURI is the URI of data disk in the
  12217. blob storage
  12218. type: string
  12219. fsType:
  12220. description: fsType is Filesystem type to mount. Must
  12221. be a filesystem type supported by the host operating
  12222. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  12223. to be "ext4" if unspecified.
  12224. type: string
  12225. kind:
  12226. description: 'kind expected values are Shared: multiple
  12227. blob disks per storage account Dedicated: single
  12228. blob disk per storage account Managed: azure managed
  12229. data disk (only in managed availability set). defaults
  12230. to shared'
  12231. type: string
  12232. readOnly:
  12233. description: readOnly Defaults to false (read/write).
  12234. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  12235. type: boolean
  12236. required:
  12237. - diskName
  12238. - diskURI
  12239. type: object
  12240. azureFile:
  12241. description: azureFile represents an Azure File Service
  12242. mount on the host and bind mount to the pod.
  12243. properties:
  12244. readOnly:
  12245. description: readOnly defaults to false (read/write).
  12246. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  12247. type: boolean
  12248. secretName:
  12249. description: secretName is the name of secret that
  12250. contains Azure Storage Account Name and Key
  12251. type: string
  12252. shareName:
  12253. description: shareName is the azure share Name
  12254. type: string
  12255. required:
  12256. - secretName
  12257. - shareName
  12258. type: object
  12259. cephfs:
  12260. description: cephFS represents a Ceph FS mount on the host
  12261. that shares a pod's lifetime
  12262. properties:
  12263. monitors:
  12264. description: 'monitors is Required: Monitors is a collection
  12265. of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12266. items:
  12267. type: string
  12268. type: array
  12269. path:
  12270. description: 'path is Optional: Used as the mounted
  12271. root, rather than the full Ceph tree, default is /'
  12272. type: string
  12273. readOnly:
  12274. description: 'readOnly is Optional: Defaults to false
  12275. (read/write). ReadOnly here will force the ReadOnly
  12276. setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12277. type: boolean
  12278. secretFile:
  12279. description: 'secretFile is Optional: SecretFile is
  12280. the path to key ring for User, default is /etc/ceph/user.secret
  12281. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12282. type: string
  12283. secretRef:
  12284. description: 'secretRef is Optional: SecretRef is reference
  12285. to the authentication secret for User, default is
  12286. empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12287. properties:
  12288. name:
  12289. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12290. TODO: Add other useful fields. apiVersion, kind,
  12291. uid?'
  12292. type: string
  12293. type: object
  12294. x-kubernetes-map-type: atomic
  12295. user:
  12296. description: 'user is optional: User is the rados user
  12297. name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  12298. type: string
  12299. required:
  12300. - monitors
  12301. type: object
  12302. cinder:
  12303. description: 'cinder represents a cinder volume attached
  12304. and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12305. properties:
  12306. fsType:
  12307. description: 'fsType is the filesystem type to mount.
  12308. Must be a filesystem type supported by the host operating
  12309. system. Examples: "ext4", "xfs", "ntfs". Implicitly
  12310. inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12311. type: string
  12312. readOnly:
  12313. description: 'readOnly defaults to false (read/write).
  12314. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  12315. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12316. type: boolean
  12317. secretRef:
  12318. description: 'secretRef is optional: points to a secret
  12319. object containing parameters used to connect to OpenStack.'
  12320. properties:
  12321. name:
  12322. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12323. TODO: Add other useful fields. apiVersion, kind,
  12324. uid?'
  12325. type: string
  12326. type: object
  12327. x-kubernetes-map-type: atomic
  12328. volumeID:
  12329. description: 'volumeID used to identify the volume in
  12330. cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  12331. type: string
  12332. required:
  12333. - volumeID
  12334. type: object
  12335. configMap:
  12336. description: configMap represents a configMap that should
  12337. populate this volume
  12338. properties:
  12339. defaultMode:
  12340. description: 'defaultMode is optional: mode bits used
  12341. to set permissions on created files by default. Must
  12342. be an octal value between 0000 and 0777 or a decimal
  12343. value between 0 and 511. YAML accepts both octal and
  12344. decimal values, JSON requires decimal values for mode
  12345. bits. Defaults to 0644. Directories within the path
  12346. are not affected by this setting. This might be in
  12347. conflict with other options that affect the file mode,
  12348. like fsGroup, and the result can be other mode bits
  12349. set.'
  12350. format: int32
  12351. type: integer
  12352. items:
  12353. description: items if unspecified, each key-value pair
  12354. in the Data field of the referenced ConfigMap will
  12355. be projected into the volume as a file whose name
  12356. is the key and content is the value. If specified,
  12357. the listed keys will be projected into the specified
  12358. paths, and unlisted keys will not be present. If a
  12359. key is specified which is not present in the ConfigMap,
  12360. the volume setup will error unless it is marked optional.
  12361. Paths must be relative and may not contain the '..'
  12362. path or start with '..'.
  12363. items:
  12364. description: Maps a string key to a path within a
  12365. volume.
  12366. properties:
  12367. key:
  12368. description: key is the key to project.
  12369. type: string
  12370. mode:
  12371. description: 'mode is Optional: mode bits used
  12372. to set permissions on this file. Must be an
  12373. octal value between 0000 and 0777 or a decimal
  12374. value between 0 and 511. YAML accepts both octal
  12375. and decimal values, JSON requires decimal values
  12376. for mode bits. If not specified, the volume
  12377. defaultMode will be used. This might be in conflict
  12378. with other options that affect the file mode,
  12379. like fsGroup, and the result can be other mode
  12380. bits set.'
  12381. format: int32
  12382. type: integer
  12383. path:
  12384. description: path is the relative path of the
  12385. file to map the key to. May not be an absolute
  12386. path. May not contain the path element '..'.
  12387. May not start with the string '..'.
  12388. type: string
  12389. required:
  12390. - key
  12391. - path
  12392. type: object
  12393. type: array
  12394. name:
  12395. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12396. TODO: Add other useful fields. apiVersion, kind, uid?'
  12397. type: string
  12398. optional:
  12399. description: optional specify whether the ConfigMap
  12400. or its keys must be defined
  12401. type: boolean
  12402. type: object
  12403. x-kubernetes-map-type: atomic
  12404. csi:
  12405. description: csi (Container Storage Interface) represents
  12406. ephemeral storage that is handled by certain external
  12407. CSI drivers (Beta feature).
  12408. properties:
  12409. driver:
  12410. description: driver is the name of the CSI driver that
  12411. handles this volume. Consult with your admin for the
  12412. correct name as registered in the cluster.
  12413. type: string
  12414. fsType:
  12415. description: fsType to mount. Ex. "ext4", "xfs", "ntfs".
  12416. If not provided, the empty value is passed to the
  12417. associated CSI driver which will determine the default
  12418. filesystem to apply.
  12419. type: string
  12420. nodePublishSecretRef:
  12421. description: nodePublishSecretRef is a reference to
  12422. the secret object containing sensitive information
  12423. to pass to the CSI driver to complete the CSI NodePublishVolume
  12424. and NodeUnpublishVolume calls. This field is optional,
  12425. and may be empty if no secret is required. If the
  12426. secret object contains more than one secret, all secret
  12427. references are passed.
  12428. properties:
  12429. name:
  12430. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12431. TODO: Add other useful fields. apiVersion, kind,
  12432. uid?'
  12433. type: string
  12434. type: object
  12435. x-kubernetes-map-type: atomic
  12436. readOnly:
  12437. description: readOnly specifies a read-only configuration
  12438. for the volume. Defaults to false (read/write).
  12439. type: boolean
  12440. volumeAttributes:
  12441. additionalProperties:
  12442. type: string
  12443. description: volumeAttributes stores driver-specific
  12444. properties that are passed to the CSI driver. Consult
  12445. your driver's documentation for supported values.
  12446. type: object
  12447. required:
  12448. - driver
  12449. type: object
  12450. downwardAPI:
  12451. description: downwardAPI represents downward API about the
  12452. pod that should populate this volume
  12453. properties:
  12454. defaultMode:
  12455. description: 'Optional: mode bits to use on created
  12456. files by default. Must be a Optional: mode bits used
  12457. to set permissions on created files by default. Must
  12458. be an octal value between 0000 and 0777 or a decimal
  12459. value between 0 and 511. YAML accepts both octal and
  12460. decimal values, JSON requires decimal values for mode
  12461. bits. Defaults to 0644. Directories within the path
  12462. are not affected by this setting. This might be in
  12463. conflict with other options that affect the file mode,
  12464. like fsGroup, and the result can be other mode bits
  12465. set.'
  12466. format: int32
  12467. type: integer
  12468. items:
  12469. description: Items is a list of downward API volume
  12470. file
  12471. items:
  12472. description: DownwardAPIVolumeFile represents information
  12473. to create the file containing the pod field
  12474. properties:
  12475. fieldRef:
  12476. description: 'Required: Selects a field of the
  12477. pod: only annotations, labels, name and namespace
  12478. are supported.'
  12479. properties:
  12480. apiVersion:
  12481. description: Version of the schema the FieldPath
  12482. is written in terms of, defaults to "v1".
  12483. type: string
  12484. fieldPath:
  12485. description: Path of the field to select in
  12486. the specified API version.
  12487. type: string
  12488. required:
  12489. - fieldPath
  12490. type: object
  12491. x-kubernetes-map-type: atomic
  12492. mode:
  12493. description: 'Optional: mode bits used to set
  12494. permissions on this file, must be an octal value
  12495. between 0000 and 0777 or a decimal value between
  12496. 0 and 511. YAML accepts both octal and decimal
  12497. values, JSON requires decimal values for mode
  12498. bits. If not specified, the volume defaultMode
  12499. will be used. This might be in conflict with
  12500. other options that affect the file mode, like
  12501. fsGroup, and the result can be other mode bits
  12502. set.'
  12503. format: int32
  12504. type: integer
  12505. path:
  12506. description: 'Required: Path is the relative
  12507. path name of the file to be created. Must not
  12508. be absolute or contain the ''..'' path. Must
  12509. be utf-8 encoded. The first item of the relative
  12510. path must not start with ''..'''
  12511. type: string
  12512. resourceFieldRef:
  12513. description: 'Selects a resource of the container:
  12514. only resources limits and requests (limits.cpu,
  12515. limits.memory, requests.cpu and requests.memory)
  12516. are currently supported.'
  12517. properties:
  12518. containerName:
  12519. description: 'Container name: required for
  12520. volumes, optional for env vars'
  12521. type: string
  12522. divisor:
  12523. anyOf:
  12524. - type: integer
  12525. - type: string
  12526. description: Specifies the output format of
  12527. the exposed resources, defaults to "1"
  12528. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12529. x-kubernetes-int-or-string: true
  12530. resource:
  12531. description: 'Required: resource to select'
  12532. type: string
  12533. required:
  12534. - resource
  12535. type: object
  12536. x-kubernetes-map-type: atomic
  12537. required:
  12538. - path
  12539. type: object
  12540. type: array
  12541. type: object
  12542. emptyDir:
  12543. description: 'emptyDir represents a temporary directory
  12544. that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  12545. properties:
  12546. medium:
  12547. description: 'medium represents what type of storage
  12548. medium should back this directory. The default is
  12549. "" which means to use the node''s default medium.
  12550. Must be an empty string (default) or Memory. More
  12551. info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  12552. type: string
  12553. sizeLimit:
  12554. anyOf:
  12555. - type: integer
  12556. - type: string
  12557. description: 'sizeLimit is the total amount of local
  12558. storage required for this EmptyDir volume. The size
  12559. limit is also applicable for memory medium. The maximum
  12560. usage on memory medium EmptyDir would be the minimum
  12561. value between the SizeLimit specified here and the
  12562. sum of memory limits of all containers in a pod. The
  12563. default is nil which means that the limit is undefined.
  12564. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  12565. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12566. x-kubernetes-int-or-string: true
  12567. type: object
  12568. ephemeral:
  12569. description: "ephemeral represents a volume that is handled
  12570. by a cluster storage driver. The volume's lifecycle is
  12571. tied to the pod that defines it - it will be created before
  12572. the pod starts, and deleted when the pod is removed. \n
  12573. Use this if: a) the volume is only needed while the pod
  12574. runs, b) features of normal volumes like restoring from
  12575. snapshot or capacity tracking are needed, c) the storage
  12576. driver is specified through a storage class, and d) the
  12577. storage driver supports dynamic volume provisioning through
  12578. a PersistentVolumeClaim (see EphemeralVolumeSource for
  12579. more information on the connection between this volume
  12580. type and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  12581. or one of the vendor-specific APIs for volumes that persist
  12582. for longer than the lifecycle of an individual pod. \n
  12583. Use CSI for light-weight local ephemeral volumes if the
  12584. CSI driver is meant to be used that way - see the documentation
  12585. of the driver for more information. \n A pod can use both
  12586. types of ephemeral volumes and persistent volumes at the
  12587. same time."
  12588. properties:
  12589. volumeClaimTemplate:
  12590. description: "Will be used to create a stand-alone PVC
  12591. to provision the volume. The pod in which this EphemeralVolumeSource
  12592. is embedded will be the owner of the PVC, i.e. the
  12593. PVC will be deleted together with the pod. The name
  12594. of the PVC will be `<pod name>-<volume name>` where
  12595. `<volume name>` is the name from the `PodSpec.Volumes`
  12596. array entry. Pod validation will reject the pod if
  12597. the concatenated name is not valid for a PVC (for
  12598. example, too long). \n An existing PVC with that name
  12599. that is not owned by the pod will *not* be used for
  12600. the pod to avoid using an unrelated volume by mistake.
  12601. Starting the pod is then blocked until the unrelated
  12602. PVC is removed. If such a pre-created PVC is meant
  12603. to be used by the pod, the PVC has to updated with
  12604. an owner reference to the pod once the pod exists.
  12605. Normally this should not be necessary, but it may
  12606. be useful when manually reconstructing a broken cluster.
  12607. \n This field is read-only and no changes will be
  12608. made by Kubernetes to the PVC after it has been created.
  12609. \n Required, must not be nil."
  12610. properties:
  12611. metadata:
  12612. description: May contain labels and annotations
  12613. that will be copied into the PVC when creating
  12614. it. No other fields are allowed and will be rejected
  12615. during validation.
  12616. type: object
  12617. spec:
  12618. description: The specification for the PersistentVolumeClaim.
  12619. The entire content is copied unchanged into the
  12620. PVC that gets created from this template. The
  12621. same fields as in a PersistentVolumeClaim are
  12622. also valid here.
  12623. properties:
  12624. accessModes:
  12625. description: 'accessModes contains the desired
  12626. access modes the volume should have. More
  12627. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  12628. items:
  12629. type: string
  12630. type: array
  12631. dataSource:
  12632. description: 'dataSource field can be used to
  12633. specify either: * An existing VolumeSnapshot
  12634. object (snapshot.storage.k8s.io/VolumeSnapshot)
  12635. * An existing PVC (PersistentVolumeClaim)
  12636. If the provisioner or an external controller
  12637. can support the specified data source, it
  12638. will create a new volume based on the contents
  12639. of the specified data source. If the AnyVolumeDataSource
  12640. feature gate is enabled, this field will always
  12641. have the same contents as the DataSourceRef
  12642. field.'
  12643. properties:
  12644. apiGroup:
  12645. description: APIGroup is the group for the
  12646. resource being referenced. If APIGroup
  12647. is not specified, the specified Kind must
  12648. be in the core API group. For any other
  12649. third-party types, APIGroup is required.
  12650. type: string
  12651. kind:
  12652. description: Kind is the type of resource
  12653. being referenced
  12654. type: string
  12655. name:
  12656. description: Name is the name of resource
  12657. being referenced
  12658. type: string
  12659. required:
  12660. - kind
  12661. - name
  12662. type: object
  12663. x-kubernetes-map-type: atomic
  12664. dataSourceRef:
  12665. description: 'dataSourceRef specifies the object
  12666. from which to populate the volume with data,
  12667. if a non-empty volume is desired. This may
  12668. be any local object from a non-empty API group
  12669. (non core object) or a PersistentVolumeClaim
  12670. object. When this field is specified, volume
  12671. binding will only succeed if the type of the
  12672. specified object matches some installed volume
  12673. populator or dynamic provisioner. This field
  12674. will replace the functionality of the DataSource
  12675. field and as such if both fields are non-empty,
  12676. they must have the same value. For backwards
  12677. compatibility, both fields (DataSource and
  12678. DataSourceRef) will be set to the same value
  12679. automatically if one of them is empty and
  12680. the other is non-empty. There are two important
  12681. differences between DataSource and DataSourceRef:
  12682. * While DataSource only allows two specific
  12683. types of objects, DataSourceRef allows any
  12684. non-core object, as well as PersistentVolumeClaim
  12685. objects. * While DataSource ignores disallowed
  12686. values (dropping them), DataSourceRef preserves
  12687. all values, and generates an error if a disallowed
  12688. value is specified. (Beta) Using this field
  12689. requires the AnyVolumeDataSource feature gate
  12690. to be enabled.'
  12691. properties:
  12692. apiGroup:
  12693. description: APIGroup is the group for the
  12694. resource being referenced. If APIGroup
  12695. is not specified, the specified Kind must
  12696. be in the core API group. For any other
  12697. third-party types, APIGroup is required.
  12698. type: string
  12699. kind:
  12700. description: Kind is the type of resource
  12701. being referenced
  12702. type: string
  12703. name:
  12704. description: Name is the name of resource
  12705. being referenced
  12706. type: string
  12707. required:
  12708. - kind
  12709. - name
  12710. type: object
  12711. x-kubernetes-map-type: atomic
  12712. resources:
  12713. description: 'resources represents the minimum
  12714. resources the volume should have. If RecoverVolumeExpansionFailure
  12715. feature is enabled users are allowed to specify
  12716. resource requirements that are lower than
  12717. previous value but must still be higher than
  12718. capacity recorded in the status field of the
  12719. claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  12720. properties:
  12721. limits:
  12722. additionalProperties:
  12723. anyOf:
  12724. - type: integer
  12725. - type: string
  12726. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12727. x-kubernetes-int-or-string: true
  12728. description: 'Limits describes the maximum
  12729. amount of compute resources allowed. More
  12730. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12731. type: object
  12732. requests:
  12733. additionalProperties:
  12734. anyOf:
  12735. - type: integer
  12736. - type: string
  12737. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12738. x-kubernetes-int-or-string: true
  12739. description: 'Requests describes the minimum
  12740. amount of compute resources required.
  12741. If Requests is omitted for a container,
  12742. it defaults to Limits if that is explicitly
  12743. specified, otherwise to an implementation-defined
  12744. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12745. type: object
  12746. type: object
  12747. selector:
  12748. description: selector is a label query over
  12749. volumes to consider for binding.
  12750. properties:
  12751. matchExpressions:
  12752. description: matchExpressions is a list
  12753. of label selector requirements. The requirements
  12754. are ANDed.
  12755. items:
  12756. description: A label selector requirement
  12757. is a selector that contains values,
  12758. a key, and an operator that relates
  12759. the key and values.
  12760. properties:
  12761. key:
  12762. description: key is the label key
  12763. that the selector applies to.
  12764. type: string
  12765. operator:
  12766. description: operator represents a
  12767. key's relationship to a set of values.
  12768. Valid operators are In, NotIn, Exists
  12769. and DoesNotExist.
  12770. type: string
  12771. values:
  12772. description: values is an array of
  12773. string values. If the operator is
  12774. In or NotIn, the values array must
  12775. be non-empty. If the operator is
  12776. Exists or DoesNotExist, the values
  12777. array must be empty. This array
  12778. is replaced during a strategic merge
  12779. patch.
  12780. items:
  12781. type: string
  12782. type: array
  12783. required:
  12784. - key
  12785. - operator
  12786. type: object
  12787. type: array
  12788. matchLabels:
  12789. additionalProperties:
  12790. type: string
  12791. description: matchLabels is a map of {key,value}
  12792. pairs. A single {key,value} in the matchLabels
  12793. map is equivalent to an element of matchExpressions,
  12794. whose key field is "key", the operator
  12795. is "In", and the values array contains
  12796. only "value". The requirements are ANDed.
  12797. type: object
  12798. type: object
  12799. x-kubernetes-map-type: atomic
  12800. storageClassName:
  12801. description: 'storageClassName is the name of
  12802. the StorageClass required by the claim. More
  12803. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  12804. type: string
  12805. volumeMode:
  12806. description: volumeMode defines what type of
  12807. volume is required by the claim. Value of
  12808. Filesystem is implied when not included in
  12809. claim spec.
  12810. type: string
  12811. volumeName:
  12812. description: volumeName is the binding reference
  12813. to the PersistentVolume backing this claim.
  12814. type: string
  12815. type: object
  12816. required:
  12817. - spec
  12818. type: object
  12819. type: object
  12820. fc:
  12821. description: fc represents a Fibre Channel resource that
  12822. is attached to a kubelet's host machine and then exposed
  12823. to the pod.
  12824. properties:
  12825. fsType:
  12826. description: 'fsType is the filesystem type to mount.
  12827. Must be a filesystem type supported by the host operating
  12828. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  12829. to be "ext4" if unspecified. TODO: how do we prevent
  12830. errors in the filesystem from compromising the machine'
  12831. type: string
  12832. lun:
  12833. description: 'lun is Optional: FC target lun number'
  12834. format: int32
  12835. type: integer
  12836. readOnly:
  12837. description: 'readOnly is Optional: Defaults to false
  12838. (read/write). ReadOnly here will force the ReadOnly
  12839. setting in VolumeMounts.'
  12840. type: boolean
  12841. targetWWNs:
  12842. description: 'targetWWNs is Optional: FC target worldwide
  12843. names (WWNs)'
  12844. items:
  12845. type: string
  12846. type: array
  12847. wwids:
  12848. description: 'wwids Optional: FC volume world wide identifiers
  12849. (wwids) Either wwids or combination of targetWWNs
  12850. and lun must be set, but not both simultaneously.'
  12851. items:
  12852. type: string
  12853. type: array
  12854. type: object
  12855. flexVolume:
  12856. description: flexVolume represents a generic volume resource
  12857. that is provisioned/attached using an exec based plugin.
  12858. properties:
  12859. driver:
  12860. description: driver is the name of the driver to use
  12861. for this volume.
  12862. type: string
  12863. fsType:
  12864. description: fsType is the filesystem type to mount.
  12865. Must be a filesystem type supported by the host operating
  12866. system. Ex. "ext4", "xfs", "ntfs". The default filesystem
  12867. depends on FlexVolume script.
  12868. type: string
  12869. options:
  12870. additionalProperties:
  12871. type: string
  12872. description: 'options is Optional: this field holds
  12873. extra command options if any.'
  12874. type: object
  12875. readOnly:
  12876. description: 'readOnly is Optional: defaults to false
  12877. (read/write). ReadOnly here will force the ReadOnly
  12878. setting in VolumeMounts.'
  12879. type: boolean
  12880. secretRef:
  12881. description: 'secretRef is Optional: secretRef is reference
  12882. to the secret object containing sensitive information
  12883. to pass to the plugin scripts. This may be empty if
  12884. no secret object is specified. If the secret object
  12885. contains more than one secret, all secrets are passed
  12886. to the plugin scripts.'
  12887. properties:
  12888. name:
  12889. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12890. TODO: Add other useful fields. apiVersion, kind,
  12891. uid?'
  12892. type: string
  12893. type: object
  12894. x-kubernetes-map-type: atomic
  12895. required:
  12896. - driver
  12897. type: object
  12898. flocker:
  12899. description: flocker represents a Flocker volume attached
  12900. to a kubelet's host machine. This depends on the Flocker
  12901. control service being running
  12902. properties:
  12903. datasetName:
  12904. description: datasetName is Name of the dataset stored
  12905. as metadata -> name on the dataset for Flocker should
  12906. be considered as deprecated
  12907. type: string
  12908. datasetUUID:
  12909. description: datasetUUID is the UUID of the dataset.
  12910. This is unique identifier of a Flocker dataset
  12911. type: string
  12912. type: object
  12913. gcePersistentDisk:
  12914. description: 'gcePersistentDisk represents a GCE Disk resource
  12915. that is attached to a kubelet''s host machine and then
  12916. exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12917. properties:
  12918. fsType:
  12919. description: 'fsType is filesystem type of the volume
  12920. that you want to mount. Tip: Ensure that the filesystem
  12921. type is supported by the host operating system. Examples:
  12922. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  12923. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  12924. TODO: how do we prevent errors in the filesystem from
  12925. compromising the machine'
  12926. type: string
  12927. partition:
  12928. description: 'partition is the partition in the volume
  12929. that you want to mount. If omitted, the default is
  12930. to mount by volume name. Examples: For volume /dev/sda1,
  12931. you specify the partition as "1". Similarly, the volume
  12932. partition for /dev/sda is "0" (or you can leave the
  12933. property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12934. format: int32
  12935. type: integer
  12936. pdName:
  12937. description: 'pdName is unique name of the PD resource
  12938. in GCE. Used to identify the disk in GCE. More info:
  12939. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12940. type: string
  12941. readOnly:
  12942. description: 'readOnly here will force the ReadOnly
  12943. setting in VolumeMounts. Defaults to false. More info:
  12944. https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  12945. type: boolean
  12946. required:
  12947. - pdName
  12948. type: object
  12949. gitRepo:
  12950. description: 'gitRepo represents a git repository at a particular
  12951. revision. DEPRECATED: GitRepo is deprecated. To provision
  12952. a container with a git repo, mount an EmptyDir into an
  12953. InitContainer that clones the repo using git, then mount
  12954. the EmptyDir into the Pod''s container.'
  12955. properties:
  12956. directory:
  12957. description: directory is the target directory name.
  12958. Must not contain or start with '..'. If '.' is supplied,
  12959. the volume directory will be the git repository. Otherwise,
  12960. if specified, the volume will contain the git repository
  12961. in the subdirectory with the given name.
  12962. type: string
  12963. repository:
  12964. description: repository is the URL
  12965. type: string
  12966. revision:
  12967. description: revision is the commit hash for the specified
  12968. revision.
  12969. type: string
  12970. required:
  12971. - repository
  12972. type: object
  12973. glusterfs:
  12974. description: 'glusterfs represents a Glusterfs mount on
  12975. the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  12976. properties:
  12977. endpoints:
  12978. description: 'endpoints is the endpoint name that details
  12979. Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  12980. type: string
  12981. path:
  12982. description: 'path is the Glusterfs volume path. More
  12983. info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  12984. type: string
  12985. readOnly:
  12986. description: 'readOnly here will force the Glusterfs
  12987. volume to be mounted with read-only permissions. Defaults
  12988. to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  12989. type: boolean
  12990. required:
  12991. - endpoints
  12992. - path
  12993. type: object
  12994. hostPath:
  12995. description: 'hostPath represents a pre-existing file or
  12996. directory on the host machine that is directly exposed
  12997. to the container. This is generally used for system agents
  12998. or other privileged things that are allowed to see the
  12999. host machine. Most containers will NOT need this. More
  13000. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  13001. --- TODO(jonesdl) We need to restrict who can use host
  13002. directory mounts and who can/can not mount host directories
  13003. as read/write.'
  13004. properties:
  13005. path:
  13006. description: 'path of the directory on the host. If
  13007. the path is a symlink, it will follow the link to
  13008. the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  13009. type: string
  13010. type:
  13011. description: 'type for HostPath Volume Defaults to ""
  13012. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  13013. type: string
  13014. required:
  13015. - path
  13016. type: object
  13017. iscsi:
  13018. description: 'iscsi represents an ISCSI Disk resource that
  13019. is attached to a kubelet''s host machine and then exposed
  13020. to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  13021. properties:
  13022. chapAuthDiscovery:
  13023. description: chapAuthDiscovery defines whether support
  13024. iSCSI Discovery CHAP authentication
  13025. type: boolean
  13026. chapAuthSession:
  13027. description: chapAuthSession defines whether support
  13028. iSCSI Session CHAP authentication
  13029. type: boolean
  13030. fsType:
  13031. description: 'fsType is the filesystem type of the volume
  13032. that you want to mount. Tip: Ensure that the filesystem
  13033. type is supported by the host operating system. Examples:
  13034. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  13035. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  13036. TODO: how do we prevent errors in the filesystem from
  13037. compromising the machine'
  13038. type: string
  13039. initiatorName:
  13040. description: initiatorName is the custom iSCSI Initiator
  13041. Name. If initiatorName is specified with iscsiInterface
  13042. simultaneously, new iSCSI interface <target portal>:<volume
  13043. name> will be created for the connection.
  13044. type: string
  13045. iqn:
  13046. description: iqn is the target iSCSI Qualified Name.
  13047. type: string
  13048. iscsiInterface:
  13049. description: iscsiInterface is the interface Name that
  13050. uses an iSCSI transport. Defaults to 'default' (tcp).
  13051. type: string
  13052. lun:
  13053. description: lun represents iSCSI Target Lun number.
  13054. format: int32
  13055. type: integer
  13056. portals:
  13057. description: portals is the iSCSI Target Portal List.
  13058. The portal is either an IP or ip_addr:port if the
  13059. port is other than default (typically TCP ports 860
  13060. and 3260).
  13061. items:
  13062. type: string
  13063. type: array
  13064. readOnly:
  13065. description: readOnly here will force the ReadOnly setting
  13066. in VolumeMounts. Defaults to false.
  13067. type: boolean
  13068. secretRef:
  13069. description: secretRef is the CHAP Secret for iSCSI
  13070. target and initiator authentication
  13071. properties:
  13072. name:
  13073. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13074. TODO: Add other useful fields. apiVersion, kind,
  13075. uid?'
  13076. type: string
  13077. type: object
  13078. x-kubernetes-map-type: atomic
  13079. targetPortal:
  13080. description: targetPortal is iSCSI Target Portal. The
  13081. Portal is either an IP or ip_addr:port if the port
  13082. is other than default (typically TCP ports 860 and
  13083. 3260).
  13084. type: string
  13085. required:
  13086. - iqn
  13087. - lun
  13088. - targetPortal
  13089. type: object
  13090. name:
  13091. description: 'name of the volume. Must be a DNS_LABEL and
  13092. unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  13093. type: string
  13094. nfs:
  13095. description: 'nfs represents an NFS mount on the host that
  13096. shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13097. properties:
  13098. path:
  13099. description: 'path that is exported by the NFS server.
  13100. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13101. type: string
  13102. readOnly:
  13103. description: 'readOnly here will force the NFS export
  13104. to be mounted with read-only permissions. Defaults
  13105. to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13106. type: boolean
  13107. server:
  13108. description: 'server is the hostname or IP address of
  13109. the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  13110. type: string
  13111. required:
  13112. - path
  13113. - server
  13114. type: object
  13115. persistentVolumeClaim:
  13116. description: 'persistentVolumeClaimVolumeSource represents
  13117. a reference to a PersistentVolumeClaim in the same namespace.
  13118. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  13119. properties:
  13120. claimName:
  13121. description: 'claimName is the name of a PersistentVolumeClaim
  13122. in the same namespace as the pod using this volume.
  13123. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  13124. type: string
  13125. readOnly:
  13126. description: readOnly Will force the ReadOnly setting
  13127. in VolumeMounts. Default false.
  13128. type: boolean
  13129. required:
  13130. - claimName
  13131. type: object
  13132. photonPersistentDisk:
  13133. description: photonPersistentDisk represents a PhotonController
  13134. persistent disk attached and mounted on kubelets host
  13135. machine
  13136. properties:
  13137. fsType:
  13138. description: fsType is the filesystem type to mount.
  13139. Must be a filesystem type supported by the host operating
  13140. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  13141. to be "ext4" if unspecified.
  13142. type: string
  13143. pdID:
  13144. description: pdID is the ID that identifies Photon Controller
  13145. persistent disk
  13146. type: string
  13147. required:
  13148. - pdID
  13149. type: object
  13150. portworxVolume:
  13151. description: portworxVolume represents a portworx volume
  13152. attached and mounted on kubelets host machine
  13153. properties:
  13154. fsType:
  13155. description: fSType represents the filesystem type to
  13156. mount Must be a filesystem type supported by the host
  13157. operating system. Ex. "ext4", "xfs". Implicitly inferred
  13158. to be "ext4" if unspecified.
  13159. type: string
  13160. readOnly:
  13161. description: readOnly defaults to false (read/write).
  13162. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  13163. type: boolean
  13164. volumeID:
  13165. description: volumeID uniquely identifies a Portworx
  13166. volume
  13167. type: string
  13168. required:
  13169. - volumeID
  13170. type: object
  13171. projected:
  13172. description: projected items for all in one resources secrets,
  13173. configmaps, and downward API
  13174. properties:
  13175. defaultMode:
  13176. description: defaultMode are the mode bits used to set
  13177. permissions on created files by default. Must be an
  13178. octal value between 0000 and 0777 or a decimal value
  13179. between 0 and 511. YAML accepts both octal and decimal
  13180. values, JSON requires decimal values for mode bits.
  13181. Directories within the path are not affected by this
  13182. setting. This might be in conflict with other options
  13183. that affect the file mode, like fsGroup, and the result
  13184. can be other mode bits set.
  13185. format: int32
  13186. type: integer
  13187. sources:
  13188. description: sources is the list of volume projections
  13189. items:
  13190. description: Projection that may be projected along
  13191. with other supported volume types
  13192. properties:
  13193. configMap:
  13194. description: configMap information about the configMap
  13195. data to project
  13196. properties:
  13197. items:
  13198. description: items if unspecified, each key-value
  13199. pair in the Data field of the referenced
  13200. ConfigMap will be projected into the volume
  13201. as a file whose name is the key and content
  13202. is the value. If specified, the listed keys
  13203. will be projected into the specified paths,
  13204. and unlisted keys will not be present. If
  13205. a key is specified which is not present
  13206. in the ConfigMap, the volume setup will
  13207. error unless it is marked optional. Paths
  13208. must be relative and may not contain the
  13209. '..' path or start with '..'.
  13210. items:
  13211. description: Maps a string key to a path
  13212. within a volume.
  13213. properties:
  13214. key:
  13215. description: key is the key to project.
  13216. type: string
  13217. mode:
  13218. description: 'mode is Optional: mode
  13219. bits used to set permissions on this
  13220. file. Must be an octal value between
  13221. 0000 and 0777 or a decimal value between
  13222. 0 and 511. YAML accepts both octal
  13223. and decimal values, JSON requires
  13224. decimal values for mode bits. If not
  13225. specified, the volume defaultMode
  13226. will be used. This might be in conflict
  13227. with other options that affect the
  13228. file mode, like fsGroup, and the result
  13229. can be other mode bits set.'
  13230. format: int32
  13231. type: integer
  13232. path:
  13233. description: path is the relative path
  13234. of the file to map the key to. May
  13235. not be an absolute path. May not contain
  13236. the path element '..'. May not start
  13237. with the string '..'.
  13238. type: string
  13239. required:
  13240. - key
  13241. - path
  13242. type: object
  13243. type: array
  13244. name:
  13245. description: 'Name of the referent. More info:
  13246. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13247. TODO: Add other useful fields. apiVersion,
  13248. kind, uid?'
  13249. type: string
  13250. optional:
  13251. description: optional specify whether the
  13252. ConfigMap or its keys must be defined
  13253. type: boolean
  13254. type: object
  13255. x-kubernetes-map-type: atomic
  13256. downwardAPI:
  13257. description: downwardAPI information about the
  13258. downwardAPI data to project
  13259. properties:
  13260. items:
  13261. description: Items is a list of DownwardAPIVolume
  13262. file
  13263. items:
  13264. description: DownwardAPIVolumeFile represents
  13265. information to create the file containing
  13266. the pod field
  13267. properties:
  13268. fieldRef:
  13269. description: 'Required: Selects a field
  13270. of the pod: only annotations, labels,
  13271. name and namespace are supported.'
  13272. properties:
  13273. apiVersion:
  13274. description: Version of the schema
  13275. the FieldPath is written in terms
  13276. of, defaults to "v1".
  13277. type: string
  13278. fieldPath:
  13279. description: Path of the field to
  13280. select in the specified API version.
  13281. type: string
  13282. required:
  13283. - fieldPath
  13284. type: object
  13285. x-kubernetes-map-type: atomic
  13286. mode:
  13287. description: 'Optional: mode bits used
  13288. to set permissions on this file, must
  13289. be an octal value between 0000 and
  13290. 0777 or a decimal value between 0
  13291. and 511. YAML accepts both octal and
  13292. decimal values, JSON requires decimal
  13293. values for mode bits. If not specified,
  13294. the volume defaultMode will be used.
  13295. This might be in conflict with other
  13296. options that affect the file mode,
  13297. like fsGroup, and the result can be
  13298. other mode bits set.'
  13299. format: int32
  13300. type: integer
  13301. path:
  13302. description: 'Required: Path is the
  13303. relative path name of the file to
  13304. be created. Must not be absolute or
  13305. contain the ''..'' path. Must be utf-8
  13306. encoded. The first item of the relative
  13307. path must not start with ''..'''
  13308. type: string
  13309. resourceFieldRef:
  13310. description: 'Selects a resource of
  13311. the container: only resources limits
  13312. and requests (limits.cpu, limits.memory,
  13313. requests.cpu and requests.memory)
  13314. are currently supported.'
  13315. properties:
  13316. containerName:
  13317. description: 'Container name: required
  13318. for volumes, optional for env
  13319. vars'
  13320. type: string
  13321. divisor:
  13322. anyOf:
  13323. - type: integer
  13324. - type: string
  13325. description: Specifies the output
  13326. format of the exposed resources,
  13327. defaults to "1"
  13328. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  13329. x-kubernetes-int-or-string: true
  13330. resource:
  13331. description: 'Required: resource
  13332. to select'
  13333. type: string
  13334. required:
  13335. - resource
  13336. type: object
  13337. x-kubernetes-map-type: atomic
  13338. required:
  13339. - path
  13340. type: object
  13341. type: array
  13342. type: object
  13343. secret:
  13344. description: secret information about the secret
  13345. data to project
  13346. properties:
  13347. items:
  13348. description: items if unspecified, each key-value
  13349. pair in the Data field of the referenced
  13350. Secret will be projected into the volume
  13351. as a file whose name is the key and content
  13352. is the value. If specified, the listed keys
  13353. will be projected into the specified paths,
  13354. and unlisted keys will not be present. If
  13355. a key is specified which is not present
  13356. in the Secret, the volume setup will error
  13357. unless it is marked optional. Paths must
  13358. be relative and may not contain the '..'
  13359. path or start with '..'.
  13360. items:
  13361. description: Maps a string key to a path
  13362. within a volume.
  13363. properties:
  13364. key:
  13365. description: key is the key to project.
  13366. type: string
  13367. mode:
  13368. description: 'mode is Optional: mode
  13369. bits used to set permissions on this
  13370. file. Must be an octal value between
  13371. 0000 and 0777 or a decimal value between
  13372. 0 and 511. YAML accepts both octal
  13373. and decimal values, JSON requires
  13374. decimal values for mode bits. If not
  13375. specified, the volume defaultMode
  13376. will be used. This might be in conflict
  13377. with other options that affect the
  13378. file mode, like fsGroup, and the result
  13379. can be other mode bits set.'
  13380. format: int32
  13381. type: integer
  13382. path:
  13383. description: path is the relative path
  13384. of the file to map the key to. May
  13385. not be an absolute path. May not contain
  13386. the path element '..'. May not start
  13387. with the string '..'.
  13388. type: string
  13389. required:
  13390. - key
  13391. - path
  13392. type: object
  13393. type: array
  13394. name:
  13395. description: 'Name of the referent. More info:
  13396. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13397. TODO: Add other useful fields. apiVersion,
  13398. kind, uid?'
  13399. type: string
  13400. optional:
  13401. description: optional field specify whether
  13402. the Secret or its key must be defined
  13403. type: boolean
  13404. type: object
  13405. x-kubernetes-map-type: atomic
  13406. serviceAccountToken:
  13407. description: serviceAccountToken is information
  13408. about the serviceAccountToken data to project
  13409. properties:
  13410. audience:
  13411. description: audience is the intended audience
  13412. of the token. A recipient of a token must
  13413. identify itself with an identifier specified
  13414. in the audience of the token, and otherwise
  13415. should reject the token. The audience defaults
  13416. to the identifier of the apiserver.
  13417. type: string
  13418. expirationSeconds:
  13419. description: expirationSeconds is the requested
  13420. duration of validity of the service account
  13421. token. As the token approaches expiration,
  13422. the kubelet volume plugin will proactively
  13423. rotate the service account token. The kubelet
  13424. will start trying to rotate the token if
  13425. the token is older than 80 percent of its
  13426. time to live or if the token is older than
  13427. 24 hours.Defaults to 1 hour and must be
  13428. at least 10 minutes.
  13429. format: int64
  13430. type: integer
  13431. path:
  13432. description: path is the path relative to
  13433. the mount point of the file to project the
  13434. token into.
  13435. type: string
  13436. required:
  13437. - path
  13438. type: object
  13439. type: object
  13440. type: array
  13441. type: object
  13442. quobyte:
  13443. description: quobyte represents a Quobyte mount on the host
  13444. that shares a pod's lifetime
  13445. properties:
  13446. group:
  13447. description: group to map volume access to Default is
  13448. no group
  13449. type: string
  13450. readOnly:
  13451. description: readOnly here will force the Quobyte volume
  13452. to be mounted with read-only permissions. Defaults
  13453. to false.
  13454. type: boolean
  13455. registry:
  13456. description: registry represents a single or multiple
  13457. Quobyte Registry services specified as a string as
  13458. host:port pair (multiple entries are separated with
  13459. commas) which acts as the central registry for volumes
  13460. type: string
  13461. tenant:
  13462. description: tenant owning the given Quobyte volume
  13463. in the Backend Used with dynamically provisioned Quobyte
  13464. volumes, value is set by the plugin
  13465. type: string
  13466. user:
  13467. description: user to map volume access to Defaults to
  13468. serivceaccount user
  13469. type: string
  13470. volume:
  13471. description: volume is a string that references an already
  13472. created Quobyte volume by name.
  13473. type: string
  13474. required:
  13475. - registry
  13476. - volume
  13477. type: object
  13478. rbd:
  13479. description: 'rbd represents a Rados Block Device mount
  13480. on the host that shares a pod''s lifetime. More info:
  13481. https://examples.k8s.io/volumes/rbd/README.md'
  13482. properties:
  13483. fsType:
  13484. description: 'fsType is the filesystem type of the volume
  13485. that you want to mount. Tip: Ensure that the filesystem
  13486. type is supported by the host operating system. Examples:
  13487. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  13488. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  13489. TODO: how do we prevent errors in the filesystem from
  13490. compromising the machine'
  13491. type: string
  13492. image:
  13493. description: 'image is the rados image name. More info:
  13494. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13495. type: string
  13496. keyring:
  13497. description: 'keyring is the path to key ring for RBDUser.
  13498. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13499. type: string
  13500. monitors:
  13501. description: 'monitors is a collection of Ceph monitors.
  13502. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13503. items:
  13504. type: string
  13505. type: array
  13506. pool:
  13507. description: 'pool is the rados pool name. Default is
  13508. rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13509. type: string
  13510. readOnly:
  13511. description: 'readOnly here will force the ReadOnly
  13512. setting in VolumeMounts. Defaults to false. More info:
  13513. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13514. type: boolean
  13515. secretRef:
  13516. description: 'secretRef is name of the authentication
  13517. secret for RBDUser. If provided overrides keyring.
  13518. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13519. properties:
  13520. name:
  13521. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13522. TODO: Add other useful fields. apiVersion, kind,
  13523. uid?'
  13524. type: string
  13525. type: object
  13526. x-kubernetes-map-type: atomic
  13527. user:
  13528. description: 'user is the rados user name. Default is
  13529. admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  13530. type: string
  13531. required:
  13532. - image
  13533. - monitors
  13534. type: object
  13535. scaleIO:
  13536. description: scaleIO represents a ScaleIO persistent volume
  13537. attached and mounted on Kubernetes nodes.
  13538. properties:
  13539. fsType:
  13540. description: fsType is the filesystem type to mount.
  13541. Must be a filesystem type supported by the host operating
  13542. system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  13543. type: string
  13544. gateway:
  13545. description: gateway is the host address of the ScaleIO
  13546. API Gateway.
  13547. type: string
  13548. protectionDomain:
  13549. description: protectionDomain is the name of the ScaleIO
  13550. Protection Domain for the configured storage.
  13551. type: string
  13552. readOnly:
  13553. description: readOnly Defaults to false (read/write).
  13554. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  13555. type: boolean
  13556. secretRef:
  13557. description: secretRef references to the secret for
  13558. ScaleIO user and other sensitive information. If this
  13559. is not provided, Login operation will fail.
  13560. properties:
  13561. name:
  13562. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13563. TODO: Add other useful fields. apiVersion, kind,
  13564. uid?'
  13565. type: string
  13566. type: object
  13567. x-kubernetes-map-type: atomic
  13568. sslEnabled:
  13569. description: sslEnabled Flag enable/disable SSL communication
  13570. with Gateway, default false
  13571. type: boolean
  13572. storageMode:
  13573. description: storageMode indicates whether the storage
  13574. for a volume should be ThickProvisioned or ThinProvisioned.
  13575. Default is ThinProvisioned.
  13576. type: string
  13577. storagePool:
  13578. description: storagePool is the ScaleIO Storage Pool
  13579. associated with the protection domain.
  13580. type: string
  13581. system:
  13582. description: system is the name of the storage system
  13583. as configured in ScaleIO.
  13584. type: string
  13585. volumeName:
  13586. description: volumeName is the name of a volume already
  13587. created in the ScaleIO system that is associated with
  13588. this volume source.
  13589. type: string
  13590. required:
  13591. - gateway
  13592. - secretRef
  13593. - system
  13594. type: object
  13595. secret:
  13596. description: 'secret represents a secret that should populate
  13597. this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  13598. properties:
  13599. defaultMode:
  13600. description: 'defaultMode is Optional: mode bits used
  13601. to set permissions on created files by default. Must
  13602. be an octal value between 0000 and 0777 or a decimal
  13603. value between 0 and 511. YAML accepts both octal and
  13604. decimal values, JSON requires decimal values for mode
  13605. bits. Defaults to 0644. Directories within the path
  13606. are not affected by this setting. This might be in
  13607. conflict with other options that affect the file mode,
  13608. like fsGroup, and the result can be other mode bits
  13609. set.'
  13610. format: int32
  13611. type: integer
  13612. items:
  13613. description: items If unspecified, each key-value pair
  13614. in the Data field of the referenced Secret will be
  13615. projected into the volume as a file whose name is
  13616. the key and content is the value. If specified, the
  13617. listed keys will be projected into the specified paths,
  13618. and unlisted keys will not be present. If a key is
  13619. specified which is not present in the Secret, the
  13620. volume setup will error unless it is marked optional.
  13621. Paths must be relative and may not contain the '..'
  13622. path or start with '..'.
  13623. items:
  13624. description: Maps a string key to a path within a
  13625. volume.
  13626. properties:
  13627. key:
  13628. description: key is the key to project.
  13629. type: string
  13630. mode:
  13631. description: 'mode is Optional: mode bits used
  13632. to set permissions on this file. Must be an
  13633. octal value between 0000 and 0777 or a decimal
  13634. value between 0 and 511. YAML accepts both octal
  13635. and decimal values, JSON requires decimal values
  13636. for mode bits. If not specified, the volume
  13637. defaultMode will be used. This might be in conflict
  13638. with other options that affect the file mode,
  13639. like fsGroup, and the result can be other mode
  13640. bits set.'
  13641. format: int32
  13642. type: integer
  13643. path:
  13644. description: path is the relative path of the
  13645. file to map the key to. May not be an absolute
  13646. path. May not contain the path element '..'.
  13647. May not start with the string '..'.
  13648. type: string
  13649. required:
  13650. - key
  13651. - path
  13652. type: object
  13653. type: array
  13654. optional:
  13655. description: optional field specify whether the Secret
  13656. or its keys must be defined
  13657. type: boolean
  13658. secretName:
  13659. description: 'secretName is the name of the secret in
  13660. the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  13661. type: string
  13662. type: object
  13663. storageos:
  13664. description: storageOS represents a StorageOS volume attached
  13665. and mounted on Kubernetes nodes.
  13666. properties:
  13667. fsType:
  13668. description: fsType is the filesystem type to mount.
  13669. Must be a filesystem type supported by the host operating
  13670. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  13671. to be "ext4" if unspecified.
  13672. type: string
  13673. readOnly:
  13674. description: readOnly defaults to false (read/write).
  13675. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  13676. type: boolean
  13677. secretRef:
  13678. description: secretRef specifies the secret to use for
  13679. obtaining the StorageOS API credentials. If not specified,
  13680. default values will be attempted.
  13681. properties:
  13682. name:
  13683. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13684. TODO: Add other useful fields. apiVersion, kind,
  13685. uid?'
  13686. type: string
  13687. type: object
  13688. x-kubernetes-map-type: atomic
  13689. volumeName:
  13690. description: volumeName is the human-readable name of
  13691. the StorageOS volume. Volume names are only unique
  13692. within a namespace.
  13693. type: string
  13694. volumeNamespace:
  13695. description: volumeNamespace specifies the scope of
  13696. the volume within StorageOS. If no namespace is specified
  13697. then the Pod's namespace will be used. This allows
  13698. the Kubernetes name scoping to be mirrored within
  13699. StorageOS for tighter integration. Set VolumeName
  13700. to any name to override the default behaviour. Set
  13701. to "default" if you are not using namespaces within
  13702. StorageOS. Namespaces that do not pre-exist within
  13703. StorageOS will be created.
  13704. type: string
  13705. type: object
  13706. vsphereVolume:
  13707. description: vsphereVolume represents a vSphere volume attached
  13708. and mounted on kubelets host machine
  13709. properties:
  13710. fsType:
  13711. description: fsType is filesystem type to mount. Must
  13712. be a filesystem type supported by the host operating
  13713. system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred
  13714. to be "ext4" if unspecified.
  13715. type: string
  13716. storagePolicyID:
  13717. description: storagePolicyID is the storage Policy Based
  13718. Management (SPBM) profile ID associated with the StoragePolicyName.
  13719. type: string
  13720. storagePolicyName:
  13721. description: storagePolicyName is the storage Policy
  13722. Based Management (SPBM) profile name.
  13723. type: string
  13724. volumePath:
  13725. description: volumePath is the path that identifies
  13726. vSphere volume vmdk
  13727. type: string
  13728. required:
  13729. - volumePath
  13730. type: object
  13731. required:
  13732. - name
  13733. type: object
  13734. type: array
  13735. required:
  13736. - containers
  13737. type: object
  13738. routeTo:
  13739. description: Set which service traffic should go
  13740. enum:
  13741. - Blue
  13742. - Green
  13743. type: string
  13744. required:
  13745. - routeTo
  13746. type: object
  13747. status:
  13748. description: BlueGreenStatus defines the observed state of BlueGreen
  13749. properties:
  13750. routeTo:
  13751. enum:
  13752. - Blue
  13753. - Green
  13754. type: string
  13755. type: object
  13756. type: object
  13757. served: true
  13758. storage: true
  13759. subresources:
  13760. status: {}