bundle.yaml 1.7 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714
  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: alertmanagerconfigs.monitoring.coreos.com
  9. spec:
  10. group: monitoring.coreos.com
  11. names:
  12. categories:
  13. - prometheus-operator
  14. kind: AlertmanagerConfig
  15. listKind: AlertmanagerConfigList
  16. plural: alertmanagerconfigs
  17. shortNames:
  18. - amcfg
  19. singular: alertmanagerconfig
  20. scope: Namespaced
  21. versions:
  22. - name: v1alpha1
  23. schema:
  24. openAPIV3Schema:
  25. description: AlertmanagerConfig defines a namespaced AlertmanagerConfig to
  26. be aggregated across multiple namespaces configuring one Alertmanager cluster.
  27. properties:
  28. apiVersion:
  29. description: 'APIVersion defines the versioned schema of this representation
  30. of an object. Servers should convert recognized schemas to the latest
  31. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  32. type: string
  33. kind:
  34. description: 'Kind is a string value representing the REST resource this
  35. object represents. Servers may infer this from the endpoint the client
  36. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  37. type: string
  38. metadata:
  39. type: object
  40. spec:
  41. description: AlertmanagerConfigSpec is a specification of the desired
  42. behavior of the Alertmanager configuration. By definition, the Alertmanager
  43. configuration only applies to alerts for which the `namespace` label
  44. is equal to the namespace of the AlertmanagerConfig resource.
  45. properties:
  46. inhibitRules:
  47. description: List of inhibition rules. The rules will only apply to
  48. alerts matching the resource’s namespace.
  49. items:
  50. description: InhibitRule defines an inhibition rule that allows
  51. to mute alerts when other alerts are already firing. See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule
  52. properties:
  53. equal:
  54. description: Labels that must have an equal value in the source
  55. and target alert for the inhibition to take effect.
  56. items:
  57. type: string
  58. type: array
  59. sourceMatch:
  60. description: Matchers for which one or more alerts have to exist
  61. for the inhibition to take effect. The operator enforces that
  62. the alert matches the resource’s namespace.
  63. items:
  64. description: Matcher defines how to match on alert's labels.
  65. properties:
  66. matchType:
  67. description: Match operation available with AlertManager
  68. >= v0.22.0 and takes precedence over Regex (deprecated)
  69. if non-empty.
  70. enum:
  71. - '!='
  72. - =
  73. - =~
  74. - '!~'
  75. type: string
  76. name:
  77. description: Label to match.
  78. minLength: 1
  79. type: string
  80. regex:
  81. description: Whether to match on equality (false) or regular-expression
  82. (true). Deprecated as of AlertManager >= v0.22.0 where
  83. a user should use MatchType instead.
  84. type: boolean
  85. value:
  86. description: Label value to match.
  87. type: string
  88. required:
  89. - name
  90. type: object
  91. type: array
  92. targetMatch:
  93. description: Matchers that have to be fulfilled in the alerts
  94. to be muted. The operator enforces that the alert matches
  95. the resource’s namespace.
  96. items:
  97. description: Matcher defines how to match on alert's labels.
  98. properties:
  99. matchType:
  100. description: Match operation available with AlertManager
  101. >= v0.22.0 and takes precedence over Regex (deprecated)
  102. if non-empty.
  103. enum:
  104. - '!='
  105. - =
  106. - =~
  107. - '!~'
  108. type: string
  109. name:
  110. description: Label to match.
  111. minLength: 1
  112. type: string
  113. regex:
  114. description: Whether to match on equality (false) or regular-expression
  115. (true). Deprecated as of AlertManager >= v0.22.0 where
  116. a user should use MatchType instead.
  117. type: boolean
  118. value:
  119. description: Label value to match.
  120. type: string
  121. required:
  122. - name
  123. type: object
  124. type: array
  125. type: object
  126. type: array
  127. muteTimeIntervals:
  128. description: List of MuteTimeInterval specifying when the routes should
  129. be muted.
  130. items:
  131. description: MuteTimeInterval specifies the periods in time when
  132. notifications will be muted
  133. properties:
  134. name:
  135. description: Name of the time interval
  136. type: string
  137. timeIntervals:
  138. description: TimeIntervals is a list of TimeInterval
  139. items:
  140. description: TimeInterval describes intervals of time
  141. properties:
  142. daysOfMonth:
  143. description: DaysOfMonth is a list of DayOfMonthRange
  144. items:
  145. description: DayOfMonthRange is an inclusive range of
  146. days of the month beginning at 1
  147. properties:
  148. end:
  149. description: End of the inclusive range
  150. maximum: 31
  151. minimum: -31
  152. type: integer
  153. start:
  154. description: Start of the inclusive range
  155. maximum: 31
  156. minimum: -31
  157. type: integer
  158. type: object
  159. type: array
  160. months:
  161. description: Months is a list of MonthRange
  162. items:
  163. description: MonthRange is an inclusive range of months
  164. of the year beginning in January Months can be specified
  165. by name (e.g 'January') by numerical month (e.g '1')
  166. or as an inclusive range (e.g 'January:March', '1:3',
  167. '1:March')
  168. pattern: ^((?i)january|february|march|april|may|june|july|august|september|october|november|december|[1-12])(?:((:((?i)january|february|march|april|may|june|july|august|september|october|november|december|[1-12]))$)|$)
  169. type: string
  170. type: array
  171. times:
  172. description: Times is a list of TimeRange
  173. items:
  174. description: TimeRange defines a start and end time
  175. in 24hr format
  176. properties:
  177. endTime:
  178. description: EndTime is the end time in 24hr format.
  179. pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$)
  180. type: string
  181. startTime:
  182. description: StartTime is the start time in 24hr
  183. format.
  184. pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$)
  185. type: string
  186. type: object
  187. type: array
  188. weekdays:
  189. description: Weekdays is a list of WeekdayRange
  190. items:
  191. description: WeekdayRange is an inclusive range of days
  192. of the week beginning on Sunday Days can be specified
  193. by name (e.g 'Sunday') or as an inclusive range (e.g
  194. 'Monday:Friday')
  195. pattern: ^((?i)sun|mon|tues|wednes|thurs|fri|satur)day(?:((:(sun|mon|tues|wednes|thurs|fri|satur)day)$)|$)
  196. type: string
  197. type: array
  198. years:
  199. description: Years is a list of YearRange
  200. items:
  201. description: YearRange is an inclusive range of years
  202. pattern: ^2\d{3}(?::2\d{3}|$)
  203. type: string
  204. type: array
  205. type: object
  206. type: array
  207. type: object
  208. type: array
  209. receivers:
  210. description: List of receivers.
  211. items:
  212. description: Receiver defines one or more notification integrations.
  213. properties:
  214. emailConfigs:
  215. description: List of Email configurations.
  216. items:
  217. description: EmailConfig configures notifications via Email.
  218. properties:
  219. authIdentity:
  220. description: The identity to use for authentication.
  221. type: string
  222. authPassword:
  223. description: The secret's key that contains the password
  224. to use for authentication. The secret needs to be in
  225. the same namespace as the AlertmanagerConfig object
  226. and accessible by the Prometheus Operator.
  227. properties:
  228. key:
  229. description: The key of the secret to select from. Must
  230. be a valid secret key.
  231. type: string
  232. name:
  233. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  234. TODO: Add other useful fields. apiVersion, kind,
  235. uid?'
  236. type: string
  237. optional:
  238. description: Specify whether the Secret or its key
  239. must be defined
  240. type: boolean
  241. required:
  242. - key
  243. type: object
  244. authSecret:
  245. description: The secret's key that contains the CRAM-MD5
  246. secret. The secret needs to be in the same namespace
  247. as the AlertmanagerConfig object and accessible by the
  248. Prometheus Operator.
  249. properties:
  250. key:
  251. description: The key of the secret to select from. Must
  252. be a valid secret key.
  253. type: string
  254. name:
  255. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  256. TODO: Add other useful fields. apiVersion, kind,
  257. uid?'
  258. type: string
  259. optional:
  260. description: Specify whether the Secret or its key
  261. must be defined
  262. type: boolean
  263. required:
  264. - key
  265. type: object
  266. authUsername:
  267. description: The username to use for authentication.
  268. type: string
  269. from:
  270. description: The sender address.
  271. type: string
  272. headers:
  273. description: Further headers email header key/value pairs.
  274. Overrides any headers previously set by the notification
  275. implementation.
  276. items:
  277. description: KeyValue defines a (key, value) tuple.
  278. properties:
  279. key:
  280. description: Key of the tuple.
  281. minLength: 1
  282. type: string
  283. value:
  284. description: Value of the tuple.
  285. type: string
  286. required:
  287. - key
  288. - value
  289. type: object
  290. type: array
  291. hello:
  292. description: The hostname to identify to the SMTP server.
  293. type: string
  294. html:
  295. description: The HTML body of the email notification.
  296. type: string
  297. requireTLS:
  298. description: The SMTP TLS requirement. Note that Go does
  299. not support unencrypted connections to remote SMTP endpoints.
  300. type: boolean
  301. sendResolved:
  302. description: Whether or not to notify about resolved alerts.
  303. type: boolean
  304. smarthost:
  305. description: The SMTP host and port through which emails
  306. are sent. E.g. example.com:25
  307. type: string
  308. text:
  309. description: The text body of the email notification.
  310. type: string
  311. tlsConfig:
  312. description: TLS configuration
  313. properties:
  314. ca:
  315. description: Struct containing the CA cert to use
  316. for the targets.
  317. properties:
  318. configMap:
  319. description: ConfigMap containing data to use
  320. for the targets.
  321. properties:
  322. key:
  323. description: The key to select.
  324. type: string
  325. name:
  326. description: 'Name of the referent. More info:
  327. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  328. TODO: Add other useful fields. apiVersion,
  329. kind, uid?'
  330. type: string
  331. optional:
  332. description: Specify whether the ConfigMap
  333. or its key must be defined
  334. type: boolean
  335. required:
  336. - key
  337. type: object
  338. x-kubernetes-map-type: atomic
  339. secret:
  340. description: Secret containing data to use for
  341. the targets.
  342. properties:
  343. key:
  344. description: The key of the secret to select
  345. from. Must be a valid secret key.
  346. type: string
  347. name:
  348. description: 'Name of the referent. More info:
  349. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  350. TODO: Add other useful fields. apiVersion,
  351. kind, uid?'
  352. type: string
  353. optional:
  354. description: Specify whether the Secret or
  355. its key must be defined
  356. type: boolean
  357. required:
  358. - key
  359. type: object
  360. x-kubernetes-map-type: atomic
  361. type: object
  362. cert:
  363. description: Struct containing the client cert file
  364. for the targets.
  365. properties:
  366. configMap:
  367. description: ConfigMap containing data to use
  368. for the targets.
  369. properties:
  370. key:
  371. description: The key to select.
  372. type: string
  373. name:
  374. description: 'Name of the referent. More info:
  375. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  376. TODO: Add other useful fields. apiVersion,
  377. kind, uid?'
  378. type: string
  379. optional:
  380. description: Specify whether the ConfigMap
  381. or its key must be defined
  382. type: boolean
  383. required:
  384. - key
  385. type: object
  386. x-kubernetes-map-type: atomic
  387. secret:
  388. description: Secret containing data to use for
  389. the targets.
  390. properties:
  391. key:
  392. description: The key of the secret to select
  393. from. Must be a valid secret key.
  394. type: string
  395. name:
  396. description: 'Name of the referent. More info:
  397. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  398. TODO: Add other useful fields. apiVersion,
  399. kind, uid?'
  400. type: string
  401. optional:
  402. description: Specify whether the Secret or
  403. its key must be defined
  404. type: boolean
  405. required:
  406. - key
  407. type: object
  408. x-kubernetes-map-type: atomic
  409. type: object
  410. insecureSkipVerify:
  411. description: Disable target certificate validation.
  412. type: boolean
  413. keySecret:
  414. description: Secret containing the client key file
  415. for the targets.
  416. properties:
  417. key:
  418. description: The key of the secret to select from. Must
  419. be a valid secret key.
  420. type: string
  421. name:
  422. description: 'Name of the referent. More info:
  423. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  424. TODO: Add other useful fields. apiVersion, kind,
  425. uid?'
  426. type: string
  427. optional:
  428. description: Specify whether the Secret or its
  429. key must be defined
  430. type: boolean
  431. required:
  432. - key
  433. type: object
  434. x-kubernetes-map-type: atomic
  435. serverName:
  436. description: Used to verify the hostname for the targets.
  437. type: string
  438. type: object
  439. to:
  440. description: The email address to send notifications to.
  441. type: string
  442. type: object
  443. type: array
  444. name:
  445. description: Name of the receiver. Must be unique across all
  446. items from the list.
  447. minLength: 1
  448. type: string
  449. opsgenieConfigs:
  450. description: List of OpsGenie configurations.
  451. items:
  452. description: OpsGenieConfig configures notifications via OpsGenie.
  453. See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config
  454. properties:
  455. actions:
  456. description: Comma separated list of actions that will
  457. be available for the alert.
  458. type: string
  459. apiKey:
  460. description: The secret's key that contains the OpsGenie
  461. API key. The secret needs to be in the same namespace
  462. as the AlertmanagerConfig object and accessible by the
  463. Prometheus Operator.
  464. properties:
  465. key:
  466. description: The key of the secret to select from. Must
  467. be a valid secret key.
  468. type: string
  469. name:
  470. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  471. TODO: Add other useful fields. apiVersion, kind,
  472. uid?'
  473. type: string
  474. optional:
  475. description: Specify whether the Secret or its key
  476. must be defined
  477. type: boolean
  478. required:
  479. - key
  480. type: object
  481. apiURL:
  482. description: The URL to send OpsGenie API requests to.
  483. type: string
  484. description:
  485. description: Description of the incident.
  486. type: string
  487. details:
  488. description: A set of arbitrary key/value pairs that provide
  489. further detail about the incident.
  490. items:
  491. description: KeyValue defines a (key, value) tuple.
  492. properties:
  493. key:
  494. description: Key of the tuple.
  495. minLength: 1
  496. type: string
  497. value:
  498. description: Value of the tuple.
  499. type: string
  500. required:
  501. - key
  502. - value
  503. type: object
  504. type: array
  505. entity:
  506. description: Optional field that can be used to specify
  507. which domain alert is related to.
  508. type: string
  509. httpConfig:
  510. description: HTTP client configuration.
  511. properties:
  512. authorization:
  513. description: Authorization header configuration for
  514. the client. This is mutually exclusive with BasicAuth
  515. and is only available starting from Alertmanager
  516. v0.22+.
  517. properties:
  518. credentials:
  519. description: The secret's key that contains the
  520. credentials of the request
  521. properties:
  522. key:
  523. description: The key of the secret to select
  524. from. Must be a valid secret key.
  525. type: string
  526. name:
  527. description: 'Name of the referent. More info:
  528. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  529. TODO: Add other useful fields. apiVersion,
  530. kind, uid?'
  531. type: string
  532. optional:
  533. description: Specify whether the Secret or
  534. its key must be defined
  535. type: boolean
  536. required:
  537. - key
  538. type: object
  539. x-kubernetes-map-type: atomic
  540. type:
  541. description: Set the authentication type. Defaults
  542. to Bearer, Basic will cause an error
  543. type: string
  544. type: object
  545. basicAuth:
  546. description: BasicAuth for the client. This is mutually
  547. exclusive with Authorization. If both are defined,
  548. BasicAuth takes precedence.
  549. properties:
  550. password:
  551. description: The secret in the service monitor
  552. namespace that contains the password for authentication.
  553. properties:
  554. key:
  555. description: The key of the secret to select
  556. from. Must be a valid secret key.
  557. type: string
  558. name:
  559. description: 'Name of the referent. More info:
  560. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  561. TODO: Add other useful fields. apiVersion,
  562. kind, uid?'
  563. type: string
  564. optional:
  565. description: Specify whether the Secret or
  566. its key must be defined
  567. type: boolean
  568. required:
  569. - key
  570. type: object
  571. x-kubernetes-map-type: atomic
  572. username:
  573. description: The secret in the service monitor
  574. namespace that contains the username for authentication.
  575. properties:
  576. key:
  577. description: The key of the secret to select
  578. from. Must be a valid secret key.
  579. type: string
  580. name:
  581. description: 'Name of the referent. More info:
  582. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  583. TODO: Add other useful fields. apiVersion,
  584. kind, uid?'
  585. type: string
  586. optional:
  587. description: Specify whether the Secret or
  588. its key must be defined
  589. type: boolean
  590. required:
  591. - key
  592. type: object
  593. x-kubernetes-map-type: atomic
  594. type: object
  595. bearerTokenSecret:
  596. description: The secret's key that contains the bearer
  597. token to be used by the client for authentication.
  598. The secret needs to be in the same namespace as
  599. the AlertmanagerConfig object and accessible by
  600. the Prometheus Operator.
  601. properties:
  602. key:
  603. description: The key of the secret to select from. Must
  604. be a valid secret key.
  605. type: string
  606. name:
  607. description: 'Name of the referent. More info:
  608. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  609. TODO: Add other useful fields. apiVersion, kind,
  610. uid?'
  611. type: string
  612. optional:
  613. description: Specify whether the Secret or its
  614. key must be defined
  615. type: boolean
  616. required:
  617. - key
  618. type: object
  619. followRedirects:
  620. description: FollowRedirects specifies whether the
  621. client should follow HTTP 3xx redirects.
  622. type: boolean
  623. oauth2:
  624. description: OAuth2 client credentials used to fetch
  625. a token for the targets.
  626. properties:
  627. clientId:
  628. description: The secret or configmap containing
  629. the OAuth2 client id
  630. properties:
  631. configMap:
  632. description: ConfigMap containing data to
  633. use for the targets.
  634. properties:
  635. key:
  636. description: The key to select.
  637. type: string
  638. name:
  639. description: 'Name of the referent. More
  640. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  641. TODO: Add other useful fields. apiVersion,
  642. kind, uid?'
  643. type: string
  644. optional:
  645. description: Specify whether the ConfigMap
  646. or its key must be defined
  647. type: boolean
  648. required:
  649. - key
  650. type: object
  651. x-kubernetes-map-type: atomic
  652. secret:
  653. description: Secret containing data to use
  654. for the targets.
  655. properties:
  656. key:
  657. description: The key of the secret to
  658. select from. Must be a valid secret
  659. key.
  660. type: string
  661. name:
  662. description: 'Name of the referent. More
  663. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  664. TODO: Add other useful fields. apiVersion,
  665. kind, uid?'
  666. type: string
  667. optional:
  668. description: Specify whether the Secret
  669. or its key must be defined
  670. type: boolean
  671. required:
  672. - key
  673. type: object
  674. x-kubernetes-map-type: atomic
  675. type: object
  676. clientSecret:
  677. description: The secret containing the OAuth2
  678. client secret
  679. properties:
  680. key:
  681. description: The key of the secret to select
  682. from. Must be a valid secret key.
  683. type: string
  684. name:
  685. description: 'Name of the referent. More info:
  686. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  687. TODO: Add other useful fields. apiVersion,
  688. kind, uid?'
  689. type: string
  690. optional:
  691. description: Specify whether the Secret or
  692. its key must be defined
  693. type: boolean
  694. required:
  695. - key
  696. type: object
  697. x-kubernetes-map-type: atomic
  698. endpointParams:
  699. additionalProperties:
  700. type: string
  701. description: Parameters to append to the token
  702. URL
  703. type: object
  704. scopes:
  705. description: OAuth2 scopes used for the token
  706. request
  707. items:
  708. type: string
  709. type: array
  710. tokenUrl:
  711. description: The URL to fetch the token from
  712. minLength: 1
  713. type: string
  714. required:
  715. - clientId
  716. - clientSecret
  717. - tokenUrl
  718. type: object
  719. proxyURL:
  720. description: Optional proxy URL.
  721. type: string
  722. tlsConfig:
  723. description: TLS configuration for the client.
  724. properties:
  725. ca:
  726. description: Struct containing the CA cert to
  727. use for the targets.
  728. properties:
  729. configMap:
  730. description: ConfigMap containing data to
  731. use for the targets.
  732. properties:
  733. key:
  734. description: The key to select.
  735. type: string
  736. name:
  737. description: 'Name of the referent. More
  738. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  739. TODO: Add other useful fields. apiVersion,
  740. kind, uid?'
  741. type: string
  742. optional:
  743. description: Specify whether the ConfigMap
  744. or its key must be defined
  745. type: boolean
  746. required:
  747. - key
  748. type: object
  749. x-kubernetes-map-type: atomic
  750. secret:
  751. description: Secret containing data to use
  752. for the targets.
  753. properties:
  754. key:
  755. description: The key of the secret to
  756. select from. Must be a valid secret
  757. key.
  758. type: string
  759. name:
  760. description: 'Name of the referent. More
  761. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  762. TODO: Add other useful fields. apiVersion,
  763. kind, uid?'
  764. type: string
  765. optional:
  766. description: Specify whether the Secret
  767. or its key must be defined
  768. type: boolean
  769. required:
  770. - key
  771. type: object
  772. x-kubernetes-map-type: atomic
  773. type: object
  774. cert:
  775. description: Struct containing the client cert
  776. file for the targets.
  777. properties:
  778. configMap:
  779. description: ConfigMap containing data to
  780. use for the targets.
  781. properties:
  782. key:
  783. description: The key to select.
  784. type: string
  785. name:
  786. description: 'Name of the referent. More
  787. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  788. TODO: Add other useful fields. apiVersion,
  789. kind, uid?'
  790. type: string
  791. optional:
  792. description: Specify whether the ConfigMap
  793. or its key must be defined
  794. type: boolean
  795. required:
  796. - key
  797. type: object
  798. x-kubernetes-map-type: atomic
  799. secret:
  800. description: Secret containing data to use
  801. for the targets.
  802. properties:
  803. key:
  804. description: The key of the secret to
  805. select from. Must be a valid secret
  806. key.
  807. type: string
  808. name:
  809. description: 'Name of the referent. More
  810. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  811. TODO: Add other useful fields. apiVersion,
  812. kind, uid?'
  813. type: string
  814. optional:
  815. description: Specify whether the Secret
  816. or its key must be defined
  817. type: boolean
  818. required:
  819. - key
  820. type: object
  821. x-kubernetes-map-type: atomic
  822. type: object
  823. insecureSkipVerify:
  824. description: Disable target certificate validation.
  825. type: boolean
  826. keySecret:
  827. description: Secret containing the client key
  828. file for the targets.
  829. properties:
  830. key:
  831. description: The key of the secret to select
  832. from. Must be a valid secret key.
  833. type: string
  834. name:
  835. description: 'Name of the referent. More info:
  836. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  837. TODO: Add other useful fields. apiVersion,
  838. kind, uid?'
  839. type: string
  840. optional:
  841. description: Specify whether the Secret or
  842. its key must be defined
  843. type: boolean
  844. required:
  845. - key
  846. type: object
  847. x-kubernetes-map-type: atomic
  848. serverName:
  849. description: Used to verify the hostname for the
  850. targets.
  851. type: string
  852. type: object
  853. type: object
  854. message:
  855. description: Alert text limited to 130 characters.
  856. type: string
  857. note:
  858. description: Additional alert note.
  859. type: string
  860. priority:
  861. description: Priority level of alert. Possible values
  862. are P1, P2, P3, P4, and P5.
  863. type: string
  864. responders:
  865. description: List of responders responsible for notifications.
  866. items:
  867. description: OpsGenieConfigResponder defines a responder
  868. to an incident. One of `id`, `name` or `username`
  869. has to be defined.
  870. properties:
  871. id:
  872. description: ID of the responder.
  873. type: string
  874. name:
  875. description: Name of the responder.
  876. type: string
  877. type:
  878. description: Type of responder.
  879. enum:
  880. - team
  881. - teams
  882. - user
  883. - escalation
  884. - schedule
  885. minLength: 1
  886. type: string
  887. username:
  888. description: Username of the responder.
  889. type: string
  890. required:
  891. - type
  892. type: object
  893. type: array
  894. sendResolved:
  895. description: Whether or not to notify about resolved alerts.
  896. type: boolean
  897. source:
  898. description: Backlink to the sender of the notification.
  899. type: string
  900. tags:
  901. description: Comma separated list of tags attached to
  902. the notifications.
  903. type: string
  904. updateAlerts:
  905. description: Whether to update message and description
  906. of the alert in OpsGenie if it already exists By default,
  907. the alert is never updated in OpsGenie, the new message
  908. only appears in activity log.
  909. type: boolean
  910. type: object
  911. type: array
  912. pagerdutyConfigs:
  913. description: List of PagerDuty configurations.
  914. items:
  915. description: PagerDutyConfig configures notifications via
  916. PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config
  917. properties:
  918. class:
  919. description: The class/type of the event.
  920. type: string
  921. client:
  922. description: Client identification.
  923. type: string
  924. clientURL:
  925. description: Backlink to the sender of notification.
  926. type: string
  927. component:
  928. description: The part or component of the affected system
  929. that is broken.
  930. type: string
  931. description:
  932. description: Description of the incident.
  933. type: string
  934. details:
  935. description: Arbitrary key/value pairs that provide further
  936. detail about the incident.
  937. items:
  938. description: KeyValue defines a (key, value) tuple.
  939. properties:
  940. key:
  941. description: Key of the tuple.
  942. minLength: 1
  943. type: string
  944. value:
  945. description: Value of the tuple.
  946. type: string
  947. required:
  948. - key
  949. - value
  950. type: object
  951. type: array
  952. group:
  953. description: A cluster or grouping of sources.
  954. type: string
  955. httpConfig:
  956. description: HTTP client configuration.
  957. properties:
  958. authorization:
  959. description: Authorization header configuration for
  960. the client. This is mutually exclusive with BasicAuth
  961. and is only available starting from Alertmanager
  962. v0.22+.
  963. properties:
  964. credentials:
  965. description: The secret's key that contains the
  966. credentials of the request
  967. properties:
  968. key:
  969. description: The key of the secret to select
  970. from. Must be a valid secret key.
  971. type: string
  972. name:
  973. description: 'Name of the referent. More info:
  974. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  975. TODO: Add other useful fields. apiVersion,
  976. kind, uid?'
  977. type: string
  978. optional:
  979. description: Specify whether the Secret or
  980. its key must be defined
  981. type: boolean
  982. required:
  983. - key
  984. type: object
  985. x-kubernetes-map-type: atomic
  986. type:
  987. description: Set the authentication type. Defaults
  988. to Bearer, Basic will cause an error
  989. type: string
  990. type: object
  991. basicAuth:
  992. description: BasicAuth for the client. This is mutually
  993. exclusive with Authorization. If both are defined,
  994. BasicAuth takes precedence.
  995. properties:
  996. password:
  997. description: The secret in the service monitor
  998. namespace that contains the password for authentication.
  999. properties:
  1000. key:
  1001. description: The key of the secret to select
  1002. from. Must be a valid secret key.
  1003. type: string
  1004. name:
  1005. description: 'Name of the referent. More info:
  1006. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1007. TODO: Add other useful fields. apiVersion,
  1008. kind, uid?'
  1009. type: string
  1010. optional:
  1011. description: Specify whether the Secret or
  1012. its key must be defined
  1013. type: boolean
  1014. required:
  1015. - key
  1016. type: object
  1017. x-kubernetes-map-type: atomic
  1018. username:
  1019. description: The secret in the service monitor
  1020. namespace that contains the username for authentication.
  1021. properties:
  1022. key:
  1023. description: The key of the secret to select
  1024. from. Must be a valid secret key.
  1025. type: string
  1026. name:
  1027. description: 'Name of the referent. More info:
  1028. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1029. TODO: Add other useful fields. apiVersion,
  1030. kind, uid?'
  1031. type: string
  1032. optional:
  1033. description: Specify whether the Secret or
  1034. its key must be defined
  1035. type: boolean
  1036. required:
  1037. - key
  1038. type: object
  1039. x-kubernetes-map-type: atomic
  1040. type: object
  1041. bearerTokenSecret:
  1042. description: The secret's key that contains the bearer
  1043. token to be used by the client for authentication.
  1044. The secret needs to be in the same namespace as
  1045. the AlertmanagerConfig object and accessible by
  1046. the Prometheus Operator.
  1047. properties:
  1048. key:
  1049. description: The key of the secret to select from. Must
  1050. be a valid secret key.
  1051. type: string
  1052. name:
  1053. description: 'Name of the referent. More info:
  1054. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1055. TODO: Add other useful fields. apiVersion, kind,
  1056. uid?'
  1057. type: string
  1058. optional:
  1059. description: Specify whether the Secret or its
  1060. key must be defined
  1061. type: boolean
  1062. required:
  1063. - key
  1064. type: object
  1065. followRedirects:
  1066. description: FollowRedirects specifies whether the
  1067. client should follow HTTP 3xx redirects.
  1068. type: boolean
  1069. oauth2:
  1070. description: OAuth2 client credentials used to fetch
  1071. a token for the targets.
  1072. properties:
  1073. clientId:
  1074. description: The secret or configmap containing
  1075. the OAuth2 client id
  1076. properties:
  1077. configMap:
  1078. description: ConfigMap containing data to
  1079. use for the targets.
  1080. properties:
  1081. key:
  1082. description: The key to select.
  1083. type: string
  1084. name:
  1085. description: 'Name of the referent. More
  1086. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1087. TODO: Add other useful fields. apiVersion,
  1088. kind, uid?'
  1089. type: string
  1090. optional:
  1091. description: Specify whether the ConfigMap
  1092. or its key must be defined
  1093. type: boolean
  1094. required:
  1095. - key
  1096. type: object
  1097. x-kubernetes-map-type: atomic
  1098. secret:
  1099. description: Secret containing data to use
  1100. for the targets.
  1101. properties:
  1102. key:
  1103. description: The key of the secret to
  1104. select from. Must be a valid secret
  1105. key.
  1106. type: string
  1107. name:
  1108. description: 'Name of the referent. More
  1109. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1110. TODO: Add other useful fields. apiVersion,
  1111. kind, uid?'
  1112. type: string
  1113. optional:
  1114. description: Specify whether the Secret
  1115. or its key must be defined
  1116. type: boolean
  1117. required:
  1118. - key
  1119. type: object
  1120. x-kubernetes-map-type: atomic
  1121. type: object
  1122. clientSecret:
  1123. description: The secret containing the OAuth2
  1124. client secret
  1125. properties:
  1126. key:
  1127. description: The key of the secret to select
  1128. from. Must be a valid secret key.
  1129. type: string
  1130. name:
  1131. description: 'Name of the referent. More info:
  1132. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1133. TODO: Add other useful fields. apiVersion,
  1134. kind, uid?'
  1135. type: string
  1136. optional:
  1137. description: Specify whether the Secret or
  1138. its key must be defined
  1139. type: boolean
  1140. required:
  1141. - key
  1142. type: object
  1143. x-kubernetes-map-type: atomic
  1144. endpointParams:
  1145. additionalProperties:
  1146. type: string
  1147. description: Parameters to append to the token
  1148. URL
  1149. type: object
  1150. scopes:
  1151. description: OAuth2 scopes used for the token
  1152. request
  1153. items:
  1154. type: string
  1155. type: array
  1156. tokenUrl:
  1157. description: The URL to fetch the token from
  1158. minLength: 1
  1159. type: string
  1160. required:
  1161. - clientId
  1162. - clientSecret
  1163. - tokenUrl
  1164. type: object
  1165. proxyURL:
  1166. description: Optional proxy URL.
  1167. type: string
  1168. tlsConfig:
  1169. description: TLS configuration for the client.
  1170. properties:
  1171. ca:
  1172. description: Struct containing the CA cert to
  1173. use for the targets.
  1174. properties:
  1175. configMap:
  1176. description: ConfigMap containing data to
  1177. use for the targets.
  1178. properties:
  1179. key:
  1180. description: The key to select.
  1181. type: string
  1182. name:
  1183. description: 'Name of the referent. More
  1184. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1185. TODO: Add other useful fields. apiVersion,
  1186. kind, uid?'
  1187. type: string
  1188. optional:
  1189. description: Specify whether the ConfigMap
  1190. or its key must be defined
  1191. type: boolean
  1192. required:
  1193. - key
  1194. type: object
  1195. x-kubernetes-map-type: atomic
  1196. secret:
  1197. description: Secret containing data to use
  1198. for the targets.
  1199. properties:
  1200. key:
  1201. description: The key of the secret to
  1202. select from. Must be a valid secret
  1203. key.
  1204. type: string
  1205. name:
  1206. description: 'Name of the referent. More
  1207. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1208. TODO: Add other useful fields. apiVersion,
  1209. kind, uid?'
  1210. type: string
  1211. optional:
  1212. description: Specify whether the Secret
  1213. or its key must be defined
  1214. type: boolean
  1215. required:
  1216. - key
  1217. type: object
  1218. x-kubernetes-map-type: atomic
  1219. type: object
  1220. cert:
  1221. description: Struct containing the client cert
  1222. file for the targets.
  1223. properties:
  1224. configMap:
  1225. description: ConfigMap containing data to
  1226. use for the targets.
  1227. properties:
  1228. key:
  1229. description: The key to select.
  1230. type: string
  1231. name:
  1232. description: 'Name of the referent. More
  1233. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1234. TODO: Add other useful fields. apiVersion,
  1235. kind, uid?'
  1236. type: string
  1237. optional:
  1238. description: Specify whether the ConfigMap
  1239. or its key must be defined
  1240. type: boolean
  1241. required:
  1242. - key
  1243. type: object
  1244. x-kubernetes-map-type: atomic
  1245. secret:
  1246. description: Secret containing data to use
  1247. for the targets.
  1248. properties:
  1249. key:
  1250. description: The key of the secret to
  1251. select from. Must be a valid secret
  1252. key.
  1253. type: string
  1254. name:
  1255. description: 'Name of the referent. More
  1256. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1257. TODO: Add other useful fields. apiVersion,
  1258. kind, uid?'
  1259. type: string
  1260. optional:
  1261. description: Specify whether the Secret
  1262. or its key must be defined
  1263. type: boolean
  1264. required:
  1265. - key
  1266. type: object
  1267. x-kubernetes-map-type: atomic
  1268. type: object
  1269. insecureSkipVerify:
  1270. description: Disable target certificate validation.
  1271. type: boolean
  1272. keySecret:
  1273. description: Secret containing the client key
  1274. file for the targets.
  1275. properties:
  1276. key:
  1277. description: The key of the secret to select
  1278. from. Must be a valid secret key.
  1279. type: string
  1280. name:
  1281. description: 'Name of the referent. More info:
  1282. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1283. TODO: Add other useful fields. apiVersion,
  1284. kind, uid?'
  1285. type: string
  1286. optional:
  1287. description: Specify whether the Secret or
  1288. its key must be defined
  1289. type: boolean
  1290. required:
  1291. - key
  1292. type: object
  1293. x-kubernetes-map-type: atomic
  1294. serverName:
  1295. description: Used to verify the hostname for the
  1296. targets.
  1297. type: string
  1298. type: object
  1299. type: object
  1300. pagerDutyImageConfigs:
  1301. description: A list of image details to attach that provide
  1302. further detail about an incident.
  1303. items:
  1304. description: PagerDutyImageConfig attaches images to
  1305. an incident
  1306. properties:
  1307. alt:
  1308. description: Alt is the optional alternative text
  1309. for the image.
  1310. type: string
  1311. href:
  1312. description: Optional URL; makes the image a clickable
  1313. link.
  1314. type: string
  1315. src:
  1316. description: Src of the image being attached to
  1317. the incident
  1318. type: string
  1319. type: object
  1320. type: array
  1321. pagerDutyLinkConfigs:
  1322. description: A list of link details to attach that provide
  1323. further detail about an incident.
  1324. items:
  1325. description: PagerDutyLinkConfig attaches text links
  1326. to an incident
  1327. properties:
  1328. alt:
  1329. description: Text that describes the purpose of
  1330. the link, and can be used as the link's text.
  1331. type: string
  1332. href:
  1333. description: Href is the URL of the link to be attached
  1334. type: string
  1335. type: object
  1336. type: array
  1337. routingKey:
  1338. description: The secret's key that contains the PagerDuty
  1339. integration key (when using Events API v2). Either this
  1340. field or `serviceKey` needs to be defined. The secret
  1341. needs to be in the same namespace as the AlertmanagerConfig
  1342. object and accessible by the Prometheus Operator.
  1343. properties:
  1344. key:
  1345. description: The key of the secret to select from. Must
  1346. be a valid secret key.
  1347. type: string
  1348. name:
  1349. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1350. TODO: Add other useful fields. apiVersion, kind,
  1351. uid?'
  1352. type: string
  1353. optional:
  1354. description: Specify whether the Secret or its key
  1355. must be defined
  1356. type: boolean
  1357. required:
  1358. - key
  1359. type: object
  1360. sendResolved:
  1361. description: Whether or not to notify about resolved alerts.
  1362. type: boolean
  1363. serviceKey:
  1364. description: The secret's key that contains the PagerDuty
  1365. service key (when using integration type "Prometheus").
  1366. Either this field or `routingKey` needs to be defined.
  1367. The secret needs to be in the same namespace as the
  1368. AlertmanagerConfig object and accessible by the Prometheus
  1369. Operator.
  1370. properties:
  1371. key:
  1372. description: The key of the secret to select from. Must
  1373. be a valid secret key.
  1374. type: string
  1375. name:
  1376. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1377. TODO: Add other useful fields. apiVersion, kind,
  1378. uid?'
  1379. type: string
  1380. optional:
  1381. description: Specify whether the Secret or its key
  1382. must be defined
  1383. type: boolean
  1384. required:
  1385. - key
  1386. type: object
  1387. severity:
  1388. description: Severity of the incident.
  1389. type: string
  1390. url:
  1391. description: The URL to send requests to.
  1392. type: string
  1393. type: object
  1394. type: array
  1395. pushoverConfigs:
  1396. description: List of Pushover configurations.
  1397. items:
  1398. description: PushoverConfig configures notifications via Pushover.
  1399. See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config
  1400. properties:
  1401. expire:
  1402. description: How long your notification will continue
  1403. to be retried for, unless the user acknowledges the
  1404. notification.
  1405. pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$
  1406. type: string
  1407. html:
  1408. description: Whether notification message is HTML or plain
  1409. text.
  1410. type: boolean
  1411. httpConfig:
  1412. description: HTTP client configuration.
  1413. properties:
  1414. authorization:
  1415. description: Authorization header configuration for
  1416. the client. This is mutually exclusive with BasicAuth
  1417. and is only available starting from Alertmanager
  1418. v0.22+.
  1419. properties:
  1420. credentials:
  1421. description: The secret's key that contains the
  1422. credentials of the request
  1423. properties:
  1424. key:
  1425. description: The key of the secret to select
  1426. from. Must be a valid secret key.
  1427. type: string
  1428. name:
  1429. description: 'Name of the referent. More info:
  1430. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1431. TODO: Add other useful fields. apiVersion,
  1432. kind, uid?'
  1433. type: string
  1434. optional:
  1435. description: Specify whether the Secret or
  1436. its key must be defined
  1437. type: boolean
  1438. required:
  1439. - key
  1440. type: object
  1441. x-kubernetes-map-type: atomic
  1442. type:
  1443. description: Set the authentication type. Defaults
  1444. to Bearer, Basic will cause an error
  1445. type: string
  1446. type: object
  1447. basicAuth:
  1448. description: BasicAuth for the client. This is mutually
  1449. exclusive with Authorization. If both are defined,
  1450. BasicAuth takes precedence.
  1451. properties:
  1452. password:
  1453. description: The secret in the service monitor
  1454. namespace that contains the password for authentication.
  1455. properties:
  1456. key:
  1457. description: The key of the secret to select
  1458. from. Must be a valid secret key.
  1459. type: string
  1460. name:
  1461. description: 'Name of the referent. More info:
  1462. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1463. TODO: Add other useful fields. apiVersion,
  1464. kind, uid?'
  1465. type: string
  1466. optional:
  1467. description: Specify whether the Secret or
  1468. its key must be defined
  1469. type: boolean
  1470. required:
  1471. - key
  1472. type: object
  1473. x-kubernetes-map-type: atomic
  1474. username:
  1475. description: The secret in the service monitor
  1476. namespace that contains the username for authentication.
  1477. properties:
  1478. key:
  1479. description: The key of the secret to select
  1480. from. Must be a valid secret key.
  1481. type: string
  1482. name:
  1483. description: 'Name of the referent. More info:
  1484. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1485. TODO: Add other useful fields. apiVersion,
  1486. kind, uid?'
  1487. type: string
  1488. optional:
  1489. description: Specify whether the Secret or
  1490. its key must be defined
  1491. type: boolean
  1492. required:
  1493. - key
  1494. type: object
  1495. x-kubernetes-map-type: atomic
  1496. type: object
  1497. bearerTokenSecret:
  1498. description: The secret's key that contains the bearer
  1499. token to be used by the client for authentication.
  1500. The secret needs to be in the same namespace as
  1501. the AlertmanagerConfig object and accessible by
  1502. the Prometheus Operator.
  1503. properties:
  1504. key:
  1505. description: The key of the secret to select from. Must
  1506. be a valid secret key.
  1507. type: string
  1508. name:
  1509. description: 'Name of the referent. More info:
  1510. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1511. TODO: Add other useful fields. apiVersion, kind,
  1512. uid?'
  1513. type: string
  1514. optional:
  1515. description: Specify whether the Secret or its
  1516. key must be defined
  1517. type: boolean
  1518. required:
  1519. - key
  1520. type: object
  1521. followRedirects:
  1522. description: FollowRedirects specifies whether the
  1523. client should follow HTTP 3xx redirects.
  1524. type: boolean
  1525. oauth2:
  1526. description: OAuth2 client credentials used to fetch
  1527. a token for the targets.
  1528. properties:
  1529. clientId:
  1530. description: The secret or configmap containing
  1531. the OAuth2 client id
  1532. properties:
  1533. configMap:
  1534. description: ConfigMap containing data to
  1535. use for the targets.
  1536. properties:
  1537. key:
  1538. description: The key to select.
  1539. type: string
  1540. name:
  1541. description: 'Name of the referent. More
  1542. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1543. TODO: Add other useful fields. apiVersion,
  1544. kind, uid?'
  1545. type: string
  1546. optional:
  1547. description: Specify whether the ConfigMap
  1548. or its key must be defined
  1549. type: boolean
  1550. required:
  1551. - key
  1552. type: object
  1553. x-kubernetes-map-type: atomic
  1554. secret:
  1555. description: Secret containing data to use
  1556. for the targets.
  1557. properties:
  1558. key:
  1559. description: The key of the secret to
  1560. select from. Must be a valid secret
  1561. key.
  1562. type: string
  1563. name:
  1564. description: 'Name of the referent. More
  1565. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1566. TODO: Add other useful fields. apiVersion,
  1567. kind, uid?'
  1568. type: string
  1569. optional:
  1570. description: Specify whether the Secret
  1571. or its key must be defined
  1572. type: boolean
  1573. required:
  1574. - key
  1575. type: object
  1576. x-kubernetes-map-type: atomic
  1577. type: object
  1578. clientSecret:
  1579. description: The secret containing the OAuth2
  1580. client secret
  1581. properties:
  1582. key:
  1583. description: The key of the secret to select
  1584. from. Must be a valid secret key.
  1585. type: string
  1586. name:
  1587. description: 'Name of the referent. More info:
  1588. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1589. TODO: Add other useful fields. apiVersion,
  1590. kind, uid?'
  1591. type: string
  1592. optional:
  1593. description: Specify whether the Secret or
  1594. its key must be defined
  1595. type: boolean
  1596. required:
  1597. - key
  1598. type: object
  1599. x-kubernetes-map-type: atomic
  1600. endpointParams:
  1601. additionalProperties:
  1602. type: string
  1603. description: Parameters to append to the token
  1604. URL
  1605. type: object
  1606. scopes:
  1607. description: OAuth2 scopes used for the token
  1608. request
  1609. items:
  1610. type: string
  1611. type: array
  1612. tokenUrl:
  1613. description: The URL to fetch the token from
  1614. minLength: 1
  1615. type: string
  1616. required:
  1617. - clientId
  1618. - clientSecret
  1619. - tokenUrl
  1620. type: object
  1621. proxyURL:
  1622. description: Optional proxy URL.
  1623. type: string
  1624. tlsConfig:
  1625. description: TLS configuration for the client.
  1626. properties:
  1627. ca:
  1628. description: Struct containing the CA cert to
  1629. use for the targets.
  1630. properties:
  1631. configMap:
  1632. description: ConfigMap containing data to
  1633. use for the targets.
  1634. properties:
  1635. key:
  1636. description: The key to select.
  1637. type: string
  1638. name:
  1639. description: 'Name of the referent. More
  1640. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1641. TODO: Add other useful fields. apiVersion,
  1642. kind, uid?'
  1643. type: string
  1644. optional:
  1645. description: Specify whether the ConfigMap
  1646. or its key must be defined
  1647. type: boolean
  1648. required:
  1649. - key
  1650. type: object
  1651. x-kubernetes-map-type: atomic
  1652. secret:
  1653. description: Secret containing data to use
  1654. for the targets.
  1655. properties:
  1656. key:
  1657. description: The key of the secret to
  1658. select from. Must be a valid secret
  1659. key.
  1660. type: string
  1661. name:
  1662. description: 'Name of the referent. More
  1663. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1664. TODO: Add other useful fields. apiVersion,
  1665. kind, uid?'
  1666. type: string
  1667. optional:
  1668. description: Specify whether the Secret
  1669. or its key must be defined
  1670. type: boolean
  1671. required:
  1672. - key
  1673. type: object
  1674. x-kubernetes-map-type: atomic
  1675. type: object
  1676. cert:
  1677. description: Struct containing the client cert
  1678. file for the targets.
  1679. properties:
  1680. configMap:
  1681. description: ConfigMap containing data to
  1682. use for the targets.
  1683. properties:
  1684. key:
  1685. description: The key to select.
  1686. type: string
  1687. name:
  1688. description: 'Name of the referent. More
  1689. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1690. TODO: Add other useful fields. apiVersion,
  1691. kind, uid?'
  1692. type: string
  1693. optional:
  1694. description: Specify whether the ConfigMap
  1695. or its key must be defined
  1696. type: boolean
  1697. required:
  1698. - key
  1699. type: object
  1700. x-kubernetes-map-type: atomic
  1701. secret:
  1702. description: Secret containing data to use
  1703. for the targets.
  1704. properties:
  1705. key:
  1706. description: The key of the secret to
  1707. select from. Must be a valid secret
  1708. key.
  1709. type: string
  1710. name:
  1711. description: 'Name of the referent. More
  1712. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1713. TODO: Add other useful fields. apiVersion,
  1714. kind, uid?'
  1715. type: string
  1716. optional:
  1717. description: Specify whether the Secret
  1718. or its key must be defined
  1719. type: boolean
  1720. required:
  1721. - key
  1722. type: object
  1723. x-kubernetes-map-type: atomic
  1724. type: object
  1725. insecureSkipVerify:
  1726. description: Disable target certificate validation.
  1727. type: boolean
  1728. keySecret:
  1729. description: Secret containing the client key
  1730. file for the targets.
  1731. properties:
  1732. key:
  1733. description: The key of the secret to select
  1734. from. Must be a valid secret key.
  1735. type: string
  1736. name:
  1737. description: 'Name of the referent. More info:
  1738. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1739. TODO: Add other useful fields. apiVersion,
  1740. kind, uid?'
  1741. type: string
  1742. optional:
  1743. description: Specify whether the Secret or
  1744. its key must be defined
  1745. type: boolean
  1746. required:
  1747. - key
  1748. type: object
  1749. x-kubernetes-map-type: atomic
  1750. serverName:
  1751. description: Used to verify the hostname for the
  1752. targets.
  1753. type: string
  1754. type: object
  1755. type: object
  1756. message:
  1757. description: Notification message.
  1758. type: string
  1759. priority:
  1760. description: Priority, see https://pushover.net/api#priority
  1761. type: string
  1762. retry:
  1763. description: How often the Pushover servers will send
  1764. the same notification to the user. Must be at least
  1765. 30 seconds.
  1766. pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$
  1767. type: string
  1768. sendResolved:
  1769. description: Whether or not to notify about resolved alerts.
  1770. type: boolean
  1771. sound:
  1772. description: The name of one of the sounds supported by
  1773. device clients to override the user's default sound
  1774. choice
  1775. type: string
  1776. title:
  1777. description: Notification title.
  1778. type: string
  1779. token:
  1780. description: The secret's key that contains the registered
  1781. application’s API token, see https://pushover.net/apps.
  1782. The secret needs to be in the same namespace as the
  1783. AlertmanagerConfig object and accessible by the Prometheus
  1784. Operator.
  1785. properties:
  1786. key:
  1787. description: The key of the secret to select from. Must
  1788. be a valid secret key.
  1789. type: string
  1790. name:
  1791. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1792. TODO: Add other useful fields. apiVersion, kind,
  1793. uid?'
  1794. type: string
  1795. optional:
  1796. description: Specify whether the Secret or its key
  1797. must be defined
  1798. type: boolean
  1799. required:
  1800. - key
  1801. type: object
  1802. url:
  1803. description: A supplementary URL shown alongside the message.
  1804. type: string
  1805. urlTitle:
  1806. description: A title for supplementary URL, otherwise
  1807. just the URL is shown
  1808. type: string
  1809. userKey:
  1810. description: The secret's key that contains the recipient
  1811. user’s user key. The secret needs to be in the same
  1812. namespace as the AlertmanagerConfig object and accessible
  1813. by the Prometheus Operator.
  1814. properties:
  1815. key:
  1816. description: The key of the secret to select from. Must
  1817. be a valid secret key.
  1818. type: string
  1819. name:
  1820. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1821. TODO: Add other useful fields. apiVersion, kind,
  1822. uid?'
  1823. type: string
  1824. optional:
  1825. description: Specify whether the Secret or its key
  1826. must be defined
  1827. type: boolean
  1828. required:
  1829. - key
  1830. type: object
  1831. type: object
  1832. type: array
  1833. slackConfigs:
  1834. description: List of Slack configurations.
  1835. items:
  1836. description: SlackConfig configures notifications via Slack.
  1837. See https://prometheus.io/docs/alerting/latest/configuration/#slack_config
  1838. properties:
  1839. actions:
  1840. description: A list of Slack actions that are sent with
  1841. each notification.
  1842. items:
  1843. description: SlackAction configures a single Slack action
  1844. that is sent with each notification. See https://api.slack.com/docs/message-attachments#action_fields
  1845. and https://api.slack.com/docs/message-buttons for
  1846. more information.
  1847. properties:
  1848. confirm:
  1849. description: SlackConfirmationField protect users
  1850. from destructive actions or particularly distinguished
  1851. decisions by asking them to confirm their button
  1852. click one more time. See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields
  1853. for more information.
  1854. properties:
  1855. dismissText:
  1856. type: string
  1857. okText:
  1858. type: string
  1859. text:
  1860. minLength: 1
  1861. type: string
  1862. title:
  1863. type: string
  1864. required:
  1865. - text
  1866. type: object
  1867. name:
  1868. type: string
  1869. style:
  1870. type: string
  1871. text:
  1872. minLength: 1
  1873. type: string
  1874. type:
  1875. minLength: 1
  1876. type: string
  1877. url:
  1878. type: string
  1879. value:
  1880. type: string
  1881. required:
  1882. - text
  1883. - type
  1884. type: object
  1885. type: array
  1886. apiURL:
  1887. description: The secret's key that contains the Slack
  1888. webhook URL. The secret needs to be in the same namespace
  1889. as the AlertmanagerConfig object and accessible by the
  1890. Prometheus Operator.
  1891. properties:
  1892. key:
  1893. description: The key of the secret to select from. Must
  1894. be a valid secret key.
  1895. type: string
  1896. name:
  1897. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1898. TODO: Add other useful fields. apiVersion, kind,
  1899. uid?'
  1900. type: string
  1901. optional:
  1902. description: Specify whether the Secret or its key
  1903. must be defined
  1904. type: boolean
  1905. required:
  1906. - key
  1907. type: object
  1908. callbackId:
  1909. type: string
  1910. channel:
  1911. description: The channel or user to send notifications
  1912. to.
  1913. type: string
  1914. color:
  1915. type: string
  1916. fallback:
  1917. type: string
  1918. fields:
  1919. description: A list of Slack fields that are sent with
  1920. each notification.
  1921. items:
  1922. description: SlackField configures a single Slack field
  1923. that is sent with each notification. Each field must
  1924. contain a title, value, and optionally, a boolean
  1925. value to indicate if the field is short enough to
  1926. be displayed next to other fields designated as short.
  1927. See https://api.slack.com/docs/message-attachments#fields
  1928. for more information.
  1929. properties:
  1930. short:
  1931. type: boolean
  1932. title:
  1933. minLength: 1
  1934. type: string
  1935. value:
  1936. minLength: 1
  1937. type: string
  1938. required:
  1939. - title
  1940. - value
  1941. type: object
  1942. type: array
  1943. footer:
  1944. type: string
  1945. httpConfig:
  1946. description: HTTP client configuration.
  1947. properties:
  1948. authorization:
  1949. description: Authorization header configuration for
  1950. the client. This is mutually exclusive with BasicAuth
  1951. and is only available starting from Alertmanager
  1952. v0.22+.
  1953. properties:
  1954. credentials:
  1955. description: The secret's key that contains the
  1956. credentials of the request
  1957. properties:
  1958. key:
  1959. description: The key of the secret to select
  1960. from. Must be a valid secret key.
  1961. type: string
  1962. name:
  1963. description: 'Name of the referent. More info:
  1964. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1965. TODO: Add other useful fields. apiVersion,
  1966. kind, uid?'
  1967. type: string
  1968. optional:
  1969. description: Specify whether the Secret or
  1970. its key must be defined
  1971. type: boolean
  1972. required:
  1973. - key
  1974. type: object
  1975. x-kubernetes-map-type: atomic
  1976. type:
  1977. description: Set the authentication type. Defaults
  1978. to Bearer, Basic will cause an error
  1979. type: string
  1980. type: object
  1981. basicAuth:
  1982. description: BasicAuth for the client. This is mutually
  1983. exclusive with Authorization. If both are defined,
  1984. BasicAuth takes precedence.
  1985. properties:
  1986. password:
  1987. description: The secret in the service monitor
  1988. namespace that contains the password for authentication.
  1989. properties:
  1990. key:
  1991. description: The key of the secret to select
  1992. from. Must be a valid secret key.
  1993. type: string
  1994. name:
  1995. description: 'Name of the referent. More info:
  1996. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1997. TODO: Add other useful fields. apiVersion,
  1998. kind, uid?'
  1999. type: string
  2000. optional:
  2001. description: Specify whether the Secret or
  2002. its key must be defined
  2003. type: boolean
  2004. required:
  2005. - key
  2006. type: object
  2007. x-kubernetes-map-type: atomic
  2008. username:
  2009. description: The secret in the service monitor
  2010. namespace that contains the username for authentication.
  2011. properties:
  2012. key:
  2013. description: The key of the secret to select
  2014. from. Must be a valid secret key.
  2015. type: string
  2016. name:
  2017. description: 'Name of the referent. More info:
  2018. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2019. TODO: Add other useful fields. apiVersion,
  2020. kind, uid?'
  2021. type: string
  2022. optional:
  2023. description: Specify whether the Secret or
  2024. its key must be defined
  2025. type: boolean
  2026. required:
  2027. - key
  2028. type: object
  2029. x-kubernetes-map-type: atomic
  2030. type: object
  2031. bearerTokenSecret:
  2032. description: The secret's key that contains the bearer
  2033. token to be used by the client for authentication.
  2034. The secret needs to be in the same namespace as
  2035. the AlertmanagerConfig object and accessible by
  2036. the Prometheus Operator.
  2037. properties:
  2038. key:
  2039. description: The key of the secret to select from. Must
  2040. be a valid secret key.
  2041. type: string
  2042. name:
  2043. description: 'Name of the referent. More info:
  2044. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2045. TODO: Add other useful fields. apiVersion, kind,
  2046. uid?'
  2047. type: string
  2048. optional:
  2049. description: Specify whether the Secret or its
  2050. key must be defined
  2051. type: boolean
  2052. required:
  2053. - key
  2054. type: object
  2055. followRedirects:
  2056. description: FollowRedirects specifies whether the
  2057. client should follow HTTP 3xx redirects.
  2058. type: boolean
  2059. oauth2:
  2060. description: OAuth2 client credentials used to fetch
  2061. a token for the targets.
  2062. properties:
  2063. clientId:
  2064. description: The secret or configmap containing
  2065. the OAuth2 client id
  2066. properties:
  2067. configMap:
  2068. description: ConfigMap containing data to
  2069. use for the targets.
  2070. properties:
  2071. key:
  2072. description: The key to select.
  2073. type: string
  2074. name:
  2075. description: 'Name of the referent. More
  2076. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2077. TODO: Add other useful fields. apiVersion,
  2078. kind, uid?'
  2079. type: string
  2080. optional:
  2081. description: Specify whether the ConfigMap
  2082. or its key must be defined
  2083. type: boolean
  2084. required:
  2085. - key
  2086. type: object
  2087. x-kubernetes-map-type: atomic
  2088. secret:
  2089. description: Secret containing data to use
  2090. for the targets.
  2091. properties:
  2092. key:
  2093. description: The key of the secret to
  2094. select from. Must be a valid secret
  2095. key.
  2096. type: string
  2097. name:
  2098. description: 'Name of the referent. More
  2099. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2100. TODO: Add other useful fields. apiVersion,
  2101. kind, uid?'
  2102. type: string
  2103. optional:
  2104. description: Specify whether the Secret
  2105. or its key must be defined
  2106. type: boolean
  2107. required:
  2108. - key
  2109. type: object
  2110. x-kubernetes-map-type: atomic
  2111. type: object
  2112. clientSecret:
  2113. description: The secret containing the OAuth2
  2114. client secret
  2115. properties:
  2116. key:
  2117. description: The key of the secret to select
  2118. from. Must be a valid secret key.
  2119. type: string
  2120. name:
  2121. description: 'Name of the referent. More info:
  2122. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2123. TODO: Add other useful fields. apiVersion,
  2124. kind, uid?'
  2125. type: string
  2126. optional:
  2127. description: Specify whether the Secret or
  2128. its key must be defined
  2129. type: boolean
  2130. required:
  2131. - key
  2132. type: object
  2133. x-kubernetes-map-type: atomic
  2134. endpointParams:
  2135. additionalProperties:
  2136. type: string
  2137. description: Parameters to append to the token
  2138. URL
  2139. type: object
  2140. scopes:
  2141. description: OAuth2 scopes used for the token
  2142. request
  2143. items:
  2144. type: string
  2145. type: array
  2146. tokenUrl:
  2147. description: The URL to fetch the token from
  2148. minLength: 1
  2149. type: string
  2150. required:
  2151. - clientId
  2152. - clientSecret
  2153. - tokenUrl
  2154. type: object
  2155. proxyURL:
  2156. description: Optional proxy URL.
  2157. type: string
  2158. tlsConfig:
  2159. description: TLS configuration for the client.
  2160. properties:
  2161. ca:
  2162. description: Struct containing the CA cert to
  2163. use for the targets.
  2164. properties:
  2165. configMap:
  2166. description: ConfigMap containing data to
  2167. use for the targets.
  2168. properties:
  2169. key:
  2170. description: The key to select.
  2171. type: string
  2172. name:
  2173. description: 'Name of the referent. More
  2174. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2175. TODO: Add other useful fields. apiVersion,
  2176. kind, uid?'
  2177. type: string
  2178. optional:
  2179. description: Specify whether the ConfigMap
  2180. or its key must be defined
  2181. type: boolean
  2182. required:
  2183. - key
  2184. type: object
  2185. x-kubernetes-map-type: atomic
  2186. secret:
  2187. description: Secret containing data to use
  2188. for the targets.
  2189. properties:
  2190. key:
  2191. description: The key of the secret to
  2192. select from. Must be a valid secret
  2193. key.
  2194. type: string
  2195. name:
  2196. description: 'Name of the referent. More
  2197. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2198. TODO: Add other useful fields. apiVersion,
  2199. kind, uid?'
  2200. type: string
  2201. optional:
  2202. description: Specify whether the Secret
  2203. or its key must be defined
  2204. type: boolean
  2205. required:
  2206. - key
  2207. type: object
  2208. x-kubernetes-map-type: atomic
  2209. type: object
  2210. cert:
  2211. description: Struct containing the client cert
  2212. file for the targets.
  2213. properties:
  2214. configMap:
  2215. description: ConfigMap containing data to
  2216. use for the targets.
  2217. properties:
  2218. key:
  2219. description: The key to select.
  2220. type: string
  2221. name:
  2222. description: 'Name of the referent. More
  2223. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2224. TODO: Add other useful fields. apiVersion,
  2225. kind, uid?'
  2226. type: string
  2227. optional:
  2228. description: Specify whether the ConfigMap
  2229. or its key must be defined
  2230. type: boolean
  2231. required:
  2232. - key
  2233. type: object
  2234. x-kubernetes-map-type: atomic
  2235. secret:
  2236. description: Secret containing data to use
  2237. for the targets.
  2238. properties:
  2239. key:
  2240. description: The key of the secret to
  2241. select from. Must be a valid secret
  2242. key.
  2243. type: string
  2244. name:
  2245. description: 'Name of the referent. More
  2246. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2247. TODO: Add other useful fields. apiVersion,
  2248. kind, uid?'
  2249. type: string
  2250. optional:
  2251. description: Specify whether the Secret
  2252. or its key must be defined
  2253. type: boolean
  2254. required:
  2255. - key
  2256. type: object
  2257. x-kubernetes-map-type: atomic
  2258. type: object
  2259. insecureSkipVerify:
  2260. description: Disable target certificate validation.
  2261. type: boolean
  2262. keySecret:
  2263. description: Secret containing the client key
  2264. file for the targets.
  2265. properties:
  2266. key:
  2267. description: The key of the secret to select
  2268. from. Must be a valid secret key.
  2269. type: string
  2270. name:
  2271. description: 'Name of the referent. More info:
  2272. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2273. TODO: Add other useful fields. apiVersion,
  2274. kind, uid?'
  2275. type: string
  2276. optional:
  2277. description: Specify whether the Secret or
  2278. its key must be defined
  2279. type: boolean
  2280. required:
  2281. - key
  2282. type: object
  2283. x-kubernetes-map-type: atomic
  2284. serverName:
  2285. description: Used to verify the hostname for the
  2286. targets.
  2287. type: string
  2288. type: object
  2289. type: object
  2290. iconEmoji:
  2291. type: string
  2292. iconURL:
  2293. type: string
  2294. imageURL:
  2295. type: string
  2296. linkNames:
  2297. type: boolean
  2298. mrkdwnIn:
  2299. items:
  2300. type: string
  2301. type: array
  2302. pretext:
  2303. type: string
  2304. sendResolved:
  2305. description: Whether or not to notify about resolved alerts.
  2306. type: boolean
  2307. shortFields:
  2308. type: boolean
  2309. text:
  2310. type: string
  2311. thumbURL:
  2312. type: string
  2313. title:
  2314. type: string
  2315. titleLink:
  2316. type: string
  2317. username:
  2318. type: string
  2319. type: object
  2320. type: array
  2321. snsConfigs:
  2322. description: List of SNS configurations
  2323. items:
  2324. description: SNSConfig configures notifications via AWS SNS.
  2325. See https://prometheus.io/docs/alerting/latest/configuration/#sns_configs
  2326. properties:
  2327. apiURL:
  2328. description: The SNS API URL i.e. https://sns.us-east-2.amazonaws.com.
  2329. If not specified, the SNS API URL from the SNS SDK will
  2330. be used.
  2331. type: string
  2332. attributes:
  2333. additionalProperties:
  2334. type: string
  2335. description: SNS message attributes.
  2336. type: object
  2337. httpConfig:
  2338. description: HTTP client configuration.
  2339. properties:
  2340. authorization:
  2341. description: Authorization header configuration for
  2342. the client. This is mutually exclusive with BasicAuth
  2343. and is only available starting from Alertmanager
  2344. v0.22+.
  2345. properties:
  2346. credentials:
  2347. description: The secret's key that contains the
  2348. credentials of the request
  2349. properties:
  2350. key:
  2351. description: The key of the secret to select
  2352. from. Must be a valid secret key.
  2353. type: string
  2354. name:
  2355. description: 'Name of the referent. More info:
  2356. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2357. TODO: Add other useful fields. apiVersion,
  2358. kind, uid?'
  2359. type: string
  2360. optional:
  2361. description: Specify whether the Secret or
  2362. its key must be defined
  2363. type: boolean
  2364. required:
  2365. - key
  2366. type: object
  2367. x-kubernetes-map-type: atomic
  2368. type:
  2369. description: Set the authentication type. Defaults
  2370. to Bearer, Basic will cause an error
  2371. type: string
  2372. type: object
  2373. basicAuth:
  2374. description: BasicAuth for the client. This is mutually
  2375. exclusive with Authorization. If both are defined,
  2376. BasicAuth takes precedence.
  2377. properties:
  2378. password:
  2379. description: The secret in the service monitor
  2380. namespace that contains the password for authentication.
  2381. properties:
  2382. key:
  2383. description: The key of the secret to select
  2384. from. Must be a valid secret key.
  2385. type: string
  2386. name:
  2387. description: 'Name of the referent. More info:
  2388. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2389. TODO: Add other useful fields. apiVersion,
  2390. kind, uid?'
  2391. type: string
  2392. optional:
  2393. description: Specify whether the Secret or
  2394. its key must be defined
  2395. type: boolean
  2396. required:
  2397. - key
  2398. type: object
  2399. x-kubernetes-map-type: atomic
  2400. username:
  2401. description: The secret in the service monitor
  2402. namespace that contains the username for authentication.
  2403. properties:
  2404. key:
  2405. description: The key of the secret to select
  2406. from. Must be a valid secret key.
  2407. type: string
  2408. name:
  2409. description: 'Name of the referent. More info:
  2410. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2411. TODO: Add other useful fields. apiVersion,
  2412. kind, uid?'
  2413. type: string
  2414. optional:
  2415. description: Specify whether the Secret or
  2416. its key must be defined
  2417. type: boolean
  2418. required:
  2419. - key
  2420. type: object
  2421. x-kubernetes-map-type: atomic
  2422. type: object
  2423. bearerTokenSecret:
  2424. description: The secret's key that contains the bearer
  2425. token to be used by the client for authentication.
  2426. The secret needs to be in the same namespace as
  2427. the AlertmanagerConfig object and accessible by
  2428. the Prometheus Operator.
  2429. properties:
  2430. key:
  2431. description: The key of the secret to select from. Must
  2432. be a valid secret key.
  2433. type: string
  2434. name:
  2435. description: 'Name of the referent. More info:
  2436. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2437. TODO: Add other useful fields. apiVersion, kind,
  2438. uid?'
  2439. type: string
  2440. optional:
  2441. description: Specify whether the Secret or its
  2442. key must be defined
  2443. type: boolean
  2444. required:
  2445. - key
  2446. type: object
  2447. followRedirects:
  2448. description: FollowRedirects specifies whether the
  2449. client should follow HTTP 3xx redirects.
  2450. type: boolean
  2451. oauth2:
  2452. description: OAuth2 client credentials used to fetch
  2453. a token for the targets.
  2454. properties:
  2455. clientId:
  2456. description: The secret or configmap containing
  2457. the OAuth2 client id
  2458. properties:
  2459. configMap:
  2460. description: ConfigMap containing data to
  2461. use for the targets.
  2462. properties:
  2463. key:
  2464. description: The key to select.
  2465. type: string
  2466. name:
  2467. description: 'Name of the referent. More
  2468. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2469. TODO: Add other useful fields. apiVersion,
  2470. kind, uid?'
  2471. type: string
  2472. optional:
  2473. description: Specify whether the ConfigMap
  2474. or its key must be defined
  2475. type: boolean
  2476. required:
  2477. - key
  2478. type: object
  2479. x-kubernetes-map-type: atomic
  2480. secret:
  2481. description: Secret containing data to use
  2482. for the targets.
  2483. properties:
  2484. key:
  2485. description: The key of the secret to
  2486. select from. Must be a valid secret
  2487. key.
  2488. type: string
  2489. name:
  2490. description: 'Name of the referent. More
  2491. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2492. TODO: Add other useful fields. apiVersion,
  2493. kind, uid?'
  2494. type: string
  2495. optional:
  2496. description: Specify whether the Secret
  2497. or its key must be defined
  2498. type: boolean
  2499. required:
  2500. - key
  2501. type: object
  2502. x-kubernetes-map-type: atomic
  2503. type: object
  2504. clientSecret:
  2505. description: The secret containing the OAuth2
  2506. client secret
  2507. properties:
  2508. key:
  2509. description: The key of the secret to select
  2510. from. Must be a valid secret key.
  2511. type: string
  2512. name:
  2513. description: 'Name of the referent. More info:
  2514. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2515. TODO: Add other useful fields. apiVersion,
  2516. kind, uid?'
  2517. type: string
  2518. optional:
  2519. description: Specify whether the Secret or
  2520. its key must be defined
  2521. type: boolean
  2522. required:
  2523. - key
  2524. type: object
  2525. x-kubernetes-map-type: atomic
  2526. endpointParams:
  2527. additionalProperties:
  2528. type: string
  2529. description: Parameters to append to the token
  2530. URL
  2531. type: object
  2532. scopes:
  2533. description: OAuth2 scopes used for the token
  2534. request
  2535. items:
  2536. type: string
  2537. type: array
  2538. tokenUrl:
  2539. description: The URL to fetch the token from
  2540. minLength: 1
  2541. type: string
  2542. required:
  2543. - clientId
  2544. - clientSecret
  2545. - tokenUrl
  2546. type: object
  2547. proxyURL:
  2548. description: Optional proxy URL.
  2549. type: string
  2550. tlsConfig:
  2551. description: TLS configuration for the client.
  2552. properties:
  2553. ca:
  2554. description: Struct containing the CA cert to
  2555. use for the targets.
  2556. properties:
  2557. configMap:
  2558. description: ConfigMap containing data to
  2559. use for the targets.
  2560. properties:
  2561. key:
  2562. description: The key to select.
  2563. type: string
  2564. name:
  2565. description: 'Name of the referent. More
  2566. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2567. TODO: Add other useful fields. apiVersion,
  2568. kind, uid?'
  2569. type: string
  2570. optional:
  2571. description: Specify whether the ConfigMap
  2572. or its key must be defined
  2573. type: boolean
  2574. required:
  2575. - key
  2576. type: object
  2577. x-kubernetes-map-type: atomic
  2578. secret:
  2579. description: Secret containing data to use
  2580. for the targets.
  2581. properties:
  2582. key:
  2583. description: The key of the secret to
  2584. select from. Must be a valid secret
  2585. key.
  2586. type: string
  2587. name:
  2588. description: 'Name of the referent. More
  2589. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2590. TODO: Add other useful fields. apiVersion,
  2591. kind, uid?'
  2592. type: string
  2593. optional:
  2594. description: Specify whether the Secret
  2595. or its key must be defined
  2596. type: boolean
  2597. required:
  2598. - key
  2599. type: object
  2600. x-kubernetes-map-type: atomic
  2601. type: object
  2602. cert:
  2603. description: Struct containing the client cert
  2604. file for the targets.
  2605. properties:
  2606. configMap:
  2607. description: ConfigMap containing data to
  2608. use for the targets.
  2609. properties:
  2610. key:
  2611. description: The key to select.
  2612. type: string
  2613. name:
  2614. description: 'Name of the referent. More
  2615. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2616. TODO: Add other useful fields. apiVersion,
  2617. kind, uid?'
  2618. type: string
  2619. optional:
  2620. description: Specify whether the ConfigMap
  2621. or its key must be defined
  2622. type: boolean
  2623. required:
  2624. - key
  2625. type: object
  2626. x-kubernetes-map-type: atomic
  2627. secret:
  2628. description: Secret containing data to use
  2629. for the targets.
  2630. properties:
  2631. key:
  2632. description: The key of the secret to
  2633. select from. Must be a valid secret
  2634. key.
  2635. type: string
  2636. name:
  2637. description: 'Name of the referent. More
  2638. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2639. TODO: Add other useful fields. apiVersion,
  2640. kind, uid?'
  2641. type: string
  2642. optional:
  2643. description: Specify whether the Secret
  2644. or its key must be defined
  2645. type: boolean
  2646. required:
  2647. - key
  2648. type: object
  2649. x-kubernetes-map-type: atomic
  2650. type: object
  2651. insecureSkipVerify:
  2652. description: Disable target certificate validation.
  2653. type: boolean
  2654. keySecret:
  2655. description: Secret containing the client key
  2656. file for the targets.
  2657. properties:
  2658. key:
  2659. description: The key of the secret to select
  2660. from. Must be a valid secret key.
  2661. type: string
  2662. name:
  2663. description: 'Name of the referent. More info:
  2664. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2665. TODO: Add other useful fields. apiVersion,
  2666. kind, uid?'
  2667. type: string
  2668. optional:
  2669. description: Specify whether the Secret or
  2670. its key must be defined
  2671. type: boolean
  2672. required:
  2673. - key
  2674. type: object
  2675. x-kubernetes-map-type: atomic
  2676. serverName:
  2677. description: Used to verify the hostname for the
  2678. targets.
  2679. type: string
  2680. type: object
  2681. type: object
  2682. message:
  2683. description: The message content of the SNS notification.
  2684. type: string
  2685. phoneNumber:
  2686. description: Phone number if message is delivered via
  2687. SMS in E.164 format. If you don't specify this value,
  2688. you must specify a value for the TopicARN or TargetARN.
  2689. type: string
  2690. sendResolved:
  2691. description: Whether or not to notify about resolved alerts.
  2692. type: boolean
  2693. sigv4:
  2694. description: Configures AWS's Signature Verification 4
  2695. signing process to sign requests.
  2696. properties:
  2697. accessKey:
  2698. description: AccessKey is the AWS API key. If blank,
  2699. the environment variable `AWS_ACCESS_KEY_ID` is
  2700. used.
  2701. properties:
  2702. key:
  2703. description: The key of the secret to select from. Must
  2704. be a valid secret key.
  2705. type: string
  2706. name:
  2707. description: 'Name of the referent. More info:
  2708. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2709. TODO: Add other useful fields. apiVersion, kind,
  2710. uid?'
  2711. type: string
  2712. optional:
  2713. description: Specify whether the Secret or its
  2714. key must be defined
  2715. type: boolean
  2716. required:
  2717. - key
  2718. type: object
  2719. x-kubernetes-map-type: atomic
  2720. profile:
  2721. description: Profile is the named AWS profile used
  2722. to authenticate.
  2723. type: string
  2724. region:
  2725. description: Region is the AWS region. If blank, the
  2726. region from the default credentials chain used.
  2727. type: string
  2728. roleArn:
  2729. description: RoleArn is the named AWS profile used
  2730. to authenticate.
  2731. type: string
  2732. secretKey:
  2733. description: SecretKey is the AWS API secret. If blank,
  2734. the environment variable `AWS_SECRET_ACCESS_KEY`
  2735. is used.
  2736. properties:
  2737. key:
  2738. description: The key of the secret to select from. Must
  2739. be a valid secret key.
  2740. type: string
  2741. name:
  2742. description: 'Name of the referent. More info:
  2743. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2744. TODO: Add other useful fields. apiVersion, kind,
  2745. uid?'
  2746. type: string
  2747. optional:
  2748. description: Specify whether the Secret or its
  2749. key must be defined
  2750. type: boolean
  2751. required:
  2752. - key
  2753. type: object
  2754. x-kubernetes-map-type: atomic
  2755. type: object
  2756. subject:
  2757. description: Subject line when the message is delivered
  2758. to email endpoints.
  2759. type: string
  2760. targetARN:
  2761. description: The mobile platform endpoint ARN if message
  2762. is delivered via mobile notifications. If you don't
  2763. specify this value, you must specify a value for the
  2764. topic_arn or PhoneNumber.
  2765. type: string
  2766. topicARN:
  2767. description: SNS topic ARN, i.e. arn:aws:sns:us-east-2:698519295917:My-Topic
  2768. If you don't specify this value, you must specify a
  2769. value for the PhoneNumber or TargetARN.
  2770. type: string
  2771. type: object
  2772. type: array
  2773. telegramConfigs:
  2774. description: List of Telegram configurations.
  2775. items:
  2776. description: TelegramConfig configures notifications via Telegram.
  2777. See https://prometheus.io/docs/alerting/latest/configuration/#telegram_config
  2778. properties:
  2779. apiURL:
  2780. description: The Telegram API URL i.e. https://api.telegram.org.
  2781. If not specified, default API URL will be used.
  2782. type: string
  2783. botToken:
  2784. description: Telegram bot token The secret needs to be
  2785. in the same namespace as the AlertmanagerConfig object
  2786. and accessible by the Prometheus Operator.
  2787. properties:
  2788. key:
  2789. description: The key of the secret to select from. Must
  2790. be a valid secret key.
  2791. type: string
  2792. name:
  2793. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2794. TODO: Add other useful fields. apiVersion, kind,
  2795. uid?'
  2796. type: string
  2797. optional:
  2798. description: Specify whether the Secret or its key
  2799. must be defined
  2800. type: boolean
  2801. required:
  2802. - key
  2803. type: object
  2804. chatID:
  2805. description: The Telegram chat ID.
  2806. format: int64
  2807. type: integer
  2808. disableNotifications:
  2809. description: Disable telegram notifications
  2810. type: boolean
  2811. httpConfig:
  2812. description: HTTP client configuration.
  2813. properties:
  2814. authorization:
  2815. description: Authorization header configuration for
  2816. the client. This is mutually exclusive with BasicAuth
  2817. and is only available starting from Alertmanager
  2818. v0.22+.
  2819. properties:
  2820. credentials:
  2821. description: The secret's key that contains the
  2822. credentials of the request
  2823. properties:
  2824. key:
  2825. description: The key of the secret to select
  2826. from. Must be a valid secret key.
  2827. type: string
  2828. name:
  2829. description: 'Name of the referent. More info:
  2830. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2831. TODO: Add other useful fields. apiVersion,
  2832. kind, uid?'
  2833. type: string
  2834. optional:
  2835. description: Specify whether the Secret or
  2836. its key must be defined
  2837. type: boolean
  2838. required:
  2839. - key
  2840. type: object
  2841. x-kubernetes-map-type: atomic
  2842. type:
  2843. description: Set the authentication type. Defaults
  2844. to Bearer, Basic will cause an error
  2845. type: string
  2846. type: object
  2847. basicAuth:
  2848. description: BasicAuth for the client. This is mutually
  2849. exclusive with Authorization. If both are defined,
  2850. BasicAuth takes precedence.
  2851. properties:
  2852. password:
  2853. description: The secret in the service monitor
  2854. namespace that contains the password for authentication.
  2855. properties:
  2856. key:
  2857. description: The key of the secret to select
  2858. from. Must be a valid secret key.
  2859. type: string
  2860. name:
  2861. description: 'Name of the referent. More info:
  2862. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2863. TODO: Add other useful fields. apiVersion,
  2864. kind, uid?'
  2865. type: string
  2866. optional:
  2867. description: Specify whether the Secret or
  2868. its key must be defined
  2869. type: boolean
  2870. required:
  2871. - key
  2872. type: object
  2873. x-kubernetes-map-type: atomic
  2874. username:
  2875. description: The secret in the service monitor
  2876. namespace that contains the username for authentication.
  2877. properties:
  2878. key:
  2879. description: The key of the secret to select
  2880. from. Must be a valid secret key.
  2881. type: string
  2882. name:
  2883. description: 'Name of the referent. More info:
  2884. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2885. TODO: Add other useful fields. apiVersion,
  2886. kind, uid?'
  2887. type: string
  2888. optional:
  2889. description: Specify whether the Secret or
  2890. its key must be defined
  2891. type: boolean
  2892. required:
  2893. - key
  2894. type: object
  2895. x-kubernetes-map-type: atomic
  2896. type: object
  2897. bearerTokenSecret:
  2898. description: The secret's key that contains the bearer
  2899. token to be used by the client for authentication.
  2900. The secret needs to be in the same namespace as
  2901. the AlertmanagerConfig object and accessible by
  2902. the Prometheus Operator.
  2903. properties:
  2904. key:
  2905. description: The key of the secret to select from. Must
  2906. be a valid secret key.
  2907. type: string
  2908. name:
  2909. description: 'Name of the referent. More info:
  2910. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2911. TODO: Add other useful fields. apiVersion, kind,
  2912. uid?'
  2913. type: string
  2914. optional:
  2915. description: Specify whether the Secret or its
  2916. key must be defined
  2917. type: boolean
  2918. required:
  2919. - key
  2920. type: object
  2921. followRedirects:
  2922. description: FollowRedirects specifies whether the
  2923. client should follow HTTP 3xx redirects.
  2924. type: boolean
  2925. oauth2:
  2926. description: OAuth2 client credentials used to fetch
  2927. a token for the targets.
  2928. properties:
  2929. clientId:
  2930. description: The secret or configmap containing
  2931. the OAuth2 client id
  2932. properties:
  2933. configMap:
  2934. description: ConfigMap containing data to
  2935. use for the targets.
  2936. properties:
  2937. key:
  2938. description: The key to select.
  2939. type: string
  2940. name:
  2941. description: 'Name of the referent. More
  2942. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2943. TODO: Add other useful fields. apiVersion,
  2944. kind, uid?'
  2945. type: string
  2946. optional:
  2947. description: Specify whether the ConfigMap
  2948. or its key must be defined
  2949. type: boolean
  2950. required:
  2951. - key
  2952. type: object
  2953. x-kubernetes-map-type: atomic
  2954. secret:
  2955. description: Secret containing data to use
  2956. for the targets.
  2957. properties:
  2958. key:
  2959. description: The key of the secret to
  2960. select from. Must be a valid secret
  2961. key.
  2962. type: string
  2963. name:
  2964. description: 'Name of the referent. More
  2965. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2966. TODO: Add other useful fields. apiVersion,
  2967. kind, uid?'
  2968. type: string
  2969. optional:
  2970. description: Specify whether the Secret
  2971. or its key must be defined
  2972. type: boolean
  2973. required:
  2974. - key
  2975. type: object
  2976. x-kubernetes-map-type: atomic
  2977. type: object
  2978. clientSecret:
  2979. description: The secret containing the OAuth2
  2980. client secret
  2981. properties:
  2982. key:
  2983. description: The key of the secret to select
  2984. from. Must be a valid secret key.
  2985. type: string
  2986. name:
  2987. description: 'Name of the referent. More info:
  2988. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2989. TODO: Add other useful fields. apiVersion,
  2990. kind, uid?'
  2991. type: string
  2992. optional:
  2993. description: Specify whether the Secret or
  2994. its key must be defined
  2995. type: boolean
  2996. required:
  2997. - key
  2998. type: object
  2999. x-kubernetes-map-type: atomic
  3000. endpointParams:
  3001. additionalProperties:
  3002. type: string
  3003. description: Parameters to append to the token
  3004. URL
  3005. type: object
  3006. scopes:
  3007. description: OAuth2 scopes used for the token
  3008. request
  3009. items:
  3010. type: string
  3011. type: array
  3012. tokenUrl:
  3013. description: The URL to fetch the token from
  3014. minLength: 1
  3015. type: string
  3016. required:
  3017. - clientId
  3018. - clientSecret
  3019. - tokenUrl
  3020. type: object
  3021. proxyURL:
  3022. description: Optional proxy URL.
  3023. type: string
  3024. tlsConfig:
  3025. description: TLS configuration for the client.
  3026. properties:
  3027. ca:
  3028. description: Struct containing the CA cert to
  3029. use for the targets.
  3030. properties:
  3031. configMap:
  3032. description: ConfigMap containing data to
  3033. use for the targets.
  3034. properties:
  3035. key:
  3036. description: The key to select.
  3037. type: string
  3038. name:
  3039. description: 'Name of the referent. More
  3040. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3041. TODO: Add other useful fields. apiVersion,
  3042. kind, uid?'
  3043. type: string
  3044. optional:
  3045. description: Specify whether the ConfigMap
  3046. or its key must be defined
  3047. type: boolean
  3048. required:
  3049. - key
  3050. type: object
  3051. x-kubernetes-map-type: atomic
  3052. secret:
  3053. description: Secret containing data to use
  3054. for the targets.
  3055. properties:
  3056. key:
  3057. description: The key of the secret to
  3058. select from. Must be a valid secret
  3059. key.
  3060. type: string
  3061. name:
  3062. description: 'Name of the referent. More
  3063. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3064. TODO: Add other useful fields. apiVersion,
  3065. kind, uid?'
  3066. type: string
  3067. optional:
  3068. description: Specify whether the Secret
  3069. or its key must be defined
  3070. type: boolean
  3071. required:
  3072. - key
  3073. type: object
  3074. x-kubernetes-map-type: atomic
  3075. type: object
  3076. cert:
  3077. description: Struct containing the client cert
  3078. file for the targets.
  3079. properties:
  3080. configMap:
  3081. description: ConfigMap containing data to
  3082. use for the targets.
  3083. properties:
  3084. key:
  3085. description: The key to select.
  3086. type: string
  3087. name:
  3088. description: 'Name of the referent. More
  3089. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3090. TODO: Add other useful fields. apiVersion,
  3091. kind, uid?'
  3092. type: string
  3093. optional:
  3094. description: Specify whether the ConfigMap
  3095. or its key must be defined
  3096. type: boolean
  3097. required:
  3098. - key
  3099. type: object
  3100. x-kubernetes-map-type: atomic
  3101. secret:
  3102. description: Secret containing data to use
  3103. for the targets.
  3104. properties:
  3105. key:
  3106. description: The key of the secret to
  3107. select from. Must be a valid secret
  3108. key.
  3109. type: string
  3110. name:
  3111. description: 'Name of the referent. More
  3112. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3113. TODO: Add other useful fields. apiVersion,
  3114. kind, uid?'
  3115. type: string
  3116. optional:
  3117. description: Specify whether the Secret
  3118. or its key must be defined
  3119. type: boolean
  3120. required:
  3121. - key
  3122. type: object
  3123. x-kubernetes-map-type: atomic
  3124. type: object
  3125. insecureSkipVerify:
  3126. description: Disable target certificate validation.
  3127. type: boolean
  3128. keySecret:
  3129. description: Secret containing the client key
  3130. file for the targets.
  3131. properties:
  3132. key:
  3133. description: The key of the secret to select
  3134. from. Must be a valid secret key.
  3135. type: string
  3136. name:
  3137. description: 'Name of the referent. More info:
  3138. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3139. TODO: Add other useful fields. apiVersion,
  3140. kind, uid?'
  3141. type: string
  3142. optional:
  3143. description: Specify whether the Secret or
  3144. its key must be defined
  3145. type: boolean
  3146. required:
  3147. - key
  3148. type: object
  3149. x-kubernetes-map-type: atomic
  3150. serverName:
  3151. description: Used to verify the hostname for the
  3152. targets.
  3153. type: string
  3154. type: object
  3155. type: object
  3156. message:
  3157. description: Message template
  3158. type: string
  3159. parseMode:
  3160. description: Parse mode for telegram message
  3161. enum:
  3162. - MarkdownV2
  3163. - Markdown
  3164. - HTML
  3165. type: string
  3166. sendResolved:
  3167. description: Whether to notify about resolved alerts.
  3168. type: boolean
  3169. type: object
  3170. type: array
  3171. victoropsConfigs:
  3172. description: List of VictorOps configurations.
  3173. items:
  3174. description: VictorOpsConfig configures notifications via
  3175. VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config
  3176. properties:
  3177. apiKey:
  3178. description: The secret's key that contains the API key
  3179. to use when talking to the VictorOps API. The secret
  3180. needs to be in the same namespace as the AlertmanagerConfig
  3181. object and accessible by the Prometheus Operator.
  3182. properties:
  3183. key:
  3184. description: The key of the secret to select from. Must
  3185. be a valid secret key.
  3186. type: string
  3187. name:
  3188. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3189. TODO: Add other useful fields. apiVersion, kind,
  3190. uid?'
  3191. type: string
  3192. optional:
  3193. description: Specify whether the Secret or its key
  3194. must be defined
  3195. type: boolean
  3196. required:
  3197. - key
  3198. type: object
  3199. apiUrl:
  3200. description: The VictorOps API URL.
  3201. type: string
  3202. customFields:
  3203. description: Additional custom fields for notification.
  3204. items:
  3205. description: KeyValue defines a (key, value) tuple.
  3206. properties:
  3207. key:
  3208. description: Key of the tuple.
  3209. minLength: 1
  3210. type: string
  3211. value:
  3212. description: Value of the tuple.
  3213. type: string
  3214. required:
  3215. - key
  3216. - value
  3217. type: object
  3218. type: array
  3219. entityDisplayName:
  3220. description: Contains summary of the alerted problem.
  3221. type: string
  3222. httpConfig:
  3223. description: The HTTP client's configuration.
  3224. properties:
  3225. authorization:
  3226. description: Authorization header configuration for
  3227. the client. This is mutually exclusive with BasicAuth
  3228. and is only available starting from Alertmanager
  3229. v0.22+.
  3230. properties:
  3231. credentials:
  3232. description: The secret's key that contains the
  3233. credentials of the request
  3234. properties:
  3235. key:
  3236. description: The key of the secret to select
  3237. from. Must be a valid secret key.
  3238. type: string
  3239. name:
  3240. description: 'Name of the referent. More info:
  3241. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3242. TODO: Add other useful fields. apiVersion,
  3243. kind, uid?'
  3244. type: string
  3245. optional:
  3246. description: Specify whether the Secret or
  3247. its key must be defined
  3248. type: boolean
  3249. required:
  3250. - key
  3251. type: object
  3252. x-kubernetes-map-type: atomic
  3253. type:
  3254. description: Set the authentication type. Defaults
  3255. to Bearer, Basic will cause an error
  3256. type: string
  3257. type: object
  3258. basicAuth:
  3259. description: BasicAuth for the client. This is mutually
  3260. exclusive with Authorization. If both are defined,
  3261. BasicAuth takes precedence.
  3262. properties:
  3263. password:
  3264. description: The secret in the service monitor
  3265. namespace that contains the password for authentication.
  3266. properties:
  3267. key:
  3268. description: The key of the secret to select
  3269. from. Must be a valid secret key.
  3270. type: string
  3271. name:
  3272. description: 'Name of the referent. More info:
  3273. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3274. TODO: Add other useful fields. apiVersion,
  3275. kind, uid?'
  3276. type: string
  3277. optional:
  3278. description: Specify whether the Secret or
  3279. its key must be defined
  3280. type: boolean
  3281. required:
  3282. - key
  3283. type: object
  3284. x-kubernetes-map-type: atomic
  3285. username:
  3286. description: The secret in the service monitor
  3287. namespace that contains the username for authentication.
  3288. properties:
  3289. key:
  3290. description: The key of the secret to select
  3291. from. Must be a valid secret key.
  3292. type: string
  3293. name:
  3294. description: 'Name of the referent. More info:
  3295. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3296. TODO: Add other useful fields. apiVersion,
  3297. kind, uid?'
  3298. type: string
  3299. optional:
  3300. description: Specify whether the Secret or
  3301. its key must be defined
  3302. type: boolean
  3303. required:
  3304. - key
  3305. type: object
  3306. x-kubernetes-map-type: atomic
  3307. type: object
  3308. bearerTokenSecret:
  3309. description: The secret's key that contains the bearer
  3310. token to be used by the client for authentication.
  3311. The secret needs to be in the same namespace as
  3312. the AlertmanagerConfig object and accessible by
  3313. the Prometheus Operator.
  3314. properties:
  3315. key:
  3316. description: The key of the secret to select from. Must
  3317. be a valid secret key.
  3318. type: string
  3319. name:
  3320. description: 'Name of the referent. More info:
  3321. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3322. TODO: Add other useful fields. apiVersion, kind,
  3323. uid?'
  3324. type: string
  3325. optional:
  3326. description: Specify whether the Secret or its
  3327. key must be defined
  3328. type: boolean
  3329. required:
  3330. - key
  3331. type: object
  3332. followRedirects:
  3333. description: FollowRedirects specifies whether the
  3334. client should follow HTTP 3xx redirects.
  3335. type: boolean
  3336. oauth2:
  3337. description: OAuth2 client credentials used to fetch
  3338. a token for the targets.
  3339. properties:
  3340. clientId:
  3341. description: The secret or configmap containing
  3342. the OAuth2 client id
  3343. properties:
  3344. configMap:
  3345. description: ConfigMap containing data to
  3346. use for the targets.
  3347. properties:
  3348. key:
  3349. description: The key to select.
  3350. type: string
  3351. name:
  3352. description: 'Name of the referent. More
  3353. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3354. TODO: Add other useful fields. apiVersion,
  3355. kind, uid?'
  3356. type: string
  3357. optional:
  3358. description: Specify whether the ConfigMap
  3359. or its key must be defined
  3360. type: boolean
  3361. required:
  3362. - key
  3363. type: object
  3364. x-kubernetes-map-type: atomic
  3365. secret:
  3366. description: Secret containing data to use
  3367. for the targets.
  3368. properties:
  3369. key:
  3370. description: The key of the secret to
  3371. select from. Must be a valid secret
  3372. key.
  3373. type: string
  3374. name:
  3375. description: 'Name of the referent. More
  3376. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3377. TODO: Add other useful fields. apiVersion,
  3378. kind, uid?'
  3379. type: string
  3380. optional:
  3381. description: Specify whether the Secret
  3382. or its key must be defined
  3383. type: boolean
  3384. required:
  3385. - key
  3386. type: object
  3387. x-kubernetes-map-type: atomic
  3388. type: object
  3389. clientSecret:
  3390. description: The secret containing the OAuth2
  3391. client secret
  3392. properties:
  3393. key:
  3394. description: The key of the secret to select
  3395. from. Must be a valid secret key.
  3396. type: string
  3397. name:
  3398. description: 'Name of the referent. More info:
  3399. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3400. TODO: Add other useful fields. apiVersion,
  3401. kind, uid?'
  3402. type: string
  3403. optional:
  3404. description: Specify whether the Secret or
  3405. its key must be defined
  3406. type: boolean
  3407. required:
  3408. - key
  3409. type: object
  3410. x-kubernetes-map-type: atomic
  3411. endpointParams:
  3412. additionalProperties:
  3413. type: string
  3414. description: Parameters to append to the token
  3415. URL
  3416. type: object
  3417. scopes:
  3418. description: OAuth2 scopes used for the token
  3419. request
  3420. items:
  3421. type: string
  3422. type: array
  3423. tokenUrl:
  3424. description: The URL to fetch the token from
  3425. minLength: 1
  3426. type: string
  3427. required:
  3428. - clientId
  3429. - clientSecret
  3430. - tokenUrl
  3431. type: object
  3432. proxyURL:
  3433. description: Optional proxy URL.
  3434. type: string
  3435. tlsConfig:
  3436. description: TLS configuration for the client.
  3437. properties:
  3438. ca:
  3439. description: Struct containing the CA cert to
  3440. use for the targets.
  3441. properties:
  3442. configMap:
  3443. description: ConfigMap containing data to
  3444. use for the targets.
  3445. properties:
  3446. key:
  3447. description: The key to select.
  3448. type: string
  3449. name:
  3450. description: 'Name of the referent. More
  3451. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3452. TODO: Add other useful fields. apiVersion,
  3453. kind, uid?'
  3454. type: string
  3455. optional:
  3456. description: Specify whether the ConfigMap
  3457. or its key must be defined
  3458. type: boolean
  3459. required:
  3460. - key
  3461. type: object
  3462. x-kubernetes-map-type: atomic
  3463. secret:
  3464. description: Secret containing data to use
  3465. for the targets.
  3466. properties:
  3467. key:
  3468. description: The key of the secret to
  3469. select from. Must be a valid secret
  3470. key.
  3471. type: string
  3472. name:
  3473. description: 'Name of the referent. More
  3474. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3475. TODO: Add other useful fields. apiVersion,
  3476. kind, uid?'
  3477. type: string
  3478. optional:
  3479. description: Specify whether the Secret
  3480. or its key must be defined
  3481. type: boolean
  3482. required:
  3483. - key
  3484. type: object
  3485. x-kubernetes-map-type: atomic
  3486. type: object
  3487. cert:
  3488. description: Struct containing the client cert
  3489. file for the targets.
  3490. properties:
  3491. configMap:
  3492. description: ConfigMap containing data to
  3493. use for the targets.
  3494. properties:
  3495. key:
  3496. description: The key to select.
  3497. type: string
  3498. name:
  3499. description: 'Name of the referent. More
  3500. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3501. TODO: Add other useful fields. apiVersion,
  3502. kind, uid?'
  3503. type: string
  3504. optional:
  3505. description: Specify whether the ConfigMap
  3506. or its key must be defined
  3507. type: boolean
  3508. required:
  3509. - key
  3510. type: object
  3511. x-kubernetes-map-type: atomic
  3512. secret:
  3513. description: Secret containing data to use
  3514. for the targets.
  3515. properties:
  3516. key:
  3517. description: The key of the secret to
  3518. select from. Must be a valid secret
  3519. key.
  3520. type: string
  3521. name:
  3522. description: 'Name of the referent. More
  3523. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3524. TODO: Add other useful fields. apiVersion,
  3525. kind, uid?'
  3526. type: string
  3527. optional:
  3528. description: Specify whether the Secret
  3529. or its key must be defined
  3530. type: boolean
  3531. required:
  3532. - key
  3533. type: object
  3534. x-kubernetes-map-type: atomic
  3535. type: object
  3536. insecureSkipVerify:
  3537. description: Disable target certificate validation.
  3538. type: boolean
  3539. keySecret:
  3540. description: Secret containing the client key
  3541. file for the targets.
  3542. properties:
  3543. key:
  3544. description: The key of the secret to select
  3545. from. Must be a valid secret key.
  3546. type: string
  3547. name:
  3548. description: 'Name of the referent. More info:
  3549. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3550. TODO: Add other useful fields. apiVersion,
  3551. kind, uid?'
  3552. type: string
  3553. optional:
  3554. description: Specify whether the Secret or
  3555. its key must be defined
  3556. type: boolean
  3557. required:
  3558. - key
  3559. type: object
  3560. x-kubernetes-map-type: atomic
  3561. serverName:
  3562. description: Used to verify the hostname for the
  3563. targets.
  3564. type: string
  3565. type: object
  3566. type: object
  3567. messageType:
  3568. description: Describes the behavior of the alert (CRITICAL,
  3569. WARNING, INFO).
  3570. type: string
  3571. monitoringTool:
  3572. description: The monitoring tool the state message is
  3573. from.
  3574. type: string
  3575. routingKey:
  3576. description: A key used to map the alert to a team.
  3577. type: string
  3578. sendResolved:
  3579. description: Whether or not to notify about resolved alerts.
  3580. type: boolean
  3581. stateMessage:
  3582. description: Contains long explanation of the alerted
  3583. problem.
  3584. type: string
  3585. type: object
  3586. type: array
  3587. webhookConfigs:
  3588. description: List of webhook configurations.
  3589. items:
  3590. description: WebhookConfig configures notifications via a
  3591. generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
  3592. properties:
  3593. httpConfig:
  3594. description: HTTP client configuration.
  3595. properties:
  3596. authorization:
  3597. description: Authorization header configuration for
  3598. the client. This is mutually exclusive with BasicAuth
  3599. and is only available starting from Alertmanager
  3600. v0.22+.
  3601. properties:
  3602. credentials:
  3603. description: The secret's key that contains the
  3604. credentials of the request
  3605. properties:
  3606. key:
  3607. description: The key of the secret to select
  3608. from. Must be a valid secret key.
  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 Secret or
  3618. its key must be defined
  3619. type: boolean
  3620. required:
  3621. - key
  3622. type: object
  3623. x-kubernetes-map-type: atomic
  3624. type:
  3625. description: Set the authentication type. Defaults
  3626. to Bearer, Basic will cause an error
  3627. type: string
  3628. type: object
  3629. basicAuth:
  3630. description: BasicAuth for the client. This is mutually
  3631. exclusive with Authorization. If both are defined,
  3632. BasicAuth takes precedence.
  3633. properties:
  3634. password:
  3635. description: The secret in the service monitor
  3636. namespace that contains the password for authentication.
  3637. properties:
  3638. key:
  3639. description: The key of the secret to select
  3640. from. Must be a valid secret key.
  3641. type: string
  3642. name:
  3643. description: 'Name of the referent. More info:
  3644. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3645. TODO: Add other useful fields. apiVersion,
  3646. kind, uid?'
  3647. type: string
  3648. optional:
  3649. description: Specify whether the Secret or
  3650. its key must be defined
  3651. type: boolean
  3652. required:
  3653. - key
  3654. type: object
  3655. x-kubernetes-map-type: atomic
  3656. username:
  3657. description: The secret in the service monitor
  3658. namespace that contains the username for authentication.
  3659. properties:
  3660. key:
  3661. description: The key of the secret to select
  3662. from. Must be a valid secret key.
  3663. type: string
  3664. name:
  3665. description: 'Name of the referent. More info:
  3666. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3667. TODO: Add other useful fields. apiVersion,
  3668. kind, uid?'
  3669. type: string
  3670. optional:
  3671. description: Specify whether the Secret or
  3672. its key must be defined
  3673. type: boolean
  3674. required:
  3675. - key
  3676. type: object
  3677. x-kubernetes-map-type: atomic
  3678. type: object
  3679. bearerTokenSecret:
  3680. description: The secret's key that contains the bearer
  3681. token to be used by the client for authentication.
  3682. The secret needs to be in the same namespace as
  3683. the AlertmanagerConfig object and accessible by
  3684. the Prometheus Operator.
  3685. properties:
  3686. key:
  3687. description: The key of the secret to select from. Must
  3688. be a valid secret key.
  3689. type: string
  3690. name:
  3691. description: 'Name of the referent. More info:
  3692. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3693. TODO: Add other useful fields. apiVersion, kind,
  3694. uid?'
  3695. type: string
  3696. optional:
  3697. description: Specify whether the Secret or its
  3698. key must be defined
  3699. type: boolean
  3700. required:
  3701. - key
  3702. type: object
  3703. followRedirects:
  3704. description: FollowRedirects specifies whether the
  3705. client should follow HTTP 3xx redirects.
  3706. type: boolean
  3707. oauth2:
  3708. description: OAuth2 client credentials used to fetch
  3709. a token for the targets.
  3710. properties:
  3711. clientId:
  3712. description: The secret or configmap containing
  3713. the OAuth2 client id
  3714. properties:
  3715. configMap:
  3716. description: ConfigMap containing data to
  3717. use for the targets.
  3718. properties:
  3719. key:
  3720. description: The key to select.
  3721. type: string
  3722. name:
  3723. description: 'Name of the referent. More
  3724. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3725. TODO: Add other useful fields. apiVersion,
  3726. kind, uid?'
  3727. type: string
  3728. optional:
  3729. description: Specify whether the ConfigMap
  3730. or its key must be defined
  3731. type: boolean
  3732. required:
  3733. - key
  3734. type: object
  3735. x-kubernetes-map-type: atomic
  3736. secret:
  3737. description: Secret containing data to use
  3738. for the targets.
  3739. properties:
  3740. key:
  3741. description: The key of the secret to
  3742. select from. Must be a valid secret
  3743. key.
  3744. type: string
  3745. name:
  3746. description: 'Name of the referent. More
  3747. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3748. TODO: Add other useful fields. apiVersion,
  3749. kind, uid?'
  3750. type: string
  3751. optional:
  3752. description: Specify whether the Secret
  3753. or its key must be defined
  3754. type: boolean
  3755. required:
  3756. - key
  3757. type: object
  3758. x-kubernetes-map-type: atomic
  3759. type: object
  3760. clientSecret:
  3761. description: The secret containing the OAuth2
  3762. client secret
  3763. properties:
  3764. key:
  3765. description: The key of the secret to select
  3766. from. Must be a valid secret key.
  3767. type: string
  3768. name:
  3769. description: 'Name of the referent. More info:
  3770. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3771. TODO: Add other useful fields. apiVersion,
  3772. kind, uid?'
  3773. type: string
  3774. optional:
  3775. description: Specify whether the Secret or
  3776. its key must be defined
  3777. type: boolean
  3778. required:
  3779. - key
  3780. type: object
  3781. x-kubernetes-map-type: atomic
  3782. endpointParams:
  3783. additionalProperties:
  3784. type: string
  3785. description: Parameters to append to the token
  3786. URL
  3787. type: object
  3788. scopes:
  3789. description: OAuth2 scopes used for the token
  3790. request
  3791. items:
  3792. type: string
  3793. type: array
  3794. tokenUrl:
  3795. description: The URL to fetch the token from
  3796. minLength: 1
  3797. type: string
  3798. required:
  3799. - clientId
  3800. - clientSecret
  3801. - tokenUrl
  3802. type: object
  3803. proxyURL:
  3804. description: Optional proxy URL.
  3805. type: string
  3806. tlsConfig:
  3807. description: TLS configuration for the client.
  3808. properties:
  3809. ca:
  3810. description: Struct containing the CA cert to
  3811. use for the targets.
  3812. properties:
  3813. configMap:
  3814. description: ConfigMap containing data to
  3815. use for the targets.
  3816. properties:
  3817. key:
  3818. description: The key to select.
  3819. type: string
  3820. name:
  3821. description: 'Name of the referent. More
  3822. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3823. TODO: Add other useful fields. apiVersion,
  3824. kind, uid?'
  3825. type: string
  3826. optional:
  3827. description: Specify whether the ConfigMap
  3828. or its key must be defined
  3829. type: boolean
  3830. required:
  3831. - key
  3832. type: object
  3833. x-kubernetes-map-type: atomic
  3834. secret:
  3835. description: Secret containing data to use
  3836. for the targets.
  3837. properties:
  3838. key:
  3839. description: The key of the secret to
  3840. select from. Must be a valid secret
  3841. key.
  3842. type: string
  3843. name:
  3844. description: 'Name of the referent. More
  3845. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3846. TODO: Add other useful fields. apiVersion,
  3847. kind, uid?'
  3848. type: string
  3849. optional:
  3850. description: Specify whether the Secret
  3851. or its key must be defined
  3852. type: boolean
  3853. required:
  3854. - key
  3855. type: object
  3856. x-kubernetes-map-type: atomic
  3857. type: object
  3858. cert:
  3859. description: Struct containing the client cert
  3860. file for the targets.
  3861. properties:
  3862. configMap:
  3863. description: ConfigMap containing data to
  3864. use for the targets.
  3865. properties:
  3866. key:
  3867. description: The key to select.
  3868. type: string
  3869. name:
  3870. description: 'Name of the referent. More
  3871. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3872. TODO: Add other useful fields. apiVersion,
  3873. kind, uid?'
  3874. type: string
  3875. optional:
  3876. description: Specify whether the ConfigMap
  3877. or its key must be defined
  3878. type: boolean
  3879. required:
  3880. - key
  3881. type: object
  3882. x-kubernetes-map-type: atomic
  3883. secret:
  3884. description: Secret containing data to use
  3885. for the targets.
  3886. properties:
  3887. key:
  3888. description: The key of the secret to
  3889. select from. Must be a valid secret
  3890. key.
  3891. type: string
  3892. name:
  3893. description: 'Name of the referent. More
  3894. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3895. TODO: Add other useful fields. apiVersion,
  3896. kind, uid?'
  3897. type: string
  3898. optional:
  3899. description: Specify whether the Secret
  3900. or its key must be defined
  3901. type: boolean
  3902. required:
  3903. - key
  3904. type: object
  3905. x-kubernetes-map-type: atomic
  3906. type: object
  3907. insecureSkipVerify:
  3908. description: Disable target certificate validation.
  3909. type: boolean
  3910. keySecret:
  3911. description: Secret containing the client key
  3912. file for the targets.
  3913. properties:
  3914. key:
  3915. description: The key of the secret to select
  3916. from. Must be a valid secret key.
  3917. type: string
  3918. name:
  3919. description: 'Name of the referent. More info:
  3920. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3921. TODO: Add other useful fields. apiVersion,
  3922. kind, uid?'
  3923. type: string
  3924. optional:
  3925. description: Specify whether the Secret or
  3926. its key must be defined
  3927. type: boolean
  3928. required:
  3929. - key
  3930. type: object
  3931. x-kubernetes-map-type: atomic
  3932. serverName:
  3933. description: Used to verify the hostname for the
  3934. targets.
  3935. type: string
  3936. type: object
  3937. type: object
  3938. maxAlerts:
  3939. description: Maximum number of alerts to be sent per webhook
  3940. message. When 0, all alerts are included.
  3941. format: int32
  3942. minimum: 0
  3943. type: integer
  3944. sendResolved:
  3945. description: Whether or not to notify about resolved alerts.
  3946. type: boolean
  3947. url:
  3948. description: The URL to send HTTP POST requests to. `urlSecret`
  3949. takes precedence over `url`. One of `urlSecret` and
  3950. `url` should be defined.
  3951. type: string
  3952. urlSecret:
  3953. description: The secret's key that contains the webhook
  3954. URL to send HTTP requests to. `urlSecret` takes precedence
  3955. over `url`. One of `urlSecret` and `url` should be defined.
  3956. The secret needs to be in the same namespace as the
  3957. AlertmanagerConfig object and accessible by the Prometheus
  3958. Operator.
  3959. properties:
  3960. key:
  3961. description: The key of the secret to select from. Must
  3962. be a valid secret key.
  3963. type: string
  3964. name:
  3965. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3966. TODO: Add other useful fields. apiVersion, kind,
  3967. uid?'
  3968. type: string
  3969. optional:
  3970. description: Specify whether the Secret or its key
  3971. must be defined
  3972. type: boolean
  3973. required:
  3974. - key
  3975. type: object
  3976. type: object
  3977. type: array
  3978. wechatConfigs:
  3979. description: List of WeChat configurations.
  3980. items:
  3981. description: WeChatConfig configures notifications via WeChat.
  3982. See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config
  3983. properties:
  3984. agentID:
  3985. type: string
  3986. apiSecret:
  3987. description: The secret's key that contains the WeChat
  3988. API key. The secret needs to be in the same namespace
  3989. as the AlertmanagerConfig object and accessible by the
  3990. Prometheus Operator.
  3991. properties:
  3992. key:
  3993. description: The key of the secret to select from. Must
  3994. be a valid secret key.
  3995. type: string
  3996. name:
  3997. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3998. TODO: Add other useful fields. apiVersion, kind,
  3999. uid?'
  4000. type: string
  4001. optional:
  4002. description: Specify whether the Secret or its key
  4003. must be defined
  4004. type: boolean
  4005. required:
  4006. - key
  4007. type: object
  4008. apiURL:
  4009. description: The WeChat API URL.
  4010. type: string
  4011. corpID:
  4012. description: The corp id for authentication.
  4013. type: string
  4014. httpConfig:
  4015. description: HTTP client configuration.
  4016. properties:
  4017. authorization:
  4018. description: Authorization header configuration for
  4019. the client. This is mutually exclusive with BasicAuth
  4020. and is only available starting from Alertmanager
  4021. v0.22+.
  4022. properties:
  4023. credentials:
  4024. description: The secret's key that contains the
  4025. credentials of the request
  4026. properties:
  4027. key:
  4028. description: The key of the secret to select
  4029. from. Must be a valid secret key.
  4030. type: string
  4031. name:
  4032. description: 'Name of the referent. More info:
  4033. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4034. TODO: Add other useful fields. apiVersion,
  4035. kind, uid?'
  4036. type: string
  4037. optional:
  4038. description: Specify whether the Secret or
  4039. its key must be defined
  4040. type: boolean
  4041. required:
  4042. - key
  4043. type: object
  4044. x-kubernetes-map-type: atomic
  4045. type:
  4046. description: Set the authentication type. Defaults
  4047. to Bearer, Basic will cause an error
  4048. type: string
  4049. type: object
  4050. basicAuth:
  4051. description: BasicAuth for the client. This is mutually
  4052. exclusive with Authorization. If both are defined,
  4053. BasicAuth takes precedence.
  4054. properties:
  4055. password:
  4056. description: The secret in the service monitor
  4057. namespace that contains the password for authentication.
  4058. properties:
  4059. key:
  4060. description: The key of the secret to select
  4061. from. Must be a valid secret key.
  4062. type: string
  4063. name:
  4064. description: 'Name of the referent. More info:
  4065. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4066. TODO: Add other useful fields. apiVersion,
  4067. kind, uid?'
  4068. type: string
  4069. optional:
  4070. description: Specify whether the Secret or
  4071. its key must be defined
  4072. type: boolean
  4073. required:
  4074. - key
  4075. type: object
  4076. x-kubernetes-map-type: atomic
  4077. username:
  4078. description: The secret in the service monitor
  4079. namespace that contains the username for authentication.
  4080. properties:
  4081. key:
  4082. description: The key of the secret to select
  4083. from. Must be a valid secret key.
  4084. type: string
  4085. name:
  4086. description: 'Name of the referent. More info:
  4087. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4088. TODO: Add other useful fields. apiVersion,
  4089. kind, uid?'
  4090. type: string
  4091. optional:
  4092. description: Specify whether the Secret or
  4093. its key must be defined
  4094. type: boolean
  4095. required:
  4096. - key
  4097. type: object
  4098. x-kubernetes-map-type: atomic
  4099. type: object
  4100. bearerTokenSecret:
  4101. description: The secret's key that contains the bearer
  4102. token to be used by the client for authentication.
  4103. The secret needs to be in the same namespace as
  4104. the AlertmanagerConfig object and accessible by
  4105. the Prometheus Operator.
  4106. properties:
  4107. key:
  4108. description: The key of the secret to select from. Must
  4109. be a valid secret key.
  4110. type: string
  4111. name:
  4112. description: 'Name of the referent. More info:
  4113. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4114. TODO: Add other useful fields. apiVersion, kind,
  4115. uid?'
  4116. type: string
  4117. optional:
  4118. description: Specify whether the Secret or its
  4119. key must be defined
  4120. type: boolean
  4121. required:
  4122. - key
  4123. type: object
  4124. followRedirects:
  4125. description: FollowRedirects specifies whether the
  4126. client should follow HTTP 3xx redirects.
  4127. type: boolean
  4128. oauth2:
  4129. description: OAuth2 client credentials used to fetch
  4130. a token for the targets.
  4131. properties:
  4132. clientId:
  4133. description: The secret or configmap containing
  4134. the OAuth2 client id
  4135. properties:
  4136. configMap:
  4137. description: ConfigMap containing data to
  4138. use for the targets.
  4139. properties:
  4140. key:
  4141. description: The key to select.
  4142. type: string
  4143. name:
  4144. description: 'Name of the referent. More
  4145. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4146. TODO: Add other useful fields. apiVersion,
  4147. kind, uid?'
  4148. type: string
  4149. optional:
  4150. description: Specify whether the ConfigMap
  4151. or its key must be defined
  4152. type: boolean
  4153. required:
  4154. - key
  4155. type: object
  4156. x-kubernetes-map-type: atomic
  4157. secret:
  4158. description: Secret containing data to use
  4159. for the targets.
  4160. properties:
  4161. key:
  4162. description: The key of the secret to
  4163. select from. Must be a valid secret
  4164. key.
  4165. type: string
  4166. name:
  4167. description: 'Name of the referent. More
  4168. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4169. TODO: Add other useful fields. apiVersion,
  4170. kind, uid?'
  4171. type: string
  4172. optional:
  4173. description: Specify whether the Secret
  4174. or its key must be defined
  4175. type: boolean
  4176. required:
  4177. - key
  4178. type: object
  4179. x-kubernetes-map-type: atomic
  4180. type: object
  4181. clientSecret:
  4182. description: The secret containing the OAuth2
  4183. client secret
  4184. properties:
  4185. key:
  4186. description: The key of the secret to select
  4187. from. Must be a valid secret key.
  4188. type: string
  4189. name:
  4190. description: 'Name of the referent. More info:
  4191. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4192. TODO: Add other useful fields. apiVersion,
  4193. kind, uid?'
  4194. type: string
  4195. optional:
  4196. description: Specify whether the Secret or
  4197. its key must be defined
  4198. type: boolean
  4199. required:
  4200. - key
  4201. type: object
  4202. x-kubernetes-map-type: atomic
  4203. endpointParams:
  4204. additionalProperties:
  4205. type: string
  4206. description: Parameters to append to the token
  4207. URL
  4208. type: object
  4209. scopes:
  4210. description: OAuth2 scopes used for the token
  4211. request
  4212. items:
  4213. type: string
  4214. type: array
  4215. tokenUrl:
  4216. description: The URL to fetch the token from
  4217. minLength: 1
  4218. type: string
  4219. required:
  4220. - clientId
  4221. - clientSecret
  4222. - tokenUrl
  4223. type: object
  4224. proxyURL:
  4225. description: Optional proxy URL.
  4226. type: string
  4227. tlsConfig:
  4228. description: TLS configuration for the client.
  4229. properties:
  4230. ca:
  4231. description: Struct containing the CA cert to
  4232. use for the targets.
  4233. properties:
  4234. configMap:
  4235. description: ConfigMap containing data to
  4236. use for the targets.
  4237. properties:
  4238. key:
  4239. description: The key to select.
  4240. type: string
  4241. name:
  4242. description: 'Name of the referent. More
  4243. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4244. TODO: Add other useful fields. apiVersion,
  4245. kind, uid?'
  4246. type: string
  4247. optional:
  4248. description: Specify whether the ConfigMap
  4249. or its key must be defined
  4250. type: boolean
  4251. required:
  4252. - key
  4253. type: object
  4254. x-kubernetes-map-type: atomic
  4255. secret:
  4256. description: Secret containing data to use
  4257. for the targets.
  4258. properties:
  4259. key:
  4260. description: The key of the secret to
  4261. select from. Must be a valid secret
  4262. key.
  4263. type: string
  4264. name:
  4265. description: 'Name of the referent. More
  4266. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4267. TODO: Add other useful fields. apiVersion,
  4268. kind, uid?'
  4269. type: string
  4270. optional:
  4271. description: Specify whether the Secret
  4272. or its key must be defined
  4273. type: boolean
  4274. required:
  4275. - key
  4276. type: object
  4277. x-kubernetes-map-type: atomic
  4278. type: object
  4279. cert:
  4280. description: Struct containing the client cert
  4281. file for the targets.
  4282. properties:
  4283. configMap:
  4284. description: ConfigMap containing data to
  4285. use for the targets.
  4286. properties:
  4287. key:
  4288. description: The key to select.
  4289. type: string
  4290. name:
  4291. description: 'Name of the referent. More
  4292. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4293. TODO: Add other useful fields. apiVersion,
  4294. kind, uid?'
  4295. type: string
  4296. optional:
  4297. description: Specify whether the ConfigMap
  4298. or its key must be defined
  4299. type: boolean
  4300. required:
  4301. - key
  4302. type: object
  4303. x-kubernetes-map-type: atomic
  4304. secret:
  4305. description: Secret containing data to use
  4306. for the targets.
  4307. properties:
  4308. key:
  4309. description: The key of the secret to
  4310. select from. Must be a valid secret
  4311. key.
  4312. type: string
  4313. name:
  4314. description: 'Name of the referent. More
  4315. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4316. TODO: Add other useful fields. apiVersion,
  4317. kind, uid?'
  4318. type: string
  4319. optional:
  4320. description: Specify whether the Secret
  4321. or its key must be defined
  4322. type: boolean
  4323. required:
  4324. - key
  4325. type: object
  4326. x-kubernetes-map-type: atomic
  4327. type: object
  4328. insecureSkipVerify:
  4329. description: Disable target certificate validation.
  4330. type: boolean
  4331. keySecret:
  4332. description: Secret containing the client key
  4333. file for the targets.
  4334. properties:
  4335. key:
  4336. description: The key of the secret to select
  4337. from. Must be a valid secret key.
  4338. type: string
  4339. name:
  4340. description: 'Name of the referent. More info:
  4341. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4342. TODO: Add other useful fields. apiVersion,
  4343. kind, uid?'
  4344. type: string
  4345. optional:
  4346. description: Specify whether the Secret or
  4347. its key must be defined
  4348. type: boolean
  4349. required:
  4350. - key
  4351. type: object
  4352. x-kubernetes-map-type: atomic
  4353. serverName:
  4354. description: Used to verify the hostname for the
  4355. targets.
  4356. type: string
  4357. type: object
  4358. type: object
  4359. message:
  4360. description: API request data as defined by the WeChat
  4361. API.
  4362. type: string
  4363. messageType:
  4364. type: string
  4365. sendResolved:
  4366. description: Whether or not to notify about resolved alerts.
  4367. type: boolean
  4368. toParty:
  4369. type: string
  4370. toTag:
  4371. type: string
  4372. toUser:
  4373. type: string
  4374. type: object
  4375. type: array
  4376. required:
  4377. - name
  4378. type: object
  4379. type: array
  4380. route:
  4381. description: The Alertmanager route definition for alerts matching
  4382. the resource’s namespace. If present, it will be added to the generated
  4383. Alertmanager configuration as a first-level route.
  4384. properties:
  4385. continue:
  4386. description: Boolean indicating whether an alert should continue
  4387. matching subsequent sibling nodes. It will always be overridden
  4388. to true for the first-level route by the Prometheus operator.
  4389. type: boolean
  4390. groupBy:
  4391. description: List of labels to group by. Labels must not be repeated
  4392. (unique list). Special label "..." (aggregate by all possible
  4393. labels), if provided, must be the only element in the list.
  4394. items:
  4395. type: string
  4396. type: array
  4397. groupInterval:
  4398. description: 'How long to wait before sending an updated notification.
  4399. Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
  4400. Example: "5m"'
  4401. type: string
  4402. groupWait:
  4403. description: 'How long to wait before sending the initial notification.
  4404. Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
  4405. Example: "30s"'
  4406. type: string
  4407. matchers:
  4408. description: 'List of matchers that the alert’s labels should
  4409. match. For the first level route, the operator removes any existing
  4410. equality and regexp matcher on the `namespace` label and adds
  4411. a `namespace: <object namespace>` matcher.'
  4412. items:
  4413. description: Matcher defines how to match on alert's labels.
  4414. properties:
  4415. matchType:
  4416. description: Match operation available with AlertManager
  4417. >= v0.22.0 and takes precedence over Regex (deprecated)
  4418. if non-empty.
  4419. enum:
  4420. - '!='
  4421. - =
  4422. - =~
  4423. - '!~'
  4424. type: string
  4425. name:
  4426. description: Label to match.
  4427. minLength: 1
  4428. type: string
  4429. regex:
  4430. description: Whether to match on equality (false) or regular-expression
  4431. (true). Deprecated as of AlertManager >= v0.22.0 where
  4432. a user should use MatchType instead.
  4433. type: boolean
  4434. value:
  4435. description: Label value to match.
  4436. type: string
  4437. required:
  4438. - name
  4439. type: object
  4440. type: array
  4441. muteTimeIntervals:
  4442. description: 'Note: this comment applies to the field definition
  4443. above but appears below otherwise it gets included in the generated
  4444. manifest. CRD schema doesn''t support self-referential types
  4445. for now (see https://github.com/kubernetes/kubernetes/issues/62872).
  4446. We have to use an alternative type to circumvent the limitation.
  4447. The downside is that the Kube API can''t validate the data beyond
  4448. the fact that it is a valid JSON representation. MuteTimeIntervals
  4449. is a list of MuteTimeInterval names that will mute this route
  4450. when matched,'
  4451. items:
  4452. type: string
  4453. type: array
  4454. receiver:
  4455. description: Name of the receiver for this route. If not empty,
  4456. it should be listed in the `receivers` field.
  4457. type: string
  4458. repeatInterval:
  4459. description: 'How long to wait before repeating the last notification.
  4460. Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
  4461. Example: "4h"'
  4462. type: string
  4463. routes:
  4464. description: Child routes.
  4465. items:
  4466. x-kubernetes-preserve-unknown-fields: true
  4467. type: array
  4468. type: object
  4469. type: object
  4470. required:
  4471. - spec
  4472. type: object
  4473. served: true
  4474. storage: true
  4475. ---
  4476. ---
  4477. apiVersion: apiextensions.k8s.io/v1
  4478. kind: CustomResourceDefinition
  4479. metadata:
  4480. annotations:
  4481. controller-gen.kubebuilder.io/version: v0.9.2
  4482. creationTimestamp: null
  4483. name: alertmanagers.monitoring.coreos.com
  4484. spec:
  4485. group: monitoring.coreos.com
  4486. names:
  4487. categories:
  4488. - prometheus-operator
  4489. kind: Alertmanager
  4490. listKind: AlertmanagerList
  4491. plural: alertmanagers
  4492. shortNames:
  4493. - am
  4494. singular: alertmanager
  4495. scope: Namespaced
  4496. versions:
  4497. - additionalPrinterColumns:
  4498. - description: The version of Alertmanager
  4499. jsonPath: .spec.version
  4500. name: Version
  4501. type: string
  4502. - description: The desired replicas number of Alertmanagers
  4503. jsonPath: .spec.replicas
  4504. name: Replicas
  4505. type: integer
  4506. - jsonPath: .metadata.creationTimestamp
  4507. name: Age
  4508. type: date
  4509. name: v1
  4510. schema:
  4511. openAPIV3Schema:
  4512. description: Alertmanager describes an Alertmanager cluster.
  4513. properties:
  4514. apiVersion:
  4515. description: 'APIVersion defines the versioned schema of this representation
  4516. of an object. Servers should convert recognized schemas to the latest
  4517. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4518. type: string
  4519. kind:
  4520. description: 'Kind is a string value representing the REST resource this
  4521. object represents. Servers may infer this from the endpoint the client
  4522. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4523. type: string
  4524. metadata:
  4525. type: object
  4526. spec:
  4527. description: 'Specification of the desired behavior of the Alertmanager
  4528. cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  4529. properties:
  4530. additionalPeers:
  4531. description: AdditionalPeers allows injecting a set of additional
  4532. Alertmanagers to peer with to form a highly available cluster.
  4533. items:
  4534. type: string
  4535. type: array
  4536. affinity:
  4537. description: If specified, the pod's scheduling constraints.
  4538. properties:
  4539. nodeAffinity:
  4540. description: Describes node affinity scheduling rules for the
  4541. pod.
  4542. properties:
  4543. preferredDuringSchedulingIgnoredDuringExecution:
  4544. description: The scheduler will prefer to schedule pods to
  4545. nodes that satisfy the affinity expressions specified by
  4546. this field, but it may choose a node that violates one or
  4547. more of the expressions. The node that is most preferred
  4548. is the one with the greatest sum of weights, i.e. for each
  4549. node that meets all of the scheduling requirements (resource
  4550. request, requiredDuringScheduling affinity expressions,
  4551. etc.), compute a sum by iterating through the elements of
  4552. this field and adding "weight" to the sum if the node matches
  4553. the corresponding matchExpressions; the node(s) with the
  4554. highest sum are the most preferred.
  4555. items:
  4556. description: An empty preferred scheduling term matches
  4557. all objects with implicit weight 0 (i.e. it's a no-op).
  4558. A null preferred scheduling term matches no objects (i.e.
  4559. is also a no-op).
  4560. properties:
  4561. preference:
  4562. description: A node selector term, associated with the
  4563. corresponding weight.
  4564. properties:
  4565. matchExpressions:
  4566. description: A list of node selector requirements
  4567. by node's labels.
  4568. items:
  4569. description: A node selector requirement is a
  4570. selector that contains values, a key, and an
  4571. operator that relates the key and values.
  4572. properties:
  4573. key:
  4574. description: The label key that the selector
  4575. applies to.
  4576. type: string
  4577. operator:
  4578. description: Represents a key's relationship
  4579. to a set of values. Valid operators are
  4580. In, NotIn, Exists, DoesNotExist. Gt, and
  4581. Lt.
  4582. type: string
  4583. values:
  4584. description: An array of string values. If
  4585. the operator is In or NotIn, the values
  4586. array must be non-empty. If the operator
  4587. is Exists or DoesNotExist, the values array
  4588. must be empty. If the operator is Gt or
  4589. Lt, the values array must have a single
  4590. element, which will be interpreted as an
  4591. integer. This array is replaced during a
  4592. strategic merge patch.
  4593. items:
  4594. type: string
  4595. type: array
  4596. required:
  4597. - key
  4598. - operator
  4599. type: object
  4600. type: array
  4601. matchFields:
  4602. description: A list of node selector requirements
  4603. by node's fields.
  4604. items:
  4605. description: A node selector requirement is a
  4606. selector that contains values, a key, and an
  4607. operator that relates the key and values.
  4608. properties:
  4609. key:
  4610. description: The label key that the selector
  4611. applies to.
  4612. type: string
  4613. operator:
  4614. description: Represents a key's relationship
  4615. to a set of values. Valid operators are
  4616. In, NotIn, Exists, DoesNotExist. Gt, and
  4617. Lt.
  4618. type: string
  4619. values:
  4620. description: An array of string values. If
  4621. the operator is In or NotIn, the values
  4622. array must be non-empty. If the operator
  4623. is Exists or DoesNotExist, the values array
  4624. must be empty. If the operator is Gt or
  4625. Lt, the values array must have a single
  4626. element, which will be interpreted as an
  4627. integer. This array is replaced during a
  4628. strategic merge patch.
  4629. items:
  4630. type: string
  4631. type: array
  4632. required:
  4633. - key
  4634. - operator
  4635. type: object
  4636. type: array
  4637. type: object
  4638. x-kubernetes-map-type: atomic
  4639. weight:
  4640. description: Weight associated with matching the corresponding
  4641. nodeSelectorTerm, in the range 1-100.
  4642. format: int32
  4643. type: integer
  4644. required:
  4645. - preference
  4646. - weight
  4647. type: object
  4648. type: array
  4649. requiredDuringSchedulingIgnoredDuringExecution:
  4650. description: If the affinity requirements specified by this
  4651. field are not met at scheduling time, the pod will not be
  4652. scheduled onto the node. If the affinity requirements specified
  4653. by this field cease to be met at some point during pod execution
  4654. (e.g. due to an update), the system may or may not try to
  4655. eventually evict the pod from its node.
  4656. properties:
  4657. nodeSelectorTerms:
  4658. description: Required. A list of node selector terms.
  4659. The terms are ORed.
  4660. items:
  4661. description: A null or empty node selector term matches
  4662. no objects. The requirements of them are ANDed. The
  4663. TopologySelectorTerm type implements a subset of the
  4664. NodeSelectorTerm.
  4665. properties:
  4666. matchExpressions:
  4667. description: A list of node selector requirements
  4668. by node's labels.
  4669. items:
  4670. description: A node selector requirement is a
  4671. selector that contains values, a key, and an
  4672. operator that relates the key and values.
  4673. properties:
  4674. key:
  4675. description: The label key that the selector
  4676. applies to.
  4677. type: string
  4678. operator:
  4679. description: Represents a key's relationship
  4680. to a set of values. Valid operators are
  4681. In, NotIn, Exists, DoesNotExist. Gt, and
  4682. Lt.
  4683. type: string
  4684. values:
  4685. description: An array of string values. If
  4686. the operator is In or NotIn, the values
  4687. array must be non-empty. If the operator
  4688. is Exists or DoesNotExist, the values array
  4689. must be empty. If the operator is Gt or
  4690. Lt, the values array must have a single
  4691. element, which will be interpreted as an
  4692. integer. This array is replaced during a
  4693. strategic merge patch.
  4694. items:
  4695. type: string
  4696. type: array
  4697. required:
  4698. - key
  4699. - operator
  4700. type: object
  4701. type: array
  4702. matchFields:
  4703. description: A list of node selector requirements
  4704. by node's fields.
  4705. items:
  4706. description: A node selector requirement is a
  4707. selector that contains values, a key, and an
  4708. operator that relates the key and values.
  4709. properties:
  4710. key:
  4711. description: The label key that the selector
  4712. applies to.
  4713. type: string
  4714. operator:
  4715. description: Represents a key's relationship
  4716. to a set of values. Valid operators are
  4717. In, NotIn, Exists, DoesNotExist. Gt, and
  4718. Lt.
  4719. type: string
  4720. values:
  4721. description: An array of string values. If
  4722. the operator is In or NotIn, the values
  4723. array must be non-empty. If the operator
  4724. is Exists or DoesNotExist, the values array
  4725. must be empty. If the operator is Gt or
  4726. Lt, the values array must have a single
  4727. element, which will be interpreted as an
  4728. integer. This array is replaced during a
  4729. strategic merge patch.
  4730. items:
  4731. type: string
  4732. type: array
  4733. required:
  4734. - key
  4735. - operator
  4736. type: object
  4737. type: array
  4738. type: object
  4739. x-kubernetes-map-type: atomic
  4740. type: array
  4741. required:
  4742. - nodeSelectorTerms
  4743. type: object
  4744. x-kubernetes-map-type: atomic
  4745. type: object
  4746. podAffinity:
  4747. description: Describes pod affinity scheduling rules (e.g. co-locate
  4748. this pod in the same node, zone, etc. as some other pod(s)).
  4749. properties:
  4750. preferredDuringSchedulingIgnoredDuringExecution:
  4751. description: The scheduler will prefer to schedule pods to
  4752. nodes that satisfy the affinity expressions specified by
  4753. this field, but it may choose a node that violates one or
  4754. more of the expressions. The node that is most preferred
  4755. is the one with the greatest sum of weights, i.e. for each
  4756. node that meets all of the scheduling requirements (resource
  4757. request, requiredDuringScheduling affinity expressions,
  4758. etc.), compute a sum by iterating through the elements of
  4759. this field and adding "weight" to the sum if the node has
  4760. pods which matches the corresponding podAffinityTerm; the
  4761. node(s) with the highest sum are the most preferred.
  4762. items:
  4763. description: The weights of all of the matched WeightedPodAffinityTerm
  4764. fields are added per-node to find the most preferred node(s)
  4765. properties:
  4766. podAffinityTerm:
  4767. description: Required. A pod affinity term, associated
  4768. with the corresponding weight.
  4769. properties:
  4770. labelSelector:
  4771. description: A label query over a set of resources,
  4772. in this case pods.
  4773. properties:
  4774. matchExpressions:
  4775. description: matchExpressions is a list of label
  4776. selector requirements. The requirements are
  4777. ANDed.
  4778. items:
  4779. description: A label selector requirement
  4780. is a selector that contains values, a key,
  4781. and an operator that relates the key and
  4782. values.
  4783. properties:
  4784. key:
  4785. description: key is the label key that
  4786. the selector applies to.
  4787. type: string
  4788. operator:
  4789. description: operator represents a key's
  4790. relationship to a set of values. Valid
  4791. operators are In, NotIn, Exists and
  4792. DoesNotExist.
  4793. type: string
  4794. values:
  4795. description: values is an array of string
  4796. values. If the operator is In or NotIn,
  4797. the values array must be non-empty.
  4798. If the operator is Exists or DoesNotExist,
  4799. the values array must be empty. This
  4800. array is replaced during a strategic
  4801. merge patch.
  4802. items:
  4803. type: string
  4804. type: array
  4805. required:
  4806. - key
  4807. - operator
  4808. type: object
  4809. type: array
  4810. matchLabels:
  4811. additionalProperties:
  4812. type: string
  4813. description: matchLabels is a map of {key,value}
  4814. pairs. A single {key,value} in the matchLabels
  4815. map is equivalent to an element of matchExpressions,
  4816. whose key field is "key", the operator is
  4817. "In", and the values array contains only "value".
  4818. The requirements are ANDed.
  4819. type: object
  4820. type: object
  4821. x-kubernetes-map-type: atomic
  4822. namespaceSelector:
  4823. description: A label query over the set of namespaces
  4824. that the term applies to. The term is applied
  4825. to the union of the namespaces selected by this
  4826. field and the ones listed in the namespaces field.
  4827. null selector and null or empty namespaces list
  4828. means "this pod's namespace". An empty selector
  4829. ({}) matches all namespaces.
  4830. properties:
  4831. matchExpressions:
  4832. description: matchExpressions is a list of label
  4833. selector requirements. The requirements are
  4834. ANDed.
  4835. items:
  4836. description: A label selector requirement
  4837. is a selector that contains values, a key,
  4838. and an operator that relates the key and
  4839. values.
  4840. properties:
  4841. key:
  4842. description: key is the label key that
  4843. the selector applies to.
  4844. type: string
  4845. operator:
  4846. description: operator represents a key's
  4847. relationship to a set of values. Valid
  4848. operators are In, NotIn, Exists and
  4849. DoesNotExist.
  4850. type: string
  4851. values:
  4852. description: values is an array of string
  4853. values. If the operator is In or NotIn,
  4854. the values array must be non-empty.
  4855. If the operator is Exists or DoesNotExist,
  4856. the values array must be empty. This
  4857. array is replaced during a strategic
  4858. merge patch.
  4859. items:
  4860. type: string
  4861. type: array
  4862. required:
  4863. - key
  4864. - operator
  4865. type: object
  4866. type: array
  4867. matchLabels:
  4868. additionalProperties:
  4869. type: string
  4870. description: matchLabels is a map of {key,value}
  4871. pairs. A single {key,value} in the matchLabels
  4872. map is equivalent to an element of matchExpressions,
  4873. whose key field is "key", the operator is
  4874. "In", and the values array contains only "value".
  4875. The requirements are ANDed.
  4876. type: object
  4877. type: object
  4878. x-kubernetes-map-type: atomic
  4879. namespaces:
  4880. description: namespaces specifies a static list
  4881. of namespace names that the term applies to. The
  4882. term is applied to the union of the namespaces
  4883. listed in this field and the ones selected by
  4884. namespaceSelector. null or empty namespaces list
  4885. and null namespaceSelector means "this pod's namespace".
  4886. items:
  4887. type: string
  4888. type: array
  4889. topologyKey:
  4890. description: This pod should be co-located (affinity)
  4891. or not co-located (anti-affinity) with the pods
  4892. matching the labelSelector in the specified namespaces,
  4893. where co-located is defined as running on a node
  4894. whose value of the label with key topologyKey
  4895. matches that of any node on which any of the selected
  4896. pods is running. Empty topologyKey is not allowed.
  4897. type: string
  4898. required:
  4899. - topologyKey
  4900. type: object
  4901. weight:
  4902. description: weight associated with matching the corresponding
  4903. podAffinityTerm, in the range 1-100.
  4904. format: int32
  4905. type: integer
  4906. required:
  4907. - podAffinityTerm
  4908. - weight
  4909. type: object
  4910. type: array
  4911. requiredDuringSchedulingIgnoredDuringExecution:
  4912. description: If the affinity requirements specified by this
  4913. field are not met at scheduling time, the pod will not be
  4914. scheduled onto the node. If the affinity requirements specified
  4915. by this field cease to be met at some point during pod execution
  4916. (e.g. due to a pod label update), the system may or may
  4917. not try to eventually evict the pod from its node. When
  4918. there are multiple elements, the lists of nodes corresponding
  4919. to each podAffinityTerm are intersected, i.e. all terms
  4920. must be satisfied.
  4921. items:
  4922. description: Defines a set of pods (namely those matching
  4923. the labelSelector relative to the given namespace(s))
  4924. that this pod should be co-located (affinity) or not co-located
  4925. (anti-affinity) with, where co-located is defined as running
  4926. on a node whose value of the label with key <topologyKey>
  4927. matches that of any node on which a pod of the set of
  4928. pods is running
  4929. properties:
  4930. labelSelector:
  4931. description: A label query over a set of resources,
  4932. in this case pods.
  4933. properties:
  4934. matchExpressions:
  4935. description: matchExpressions is a list of label
  4936. selector requirements. The requirements are ANDed.
  4937. items:
  4938. description: A label selector requirement is a
  4939. selector that contains values, a key, and an
  4940. operator that relates the key and values.
  4941. properties:
  4942. key:
  4943. description: key is the label key that the
  4944. selector applies to.
  4945. type: string
  4946. operator:
  4947. description: operator represents a key's relationship
  4948. to a set of values. Valid operators are
  4949. In, NotIn, Exists and DoesNotExist.
  4950. type: string
  4951. values:
  4952. description: values is an array of string
  4953. values. If the operator is In or NotIn,
  4954. the values array must be non-empty. If the
  4955. operator is Exists or DoesNotExist, the
  4956. values array must be empty. This array is
  4957. replaced during a strategic merge patch.
  4958. items:
  4959. type: string
  4960. type: array
  4961. required:
  4962. - key
  4963. - operator
  4964. type: object
  4965. type: array
  4966. matchLabels:
  4967. additionalProperties:
  4968. type: string
  4969. description: matchLabels is a map of {key,value}
  4970. pairs. A single {key,value} in the matchLabels
  4971. map is equivalent to an element of matchExpressions,
  4972. whose key field is "key", the operator is "In",
  4973. and the values array contains only "value". The
  4974. requirements are ANDed.
  4975. type: object
  4976. type: object
  4977. x-kubernetes-map-type: atomic
  4978. namespaceSelector:
  4979. description: A label query over the set of namespaces
  4980. that the term applies to. The term is applied to the
  4981. union of the namespaces selected by this field and
  4982. the ones listed in the namespaces field. null selector
  4983. and null or empty namespaces list means "this pod's
  4984. namespace". An empty selector ({}) matches all namespaces.
  4985. properties:
  4986. matchExpressions:
  4987. description: matchExpressions is a list of label
  4988. selector requirements. The requirements are ANDed.
  4989. items:
  4990. description: A label selector requirement is a
  4991. selector that contains values, a key, and an
  4992. operator that relates the key and values.
  4993. properties:
  4994. key:
  4995. description: key is the label key that the
  4996. selector applies to.
  4997. type: string
  4998. operator:
  4999. description: operator represents a key's relationship
  5000. to a set of values. Valid operators are
  5001. In, NotIn, Exists and DoesNotExist.
  5002. type: string
  5003. values:
  5004. description: values is an array of string
  5005. values. If the operator is In or NotIn,
  5006. the values array must be non-empty. If the
  5007. operator is Exists or DoesNotExist, the
  5008. values array must be empty. This array is
  5009. replaced during a strategic merge patch.
  5010. items:
  5011. type: string
  5012. type: array
  5013. required:
  5014. - key
  5015. - operator
  5016. type: object
  5017. type: array
  5018. matchLabels:
  5019. additionalProperties:
  5020. type: string
  5021. description: matchLabels is a map of {key,value}
  5022. pairs. A single {key,value} in the matchLabels
  5023. map is equivalent to an element of matchExpressions,
  5024. whose key field is "key", the operator is "In",
  5025. and the values array contains only "value". The
  5026. requirements are ANDed.
  5027. type: object
  5028. type: object
  5029. x-kubernetes-map-type: atomic
  5030. namespaces:
  5031. description: namespaces specifies a static list of namespace
  5032. names that the term applies to. The term is applied
  5033. to the union of the namespaces listed in this field
  5034. and the ones selected by namespaceSelector. null or
  5035. empty namespaces list and null namespaceSelector means
  5036. "this pod's namespace".
  5037. items:
  5038. type: string
  5039. type: array
  5040. topologyKey:
  5041. description: This pod should be co-located (affinity)
  5042. or not co-located (anti-affinity) with the pods matching
  5043. the labelSelector in the specified namespaces, where
  5044. co-located is defined as running on a node whose value
  5045. of the label with key topologyKey matches that of
  5046. any node on which any of the selected pods is running.
  5047. Empty topologyKey is not allowed.
  5048. type: string
  5049. required:
  5050. - topologyKey
  5051. type: object
  5052. type: array
  5053. type: object
  5054. podAntiAffinity:
  5055. description: Describes pod anti-affinity scheduling rules (e.g.
  5056. avoid putting this pod in the same node, zone, etc. as some
  5057. other pod(s)).
  5058. properties:
  5059. preferredDuringSchedulingIgnoredDuringExecution:
  5060. description: The scheduler will prefer to schedule pods to
  5061. nodes that satisfy the anti-affinity expressions specified
  5062. by this field, but it may choose a node that violates one
  5063. or more of the expressions. The node that is most preferred
  5064. is the one with the greatest sum of weights, i.e. for each
  5065. node that meets all of the scheduling requirements (resource
  5066. request, requiredDuringScheduling anti-affinity expressions,
  5067. etc.), compute a sum by iterating through the elements of
  5068. this field and adding "weight" to the sum if the node has
  5069. pods which matches the corresponding podAffinityTerm; the
  5070. node(s) with the highest sum are the most preferred.
  5071. items:
  5072. description: The weights of all of the matched WeightedPodAffinityTerm
  5073. fields are added per-node to find the most preferred node(s)
  5074. properties:
  5075. podAffinityTerm:
  5076. description: Required. A pod affinity term, associated
  5077. with the corresponding weight.
  5078. properties:
  5079. labelSelector:
  5080. description: A label query over a set of resources,
  5081. in this case pods.
  5082. properties:
  5083. matchExpressions:
  5084. description: matchExpressions is a list of label
  5085. selector requirements. The requirements are
  5086. ANDed.
  5087. items:
  5088. description: A label selector requirement
  5089. is a selector that contains values, a key,
  5090. and an operator that relates the key and
  5091. values.
  5092. properties:
  5093. key:
  5094. description: key is the label key that
  5095. the selector applies to.
  5096. type: string
  5097. operator:
  5098. description: operator represents a key's
  5099. relationship to a set of values. Valid
  5100. operators are In, NotIn, Exists and
  5101. DoesNotExist.
  5102. type: string
  5103. values:
  5104. description: values is an array of string
  5105. values. If the operator is In or NotIn,
  5106. the values array must be non-empty.
  5107. If the operator is Exists or DoesNotExist,
  5108. the values array must be empty. This
  5109. array is replaced during a strategic
  5110. merge patch.
  5111. items:
  5112. type: string
  5113. type: array
  5114. required:
  5115. - key
  5116. - operator
  5117. type: object
  5118. type: array
  5119. matchLabels:
  5120. additionalProperties:
  5121. type: string
  5122. description: matchLabels is a map of {key,value}
  5123. pairs. A single {key,value} in the matchLabels
  5124. map is equivalent to an element of matchExpressions,
  5125. whose key field is "key", the operator is
  5126. "In", and the values array contains only "value".
  5127. The requirements are ANDed.
  5128. type: object
  5129. type: object
  5130. x-kubernetes-map-type: atomic
  5131. namespaceSelector:
  5132. description: A label query over the set of namespaces
  5133. that the term applies to. The term is applied
  5134. to the union of the namespaces selected by this
  5135. field and the ones listed in the namespaces field.
  5136. null selector and null or empty namespaces list
  5137. means "this pod's namespace". An empty selector
  5138. ({}) matches all namespaces.
  5139. properties:
  5140. matchExpressions:
  5141. description: matchExpressions is a list of label
  5142. selector requirements. The requirements are
  5143. ANDed.
  5144. items:
  5145. description: A label selector requirement
  5146. is a selector that contains values, a key,
  5147. and an operator that relates the key and
  5148. values.
  5149. properties:
  5150. key:
  5151. description: key is the label key that
  5152. the selector applies to.
  5153. type: string
  5154. operator:
  5155. description: operator represents a key's
  5156. relationship to a set of values. Valid
  5157. operators are In, NotIn, Exists and
  5158. DoesNotExist.
  5159. type: string
  5160. values:
  5161. description: values is an array of string
  5162. values. If the operator is In or NotIn,
  5163. the values array must be non-empty.
  5164. If the operator is Exists or DoesNotExist,
  5165. the values array must be empty. This
  5166. array is replaced during a strategic
  5167. merge patch.
  5168. items:
  5169. type: string
  5170. type: array
  5171. required:
  5172. - key
  5173. - operator
  5174. type: object
  5175. type: array
  5176. matchLabels:
  5177. additionalProperties:
  5178. type: string
  5179. description: matchLabels is a map of {key,value}
  5180. pairs. A single {key,value} in the matchLabels
  5181. map is equivalent to an element of matchExpressions,
  5182. whose key field is "key", the operator is
  5183. "In", and the values array contains only "value".
  5184. The requirements are ANDed.
  5185. type: object
  5186. type: object
  5187. x-kubernetes-map-type: atomic
  5188. namespaces:
  5189. description: namespaces specifies a static list
  5190. of namespace names that the term applies to. The
  5191. term is applied to the union of the namespaces
  5192. listed in this field and the ones selected by
  5193. namespaceSelector. null or empty namespaces list
  5194. and null namespaceSelector means "this pod's namespace".
  5195. items:
  5196. type: string
  5197. type: array
  5198. topologyKey:
  5199. description: This pod should be co-located (affinity)
  5200. or not co-located (anti-affinity) with the pods
  5201. matching the labelSelector in the specified namespaces,
  5202. where co-located is defined as running on a node
  5203. whose value of the label with key topologyKey
  5204. matches that of any node on which any of the selected
  5205. pods is running. Empty topologyKey is not allowed.
  5206. type: string
  5207. required:
  5208. - topologyKey
  5209. type: object
  5210. weight:
  5211. description: weight associated with matching the corresponding
  5212. podAffinityTerm, in the range 1-100.
  5213. format: int32
  5214. type: integer
  5215. required:
  5216. - podAffinityTerm
  5217. - weight
  5218. type: object
  5219. type: array
  5220. requiredDuringSchedulingIgnoredDuringExecution:
  5221. description: If the anti-affinity requirements specified by
  5222. this field are not met at scheduling time, the pod will
  5223. not be scheduled onto the node. If the anti-affinity requirements
  5224. specified by this field cease to be met at some point during
  5225. pod execution (e.g. due to a pod label update), the system
  5226. may or may not try to eventually evict the pod from its
  5227. node. When there are multiple elements, the lists of nodes
  5228. corresponding to each podAffinityTerm are intersected, i.e.
  5229. all terms must be satisfied.
  5230. items:
  5231. description: Defines a set of pods (namely those matching
  5232. the labelSelector relative to the given namespace(s))
  5233. that this pod should be co-located (affinity) or not co-located
  5234. (anti-affinity) with, where co-located is defined as running
  5235. on a node whose value of the label with key <topologyKey>
  5236. matches that of any node on which a pod of the set of
  5237. pods is running
  5238. properties:
  5239. labelSelector:
  5240. description: A label query over a set of resources,
  5241. in this case pods.
  5242. properties:
  5243. matchExpressions:
  5244. description: matchExpressions is a list of label
  5245. selector requirements. The requirements are ANDed.
  5246. items:
  5247. description: A label selector requirement is a
  5248. selector that contains values, a key, and an
  5249. operator that relates the key and values.
  5250. properties:
  5251. key:
  5252. description: key is the label key that the
  5253. selector applies to.
  5254. type: string
  5255. operator:
  5256. description: operator represents a key's relationship
  5257. to a set of values. Valid operators are
  5258. In, NotIn, Exists and DoesNotExist.
  5259. type: string
  5260. values:
  5261. description: values is an array of string
  5262. values. If the operator is In or NotIn,
  5263. the values array must be non-empty. If the
  5264. operator is Exists or DoesNotExist, the
  5265. values array must be empty. This array is
  5266. replaced during a strategic merge patch.
  5267. items:
  5268. type: string
  5269. type: array
  5270. required:
  5271. - key
  5272. - operator
  5273. type: object
  5274. type: array
  5275. matchLabels:
  5276. additionalProperties:
  5277. type: string
  5278. description: matchLabels is a map of {key,value}
  5279. pairs. A single {key,value} in the matchLabels
  5280. map is equivalent to an element of matchExpressions,
  5281. whose key field is "key", the operator is "In",
  5282. and the values array contains only "value". The
  5283. requirements are ANDed.
  5284. type: object
  5285. type: object
  5286. x-kubernetes-map-type: atomic
  5287. namespaceSelector:
  5288. description: A label query over the set of namespaces
  5289. that the term applies to. The term is applied to the
  5290. union of the namespaces selected by this field and
  5291. the ones listed in the namespaces field. null selector
  5292. and null or empty namespaces list means "this pod's
  5293. namespace". An empty selector ({}) matches all namespaces.
  5294. properties:
  5295. matchExpressions:
  5296. description: matchExpressions is a list of label
  5297. selector requirements. The requirements are ANDed.
  5298. items:
  5299. description: A label selector requirement is a
  5300. selector that contains values, a key, and an
  5301. operator that relates the key and values.
  5302. properties:
  5303. key:
  5304. description: key is the label key that the
  5305. selector applies to.
  5306. type: string
  5307. operator:
  5308. description: operator represents a key's relationship
  5309. to a set of values. Valid operators are
  5310. In, NotIn, Exists and DoesNotExist.
  5311. type: string
  5312. values:
  5313. description: values is an array of string
  5314. values. If the operator is In or NotIn,
  5315. the values array must be non-empty. If the
  5316. operator is Exists or DoesNotExist, the
  5317. values array must be empty. This array is
  5318. replaced during a strategic merge patch.
  5319. items:
  5320. type: string
  5321. type: array
  5322. required:
  5323. - key
  5324. - operator
  5325. type: object
  5326. type: array
  5327. matchLabels:
  5328. additionalProperties:
  5329. type: string
  5330. description: matchLabels is a map of {key,value}
  5331. pairs. A single {key,value} in the matchLabels
  5332. map is equivalent to an element of matchExpressions,
  5333. whose key field is "key", the operator is "In",
  5334. and the values array contains only "value". The
  5335. requirements are ANDed.
  5336. type: object
  5337. type: object
  5338. x-kubernetes-map-type: atomic
  5339. namespaces:
  5340. description: namespaces specifies a static list of namespace
  5341. names that the term applies to. The term is applied
  5342. to the union of the namespaces listed in this field
  5343. and the ones selected by namespaceSelector. null or
  5344. empty namespaces list and null namespaceSelector means
  5345. "this pod's namespace".
  5346. items:
  5347. type: string
  5348. type: array
  5349. topologyKey:
  5350. description: This pod should be co-located (affinity)
  5351. or not co-located (anti-affinity) with the pods matching
  5352. the labelSelector in the specified namespaces, where
  5353. co-located is defined as running on a node whose value
  5354. of the label with key topologyKey matches that of
  5355. any node on which any of the selected pods is running.
  5356. Empty topologyKey is not allowed.
  5357. type: string
  5358. required:
  5359. - topologyKey
  5360. type: object
  5361. type: array
  5362. type: object
  5363. type: object
  5364. alertmanagerConfigNamespaceSelector:
  5365. description: Namespaces to be selected for AlertmanagerConfig discovery.
  5366. If nil, only check own namespace.
  5367. properties:
  5368. matchExpressions:
  5369. description: matchExpressions is a list of label selector requirements.
  5370. The requirements are ANDed.
  5371. items:
  5372. description: A label selector requirement is a selector that
  5373. contains values, a key, and an operator that relates the key
  5374. and values.
  5375. properties:
  5376. key:
  5377. description: key is the label key that the selector applies
  5378. to.
  5379. type: string
  5380. operator:
  5381. description: operator represents a key's relationship to
  5382. a set of values. Valid operators are In, NotIn, Exists
  5383. and DoesNotExist.
  5384. type: string
  5385. values:
  5386. description: values is an array of string values. If the
  5387. operator is In or NotIn, the values array must be non-empty.
  5388. If the operator is Exists or DoesNotExist, the values
  5389. array must be empty. This array is replaced during a strategic
  5390. merge patch.
  5391. items:
  5392. type: string
  5393. type: array
  5394. required:
  5395. - key
  5396. - operator
  5397. type: object
  5398. type: array
  5399. matchLabels:
  5400. additionalProperties:
  5401. type: string
  5402. description: matchLabels is a map of {key,value} pairs. A single
  5403. {key,value} in the matchLabels map is equivalent to an element
  5404. of matchExpressions, whose key field is "key", the operator
  5405. is "In", and the values array contains only "value". The requirements
  5406. are ANDed.
  5407. type: object
  5408. type: object
  5409. x-kubernetes-map-type: atomic
  5410. alertmanagerConfigSelector:
  5411. description: AlertmanagerConfigs to be selected for to merge and configure
  5412. Alertmanager with.
  5413. properties:
  5414. matchExpressions:
  5415. description: matchExpressions is a list of label selector requirements.
  5416. The requirements are ANDed.
  5417. items:
  5418. description: A label selector requirement is a selector that
  5419. contains values, a key, and an operator that relates the key
  5420. and values.
  5421. properties:
  5422. key:
  5423. description: key is the label key that the selector applies
  5424. to.
  5425. type: string
  5426. operator:
  5427. description: operator represents a key's relationship to
  5428. a set of values. Valid operators are In, NotIn, Exists
  5429. and DoesNotExist.
  5430. type: string
  5431. values:
  5432. description: values is an array of string values. If the
  5433. operator is In or NotIn, the values array must be non-empty.
  5434. If the operator is Exists or DoesNotExist, the values
  5435. array must be empty. This array is replaced during a strategic
  5436. merge patch.
  5437. items:
  5438. type: string
  5439. type: array
  5440. required:
  5441. - key
  5442. - operator
  5443. type: object
  5444. type: array
  5445. matchLabels:
  5446. additionalProperties:
  5447. type: string
  5448. description: matchLabels is a map of {key,value} pairs. A single
  5449. {key,value} in the matchLabels map is equivalent to an element
  5450. of matchExpressions, whose key field is "key", the operator
  5451. is "In", and the values array contains only "value". The requirements
  5452. are ANDed.
  5453. type: object
  5454. type: object
  5455. x-kubernetes-map-type: atomic
  5456. alertmanagerConfiguration:
  5457. description: 'EXPERIMENTAL: alertmanagerConfiguration specifies the
  5458. configuration of Alertmanager. If defined, it takes precedence over
  5459. the `configSecret` field. This field may change in future releases.'
  5460. properties:
  5461. global:
  5462. description: Defines the global parameters of the Alertmanager
  5463. configuration.
  5464. properties:
  5465. httpConfig:
  5466. description: HTTP client configuration.
  5467. properties:
  5468. authorization:
  5469. description: Authorization header configuration for the
  5470. client. This is mutually exclusive with BasicAuth and
  5471. is only available starting from Alertmanager v0.22+.
  5472. properties:
  5473. credentials:
  5474. description: The secret's key that contains the credentials
  5475. of the request
  5476. properties:
  5477. key:
  5478. description: The key of the secret to select from. Must
  5479. be a valid secret key.
  5480. type: string
  5481. name:
  5482. description: 'Name of the referent. More info:
  5483. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5484. TODO: Add other useful fields. apiVersion, kind,
  5485. uid?'
  5486. type: string
  5487. optional:
  5488. description: Specify whether the Secret or its
  5489. key must be defined
  5490. type: boolean
  5491. required:
  5492. - key
  5493. type: object
  5494. x-kubernetes-map-type: atomic
  5495. type:
  5496. description: Set the authentication type. Defaults
  5497. to Bearer, Basic will cause an error
  5498. type: string
  5499. type: object
  5500. basicAuth:
  5501. description: BasicAuth for the client. This is mutually
  5502. exclusive with Authorization. If both are defined, BasicAuth
  5503. takes precedence.
  5504. properties:
  5505. password:
  5506. description: The secret in the service monitor namespace
  5507. that contains the password for authentication.
  5508. properties:
  5509. key:
  5510. description: The key of the secret to select from. Must
  5511. be a valid secret key.
  5512. type: string
  5513. name:
  5514. description: 'Name of the referent. More info:
  5515. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5516. TODO: Add other useful fields. apiVersion, kind,
  5517. uid?'
  5518. type: string
  5519. optional:
  5520. description: Specify whether the Secret or its
  5521. key must be defined
  5522. type: boolean
  5523. required:
  5524. - key
  5525. type: object
  5526. x-kubernetes-map-type: atomic
  5527. username:
  5528. description: The secret in the service monitor namespace
  5529. that contains the username for authentication.
  5530. properties:
  5531. key:
  5532. description: The key of the secret to select from. Must
  5533. be a valid secret key.
  5534. type: string
  5535. name:
  5536. description: 'Name of the referent. More info:
  5537. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5538. TODO: Add other useful fields. apiVersion, kind,
  5539. uid?'
  5540. type: string
  5541. optional:
  5542. description: Specify whether the Secret or its
  5543. key must be defined
  5544. type: boolean
  5545. required:
  5546. - key
  5547. type: object
  5548. x-kubernetes-map-type: atomic
  5549. type: object
  5550. bearerTokenSecret:
  5551. description: The secret's key that contains the bearer
  5552. token to be used by the client for authentication. The
  5553. secret needs to be in the same namespace as the Alertmanager
  5554. object and accessible by the Prometheus Operator.
  5555. properties:
  5556. key:
  5557. description: The key of the secret to select from. Must
  5558. be a valid secret key.
  5559. type: string
  5560. name:
  5561. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5562. TODO: Add other useful fields. apiVersion, kind,
  5563. uid?'
  5564. type: string
  5565. optional:
  5566. description: Specify whether the Secret or its key
  5567. must be defined
  5568. type: boolean
  5569. required:
  5570. - key
  5571. type: object
  5572. x-kubernetes-map-type: atomic
  5573. followRedirects:
  5574. description: FollowRedirects specifies whether the client
  5575. should follow HTTP 3xx redirects.
  5576. type: boolean
  5577. oauth2:
  5578. description: OAuth2 client credentials used to fetch a
  5579. token for the targets.
  5580. properties:
  5581. clientId:
  5582. description: The secret or configmap containing the
  5583. OAuth2 client id
  5584. properties:
  5585. configMap:
  5586. description: ConfigMap containing data to use
  5587. for the targets.
  5588. properties:
  5589. key:
  5590. description: The key to select.
  5591. type: string
  5592. name:
  5593. description: 'Name of the referent. More info:
  5594. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5595. TODO: Add other useful fields. apiVersion,
  5596. kind, uid?'
  5597. type: string
  5598. optional:
  5599. description: Specify whether the ConfigMap
  5600. or its key must be defined
  5601. type: boolean
  5602. required:
  5603. - key
  5604. type: object
  5605. x-kubernetes-map-type: atomic
  5606. secret:
  5607. description: Secret containing data to use for
  5608. the targets.
  5609. properties:
  5610. key:
  5611. description: The key of the secret to select
  5612. from. Must be a valid secret key.
  5613. type: string
  5614. name:
  5615. description: 'Name of the referent. More info:
  5616. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5617. TODO: Add other useful fields. apiVersion,
  5618. kind, uid?'
  5619. type: string
  5620. optional:
  5621. description: Specify whether the Secret or
  5622. its key must be defined
  5623. type: boolean
  5624. required:
  5625. - key
  5626. type: object
  5627. x-kubernetes-map-type: atomic
  5628. type: object
  5629. clientSecret:
  5630. description: The secret containing the OAuth2 client
  5631. secret
  5632. properties:
  5633. key:
  5634. description: The key of the secret to select from. Must
  5635. be a valid secret key.
  5636. type: string
  5637. name:
  5638. description: 'Name of the referent. More info:
  5639. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5640. TODO: Add other useful fields. apiVersion, kind,
  5641. uid?'
  5642. type: string
  5643. optional:
  5644. description: Specify whether the Secret or its
  5645. key must be defined
  5646. type: boolean
  5647. required:
  5648. - key
  5649. type: object
  5650. x-kubernetes-map-type: atomic
  5651. endpointParams:
  5652. additionalProperties:
  5653. type: string
  5654. description: Parameters to append to the token URL
  5655. type: object
  5656. scopes:
  5657. description: OAuth2 scopes used for the token request
  5658. items:
  5659. type: string
  5660. type: array
  5661. tokenUrl:
  5662. description: The URL to fetch the token from
  5663. minLength: 1
  5664. type: string
  5665. required:
  5666. - clientId
  5667. - clientSecret
  5668. - tokenUrl
  5669. type: object
  5670. proxyURL:
  5671. description: Optional proxy URL.
  5672. type: string
  5673. tlsConfig:
  5674. description: TLS configuration for the client.
  5675. properties:
  5676. ca:
  5677. description: Struct containing the CA cert to use
  5678. for the targets.
  5679. properties:
  5680. configMap:
  5681. description: ConfigMap containing data to use
  5682. for the targets.
  5683. properties:
  5684. key:
  5685. description: The key to select.
  5686. type: string
  5687. name:
  5688. description: 'Name of the referent. More info:
  5689. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5690. TODO: Add other useful fields. apiVersion,
  5691. kind, uid?'
  5692. type: string
  5693. optional:
  5694. description: Specify whether the ConfigMap
  5695. or its key must be defined
  5696. type: boolean
  5697. required:
  5698. - key
  5699. type: object
  5700. x-kubernetes-map-type: atomic
  5701. secret:
  5702. description: Secret containing data to use for
  5703. the targets.
  5704. properties:
  5705. key:
  5706. description: The key of the secret to select
  5707. from. Must be a valid secret key.
  5708. type: string
  5709. name:
  5710. description: 'Name of the referent. More info:
  5711. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5712. TODO: Add other useful fields. apiVersion,
  5713. kind, uid?'
  5714. type: string
  5715. optional:
  5716. description: Specify whether the Secret or
  5717. its key must be defined
  5718. type: boolean
  5719. required:
  5720. - key
  5721. type: object
  5722. x-kubernetes-map-type: atomic
  5723. type: object
  5724. cert:
  5725. description: Struct containing the client cert file
  5726. for the targets.
  5727. properties:
  5728. configMap:
  5729. description: ConfigMap containing data to use
  5730. for the targets.
  5731. properties:
  5732. key:
  5733. description: The key to select.
  5734. type: string
  5735. name:
  5736. description: 'Name of the referent. More info:
  5737. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5738. TODO: Add other useful fields. apiVersion,
  5739. kind, uid?'
  5740. type: string
  5741. optional:
  5742. description: Specify whether the ConfigMap
  5743. or its key must be defined
  5744. type: boolean
  5745. required:
  5746. - key
  5747. type: object
  5748. x-kubernetes-map-type: atomic
  5749. secret:
  5750. description: Secret containing data to use for
  5751. the targets.
  5752. properties:
  5753. key:
  5754. description: The key of the secret to select
  5755. from. Must be a valid secret key.
  5756. type: string
  5757. name:
  5758. description: 'Name of the referent. More info:
  5759. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5760. TODO: Add other useful fields. apiVersion,
  5761. kind, uid?'
  5762. type: string
  5763. optional:
  5764. description: Specify whether the Secret or
  5765. its key must be defined
  5766. type: boolean
  5767. required:
  5768. - key
  5769. type: object
  5770. x-kubernetes-map-type: atomic
  5771. type: object
  5772. insecureSkipVerify:
  5773. description: Disable target certificate validation.
  5774. type: boolean
  5775. keySecret:
  5776. description: Secret containing the client key file
  5777. for the targets.
  5778. properties:
  5779. key:
  5780. description: The key of the secret to select from. Must
  5781. be a valid secret key.
  5782. type: string
  5783. name:
  5784. description: 'Name of the referent. More info:
  5785. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5786. TODO: Add other useful fields. apiVersion, kind,
  5787. uid?'
  5788. type: string
  5789. optional:
  5790. description: Specify whether the Secret or its
  5791. key must be defined
  5792. type: boolean
  5793. required:
  5794. - key
  5795. type: object
  5796. x-kubernetes-map-type: atomic
  5797. serverName:
  5798. description: Used to verify the hostname for the targets.
  5799. type: string
  5800. type: object
  5801. type: object
  5802. resolveTimeout:
  5803. description: ResolveTimeout is the default value used by alertmanager
  5804. if the alert does not include EndsAt, after this time passes
  5805. it can declare the alert as resolved if it has not been
  5806. updated. This has no impact on alerts from Prometheus, as
  5807. they always include EndsAt.
  5808. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  5809. type: string
  5810. type: object
  5811. name:
  5812. description: The name of the AlertmanagerConfig resource which
  5813. is used to generate the Alertmanager configuration. It must
  5814. be defined in the same namespace as the Alertmanager object.
  5815. The operator will not enforce a `namespace` label for routes
  5816. and inhibition rules.
  5817. minLength: 1
  5818. type: string
  5819. type: object
  5820. baseImage:
  5821. description: 'Base image that is used to deploy pods, without tag.
  5822. Deprecated: use ''image'' instead'
  5823. type: string
  5824. clusterAdvertiseAddress:
  5825. description: 'ClusterAdvertiseAddress is the explicit address to advertise
  5826. in cluster. Needs to be provided for non RFC1918 [1] (public) addresses.
  5827. [1] RFC1918: https://tools.ietf.org/html/rfc1918'
  5828. type: string
  5829. clusterGossipInterval:
  5830. description: Interval between gossip attempts.
  5831. pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  5832. type: string
  5833. clusterPeerTimeout:
  5834. description: Timeout for cluster peering.
  5835. pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  5836. type: string
  5837. clusterPushpullInterval:
  5838. description: Interval between pushpull attempts.
  5839. pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  5840. type: string
  5841. configMaps:
  5842. description: ConfigMaps is a list of ConfigMaps in the same namespace
  5843. as the Alertmanager object, which shall be mounted into the Alertmanager
  5844. Pods. The ConfigMaps are mounted into /etc/alertmanager/configmaps/<configmap-name>.
  5845. items:
  5846. type: string
  5847. type: array
  5848. configSecret:
  5849. description: "ConfigSecret is the name of a Kubernetes Secret in the
  5850. same namespace as the Alertmanager object, which contains the configuration
  5851. for this Alertmanager instance. If empty, it defaults to 'alertmanager-<alertmanager-name>'.
  5852. \n The Alertmanager configuration should be available under the
  5853. `alertmanager.yaml` key. Additional keys from the original secret
  5854. are copied to the generated secret. \n If either the secret or the
  5855. `alertmanager.yaml` key is missing, the operator provisions an Alertmanager
  5856. configuration with one empty receiver (effectively dropping alert
  5857. notifications)."
  5858. type: string
  5859. containers:
  5860. description: 'Containers allows injecting additional containers. This
  5861. is meant to allow adding an authentication proxy to an Alertmanager
  5862. pod. Containers described here modify an operator generated container
  5863. if they share the same name and modifications are done via a strategic
  5864. merge patch. The current container names are: `alertmanager` and
  5865. `config-reloader`. Overriding containers is entirely outside the
  5866. scope of what the maintainers will support and by doing so, you
  5867. accept that this behaviour may break at any time without notice.'
  5868. items:
  5869. description: A single application container that you want to run
  5870. within a pod.
  5871. properties:
  5872. args:
  5873. description: 'Arguments to the entrypoint. The container image''s
  5874. CMD is used if this is not provided. Variable references $(VAR_NAME)
  5875. are expanded using the container''s environment. If a variable
  5876. cannot be resolved, the reference in the input string will
  5877. be unchanged. Double $$ are reduced to a single $, which allows
  5878. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  5879. produce the string literal "$(VAR_NAME)". Escaped references
  5880. will never be expanded, regardless of whether the variable
  5881. 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'
  5882. items:
  5883. type: string
  5884. type: array
  5885. command:
  5886. description: 'Entrypoint array. Not executed within a shell.
  5887. The container image''s ENTRYPOINT is used if this is not provided.
  5888. Variable references $(VAR_NAME) are expanded using the container''s
  5889. environment. If a variable cannot be resolved, the reference
  5890. in the input string will be unchanged. Double $$ are reduced
  5891. to a single $, which allows for escaping the $(VAR_NAME) syntax:
  5892. i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  5893. Escaped references will never be expanded, regardless of whether
  5894. the variable exists or not. Cannot be updated. More info:
  5895. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  5896. items:
  5897. type: string
  5898. type: array
  5899. env:
  5900. description: List of environment variables to set in the container.
  5901. Cannot be updated.
  5902. items:
  5903. description: EnvVar represents an environment variable present
  5904. in a Container.
  5905. properties:
  5906. name:
  5907. description: Name of the environment variable. Must be
  5908. a C_IDENTIFIER.
  5909. type: string
  5910. value:
  5911. description: 'Variable references $(VAR_NAME) are expanded
  5912. using the previously defined environment variables in
  5913. the container and any service environment variables.
  5914. If a variable cannot be resolved, the reference in the
  5915. input string will be unchanged. Double $$ are reduced
  5916. to a single $, which allows for escaping the $(VAR_NAME)
  5917. syntax: i.e. "$$(VAR_NAME)" will produce the string
  5918. literal "$(VAR_NAME)". Escaped references will never
  5919. be expanded, regardless of whether the variable exists
  5920. or not. Defaults to "".'
  5921. type: string
  5922. valueFrom:
  5923. description: Source for the environment variable's value.
  5924. Cannot be used if value is not empty.
  5925. properties:
  5926. configMapKeyRef:
  5927. description: Selects a key of a ConfigMap.
  5928. properties:
  5929. key:
  5930. description: The key to select.
  5931. type: string
  5932. name:
  5933. description: 'Name of the referent. More info:
  5934. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5935. TODO: Add other useful fields. apiVersion, kind,
  5936. uid?'
  5937. type: string
  5938. optional:
  5939. description: Specify whether the ConfigMap or
  5940. its key must be defined
  5941. type: boolean
  5942. required:
  5943. - key
  5944. type: object
  5945. x-kubernetes-map-type: atomic
  5946. fieldRef:
  5947. description: 'Selects a field of the pod: supports
  5948. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  5949. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  5950. spec.serviceAccountName, status.hostIP, status.podIP,
  5951. status.podIPs.'
  5952. properties:
  5953. apiVersion:
  5954. description: Version of the schema the FieldPath
  5955. is written in terms of, defaults to "v1".
  5956. type: string
  5957. fieldPath:
  5958. description: Path of the field to select in the
  5959. specified API version.
  5960. type: string
  5961. required:
  5962. - fieldPath
  5963. type: object
  5964. x-kubernetes-map-type: atomic
  5965. resourceFieldRef:
  5966. description: 'Selects a resource of the container:
  5967. only resources limits and requests (limits.cpu,
  5968. limits.memory, limits.ephemeral-storage, requests.cpu,
  5969. requests.memory and requests.ephemeral-storage)
  5970. are currently supported.'
  5971. properties:
  5972. containerName:
  5973. description: 'Container name: required for volumes,
  5974. optional for env vars'
  5975. type: string
  5976. divisor:
  5977. anyOf:
  5978. - type: integer
  5979. - type: string
  5980. description: Specifies the output format of the
  5981. exposed resources, defaults to "1"
  5982. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5983. x-kubernetes-int-or-string: true
  5984. resource:
  5985. description: 'Required: resource to select'
  5986. type: string
  5987. required:
  5988. - resource
  5989. type: object
  5990. x-kubernetes-map-type: atomic
  5991. secretKeyRef:
  5992. description: Selects a key of a secret in the pod's
  5993. namespace
  5994. properties:
  5995. key:
  5996. description: The key of the secret to select from. Must
  5997. be a valid secret key.
  5998. type: string
  5999. name:
  6000. description: 'Name of the referent. More info:
  6001. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6002. TODO: Add other useful fields. apiVersion, kind,
  6003. uid?'
  6004. type: string
  6005. optional:
  6006. description: Specify whether the Secret or its
  6007. key must be defined
  6008. type: boolean
  6009. required:
  6010. - key
  6011. type: object
  6012. x-kubernetes-map-type: atomic
  6013. type: object
  6014. required:
  6015. - name
  6016. type: object
  6017. type: array
  6018. envFrom:
  6019. description: List of sources to populate environment variables
  6020. in the container. The keys defined within a source must be
  6021. a C_IDENTIFIER. All invalid keys will be reported as an event
  6022. when the container is starting. When a key exists in multiple
  6023. sources, the value associated with the last source will take
  6024. precedence. Values defined by an Env with a duplicate key
  6025. will take precedence. Cannot be updated.
  6026. items:
  6027. description: EnvFromSource represents the source of a set
  6028. of ConfigMaps
  6029. properties:
  6030. configMapRef:
  6031. description: The ConfigMap to select from
  6032. properties:
  6033. name:
  6034. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6035. TODO: Add other useful fields. apiVersion, kind,
  6036. uid?'
  6037. type: string
  6038. optional:
  6039. description: Specify whether the ConfigMap must be
  6040. defined
  6041. type: boolean
  6042. type: object
  6043. x-kubernetes-map-type: atomic
  6044. prefix:
  6045. description: An optional identifier to prepend to each
  6046. key in the ConfigMap. Must be a C_IDENTIFIER.
  6047. type: string
  6048. secretRef:
  6049. description: The Secret to select from
  6050. properties:
  6051. name:
  6052. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  6053. TODO: Add other useful fields. apiVersion, kind,
  6054. uid?'
  6055. type: string
  6056. optional:
  6057. description: Specify whether the Secret must be defined
  6058. type: boolean
  6059. type: object
  6060. x-kubernetes-map-type: atomic
  6061. type: object
  6062. type: array
  6063. image:
  6064. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  6065. This field is optional to allow higher level config management
  6066. to default or override container images in workload controllers
  6067. like Deployments and StatefulSets.'
  6068. type: string
  6069. imagePullPolicy:
  6070. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  6071. Defaults to Always if :latest tag is specified, or IfNotPresent
  6072. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  6073. type: string
  6074. lifecycle:
  6075. description: Actions that the management system should take
  6076. in response to container lifecycle events. Cannot be updated.
  6077. properties:
  6078. postStart:
  6079. description: 'PostStart is called immediately after a container
  6080. is created. If the handler fails, the container is terminated
  6081. and restarted according to its restart policy. Other management
  6082. of the container blocks until the hook completes. More
  6083. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  6084. properties:
  6085. exec:
  6086. description: Exec specifies the action to take.
  6087. properties:
  6088. command:
  6089. description: Command is the command line to execute
  6090. inside the container, the working directory for
  6091. the command is root ('/') in the container's
  6092. filesystem. The command is simply exec'd, it is
  6093. not run inside a shell, so traditional shell instructions
  6094. ('|', etc) won't work. To use a shell, you need
  6095. to explicitly call out to that shell. Exit status
  6096. of 0 is treated as live/healthy and non-zero is
  6097. unhealthy.
  6098. items:
  6099. type: string
  6100. type: array
  6101. type: object
  6102. httpGet:
  6103. description: HTTPGet specifies the http request to perform.
  6104. properties:
  6105. host:
  6106. description: Host name to connect to, defaults to
  6107. the pod IP. You probably want to set "Host" in
  6108. httpHeaders instead.
  6109. type: string
  6110. httpHeaders:
  6111. description: Custom headers to set in the request.
  6112. HTTP allows repeated headers.
  6113. items:
  6114. description: HTTPHeader describes a custom header
  6115. to be used in HTTP probes
  6116. properties:
  6117. name:
  6118. description: The header field name
  6119. type: string
  6120. value:
  6121. description: The header field value
  6122. type: string
  6123. required:
  6124. - name
  6125. - value
  6126. type: object
  6127. type: array
  6128. path:
  6129. description: Path to access on the HTTP server.
  6130. type: string
  6131. port:
  6132. anyOf:
  6133. - type: integer
  6134. - type: string
  6135. description: Name or number of the port to access
  6136. on the container. Number must be in the range
  6137. 1 to 65535. Name must be an IANA_SVC_NAME.
  6138. x-kubernetes-int-or-string: true
  6139. scheme:
  6140. description: Scheme to use for connecting to the
  6141. host. Defaults to HTTP.
  6142. type: string
  6143. required:
  6144. - port
  6145. type: object
  6146. tcpSocket:
  6147. description: Deprecated. TCPSocket is NOT supported
  6148. as a LifecycleHandler and kept for the backward compatibility.
  6149. There are no validation of this field and lifecycle
  6150. hooks will fail in runtime when tcp handler is specified.
  6151. properties:
  6152. host:
  6153. description: 'Optional: Host name to connect to,
  6154. defaults to the pod IP.'
  6155. type: string
  6156. port:
  6157. anyOf:
  6158. - type: integer
  6159. - type: string
  6160. description: Number or name of the port to access
  6161. on the container. Number must be in the range
  6162. 1 to 65535. Name must be an IANA_SVC_NAME.
  6163. x-kubernetes-int-or-string: true
  6164. required:
  6165. - port
  6166. type: object
  6167. type: object
  6168. preStop:
  6169. description: 'PreStop is called immediately before a container
  6170. is terminated due to an API request or management event
  6171. such as liveness/startup probe failure, preemption, resource
  6172. contention, etc. The handler is not called if the container
  6173. crashes or exits. The Pod''s termination grace period
  6174. countdown begins before the PreStop hook is executed.
  6175. Regardless of the outcome of the handler, the container
  6176. will eventually terminate within the Pod''s termination
  6177. grace period (unless delayed by finalizers). Other management
  6178. of the container blocks until the hook completes or until
  6179. the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  6180. properties:
  6181. exec:
  6182. description: Exec specifies the action to take.
  6183. properties:
  6184. command:
  6185. description: Command is the command line to execute
  6186. inside the container, the working directory for
  6187. the command is root ('/') in the container's
  6188. filesystem. The command is simply exec'd, it is
  6189. not run inside a shell, so traditional shell instructions
  6190. ('|', etc) won't work. To use a shell, you need
  6191. to explicitly call out to that shell. Exit status
  6192. of 0 is treated as live/healthy and non-zero is
  6193. unhealthy.
  6194. items:
  6195. type: string
  6196. type: array
  6197. type: object
  6198. httpGet:
  6199. description: HTTPGet specifies the http request to perform.
  6200. properties:
  6201. host:
  6202. description: Host name to connect to, defaults to
  6203. the pod IP. You probably want to set "Host" in
  6204. httpHeaders instead.
  6205. type: string
  6206. httpHeaders:
  6207. description: Custom headers to set in the request.
  6208. HTTP allows repeated headers.
  6209. items:
  6210. description: HTTPHeader describes a custom header
  6211. to be used in HTTP probes
  6212. properties:
  6213. name:
  6214. description: The header field name
  6215. type: string
  6216. value:
  6217. description: The header field value
  6218. type: string
  6219. required:
  6220. - name
  6221. - value
  6222. type: object
  6223. type: array
  6224. path:
  6225. description: Path to access on the HTTP server.
  6226. type: string
  6227. port:
  6228. anyOf:
  6229. - type: integer
  6230. - type: string
  6231. description: Name or number of the port to access
  6232. on the container. Number must be in the range
  6233. 1 to 65535. Name must be an IANA_SVC_NAME.
  6234. x-kubernetes-int-or-string: true
  6235. scheme:
  6236. description: Scheme to use for connecting to the
  6237. host. Defaults to HTTP.
  6238. type: string
  6239. required:
  6240. - port
  6241. type: object
  6242. tcpSocket:
  6243. description: Deprecated. TCPSocket is NOT supported
  6244. as a LifecycleHandler and kept for the backward compatibility.
  6245. There are no validation of this field and lifecycle
  6246. hooks will fail in runtime when tcp handler is specified.
  6247. properties:
  6248. host:
  6249. description: 'Optional: Host name to connect to,
  6250. defaults to the pod IP.'
  6251. type: string
  6252. port:
  6253. anyOf:
  6254. - type: integer
  6255. - type: string
  6256. description: Number or name of the port to access
  6257. on the container. Number must be in the range
  6258. 1 to 65535. Name must be an IANA_SVC_NAME.
  6259. x-kubernetes-int-or-string: true
  6260. required:
  6261. - port
  6262. type: object
  6263. type: object
  6264. type: object
  6265. livenessProbe:
  6266. description: 'Periodic probe of container liveness. Container
  6267. will be restarted if the probe fails. Cannot be updated. More
  6268. info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6269. properties:
  6270. exec:
  6271. description: Exec specifies the action to take.
  6272. properties:
  6273. command:
  6274. description: Command is the command line to execute
  6275. inside the container, the working directory for the
  6276. command is root ('/') in the container's filesystem.
  6277. The command is simply exec'd, it is not run inside
  6278. a shell, so traditional shell instructions ('|', etc)
  6279. won't work. To use a shell, you need to explicitly
  6280. call out to that shell. Exit status of 0 is treated
  6281. as live/healthy and non-zero is unhealthy.
  6282. items:
  6283. type: string
  6284. type: array
  6285. type: object
  6286. failureThreshold:
  6287. description: Minimum consecutive failures for the probe
  6288. to be considered failed after having succeeded. Defaults
  6289. to 3. Minimum value is 1.
  6290. format: int32
  6291. type: integer
  6292. grpc:
  6293. description: GRPC specifies an action involving a GRPC port.
  6294. This is a beta field and requires enabling GRPCContainerProbe
  6295. feature gate.
  6296. properties:
  6297. port:
  6298. description: Port number of the gRPC service. Number
  6299. must be in the range 1 to 65535.
  6300. format: int32
  6301. type: integer
  6302. service:
  6303. description: "Service is the name of the service to
  6304. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  6305. \n If this is not specified, the default behavior
  6306. is defined by gRPC."
  6307. type: string
  6308. required:
  6309. - port
  6310. type: object
  6311. httpGet:
  6312. description: HTTPGet specifies the http request to perform.
  6313. properties:
  6314. host:
  6315. description: Host name to connect to, defaults to the
  6316. pod IP. You probably want to set "Host" in httpHeaders
  6317. instead.
  6318. type: string
  6319. httpHeaders:
  6320. description: Custom headers to set in the request. HTTP
  6321. allows repeated headers.
  6322. items:
  6323. description: HTTPHeader describes a custom header
  6324. to be used in HTTP probes
  6325. properties:
  6326. name:
  6327. description: The header field name
  6328. type: string
  6329. value:
  6330. description: The header field value
  6331. type: string
  6332. required:
  6333. - name
  6334. - value
  6335. type: object
  6336. type: array
  6337. path:
  6338. description: Path to access on the HTTP server.
  6339. type: string
  6340. port:
  6341. anyOf:
  6342. - type: integer
  6343. - type: string
  6344. description: Name or number of the port to access on
  6345. the container. Number must be in the range 1 to 65535.
  6346. Name must be an IANA_SVC_NAME.
  6347. x-kubernetes-int-or-string: true
  6348. scheme:
  6349. description: Scheme to use for connecting to the host.
  6350. Defaults to HTTP.
  6351. type: string
  6352. required:
  6353. - port
  6354. type: object
  6355. initialDelaySeconds:
  6356. description: 'Number of seconds after the container has
  6357. started before liveness probes are initiated. More info:
  6358. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6359. format: int32
  6360. type: integer
  6361. periodSeconds:
  6362. description: How often (in seconds) to perform the probe.
  6363. Default to 10 seconds. Minimum value is 1.
  6364. format: int32
  6365. type: integer
  6366. successThreshold:
  6367. description: Minimum consecutive successes for the probe
  6368. to be considered successful after having failed. Defaults
  6369. to 1. Must be 1 for liveness and startup. Minimum value
  6370. is 1.
  6371. format: int32
  6372. type: integer
  6373. tcpSocket:
  6374. description: TCPSocket specifies an action involving a TCP
  6375. port.
  6376. properties:
  6377. host:
  6378. description: 'Optional: Host name to connect to, defaults
  6379. to the pod IP.'
  6380. type: string
  6381. port:
  6382. anyOf:
  6383. - type: integer
  6384. - type: string
  6385. description: Number or name of the port to access on
  6386. the container. Number must be in the range 1 to 65535.
  6387. Name must be an IANA_SVC_NAME.
  6388. x-kubernetes-int-or-string: true
  6389. required:
  6390. - port
  6391. type: object
  6392. terminationGracePeriodSeconds:
  6393. description: Optional duration in seconds the pod needs
  6394. to terminate gracefully upon probe failure. The grace
  6395. period is the duration in seconds after the processes
  6396. running in the pod are sent a termination signal and the
  6397. time when the processes are forcibly halted with a kill
  6398. signal. Set this value longer than the expected cleanup
  6399. time for your process. If this value is nil, the pod's
  6400. terminationGracePeriodSeconds will be used. Otherwise,
  6401. this value overrides the value provided by the pod spec.
  6402. Value must be non-negative integer. The value zero indicates
  6403. stop immediately via the kill signal (no opportunity to
  6404. shut down). This is a beta field and requires enabling
  6405. ProbeTerminationGracePeriod feature gate. Minimum value
  6406. is 1. spec.terminationGracePeriodSeconds is used if unset.
  6407. format: int64
  6408. type: integer
  6409. timeoutSeconds:
  6410. description: 'Number of seconds after which the probe times
  6411. out. Defaults to 1 second. Minimum value is 1. More info:
  6412. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6413. format: int32
  6414. type: integer
  6415. type: object
  6416. name:
  6417. description: Name of the container specified as a DNS_LABEL.
  6418. Each container in a pod must have a unique name (DNS_LABEL).
  6419. Cannot be updated.
  6420. type: string
  6421. ports:
  6422. description: List of ports to expose from the container. Exposing
  6423. a port here gives the system additional information about
  6424. the network connections a container uses, but is primarily
  6425. informational. Not specifying a port here DOES NOT prevent
  6426. that port from being exposed. Any port which is listening
  6427. on the default "0.0.0.0" address inside a container will be
  6428. accessible from the network. Cannot be updated.
  6429. items:
  6430. description: ContainerPort represents a network port in a
  6431. single container.
  6432. properties:
  6433. containerPort:
  6434. description: Number of port to expose on the pod's IP
  6435. address. This must be a valid port number, 0 < x < 65536.
  6436. format: int32
  6437. type: integer
  6438. hostIP:
  6439. description: What host IP to bind the external port to.
  6440. type: string
  6441. hostPort:
  6442. description: Number of port to expose on the host. If
  6443. specified, this must be a valid port number, 0 < x <
  6444. 65536. If HostNetwork is specified, this must match
  6445. ContainerPort. Most containers do not need this.
  6446. format: int32
  6447. type: integer
  6448. name:
  6449. description: If specified, this must be an IANA_SVC_NAME
  6450. and unique within the pod. Each named port in a pod
  6451. must have a unique name. Name for the port that can
  6452. be referred to by services.
  6453. type: string
  6454. protocol:
  6455. default: TCP
  6456. description: Protocol for port. Must be UDP, TCP, or SCTP.
  6457. Defaults to "TCP".
  6458. type: string
  6459. required:
  6460. - containerPort
  6461. type: object
  6462. type: array
  6463. x-kubernetes-list-map-keys:
  6464. - containerPort
  6465. - protocol
  6466. x-kubernetes-list-type: map
  6467. readinessProbe:
  6468. description: 'Periodic probe of container service readiness.
  6469. Container will be removed from service endpoints if the probe
  6470. fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6471. properties:
  6472. exec:
  6473. description: Exec specifies the action to take.
  6474. properties:
  6475. command:
  6476. description: Command is the command line to execute
  6477. inside the container, the working directory for the
  6478. command is root ('/') in the container's filesystem.
  6479. The command is simply exec'd, it is not run inside
  6480. a shell, so traditional shell instructions ('|', etc)
  6481. won't work. To use a shell, you need to explicitly
  6482. call out to that shell. Exit status of 0 is treated
  6483. as live/healthy and non-zero is unhealthy.
  6484. items:
  6485. type: string
  6486. type: array
  6487. type: object
  6488. failureThreshold:
  6489. description: Minimum consecutive failures for the probe
  6490. to be considered failed after having succeeded. Defaults
  6491. to 3. Minimum value is 1.
  6492. format: int32
  6493. type: integer
  6494. grpc:
  6495. description: GRPC specifies an action involving a GRPC port.
  6496. This is a beta field and requires enabling GRPCContainerProbe
  6497. feature gate.
  6498. properties:
  6499. port:
  6500. description: Port number of the gRPC service. Number
  6501. must be in the range 1 to 65535.
  6502. format: int32
  6503. type: integer
  6504. service:
  6505. description: "Service is the name of the service to
  6506. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  6507. \n If this is not specified, the default behavior
  6508. is defined by gRPC."
  6509. type: string
  6510. required:
  6511. - port
  6512. type: object
  6513. httpGet:
  6514. description: HTTPGet specifies the http request to perform.
  6515. properties:
  6516. host:
  6517. description: Host name to connect to, defaults to the
  6518. pod IP. You probably want to set "Host" in httpHeaders
  6519. instead.
  6520. type: string
  6521. httpHeaders:
  6522. description: Custom headers to set in the request. HTTP
  6523. allows repeated headers.
  6524. items:
  6525. description: HTTPHeader describes a custom header
  6526. to be used in HTTP probes
  6527. properties:
  6528. name:
  6529. description: The header field name
  6530. type: string
  6531. value:
  6532. description: The header field value
  6533. type: string
  6534. required:
  6535. - name
  6536. - value
  6537. type: object
  6538. type: array
  6539. path:
  6540. description: Path to access on the HTTP server.
  6541. type: string
  6542. port:
  6543. anyOf:
  6544. - type: integer
  6545. - type: string
  6546. description: Name or number of the port to access on
  6547. the container. Number must be in the range 1 to 65535.
  6548. Name must be an IANA_SVC_NAME.
  6549. x-kubernetes-int-or-string: true
  6550. scheme:
  6551. description: Scheme to use for connecting to the host.
  6552. Defaults to HTTP.
  6553. type: string
  6554. required:
  6555. - port
  6556. type: object
  6557. initialDelaySeconds:
  6558. description: 'Number of seconds after the container has
  6559. started before liveness probes are initiated. More info:
  6560. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6561. format: int32
  6562. type: integer
  6563. periodSeconds:
  6564. description: How often (in seconds) to perform the probe.
  6565. Default to 10 seconds. Minimum value is 1.
  6566. format: int32
  6567. type: integer
  6568. successThreshold:
  6569. description: Minimum consecutive successes for the probe
  6570. to be considered successful after having failed. Defaults
  6571. to 1. Must be 1 for liveness and startup. Minimum value
  6572. is 1.
  6573. format: int32
  6574. type: integer
  6575. tcpSocket:
  6576. description: TCPSocket specifies an action involving a TCP
  6577. port.
  6578. properties:
  6579. host:
  6580. description: 'Optional: Host name to connect to, defaults
  6581. to the pod IP.'
  6582. type: string
  6583. port:
  6584. anyOf:
  6585. - type: integer
  6586. - type: string
  6587. description: Number or name of the port to access on
  6588. the container. Number must be in the range 1 to 65535.
  6589. Name must be an IANA_SVC_NAME.
  6590. x-kubernetes-int-or-string: true
  6591. required:
  6592. - port
  6593. type: object
  6594. terminationGracePeriodSeconds:
  6595. description: Optional duration in seconds the pod needs
  6596. to terminate gracefully upon probe failure. The grace
  6597. period is the duration in seconds after the processes
  6598. running in the pod are sent a termination signal and the
  6599. time when the processes are forcibly halted with a kill
  6600. signal. Set this value longer than the expected cleanup
  6601. time for your process. If this value is nil, the pod's
  6602. terminationGracePeriodSeconds will be used. Otherwise,
  6603. this value overrides the value provided by the pod spec.
  6604. Value must be non-negative integer. The value zero indicates
  6605. stop immediately via the kill signal (no opportunity to
  6606. shut down). This is a beta field and requires enabling
  6607. ProbeTerminationGracePeriod feature gate. Minimum value
  6608. is 1. spec.terminationGracePeriodSeconds is used if unset.
  6609. format: int64
  6610. type: integer
  6611. timeoutSeconds:
  6612. description: 'Number of seconds after which the probe times
  6613. out. Defaults to 1 second. Minimum value is 1. More info:
  6614. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6615. format: int32
  6616. type: integer
  6617. type: object
  6618. resources:
  6619. description: 'Compute Resources required by this container.
  6620. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6621. properties:
  6622. limits:
  6623. additionalProperties:
  6624. anyOf:
  6625. - type: integer
  6626. - type: string
  6627. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6628. x-kubernetes-int-or-string: true
  6629. description: 'Limits describes the maximum amount of compute
  6630. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6631. type: object
  6632. requests:
  6633. additionalProperties:
  6634. anyOf:
  6635. - type: integer
  6636. - type: string
  6637. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6638. x-kubernetes-int-or-string: true
  6639. description: 'Requests describes the minimum amount of compute
  6640. resources required. If Requests is omitted for a container,
  6641. it defaults to Limits if that is explicitly specified,
  6642. otherwise to an implementation-defined value. More info:
  6643. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6644. type: object
  6645. type: object
  6646. securityContext:
  6647. description: 'SecurityContext defines the security options the
  6648. container should be run with. If set, the fields of SecurityContext
  6649. override the equivalent fields of PodSecurityContext. More
  6650. info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  6651. properties:
  6652. allowPrivilegeEscalation:
  6653. description: 'AllowPrivilegeEscalation controls whether
  6654. a process can gain more privileges than its parent process.
  6655. This bool directly controls if the no_new_privs flag will
  6656. be set on the container process. AllowPrivilegeEscalation
  6657. is true always when the container is: 1) run as Privileged
  6658. 2) has CAP_SYS_ADMIN Note that this field cannot be set
  6659. when spec.os.name is windows.'
  6660. type: boolean
  6661. capabilities:
  6662. description: The capabilities to add/drop when running containers.
  6663. Defaults to the default set of capabilities granted by
  6664. the container runtime. Note that this field cannot be
  6665. set when spec.os.name is windows.
  6666. properties:
  6667. add:
  6668. description: Added capabilities
  6669. items:
  6670. description: Capability represent POSIX capabilities
  6671. type
  6672. type: string
  6673. type: array
  6674. drop:
  6675. description: Removed capabilities
  6676. items:
  6677. description: Capability represent POSIX capabilities
  6678. type
  6679. type: string
  6680. type: array
  6681. type: object
  6682. privileged:
  6683. description: Run container in privileged mode. Processes
  6684. in privileged containers are essentially equivalent to
  6685. root on the host. Defaults to false. Note that this field
  6686. cannot be set when spec.os.name is windows.
  6687. type: boolean
  6688. procMount:
  6689. description: procMount denotes the type of proc mount to
  6690. use for the containers. The default is DefaultProcMount
  6691. which uses the container runtime defaults for readonly
  6692. paths and masked paths. This requires the ProcMountType
  6693. feature flag to be enabled. Note that this field cannot
  6694. be set when spec.os.name is windows.
  6695. type: string
  6696. readOnlyRootFilesystem:
  6697. description: Whether this container has a read-only root
  6698. filesystem. Default is false. Note that this field cannot
  6699. be set when spec.os.name is windows.
  6700. type: boolean
  6701. runAsGroup:
  6702. description: The GID to run the entrypoint of the container
  6703. process. Uses runtime default if unset. May also be set
  6704. in PodSecurityContext. If set in both SecurityContext
  6705. and PodSecurityContext, the value specified in SecurityContext
  6706. takes precedence. Note that this field cannot be set when
  6707. spec.os.name is windows.
  6708. format: int64
  6709. type: integer
  6710. runAsNonRoot:
  6711. description: Indicates that the container must run as a
  6712. non-root user. If true, the Kubelet will validate the
  6713. image at runtime to ensure that it does not run as UID
  6714. 0 (root) and fail to start the container if it does. If
  6715. unset or false, no such validation will be performed.
  6716. May also be set in PodSecurityContext. If set in both
  6717. SecurityContext and PodSecurityContext, the value specified
  6718. in SecurityContext takes precedence.
  6719. type: boolean
  6720. runAsUser:
  6721. description: The UID to run the entrypoint of the container
  6722. process. Defaults to user specified in image metadata
  6723. if unspecified. May also be set in PodSecurityContext. If
  6724. set in both SecurityContext and PodSecurityContext, the
  6725. value specified in SecurityContext takes precedence. Note
  6726. that this field cannot be set when spec.os.name is windows.
  6727. format: int64
  6728. type: integer
  6729. seLinuxOptions:
  6730. description: The SELinux context to be applied to the container.
  6731. If unspecified, the container runtime will allocate a
  6732. random SELinux context for each container. May also be
  6733. set in PodSecurityContext. If set in both SecurityContext
  6734. and PodSecurityContext, the value specified in SecurityContext
  6735. takes precedence. Note that this field cannot be set when
  6736. spec.os.name is windows.
  6737. properties:
  6738. level:
  6739. description: Level is SELinux level label that applies
  6740. to the container.
  6741. type: string
  6742. role:
  6743. description: Role is a SELinux role label that applies
  6744. to the container.
  6745. type: string
  6746. type:
  6747. description: Type is a SELinux type label that applies
  6748. to the container.
  6749. type: string
  6750. user:
  6751. description: User is a SELinux user label that applies
  6752. to the container.
  6753. type: string
  6754. type: object
  6755. seccompProfile:
  6756. description: The seccomp options to use by this container.
  6757. If seccomp options are provided at both the pod & container
  6758. level, the container options override the pod options.
  6759. Note that this field cannot be set when spec.os.name is
  6760. windows.
  6761. properties:
  6762. localhostProfile:
  6763. description: localhostProfile indicates a profile defined
  6764. in a file on the node should be used. The profile
  6765. must be preconfigured on the node to work. Must be
  6766. a descending path, relative to the kubelet's configured
  6767. seccomp profile location. Must only be set if type
  6768. is "Localhost".
  6769. type: string
  6770. type:
  6771. description: "type indicates which kind of seccomp profile
  6772. will be applied. Valid options are: \n Localhost -
  6773. a profile defined in a file on the node should be
  6774. used. RuntimeDefault - the container runtime default
  6775. profile should be used. Unconfined - no profile should
  6776. be applied."
  6777. type: string
  6778. required:
  6779. - type
  6780. type: object
  6781. windowsOptions:
  6782. description: The Windows specific settings applied to all
  6783. containers. If unspecified, the options from the PodSecurityContext
  6784. will be used. If set in both SecurityContext and PodSecurityContext,
  6785. the value specified in SecurityContext takes precedence.
  6786. Note that this field cannot be set when spec.os.name is
  6787. linux.
  6788. properties:
  6789. gmsaCredentialSpec:
  6790. description: GMSACredentialSpec is where the GMSA admission
  6791. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  6792. inlines the contents of the GMSA credential spec named
  6793. by the GMSACredentialSpecName field.
  6794. type: string
  6795. gmsaCredentialSpecName:
  6796. description: GMSACredentialSpecName is the name of the
  6797. GMSA credential spec to use.
  6798. type: string
  6799. hostProcess:
  6800. description: HostProcess determines if a container should
  6801. be run as a 'Host Process' container. This field is
  6802. alpha-level and will only be honored by components
  6803. that enable the WindowsHostProcessContainers feature
  6804. flag. Setting this field without the feature flag
  6805. will result in errors when validating the Pod. All
  6806. of a Pod's containers must have the same effective
  6807. HostProcess value (it is not allowed to have a mix
  6808. of HostProcess containers and non-HostProcess containers). In
  6809. addition, if HostProcess is true then HostNetwork
  6810. must also be set to true.
  6811. type: boolean
  6812. runAsUserName:
  6813. description: The UserName in Windows to run the entrypoint
  6814. of the container process. Defaults to the user specified
  6815. in image metadata if unspecified. May also be set
  6816. in PodSecurityContext. If set in both SecurityContext
  6817. and PodSecurityContext, the value specified in SecurityContext
  6818. takes precedence.
  6819. type: string
  6820. type: object
  6821. type: object
  6822. startupProbe:
  6823. description: 'StartupProbe indicates that the Pod has successfully
  6824. initialized. If specified, no other probes are executed until
  6825. this completes successfully. If this probe fails, the Pod
  6826. will be restarted, just as if the livenessProbe failed. This
  6827. can be used to provide different probe parameters at the beginning
  6828. of a Pod''s lifecycle, when it might take a long time to load
  6829. data or warm a cache, than during steady-state operation.
  6830. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6831. properties:
  6832. exec:
  6833. description: Exec specifies the action to take.
  6834. properties:
  6835. command:
  6836. description: Command is the command line to execute
  6837. inside the container, the working directory for the
  6838. command is root ('/') in the container's filesystem.
  6839. The command is simply exec'd, it is not run inside
  6840. a shell, so traditional shell instructions ('|', etc)
  6841. won't work. To use a shell, you need to explicitly
  6842. call out to that shell. Exit status of 0 is treated
  6843. as live/healthy and non-zero is unhealthy.
  6844. items:
  6845. type: string
  6846. type: array
  6847. type: object
  6848. failureThreshold:
  6849. description: Minimum consecutive failures for the probe
  6850. to be considered failed after having succeeded. Defaults
  6851. to 3. Minimum value is 1.
  6852. format: int32
  6853. type: integer
  6854. grpc:
  6855. description: GRPC specifies an action involving a GRPC port.
  6856. This is a beta field and requires enabling GRPCContainerProbe
  6857. feature gate.
  6858. properties:
  6859. port:
  6860. description: Port number of the gRPC service. Number
  6861. must be in the range 1 to 65535.
  6862. format: int32
  6863. type: integer
  6864. service:
  6865. description: "Service is the name of the service to
  6866. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  6867. \n If this is not specified, the default behavior
  6868. is defined by gRPC."
  6869. type: string
  6870. required:
  6871. - port
  6872. type: object
  6873. httpGet:
  6874. description: HTTPGet specifies the http request to perform.
  6875. properties:
  6876. host:
  6877. description: Host name to connect to, defaults to the
  6878. pod IP. You probably want to set "Host" in httpHeaders
  6879. instead.
  6880. type: string
  6881. httpHeaders:
  6882. description: Custom headers to set in the request. HTTP
  6883. allows repeated headers.
  6884. items:
  6885. description: HTTPHeader describes a custom header
  6886. to be used in HTTP probes
  6887. properties:
  6888. name:
  6889. description: The header field name
  6890. type: string
  6891. value:
  6892. description: The header field value
  6893. type: string
  6894. required:
  6895. - name
  6896. - value
  6897. type: object
  6898. type: array
  6899. path:
  6900. description: Path to access on the HTTP server.
  6901. type: string
  6902. port:
  6903. anyOf:
  6904. - type: integer
  6905. - type: string
  6906. description: Name or number of the port to access on
  6907. the container. Number must be in the range 1 to 65535.
  6908. Name must be an IANA_SVC_NAME.
  6909. x-kubernetes-int-or-string: true
  6910. scheme:
  6911. description: Scheme to use for connecting to the host.
  6912. Defaults to HTTP.
  6913. type: string
  6914. required:
  6915. - port
  6916. type: object
  6917. initialDelaySeconds:
  6918. description: 'Number of seconds after the container has
  6919. started before liveness probes are initiated. More info:
  6920. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6921. format: int32
  6922. type: integer
  6923. periodSeconds:
  6924. description: How often (in seconds) to perform the probe.
  6925. Default to 10 seconds. Minimum value is 1.
  6926. format: int32
  6927. type: integer
  6928. successThreshold:
  6929. description: Minimum consecutive successes for the probe
  6930. to be considered successful after having failed. Defaults
  6931. to 1. Must be 1 for liveness and startup. Minimum value
  6932. is 1.
  6933. format: int32
  6934. type: integer
  6935. tcpSocket:
  6936. description: TCPSocket specifies an action involving a TCP
  6937. port.
  6938. properties:
  6939. host:
  6940. description: 'Optional: Host name to connect to, defaults
  6941. to the pod IP.'
  6942. type: string
  6943. port:
  6944. anyOf:
  6945. - type: integer
  6946. - type: string
  6947. description: Number or name of the port to access on
  6948. the container. Number must be in the range 1 to 65535.
  6949. Name must be an IANA_SVC_NAME.
  6950. x-kubernetes-int-or-string: true
  6951. required:
  6952. - port
  6953. type: object
  6954. terminationGracePeriodSeconds:
  6955. description: Optional duration in seconds the pod needs
  6956. to terminate gracefully upon probe failure. The grace
  6957. period is the duration in seconds after the processes
  6958. running in the pod are sent a termination signal and the
  6959. time when the processes are forcibly halted with a kill
  6960. signal. Set this value longer than the expected cleanup
  6961. time for your process. If this value is nil, the pod's
  6962. terminationGracePeriodSeconds will be used. Otherwise,
  6963. this value overrides the value provided by the pod spec.
  6964. Value must be non-negative integer. The value zero indicates
  6965. stop immediately via the kill signal (no opportunity to
  6966. shut down). This is a beta field and requires enabling
  6967. ProbeTerminationGracePeriod feature gate. Minimum value
  6968. is 1. spec.terminationGracePeriodSeconds is used if unset.
  6969. format: int64
  6970. type: integer
  6971. timeoutSeconds:
  6972. description: 'Number of seconds after which the probe times
  6973. out. Defaults to 1 second. Minimum value is 1. More info:
  6974. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  6975. format: int32
  6976. type: integer
  6977. type: object
  6978. stdin:
  6979. description: Whether this container should allocate a buffer
  6980. for stdin in the container runtime. If this is not set, reads
  6981. from stdin in the container will always result in EOF. Default
  6982. is false.
  6983. type: boolean
  6984. stdinOnce:
  6985. description: Whether the container runtime should close the
  6986. stdin channel after it has been opened by a single attach.
  6987. When stdin is true the stdin stream will remain open across
  6988. multiple attach sessions. If stdinOnce is set to true, stdin
  6989. is opened on container start, is empty until the first client
  6990. attaches to stdin, and then remains open and accepts data
  6991. until the client disconnects, at which time stdin is closed
  6992. and remains closed until the container is restarted. If this
  6993. flag is false, a container processes that reads from stdin
  6994. will never receive an EOF. Default is false
  6995. type: boolean
  6996. terminationMessagePath:
  6997. description: 'Optional: Path at which the file to which the
  6998. container''s termination message will be written is mounted
  6999. into the container''s filesystem. Message written is intended
  7000. to be brief final status, such as an assertion failure message.
  7001. Will be truncated by the node if greater than 4096 bytes.
  7002. The total message length across all containers will be limited
  7003. to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  7004. type: string
  7005. terminationMessagePolicy:
  7006. description: Indicate how the termination message should be
  7007. populated. File will use the contents of terminationMessagePath
  7008. to populate the container status message on both success and
  7009. failure. FallbackToLogsOnError will use the last chunk of
  7010. container log output if the termination message file is empty
  7011. and the container exited with an error. The log output is
  7012. limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
  7013. to File. Cannot be updated.
  7014. type: string
  7015. tty:
  7016. description: Whether this container should allocate a TTY for
  7017. itself, also requires 'stdin' to be true. Default is false.
  7018. type: boolean
  7019. volumeDevices:
  7020. description: volumeDevices is the list of block devices to be
  7021. used by the container.
  7022. items:
  7023. description: volumeDevice describes a mapping of a raw block
  7024. device within a container.
  7025. properties:
  7026. devicePath:
  7027. description: devicePath is the path inside of the container
  7028. that the device will be mapped to.
  7029. type: string
  7030. name:
  7031. description: name must match the name of a persistentVolumeClaim
  7032. in the pod
  7033. type: string
  7034. required:
  7035. - devicePath
  7036. - name
  7037. type: object
  7038. type: array
  7039. volumeMounts:
  7040. description: Pod volumes to mount into the container's filesystem.
  7041. Cannot be updated.
  7042. items:
  7043. description: VolumeMount describes a mounting of a Volume
  7044. within a container.
  7045. properties:
  7046. mountPath:
  7047. description: Path within the container at which the volume
  7048. should be mounted. Must not contain ':'.
  7049. type: string
  7050. mountPropagation:
  7051. description: mountPropagation determines how mounts are
  7052. propagated from the host to container and the other
  7053. way around. When not set, MountPropagationNone is used.
  7054. This field is beta in 1.10.
  7055. type: string
  7056. name:
  7057. description: This must match the Name of a Volume.
  7058. type: string
  7059. readOnly:
  7060. description: Mounted read-only if true, read-write otherwise
  7061. (false or unspecified). Defaults to false.
  7062. type: boolean
  7063. subPath:
  7064. description: Path within the volume from which the container's
  7065. volume should be mounted. Defaults to "" (volume's root).
  7066. type: string
  7067. subPathExpr:
  7068. description: Expanded path within the volume from which
  7069. the container's volume should be mounted. Behaves similarly
  7070. to SubPath but environment variable references $(VAR_NAME)
  7071. are expanded using the container's environment. Defaults
  7072. to "" (volume's root). SubPathExpr and SubPath are mutually
  7073. exclusive.
  7074. type: string
  7075. required:
  7076. - mountPath
  7077. - name
  7078. type: object
  7079. type: array
  7080. workingDir:
  7081. description: Container's working directory. If not specified,
  7082. the container runtime's default will be used, which might
  7083. be configured in the container image. Cannot be updated.
  7084. type: string
  7085. required:
  7086. - name
  7087. type: object
  7088. type: array
  7089. externalUrl:
  7090. description: The external URL the Alertmanager instances will be available
  7091. under. This is necessary to generate correct URLs. This is necessary
  7092. if Alertmanager is not served from root of a DNS name.
  7093. type: string
  7094. forceEnableClusterMode:
  7095. description: ForceEnableClusterMode ensures Alertmanager does not
  7096. deactivate the cluster mode when running with a single replica.
  7097. Use case is e.g. spanning an Alertmanager cluster across Kubernetes
  7098. clusters with a single replica in each.
  7099. type: boolean
  7100. hostAliases:
  7101. description: Pods' hostAliases configuration
  7102. items:
  7103. description: HostAlias holds the mapping between IP and hostnames
  7104. that will be injected as an entry in the pod's hosts file.
  7105. properties:
  7106. hostnames:
  7107. description: Hostnames for the above IP address.
  7108. items:
  7109. type: string
  7110. type: array
  7111. ip:
  7112. description: IP address of the host file entry.
  7113. type: string
  7114. required:
  7115. - hostnames
  7116. - ip
  7117. type: object
  7118. type: array
  7119. x-kubernetes-list-map-keys:
  7120. - ip
  7121. x-kubernetes-list-type: map
  7122. image:
  7123. description: Image if specified has precedence over baseImage, tag
  7124. and sha combinations. Specifying the version is still necessary
  7125. to ensure the Prometheus Operator knows what version of Alertmanager
  7126. is being configured.
  7127. type: string
  7128. imagePullSecrets:
  7129. description: An optional list of references to secrets in the same
  7130. namespace to use for pulling prometheus and alertmanager images
  7131. from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
  7132. items:
  7133. description: LocalObjectReference contains enough information to
  7134. let you locate the referenced object inside the same namespace.
  7135. properties:
  7136. name:
  7137. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7138. TODO: Add other useful fields. apiVersion, kind, uid?'
  7139. type: string
  7140. type: object
  7141. x-kubernetes-map-type: atomic
  7142. type: array
  7143. initContainers:
  7144. description: 'InitContainers allows adding initContainers to the pod
  7145. definition. Those can be used to e.g. fetch secrets for injection
  7146. into the Alertmanager configuration from external sources. Any errors
  7147. during the execution of an initContainer will lead to a restart
  7148. of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  7149. Using initContainers for any use case other then secret fetching
  7150. is entirely outside the scope of what the maintainers will support
  7151. and by doing so, you accept that this behaviour may break at any
  7152. time without notice.'
  7153. items:
  7154. description: A single application container that you want to run
  7155. within a pod.
  7156. properties:
  7157. args:
  7158. description: 'Arguments to the entrypoint. The container image''s
  7159. CMD is used if this is not provided. Variable references $(VAR_NAME)
  7160. are expanded using the container''s environment. If a variable
  7161. cannot be resolved, the reference in the input string will
  7162. be unchanged. Double $$ are reduced to a single $, which allows
  7163. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  7164. produce the string literal "$(VAR_NAME)". Escaped references
  7165. will never be expanded, regardless of whether the variable
  7166. 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'
  7167. items:
  7168. type: string
  7169. type: array
  7170. command:
  7171. description: 'Entrypoint array. Not executed within a shell.
  7172. The container image''s ENTRYPOINT is used if this is not provided.
  7173. Variable references $(VAR_NAME) are expanded using the container''s
  7174. environment. If a variable cannot be resolved, the reference
  7175. in the input string will be unchanged. Double $$ are reduced
  7176. to a single $, which allows for escaping the $(VAR_NAME) syntax:
  7177. i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  7178. Escaped references will never be expanded, regardless of whether
  7179. the variable exists or not. Cannot be updated. More info:
  7180. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  7181. items:
  7182. type: string
  7183. type: array
  7184. env:
  7185. description: List of environment variables to set in the container.
  7186. Cannot be updated.
  7187. items:
  7188. description: EnvVar represents an environment variable present
  7189. in a Container.
  7190. properties:
  7191. name:
  7192. description: Name of the environment variable. Must be
  7193. a C_IDENTIFIER.
  7194. type: string
  7195. value:
  7196. description: 'Variable references $(VAR_NAME) are expanded
  7197. using the previously defined environment variables in
  7198. the container and any service environment variables.
  7199. If a variable cannot be resolved, the reference in the
  7200. input string will be unchanged. Double $$ are reduced
  7201. to a single $, which allows for escaping the $(VAR_NAME)
  7202. syntax: i.e. "$$(VAR_NAME)" will produce the string
  7203. literal "$(VAR_NAME)". Escaped references will never
  7204. be expanded, regardless of whether the variable exists
  7205. or not. Defaults to "".'
  7206. type: string
  7207. valueFrom:
  7208. description: Source for the environment variable's value.
  7209. Cannot be used if value is not empty.
  7210. properties:
  7211. configMapKeyRef:
  7212. description: Selects a key of a ConfigMap.
  7213. properties:
  7214. key:
  7215. description: The key to select.
  7216. type: string
  7217. name:
  7218. description: 'Name of the referent. More info:
  7219. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7220. TODO: Add other useful fields. apiVersion, kind,
  7221. uid?'
  7222. type: string
  7223. optional:
  7224. description: Specify whether the ConfigMap or
  7225. its key must be defined
  7226. type: boolean
  7227. required:
  7228. - key
  7229. type: object
  7230. x-kubernetes-map-type: atomic
  7231. fieldRef:
  7232. description: 'Selects a field of the pod: supports
  7233. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  7234. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  7235. spec.serviceAccountName, status.hostIP, status.podIP,
  7236. status.podIPs.'
  7237. properties:
  7238. apiVersion:
  7239. description: Version of the schema the FieldPath
  7240. is written in terms of, defaults to "v1".
  7241. type: string
  7242. fieldPath:
  7243. description: Path of the field to select in the
  7244. specified API version.
  7245. type: string
  7246. required:
  7247. - fieldPath
  7248. type: object
  7249. x-kubernetes-map-type: atomic
  7250. resourceFieldRef:
  7251. description: 'Selects a resource of the container:
  7252. only resources limits and requests (limits.cpu,
  7253. limits.memory, limits.ephemeral-storage, requests.cpu,
  7254. requests.memory and requests.ephemeral-storage)
  7255. are currently supported.'
  7256. properties:
  7257. containerName:
  7258. description: 'Container name: required for volumes,
  7259. optional for env vars'
  7260. type: string
  7261. divisor:
  7262. anyOf:
  7263. - type: integer
  7264. - type: string
  7265. description: Specifies the output format of the
  7266. exposed resources, defaults to "1"
  7267. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7268. x-kubernetes-int-or-string: true
  7269. resource:
  7270. description: 'Required: resource to select'
  7271. type: string
  7272. required:
  7273. - resource
  7274. type: object
  7275. x-kubernetes-map-type: atomic
  7276. secretKeyRef:
  7277. description: Selects a key of a secret in the pod's
  7278. namespace
  7279. properties:
  7280. key:
  7281. description: The key of the secret to select from. Must
  7282. be a valid secret key.
  7283. type: string
  7284. name:
  7285. description: 'Name of the referent. More info:
  7286. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7287. TODO: Add other useful fields. apiVersion, kind,
  7288. uid?'
  7289. type: string
  7290. optional:
  7291. description: Specify whether the Secret or its
  7292. key must be defined
  7293. type: boolean
  7294. required:
  7295. - key
  7296. type: object
  7297. x-kubernetes-map-type: atomic
  7298. type: object
  7299. required:
  7300. - name
  7301. type: object
  7302. type: array
  7303. envFrom:
  7304. description: List of sources to populate environment variables
  7305. in the container. The keys defined within a source must be
  7306. a C_IDENTIFIER. All invalid keys will be reported as an event
  7307. when the container is starting. When a key exists in multiple
  7308. sources, the value associated with the last source will take
  7309. precedence. Values defined by an Env with a duplicate key
  7310. will take precedence. Cannot be updated.
  7311. items:
  7312. description: EnvFromSource represents the source of a set
  7313. of ConfigMaps
  7314. properties:
  7315. configMapRef:
  7316. description: The ConfigMap to select from
  7317. properties:
  7318. name:
  7319. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7320. TODO: Add other useful fields. apiVersion, kind,
  7321. uid?'
  7322. type: string
  7323. optional:
  7324. description: Specify whether the ConfigMap must be
  7325. defined
  7326. type: boolean
  7327. type: object
  7328. x-kubernetes-map-type: atomic
  7329. prefix:
  7330. description: An optional identifier to prepend to each
  7331. key in the ConfigMap. Must be a C_IDENTIFIER.
  7332. type: string
  7333. secretRef:
  7334. description: The Secret to select from
  7335. properties:
  7336. name:
  7337. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  7338. TODO: Add other useful fields. apiVersion, kind,
  7339. uid?'
  7340. type: string
  7341. optional:
  7342. description: Specify whether the Secret must be defined
  7343. type: boolean
  7344. type: object
  7345. x-kubernetes-map-type: atomic
  7346. type: object
  7347. type: array
  7348. image:
  7349. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  7350. This field is optional to allow higher level config management
  7351. to default or override container images in workload controllers
  7352. like Deployments and StatefulSets.'
  7353. type: string
  7354. imagePullPolicy:
  7355. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  7356. Defaults to Always if :latest tag is specified, or IfNotPresent
  7357. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  7358. type: string
  7359. lifecycle:
  7360. description: Actions that the management system should take
  7361. in response to container lifecycle events. Cannot be updated.
  7362. properties:
  7363. postStart:
  7364. description: 'PostStart is called immediately after a container
  7365. is created. If the handler fails, the container is terminated
  7366. and restarted according to its restart policy. Other management
  7367. of the container blocks until the hook completes. More
  7368. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  7369. properties:
  7370. exec:
  7371. description: Exec specifies the action to take.
  7372. properties:
  7373. command:
  7374. description: Command is the command line to execute
  7375. inside the container, the working directory for
  7376. the command is root ('/') in the container's
  7377. filesystem. The command is simply exec'd, it is
  7378. not run inside a shell, so traditional shell instructions
  7379. ('|', etc) won't work. To use a shell, you need
  7380. to explicitly call out to that shell. Exit status
  7381. of 0 is treated as live/healthy and non-zero is
  7382. unhealthy.
  7383. items:
  7384. type: string
  7385. type: array
  7386. type: object
  7387. httpGet:
  7388. description: HTTPGet specifies the http request to perform.
  7389. properties:
  7390. host:
  7391. description: Host name to connect to, defaults to
  7392. the pod IP. You probably want to set "Host" in
  7393. httpHeaders instead.
  7394. type: string
  7395. httpHeaders:
  7396. description: Custom headers to set in the request.
  7397. HTTP allows repeated headers.
  7398. items:
  7399. description: HTTPHeader describes a custom header
  7400. to be used in HTTP probes
  7401. properties:
  7402. name:
  7403. description: The header field name
  7404. type: string
  7405. value:
  7406. description: The header field value
  7407. type: string
  7408. required:
  7409. - name
  7410. - value
  7411. type: object
  7412. type: array
  7413. path:
  7414. description: Path to access on the HTTP server.
  7415. type: string
  7416. port:
  7417. anyOf:
  7418. - type: integer
  7419. - type: string
  7420. description: Name or number of the port to access
  7421. on the container. Number must be in the range
  7422. 1 to 65535. Name must be an IANA_SVC_NAME.
  7423. x-kubernetes-int-or-string: true
  7424. scheme:
  7425. description: Scheme to use for connecting to the
  7426. host. Defaults to HTTP.
  7427. type: string
  7428. required:
  7429. - port
  7430. type: object
  7431. tcpSocket:
  7432. description: Deprecated. TCPSocket is NOT supported
  7433. as a LifecycleHandler and kept for the backward compatibility.
  7434. There are no validation of this field and lifecycle
  7435. hooks will fail in runtime when tcp handler is specified.
  7436. properties:
  7437. host:
  7438. description: 'Optional: Host name to connect to,
  7439. defaults to the pod IP.'
  7440. type: string
  7441. port:
  7442. anyOf:
  7443. - type: integer
  7444. - type: string
  7445. description: Number or name of the port to access
  7446. on the container. Number must be in the range
  7447. 1 to 65535. Name must be an IANA_SVC_NAME.
  7448. x-kubernetes-int-or-string: true
  7449. required:
  7450. - port
  7451. type: object
  7452. type: object
  7453. preStop:
  7454. description: 'PreStop is called immediately before a container
  7455. is terminated due to an API request or management event
  7456. such as liveness/startup probe failure, preemption, resource
  7457. contention, etc. The handler is not called if the container
  7458. crashes or exits. The Pod''s termination grace period
  7459. countdown begins before the PreStop hook is executed.
  7460. Regardless of the outcome of the handler, the container
  7461. will eventually terminate within the Pod''s termination
  7462. grace period (unless delayed by finalizers). Other management
  7463. of the container blocks until the hook completes or until
  7464. the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  7465. properties:
  7466. exec:
  7467. description: Exec specifies the action to take.
  7468. properties:
  7469. command:
  7470. description: Command is the command line to execute
  7471. inside the container, the working directory for
  7472. the command is root ('/') in the container's
  7473. filesystem. The command is simply exec'd, it is
  7474. not run inside a shell, so traditional shell instructions
  7475. ('|', etc) won't work. To use a shell, you need
  7476. to explicitly call out to that shell. Exit status
  7477. of 0 is treated as live/healthy and non-zero is
  7478. unhealthy.
  7479. items:
  7480. type: string
  7481. type: array
  7482. type: object
  7483. httpGet:
  7484. description: HTTPGet specifies the http request to perform.
  7485. properties:
  7486. host:
  7487. description: Host name to connect to, defaults to
  7488. the pod IP. You probably want to set "Host" in
  7489. httpHeaders instead.
  7490. type: string
  7491. httpHeaders:
  7492. description: Custom headers to set in the request.
  7493. HTTP allows repeated headers.
  7494. items:
  7495. description: HTTPHeader describes a custom header
  7496. to be used in HTTP probes
  7497. properties:
  7498. name:
  7499. description: The header field name
  7500. type: string
  7501. value:
  7502. description: The header field value
  7503. type: string
  7504. required:
  7505. - name
  7506. - value
  7507. type: object
  7508. type: array
  7509. path:
  7510. description: Path to access on the HTTP server.
  7511. type: string
  7512. port:
  7513. anyOf:
  7514. - type: integer
  7515. - type: string
  7516. description: Name or number of the port to access
  7517. on the container. Number must be in the range
  7518. 1 to 65535. Name must be an IANA_SVC_NAME.
  7519. x-kubernetes-int-or-string: true
  7520. scheme:
  7521. description: Scheme to use for connecting to the
  7522. host. Defaults to HTTP.
  7523. type: string
  7524. required:
  7525. - port
  7526. type: object
  7527. tcpSocket:
  7528. description: Deprecated. TCPSocket is NOT supported
  7529. as a LifecycleHandler and kept for the backward compatibility.
  7530. There are no validation of this field and lifecycle
  7531. hooks will fail in runtime when tcp handler is specified.
  7532. properties:
  7533. host:
  7534. description: 'Optional: Host name to connect to,
  7535. defaults to the pod IP.'
  7536. type: string
  7537. port:
  7538. anyOf:
  7539. - type: integer
  7540. - type: string
  7541. description: Number or name of the port to access
  7542. on the container. Number must be in the range
  7543. 1 to 65535. Name must be an IANA_SVC_NAME.
  7544. x-kubernetes-int-or-string: true
  7545. required:
  7546. - port
  7547. type: object
  7548. type: object
  7549. type: object
  7550. livenessProbe:
  7551. description: 'Periodic probe of container liveness. Container
  7552. will be restarted if the probe fails. Cannot be updated. More
  7553. info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  7554. properties:
  7555. exec:
  7556. description: Exec specifies the action to take.
  7557. properties:
  7558. command:
  7559. description: Command is the command line to execute
  7560. inside the container, the working directory for the
  7561. command is root ('/') in the container's filesystem.
  7562. The command is simply exec'd, it is not run inside
  7563. a shell, so traditional shell instructions ('|', etc)
  7564. won't work. To use a shell, you need to explicitly
  7565. call out to that shell. Exit status of 0 is treated
  7566. as live/healthy and non-zero is unhealthy.
  7567. items:
  7568. type: string
  7569. type: array
  7570. type: object
  7571. failureThreshold:
  7572. description: Minimum consecutive failures for the probe
  7573. to be considered failed after having succeeded. Defaults
  7574. to 3. Minimum value is 1.
  7575. format: int32
  7576. type: integer
  7577. grpc:
  7578. description: GRPC specifies an action involving a GRPC port.
  7579. This is a beta field and requires enabling GRPCContainerProbe
  7580. feature gate.
  7581. properties:
  7582. port:
  7583. description: Port number of the gRPC service. Number
  7584. must be in the range 1 to 65535.
  7585. format: int32
  7586. type: integer
  7587. service:
  7588. description: "Service is the name of the service to
  7589. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  7590. \n If this is not specified, the default behavior
  7591. is defined by gRPC."
  7592. type: string
  7593. required:
  7594. - port
  7595. type: object
  7596. httpGet:
  7597. description: HTTPGet specifies the http request to perform.
  7598. properties:
  7599. host:
  7600. description: Host name to connect to, defaults to the
  7601. pod IP. You probably want to set "Host" in httpHeaders
  7602. instead.
  7603. type: string
  7604. httpHeaders:
  7605. description: Custom headers to set in the request. HTTP
  7606. allows repeated headers.
  7607. items:
  7608. description: HTTPHeader describes a custom header
  7609. to be used in HTTP probes
  7610. properties:
  7611. name:
  7612. description: The header field name
  7613. type: string
  7614. value:
  7615. description: The header field value
  7616. type: string
  7617. required:
  7618. - name
  7619. - value
  7620. type: object
  7621. type: array
  7622. path:
  7623. description: Path to access on the HTTP server.
  7624. type: string
  7625. port:
  7626. anyOf:
  7627. - type: integer
  7628. - type: string
  7629. description: Name or number of the port to access on
  7630. the container. Number must be in the range 1 to 65535.
  7631. Name must be an IANA_SVC_NAME.
  7632. x-kubernetes-int-or-string: true
  7633. scheme:
  7634. description: Scheme to use for connecting to the host.
  7635. Defaults to HTTP.
  7636. type: string
  7637. required:
  7638. - port
  7639. type: object
  7640. initialDelaySeconds:
  7641. description: 'Number of seconds after the container has
  7642. started before liveness probes are initiated. More info:
  7643. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  7644. format: int32
  7645. type: integer
  7646. periodSeconds:
  7647. description: How often (in seconds) to perform the probe.
  7648. Default to 10 seconds. Minimum value is 1.
  7649. format: int32
  7650. type: integer
  7651. successThreshold:
  7652. description: Minimum consecutive successes for the probe
  7653. to be considered successful after having failed. Defaults
  7654. to 1. Must be 1 for liveness and startup. Minimum value
  7655. is 1.
  7656. format: int32
  7657. type: integer
  7658. tcpSocket:
  7659. description: TCPSocket specifies an action involving a TCP
  7660. port.
  7661. properties:
  7662. host:
  7663. description: 'Optional: Host name to connect to, defaults
  7664. to the pod IP.'
  7665. type: string
  7666. port:
  7667. anyOf:
  7668. - type: integer
  7669. - type: string
  7670. description: Number or name of the port to access on
  7671. the container. Number must be in the range 1 to 65535.
  7672. Name must be an IANA_SVC_NAME.
  7673. x-kubernetes-int-or-string: true
  7674. required:
  7675. - port
  7676. type: object
  7677. terminationGracePeriodSeconds:
  7678. description: Optional duration in seconds the pod needs
  7679. to terminate gracefully upon probe failure. The grace
  7680. period is the duration in seconds after the processes
  7681. running in the pod are sent a termination signal and the
  7682. time when the processes are forcibly halted with a kill
  7683. signal. Set this value longer than the expected cleanup
  7684. time for your process. If this value is nil, the pod's
  7685. terminationGracePeriodSeconds will be used. Otherwise,
  7686. this value overrides the value provided by the pod spec.
  7687. Value must be non-negative integer. The value zero indicates
  7688. stop immediately via the kill signal (no opportunity to
  7689. shut down). This is a beta field and requires enabling
  7690. ProbeTerminationGracePeriod feature gate. Minimum value
  7691. is 1. spec.terminationGracePeriodSeconds is used if unset.
  7692. format: int64
  7693. type: integer
  7694. timeoutSeconds:
  7695. description: 'Number of seconds after which the probe times
  7696. out. Defaults to 1 second. Minimum value is 1. More info:
  7697. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  7698. format: int32
  7699. type: integer
  7700. type: object
  7701. name:
  7702. description: Name of the container specified as a DNS_LABEL.
  7703. Each container in a pod must have a unique name (DNS_LABEL).
  7704. Cannot be updated.
  7705. type: string
  7706. ports:
  7707. description: List of ports to expose from the container. Exposing
  7708. a port here gives the system additional information about
  7709. the network connections a container uses, but is primarily
  7710. informational. Not specifying a port here DOES NOT prevent
  7711. that port from being exposed. Any port which is listening
  7712. on the default "0.0.0.0" address inside a container will be
  7713. accessible from the network. Cannot be updated.
  7714. items:
  7715. description: ContainerPort represents a network port in a
  7716. single container.
  7717. properties:
  7718. containerPort:
  7719. description: Number of port to expose on the pod's IP
  7720. address. This must be a valid port number, 0 < x < 65536.
  7721. format: int32
  7722. type: integer
  7723. hostIP:
  7724. description: What host IP to bind the external port to.
  7725. type: string
  7726. hostPort:
  7727. description: Number of port to expose on the host. If
  7728. specified, this must be a valid port number, 0 < x <
  7729. 65536. If HostNetwork is specified, this must match
  7730. ContainerPort. Most containers do not need this.
  7731. format: int32
  7732. type: integer
  7733. name:
  7734. description: If specified, this must be an IANA_SVC_NAME
  7735. and unique within the pod. Each named port in a pod
  7736. must have a unique name. Name for the port that can
  7737. be referred to by services.
  7738. type: string
  7739. protocol:
  7740. default: TCP
  7741. description: Protocol for port. Must be UDP, TCP, or SCTP.
  7742. Defaults to "TCP".
  7743. type: string
  7744. required:
  7745. - containerPort
  7746. type: object
  7747. type: array
  7748. x-kubernetes-list-map-keys:
  7749. - containerPort
  7750. - protocol
  7751. x-kubernetes-list-type: map
  7752. readinessProbe:
  7753. description: 'Periodic probe of container service readiness.
  7754. Container will be removed from service endpoints if the probe
  7755. fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  7756. properties:
  7757. exec:
  7758. description: Exec specifies the action to take.
  7759. properties:
  7760. command:
  7761. description: Command is the command line to execute
  7762. inside the container, the working directory for the
  7763. command is root ('/') in the container's filesystem.
  7764. The command is simply exec'd, it is not run inside
  7765. a shell, so traditional shell instructions ('|', etc)
  7766. won't work. To use a shell, you need to explicitly
  7767. call out to that shell. Exit status of 0 is treated
  7768. as live/healthy and non-zero is unhealthy.
  7769. items:
  7770. type: string
  7771. type: array
  7772. type: object
  7773. failureThreshold:
  7774. description: Minimum consecutive failures for the probe
  7775. to be considered failed after having succeeded. Defaults
  7776. to 3. Minimum value is 1.
  7777. format: int32
  7778. type: integer
  7779. grpc:
  7780. description: GRPC specifies an action involving a GRPC port.
  7781. This is a beta field and requires enabling GRPCContainerProbe
  7782. feature gate.
  7783. properties:
  7784. port:
  7785. description: Port number of the gRPC service. Number
  7786. must be in the range 1 to 65535.
  7787. format: int32
  7788. type: integer
  7789. service:
  7790. description: "Service is the name of the service to
  7791. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  7792. \n If this is not specified, the default behavior
  7793. is defined by gRPC."
  7794. type: string
  7795. required:
  7796. - port
  7797. type: object
  7798. httpGet:
  7799. description: HTTPGet specifies the http request to perform.
  7800. properties:
  7801. host:
  7802. description: Host name to connect to, defaults to the
  7803. pod IP. You probably want to set "Host" in httpHeaders
  7804. instead.
  7805. type: string
  7806. httpHeaders:
  7807. description: Custom headers to set in the request. HTTP
  7808. allows repeated headers.
  7809. items:
  7810. description: HTTPHeader describes a custom header
  7811. to be used in HTTP probes
  7812. properties:
  7813. name:
  7814. description: The header field name
  7815. type: string
  7816. value:
  7817. description: The header field value
  7818. type: string
  7819. required:
  7820. - name
  7821. - value
  7822. type: object
  7823. type: array
  7824. path:
  7825. description: Path to access on the HTTP server.
  7826. type: string
  7827. port:
  7828. anyOf:
  7829. - type: integer
  7830. - type: string
  7831. description: Name or number of the port to access on
  7832. the container. Number must be in the range 1 to 65535.
  7833. Name must be an IANA_SVC_NAME.
  7834. x-kubernetes-int-or-string: true
  7835. scheme:
  7836. description: Scheme to use for connecting to the host.
  7837. Defaults to HTTP.
  7838. type: string
  7839. required:
  7840. - port
  7841. type: object
  7842. initialDelaySeconds:
  7843. description: 'Number of seconds after the container has
  7844. started before liveness probes are initiated. More info:
  7845. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  7846. format: int32
  7847. type: integer
  7848. periodSeconds:
  7849. description: How often (in seconds) to perform the probe.
  7850. Default to 10 seconds. Minimum value is 1.
  7851. format: int32
  7852. type: integer
  7853. successThreshold:
  7854. description: Minimum consecutive successes for the probe
  7855. to be considered successful after having failed. Defaults
  7856. to 1. Must be 1 for liveness and startup. Minimum value
  7857. is 1.
  7858. format: int32
  7859. type: integer
  7860. tcpSocket:
  7861. description: TCPSocket specifies an action involving a TCP
  7862. port.
  7863. properties:
  7864. host:
  7865. description: 'Optional: Host name to connect to, defaults
  7866. to the pod IP.'
  7867. type: string
  7868. port:
  7869. anyOf:
  7870. - type: integer
  7871. - type: string
  7872. description: Number or name of the port to access on
  7873. the container. Number must be in the range 1 to 65535.
  7874. Name must be an IANA_SVC_NAME.
  7875. x-kubernetes-int-or-string: true
  7876. required:
  7877. - port
  7878. type: object
  7879. terminationGracePeriodSeconds:
  7880. description: Optional duration in seconds the pod needs
  7881. to terminate gracefully upon probe failure. The grace
  7882. period is the duration in seconds after the processes
  7883. running in the pod are sent a termination signal and the
  7884. time when the processes are forcibly halted with a kill
  7885. signal. Set this value longer than the expected cleanup
  7886. time for your process. If this value is nil, the pod's
  7887. terminationGracePeriodSeconds will be used. Otherwise,
  7888. this value overrides the value provided by the pod spec.
  7889. Value must be non-negative integer. The value zero indicates
  7890. stop immediately via the kill signal (no opportunity to
  7891. shut down). This is a beta field and requires enabling
  7892. ProbeTerminationGracePeriod feature gate. Minimum value
  7893. is 1. spec.terminationGracePeriodSeconds is used if unset.
  7894. format: int64
  7895. type: integer
  7896. timeoutSeconds:
  7897. description: 'Number of seconds after which the probe times
  7898. out. Defaults to 1 second. Minimum value is 1. More info:
  7899. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  7900. format: int32
  7901. type: integer
  7902. type: object
  7903. resources:
  7904. description: 'Compute Resources required by this container.
  7905. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  7906. properties:
  7907. limits:
  7908. additionalProperties:
  7909. anyOf:
  7910. - type: integer
  7911. - type: string
  7912. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7913. x-kubernetes-int-or-string: true
  7914. description: 'Limits describes the maximum amount of compute
  7915. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  7916. type: object
  7917. requests:
  7918. additionalProperties:
  7919. anyOf:
  7920. - type: integer
  7921. - type: string
  7922. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7923. x-kubernetes-int-or-string: true
  7924. description: 'Requests describes the minimum amount of compute
  7925. resources required. If Requests is omitted for a container,
  7926. it defaults to Limits if that is explicitly specified,
  7927. otherwise to an implementation-defined value. More info:
  7928. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  7929. type: object
  7930. type: object
  7931. securityContext:
  7932. description: 'SecurityContext defines the security options the
  7933. container should be run with. If set, the fields of SecurityContext
  7934. override the equivalent fields of PodSecurityContext. More
  7935. info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  7936. properties:
  7937. allowPrivilegeEscalation:
  7938. description: 'AllowPrivilegeEscalation controls whether
  7939. a process can gain more privileges than its parent process.
  7940. This bool directly controls if the no_new_privs flag will
  7941. be set on the container process. AllowPrivilegeEscalation
  7942. is true always when the container is: 1) run as Privileged
  7943. 2) has CAP_SYS_ADMIN Note that this field cannot be set
  7944. when spec.os.name is windows.'
  7945. type: boolean
  7946. capabilities:
  7947. description: The capabilities to add/drop when running containers.
  7948. Defaults to the default set of capabilities granted by
  7949. the container runtime. Note that this field cannot be
  7950. set when spec.os.name is windows.
  7951. properties:
  7952. add:
  7953. description: Added capabilities
  7954. items:
  7955. description: Capability represent POSIX capabilities
  7956. type
  7957. type: string
  7958. type: array
  7959. drop:
  7960. description: Removed capabilities
  7961. items:
  7962. description: Capability represent POSIX capabilities
  7963. type
  7964. type: string
  7965. type: array
  7966. type: object
  7967. privileged:
  7968. description: Run container in privileged mode. Processes
  7969. in privileged containers are essentially equivalent to
  7970. root on the host. Defaults to false. Note that this field
  7971. cannot be set when spec.os.name is windows.
  7972. type: boolean
  7973. procMount:
  7974. description: procMount denotes the type of proc mount to
  7975. use for the containers. The default is DefaultProcMount
  7976. which uses the container runtime defaults for readonly
  7977. paths and masked paths. This requires the ProcMountType
  7978. feature flag to be enabled. Note that this field cannot
  7979. be set when spec.os.name is windows.
  7980. type: string
  7981. readOnlyRootFilesystem:
  7982. description: Whether this container has a read-only root
  7983. filesystem. Default is false. Note that this field cannot
  7984. be set when spec.os.name is windows.
  7985. type: boolean
  7986. runAsGroup:
  7987. description: The GID to run the entrypoint of the container
  7988. process. Uses runtime default if unset. May also be set
  7989. in PodSecurityContext. If set in both SecurityContext
  7990. and PodSecurityContext, the value specified in SecurityContext
  7991. takes precedence. Note that this field cannot be set when
  7992. spec.os.name is windows.
  7993. format: int64
  7994. type: integer
  7995. runAsNonRoot:
  7996. description: Indicates that the container must run as a
  7997. non-root user. If true, the Kubelet will validate the
  7998. image at runtime to ensure that it does not run as UID
  7999. 0 (root) and fail to start the container if it does. If
  8000. unset or false, no such validation will be performed.
  8001. May also be set in PodSecurityContext. If set in both
  8002. SecurityContext and PodSecurityContext, the value specified
  8003. in SecurityContext takes precedence.
  8004. type: boolean
  8005. runAsUser:
  8006. description: The UID to run the entrypoint of the container
  8007. process. Defaults to user specified in image metadata
  8008. if unspecified. May also be set in PodSecurityContext. If
  8009. set in both SecurityContext and PodSecurityContext, the
  8010. value specified in SecurityContext takes precedence. Note
  8011. that this field cannot be set when spec.os.name is windows.
  8012. format: int64
  8013. type: integer
  8014. seLinuxOptions:
  8015. description: The SELinux context to be applied to the container.
  8016. If unspecified, the container runtime will allocate a
  8017. random SELinux context for each container. May also be
  8018. set in PodSecurityContext. If set in both SecurityContext
  8019. and PodSecurityContext, the value specified in SecurityContext
  8020. takes precedence. Note that this field cannot be set when
  8021. spec.os.name is windows.
  8022. properties:
  8023. level:
  8024. description: Level is SELinux level label that applies
  8025. to the container.
  8026. type: string
  8027. role:
  8028. description: Role is a SELinux role label that applies
  8029. to the container.
  8030. type: string
  8031. type:
  8032. description: Type is a SELinux type label that applies
  8033. to the container.
  8034. type: string
  8035. user:
  8036. description: User is a SELinux user label that applies
  8037. to the container.
  8038. type: string
  8039. type: object
  8040. seccompProfile:
  8041. description: The seccomp options to use by this container.
  8042. If seccomp options are provided at both the pod & container
  8043. level, the container options override the pod options.
  8044. Note that this field cannot be set when spec.os.name is
  8045. windows.
  8046. properties:
  8047. localhostProfile:
  8048. description: localhostProfile indicates a profile defined
  8049. in a file on the node should be used. The profile
  8050. must be preconfigured on the node to work. Must be
  8051. a descending path, relative to the kubelet's configured
  8052. seccomp profile location. Must only be set if type
  8053. is "Localhost".
  8054. type: string
  8055. type:
  8056. description: "type indicates which kind of seccomp profile
  8057. will be applied. Valid options are: \n Localhost -
  8058. a profile defined in a file on the node should be
  8059. used. RuntimeDefault - the container runtime default
  8060. profile should be used. Unconfined - no profile should
  8061. be applied."
  8062. type: string
  8063. required:
  8064. - type
  8065. type: object
  8066. windowsOptions:
  8067. description: The Windows specific settings applied to all
  8068. containers. If unspecified, the options from the PodSecurityContext
  8069. will be used. If set in both SecurityContext and PodSecurityContext,
  8070. the value specified in SecurityContext takes precedence.
  8071. Note that this field cannot be set when spec.os.name is
  8072. linux.
  8073. properties:
  8074. gmsaCredentialSpec:
  8075. description: GMSACredentialSpec is where the GMSA admission
  8076. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  8077. inlines the contents of the GMSA credential spec named
  8078. by the GMSACredentialSpecName field.
  8079. type: string
  8080. gmsaCredentialSpecName:
  8081. description: GMSACredentialSpecName is the name of the
  8082. GMSA credential spec to use.
  8083. type: string
  8084. hostProcess:
  8085. description: HostProcess determines if a container should
  8086. be run as a 'Host Process' container. This field is
  8087. alpha-level and will only be honored by components
  8088. that enable the WindowsHostProcessContainers feature
  8089. flag. Setting this field without the feature flag
  8090. will result in errors when validating the Pod. All
  8091. of a Pod's containers must have the same effective
  8092. HostProcess value (it is not allowed to have a mix
  8093. of HostProcess containers and non-HostProcess containers). In
  8094. addition, if HostProcess is true then HostNetwork
  8095. must also be set to true.
  8096. type: boolean
  8097. runAsUserName:
  8098. description: The UserName in Windows to run the entrypoint
  8099. of the container process. Defaults to the user specified
  8100. in image metadata if unspecified. May also be set
  8101. in PodSecurityContext. If set in both SecurityContext
  8102. and PodSecurityContext, the value specified in SecurityContext
  8103. takes precedence.
  8104. type: string
  8105. type: object
  8106. type: object
  8107. startupProbe:
  8108. description: 'StartupProbe indicates that the Pod has successfully
  8109. initialized. If specified, no other probes are executed until
  8110. this completes successfully. If this probe fails, the Pod
  8111. will be restarted, just as if the livenessProbe failed. This
  8112. can be used to provide different probe parameters at the beginning
  8113. of a Pod''s lifecycle, when it might take a long time to load
  8114. data or warm a cache, than during steady-state operation.
  8115. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8116. properties:
  8117. exec:
  8118. description: Exec specifies the action to take.
  8119. properties:
  8120. command:
  8121. description: Command is the command line to execute
  8122. inside the container, the working directory for the
  8123. command is root ('/') in the container's filesystem.
  8124. The command is simply exec'd, it is not run inside
  8125. a shell, so traditional shell instructions ('|', etc)
  8126. won't work. To use a shell, you need to explicitly
  8127. call out to that shell. Exit status of 0 is treated
  8128. as live/healthy and non-zero is unhealthy.
  8129. items:
  8130. type: string
  8131. type: array
  8132. type: object
  8133. failureThreshold:
  8134. description: Minimum consecutive failures for the probe
  8135. to be considered failed after having succeeded. Defaults
  8136. to 3. Minimum value is 1.
  8137. format: int32
  8138. type: integer
  8139. grpc:
  8140. description: GRPC specifies an action involving a GRPC port.
  8141. This is a beta field and requires enabling GRPCContainerProbe
  8142. feature gate.
  8143. properties:
  8144. port:
  8145. description: Port number of the gRPC service. Number
  8146. must be in the range 1 to 65535.
  8147. format: int32
  8148. type: integer
  8149. service:
  8150. description: "Service is the name of the service to
  8151. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  8152. \n If this is not specified, the default behavior
  8153. is defined by gRPC."
  8154. type: string
  8155. required:
  8156. - port
  8157. type: object
  8158. httpGet:
  8159. description: HTTPGet specifies the http request to perform.
  8160. properties:
  8161. host:
  8162. description: Host name to connect to, defaults to the
  8163. pod IP. You probably want to set "Host" in httpHeaders
  8164. instead.
  8165. type: string
  8166. httpHeaders:
  8167. description: Custom headers to set in the request. HTTP
  8168. allows repeated headers.
  8169. items:
  8170. description: HTTPHeader describes a custom header
  8171. to be used in HTTP probes
  8172. properties:
  8173. name:
  8174. description: The header field name
  8175. type: string
  8176. value:
  8177. description: The header field value
  8178. type: string
  8179. required:
  8180. - name
  8181. - value
  8182. type: object
  8183. type: array
  8184. path:
  8185. description: Path to access on the HTTP server.
  8186. type: string
  8187. port:
  8188. anyOf:
  8189. - type: integer
  8190. - type: string
  8191. description: Name or number of the port to access on
  8192. the container. Number must be in the range 1 to 65535.
  8193. Name must be an IANA_SVC_NAME.
  8194. x-kubernetes-int-or-string: true
  8195. scheme:
  8196. description: Scheme to use for connecting to the host.
  8197. Defaults to HTTP.
  8198. type: string
  8199. required:
  8200. - port
  8201. type: object
  8202. initialDelaySeconds:
  8203. description: 'Number of seconds after the container has
  8204. started before liveness probes are initiated. More info:
  8205. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8206. format: int32
  8207. type: integer
  8208. periodSeconds:
  8209. description: How often (in seconds) to perform the probe.
  8210. Default to 10 seconds. Minimum value is 1.
  8211. format: int32
  8212. type: integer
  8213. successThreshold:
  8214. description: Minimum consecutive successes for the probe
  8215. to be considered successful after having failed. Defaults
  8216. to 1. Must be 1 for liveness and startup. Minimum value
  8217. is 1.
  8218. format: int32
  8219. type: integer
  8220. tcpSocket:
  8221. description: TCPSocket specifies an action involving a TCP
  8222. port.
  8223. properties:
  8224. host:
  8225. description: 'Optional: Host name to connect to, defaults
  8226. to the pod IP.'
  8227. type: string
  8228. port:
  8229. anyOf:
  8230. - type: integer
  8231. - type: string
  8232. description: Number or name of the port to access on
  8233. the container. Number must be in the range 1 to 65535.
  8234. Name must be an IANA_SVC_NAME.
  8235. x-kubernetes-int-or-string: true
  8236. required:
  8237. - port
  8238. type: object
  8239. terminationGracePeriodSeconds:
  8240. description: Optional duration in seconds the pod needs
  8241. to terminate gracefully upon probe failure. The grace
  8242. period is the duration in seconds after the processes
  8243. running in the pod are sent a termination signal and the
  8244. time when the processes are forcibly halted with a kill
  8245. signal. Set this value longer than the expected cleanup
  8246. time for your process. If this value is nil, the pod's
  8247. terminationGracePeriodSeconds will be used. Otherwise,
  8248. this value overrides the value provided by the pod spec.
  8249. Value must be non-negative integer. The value zero indicates
  8250. stop immediately via the kill signal (no opportunity to
  8251. shut down). This is a beta field and requires enabling
  8252. ProbeTerminationGracePeriod feature gate. Minimum value
  8253. is 1. spec.terminationGracePeriodSeconds is used if unset.
  8254. format: int64
  8255. type: integer
  8256. timeoutSeconds:
  8257. description: 'Number of seconds after which the probe times
  8258. out. Defaults to 1 second. Minimum value is 1. More info:
  8259. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  8260. format: int32
  8261. type: integer
  8262. type: object
  8263. stdin:
  8264. description: Whether this container should allocate a buffer
  8265. for stdin in the container runtime. If this is not set, reads
  8266. from stdin in the container will always result in EOF. Default
  8267. is false.
  8268. type: boolean
  8269. stdinOnce:
  8270. description: Whether the container runtime should close the
  8271. stdin channel after it has been opened by a single attach.
  8272. When stdin is true the stdin stream will remain open across
  8273. multiple attach sessions. If stdinOnce is set to true, stdin
  8274. is opened on container start, is empty until the first client
  8275. attaches to stdin, and then remains open and accepts data
  8276. until the client disconnects, at which time stdin is closed
  8277. and remains closed until the container is restarted. If this
  8278. flag is false, a container processes that reads from stdin
  8279. will never receive an EOF. Default is false
  8280. type: boolean
  8281. terminationMessagePath:
  8282. description: 'Optional: Path at which the file to which the
  8283. container''s termination message will be written is mounted
  8284. into the container''s filesystem. Message written is intended
  8285. to be brief final status, such as an assertion failure message.
  8286. Will be truncated by the node if greater than 4096 bytes.
  8287. The total message length across all containers will be limited
  8288. to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  8289. type: string
  8290. terminationMessagePolicy:
  8291. description: Indicate how the termination message should be
  8292. populated. File will use the contents of terminationMessagePath
  8293. to populate the container status message on both success and
  8294. failure. FallbackToLogsOnError will use the last chunk of
  8295. container log output if the termination message file is empty
  8296. and the container exited with an error. The log output is
  8297. limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
  8298. to File. Cannot be updated.
  8299. type: string
  8300. tty:
  8301. description: Whether this container should allocate a TTY for
  8302. itself, also requires 'stdin' to be true. Default is false.
  8303. type: boolean
  8304. volumeDevices:
  8305. description: volumeDevices is the list of block devices to be
  8306. used by the container.
  8307. items:
  8308. description: volumeDevice describes a mapping of a raw block
  8309. device within a container.
  8310. properties:
  8311. devicePath:
  8312. description: devicePath is the path inside of the container
  8313. that the device will be mapped to.
  8314. type: string
  8315. name:
  8316. description: name must match the name of a persistentVolumeClaim
  8317. in the pod
  8318. type: string
  8319. required:
  8320. - devicePath
  8321. - name
  8322. type: object
  8323. type: array
  8324. volumeMounts:
  8325. description: Pod volumes to mount into the container's filesystem.
  8326. Cannot be updated.
  8327. items:
  8328. description: VolumeMount describes a mounting of a Volume
  8329. within a container.
  8330. properties:
  8331. mountPath:
  8332. description: Path within the container at which the volume
  8333. should be mounted. Must not contain ':'.
  8334. type: string
  8335. mountPropagation:
  8336. description: mountPropagation determines how mounts are
  8337. propagated from the host to container and the other
  8338. way around. When not set, MountPropagationNone is used.
  8339. This field is beta in 1.10.
  8340. type: string
  8341. name:
  8342. description: This must match the Name of a Volume.
  8343. type: string
  8344. readOnly:
  8345. description: Mounted read-only if true, read-write otherwise
  8346. (false or unspecified). Defaults to false.
  8347. type: boolean
  8348. subPath:
  8349. description: Path within the volume from which the container's
  8350. volume should be mounted. Defaults to "" (volume's root).
  8351. type: string
  8352. subPathExpr:
  8353. description: Expanded path within the volume from which
  8354. the container's volume should be mounted. Behaves similarly
  8355. to SubPath but environment variable references $(VAR_NAME)
  8356. are expanded using the container's environment. Defaults
  8357. to "" (volume's root). SubPathExpr and SubPath are mutually
  8358. exclusive.
  8359. type: string
  8360. required:
  8361. - mountPath
  8362. - name
  8363. type: object
  8364. type: array
  8365. workingDir:
  8366. description: Container's working directory. If not specified,
  8367. the container runtime's default will be used, which might
  8368. be configured in the container image. Cannot be updated.
  8369. type: string
  8370. required:
  8371. - name
  8372. type: object
  8373. type: array
  8374. listenLocal:
  8375. description: ListenLocal makes the Alertmanager server listen on loopback,
  8376. so that it does not bind against the Pod IP. Note this is only for
  8377. the Alertmanager UI, not the gossip communication.
  8378. type: boolean
  8379. logFormat:
  8380. description: Log format for Alertmanager to be configured with.
  8381. enum:
  8382. - ""
  8383. - logfmt
  8384. - json
  8385. type: string
  8386. logLevel:
  8387. description: Log level for Alertmanager to be configured with.
  8388. enum:
  8389. - ""
  8390. - debug
  8391. - info
  8392. - warn
  8393. - error
  8394. type: string
  8395. minReadySeconds:
  8396. description: Minimum number of seconds for which a newly created pod
  8397. should be ready without any of its container crashing for it to
  8398. be considered available. Defaults to 0 (pod will be considered available
  8399. as soon as it is ready) This is an alpha field and requires enabling
  8400. StatefulSetMinReadySeconds feature gate.
  8401. format: int32
  8402. type: integer
  8403. nodeSelector:
  8404. additionalProperties:
  8405. type: string
  8406. description: Define which Nodes the Pods are scheduled on.
  8407. type: object
  8408. paused:
  8409. description: If set to true all actions on the underlying managed
  8410. objects are not goint to be performed, except for delete actions.
  8411. type: boolean
  8412. podMetadata:
  8413. description: PodMetadata configures Labels and Annotations which are
  8414. propagated to the alertmanager pods.
  8415. properties:
  8416. annotations:
  8417. additionalProperties:
  8418. type: string
  8419. description: 'Annotations is an unstructured key value map stored
  8420. with a resource that may be set by external tools to store and
  8421. retrieve arbitrary metadata. They are not queryable and should
  8422. be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
  8423. type: object
  8424. labels:
  8425. additionalProperties:
  8426. type: string
  8427. description: 'Map of string keys and values that can be used to
  8428. organize and categorize (scope and select) objects. May match
  8429. selectors of replication controllers and services. More info:
  8430. http://kubernetes.io/docs/user-guide/labels'
  8431. type: object
  8432. name:
  8433. description: 'Name must be unique within a namespace. Is required
  8434. when creating resources, although some resources may allow a
  8435. client to request the generation of an appropriate name automatically.
  8436. Name is primarily intended for creation idempotence and configuration
  8437. definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
  8438. type: string
  8439. type: object
  8440. portName:
  8441. description: Port name used for the pods and governing service. This
  8442. defaults to web
  8443. type: string
  8444. priorityClassName:
  8445. description: Priority class assigned to the Pods
  8446. type: string
  8447. replicas:
  8448. description: Size is the expected size of the alertmanager cluster.
  8449. The controller will eventually make the size of the running cluster
  8450. equal to the expected size.
  8451. format: int32
  8452. type: integer
  8453. resources:
  8454. description: Define resources requests and limits for single Pods.
  8455. properties:
  8456. limits:
  8457. additionalProperties:
  8458. anyOf:
  8459. - type: integer
  8460. - type: string
  8461. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8462. x-kubernetes-int-or-string: true
  8463. description: 'Limits describes the maximum amount of compute resources
  8464. allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8465. type: object
  8466. requests:
  8467. additionalProperties:
  8468. anyOf:
  8469. - type: integer
  8470. - type: string
  8471. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8472. x-kubernetes-int-or-string: true
  8473. description: 'Requests describes the minimum amount of compute
  8474. resources required. If Requests is omitted for a container,
  8475. it defaults to Limits if that is explicitly specified, otherwise
  8476. to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8477. type: object
  8478. type: object
  8479. retention:
  8480. default: 120h
  8481. description: Time duration Alertmanager shall retain data for. Default
  8482. is '120h', and must match the regular expression `[0-9]+(ms|s|m|h)`
  8483. (milliseconds seconds minutes hours).
  8484. pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  8485. type: string
  8486. routePrefix:
  8487. description: The route prefix Alertmanager registers HTTP handlers
  8488. for. This is useful, if using ExternalURL and a proxy is rewriting
  8489. HTTP routes of a request, and the actual ExternalURL is still true,
  8490. but the server serves requests under a different route prefix. For
  8491. example for use with `kubectl proxy`.
  8492. type: string
  8493. secrets:
  8494. description: Secrets is a list of Secrets in the same namespace as
  8495. the Alertmanager object, which shall be mounted into the Alertmanager
  8496. Pods. The Secrets are mounted into /etc/alertmanager/secrets/<secret-name>.
  8497. items:
  8498. type: string
  8499. type: array
  8500. securityContext:
  8501. description: SecurityContext holds pod-level security attributes and
  8502. common container settings. This defaults to the default PodSecurityContext.
  8503. properties:
  8504. fsGroup:
  8505. description: "A special supplemental group that applies to all
  8506. containers in a pod. Some volume types allow the Kubelet to
  8507. change the ownership of that volume to be owned by the pod:
  8508. \n 1. The owning GID will be the FSGroup 2. The setgid bit is
  8509. set (new files created in the volume will be owned by FSGroup)
  8510. 3. The permission bits are OR'd with rw-rw---- \n If unset,
  8511. the Kubelet will not modify the ownership and permissions of
  8512. any volume. Note that this field cannot be set when spec.os.name
  8513. is windows."
  8514. format: int64
  8515. type: integer
  8516. fsGroupChangePolicy:
  8517. description: 'fsGroupChangePolicy defines behavior of changing
  8518. ownership and permission of the volume before being exposed
  8519. inside Pod. This field will only apply to volume types which
  8520. support fsGroup based ownership(and permissions). It will have
  8521. no effect on ephemeral volume types such as: secret, configmaps
  8522. and emptydir. Valid values are "OnRootMismatch" and "Always".
  8523. If not specified, "Always" is used. Note that this field cannot
  8524. be set when spec.os.name is windows.'
  8525. type: string
  8526. runAsGroup:
  8527. description: The GID to run the entrypoint of the container process.
  8528. Uses runtime default if unset. May also be set in SecurityContext. If
  8529. set in both SecurityContext and PodSecurityContext, the value
  8530. specified in SecurityContext takes precedence for that container.
  8531. Note that this field cannot be set when spec.os.name is windows.
  8532. format: int64
  8533. type: integer
  8534. runAsNonRoot:
  8535. description: Indicates that the container must run as a non-root
  8536. user. If true, the Kubelet will validate the image at runtime
  8537. to ensure that it does not run as UID 0 (root) and fail to start
  8538. the container if it does. If unset or false, no such validation
  8539. will be performed. May also be set in SecurityContext. If set
  8540. in both SecurityContext and PodSecurityContext, the value specified
  8541. in SecurityContext takes precedence.
  8542. type: boolean
  8543. runAsUser:
  8544. description: The UID to run the entrypoint of the container process.
  8545. Defaults to user specified in image metadata if unspecified.
  8546. May also be set in SecurityContext. If set in both SecurityContext
  8547. and PodSecurityContext, the value specified in SecurityContext
  8548. takes precedence for that container. Note that this field cannot
  8549. be set when spec.os.name is windows.
  8550. format: int64
  8551. type: integer
  8552. seLinuxOptions:
  8553. description: The SELinux context to be applied to all containers.
  8554. If unspecified, the container runtime will allocate a random
  8555. SELinux context for each container. May also be set in SecurityContext. If
  8556. set in both SecurityContext and PodSecurityContext, the value
  8557. specified in SecurityContext takes precedence for that container.
  8558. Note that this field cannot be set when spec.os.name is windows.
  8559. properties:
  8560. level:
  8561. description: Level is SELinux level label that applies to
  8562. the container.
  8563. type: string
  8564. role:
  8565. description: Role is a SELinux role label that applies to
  8566. the container.
  8567. type: string
  8568. type:
  8569. description: Type is a SELinux type label that applies to
  8570. the container.
  8571. type: string
  8572. user:
  8573. description: User is a SELinux user label that applies to
  8574. the container.
  8575. type: string
  8576. type: object
  8577. seccompProfile:
  8578. description: The seccomp options to use by the containers in this
  8579. pod. Note that this field cannot be set when spec.os.name is
  8580. windows.
  8581. properties:
  8582. localhostProfile:
  8583. description: localhostProfile indicates a profile defined
  8584. in a file on the node should be used. The profile must be
  8585. preconfigured on the node to work. Must be a descending
  8586. path, relative to the kubelet's configured seccomp profile
  8587. location. Must only be set if type is "Localhost".
  8588. type: string
  8589. type:
  8590. description: "type indicates which kind of seccomp profile
  8591. will be applied. Valid options are: \n Localhost - a profile
  8592. defined in a file on the node should be used. RuntimeDefault
  8593. - the container runtime default profile should be used.
  8594. Unconfined - no profile should be applied."
  8595. type: string
  8596. required:
  8597. - type
  8598. type: object
  8599. supplementalGroups:
  8600. description: A list of groups applied to the first process run
  8601. in each container, in addition to the container's primary GID. If
  8602. unspecified, no groups will be added to any container. Note
  8603. that this field cannot be set when spec.os.name is windows.
  8604. items:
  8605. format: int64
  8606. type: integer
  8607. type: array
  8608. sysctls:
  8609. description: Sysctls hold a list of namespaced sysctls used for
  8610. the pod. Pods with unsupported sysctls (by the container runtime)
  8611. might fail to launch. Note that this field cannot be set when
  8612. spec.os.name is windows.
  8613. items:
  8614. description: Sysctl defines a kernel parameter to be set
  8615. properties:
  8616. name:
  8617. description: Name of a property to set
  8618. type: string
  8619. value:
  8620. description: Value of a property to set
  8621. type: string
  8622. required:
  8623. - name
  8624. - value
  8625. type: object
  8626. type: array
  8627. windowsOptions:
  8628. description: The Windows specific settings applied to all containers.
  8629. If unspecified, the options within a container's SecurityContext
  8630. will be used. If set in both SecurityContext and PodSecurityContext,
  8631. the value specified in SecurityContext takes precedence. Note
  8632. that this field cannot be set when spec.os.name is linux.
  8633. properties:
  8634. gmsaCredentialSpec:
  8635. description: GMSACredentialSpec is where the GMSA admission
  8636. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  8637. inlines the contents of the GMSA credential spec named by
  8638. the GMSACredentialSpecName field.
  8639. type: string
  8640. gmsaCredentialSpecName:
  8641. description: GMSACredentialSpecName is the name of the GMSA
  8642. credential spec to use.
  8643. type: string
  8644. hostProcess:
  8645. description: HostProcess determines if a container should
  8646. be run as a 'Host Process' container. This field is alpha-level
  8647. and will only be honored by components that enable the WindowsHostProcessContainers
  8648. feature flag. Setting this field without the feature flag
  8649. will result in errors when validating the Pod. All of a
  8650. Pod's containers must have the same effective HostProcess
  8651. value (it is not allowed to have a mix of HostProcess containers
  8652. and non-HostProcess containers). In addition, if HostProcess
  8653. is true then HostNetwork must also be set to true.
  8654. type: boolean
  8655. runAsUserName:
  8656. description: The UserName in Windows to run the entrypoint
  8657. of the container process. Defaults to the user specified
  8658. in image metadata if unspecified. May also be set in PodSecurityContext.
  8659. If set in both SecurityContext and PodSecurityContext, the
  8660. value specified in SecurityContext takes precedence.
  8661. type: string
  8662. type: object
  8663. type: object
  8664. serviceAccountName:
  8665. description: ServiceAccountName is the name of the ServiceAccount
  8666. to use to run the Prometheus Pods.
  8667. type: string
  8668. sha:
  8669. description: 'SHA of Alertmanager container image to be deployed.
  8670. Defaults to the value of `version`. Similar to a tag, but the SHA
  8671. explicitly deploys an immutable container image. Version and Tag
  8672. are ignored if SHA is set. Deprecated: use ''image'' instead. The
  8673. image digest can be specified as part of the image URL.'
  8674. type: string
  8675. storage:
  8676. description: Storage is the definition of how storage will be used
  8677. by the Alertmanager instances.
  8678. properties:
  8679. disableMountSubPath:
  8680. description: 'Deprecated: subPath usage will be disabled by default
  8681. in a future release, this option will become unnecessary. DisableMountSubPath
  8682. allows to remove any subPath usage in volume mounts.'
  8683. type: boolean
  8684. emptyDir:
  8685. description: 'EmptyDirVolumeSource to be used by the Prometheus
  8686. StatefulSets. If specified, used in place of any volumeClaimTemplate.
  8687. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
  8688. properties:
  8689. medium:
  8690. description: 'medium represents what type of storage medium
  8691. should back this directory. The default is "" which means
  8692. to use the node''s default medium. Must be an empty string
  8693. (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  8694. type: string
  8695. sizeLimit:
  8696. anyOf:
  8697. - type: integer
  8698. - type: string
  8699. description: 'sizeLimit is the total amount of local storage
  8700. required for this EmptyDir volume. The size limit is also
  8701. applicable for memory medium. The maximum usage on memory
  8702. medium EmptyDir would be the minimum value between the SizeLimit
  8703. specified here and the sum of memory limits of all containers
  8704. in a pod. The default is nil which means that the limit
  8705. is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  8706. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8707. x-kubernetes-int-or-string: true
  8708. type: object
  8709. ephemeral:
  8710. description: 'EphemeralVolumeSource to be used by the Prometheus
  8711. StatefulSets. This is a beta field in k8s 1.21, for lower versions,
  8712. starting with k8s 1.19, it requires enabling the GenericEphemeralVolume
  8713. feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes'
  8714. properties:
  8715. volumeClaimTemplate:
  8716. description: "Will be used to create a stand-alone PVC to
  8717. provision the volume. The pod in which this EphemeralVolumeSource
  8718. is embedded will be the owner of the PVC, i.e. the PVC will
  8719. be deleted together with the pod. The name of the PVC will
  8720. be `<pod name>-<volume name>` where `<volume name>` is the
  8721. name from the `PodSpec.Volumes` array entry. Pod validation
  8722. will reject the pod if the concatenated name is not valid
  8723. for a PVC (for example, too long). \n An existing PVC with
  8724. that name that is not owned by the pod will *not* be used
  8725. for the pod to avoid using an unrelated volume by mistake.
  8726. Starting the pod is then blocked until the unrelated PVC
  8727. is removed. If such a pre-created PVC is meant to be used
  8728. by the pod, the PVC has to updated with an owner reference
  8729. to the pod once the pod exists. Normally this should not
  8730. be necessary, but it may be useful when manually reconstructing
  8731. a broken cluster. \n This field is read-only and no changes
  8732. will be made by Kubernetes to the PVC after it has been
  8733. created. \n Required, must not be nil."
  8734. properties:
  8735. metadata:
  8736. description: May contain labels and annotations that will
  8737. be copied into the PVC when creating it. No other fields
  8738. are allowed and will be rejected during validation.
  8739. type: object
  8740. spec:
  8741. description: The specification for the PersistentVolumeClaim.
  8742. The entire content is copied unchanged into the PVC
  8743. that gets created from this template. The same fields
  8744. as in a PersistentVolumeClaim are also valid here.
  8745. properties:
  8746. accessModes:
  8747. description: 'accessModes contains the desired access
  8748. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  8749. items:
  8750. type: string
  8751. type: array
  8752. dataSource:
  8753. description: 'dataSource field can be used to specify
  8754. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  8755. * An existing PVC (PersistentVolumeClaim) If the
  8756. provisioner or an external controller can support
  8757. the specified data source, it will create a new
  8758. volume based on the contents of the specified data
  8759. source. If the AnyVolumeDataSource feature gate
  8760. is enabled, this field will always have the same
  8761. contents as the DataSourceRef field.'
  8762. properties:
  8763. apiGroup:
  8764. description: APIGroup is the group for the resource
  8765. being referenced. If APIGroup is not specified,
  8766. the specified Kind must be in the core API group.
  8767. For any other third-party types, APIGroup is
  8768. required.
  8769. type: string
  8770. kind:
  8771. description: Kind is the type of resource being
  8772. referenced
  8773. type: string
  8774. name:
  8775. description: Name is the name of resource being
  8776. referenced
  8777. type: string
  8778. required:
  8779. - kind
  8780. - name
  8781. type: object
  8782. x-kubernetes-map-type: atomic
  8783. dataSourceRef:
  8784. description: 'dataSourceRef specifies the object from
  8785. which to populate the volume with data, if a non-empty
  8786. volume is desired. This may be any local object
  8787. from a non-empty API group (non core object) or
  8788. a PersistentVolumeClaim object. When this field
  8789. is specified, volume binding will only succeed if
  8790. the type of the specified object matches some installed
  8791. volume populator or dynamic provisioner. This field
  8792. will replace the functionality of the DataSource
  8793. field and as such if both fields are non-empty,
  8794. they must have the same value. For backwards compatibility,
  8795. both fields (DataSource and DataSourceRef) will
  8796. be set to the same value automatically if one of
  8797. them is empty and the other is non-empty. There
  8798. are two important differences between DataSource
  8799. and DataSourceRef: * While DataSource only allows
  8800. two specific types of objects, DataSourceRef allows
  8801. any non-core object, as well as PersistentVolumeClaim
  8802. objects. * While DataSource ignores disallowed values
  8803. (dropping them), DataSourceRef preserves all values,
  8804. and generates an error if a disallowed value is
  8805. specified. (Beta) Using this field requires the
  8806. AnyVolumeDataSource feature gate to be enabled.'
  8807. properties:
  8808. apiGroup:
  8809. description: APIGroup is the group for the resource
  8810. being referenced. If APIGroup is not specified,
  8811. the specified Kind must be in the core API group.
  8812. For any other third-party types, APIGroup is
  8813. required.
  8814. type: string
  8815. kind:
  8816. description: Kind is the type of resource being
  8817. referenced
  8818. type: string
  8819. name:
  8820. description: Name is the name of resource being
  8821. referenced
  8822. type: string
  8823. required:
  8824. - kind
  8825. - name
  8826. type: object
  8827. x-kubernetes-map-type: atomic
  8828. resources:
  8829. description: 'resources represents the minimum resources
  8830. the volume should have. If RecoverVolumeExpansionFailure
  8831. feature is enabled users are allowed to specify
  8832. resource requirements that are lower than previous
  8833. value but must still be higher than capacity recorded
  8834. in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  8835. properties:
  8836. limits:
  8837. additionalProperties:
  8838. anyOf:
  8839. - type: integer
  8840. - type: string
  8841. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8842. x-kubernetes-int-or-string: true
  8843. description: 'Limits describes the maximum amount
  8844. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8845. type: object
  8846. requests:
  8847. additionalProperties:
  8848. anyOf:
  8849. - type: integer
  8850. - type: string
  8851. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8852. x-kubernetes-int-or-string: true
  8853. description: 'Requests describes the minimum amount
  8854. of compute resources required. If Requests is
  8855. omitted for a container, it defaults to Limits
  8856. if that is explicitly specified, otherwise to
  8857. an implementation-defined value. More info:
  8858. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8859. type: object
  8860. type: object
  8861. selector:
  8862. description: selector is a label query over volumes
  8863. to consider for binding.
  8864. properties:
  8865. matchExpressions:
  8866. description: matchExpressions is a list of label
  8867. selector requirements. The requirements are
  8868. ANDed.
  8869. items:
  8870. description: A label selector requirement is
  8871. a selector that contains values, a key, and
  8872. an operator that relates the key and values.
  8873. properties:
  8874. key:
  8875. description: key is the label key that the
  8876. selector applies to.
  8877. type: string
  8878. operator:
  8879. description: operator represents a key's
  8880. relationship to a set of values. Valid
  8881. operators are In, NotIn, Exists and DoesNotExist.
  8882. type: string
  8883. values:
  8884. description: values is an array of string
  8885. values. If the operator is In or NotIn,
  8886. the values array must be non-empty. If
  8887. the operator is Exists or DoesNotExist,
  8888. the values array must be empty. This array
  8889. is replaced during a strategic merge patch.
  8890. items:
  8891. type: string
  8892. type: array
  8893. required:
  8894. - key
  8895. - operator
  8896. type: object
  8897. type: array
  8898. matchLabels:
  8899. additionalProperties:
  8900. type: string
  8901. description: matchLabels is a map of {key,value}
  8902. pairs. A single {key,value} in the matchLabels
  8903. map is equivalent to an element of matchExpressions,
  8904. whose key field is "key", the operator is "In",
  8905. and the values array contains only "value".
  8906. The requirements are ANDed.
  8907. type: object
  8908. type: object
  8909. x-kubernetes-map-type: atomic
  8910. storageClassName:
  8911. description: 'storageClassName is the name of the
  8912. StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  8913. type: string
  8914. volumeMode:
  8915. description: volumeMode defines what type of volume
  8916. is required by the claim. Value of Filesystem is
  8917. implied when not included in claim spec.
  8918. type: string
  8919. volumeName:
  8920. description: volumeName is the binding reference to
  8921. the PersistentVolume backing this claim.
  8922. type: string
  8923. type: object
  8924. required:
  8925. - spec
  8926. type: object
  8927. type: object
  8928. volumeClaimTemplate:
  8929. description: A PVC spec to be used by the Prometheus StatefulSets.
  8930. properties:
  8931. apiVersion:
  8932. description: 'APIVersion defines the versioned schema of this
  8933. representation of an object. Servers should convert recognized
  8934. schemas to the latest internal value, and may reject unrecognized
  8935. values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  8936. type: string
  8937. kind:
  8938. description: 'Kind is a string value representing the REST
  8939. resource this object represents. Servers may infer this
  8940. from the endpoint the client submits requests to. Cannot
  8941. be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  8942. type: string
  8943. metadata:
  8944. description: EmbeddedMetadata contains metadata relevant to
  8945. an EmbeddedResource.
  8946. properties:
  8947. annotations:
  8948. additionalProperties:
  8949. type: string
  8950. description: 'Annotations is an unstructured key value
  8951. map stored with a resource that may be set by external
  8952. tools to store and retrieve arbitrary metadata. They
  8953. are not queryable and should be preserved when modifying
  8954. objects. More info: http://kubernetes.io/docs/user-guide/annotations'
  8955. type: object
  8956. labels:
  8957. additionalProperties:
  8958. type: string
  8959. description: 'Map of string keys and values that can be
  8960. used to organize and categorize (scope and select) objects.
  8961. May match selectors of replication controllers and services.
  8962. More info: http://kubernetes.io/docs/user-guide/labels'
  8963. type: object
  8964. name:
  8965. description: 'Name must be unique within a namespace.
  8966. Is required when creating resources, although some resources
  8967. may allow a client to request the generation of an appropriate
  8968. name automatically. Name is primarily intended for creation
  8969. idempotence and configuration definition. Cannot be
  8970. updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
  8971. type: string
  8972. type: object
  8973. spec:
  8974. description: 'Spec defines the desired characteristics of
  8975. a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  8976. properties:
  8977. accessModes:
  8978. description: 'accessModes contains the desired access
  8979. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  8980. items:
  8981. type: string
  8982. type: array
  8983. dataSource:
  8984. description: 'dataSource field can be used to specify
  8985. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  8986. * An existing PVC (PersistentVolumeClaim) If the provisioner
  8987. or an external controller can support the specified
  8988. data source, it will create a new volume based on the
  8989. contents of the specified data source. If the AnyVolumeDataSource
  8990. feature gate is enabled, this field will always have
  8991. the same contents as the DataSourceRef field.'
  8992. properties:
  8993. apiGroup:
  8994. description: APIGroup is the group for the resource
  8995. being referenced. If APIGroup is not specified,
  8996. the specified Kind must be in the core API group.
  8997. For any other third-party types, APIGroup is required.
  8998. type: string
  8999. kind:
  9000. description: Kind is the type of resource being referenced
  9001. type: string
  9002. name:
  9003. description: Name is the name of resource being referenced
  9004. type: string
  9005. required:
  9006. - kind
  9007. - name
  9008. type: object
  9009. x-kubernetes-map-type: atomic
  9010. dataSourceRef:
  9011. description: 'dataSourceRef specifies the object from
  9012. which to populate the volume with data, if a non-empty
  9013. volume is desired. This may be any local object from
  9014. a non-empty API group (non core object) or a PersistentVolumeClaim
  9015. object. When this field is specified, volume binding
  9016. will only succeed if the type of the specified object
  9017. matches some installed volume populator or dynamic provisioner.
  9018. This field will replace the functionality of the DataSource
  9019. field and as such if both fields are non-empty, they
  9020. must have the same value. For backwards compatibility,
  9021. both fields (DataSource and DataSourceRef) will be set
  9022. to the same value automatically if one of them is empty
  9023. and the other is non-empty. There are two important
  9024. differences between DataSource and DataSourceRef: *
  9025. While DataSource only allows two specific types of objects,
  9026. DataSourceRef allows any non-core object, as well as
  9027. PersistentVolumeClaim objects. * While DataSource ignores
  9028. disallowed values (dropping them), DataSourceRef preserves
  9029. all values, and generates an error if a disallowed value
  9030. is specified. (Beta) Using this field requires the AnyVolumeDataSource
  9031. feature gate to be enabled.'
  9032. properties:
  9033. apiGroup:
  9034. description: APIGroup is the group for the resource
  9035. being referenced. If APIGroup is not specified,
  9036. the specified Kind must be in the core API group.
  9037. For any other third-party types, APIGroup is required.
  9038. type: string
  9039. kind:
  9040. description: Kind is the type of resource being referenced
  9041. type: string
  9042. name:
  9043. description: Name is the name of resource being referenced
  9044. type: string
  9045. required:
  9046. - kind
  9047. - name
  9048. type: object
  9049. x-kubernetes-map-type: atomic
  9050. resources:
  9051. description: 'resources represents the minimum resources
  9052. the volume should have. If RecoverVolumeExpansionFailure
  9053. feature is enabled users are allowed to specify resource
  9054. requirements that are lower than previous value but
  9055. must still be higher than capacity recorded in the status
  9056. field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  9057. properties:
  9058. limits:
  9059. additionalProperties:
  9060. anyOf:
  9061. - type: integer
  9062. - type: string
  9063. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9064. x-kubernetes-int-or-string: true
  9065. description: 'Limits describes the maximum amount
  9066. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9067. type: object
  9068. requests:
  9069. additionalProperties:
  9070. anyOf:
  9071. - type: integer
  9072. - type: string
  9073. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9074. x-kubernetes-int-or-string: true
  9075. description: 'Requests describes the minimum amount
  9076. of compute resources required. If Requests is omitted
  9077. for a container, it defaults to Limits if that is
  9078. explicitly specified, otherwise to an implementation-defined
  9079. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9080. type: object
  9081. type: object
  9082. selector:
  9083. description: selector is a label query over volumes to
  9084. consider for binding.
  9085. properties:
  9086. matchExpressions:
  9087. description: matchExpressions is a list of label selector
  9088. requirements. The requirements are ANDed.
  9089. items:
  9090. description: A label selector requirement is a selector
  9091. that contains values, a key, and an operator that
  9092. relates the key and values.
  9093. properties:
  9094. key:
  9095. description: key is the label key that the selector
  9096. applies to.
  9097. type: string
  9098. operator:
  9099. description: operator represents a key's relationship
  9100. to a set of values. Valid operators are In,
  9101. NotIn, Exists and DoesNotExist.
  9102. type: string
  9103. values:
  9104. description: values is an array of string values.
  9105. If the operator is In or NotIn, the values
  9106. array must be non-empty. If the operator is
  9107. Exists or DoesNotExist, the values array must
  9108. be empty. This array is replaced during a
  9109. strategic merge patch.
  9110. items:
  9111. type: string
  9112. type: array
  9113. required:
  9114. - key
  9115. - operator
  9116. type: object
  9117. type: array
  9118. matchLabels:
  9119. additionalProperties:
  9120. type: string
  9121. description: matchLabels is a map of {key,value} pairs.
  9122. A single {key,value} in the matchLabels map is equivalent
  9123. to an element of matchExpressions, whose key field
  9124. is "key", the operator is "In", and the values array
  9125. contains only "value". The requirements are ANDed.
  9126. type: object
  9127. type: object
  9128. x-kubernetes-map-type: atomic
  9129. storageClassName:
  9130. description: 'storageClassName is the name of the StorageClass
  9131. required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  9132. type: string
  9133. volumeMode:
  9134. description: volumeMode defines what type of volume is
  9135. required by the claim. Value of Filesystem is implied
  9136. when not included in claim spec.
  9137. type: string
  9138. volumeName:
  9139. description: volumeName is the binding reference to the
  9140. PersistentVolume backing this claim.
  9141. type: string
  9142. type: object
  9143. status:
  9144. description: 'Status represents the current information/status
  9145. of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  9146. properties:
  9147. accessModes:
  9148. description: 'accessModes contains the actual access modes
  9149. the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  9150. items:
  9151. type: string
  9152. type: array
  9153. allocatedResources:
  9154. additionalProperties:
  9155. anyOf:
  9156. - type: integer
  9157. - type: string
  9158. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9159. x-kubernetes-int-or-string: true
  9160. description: allocatedResources is the storage resource
  9161. within AllocatedResources tracks the capacity allocated
  9162. to a PVC. It may be larger than the actual capacity
  9163. when a volume expansion operation is requested. For
  9164. storage quota, the larger value from allocatedResources
  9165. and PVC.spec.resources is used. If allocatedResources
  9166. is not set, PVC.spec.resources alone is used for quota
  9167. calculation. If a volume expansion capacity request
  9168. is lowered, allocatedResources is only lowered if there
  9169. are no expansion operations in progress and if the actual
  9170. volume capacity is equal or lower than the requested
  9171. capacity. This is an alpha field and requires enabling
  9172. RecoverVolumeExpansionFailure feature.
  9173. type: object
  9174. capacity:
  9175. additionalProperties:
  9176. anyOf:
  9177. - type: integer
  9178. - type: string
  9179. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9180. x-kubernetes-int-or-string: true
  9181. description: capacity represents the actual resources
  9182. of the underlying volume.
  9183. type: object
  9184. conditions:
  9185. description: conditions is the current Condition of persistent
  9186. volume claim. If underlying persistent volume is being
  9187. resized then the Condition will be set to 'ResizeStarted'.
  9188. items:
  9189. description: PersistentVolumeClaimCondition contails
  9190. details about state of pvc
  9191. properties:
  9192. lastProbeTime:
  9193. description: lastProbeTime is the time we probed
  9194. the condition.
  9195. format: date-time
  9196. type: string
  9197. lastTransitionTime:
  9198. description: lastTransitionTime is the time the
  9199. condition transitioned from one status to another.
  9200. format: date-time
  9201. type: string
  9202. message:
  9203. description: message is the human-readable message
  9204. indicating details about last transition.
  9205. type: string
  9206. reason:
  9207. description: reason is a unique, this should be
  9208. a short, machine understandable string that gives
  9209. the reason for condition's last transition. If
  9210. it reports "ResizeStarted" that means the underlying
  9211. persistent volume is being resized.
  9212. type: string
  9213. status:
  9214. type: string
  9215. type:
  9216. description: PersistentVolumeClaimConditionType
  9217. is a valid value of PersistentVolumeClaimCondition.Type
  9218. type: string
  9219. required:
  9220. - status
  9221. - type
  9222. type: object
  9223. type: array
  9224. phase:
  9225. description: phase represents the current phase of PersistentVolumeClaim.
  9226. type: string
  9227. resizeStatus:
  9228. description: resizeStatus stores status of resize operation.
  9229. ResizeStatus is not set by default but when expansion
  9230. is complete resizeStatus is set to empty string by resize
  9231. controller or kubelet. This is an alpha field and requires
  9232. enabling RecoverVolumeExpansionFailure feature.
  9233. type: string
  9234. type: object
  9235. type: object
  9236. type: object
  9237. tag:
  9238. description: 'Tag of Alertmanager container image to be deployed.
  9239. Defaults to the value of `version`. Version is ignored if Tag is
  9240. set. Deprecated: use ''image'' instead. The image tag can be specified
  9241. as part of the image URL.'
  9242. type: string
  9243. tolerations:
  9244. description: If specified, the pod's tolerations.
  9245. items:
  9246. description: The pod this Toleration is attached to tolerates any
  9247. taint that matches the triple <key,value,effect> using the matching
  9248. operator <operator>.
  9249. properties:
  9250. effect:
  9251. description: Effect indicates the taint effect to match. Empty
  9252. means match all taint effects. When specified, allowed values
  9253. are NoSchedule, PreferNoSchedule and NoExecute.
  9254. type: string
  9255. key:
  9256. description: Key is the taint key that the toleration applies
  9257. to. Empty means match all taint keys. If the key is empty,
  9258. operator must be Exists; this combination means to match all
  9259. values and all keys.
  9260. type: string
  9261. operator:
  9262. description: Operator represents a key's relationship to the
  9263. value. Valid operators are Exists and Equal. Defaults to Equal.
  9264. Exists is equivalent to wildcard for value, so that a pod
  9265. can tolerate all taints of a particular category.
  9266. type: string
  9267. tolerationSeconds:
  9268. description: TolerationSeconds represents the period of time
  9269. the toleration (which must be of effect NoExecute, otherwise
  9270. this field is ignored) tolerates the taint. By default, it
  9271. is not set, which means tolerate the taint forever (do not
  9272. evict). Zero and negative values will be treated as 0 (evict
  9273. immediately) by the system.
  9274. format: int64
  9275. type: integer
  9276. value:
  9277. description: Value is the taint value the toleration matches
  9278. to. If the operator is Exists, the value should be empty,
  9279. otherwise just a regular string.
  9280. type: string
  9281. type: object
  9282. type: array
  9283. topologySpreadConstraints:
  9284. description: If specified, the pod's topology spread constraints.
  9285. items:
  9286. description: TopologySpreadConstraint specifies how to spread matching
  9287. pods among the given topology.
  9288. properties:
  9289. labelSelector:
  9290. description: LabelSelector is used to find matching pods. Pods
  9291. that match this label selector are counted to determine the
  9292. number of pods in their corresponding topology domain.
  9293. properties:
  9294. matchExpressions:
  9295. description: matchExpressions is a list of label selector
  9296. requirements. The requirements are ANDed.
  9297. items:
  9298. description: A label selector requirement is a selector
  9299. that contains values, a key, and an operator that relates
  9300. the key and values.
  9301. properties:
  9302. key:
  9303. description: key is the label key that the selector
  9304. applies to.
  9305. type: string
  9306. operator:
  9307. description: operator represents a key's relationship
  9308. to a set of values. Valid operators are In, NotIn,
  9309. Exists and DoesNotExist.
  9310. type: string
  9311. values:
  9312. description: values is an array of string values.
  9313. If the operator is In or NotIn, the values array
  9314. must be non-empty. If the operator is Exists or
  9315. DoesNotExist, the values array must be empty. This
  9316. array is replaced during a strategic merge patch.
  9317. items:
  9318. type: string
  9319. type: array
  9320. required:
  9321. - key
  9322. - operator
  9323. type: object
  9324. type: array
  9325. matchLabels:
  9326. additionalProperties:
  9327. type: string
  9328. description: matchLabels is a map of {key,value} pairs.
  9329. A single {key,value} in the matchLabels map is equivalent
  9330. to an element of matchExpressions, whose key field is
  9331. "key", the operator is "In", and the values array contains
  9332. only "value". The requirements are ANDed.
  9333. type: object
  9334. type: object
  9335. x-kubernetes-map-type: atomic
  9336. maxSkew:
  9337. description: 'MaxSkew describes the degree to which pods may
  9338. be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  9339. it is the maximum permitted difference between the number
  9340. of matching pods in the target topology and the global minimum.
  9341. The global minimum is the minimum number of matching pods
  9342. in an eligible domain or zero if the number of eligible domains
  9343. is less than MinDomains. For example, in a 3-zone cluster,
  9344. MaxSkew is set to 1, and pods with the same labelSelector
  9345. spread as 2/2/1: In this case, the global minimum is 1. |
  9346. zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew
  9347. is 1, incoming pod can only be scheduled to zone3 to become
  9348. 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1)
  9349. on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming
  9350. pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  9351. it is used to give higher precedence to topologies that satisfy
  9352. it. It''s a required field. Default value is 1 and 0 is not
  9353. allowed.'
  9354. format: int32
  9355. type: integer
  9356. minDomains:
  9357. description: "MinDomains indicates a minimum number of eligible
  9358. domains. When the number of eligible domains with matching
  9359. topology keys is less than minDomains, Pod Topology Spread
  9360. treats \"global minimum\" as 0, and then the calculation of
  9361. Skew is performed. And when the number of eligible domains
  9362. with matching topology keys equals or greater than minDomains,
  9363. this value has no effect on scheduling. As a result, when
  9364. the number of eligible domains is less than minDomains, scheduler
  9365. won't schedule more than maxSkew Pods to those domains. If
  9366. value is nil, the constraint behaves as if MinDomains is equal
  9367. to 1. Valid values are integers greater than 0. When value
  9368. is not nil, WhenUnsatisfiable must be DoNotSchedule. \n For
  9369. example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains
  9370. is set to 5 and pods with the same labelSelector spread as
  9371. 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P |
  9372. The number of domains is less than 5(MinDomains), so \"global
  9373. minimum\" is treated as 0. In this situation, new pod with
  9374. the same labelSelector cannot be scheduled, because computed
  9375. skew will be 3(3 - 0) if new Pod is scheduled to any of the
  9376. three zones, it will violate MaxSkew. \n This is an alpha
  9377. field and requires enabling MinDomainsInPodTopologySpread
  9378. feature gate."
  9379. format: int32
  9380. type: integer
  9381. topologyKey:
  9382. description: TopologyKey is the key of node labels. Nodes that
  9383. have a label with this key and identical values are considered
  9384. to be in the same topology. We consider each <key, value>
  9385. as a "bucket", and try to put balanced number of pods into
  9386. each bucket. We define a domain as a particular instance of
  9387. a topology. Also, we define an eligible domain as a domain
  9388. whose nodes match the node selector. e.g. If TopologyKey is
  9389. "kubernetes.io/hostname", each Node is a domain of that topology.
  9390. And, if TopologyKey is "topology.kubernetes.io/zone", each
  9391. zone is a domain of that topology. It's a required field.
  9392. type: string
  9393. whenUnsatisfiable:
  9394. description: 'WhenUnsatisfiable indicates how to deal with a
  9395. pod if it doesn''t satisfy the spread constraint. - DoNotSchedule
  9396. (default) tells the scheduler not to schedule it. - ScheduleAnyway
  9397. tells the scheduler to schedule the pod in any location, but
  9398. giving higher precedence to topologies that would help reduce
  9399. the skew. A constraint is considered "Unsatisfiable" for an
  9400. incoming pod if and only if every possible node assignment
  9401. for that pod would violate "MaxSkew" on some topology. For
  9402. example, in a 3-zone cluster, MaxSkew is set to 1, and pods
  9403. with the same labelSelector spread as 3/1/1: | zone1 | zone2
  9404. | zone3 | | P P P | P | P | If WhenUnsatisfiable is
  9405. set to DoNotSchedule, incoming pod can only be scheduled to
  9406. zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on
  9407. zone2(zone3) satisfies MaxSkew(1). In other words, the cluster
  9408. can still be imbalanced, but scheduler won''t make it *more*
  9409. imbalanced. It''s a required field.'
  9410. type: string
  9411. required:
  9412. - maxSkew
  9413. - topologyKey
  9414. - whenUnsatisfiable
  9415. type: object
  9416. type: array
  9417. version:
  9418. description: Version the cluster should be on.
  9419. type: string
  9420. volumeMounts:
  9421. description: VolumeMounts allows configuration of additional VolumeMounts
  9422. on the output StatefulSet definition. VolumeMounts specified will
  9423. be appended to other VolumeMounts in the alertmanager container,
  9424. that are generated as a result of StorageSpec objects.
  9425. items:
  9426. description: VolumeMount describes a mounting of a Volume within
  9427. a container.
  9428. properties:
  9429. mountPath:
  9430. description: Path within the container at which the volume should
  9431. be mounted. Must not contain ':'.
  9432. type: string
  9433. mountPropagation:
  9434. description: mountPropagation determines how mounts are propagated
  9435. from the host to container and the other way around. When
  9436. not set, MountPropagationNone is used. This field is beta
  9437. in 1.10.
  9438. type: string
  9439. name:
  9440. description: This must match the Name of a Volume.
  9441. type: string
  9442. readOnly:
  9443. description: Mounted read-only if true, read-write otherwise
  9444. (false or unspecified). Defaults to false.
  9445. type: boolean
  9446. subPath:
  9447. description: Path within the volume from which the container's
  9448. volume should be mounted. Defaults to "" (volume's root).
  9449. type: string
  9450. subPathExpr:
  9451. description: Expanded path within the volume from which the
  9452. container's volume should be mounted. Behaves similarly to
  9453. SubPath but environment variable references $(VAR_NAME) are
  9454. expanded using the container's environment. Defaults to ""
  9455. (volume's root). SubPathExpr and SubPath are mutually exclusive.
  9456. type: string
  9457. required:
  9458. - mountPath
  9459. - name
  9460. type: object
  9461. type: array
  9462. volumes:
  9463. description: Volumes allows configuration of additional volumes on
  9464. the output StatefulSet definition. Volumes specified will be appended
  9465. to other volumes that are generated as a result of StorageSpec objects.
  9466. items:
  9467. description: Volume represents a named volume in a pod that may
  9468. be accessed by any container in the pod.
  9469. properties:
  9470. awsElasticBlockStore:
  9471. description: 'awsElasticBlockStore represents an AWS Disk resource
  9472. that is attached to a kubelet''s host machine and then exposed
  9473. to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  9474. properties:
  9475. fsType:
  9476. description: 'fsType is the filesystem type of the volume
  9477. that you want to mount. Tip: Ensure that the filesystem
  9478. type is supported by the host operating system. Examples:
  9479. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  9480. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  9481. TODO: how do we prevent errors in the filesystem from
  9482. compromising the machine'
  9483. type: string
  9484. partition:
  9485. description: 'partition is the partition in the volume that
  9486. you want to mount. If omitted, the default is to mount
  9487. by volume name. Examples: For volume /dev/sda1, you specify
  9488. the partition as "1". Similarly, the volume partition
  9489. for /dev/sda is "0" (or you can leave the property empty).'
  9490. format: int32
  9491. type: integer
  9492. readOnly:
  9493. description: 'readOnly value true will force the readOnly
  9494. setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  9495. type: boolean
  9496. volumeID:
  9497. description: 'volumeID is unique ID of the persistent disk
  9498. resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  9499. type: string
  9500. required:
  9501. - volumeID
  9502. type: object
  9503. azureDisk:
  9504. description: azureDisk represents an Azure Data Disk mount on
  9505. the host and bind mount to the pod.
  9506. properties:
  9507. cachingMode:
  9508. description: 'cachingMode is the Host Caching mode: None,
  9509. Read Only, Read Write.'
  9510. type: string
  9511. diskName:
  9512. description: diskName is the Name of the data disk in the
  9513. blob storage
  9514. type: string
  9515. diskURI:
  9516. description: diskURI is the URI of data disk in the blob
  9517. storage
  9518. type: string
  9519. fsType:
  9520. description: fsType is Filesystem type to mount. Must be
  9521. a filesystem type supported by the host operating system.
  9522. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  9523. if unspecified.
  9524. type: string
  9525. kind:
  9526. description: 'kind expected values are Shared: multiple
  9527. blob disks per storage account Dedicated: single blob
  9528. disk per storage account Managed: azure managed data
  9529. disk (only in managed availability set). defaults to shared'
  9530. type: string
  9531. readOnly:
  9532. description: readOnly Defaults to false (read/write). ReadOnly
  9533. here will force the ReadOnly setting in VolumeMounts.
  9534. type: boolean
  9535. required:
  9536. - diskName
  9537. - diskURI
  9538. type: object
  9539. azureFile:
  9540. description: azureFile represents an Azure File Service mount
  9541. on the host and bind mount to the pod.
  9542. properties:
  9543. readOnly:
  9544. description: readOnly defaults to false (read/write). ReadOnly
  9545. here will force the ReadOnly setting in VolumeMounts.
  9546. type: boolean
  9547. secretName:
  9548. description: secretName is the name of secret that contains
  9549. Azure Storage Account Name and Key
  9550. type: string
  9551. shareName:
  9552. description: shareName is the azure share Name
  9553. type: string
  9554. required:
  9555. - secretName
  9556. - shareName
  9557. type: object
  9558. cephfs:
  9559. description: cephFS represents a Ceph FS mount on the host that
  9560. shares a pod's lifetime
  9561. properties:
  9562. monitors:
  9563. description: 'monitors is Required: Monitors is a collection
  9564. of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  9565. items:
  9566. type: string
  9567. type: array
  9568. path:
  9569. description: 'path is Optional: Used as the mounted root,
  9570. rather than the full Ceph tree, default is /'
  9571. type: string
  9572. readOnly:
  9573. description: 'readOnly is Optional: Defaults to false (read/write).
  9574. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  9575. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  9576. type: boolean
  9577. secretFile:
  9578. description: 'secretFile is Optional: SecretFile is the
  9579. path to key ring for User, default is /etc/ceph/user.secret
  9580. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  9581. type: string
  9582. secretRef:
  9583. description: 'secretRef is Optional: SecretRef is reference
  9584. to the authentication secret for User, default is empty.
  9585. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  9586. properties:
  9587. name:
  9588. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9589. TODO: Add other useful fields. apiVersion, kind, uid?'
  9590. type: string
  9591. type: object
  9592. x-kubernetes-map-type: atomic
  9593. user:
  9594. description: 'user is optional: User is the rados user name,
  9595. default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  9596. type: string
  9597. required:
  9598. - monitors
  9599. type: object
  9600. cinder:
  9601. description: 'cinder represents a cinder volume attached and
  9602. mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  9603. properties:
  9604. fsType:
  9605. description: 'fsType is the filesystem type to mount. Must
  9606. be a filesystem type supported by the host operating system.
  9607. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to
  9608. be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  9609. type: string
  9610. readOnly:
  9611. description: 'readOnly defaults to false (read/write). ReadOnly
  9612. here will force the ReadOnly setting in VolumeMounts.
  9613. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  9614. type: boolean
  9615. secretRef:
  9616. description: 'secretRef is optional: points to a secret
  9617. object containing parameters used to connect to OpenStack.'
  9618. properties:
  9619. name:
  9620. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9621. TODO: Add other useful fields. apiVersion, kind, uid?'
  9622. type: string
  9623. type: object
  9624. x-kubernetes-map-type: atomic
  9625. volumeID:
  9626. description: 'volumeID used to identify the volume in cinder.
  9627. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  9628. type: string
  9629. required:
  9630. - volumeID
  9631. type: object
  9632. configMap:
  9633. description: configMap represents a configMap that should populate
  9634. this volume
  9635. properties:
  9636. defaultMode:
  9637. description: 'defaultMode is optional: mode bits used to
  9638. set permissions on created files by default. Must be an
  9639. octal value between 0000 and 0777 or a decimal value between
  9640. 0 and 511. YAML accepts both octal and decimal values,
  9641. JSON requires decimal values for mode bits. Defaults to
  9642. 0644. Directories within the path are not affected by
  9643. this setting. This might be in conflict with other options
  9644. that affect the file mode, like fsGroup, and the result
  9645. can be other mode bits set.'
  9646. format: int32
  9647. type: integer
  9648. items:
  9649. description: items if unspecified, each key-value pair in
  9650. the Data field of the referenced ConfigMap will be projected
  9651. into the volume as a file whose name is the key and content
  9652. is the value. If specified, the listed keys will be projected
  9653. into the specified paths, and unlisted keys will not be
  9654. present. If a key is specified which is not present in
  9655. the ConfigMap, the volume setup will error unless it is
  9656. marked optional. Paths must be relative and may not contain
  9657. the '..' path or start with '..'.
  9658. items:
  9659. description: Maps a string key to a path within a volume.
  9660. properties:
  9661. key:
  9662. description: key is the key to project.
  9663. type: string
  9664. mode:
  9665. description: 'mode is Optional: mode bits used to
  9666. set permissions on this file. Must be an octal value
  9667. between 0000 and 0777 or a decimal value between
  9668. 0 and 511. YAML accepts both octal and decimal values,
  9669. JSON requires decimal values for mode bits. If not
  9670. specified, the volume defaultMode will be used.
  9671. This might be in conflict with other options that
  9672. affect the file mode, like fsGroup, and the result
  9673. can be other mode bits set.'
  9674. format: int32
  9675. type: integer
  9676. path:
  9677. description: path is the relative path of the file
  9678. to map the key to. May not be an absolute path.
  9679. May not contain the path element '..'. May not start
  9680. with the string '..'.
  9681. type: string
  9682. required:
  9683. - key
  9684. - path
  9685. type: object
  9686. type: array
  9687. name:
  9688. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9689. TODO: Add other useful fields. apiVersion, kind, uid?'
  9690. type: string
  9691. optional:
  9692. description: optional specify whether the ConfigMap or its
  9693. keys must be defined
  9694. type: boolean
  9695. type: object
  9696. x-kubernetes-map-type: atomic
  9697. csi:
  9698. description: csi (Container Storage Interface) represents ephemeral
  9699. storage that is handled by certain external CSI drivers (Beta
  9700. feature).
  9701. properties:
  9702. driver:
  9703. description: driver is the name of the CSI driver that handles
  9704. this volume. Consult with your admin for the correct name
  9705. as registered in the cluster.
  9706. type: string
  9707. fsType:
  9708. description: fsType to mount. Ex. "ext4", "xfs", "ntfs".
  9709. If not provided, the empty value is passed to the associated
  9710. CSI driver which will determine the default filesystem
  9711. to apply.
  9712. type: string
  9713. nodePublishSecretRef:
  9714. description: nodePublishSecretRef is a reference to the
  9715. secret object containing sensitive information to pass
  9716. to the CSI driver to complete the CSI NodePublishVolume
  9717. and NodeUnpublishVolume calls. This field is optional,
  9718. and may be empty if no secret is required. If the secret
  9719. object contains more than one secret, all secret references
  9720. are passed.
  9721. properties:
  9722. name:
  9723. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9724. TODO: Add other useful fields. apiVersion, kind, uid?'
  9725. type: string
  9726. type: object
  9727. x-kubernetes-map-type: atomic
  9728. readOnly:
  9729. description: readOnly specifies a read-only configuration
  9730. for the volume. Defaults to false (read/write).
  9731. type: boolean
  9732. volumeAttributes:
  9733. additionalProperties:
  9734. type: string
  9735. description: volumeAttributes stores driver-specific properties
  9736. that are passed to the CSI driver. Consult your driver's
  9737. documentation for supported values.
  9738. type: object
  9739. required:
  9740. - driver
  9741. type: object
  9742. downwardAPI:
  9743. description: downwardAPI represents downward API about the pod
  9744. that should populate this volume
  9745. properties:
  9746. defaultMode:
  9747. description: 'Optional: mode bits to use on created files
  9748. by default. Must be a Optional: mode bits used to set
  9749. permissions on created files by default. Must be an octal
  9750. value between 0000 and 0777 or a decimal value between
  9751. 0 and 511. YAML accepts both octal and decimal values,
  9752. JSON requires decimal values for mode bits. Defaults to
  9753. 0644. Directories within the path are not affected by
  9754. this setting. This might be in conflict with other options
  9755. that affect the file mode, like fsGroup, and the result
  9756. can be other mode bits set.'
  9757. format: int32
  9758. type: integer
  9759. items:
  9760. description: Items is a list of downward API volume file
  9761. items:
  9762. description: DownwardAPIVolumeFile represents information
  9763. to create the file containing the pod field
  9764. properties:
  9765. fieldRef:
  9766. description: 'Required: Selects a field of the pod:
  9767. only annotations, labels, name and namespace are
  9768. supported.'
  9769. properties:
  9770. apiVersion:
  9771. description: Version of the schema the FieldPath
  9772. is written in terms of, defaults to "v1".
  9773. type: string
  9774. fieldPath:
  9775. description: Path of the field to select in the
  9776. specified API version.
  9777. type: string
  9778. required:
  9779. - fieldPath
  9780. type: object
  9781. x-kubernetes-map-type: atomic
  9782. mode:
  9783. description: 'Optional: mode bits used to set permissions
  9784. on this file, must be an octal value between 0000
  9785. and 0777 or a decimal value between 0 and 511. YAML
  9786. accepts both octal and decimal values, JSON requires
  9787. decimal values for mode bits. If not specified,
  9788. the volume defaultMode will be used. This might
  9789. be in conflict with other options that affect the
  9790. file mode, like fsGroup, and the result can be other
  9791. mode bits set.'
  9792. format: int32
  9793. type: integer
  9794. path:
  9795. description: 'Required: Path is the relative path
  9796. name of the file to be created. Must not be absolute
  9797. or contain the ''..'' path. Must be utf-8 encoded.
  9798. The first item of the relative path must not start
  9799. with ''..'''
  9800. type: string
  9801. resourceFieldRef:
  9802. description: 'Selects a resource of the container:
  9803. only resources limits and requests (limits.cpu,
  9804. limits.memory, requests.cpu and requests.memory)
  9805. are currently supported.'
  9806. properties:
  9807. containerName:
  9808. description: 'Container name: required for volumes,
  9809. optional for env vars'
  9810. type: string
  9811. divisor:
  9812. anyOf:
  9813. - type: integer
  9814. - type: string
  9815. description: Specifies the output format of the
  9816. exposed resources, defaults to "1"
  9817. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9818. x-kubernetes-int-or-string: true
  9819. resource:
  9820. description: 'Required: resource to select'
  9821. type: string
  9822. required:
  9823. - resource
  9824. type: object
  9825. x-kubernetes-map-type: atomic
  9826. required:
  9827. - path
  9828. type: object
  9829. type: array
  9830. type: object
  9831. emptyDir:
  9832. description: 'emptyDir represents a temporary directory that
  9833. shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  9834. properties:
  9835. medium:
  9836. description: 'medium represents what type of storage medium
  9837. should back this directory. The default is "" which means
  9838. to use the node''s default medium. Must be an empty string
  9839. (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  9840. type: string
  9841. sizeLimit:
  9842. anyOf:
  9843. - type: integer
  9844. - type: string
  9845. description: 'sizeLimit is the total amount of local storage
  9846. required for this EmptyDir volume. The size limit is also
  9847. applicable for memory medium. The maximum usage on memory
  9848. medium EmptyDir would be the minimum value between the
  9849. SizeLimit specified here and the sum of memory limits
  9850. of all containers in a pod. The default is nil which means
  9851. that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  9852. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9853. x-kubernetes-int-or-string: true
  9854. type: object
  9855. ephemeral:
  9856. description: "ephemeral represents a volume that is handled
  9857. by a cluster storage driver. The volume's lifecycle is tied
  9858. to the pod that defines it - it will be created before the
  9859. pod starts, and deleted when the pod is removed. \n Use this
  9860. if: a) the volume is only needed while the pod runs, b) features
  9861. of normal volumes like restoring from snapshot or capacity
  9862. tracking are needed, c) the storage driver is specified through
  9863. a storage class, and d) the storage driver supports dynamic
  9864. volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource
  9865. for more information on the connection between this volume
  9866. type and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  9867. or one of the vendor-specific APIs for volumes that persist
  9868. for longer than the lifecycle of an individual pod. \n Use
  9869. CSI for light-weight local ephemeral volumes if the CSI driver
  9870. is meant to be used that way - see the documentation of the
  9871. driver for more information. \n A pod can use both types of
  9872. ephemeral volumes and persistent volumes at the same time."
  9873. properties:
  9874. volumeClaimTemplate:
  9875. description: "Will be used to create a stand-alone PVC to
  9876. provision the volume. The pod in which this EphemeralVolumeSource
  9877. is embedded will be the owner of the PVC, i.e. the PVC
  9878. will be deleted together with the pod. The name of the
  9879. PVC will be `<pod name>-<volume name>` where `<volume
  9880. name>` is the name from the `PodSpec.Volumes` array entry.
  9881. Pod validation will reject the pod if the concatenated
  9882. name is not valid for a PVC (for example, too long). \n
  9883. An existing PVC with that name that is not owned by the
  9884. pod will *not* be used for the pod to avoid using an unrelated
  9885. volume by mistake. Starting the pod is then blocked until
  9886. the unrelated PVC is removed. If such a pre-created PVC
  9887. is meant to be used by the pod, the PVC has to updated
  9888. with an owner reference to the pod once the pod exists.
  9889. Normally this should not be necessary, but it may be useful
  9890. when manually reconstructing a broken cluster. \n This
  9891. field is read-only and no changes will be made by Kubernetes
  9892. to the PVC after it has been created. \n Required, must
  9893. not be nil."
  9894. properties:
  9895. metadata:
  9896. description: May contain labels and annotations that
  9897. will be copied into the PVC when creating it. No other
  9898. fields are allowed and will be rejected during validation.
  9899. type: object
  9900. spec:
  9901. description: The specification for the PersistentVolumeClaim.
  9902. The entire content is copied unchanged into the PVC
  9903. that gets created from this template. The same fields
  9904. as in a PersistentVolumeClaim are also valid here.
  9905. properties:
  9906. accessModes:
  9907. description: 'accessModes contains the desired access
  9908. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  9909. items:
  9910. type: string
  9911. type: array
  9912. dataSource:
  9913. description: 'dataSource field can be used to specify
  9914. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  9915. * An existing PVC (PersistentVolumeClaim) If the
  9916. provisioner or an external controller can support
  9917. the specified data source, it will create a new
  9918. volume based on the contents of the specified
  9919. data source. If the AnyVolumeDataSource feature
  9920. gate is enabled, this field will always have the
  9921. same contents as the DataSourceRef field.'
  9922. properties:
  9923. apiGroup:
  9924. description: APIGroup is the group for the resource
  9925. being referenced. If APIGroup is not specified,
  9926. the specified Kind must be in the core API
  9927. group. For any other third-party types, APIGroup
  9928. is required.
  9929. type: string
  9930. kind:
  9931. description: Kind is the type of resource being
  9932. referenced
  9933. type: string
  9934. name:
  9935. description: Name is the name of resource being
  9936. referenced
  9937. type: string
  9938. required:
  9939. - kind
  9940. - name
  9941. type: object
  9942. x-kubernetes-map-type: atomic
  9943. dataSourceRef:
  9944. description: 'dataSourceRef specifies the object
  9945. from which to populate the volume with data, if
  9946. a non-empty volume is desired. This may be any
  9947. local object from a non-empty API group (non core
  9948. object) or a PersistentVolumeClaim object. When
  9949. this field is specified, volume binding will only
  9950. succeed if the type of the specified object matches
  9951. some installed volume populator or dynamic provisioner.
  9952. This field will replace the functionality of the
  9953. DataSource field and as such if both fields are
  9954. non-empty, they must have the same value. For
  9955. backwards compatibility, both fields (DataSource
  9956. and DataSourceRef) will be set to the same value
  9957. automatically if one of them is empty and the
  9958. other is non-empty. There are two important differences
  9959. between DataSource and DataSourceRef: * While
  9960. DataSource only allows two specific types of objects,
  9961. DataSourceRef allows any non-core object, as well
  9962. as PersistentVolumeClaim objects. * While DataSource
  9963. ignores disallowed values (dropping them), DataSourceRef
  9964. preserves all values, and generates an error if
  9965. a disallowed value is specified. (Beta) Using
  9966. this field requires the AnyVolumeDataSource feature
  9967. gate to be enabled.'
  9968. properties:
  9969. apiGroup:
  9970. description: APIGroup is the group for the resource
  9971. being referenced. If APIGroup is not specified,
  9972. the specified Kind must be in the core API
  9973. group. For any other third-party types, APIGroup
  9974. is required.
  9975. type: string
  9976. kind:
  9977. description: Kind is the type of resource being
  9978. referenced
  9979. type: string
  9980. name:
  9981. description: Name is the name of resource being
  9982. referenced
  9983. type: string
  9984. required:
  9985. - kind
  9986. - name
  9987. type: object
  9988. x-kubernetes-map-type: atomic
  9989. resources:
  9990. description: 'resources represents the minimum resources
  9991. the volume should have. If RecoverVolumeExpansionFailure
  9992. feature is enabled users are allowed to specify
  9993. resource requirements that are lower than previous
  9994. value but must still be higher than capacity recorded
  9995. in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  9996. properties:
  9997. limits:
  9998. additionalProperties:
  9999. anyOf:
  10000. - type: integer
  10001. - type: string
  10002. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10003. x-kubernetes-int-or-string: true
  10004. description: 'Limits describes the maximum amount
  10005. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  10006. type: object
  10007. requests:
  10008. additionalProperties:
  10009. anyOf:
  10010. - type: integer
  10011. - type: string
  10012. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10013. x-kubernetes-int-or-string: true
  10014. description: 'Requests describes the minimum
  10015. amount of compute resources required. If Requests
  10016. is omitted for a container, it defaults to
  10017. Limits if that is explicitly specified, otherwise
  10018. to an implementation-defined value. More info:
  10019. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  10020. type: object
  10021. type: object
  10022. selector:
  10023. description: selector is a label query over volumes
  10024. to consider for binding.
  10025. properties:
  10026. matchExpressions:
  10027. description: matchExpressions is a list of label
  10028. selector requirements. The requirements are
  10029. ANDed.
  10030. items:
  10031. description: A label selector requirement
  10032. is a selector that contains values, a key,
  10033. and an operator that relates the key and
  10034. values.
  10035. properties:
  10036. key:
  10037. description: key is the label key that
  10038. the selector applies to.
  10039. type: string
  10040. operator:
  10041. description: operator represents a key's
  10042. relationship to a set of values. Valid
  10043. operators are In, NotIn, Exists and
  10044. DoesNotExist.
  10045. type: string
  10046. values:
  10047. description: values is an array of string
  10048. values. If the operator is In or NotIn,
  10049. the values array must be non-empty.
  10050. If the operator is Exists or DoesNotExist,
  10051. the values array must be empty. This
  10052. array is replaced during a strategic
  10053. merge patch.
  10054. items:
  10055. type: string
  10056. type: array
  10057. required:
  10058. - key
  10059. - operator
  10060. type: object
  10061. type: array
  10062. matchLabels:
  10063. additionalProperties:
  10064. type: string
  10065. description: matchLabels is a map of {key,value}
  10066. pairs. A single {key,value} in the matchLabels
  10067. map is equivalent to an element of matchExpressions,
  10068. whose key field is "key", the operator is
  10069. "In", and the values array contains only "value".
  10070. The requirements are ANDed.
  10071. type: object
  10072. type: object
  10073. x-kubernetes-map-type: atomic
  10074. storageClassName:
  10075. description: 'storageClassName is the name of the
  10076. StorageClass required by the claim. More info:
  10077. https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  10078. type: string
  10079. volumeMode:
  10080. description: volumeMode defines what type of volume
  10081. is required by the claim. Value of Filesystem
  10082. is implied when not included in claim spec.
  10083. type: string
  10084. volumeName:
  10085. description: volumeName is the binding reference
  10086. to the PersistentVolume backing this claim.
  10087. type: string
  10088. type: object
  10089. required:
  10090. - spec
  10091. type: object
  10092. type: object
  10093. fc:
  10094. description: fc represents a Fibre Channel resource that is
  10095. attached to a kubelet's host machine and then exposed to the
  10096. pod.
  10097. properties:
  10098. fsType:
  10099. description: 'fsType is the filesystem type to mount. Must
  10100. be a filesystem type supported by the host operating system.
  10101. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  10102. if unspecified. TODO: how do we prevent errors in the
  10103. filesystem from compromising the machine'
  10104. type: string
  10105. lun:
  10106. description: 'lun is Optional: FC target lun number'
  10107. format: int32
  10108. type: integer
  10109. readOnly:
  10110. description: 'readOnly is Optional: Defaults to false (read/write).
  10111. ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  10112. type: boolean
  10113. targetWWNs:
  10114. description: 'targetWWNs is Optional: FC target worldwide
  10115. names (WWNs)'
  10116. items:
  10117. type: string
  10118. type: array
  10119. wwids:
  10120. description: 'wwids Optional: FC volume world wide identifiers
  10121. (wwids) Either wwids or combination of targetWWNs and
  10122. lun must be set, but not both simultaneously.'
  10123. items:
  10124. type: string
  10125. type: array
  10126. type: object
  10127. flexVolume:
  10128. description: flexVolume represents a generic volume resource
  10129. that is provisioned/attached using an exec based plugin.
  10130. properties:
  10131. driver:
  10132. description: driver is the name of the driver to use for
  10133. this volume.
  10134. type: string
  10135. fsType:
  10136. description: fsType is the filesystem type to mount. Must
  10137. be a filesystem type supported by the host operating system.
  10138. Ex. "ext4", "xfs", "ntfs". The default filesystem depends
  10139. on FlexVolume script.
  10140. type: string
  10141. options:
  10142. additionalProperties:
  10143. type: string
  10144. description: 'options is Optional: this field holds extra
  10145. command options if any.'
  10146. type: object
  10147. readOnly:
  10148. description: 'readOnly is Optional: defaults to false (read/write).
  10149. ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  10150. type: boolean
  10151. secretRef:
  10152. description: 'secretRef is Optional: secretRef is reference
  10153. to the secret object containing sensitive information
  10154. to pass to the plugin scripts. This may be empty if no
  10155. secret object is specified. If the secret object contains
  10156. more than one secret, all secrets are passed to the plugin
  10157. scripts.'
  10158. properties:
  10159. name:
  10160. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10161. TODO: Add other useful fields. apiVersion, kind, uid?'
  10162. type: string
  10163. type: object
  10164. x-kubernetes-map-type: atomic
  10165. required:
  10166. - driver
  10167. type: object
  10168. flocker:
  10169. description: flocker represents a Flocker volume attached to
  10170. a kubelet's host machine. This depends on the Flocker control
  10171. service being running
  10172. properties:
  10173. datasetName:
  10174. description: datasetName is Name of the dataset stored as
  10175. metadata -> name on the dataset for Flocker should be
  10176. considered as deprecated
  10177. type: string
  10178. datasetUUID:
  10179. description: datasetUUID is the UUID of the dataset. This
  10180. is unique identifier of a Flocker dataset
  10181. type: string
  10182. type: object
  10183. gcePersistentDisk:
  10184. description: 'gcePersistentDisk represents a GCE Disk resource
  10185. that is attached to a kubelet''s host machine and then exposed
  10186. to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  10187. properties:
  10188. fsType:
  10189. description: 'fsType is filesystem type of the volume that
  10190. you want to mount. Tip: Ensure that the filesystem type
  10191. is supported by the host operating system. Examples: "ext4",
  10192. "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  10193. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  10194. TODO: how do we prevent errors in the filesystem from
  10195. compromising the machine'
  10196. type: string
  10197. partition:
  10198. description: 'partition is the partition in the volume that
  10199. you want to mount. If omitted, the default is to mount
  10200. by volume name. Examples: For volume /dev/sda1, you specify
  10201. the partition as "1". Similarly, the volume partition
  10202. for /dev/sda is "0" (or you can leave the property empty).
  10203. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  10204. format: int32
  10205. type: integer
  10206. pdName:
  10207. description: 'pdName is unique name of the PD resource in
  10208. GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  10209. type: string
  10210. readOnly:
  10211. description: 'readOnly here will force the ReadOnly setting
  10212. in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  10213. type: boolean
  10214. required:
  10215. - pdName
  10216. type: object
  10217. gitRepo:
  10218. description: 'gitRepo represents a git repository at a particular
  10219. revision. DEPRECATED: GitRepo is deprecated. To provision
  10220. a container with a git repo, mount an EmptyDir into an InitContainer
  10221. that clones the repo using git, then mount the EmptyDir into
  10222. the Pod''s container.'
  10223. properties:
  10224. directory:
  10225. description: directory is the target directory name. Must
  10226. not contain or start with '..'. If '.' is supplied, the
  10227. volume directory will be the git repository. Otherwise,
  10228. if specified, the volume will contain the git repository
  10229. in the subdirectory with the given name.
  10230. type: string
  10231. repository:
  10232. description: repository is the URL
  10233. type: string
  10234. revision:
  10235. description: revision is the commit hash for the specified
  10236. revision.
  10237. type: string
  10238. required:
  10239. - repository
  10240. type: object
  10241. glusterfs:
  10242. description: 'glusterfs represents a Glusterfs mount on the
  10243. host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  10244. properties:
  10245. endpoints:
  10246. description: 'endpoints is the endpoint name that details
  10247. Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  10248. type: string
  10249. path:
  10250. description: 'path is the Glusterfs volume path. More info:
  10251. https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  10252. type: string
  10253. readOnly:
  10254. description: 'readOnly here will force the Glusterfs volume
  10255. to be mounted with read-only permissions. Defaults to
  10256. false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  10257. type: boolean
  10258. required:
  10259. - endpoints
  10260. - path
  10261. type: object
  10262. hostPath:
  10263. description: 'hostPath represents a pre-existing file or directory
  10264. on the host machine that is directly exposed to the container.
  10265. This is generally used for system agents or other privileged
  10266. things that are allowed to see the host machine. Most containers
  10267. will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  10268. --- TODO(jonesdl) We need to restrict who can use host directory
  10269. mounts and who can/can not mount host directories as read/write.'
  10270. properties:
  10271. path:
  10272. description: 'path of the directory on the host. If the
  10273. path is a symlink, it will follow the link to the real
  10274. path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  10275. type: string
  10276. type:
  10277. description: 'type for HostPath Volume Defaults to "" More
  10278. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  10279. type: string
  10280. required:
  10281. - path
  10282. type: object
  10283. iscsi:
  10284. description: 'iscsi represents an ISCSI Disk resource that is
  10285. attached to a kubelet''s host machine and then exposed to
  10286. the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  10287. properties:
  10288. chapAuthDiscovery:
  10289. description: chapAuthDiscovery defines whether support iSCSI
  10290. Discovery CHAP authentication
  10291. type: boolean
  10292. chapAuthSession:
  10293. description: chapAuthSession defines whether support iSCSI
  10294. Session CHAP authentication
  10295. type: boolean
  10296. fsType:
  10297. description: 'fsType is the filesystem type of the volume
  10298. that you want to mount. Tip: Ensure that the filesystem
  10299. type is supported by the host operating system. Examples:
  10300. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  10301. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  10302. TODO: how do we prevent errors in the filesystem from
  10303. compromising the machine'
  10304. type: string
  10305. initiatorName:
  10306. description: initiatorName is the custom iSCSI Initiator
  10307. Name. If initiatorName is specified with iscsiInterface
  10308. simultaneously, new iSCSI interface <target portal>:<volume
  10309. name> will be created for the connection.
  10310. type: string
  10311. iqn:
  10312. description: iqn is the target iSCSI Qualified Name.
  10313. type: string
  10314. iscsiInterface:
  10315. description: iscsiInterface is the interface Name that uses
  10316. an iSCSI transport. Defaults to 'default' (tcp).
  10317. type: string
  10318. lun:
  10319. description: lun represents iSCSI Target Lun number.
  10320. format: int32
  10321. type: integer
  10322. portals:
  10323. description: portals is the iSCSI Target Portal List. The
  10324. portal is either an IP or ip_addr:port if the port is
  10325. other than default (typically TCP ports 860 and 3260).
  10326. items:
  10327. type: string
  10328. type: array
  10329. readOnly:
  10330. description: readOnly here will force the ReadOnly setting
  10331. in VolumeMounts. Defaults to false.
  10332. type: boolean
  10333. secretRef:
  10334. description: secretRef is the CHAP Secret for iSCSI target
  10335. and initiator authentication
  10336. properties:
  10337. name:
  10338. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10339. TODO: Add other useful fields. apiVersion, kind, uid?'
  10340. type: string
  10341. type: object
  10342. x-kubernetes-map-type: atomic
  10343. targetPortal:
  10344. description: targetPortal is iSCSI Target Portal. The Portal
  10345. is either an IP or ip_addr:port if the port is other than
  10346. default (typically TCP ports 860 and 3260).
  10347. type: string
  10348. required:
  10349. - iqn
  10350. - lun
  10351. - targetPortal
  10352. type: object
  10353. name:
  10354. description: 'name of the volume. Must be a DNS_LABEL and unique
  10355. within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10356. type: string
  10357. nfs:
  10358. description: 'nfs represents an NFS mount on the host that shares
  10359. a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  10360. properties:
  10361. path:
  10362. description: 'path that is exported by the NFS server. More
  10363. info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  10364. type: string
  10365. readOnly:
  10366. description: 'readOnly here will force the NFS export to
  10367. be mounted with read-only permissions. Defaults to false.
  10368. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  10369. type: boolean
  10370. server:
  10371. description: 'server is the hostname or IP address of the
  10372. NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  10373. type: string
  10374. required:
  10375. - path
  10376. - server
  10377. type: object
  10378. persistentVolumeClaim:
  10379. description: 'persistentVolumeClaimVolumeSource represents a
  10380. reference to a PersistentVolumeClaim in the same namespace.
  10381. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  10382. properties:
  10383. claimName:
  10384. description: 'claimName is the name of a PersistentVolumeClaim
  10385. in the same namespace as the pod using this volume. More
  10386. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  10387. type: string
  10388. readOnly:
  10389. description: readOnly Will force the ReadOnly setting in
  10390. VolumeMounts. Default false.
  10391. type: boolean
  10392. required:
  10393. - claimName
  10394. type: object
  10395. photonPersistentDisk:
  10396. description: photonPersistentDisk represents a PhotonController
  10397. persistent disk attached and mounted on kubelets host machine
  10398. properties:
  10399. fsType:
  10400. description: fsType is the filesystem type to mount. Must
  10401. be a filesystem type supported by the host operating system.
  10402. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  10403. if unspecified.
  10404. type: string
  10405. pdID:
  10406. description: pdID is the ID that identifies Photon Controller
  10407. persistent disk
  10408. type: string
  10409. required:
  10410. - pdID
  10411. type: object
  10412. portworxVolume:
  10413. description: portworxVolume represents a portworx volume attached
  10414. and mounted on kubelets host machine
  10415. properties:
  10416. fsType:
  10417. description: fSType represents the filesystem type to mount
  10418. Must be a filesystem type supported by the host operating
  10419. system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4"
  10420. if unspecified.
  10421. type: string
  10422. readOnly:
  10423. description: readOnly defaults to false (read/write). ReadOnly
  10424. here will force the ReadOnly setting in VolumeMounts.
  10425. type: boolean
  10426. volumeID:
  10427. description: volumeID uniquely identifies a Portworx volume
  10428. type: string
  10429. required:
  10430. - volumeID
  10431. type: object
  10432. projected:
  10433. description: projected items for all in one resources secrets,
  10434. configmaps, and downward API
  10435. properties:
  10436. defaultMode:
  10437. description: defaultMode are the mode bits used to set permissions
  10438. on created files by default. Must be an octal value between
  10439. 0000 and 0777 or a decimal value between 0 and 511. YAML
  10440. accepts both octal and decimal values, JSON requires decimal
  10441. values for mode bits. Directories within the path are
  10442. not affected by this setting. This might be in conflict
  10443. with other options that affect the file mode, like fsGroup,
  10444. and the result can be other mode bits set.
  10445. format: int32
  10446. type: integer
  10447. sources:
  10448. description: sources is the list of volume projections
  10449. items:
  10450. description: Projection that may be projected along with
  10451. other supported volume types
  10452. properties:
  10453. configMap:
  10454. description: configMap information about the configMap
  10455. data to project
  10456. properties:
  10457. items:
  10458. description: items if unspecified, each key-value
  10459. pair in the Data field of the referenced ConfigMap
  10460. will be projected into the volume as a file
  10461. whose name is the key and content is the value.
  10462. If specified, the listed keys will be projected
  10463. into the specified paths, and unlisted keys
  10464. will not be present. If a key is specified which
  10465. is not present in the ConfigMap, the volume
  10466. setup will error unless it is marked optional.
  10467. Paths must be relative and may not contain the
  10468. '..' path or start with '..'.
  10469. items:
  10470. description: Maps a string key to a path within
  10471. a volume.
  10472. properties:
  10473. key:
  10474. description: key is the key to project.
  10475. type: string
  10476. mode:
  10477. description: 'mode is Optional: mode bits
  10478. used to set permissions on this file.
  10479. Must be an octal value between 0000 and
  10480. 0777 or a decimal value between 0 and
  10481. 511. YAML accepts both octal and decimal
  10482. values, JSON requires decimal values for
  10483. mode bits. If not specified, the volume
  10484. defaultMode will be used. This might be
  10485. in conflict with other options that affect
  10486. the file mode, like fsGroup, and the result
  10487. can be other mode bits set.'
  10488. format: int32
  10489. type: integer
  10490. path:
  10491. description: path is the relative path of
  10492. the file to map the key to. May not be
  10493. an absolute path. May not contain the
  10494. path element '..'. May not start with
  10495. the string '..'.
  10496. type: string
  10497. required:
  10498. - key
  10499. - path
  10500. type: object
  10501. type: array
  10502. name:
  10503. description: 'Name of the referent. More info:
  10504. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10505. TODO: Add other useful fields. apiVersion, kind,
  10506. uid?'
  10507. type: string
  10508. optional:
  10509. description: optional specify whether the ConfigMap
  10510. or its keys must be defined
  10511. type: boolean
  10512. type: object
  10513. x-kubernetes-map-type: atomic
  10514. downwardAPI:
  10515. description: downwardAPI information about the downwardAPI
  10516. data to project
  10517. properties:
  10518. items:
  10519. description: Items is a list of DownwardAPIVolume
  10520. file
  10521. items:
  10522. description: DownwardAPIVolumeFile represents
  10523. information to create the file containing
  10524. the pod field
  10525. properties:
  10526. fieldRef:
  10527. description: 'Required: Selects a field
  10528. of the pod: only annotations, labels,
  10529. name and namespace are supported.'
  10530. properties:
  10531. apiVersion:
  10532. description: Version of the schema the
  10533. FieldPath is written in terms of,
  10534. defaults to "v1".
  10535. type: string
  10536. fieldPath:
  10537. description: Path of the field to select
  10538. in the specified API version.
  10539. type: string
  10540. required:
  10541. - fieldPath
  10542. type: object
  10543. x-kubernetes-map-type: atomic
  10544. mode:
  10545. description: 'Optional: mode bits used to
  10546. set permissions on this file, must be
  10547. an octal value between 0000 and 0777 or
  10548. a decimal value between 0 and 511. YAML
  10549. accepts both octal and decimal values,
  10550. JSON requires decimal values for mode
  10551. bits. If not specified, the volume defaultMode
  10552. will be used. This might be in conflict
  10553. with other options that affect the file
  10554. mode, like fsGroup, and the result can
  10555. be other mode bits set.'
  10556. format: int32
  10557. type: integer
  10558. path:
  10559. description: 'Required: Path is the relative
  10560. path name of the file to be created. Must
  10561. not be absolute or contain the ''..''
  10562. path. Must be utf-8 encoded. The first
  10563. item of the relative path must not start
  10564. with ''..'''
  10565. type: string
  10566. resourceFieldRef:
  10567. description: 'Selects a resource of the
  10568. container: only resources limits and requests
  10569. (limits.cpu, limits.memory, requests.cpu
  10570. and requests.memory) are currently supported.'
  10571. properties:
  10572. containerName:
  10573. description: 'Container name: required
  10574. for volumes, optional for env vars'
  10575. type: string
  10576. divisor:
  10577. anyOf:
  10578. - type: integer
  10579. - type: string
  10580. description: Specifies the output format
  10581. of the exposed resources, defaults
  10582. to "1"
  10583. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10584. x-kubernetes-int-or-string: true
  10585. resource:
  10586. description: 'Required: resource to
  10587. select'
  10588. type: string
  10589. required:
  10590. - resource
  10591. type: object
  10592. x-kubernetes-map-type: atomic
  10593. required:
  10594. - path
  10595. type: object
  10596. type: array
  10597. type: object
  10598. secret:
  10599. description: secret information about the secret data
  10600. to project
  10601. properties:
  10602. items:
  10603. description: items if unspecified, each key-value
  10604. pair in the Data field of the referenced Secret
  10605. will be projected into the volume as a file
  10606. whose name is the key and content is the value.
  10607. If specified, the listed keys will be projected
  10608. into the specified paths, and unlisted keys
  10609. will not be present. If a key is specified which
  10610. is not present in the Secret, the volume setup
  10611. will error unless it is marked optional. Paths
  10612. must be relative and may not contain the '..'
  10613. path or start with '..'.
  10614. items:
  10615. description: Maps a string key to a path within
  10616. a volume.
  10617. properties:
  10618. key:
  10619. description: key is the key to project.
  10620. type: string
  10621. mode:
  10622. description: 'mode is Optional: mode bits
  10623. used to set permissions on this file.
  10624. Must be an octal value between 0000 and
  10625. 0777 or a decimal value between 0 and
  10626. 511. YAML accepts both octal and decimal
  10627. values, JSON requires decimal values for
  10628. mode bits. If not specified, the volume
  10629. defaultMode will be used. This might be
  10630. in conflict with other options that affect
  10631. the file mode, like fsGroup, and the result
  10632. can be other mode bits set.'
  10633. format: int32
  10634. type: integer
  10635. path:
  10636. description: path is the relative path of
  10637. the file to map the key to. May not be
  10638. an absolute path. May not contain the
  10639. path element '..'. May not start with
  10640. the string '..'.
  10641. type: string
  10642. required:
  10643. - key
  10644. - path
  10645. type: object
  10646. type: array
  10647. name:
  10648. description: 'Name of the referent. More info:
  10649. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10650. TODO: Add other useful fields. apiVersion, kind,
  10651. uid?'
  10652. type: string
  10653. optional:
  10654. description: optional field specify whether the
  10655. Secret or its key must be defined
  10656. type: boolean
  10657. type: object
  10658. x-kubernetes-map-type: atomic
  10659. serviceAccountToken:
  10660. description: serviceAccountToken is information about
  10661. the serviceAccountToken data to project
  10662. properties:
  10663. audience:
  10664. description: audience is the intended audience
  10665. of the token. A recipient of a token must identify
  10666. itself with an identifier specified in the audience
  10667. of the token, and otherwise should reject the
  10668. token. The audience defaults to the identifier
  10669. of the apiserver.
  10670. type: string
  10671. expirationSeconds:
  10672. description: expirationSeconds is the requested
  10673. duration of validity of the service account
  10674. token. As the token approaches expiration, the
  10675. kubelet volume plugin will proactively rotate
  10676. the service account token. The kubelet will
  10677. start trying to rotate the token if the token
  10678. is older than 80 percent of its time to live
  10679. or if the token is older than 24 hours.Defaults
  10680. to 1 hour and must be at least 10 minutes.
  10681. format: int64
  10682. type: integer
  10683. path:
  10684. description: path is the path relative to the
  10685. mount point of the file to project the token
  10686. into.
  10687. type: string
  10688. required:
  10689. - path
  10690. type: object
  10691. type: object
  10692. type: array
  10693. type: object
  10694. quobyte:
  10695. description: quobyte represents a Quobyte mount on the host
  10696. that shares a pod's lifetime
  10697. properties:
  10698. group:
  10699. description: group to map volume access to Default is no
  10700. group
  10701. type: string
  10702. readOnly:
  10703. description: readOnly here will force the Quobyte volume
  10704. to be mounted with read-only permissions. Defaults to
  10705. false.
  10706. type: boolean
  10707. registry:
  10708. description: registry represents a single or multiple Quobyte
  10709. Registry services specified as a string as host:port pair
  10710. (multiple entries are separated with commas) which acts
  10711. as the central registry for volumes
  10712. type: string
  10713. tenant:
  10714. description: tenant owning the given Quobyte volume in the
  10715. Backend Used with dynamically provisioned Quobyte volumes,
  10716. value is set by the plugin
  10717. type: string
  10718. user:
  10719. description: user to map volume access to Defaults to serivceaccount
  10720. user
  10721. type: string
  10722. volume:
  10723. description: volume is a string that references an already
  10724. created Quobyte volume by name.
  10725. type: string
  10726. required:
  10727. - registry
  10728. - volume
  10729. type: object
  10730. rbd:
  10731. description: 'rbd represents a Rados Block Device mount on the
  10732. host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md'
  10733. properties:
  10734. fsType:
  10735. description: 'fsType is the filesystem type of the volume
  10736. that you want to mount. Tip: Ensure that the filesystem
  10737. type is supported by the host operating system. Examples:
  10738. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  10739. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  10740. TODO: how do we prevent errors in the filesystem from
  10741. compromising the machine'
  10742. type: string
  10743. image:
  10744. description: 'image is the rados image name. More info:
  10745. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  10746. type: string
  10747. keyring:
  10748. description: 'keyring is the path to key ring for RBDUser.
  10749. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  10750. type: string
  10751. monitors:
  10752. description: 'monitors is a collection of Ceph monitors.
  10753. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  10754. items:
  10755. type: string
  10756. type: array
  10757. pool:
  10758. description: 'pool is the rados pool name. Default is rbd.
  10759. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  10760. type: string
  10761. readOnly:
  10762. description: 'readOnly here will force the ReadOnly setting
  10763. in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  10764. type: boolean
  10765. secretRef:
  10766. description: 'secretRef is name of the authentication secret
  10767. for RBDUser. If provided overrides keyring. Default is
  10768. nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  10769. properties:
  10770. name:
  10771. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10772. TODO: Add other useful fields. apiVersion, kind, uid?'
  10773. type: string
  10774. type: object
  10775. x-kubernetes-map-type: atomic
  10776. user:
  10777. description: 'user is the rados user name. Default is admin.
  10778. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  10779. type: string
  10780. required:
  10781. - image
  10782. - monitors
  10783. type: object
  10784. scaleIO:
  10785. description: scaleIO represents a ScaleIO persistent volume
  10786. attached and mounted on Kubernetes nodes.
  10787. properties:
  10788. fsType:
  10789. description: fsType is the filesystem type to mount. Must
  10790. be a filesystem type supported by the host operating system.
  10791. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  10792. type: string
  10793. gateway:
  10794. description: gateway is the host address of the ScaleIO
  10795. API Gateway.
  10796. type: string
  10797. protectionDomain:
  10798. description: protectionDomain is the name of the ScaleIO
  10799. Protection Domain for the configured storage.
  10800. type: string
  10801. readOnly:
  10802. description: readOnly Defaults to false (read/write). ReadOnly
  10803. here will force the ReadOnly setting in VolumeMounts.
  10804. type: boolean
  10805. secretRef:
  10806. description: secretRef references to the secret for ScaleIO
  10807. user and other sensitive information. If this is not provided,
  10808. Login operation will fail.
  10809. properties:
  10810. name:
  10811. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10812. TODO: Add other useful fields. apiVersion, kind, uid?'
  10813. type: string
  10814. type: object
  10815. x-kubernetes-map-type: atomic
  10816. sslEnabled:
  10817. description: sslEnabled Flag enable/disable SSL communication
  10818. with Gateway, default false
  10819. type: boolean
  10820. storageMode:
  10821. description: storageMode indicates whether the storage for
  10822. a volume should be ThickProvisioned or ThinProvisioned.
  10823. Default is ThinProvisioned.
  10824. type: string
  10825. storagePool:
  10826. description: storagePool is the ScaleIO Storage Pool associated
  10827. with the protection domain.
  10828. type: string
  10829. system:
  10830. description: system is the name of the storage system as
  10831. configured in ScaleIO.
  10832. type: string
  10833. volumeName:
  10834. description: volumeName is the name of a volume already
  10835. created in the ScaleIO system that is associated with
  10836. this volume source.
  10837. type: string
  10838. required:
  10839. - gateway
  10840. - secretRef
  10841. - system
  10842. type: object
  10843. secret:
  10844. description: 'secret represents a secret that should populate
  10845. this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  10846. properties:
  10847. defaultMode:
  10848. description: 'defaultMode is Optional: mode bits used to
  10849. set permissions on created files by default. Must be an
  10850. octal value between 0000 and 0777 or a decimal value between
  10851. 0 and 511. YAML accepts both octal and decimal values,
  10852. JSON requires decimal values for mode bits. Defaults to
  10853. 0644. Directories within the path are not affected by
  10854. this setting. This might be in conflict with other options
  10855. that affect the file mode, like fsGroup, and the result
  10856. can be other mode bits set.'
  10857. format: int32
  10858. type: integer
  10859. items:
  10860. description: items If unspecified, each key-value pair in
  10861. the Data field of the referenced Secret will be projected
  10862. into the volume as a file whose name is the key and content
  10863. is the value. If specified, the listed keys will be projected
  10864. into the specified paths, and unlisted keys will not be
  10865. present. If a key is specified which is not present in
  10866. the Secret, the volume setup will error unless it is marked
  10867. optional. Paths must be relative and may not contain the
  10868. '..' path or start with '..'.
  10869. items:
  10870. description: Maps a string key to a path within a volume.
  10871. properties:
  10872. key:
  10873. description: key is the key to project.
  10874. type: string
  10875. mode:
  10876. description: 'mode is Optional: mode bits used to
  10877. set permissions on this file. Must be an octal value
  10878. between 0000 and 0777 or a decimal value between
  10879. 0 and 511. YAML accepts both octal and decimal values,
  10880. JSON requires decimal values for mode bits. If not
  10881. specified, the volume defaultMode will be used.
  10882. This might be in conflict with other options that
  10883. affect the file mode, like fsGroup, and the result
  10884. can be other mode bits set.'
  10885. format: int32
  10886. type: integer
  10887. path:
  10888. description: path is the relative path of the file
  10889. to map the key to. May not be an absolute path.
  10890. May not contain the path element '..'. May not start
  10891. with the string '..'.
  10892. type: string
  10893. required:
  10894. - key
  10895. - path
  10896. type: object
  10897. type: array
  10898. optional:
  10899. description: optional field specify whether the Secret or
  10900. its keys must be defined
  10901. type: boolean
  10902. secretName:
  10903. description: 'secretName is the name of the secret in the
  10904. pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  10905. type: string
  10906. type: object
  10907. storageos:
  10908. description: storageOS represents a StorageOS volume attached
  10909. and mounted on Kubernetes nodes.
  10910. properties:
  10911. fsType:
  10912. description: fsType is the filesystem type to mount. Must
  10913. be a filesystem type supported by the host operating system.
  10914. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  10915. if unspecified.
  10916. type: string
  10917. readOnly:
  10918. description: readOnly defaults to false (read/write). ReadOnly
  10919. here will force the ReadOnly setting in VolumeMounts.
  10920. type: boolean
  10921. secretRef:
  10922. description: secretRef specifies the secret to use for obtaining
  10923. the StorageOS API credentials. If not specified, default
  10924. values will be attempted.
  10925. properties:
  10926. name:
  10927. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  10928. TODO: Add other useful fields. apiVersion, kind, uid?'
  10929. type: string
  10930. type: object
  10931. x-kubernetes-map-type: atomic
  10932. volumeName:
  10933. description: volumeName is the human-readable name of the
  10934. StorageOS volume. Volume names are only unique within
  10935. a namespace.
  10936. type: string
  10937. volumeNamespace:
  10938. description: volumeNamespace specifies the scope of the
  10939. volume within StorageOS. If no namespace is specified
  10940. then the Pod's namespace will be used. This allows the
  10941. Kubernetes name scoping to be mirrored within StorageOS
  10942. for tighter integration. Set VolumeName to any name to
  10943. override the default behaviour. Set to "default" if you
  10944. are not using namespaces within StorageOS. Namespaces
  10945. that do not pre-exist within StorageOS will be created.
  10946. type: string
  10947. type: object
  10948. vsphereVolume:
  10949. description: vsphereVolume represents a vSphere volume attached
  10950. and mounted on kubelets host machine
  10951. properties:
  10952. fsType:
  10953. description: fsType is filesystem type to mount. Must be
  10954. a filesystem type supported by the host operating system.
  10955. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  10956. if unspecified.
  10957. type: string
  10958. storagePolicyID:
  10959. description: storagePolicyID is the storage Policy Based
  10960. Management (SPBM) profile ID associated with the StoragePolicyName.
  10961. type: string
  10962. storagePolicyName:
  10963. description: storagePolicyName is the storage Policy Based
  10964. Management (SPBM) profile name.
  10965. type: string
  10966. volumePath:
  10967. description: volumePath is the path that identifies vSphere
  10968. volume vmdk
  10969. type: string
  10970. required:
  10971. - volumePath
  10972. type: object
  10973. required:
  10974. - name
  10975. type: object
  10976. type: array
  10977. web:
  10978. description: Defines the web command line flags when starting Alertmanager.
  10979. properties:
  10980. httpConfig:
  10981. description: Defines HTTP parameters for web server.
  10982. properties:
  10983. headers:
  10984. description: List of headers that can be added to HTTP responses.
  10985. properties:
  10986. contentSecurityPolicy:
  10987. description: Set the Content-Security-Policy header to
  10988. HTTP responses. Unset if blank.
  10989. type: string
  10990. strictTransportSecurity:
  10991. description: Set the Strict-Transport-Security header
  10992. to HTTP responses. Unset if blank. Please make sure
  10993. that you use this with care as this header might force
  10994. browsers to load Prometheus and the other applications
  10995. hosted on the same domain and subdomains over HTTPS.
  10996. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
  10997. type: string
  10998. xContentTypeOptions:
  10999. description: Set the X-Content-Type-Options header to
  11000. HTTP responses. Unset if blank. Accepted value is nosniff.
  11001. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
  11002. enum:
  11003. - ""
  11004. - NoSniff
  11005. type: string
  11006. xFrameOptions:
  11007. description: Set the X-Frame-Options header to HTTP responses.
  11008. Unset if blank. Accepted values are deny and sameorigin.
  11009. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
  11010. enum:
  11011. - ""
  11012. - Deny
  11013. - SameOrigin
  11014. type: string
  11015. xXSSProtection:
  11016. description: Set the X-XSS-Protection header to all responses.
  11017. Unset if blank. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
  11018. type: string
  11019. type: object
  11020. http2:
  11021. description: Enable HTTP/2 support. Note that HTTP/2 is only
  11022. supported with TLS. When TLSConfig is not configured, HTTP/2
  11023. will be disabled. Whenever the value of the field changes,
  11024. a rolling update will be triggered.
  11025. type: boolean
  11026. type: object
  11027. tlsConfig:
  11028. description: Defines the TLS parameters for HTTPS.
  11029. properties:
  11030. cert:
  11031. description: Contains the TLS certificate for the server.
  11032. properties:
  11033. configMap:
  11034. description: ConfigMap containing data to use for the
  11035. targets.
  11036. properties:
  11037. key:
  11038. description: The key to select.
  11039. type: string
  11040. name:
  11041. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11042. TODO: Add other useful fields. apiVersion, kind,
  11043. uid?'
  11044. type: string
  11045. optional:
  11046. description: Specify whether the ConfigMap or its
  11047. key must be defined
  11048. type: boolean
  11049. required:
  11050. - key
  11051. type: object
  11052. x-kubernetes-map-type: atomic
  11053. secret:
  11054. description: Secret containing data to use for the targets.
  11055. properties:
  11056. key:
  11057. description: The key of the secret to select from. Must
  11058. be a valid secret key.
  11059. type: string
  11060. name:
  11061. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11062. TODO: Add other useful fields. apiVersion, kind,
  11063. uid?'
  11064. type: string
  11065. optional:
  11066. description: Specify whether the Secret or its key
  11067. must be defined
  11068. type: boolean
  11069. required:
  11070. - key
  11071. type: object
  11072. x-kubernetes-map-type: atomic
  11073. type: object
  11074. cipherSuites:
  11075. description: 'List of supported cipher suites for TLS versions
  11076. up to TLS 1.2. If empty, Go default cipher suites are used.
  11077. Available cipher suites are documented in the go documentation:
  11078. https://golang.org/pkg/crypto/tls/#pkg-constants'
  11079. items:
  11080. type: string
  11081. type: array
  11082. client_ca:
  11083. description: Contains the CA certificate for client certificate
  11084. authentication to the server.
  11085. properties:
  11086. configMap:
  11087. description: ConfigMap containing data to use for the
  11088. targets.
  11089. properties:
  11090. key:
  11091. description: The key to select.
  11092. type: string
  11093. name:
  11094. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11095. TODO: Add other useful fields. apiVersion, kind,
  11096. uid?'
  11097. type: string
  11098. optional:
  11099. description: Specify whether the ConfigMap or its
  11100. key must be defined
  11101. type: boolean
  11102. required:
  11103. - key
  11104. type: object
  11105. x-kubernetes-map-type: atomic
  11106. secret:
  11107. description: Secret containing data to use for the targets.
  11108. properties:
  11109. key:
  11110. description: The key of the secret to select from. Must
  11111. be a valid secret key.
  11112. type: string
  11113. name:
  11114. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11115. TODO: Add other useful fields. apiVersion, kind,
  11116. uid?'
  11117. type: string
  11118. optional:
  11119. description: Specify whether the Secret or its key
  11120. must be defined
  11121. type: boolean
  11122. required:
  11123. - key
  11124. type: object
  11125. x-kubernetes-map-type: atomic
  11126. type: object
  11127. clientAuthType:
  11128. description: 'Server policy for client authentication. Maps
  11129. to ClientAuth Policies. For more detail on clientAuth options:
  11130. https://golang.org/pkg/crypto/tls/#ClientAuthType'
  11131. type: string
  11132. curvePreferences:
  11133. description: 'Elliptic curves that will be used in an ECDHE
  11134. handshake, in preference order. Available curves are documented
  11135. in the go documentation: https://golang.org/pkg/crypto/tls/#CurveID'
  11136. items:
  11137. type: string
  11138. type: array
  11139. keySecret:
  11140. description: Secret containing the TLS key for the server.
  11141. properties:
  11142. key:
  11143. description: The key of the secret to select from. Must
  11144. be a valid secret key.
  11145. type: string
  11146. name:
  11147. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11148. TODO: Add other useful fields. apiVersion, kind, uid?'
  11149. type: string
  11150. optional:
  11151. description: Specify whether the Secret or its key must
  11152. be defined
  11153. type: boolean
  11154. required:
  11155. - key
  11156. type: object
  11157. x-kubernetes-map-type: atomic
  11158. maxVersion:
  11159. description: Maximum TLS version that is acceptable. Defaults
  11160. to TLS13.
  11161. type: string
  11162. minVersion:
  11163. description: Minimum TLS version that is acceptable. Defaults
  11164. to TLS12.
  11165. type: string
  11166. preferServerCipherSuites:
  11167. description: Controls whether the server selects the client's
  11168. most preferred cipher suite, or the server's most preferred
  11169. cipher suite. If true then the server's preference, as expressed
  11170. in the order of elements in cipherSuites, is used.
  11171. type: boolean
  11172. required:
  11173. - cert
  11174. - keySecret
  11175. type: object
  11176. type: object
  11177. type: object
  11178. status:
  11179. description: 'Most recent observed status of the Alertmanager cluster.
  11180. Read-only. Not included when requesting from the apiserver, only from
  11181. the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  11182. properties:
  11183. availableReplicas:
  11184. description: Total number of available pods (ready for at least minReadySeconds)
  11185. targeted by this Alertmanager cluster.
  11186. format: int32
  11187. type: integer
  11188. paused:
  11189. description: Represents whether any actions on the underlying managed
  11190. objects are being performed. Only delete actions will be performed.
  11191. type: boolean
  11192. replicas:
  11193. description: Total number of non-terminated pods targeted by this
  11194. Alertmanager cluster (their labels match the selector).
  11195. format: int32
  11196. type: integer
  11197. unavailableReplicas:
  11198. description: Total number of unavailable pods targeted by this Alertmanager
  11199. cluster.
  11200. format: int32
  11201. type: integer
  11202. updatedReplicas:
  11203. description: Total number of non-terminated pods targeted by this
  11204. Alertmanager cluster that have the desired version spec.
  11205. format: int32
  11206. type: integer
  11207. required:
  11208. - availableReplicas
  11209. - paused
  11210. - replicas
  11211. - unavailableReplicas
  11212. - updatedReplicas
  11213. type: object
  11214. required:
  11215. - spec
  11216. type: object
  11217. served: true
  11218. storage: true
  11219. subresources: {}
  11220. ---
  11221. ---
  11222. apiVersion: apiextensions.k8s.io/v1
  11223. kind: CustomResourceDefinition
  11224. metadata:
  11225. annotations:
  11226. controller-gen.kubebuilder.io/version: v0.9.2
  11227. creationTimestamp: null
  11228. name: podmonitors.monitoring.coreos.com
  11229. spec:
  11230. group: monitoring.coreos.com
  11231. names:
  11232. categories:
  11233. - prometheus-operator
  11234. kind: PodMonitor
  11235. listKind: PodMonitorList
  11236. plural: podmonitors
  11237. shortNames:
  11238. - pmon
  11239. singular: podmonitor
  11240. scope: Namespaced
  11241. versions:
  11242. - name: v1
  11243. schema:
  11244. openAPIV3Schema:
  11245. description: PodMonitor defines monitoring for a set of pods.
  11246. properties:
  11247. apiVersion:
  11248. description: 'APIVersion defines the versioned schema of this representation
  11249. of an object. Servers should convert recognized schemas to the latest
  11250. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  11251. type: string
  11252. kind:
  11253. description: 'Kind is a string value representing the REST resource this
  11254. object represents. Servers may infer this from the endpoint the client
  11255. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  11256. type: string
  11257. metadata:
  11258. type: object
  11259. spec:
  11260. description: Specification of desired Pod selection for target discovery
  11261. by Prometheus.
  11262. properties:
  11263. attachMetadata:
  11264. description: 'Attaches node metadata to discovered targets. Only valid
  11265. for role: pod. Only valid in Prometheus versions 2.35.0 and newer.'
  11266. properties:
  11267. node:
  11268. description: When set to true, Prometheus must have permissions
  11269. to get Nodes.
  11270. type: boolean
  11271. type: object
  11272. jobLabel:
  11273. description: The label to use to retrieve the job name from.
  11274. type: string
  11275. labelLimit:
  11276. description: Per-scrape limit on number of labels that will be accepted
  11277. for a sample. Only valid in Prometheus versions 2.27.0 and newer.
  11278. format: int64
  11279. type: integer
  11280. labelNameLengthLimit:
  11281. description: Per-scrape limit on length of labels name that will be
  11282. accepted for a sample. Only valid in Prometheus versions 2.27.0
  11283. and newer.
  11284. format: int64
  11285. type: integer
  11286. labelValueLengthLimit:
  11287. description: Per-scrape limit on length of labels value that will
  11288. be accepted for a sample. Only valid in Prometheus versions 2.27.0
  11289. and newer.
  11290. format: int64
  11291. type: integer
  11292. namespaceSelector:
  11293. description: Selector to select which namespaces the Endpoints objects
  11294. are discovered from.
  11295. properties:
  11296. any:
  11297. description: Boolean describing whether all namespaces are selected
  11298. in contrast to a list restricting them.
  11299. type: boolean
  11300. matchNames:
  11301. description: List of namespace names to select from.
  11302. items:
  11303. type: string
  11304. type: array
  11305. type: object
  11306. podMetricsEndpoints:
  11307. description: A list of endpoints allowed as part of this PodMonitor.
  11308. items:
  11309. description: PodMetricsEndpoint defines a scrapeable endpoint of
  11310. a Kubernetes Pod serving Prometheus metrics.
  11311. properties:
  11312. authorization:
  11313. description: Authorization section for this endpoint
  11314. properties:
  11315. credentials:
  11316. description: The secret's key that contains the credentials
  11317. of the request
  11318. properties:
  11319. key:
  11320. description: The key of the secret to select from. Must
  11321. be a valid secret key.
  11322. type: string
  11323. name:
  11324. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11325. TODO: Add other useful fields. apiVersion, kind, uid?'
  11326. type: string
  11327. optional:
  11328. description: Specify whether the Secret or its key must
  11329. be defined
  11330. type: boolean
  11331. required:
  11332. - key
  11333. type: object
  11334. x-kubernetes-map-type: atomic
  11335. type:
  11336. description: Set the authentication type. Defaults to Bearer,
  11337. Basic will cause an error
  11338. type: string
  11339. type: object
  11340. basicAuth:
  11341. description: 'BasicAuth allow an endpoint to authenticate over
  11342. basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
  11343. properties:
  11344. password:
  11345. description: The secret in the service monitor namespace
  11346. that contains the password for authentication.
  11347. properties:
  11348. key:
  11349. description: The key of the secret to select from. Must
  11350. be a valid secret key.
  11351. type: string
  11352. name:
  11353. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11354. TODO: Add other useful fields. apiVersion, kind, uid?'
  11355. type: string
  11356. optional:
  11357. description: Specify whether the Secret or its key must
  11358. be defined
  11359. type: boolean
  11360. required:
  11361. - key
  11362. type: object
  11363. x-kubernetes-map-type: atomic
  11364. username:
  11365. description: The secret in the service monitor namespace
  11366. that contains the username for authentication.
  11367. properties:
  11368. key:
  11369. description: The key of the secret to select from. Must
  11370. be a valid secret key.
  11371. type: string
  11372. name:
  11373. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11374. TODO: Add other useful fields. apiVersion, kind, uid?'
  11375. type: string
  11376. optional:
  11377. description: Specify whether the Secret or its key must
  11378. be defined
  11379. type: boolean
  11380. required:
  11381. - key
  11382. type: object
  11383. x-kubernetes-map-type: atomic
  11384. type: object
  11385. bearerTokenSecret:
  11386. description: Secret to mount to read bearer token for scraping
  11387. targets. The secret needs to be in the same namespace as the
  11388. pod monitor and accessible by the Prometheus Operator.
  11389. properties:
  11390. key:
  11391. description: The key of the secret to select from. Must
  11392. be a valid secret key.
  11393. type: string
  11394. name:
  11395. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11396. TODO: Add other useful fields. apiVersion, kind, uid?'
  11397. type: string
  11398. optional:
  11399. description: Specify whether the Secret or its key must
  11400. be defined
  11401. type: boolean
  11402. required:
  11403. - key
  11404. type: object
  11405. x-kubernetes-map-type: atomic
  11406. enableHttp2:
  11407. description: Whether to enable HTTP2.
  11408. type: boolean
  11409. followRedirects:
  11410. description: FollowRedirects configures whether scrape requests
  11411. follow HTTP 3xx redirects.
  11412. type: boolean
  11413. honorLabels:
  11414. description: HonorLabels chooses the metric's labels on collisions
  11415. with target labels.
  11416. type: boolean
  11417. honorTimestamps:
  11418. description: HonorTimestamps controls whether Prometheus respects
  11419. the timestamps present in scraped data.
  11420. type: boolean
  11421. interval:
  11422. description: Interval at which metrics should be scraped If
  11423. not specified Prometheus' global scrape interval is used.
  11424. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  11425. type: string
  11426. metricRelabelings:
  11427. description: MetricRelabelConfigs to apply to samples before
  11428. ingestion.
  11429. items:
  11430. description: 'RelabelConfig allows dynamic rewriting of the
  11431. label set, being applied to samples before ingestion. It
  11432. defines `<metric_relabel_configs>`-section of Prometheus
  11433. configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  11434. properties:
  11435. action:
  11436. default: replace
  11437. description: Action to perform based on regex matching.
  11438. Default is 'replace'. uppercase and lowercase actions
  11439. require Prometheus >= 2.36.
  11440. enum:
  11441. - replace
  11442. - Replace
  11443. - keep
  11444. - Keep
  11445. - drop
  11446. - Drop
  11447. - hashmod
  11448. - HashMod
  11449. - labelmap
  11450. - LabelMap
  11451. - labeldrop
  11452. - LabelDrop
  11453. - labelkeep
  11454. - LabelKeep
  11455. - lowercase
  11456. - Lowercase
  11457. - uppercase
  11458. - Uppercase
  11459. type: string
  11460. modulus:
  11461. description: Modulus to take of the hash of the source
  11462. label values.
  11463. format: int64
  11464. type: integer
  11465. regex:
  11466. description: Regular expression against which the extracted
  11467. value is matched. Default is '(.*)'
  11468. type: string
  11469. replacement:
  11470. description: Replacement value against which a regex replace
  11471. is performed if the regular expression matches. Regex
  11472. capture groups are available. Default is '$1'
  11473. type: string
  11474. separator:
  11475. description: Separator placed between concatenated source
  11476. label values. default is ';'.
  11477. type: string
  11478. sourceLabels:
  11479. description: The source labels select values from existing
  11480. labels. Their content is concatenated using the configured
  11481. separator and matched against the configured regular
  11482. expression for the replace, keep, and drop actions.
  11483. items:
  11484. description: LabelName is a valid Prometheus label name
  11485. which may only contain ASCII letters, numbers, as
  11486. well as underscores.
  11487. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  11488. type: string
  11489. type: array
  11490. targetLabel:
  11491. description: Label to which the resulting value is written
  11492. in a replace action. It is mandatory for replace actions.
  11493. Regex capture groups are available.
  11494. type: string
  11495. type: object
  11496. type: array
  11497. oauth2:
  11498. description: OAuth2 for the URL. Only valid in Prometheus versions
  11499. 2.27.0 and newer.
  11500. properties:
  11501. clientId:
  11502. description: The secret or configmap containing the OAuth2
  11503. client id
  11504. properties:
  11505. configMap:
  11506. description: ConfigMap containing data to use for the
  11507. targets.
  11508. properties:
  11509. key:
  11510. description: The key to select.
  11511. type: string
  11512. name:
  11513. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11514. TODO: Add other useful fields. apiVersion, kind,
  11515. uid?'
  11516. type: string
  11517. optional:
  11518. description: Specify whether the ConfigMap or its
  11519. key must be defined
  11520. type: boolean
  11521. required:
  11522. - key
  11523. type: object
  11524. x-kubernetes-map-type: atomic
  11525. secret:
  11526. description: Secret containing data to use for the targets.
  11527. properties:
  11528. key:
  11529. description: The key of the secret to select from. Must
  11530. be a valid secret key.
  11531. type: string
  11532. name:
  11533. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11534. TODO: Add other useful fields. apiVersion, kind,
  11535. uid?'
  11536. type: string
  11537. optional:
  11538. description: Specify whether the Secret or its key
  11539. must be defined
  11540. type: boolean
  11541. required:
  11542. - key
  11543. type: object
  11544. x-kubernetes-map-type: atomic
  11545. type: object
  11546. clientSecret:
  11547. description: The secret containing the OAuth2 client secret
  11548. properties:
  11549. key:
  11550. description: The key of the secret to select from. Must
  11551. be a valid secret key.
  11552. type: string
  11553. name:
  11554. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11555. TODO: Add other useful fields. apiVersion, kind, uid?'
  11556. type: string
  11557. optional:
  11558. description: Specify whether the Secret or its key must
  11559. be defined
  11560. type: boolean
  11561. required:
  11562. - key
  11563. type: object
  11564. x-kubernetes-map-type: atomic
  11565. endpointParams:
  11566. additionalProperties:
  11567. type: string
  11568. description: Parameters to append to the token URL
  11569. type: object
  11570. scopes:
  11571. description: OAuth2 scopes used for the token request
  11572. items:
  11573. type: string
  11574. type: array
  11575. tokenUrl:
  11576. description: The URL to fetch the token from
  11577. minLength: 1
  11578. type: string
  11579. required:
  11580. - clientId
  11581. - clientSecret
  11582. - tokenUrl
  11583. type: object
  11584. params:
  11585. additionalProperties:
  11586. items:
  11587. type: string
  11588. type: array
  11589. description: Optional HTTP URL parameters
  11590. type: object
  11591. path:
  11592. description: HTTP path to scrape for metrics. If empty, Prometheus
  11593. uses the default value (e.g. `/metrics`).
  11594. type: string
  11595. port:
  11596. description: Name of the pod port this endpoint refers to. Mutually
  11597. exclusive with targetPort.
  11598. type: string
  11599. proxyUrl:
  11600. description: ProxyURL eg http://proxyserver:2195 Directs scrapes
  11601. to proxy through this endpoint.
  11602. type: string
  11603. relabelings:
  11604. description: 'RelabelConfigs to apply to samples before scraping.
  11605. Prometheus Operator automatically adds relabelings for a few
  11606. standard Kubernetes fields. The original scrape job''s name
  11607. is available via the `__tmp_prometheus_job_name` label. More
  11608. info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
  11609. items:
  11610. description: 'RelabelConfig allows dynamic rewriting of the
  11611. label set, being applied to samples before ingestion. It
  11612. defines `<metric_relabel_configs>`-section of Prometheus
  11613. configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  11614. properties:
  11615. action:
  11616. default: replace
  11617. description: Action to perform based on regex matching.
  11618. Default is 'replace'. uppercase and lowercase actions
  11619. require Prometheus >= 2.36.
  11620. enum:
  11621. - replace
  11622. - Replace
  11623. - keep
  11624. - Keep
  11625. - drop
  11626. - Drop
  11627. - hashmod
  11628. - HashMod
  11629. - labelmap
  11630. - LabelMap
  11631. - labeldrop
  11632. - LabelDrop
  11633. - labelkeep
  11634. - LabelKeep
  11635. - lowercase
  11636. - Lowercase
  11637. - uppercase
  11638. - Uppercase
  11639. type: string
  11640. modulus:
  11641. description: Modulus to take of the hash of the source
  11642. label values.
  11643. format: int64
  11644. type: integer
  11645. regex:
  11646. description: Regular expression against which the extracted
  11647. value is matched. Default is '(.*)'
  11648. type: string
  11649. replacement:
  11650. description: Replacement value against which a regex replace
  11651. is performed if the regular expression matches. Regex
  11652. capture groups are available. Default is '$1'
  11653. type: string
  11654. separator:
  11655. description: Separator placed between concatenated source
  11656. label values. default is ';'.
  11657. type: string
  11658. sourceLabels:
  11659. description: The source labels select values from existing
  11660. labels. Their content is concatenated using the configured
  11661. separator and matched against the configured regular
  11662. expression for the replace, keep, and drop actions.
  11663. items:
  11664. description: LabelName is a valid Prometheus label name
  11665. which may only contain ASCII letters, numbers, as
  11666. well as underscores.
  11667. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  11668. type: string
  11669. type: array
  11670. targetLabel:
  11671. description: Label to which the resulting value is written
  11672. in a replace action. It is mandatory for replace actions.
  11673. Regex capture groups are available.
  11674. type: string
  11675. type: object
  11676. type: array
  11677. scheme:
  11678. description: HTTP scheme to use for scraping.
  11679. type: string
  11680. scrapeTimeout:
  11681. description: Timeout after which the scrape is ended If not
  11682. specified, the Prometheus global scrape interval is used.
  11683. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  11684. type: string
  11685. targetPort:
  11686. anyOf:
  11687. - type: integer
  11688. - type: string
  11689. description: 'Deprecated: Use ''port'' instead.'
  11690. x-kubernetes-int-or-string: true
  11691. tlsConfig:
  11692. description: TLS configuration to use when scraping the endpoint.
  11693. properties:
  11694. ca:
  11695. description: Struct containing the CA cert to use for the
  11696. targets.
  11697. properties:
  11698. configMap:
  11699. description: ConfigMap containing data to use for the
  11700. targets.
  11701. properties:
  11702. key:
  11703. description: The key to select.
  11704. type: string
  11705. name:
  11706. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11707. TODO: Add other useful fields. apiVersion, kind,
  11708. uid?'
  11709. type: string
  11710. optional:
  11711. description: Specify whether the ConfigMap or its
  11712. key must be defined
  11713. type: boolean
  11714. required:
  11715. - key
  11716. type: object
  11717. x-kubernetes-map-type: atomic
  11718. secret:
  11719. description: Secret containing data to use for the targets.
  11720. properties:
  11721. key:
  11722. description: The key of the secret to select from. Must
  11723. be a valid secret key.
  11724. type: string
  11725. name:
  11726. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11727. TODO: Add other useful fields. apiVersion, kind,
  11728. uid?'
  11729. type: string
  11730. optional:
  11731. description: Specify whether the Secret or its key
  11732. must be defined
  11733. type: boolean
  11734. required:
  11735. - key
  11736. type: object
  11737. x-kubernetes-map-type: atomic
  11738. type: object
  11739. cert:
  11740. description: Struct containing the client cert file for
  11741. the targets.
  11742. properties:
  11743. configMap:
  11744. description: ConfigMap containing data to use for the
  11745. targets.
  11746. properties:
  11747. key:
  11748. description: The key to select.
  11749. type: string
  11750. name:
  11751. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11752. TODO: Add other useful fields. apiVersion, kind,
  11753. uid?'
  11754. type: string
  11755. optional:
  11756. description: Specify whether the ConfigMap or its
  11757. key must be defined
  11758. type: boolean
  11759. required:
  11760. - key
  11761. type: object
  11762. x-kubernetes-map-type: atomic
  11763. secret:
  11764. description: Secret containing data to use for the targets.
  11765. properties:
  11766. key:
  11767. description: The key of the secret to select from. Must
  11768. be a valid secret key.
  11769. type: string
  11770. name:
  11771. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11772. TODO: Add other useful fields. apiVersion, kind,
  11773. uid?'
  11774. type: string
  11775. optional:
  11776. description: Specify whether the Secret or its key
  11777. must be defined
  11778. type: boolean
  11779. required:
  11780. - key
  11781. type: object
  11782. x-kubernetes-map-type: atomic
  11783. type: object
  11784. insecureSkipVerify:
  11785. description: Disable target certificate validation.
  11786. type: boolean
  11787. keySecret:
  11788. description: Secret containing the client key file for the
  11789. targets.
  11790. properties:
  11791. key:
  11792. description: The key of the secret to select from. Must
  11793. be a valid secret key.
  11794. type: string
  11795. name:
  11796. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11797. TODO: Add other useful fields. apiVersion, kind, uid?'
  11798. type: string
  11799. optional:
  11800. description: Specify whether the Secret or its key must
  11801. be defined
  11802. type: boolean
  11803. required:
  11804. - key
  11805. type: object
  11806. x-kubernetes-map-type: atomic
  11807. serverName:
  11808. description: Used to verify the hostname for the targets.
  11809. type: string
  11810. type: object
  11811. type: object
  11812. type: array
  11813. podTargetLabels:
  11814. description: PodTargetLabels transfers labels on the Kubernetes Pod
  11815. onto the target.
  11816. items:
  11817. type: string
  11818. type: array
  11819. sampleLimit:
  11820. description: SampleLimit defines per-scrape limit on number of scraped
  11821. samples that will be accepted.
  11822. format: int64
  11823. type: integer
  11824. selector:
  11825. description: Selector to select Pod objects.
  11826. properties:
  11827. matchExpressions:
  11828. description: matchExpressions is a list of label selector requirements.
  11829. The requirements are ANDed.
  11830. items:
  11831. description: A label selector requirement is a selector that
  11832. contains values, a key, and an operator that relates the key
  11833. and values.
  11834. properties:
  11835. key:
  11836. description: key is the label key that the selector applies
  11837. to.
  11838. type: string
  11839. operator:
  11840. description: operator represents a key's relationship to
  11841. a set of values. Valid operators are In, NotIn, Exists
  11842. and DoesNotExist.
  11843. type: string
  11844. values:
  11845. description: values is an array of string values. If the
  11846. operator is In or NotIn, the values array must be non-empty.
  11847. If the operator is Exists or DoesNotExist, the values
  11848. array must be empty. This array is replaced during a strategic
  11849. merge patch.
  11850. items:
  11851. type: string
  11852. type: array
  11853. required:
  11854. - key
  11855. - operator
  11856. type: object
  11857. type: array
  11858. matchLabels:
  11859. additionalProperties:
  11860. type: string
  11861. description: matchLabels is a map of {key,value} pairs. A single
  11862. {key,value} in the matchLabels map is equivalent to an element
  11863. of matchExpressions, whose key field is "key", the operator
  11864. is "In", and the values array contains only "value". The requirements
  11865. are ANDed.
  11866. type: object
  11867. type: object
  11868. x-kubernetes-map-type: atomic
  11869. targetLimit:
  11870. description: TargetLimit defines a limit on the number of scraped
  11871. targets that will be accepted.
  11872. format: int64
  11873. type: integer
  11874. required:
  11875. - podMetricsEndpoints
  11876. - selector
  11877. type: object
  11878. required:
  11879. - spec
  11880. type: object
  11881. served: true
  11882. storage: true
  11883. ---
  11884. ---
  11885. apiVersion: apiextensions.k8s.io/v1
  11886. kind: CustomResourceDefinition
  11887. metadata:
  11888. annotations:
  11889. controller-gen.kubebuilder.io/version: v0.9.2
  11890. creationTimestamp: null
  11891. name: probes.monitoring.coreos.com
  11892. spec:
  11893. group: monitoring.coreos.com
  11894. names:
  11895. categories:
  11896. - prometheus-operator
  11897. kind: Probe
  11898. listKind: ProbeList
  11899. plural: probes
  11900. shortNames:
  11901. - prb
  11902. singular: probe
  11903. scope: Namespaced
  11904. versions:
  11905. - name: v1
  11906. schema:
  11907. openAPIV3Schema:
  11908. description: Probe defines monitoring for a set of static targets or ingresses.
  11909. properties:
  11910. apiVersion:
  11911. description: 'APIVersion defines the versioned schema of this representation
  11912. of an object. Servers should convert recognized schemas to the latest
  11913. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  11914. type: string
  11915. kind:
  11916. description: 'Kind is a string value representing the REST resource this
  11917. object represents. Servers may infer this from the endpoint the client
  11918. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  11919. type: string
  11920. metadata:
  11921. type: object
  11922. spec:
  11923. description: Specification of desired Ingress selection for target discovery
  11924. by Prometheus.
  11925. properties:
  11926. authorization:
  11927. description: Authorization section for this endpoint
  11928. properties:
  11929. credentials:
  11930. description: The secret's key that contains the credentials of
  11931. the request
  11932. properties:
  11933. key:
  11934. description: The key of the secret to select from. Must be
  11935. a valid secret key.
  11936. type: string
  11937. name:
  11938. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11939. TODO: Add other useful fields. apiVersion, kind, uid?'
  11940. type: string
  11941. optional:
  11942. description: Specify whether the Secret or its key must be
  11943. defined
  11944. type: boolean
  11945. required:
  11946. - key
  11947. type: object
  11948. x-kubernetes-map-type: atomic
  11949. type:
  11950. description: Set the authentication type. Defaults to Bearer,
  11951. Basic will cause an error
  11952. type: string
  11953. type: object
  11954. basicAuth:
  11955. description: 'BasicAuth allow an endpoint to authenticate over basic
  11956. authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
  11957. properties:
  11958. password:
  11959. description: The secret in the service monitor namespace that
  11960. contains the password for authentication.
  11961. properties:
  11962. key:
  11963. description: The key of the secret to select from. Must be
  11964. a valid secret key.
  11965. type: string
  11966. name:
  11967. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11968. TODO: Add other useful fields. apiVersion, kind, uid?'
  11969. type: string
  11970. optional:
  11971. description: Specify whether the Secret or its key must be
  11972. defined
  11973. type: boolean
  11974. required:
  11975. - key
  11976. type: object
  11977. x-kubernetes-map-type: atomic
  11978. username:
  11979. description: The secret in the service monitor namespace that
  11980. contains the username for authentication.
  11981. properties:
  11982. key:
  11983. description: The key of the secret to select from. Must be
  11984. a valid secret key.
  11985. type: string
  11986. name:
  11987. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11988. TODO: Add other useful fields. apiVersion, kind, uid?'
  11989. type: string
  11990. optional:
  11991. description: Specify whether the Secret or its key must be
  11992. defined
  11993. type: boolean
  11994. required:
  11995. - key
  11996. type: object
  11997. x-kubernetes-map-type: atomic
  11998. type: object
  11999. bearerTokenSecret:
  12000. description: Secret to mount to read bearer token for scraping targets.
  12001. The secret needs to be in the same namespace as the probe and accessible
  12002. by the Prometheus Operator.
  12003. properties:
  12004. key:
  12005. description: The key of the secret to select from. Must be a
  12006. valid secret key.
  12007. type: string
  12008. name:
  12009. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12010. TODO: Add other useful fields. apiVersion, kind, uid?'
  12011. type: string
  12012. optional:
  12013. description: Specify whether the Secret or its key must be defined
  12014. type: boolean
  12015. required:
  12016. - key
  12017. type: object
  12018. x-kubernetes-map-type: atomic
  12019. interval:
  12020. description: Interval at which targets are probed using the configured
  12021. prober. If not specified Prometheus' global scrape interval is used.
  12022. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  12023. type: string
  12024. jobName:
  12025. description: The job name assigned to scraped metrics by default.
  12026. type: string
  12027. labelLimit:
  12028. description: Per-scrape limit on number of labels that will be accepted
  12029. for a sample. Only valid in Prometheus versions 2.27.0 and newer.
  12030. format: int64
  12031. type: integer
  12032. labelNameLengthLimit:
  12033. description: Per-scrape limit on length of labels name that will be
  12034. accepted for a sample. Only valid in Prometheus versions 2.27.0
  12035. and newer.
  12036. format: int64
  12037. type: integer
  12038. labelValueLengthLimit:
  12039. description: Per-scrape limit on length of labels value that will
  12040. be accepted for a sample. Only valid in Prometheus versions 2.27.0
  12041. and newer.
  12042. format: int64
  12043. type: integer
  12044. metricRelabelings:
  12045. description: MetricRelabelConfigs to apply to samples before ingestion.
  12046. items:
  12047. description: 'RelabelConfig allows dynamic rewriting of the label
  12048. set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section
  12049. of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  12050. properties:
  12051. action:
  12052. default: replace
  12053. description: Action to perform based on regex matching. Default
  12054. is 'replace'. uppercase and lowercase actions require Prometheus
  12055. >= 2.36.
  12056. enum:
  12057. - replace
  12058. - Replace
  12059. - keep
  12060. - Keep
  12061. - drop
  12062. - Drop
  12063. - hashmod
  12064. - HashMod
  12065. - labelmap
  12066. - LabelMap
  12067. - labeldrop
  12068. - LabelDrop
  12069. - labelkeep
  12070. - LabelKeep
  12071. - lowercase
  12072. - Lowercase
  12073. - uppercase
  12074. - Uppercase
  12075. type: string
  12076. modulus:
  12077. description: Modulus to take of the hash of the source label
  12078. values.
  12079. format: int64
  12080. type: integer
  12081. regex:
  12082. description: Regular expression against which the extracted
  12083. value is matched. Default is '(.*)'
  12084. type: string
  12085. replacement:
  12086. description: Replacement value against which a regex replace
  12087. is performed if the regular expression matches. Regex capture
  12088. groups are available. Default is '$1'
  12089. type: string
  12090. separator:
  12091. description: Separator placed between concatenated source label
  12092. values. default is ';'.
  12093. type: string
  12094. sourceLabels:
  12095. description: The source labels select values from existing labels.
  12096. Their content is concatenated using the configured separator
  12097. and matched against the configured regular expression for
  12098. the replace, keep, and drop actions.
  12099. items:
  12100. description: LabelName is a valid Prometheus label name which
  12101. may only contain ASCII letters, numbers, as well as underscores.
  12102. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  12103. type: string
  12104. type: array
  12105. targetLabel:
  12106. description: Label to which the resulting value is written in
  12107. a replace action. It is mandatory for replace actions. Regex
  12108. capture groups are available.
  12109. type: string
  12110. type: object
  12111. type: array
  12112. module:
  12113. description: 'The module to use for probing specifying how to probe
  12114. the target. Example module configuring in the blackbox exporter:
  12115. https://github.com/prometheus/blackbox_exporter/blob/master/example.yml'
  12116. type: string
  12117. oauth2:
  12118. description: OAuth2 for the URL. Only valid in Prometheus versions
  12119. 2.27.0 and newer.
  12120. properties:
  12121. clientId:
  12122. description: The secret or configmap containing the OAuth2 client
  12123. id
  12124. properties:
  12125. configMap:
  12126. description: ConfigMap containing data to use for the targets.
  12127. properties:
  12128. key:
  12129. description: The key to select.
  12130. type: string
  12131. name:
  12132. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12133. TODO: Add other useful fields. apiVersion, kind, uid?'
  12134. type: string
  12135. optional:
  12136. description: Specify whether the ConfigMap or its key
  12137. must be defined
  12138. type: boolean
  12139. required:
  12140. - key
  12141. type: object
  12142. x-kubernetes-map-type: atomic
  12143. secret:
  12144. description: Secret containing data to use for the targets.
  12145. properties:
  12146. key:
  12147. description: The key of the secret to select from. Must
  12148. be a valid secret key.
  12149. type: string
  12150. name:
  12151. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12152. TODO: Add other useful fields. apiVersion, kind, uid?'
  12153. type: string
  12154. optional:
  12155. description: Specify whether the Secret or its key must
  12156. be defined
  12157. type: boolean
  12158. required:
  12159. - key
  12160. type: object
  12161. x-kubernetes-map-type: atomic
  12162. type: object
  12163. clientSecret:
  12164. description: The secret containing the OAuth2 client secret
  12165. properties:
  12166. key:
  12167. description: The key of the secret to select from. Must be
  12168. a valid secret key.
  12169. type: string
  12170. name:
  12171. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12172. TODO: Add other useful fields. apiVersion, kind, uid?'
  12173. type: string
  12174. optional:
  12175. description: Specify whether the Secret or its key must be
  12176. defined
  12177. type: boolean
  12178. required:
  12179. - key
  12180. type: object
  12181. x-kubernetes-map-type: atomic
  12182. endpointParams:
  12183. additionalProperties:
  12184. type: string
  12185. description: Parameters to append to the token URL
  12186. type: object
  12187. scopes:
  12188. description: OAuth2 scopes used for the token request
  12189. items:
  12190. type: string
  12191. type: array
  12192. tokenUrl:
  12193. description: The URL to fetch the token from
  12194. minLength: 1
  12195. type: string
  12196. required:
  12197. - clientId
  12198. - clientSecret
  12199. - tokenUrl
  12200. type: object
  12201. prober:
  12202. description: Specification for the prober to use for probing targets.
  12203. The prober.URL parameter is required. Targets cannot be probed if
  12204. left empty.
  12205. properties:
  12206. path:
  12207. default: /probe
  12208. description: Path to collect metrics from. Defaults to `/probe`.
  12209. type: string
  12210. proxyUrl:
  12211. description: Optional ProxyURL.
  12212. type: string
  12213. scheme:
  12214. description: HTTP scheme to use for scraping. Defaults to `http`.
  12215. type: string
  12216. url:
  12217. description: Mandatory URL of the prober.
  12218. type: string
  12219. required:
  12220. - url
  12221. type: object
  12222. sampleLimit:
  12223. description: SampleLimit defines per-scrape limit on number of scraped
  12224. samples that will be accepted.
  12225. format: int64
  12226. type: integer
  12227. scrapeTimeout:
  12228. description: Timeout for scraping metrics from the Prometheus exporter.
  12229. If not specified, the Prometheus global scrape interval is used.
  12230. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  12231. type: string
  12232. targetLimit:
  12233. description: TargetLimit defines a limit on the number of scraped
  12234. targets that will be accepted.
  12235. format: int64
  12236. type: integer
  12237. targets:
  12238. description: Targets defines a set of static or dynamically discovered
  12239. targets to probe.
  12240. properties:
  12241. ingress:
  12242. description: ingress defines the Ingress objects to probe and
  12243. the relabeling configuration. If `staticConfig` is also defined,
  12244. `staticConfig` takes precedence.
  12245. properties:
  12246. namespaceSelector:
  12247. description: From which namespaces to select Ingress objects.
  12248. properties:
  12249. any:
  12250. description: Boolean describing whether all namespaces
  12251. are selected in contrast to a list restricting them.
  12252. type: boolean
  12253. matchNames:
  12254. description: List of namespace names to select from.
  12255. items:
  12256. type: string
  12257. type: array
  12258. type: object
  12259. relabelingConfigs:
  12260. description: 'RelabelConfigs to apply to the label set of
  12261. the target before it gets scraped. The original ingress
  12262. address is available via the `__tmp_prometheus_ingress_address`
  12263. label. It can be used to customize the probed URL. The original
  12264. scrape job''s name is available via the `__tmp_prometheus_job_name`
  12265. label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
  12266. items:
  12267. description: 'RelabelConfig allows dynamic rewriting of
  12268. the label set, being applied to samples before ingestion.
  12269. It defines `<metric_relabel_configs>`-section of Prometheus
  12270. configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  12271. properties:
  12272. action:
  12273. default: replace
  12274. description: Action to perform based on regex matching.
  12275. Default is 'replace'. uppercase and lowercase actions
  12276. require Prometheus >= 2.36.
  12277. enum:
  12278. - replace
  12279. - Replace
  12280. - keep
  12281. - Keep
  12282. - drop
  12283. - Drop
  12284. - hashmod
  12285. - HashMod
  12286. - labelmap
  12287. - LabelMap
  12288. - labeldrop
  12289. - LabelDrop
  12290. - labelkeep
  12291. - LabelKeep
  12292. - lowercase
  12293. - Lowercase
  12294. - uppercase
  12295. - Uppercase
  12296. type: string
  12297. modulus:
  12298. description: Modulus to take of the hash of the source
  12299. label values.
  12300. format: int64
  12301. type: integer
  12302. regex:
  12303. description: Regular expression against which the extracted
  12304. value is matched. Default is '(.*)'
  12305. type: string
  12306. replacement:
  12307. description: Replacement value against which a regex
  12308. replace is performed if the regular expression matches.
  12309. Regex capture groups are available. Default is '$1'
  12310. type: string
  12311. separator:
  12312. description: Separator placed between concatenated source
  12313. label values. default is ';'.
  12314. type: string
  12315. sourceLabels:
  12316. description: The source labels select values from existing
  12317. labels. Their content is concatenated using the configured
  12318. separator and matched against the configured regular
  12319. expression for the replace, keep, and drop actions.
  12320. items:
  12321. description: LabelName is a valid Prometheus label
  12322. name which may only contain ASCII letters, numbers,
  12323. as well as underscores.
  12324. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  12325. type: string
  12326. type: array
  12327. targetLabel:
  12328. description: Label to which the resulting value is written
  12329. in a replace action. It is mandatory for replace actions.
  12330. Regex capture groups are available.
  12331. type: string
  12332. type: object
  12333. type: array
  12334. selector:
  12335. description: Selector to select the Ingress objects.
  12336. properties:
  12337. matchExpressions:
  12338. description: matchExpressions is a list of label selector
  12339. requirements. The requirements are ANDed.
  12340. items:
  12341. description: A label selector requirement is a selector
  12342. that contains values, a key, and an operator that
  12343. relates the key and values.
  12344. properties:
  12345. key:
  12346. description: key is the label key that the selector
  12347. applies to.
  12348. type: string
  12349. operator:
  12350. description: operator represents a key's relationship
  12351. to a set of values. Valid operators are In, NotIn,
  12352. Exists and DoesNotExist.
  12353. type: string
  12354. values:
  12355. description: values is an array of string values.
  12356. If the operator is In or NotIn, the values array
  12357. must be non-empty. If the operator is Exists or
  12358. DoesNotExist, the values array must be empty.
  12359. This array is replaced during a strategic merge
  12360. patch.
  12361. items:
  12362. type: string
  12363. type: array
  12364. required:
  12365. - key
  12366. - operator
  12367. type: object
  12368. type: array
  12369. matchLabels:
  12370. additionalProperties:
  12371. type: string
  12372. description: matchLabels is a map of {key,value} pairs.
  12373. A single {key,value} in the matchLabels map is equivalent
  12374. to an element of matchExpressions, whose key field is
  12375. "key", the operator is "In", and the values array contains
  12376. only "value". The requirements are ANDed.
  12377. type: object
  12378. type: object
  12379. x-kubernetes-map-type: atomic
  12380. type: object
  12381. staticConfig:
  12382. description: 'staticConfig defines the static list of targets
  12383. to probe and the relabeling configuration. If `ingress` is also
  12384. defined, `staticConfig` takes precedence. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.'
  12385. properties:
  12386. labels:
  12387. additionalProperties:
  12388. type: string
  12389. description: Labels assigned to all metrics scraped from the
  12390. targets.
  12391. type: object
  12392. relabelingConfigs:
  12393. description: 'RelabelConfigs to apply to the label set of
  12394. the targets before it gets scraped. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
  12395. items:
  12396. description: 'RelabelConfig allows dynamic rewriting of
  12397. the label set, being applied to samples before ingestion.
  12398. It defines `<metric_relabel_configs>`-section of Prometheus
  12399. configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  12400. properties:
  12401. action:
  12402. default: replace
  12403. description: Action to perform based on regex matching.
  12404. Default is 'replace'. uppercase and lowercase actions
  12405. require Prometheus >= 2.36.
  12406. enum:
  12407. - replace
  12408. - Replace
  12409. - keep
  12410. - Keep
  12411. - drop
  12412. - Drop
  12413. - hashmod
  12414. - HashMod
  12415. - labelmap
  12416. - LabelMap
  12417. - labeldrop
  12418. - LabelDrop
  12419. - labelkeep
  12420. - LabelKeep
  12421. - lowercase
  12422. - Lowercase
  12423. - uppercase
  12424. - Uppercase
  12425. type: string
  12426. modulus:
  12427. description: Modulus to take of the hash of the source
  12428. label values.
  12429. format: int64
  12430. type: integer
  12431. regex:
  12432. description: Regular expression against which the extracted
  12433. value is matched. Default is '(.*)'
  12434. type: string
  12435. replacement:
  12436. description: Replacement value against which a regex
  12437. replace is performed if the regular expression matches.
  12438. Regex capture groups are available. Default is '$1'
  12439. type: string
  12440. separator:
  12441. description: Separator placed between concatenated source
  12442. label values. default is ';'.
  12443. type: string
  12444. sourceLabels:
  12445. description: The source labels select values from existing
  12446. labels. Their content is concatenated using the configured
  12447. separator and matched against the configured regular
  12448. expression for the replace, keep, and drop actions.
  12449. items:
  12450. description: LabelName is a valid Prometheus label
  12451. name which may only contain ASCII letters, numbers,
  12452. as well as underscores.
  12453. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  12454. type: string
  12455. type: array
  12456. targetLabel:
  12457. description: Label to which the resulting value is written
  12458. in a replace action. It is mandatory for replace actions.
  12459. Regex capture groups are available.
  12460. type: string
  12461. type: object
  12462. type: array
  12463. static:
  12464. description: The list of hosts to probe.
  12465. items:
  12466. type: string
  12467. type: array
  12468. type: object
  12469. type: object
  12470. tlsConfig:
  12471. description: TLS configuration to use when scraping the endpoint.
  12472. properties:
  12473. ca:
  12474. description: Struct containing the CA cert to use for the targets.
  12475. properties:
  12476. configMap:
  12477. description: ConfigMap containing data to use for the targets.
  12478. properties:
  12479. key:
  12480. description: The key to select.
  12481. type: string
  12482. name:
  12483. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12484. TODO: Add other useful fields. apiVersion, kind, uid?'
  12485. type: string
  12486. optional:
  12487. description: Specify whether the ConfigMap or its key
  12488. must be defined
  12489. type: boolean
  12490. required:
  12491. - key
  12492. type: object
  12493. x-kubernetes-map-type: atomic
  12494. secret:
  12495. description: Secret containing data to use for the targets.
  12496. properties:
  12497. key:
  12498. description: The key of the secret to select from. Must
  12499. be a valid secret key.
  12500. type: string
  12501. name:
  12502. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12503. TODO: Add other useful fields. apiVersion, kind, uid?'
  12504. type: string
  12505. optional:
  12506. description: Specify whether the Secret or its key must
  12507. be defined
  12508. type: boolean
  12509. required:
  12510. - key
  12511. type: object
  12512. x-kubernetes-map-type: atomic
  12513. type: object
  12514. cert:
  12515. description: Struct containing the client cert file for the targets.
  12516. properties:
  12517. configMap:
  12518. description: ConfigMap containing data to use for the targets.
  12519. properties:
  12520. key:
  12521. description: The key to select.
  12522. type: string
  12523. name:
  12524. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12525. TODO: Add other useful fields. apiVersion, kind, uid?'
  12526. type: string
  12527. optional:
  12528. description: Specify whether the ConfigMap or its key
  12529. must be defined
  12530. type: boolean
  12531. required:
  12532. - key
  12533. type: object
  12534. x-kubernetes-map-type: atomic
  12535. secret:
  12536. description: Secret containing data to use for the targets.
  12537. properties:
  12538. key:
  12539. description: The key of the secret to select from. Must
  12540. be a valid secret key.
  12541. type: string
  12542. name:
  12543. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12544. TODO: Add other useful fields. apiVersion, kind, uid?'
  12545. type: string
  12546. optional:
  12547. description: Specify whether the Secret or its key must
  12548. be defined
  12549. type: boolean
  12550. required:
  12551. - key
  12552. type: object
  12553. x-kubernetes-map-type: atomic
  12554. type: object
  12555. insecureSkipVerify:
  12556. description: Disable target certificate validation.
  12557. type: boolean
  12558. keySecret:
  12559. description: Secret containing the client key file for the targets.
  12560. properties:
  12561. key:
  12562. description: The key of the secret to select from. Must be
  12563. a valid secret key.
  12564. type: string
  12565. name:
  12566. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12567. TODO: Add other useful fields. apiVersion, kind, uid?'
  12568. type: string
  12569. optional:
  12570. description: Specify whether the Secret or its key must be
  12571. defined
  12572. type: boolean
  12573. required:
  12574. - key
  12575. type: object
  12576. x-kubernetes-map-type: atomic
  12577. serverName:
  12578. description: Used to verify the hostname for the targets.
  12579. type: string
  12580. type: object
  12581. type: object
  12582. required:
  12583. - spec
  12584. type: object
  12585. served: true
  12586. storage: true
  12587. ---
  12588. ---
  12589. apiVersion: apiextensions.k8s.io/v1
  12590. kind: CustomResourceDefinition
  12591. metadata:
  12592. annotations:
  12593. controller-gen.kubebuilder.io/version: v0.9.2
  12594. creationTimestamp: null
  12595. name: prometheuses.monitoring.coreos.com
  12596. spec:
  12597. group: monitoring.coreos.com
  12598. names:
  12599. categories:
  12600. - prometheus-operator
  12601. kind: Prometheus
  12602. listKind: PrometheusList
  12603. plural: prometheuses
  12604. shortNames:
  12605. - prom
  12606. singular: prometheus
  12607. scope: Namespaced
  12608. versions:
  12609. - additionalPrinterColumns:
  12610. - description: The version of Prometheus
  12611. jsonPath: .spec.version
  12612. name: Version
  12613. type: string
  12614. - description: The desired replicas number of Prometheuses
  12615. jsonPath: .spec.replicas
  12616. name: Replicas
  12617. type: integer
  12618. - jsonPath: .metadata.creationTimestamp
  12619. name: Age
  12620. type: date
  12621. name: v1
  12622. schema:
  12623. openAPIV3Schema:
  12624. description: Prometheus defines a Prometheus deployment.
  12625. properties:
  12626. apiVersion:
  12627. description: 'APIVersion defines the versioned schema of this representation
  12628. of an object. Servers should convert recognized schemas to the latest
  12629. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  12630. type: string
  12631. kind:
  12632. description: 'Kind is a string value representing the REST resource this
  12633. object represents. Servers may infer this from the endpoint the client
  12634. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  12635. type: string
  12636. metadata:
  12637. type: object
  12638. spec:
  12639. description: 'Specification of the desired behavior of the Prometheus
  12640. cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  12641. properties:
  12642. additionalAlertManagerConfigs:
  12643. description: 'AdditionalAlertManagerConfigs allows specifying a key
  12644. of a Secret containing additional Prometheus AlertManager configurations.
  12645. AlertManager configurations specified are appended to the configurations
  12646. generated by the Prometheus Operator. Job configurations specified
  12647. must have the form as specified in the official Prometheus documentation:
  12648. https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config.
  12649. As AlertManager configs are appended, the user is responsible to
  12650. make sure it is valid. Note that using this feature may expose the
  12651. possibility to break upgrades of Prometheus. It is advised to review
  12652. Prometheus release notes to ensure that no incompatible AlertManager
  12653. configs are going to break Prometheus after the upgrade.'
  12654. properties:
  12655. key:
  12656. description: The key of the secret to select from. Must be a
  12657. valid secret key.
  12658. type: string
  12659. name:
  12660. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12661. TODO: Add other useful fields. apiVersion, kind, uid?'
  12662. type: string
  12663. optional:
  12664. description: Specify whether the Secret or its key must be defined
  12665. type: boolean
  12666. required:
  12667. - key
  12668. type: object
  12669. x-kubernetes-map-type: atomic
  12670. additionalAlertRelabelConfigs:
  12671. description: 'AdditionalAlertRelabelConfigs allows specifying a key
  12672. of a Secret containing additional Prometheus alert relabel configurations.
  12673. Alert relabel configurations specified are appended to the configurations
  12674. generated by the Prometheus Operator. Alert relabel configurations
  12675. specified must have the form as specified in the official Prometheus
  12676. documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs.
  12677. As alert relabel configs are appended, the user is responsible to
  12678. make sure it is valid. Note that using this feature may expose the
  12679. possibility to break upgrades of Prometheus. It is advised to review
  12680. Prometheus release notes to ensure that no incompatible alert relabel
  12681. configs are going to break Prometheus after the upgrade.'
  12682. properties:
  12683. key:
  12684. description: The key of the secret to select from. Must be a
  12685. valid secret key.
  12686. type: string
  12687. name:
  12688. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12689. TODO: Add other useful fields. apiVersion, kind, uid?'
  12690. type: string
  12691. optional:
  12692. description: Specify whether the Secret or its key must be defined
  12693. type: boolean
  12694. required:
  12695. - key
  12696. type: object
  12697. x-kubernetes-map-type: atomic
  12698. additionalArgs:
  12699. description: AdditionalArgs allows setting additional arguments for
  12700. the Prometheus container. It is intended for e.g. activating hidden
  12701. flags which are not supported by the dedicated configuration options
  12702. yet. The arguments are passed as-is to the Prometheus container
  12703. which may cause issues if they are invalid or not supporeted by
  12704. the given Prometheus version. In case of an argument conflict (e.g.
  12705. an argument which is already set by the operator itself) or when
  12706. providing an invalid argument the reconciliation will fail and an
  12707. error will be logged.
  12708. items:
  12709. description: Argument as part of the AdditionalArgs list.
  12710. properties:
  12711. name:
  12712. description: Name of the argument, e.g. "scrape.discovery-reload-interval".
  12713. minLength: 1
  12714. type: string
  12715. value:
  12716. description: Argument value, e.g. 30s. Can be empty for name-only
  12717. arguments (e.g. --storage.tsdb.no-lockfile)
  12718. type: string
  12719. required:
  12720. - name
  12721. type: object
  12722. type: array
  12723. additionalScrapeConfigs:
  12724. description: 'AdditionalScrapeConfigs allows specifying a key of a
  12725. Secret containing additional Prometheus scrape configurations. Scrape
  12726. configurations specified are appended to the configurations generated
  12727. by the Prometheus Operator. Job configurations specified must have
  12728. the form as specified in the official Prometheus documentation:
  12729. https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config.
  12730. As scrape configs are appended, the user is responsible to make
  12731. sure it is valid. Note that using this feature may expose the possibility
  12732. to break upgrades of Prometheus. It is advised to review Prometheus
  12733. release notes to ensure that no incompatible scrape configs are
  12734. going to break Prometheus after the upgrade.'
  12735. properties:
  12736. key:
  12737. description: The key of the secret to select from. Must be a
  12738. valid secret key.
  12739. type: string
  12740. name:
  12741. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  12742. TODO: Add other useful fields. apiVersion, kind, uid?'
  12743. type: string
  12744. optional:
  12745. description: Specify whether the Secret or its key must be defined
  12746. type: boolean
  12747. required:
  12748. - key
  12749. type: object
  12750. x-kubernetes-map-type: atomic
  12751. affinity:
  12752. description: If specified, the pod's scheduling constraints.
  12753. properties:
  12754. nodeAffinity:
  12755. description: Describes node affinity scheduling rules for the
  12756. pod.
  12757. properties:
  12758. preferredDuringSchedulingIgnoredDuringExecution:
  12759. description: The scheduler will prefer to schedule pods to
  12760. nodes that satisfy the affinity expressions specified by
  12761. this field, but it may choose a node that violates one or
  12762. more of the expressions. The node that is most preferred
  12763. is the one with the greatest sum of weights, i.e. for each
  12764. node that meets all of the scheduling requirements (resource
  12765. request, requiredDuringScheduling affinity expressions,
  12766. etc.), compute a sum by iterating through the elements of
  12767. this field and adding "weight" to the sum if the node matches
  12768. the corresponding matchExpressions; the node(s) with the
  12769. highest sum are the most preferred.
  12770. items:
  12771. description: An empty preferred scheduling term matches
  12772. all objects with implicit weight 0 (i.e. it's a no-op).
  12773. A null preferred scheduling term matches no objects (i.e.
  12774. is also a no-op).
  12775. properties:
  12776. preference:
  12777. description: A node selector term, associated with the
  12778. corresponding weight.
  12779. properties:
  12780. matchExpressions:
  12781. description: A list of node selector requirements
  12782. by node's labels.
  12783. items:
  12784. description: A node selector requirement is a
  12785. selector that contains values, a key, and an
  12786. operator that relates the key and values.
  12787. properties:
  12788. key:
  12789. description: The label key that the selector
  12790. applies to.
  12791. type: string
  12792. operator:
  12793. description: Represents a key's relationship
  12794. to a set of values. Valid operators are
  12795. In, NotIn, Exists, DoesNotExist. Gt, and
  12796. Lt.
  12797. type: string
  12798. values:
  12799. description: An array of string values. If
  12800. the operator is In or NotIn, the values
  12801. array must be non-empty. If the operator
  12802. is Exists or DoesNotExist, the values array
  12803. must be empty. If the operator is Gt or
  12804. Lt, the values array must have a single
  12805. element, which will be interpreted as an
  12806. integer. This array is replaced during a
  12807. strategic merge patch.
  12808. items:
  12809. type: string
  12810. type: array
  12811. required:
  12812. - key
  12813. - operator
  12814. type: object
  12815. type: array
  12816. matchFields:
  12817. description: A list of node selector requirements
  12818. by node's fields.
  12819. items:
  12820. description: A node selector requirement is a
  12821. selector that contains values, a key, and an
  12822. operator that relates the key and values.
  12823. properties:
  12824. key:
  12825. description: The label key that the selector
  12826. applies to.
  12827. type: string
  12828. operator:
  12829. description: Represents a key's relationship
  12830. to a set of values. Valid operators are
  12831. In, NotIn, Exists, DoesNotExist. Gt, and
  12832. Lt.
  12833. type: string
  12834. values:
  12835. description: An array of string values. If
  12836. the operator is In or NotIn, the values
  12837. array must be non-empty. If the operator
  12838. is Exists or DoesNotExist, the values array
  12839. must be empty. If the operator is Gt or
  12840. Lt, the values array must have a single
  12841. element, which will be interpreted as an
  12842. integer. This array is replaced during a
  12843. strategic merge patch.
  12844. items:
  12845. type: string
  12846. type: array
  12847. required:
  12848. - key
  12849. - operator
  12850. type: object
  12851. type: array
  12852. type: object
  12853. x-kubernetes-map-type: atomic
  12854. weight:
  12855. description: Weight associated with matching the corresponding
  12856. nodeSelectorTerm, in the range 1-100.
  12857. format: int32
  12858. type: integer
  12859. required:
  12860. - preference
  12861. - weight
  12862. type: object
  12863. type: array
  12864. requiredDuringSchedulingIgnoredDuringExecution:
  12865. description: If the affinity requirements specified by this
  12866. field are not met at scheduling time, the pod will not be
  12867. scheduled onto the node. If the affinity requirements specified
  12868. by this field cease to be met at some point during pod execution
  12869. (e.g. due to an update), the system may or may not try to
  12870. eventually evict the pod from its node.
  12871. properties:
  12872. nodeSelectorTerms:
  12873. description: Required. A list of node selector terms.
  12874. The terms are ORed.
  12875. items:
  12876. description: A null or empty node selector term matches
  12877. no objects. The requirements of them are ANDed. The
  12878. TopologySelectorTerm type implements a subset of the
  12879. NodeSelectorTerm.
  12880. properties:
  12881. matchExpressions:
  12882. description: A list of node selector requirements
  12883. by node's labels.
  12884. items:
  12885. description: A node selector requirement is a
  12886. selector that contains values, a key, and an
  12887. operator that relates the key and values.
  12888. properties:
  12889. key:
  12890. description: The label key that the selector
  12891. applies to.
  12892. type: string
  12893. operator:
  12894. description: Represents a key's relationship
  12895. to a set of values. Valid operators are
  12896. In, NotIn, Exists, DoesNotExist. Gt, and
  12897. Lt.
  12898. type: string
  12899. values:
  12900. description: An array of string values. If
  12901. the operator is In or NotIn, the values
  12902. array must be non-empty. If the operator
  12903. is Exists or DoesNotExist, the values array
  12904. must be empty. If the operator is Gt or
  12905. Lt, the values array must have a single
  12906. element, which will be interpreted as an
  12907. integer. This array is replaced during a
  12908. strategic merge patch.
  12909. items:
  12910. type: string
  12911. type: array
  12912. required:
  12913. - key
  12914. - operator
  12915. type: object
  12916. type: array
  12917. matchFields:
  12918. description: A list of node selector requirements
  12919. by node's fields.
  12920. items:
  12921. description: A node selector requirement is a
  12922. selector that contains values, a key, and an
  12923. operator that relates the key and values.
  12924. properties:
  12925. key:
  12926. description: The label key that the selector
  12927. applies to.
  12928. type: string
  12929. operator:
  12930. description: Represents a key's relationship
  12931. to a set of values. Valid operators are
  12932. In, NotIn, Exists, DoesNotExist. Gt, and
  12933. Lt.
  12934. type: string
  12935. values:
  12936. description: An array of string values. If
  12937. the operator is In or NotIn, the values
  12938. array must be non-empty. If the operator
  12939. is Exists or DoesNotExist, the values array
  12940. must be empty. If the operator is Gt or
  12941. Lt, the values array must have a single
  12942. element, which will be interpreted as an
  12943. integer. This array is replaced during a
  12944. strategic merge patch.
  12945. items:
  12946. type: string
  12947. type: array
  12948. required:
  12949. - key
  12950. - operator
  12951. type: object
  12952. type: array
  12953. type: object
  12954. x-kubernetes-map-type: atomic
  12955. type: array
  12956. required:
  12957. - nodeSelectorTerms
  12958. type: object
  12959. x-kubernetes-map-type: atomic
  12960. type: object
  12961. podAffinity:
  12962. description: Describes pod affinity scheduling rules (e.g. co-locate
  12963. this pod in the same node, zone, etc. as some other pod(s)).
  12964. properties:
  12965. preferredDuringSchedulingIgnoredDuringExecution:
  12966. description: The scheduler will prefer to schedule pods to
  12967. nodes that satisfy the affinity expressions specified by
  12968. this field, but it may choose a node that violates one or
  12969. more of the expressions. The node that is most preferred
  12970. is the one with the greatest sum of weights, i.e. for each
  12971. node that meets all of the scheduling requirements (resource
  12972. request, requiredDuringScheduling affinity expressions,
  12973. etc.), compute a sum by iterating through the elements of
  12974. this field and adding "weight" to the sum if the node has
  12975. pods which matches the corresponding podAffinityTerm; the
  12976. node(s) with the highest sum are the most preferred.
  12977. items:
  12978. description: The weights of all of the matched WeightedPodAffinityTerm
  12979. fields are added per-node to find the most preferred node(s)
  12980. properties:
  12981. podAffinityTerm:
  12982. description: Required. A pod affinity term, associated
  12983. with the corresponding weight.
  12984. properties:
  12985. labelSelector:
  12986. description: A label query over a set of resources,
  12987. in this case pods.
  12988. properties:
  12989. matchExpressions:
  12990. description: matchExpressions is a list of label
  12991. selector requirements. The requirements are
  12992. ANDed.
  12993. items:
  12994. description: A label selector requirement
  12995. is a selector that contains values, a key,
  12996. and an operator that relates the key and
  12997. values.
  12998. properties:
  12999. key:
  13000. description: key is the label key that
  13001. the selector applies to.
  13002. type: string
  13003. operator:
  13004. description: operator represents a key's
  13005. relationship to a set of values. Valid
  13006. operators are In, NotIn, Exists and
  13007. DoesNotExist.
  13008. type: string
  13009. values:
  13010. description: values is an array of string
  13011. values. If the operator is In or NotIn,
  13012. the values array must be non-empty.
  13013. If the operator is Exists or DoesNotExist,
  13014. the values array must be empty. This
  13015. array is replaced during a strategic
  13016. merge patch.
  13017. items:
  13018. type: string
  13019. type: array
  13020. required:
  13021. - key
  13022. - operator
  13023. type: object
  13024. type: array
  13025. matchLabels:
  13026. additionalProperties:
  13027. type: string
  13028. description: matchLabels is a map of {key,value}
  13029. pairs. A single {key,value} in the matchLabels
  13030. map is equivalent to an element of matchExpressions,
  13031. whose key field is "key", the operator is
  13032. "In", and the values array contains only "value".
  13033. The requirements are ANDed.
  13034. type: object
  13035. type: object
  13036. x-kubernetes-map-type: atomic
  13037. namespaceSelector:
  13038. description: A label query over the set of namespaces
  13039. that the term applies to. The term is applied
  13040. to the union of the namespaces selected by this
  13041. field and the ones listed in the namespaces field.
  13042. null selector and null or empty namespaces list
  13043. means "this pod's namespace". An empty selector
  13044. ({}) matches all namespaces.
  13045. properties:
  13046. matchExpressions:
  13047. description: matchExpressions is a list of label
  13048. selector requirements. The requirements are
  13049. ANDed.
  13050. items:
  13051. description: A label selector requirement
  13052. is a selector that contains values, a key,
  13053. and an operator that relates the key and
  13054. values.
  13055. properties:
  13056. key:
  13057. description: key is the label key that
  13058. the selector applies to.
  13059. type: string
  13060. operator:
  13061. description: operator represents a key's
  13062. relationship to a set of values. Valid
  13063. operators are In, NotIn, Exists and
  13064. DoesNotExist.
  13065. type: string
  13066. values:
  13067. description: values is an array of string
  13068. values. If the operator is In or NotIn,
  13069. the values array must be non-empty.
  13070. If the operator is Exists or DoesNotExist,
  13071. the values array must be empty. This
  13072. array is replaced during a strategic
  13073. merge patch.
  13074. items:
  13075. type: string
  13076. type: array
  13077. required:
  13078. - key
  13079. - operator
  13080. type: object
  13081. type: array
  13082. matchLabels:
  13083. additionalProperties:
  13084. type: string
  13085. description: matchLabels is a map of {key,value}
  13086. pairs. A single {key,value} in the matchLabels
  13087. map is equivalent to an element of matchExpressions,
  13088. whose key field is "key", the operator is
  13089. "In", and the values array contains only "value".
  13090. The requirements are ANDed.
  13091. type: object
  13092. type: object
  13093. x-kubernetes-map-type: atomic
  13094. namespaces:
  13095. description: namespaces specifies a static list
  13096. of namespace names that the term applies to. The
  13097. term is applied to the union of the namespaces
  13098. listed in this field and the ones selected by
  13099. namespaceSelector. null or empty namespaces list
  13100. and null namespaceSelector means "this pod's namespace".
  13101. items:
  13102. type: string
  13103. type: array
  13104. topologyKey:
  13105. description: This pod should be co-located (affinity)
  13106. or not co-located (anti-affinity) with the pods
  13107. matching the labelSelector in the specified namespaces,
  13108. where co-located is defined as running on a node
  13109. whose value of the label with key topologyKey
  13110. matches that of any node on which any of the selected
  13111. pods is running. Empty topologyKey is not allowed.
  13112. type: string
  13113. required:
  13114. - topologyKey
  13115. type: object
  13116. weight:
  13117. description: weight associated with matching the corresponding
  13118. podAffinityTerm, in the range 1-100.
  13119. format: int32
  13120. type: integer
  13121. required:
  13122. - podAffinityTerm
  13123. - weight
  13124. type: object
  13125. type: array
  13126. requiredDuringSchedulingIgnoredDuringExecution:
  13127. description: If the affinity requirements specified by this
  13128. field are not met at scheduling time, the pod will not be
  13129. scheduled onto the node. If the affinity requirements specified
  13130. by this field cease to be met at some point during pod execution
  13131. (e.g. due to a pod label update), the system may or may
  13132. not try to eventually evict the pod from its node. When
  13133. there are multiple elements, the lists of nodes corresponding
  13134. to each podAffinityTerm are intersected, i.e. all terms
  13135. must be satisfied.
  13136. items:
  13137. description: Defines a set of pods (namely those matching
  13138. the labelSelector relative to the given namespace(s))
  13139. that this pod should be co-located (affinity) or not co-located
  13140. (anti-affinity) with, where co-located is defined as running
  13141. on a node whose value of the label with key <topologyKey>
  13142. matches that of any node on which a pod of the set of
  13143. pods is running
  13144. properties:
  13145. labelSelector:
  13146. description: A label query over a set of resources,
  13147. in this case pods.
  13148. properties:
  13149. matchExpressions:
  13150. description: matchExpressions is a list of label
  13151. selector requirements. The requirements are ANDed.
  13152. items:
  13153. description: A label selector requirement is a
  13154. selector that contains values, a key, and an
  13155. operator that relates the key and values.
  13156. properties:
  13157. key:
  13158. description: key is the label key that the
  13159. selector applies to.
  13160. type: string
  13161. operator:
  13162. description: operator represents a key's relationship
  13163. to a set of values. Valid operators are
  13164. In, NotIn, Exists and DoesNotExist.
  13165. type: string
  13166. values:
  13167. description: values is an array of string
  13168. values. If the operator is In or NotIn,
  13169. the values array must be non-empty. If the
  13170. operator is Exists or DoesNotExist, the
  13171. values array must be empty. This array is
  13172. replaced during a strategic merge patch.
  13173. items:
  13174. type: string
  13175. type: array
  13176. required:
  13177. - key
  13178. - operator
  13179. type: object
  13180. type: array
  13181. matchLabels:
  13182. additionalProperties:
  13183. type: string
  13184. description: matchLabels is a map of {key,value}
  13185. pairs. A single {key,value} in the matchLabels
  13186. map is equivalent to an element of matchExpressions,
  13187. whose key field is "key", the operator is "In",
  13188. and the values array contains only "value". The
  13189. requirements are ANDed.
  13190. type: object
  13191. type: object
  13192. x-kubernetes-map-type: atomic
  13193. namespaceSelector:
  13194. description: A label query over the set of namespaces
  13195. that the term applies to. The term is applied to the
  13196. union of the namespaces selected by this field and
  13197. the ones listed in the namespaces field. null selector
  13198. and null or empty namespaces list means "this pod's
  13199. namespace". An empty selector ({}) matches all namespaces.
  13200. properties:
  13201. matchExpressions:
  13202. description: matchExpressions is a list of label
  13203. selector requirements. The requirements are ANDed.
  13204. items:
  13205. description: A label selector requirement is a
  13206. selector that contains values, a key, and an
  13207. operator that relates the key and values.
  13208. properties:
  13209. key:
  13210. description: key is the label key that the
  13211. selector applies to.
  13212. type: string
  13213. operator:
  13214. description: operator represents a key's relationship
  13215. to a set of values. Valid operators are
  13216. In, NotIn, Exists and DoesNotExist.
  13217. type: string
  13218. values:
  13219. description: values is an array of string
  13220. values. If the operator is In or NotIn,
  13221. the values array must be non-empty. If the
  13222. operator is Exists or DoesNotExist, the
  13223. values array must be empty. This array is
  13224. replaced during a strategic merge patch.
  13225. items:
  13226. type: string
  13227. type: array
  13228. required:
  13229. - key
  13230. - operator
  13231. type: object
  13232. type: array
  13233. matchLabels:
  13234. additionalProperties:
  13235. type: string
  13236. description: matchLabels is a map of {key,value}
  13237. pairs. A single {key,value} in the matchLabels
  13238. map is equivalent to an element of matchExpressions,
  13239. whose key field is "key", the operator is "In",
  13240. and the values array contains only "value". The
  13241. requirements are ANDed.
  13242. type: object
  13243. type: object
  13244. x-kubernetes-map-type: atomic
  13245. namespaces:
  13246. description: namespaces specifies a static list of namespace
  13247. names that the term applies to. The term is applied
  13248. to the union of the namespaces listed in this field
  13249. and the ones selected by namespaceSelector. null or
  13250. empty namespaces list and null namespaceSelector means
  13251. "this pod's namespace".
  13252. items:
  13253. type: string
  13254. type: array
  13255. topologyKey:
  13256. description: This pod should be co-located (affinity)
  13257. or not co-located (anti-affinity) with the pods matching
  13258. the labelSelector in the specified namespaces, where
  13259. co-located is defined as running on a node whose value
  13260. of the label with key topologyKey matches that of
  13261. any node on which any of the selected pods is running.
  13262. Empty topologyKey is not allowed.
  13263. type: string
  13264. required:
  13265. - topologyKey
  13266. type: object
  13267. type: array
  13268. type: object
  13269. podAntiAffinity:
  13270. description: Describes pod anti-affinity scheduling rules (e.g.
  13271. avoid putting this pod in the same node, zone, etc. as some
  13272. other pod(s)).
  13273. properties:
  13274. preferredDuringSchedulingIgnoredDuringExecution:
  13275. description: The scheduler will prefer to schedule pods to
  13276. nodes that satisfy the anti-affinity expressions specified
  13277. by this field, but it may choose a node that violates one
  13278. or more of the expressions. The node that is most preferred
  13279. is the one with the greatest sum of weights, i.e. for each
  13280. node that meets all of the scheduling requirements (resource
  13281. request, requiredDuringScheduling anti-affinity expressions,
  13282. etc.), compute a sum by iterating through the elements of
  13283. this field and adding "weight" to the sum if the node has
  13284. pods which matches the corresponding podAffinityTerm; the
  13285. node(s) with the highest sum are the most preferred.
  13286. items:
  13287. description: The weights of all of the matched WeightedPodAffinityTerm
  13288. fields are added per-node to find the most preferred node(s)
  13289. properties:
  13290. podAffinityTerm:
  13291. description: Required. A pod affinity term, associated
  13292. with the corresponding weight.
  13293. properties:
  13294. labelSelector:
  13295. description: A label query over a set of resources,
  13296. in this case pods.
  13297. properties:
  13298. matchExpressions:
  13299. description: matchExpressions is a list of label
  13300. selector requirements. The requirements are
  13301. ANDed.
  13302. items:
  13303. description: A label selector requirement
  13304. is a selector that contains values, a key,
  13305. and an operator that relates the key and
  13306. values.
  13307. properties:
  13308. key:
  13309. description: key is the label key that
  13310. the selector applies to.
  13311. type: string
  13312. operator:
  13313. description: operator represents a key's
  13314. relationship to a set of values. Valid
  13315. operators are In, NotIn, Exists and
  13316. DoesNotExist.
  13317. type: string
  13318. values:
  13319. description: values is an array of string
  13320. values. If the operator is In or NotIn,
  13321. the values array must be non-empty.
  13322. If the operator is Exists or DoesNotExist,
  13323. the values array must be empty. This
  13324. array is replaced during a strategic
  13325. merge patch.
  13326. items:
  13327. type: string
  13328. type: array
  13329. required:
  13330. - key
  13331. - operator
  13332. type: object
  13333. type: array
  13334. matchLabels:
  13335. additionalProperties:
  13336. type: string
  13337. description: matchLabels is a map of {key,value}
  13338. pairs. A single {key,value} in the matchLabels
  13339. map is equivalent to an element of matchExpressions,
  13340. whose key field is "key", the operator is
  13341. "In", and the values array contains only "value".
  13342. The requirements are ANDed.
  13343. type: object
  13344. type: object
  13345. x-kubernetes-map-type: atomic
  13346. namespaceSelector:
  13347. description: A label query over the set of namespaces
  13348. that the term applies to. The term is applied
  13349. to the union of the namespaces selected by this
  13350. field and the ones listed in the namespaces field.
  13351. null selector and null or empty namespaces list
  13352. means "this pod's namespace". An empty selector
  13353. ({}) matches all namespaces.
  13354. properties:
  13355. matchExpressions:
  13356. description: matchExpressions is a list of label
  13357. selector requirements. The requirements are
  13358. ANDed.
  13359. items:
  13360. description: A label selector requirement
  13361. is a selector that contains values, a key,
  13362. and an operator that relates the key and
  13363. values.
  13364. properties:
  13365. key:
  13366. description: key is the label key that
  13367. the selector applies to.
  13368. type: string
  13369. operator:
  13370. description: operator represents a key's
  13371. relationship to a set of values. Valid
  13372. operators are In, NotIn, Exists and
  13373. DoesNotExist.
  13374. type: string
  13375. values:
  13376. description: values is an array of string
  13377. values. If the operator is In or NotIn,
  13378. the values array must be non-empty.
  13379. If the operator is Exists or DoesNotExist,
  13380. the values array must be empty. This
  13381. array is replaced during a strategic
  13382. merge patch.
  13383. items:
  13384. type: string
  13385. type: array
  13386. required:
  13387. - key
  13388. - operator
  13389. type: object
  13390. type: array
  13391. matchLabels:
  13392. additionalProperties:
  13393. type: string
  13394. description: matchLabels is a map of {key,value}
  13395. pairs. A single {key,value} in the matchLabels
  13396. map is equivalent to an element of matchExpressions,
  13397. whose key field is "key", the operator is
  13398. "In", and the values array contains only "value".
  13399. The requirements are ANDed.
  13400. type: object
  13401. type: object
  13402. x-kubernetes-map-type: atomic
  13403. namespaces:
  13404. description: namespaces specifies a static list
  13405. of namespace names that the term applies to. The
  13406. term is applied to the union of the namespaces
  13407. listed in this field and the ones selected by
  13408. namespaceSelector. null or empty namespaces list
  13409. and null namespaceSelector means "this pod's namespace".
  13410. items:
  13411. type: string
  13412. type: array
  13413. topologyKey:
  13414. description: This pod should be co-located (affinity)
  13415. or not co-located (anti-affinity) with the pods
  13416. matching the labelSelector in the specified namespaces,
  13417. where co-located is defined as running on a node
  13418. whose value of the label with key topologyKey
  13419. matches that of any node on which any of the selected
  13420. pods is running. Empty topologyKey is not allowed.
  13421. type: string
  13422. required:
  13423. - topologyKey
  13424. type: object
  13425. weight:
  13426. description: weight associated with matching the corresponding
  13427. podAffinityTerm, in the range 1-100.
  13428. format: int32
  13429. type: integer
  13430. required:
  13431. - podAffinityTerm
  13432. - weight
  13433. type: object
  13434. type: array
  13435. requiredDuringSchedulingIgnoredDuringExecution:
  13436. description: If the anti-affinity requirements specified by
  13437. this field are not met at scheduling time, the pod will
  13438. not be scheduled onto the node. If the anti-affinity requirements
  13439. specified by this field cease to be met at some point during
  13440. pod execution (e.g. due to a pod label update), the system
  13441. may or may not try to eventually evict the pod from its
  13442. node. When there are multiple elements, the lists of nodes
  13443. corresponding to each podAffinityTerm are intersected, i.e.
  13444. all terms must be satisfied.
  13445. items:
  13446. description: Defines a set of pods (namely those matching
  13447. the labelSelector relative to the given namespace(s))
  13448. that this pod should be co-located (affinity) or not co-located
  13449. (anti-affinity) with, where co-located is defined as running
  13450. on a node whose value of the label with key <topologyKey>
  13451. matches that of any node on which a pod of the set of
  13452. pods is running
  13453. properties:
  13454. labelSelector:
  13455. description: A label query over a set of resources,
  13456. in this case pods.
  13457. properties:
  13458. matchExpressions:
  13459. description: matchExpressions is a list of label
  13460. selector requirements. The requirements are ANDed.
  13461. items:
  13462. description: A label selector requirement is a
  13463. selector that contains values, a key, and an
  13464. operator that relates the key and values.
  13465. properties:
  13466. key:
  13467. description: key is the label key that the
  13468. selector applies to.
  13469. type: string
  13470. operator:
  13471. description: operator represents a key's relationship
  13472. to a set of values. Valid operators are
  13473. In, NotIn, Exists and DoesNotExist.
  13474. type: string
  13475. values:
  13476. description: values is an array of string
  13477. values. If the operator is In or NotIn,
  13478. the values array must be non-empty. If the
  13479. operator is Exists or DoesNotExist, the
  13480. values array must be empty. This array is
  13481. replaced during a strategic merge patch.
  13482. items:
  13483. type: string
  13484. type: array
  13485. required:
  13486. - key
  13487. - operator
  13488. type: object
  13489. type: array
  13490. matchLabels:
  13491. additionalProperties:
  13492. type: string
  13493. description: matchLabels is a map of {key,value}
  13494. pairs. A single {key,value} in the matchLabels
  13495. map is equivalent to an element of matchExpressions,
  13496. whose key field is "key", the operator is "In",
  13497. and the values array contains only "value". The
  13498. requirements are ANDed.
  13499. type: object
  13500. type: object
  13501. x-kubernetes-map-type: atomic
  13502. namespaceSelector:
  13503. description: A label query over the set of namespaces
  13504. that the term applies to. The term is applied to the
  13505. union of the namespaces selected by this field and
  13506. the ones listed in the namespaces field. null selector
  13507. and null or empty namespaces list means "this pod's
  13508. namespace". An empty selector ({}) matches all namespaces.
  13509. properties:
  13510. matchExpressions:
  13511. description: matchExpressions is a list of label
  13512. selector requirements. The requirements are ANDed.
  13513. items:
  13514. description: A label selector requirement is a
  13515. selector that contains values, a key, and an
  13516. operator that relates the key and values.
  13517. properties:
  13518. key:
  13519. description: key is the label key that the
  13520. selector applies to.
  13521. type: string
  13522. operator:
  13523. description: operator represents a key's relationship
  13524. to a set of values. Valid operators are
  13525. In, NotIn, Exists and DoesNotExist.
  13526. type: string
  13527. values:
  13528. description: values is an array of string
  13529. values. If the operator is In or NotIn,
  13530. the values array must be non-empty. If the
  13531. operator is Exists or DoesNotExist, the
  13532. values array must be empty. This array is
  13533. replaced during a strategic merge patch.
  13534. items:
  13535. type: string
  13536. type: array
  13537. required:
  13538. - key
  13539. - operator
  13540. type: object
  13541. type: array
  13542. matchLabels:
  13543. additionalProperties:
  13544. type: string
  13545. description: matchLabels is a map of {key,value}
  13546. pairs. A single {key,value} in the matchLabels
  13547. map is equivalent to an element of matchExpressions,
  13548. whose key field is "key", the operator is "In",
  13549. and the values array contains only "value". The
  13550. requirements are ANDed.
  13551. type: object
  13552. type: object
  13553. x-kubernetes-map-type: atomic
  13554. namespaces:
  13555. description: namespaces specifies a static list of namespace
  13556. names that the term applies to. The term is applied
  13557. to the union of the namespaces listed in this field
  13558. and the ones selected by namespaceSelector. null or
  13559. empty namespaces list and null namespaceSelector means
  13560. "this pod's namespace".
  13561. items:
  13562. type: string
  13563. type: array
  13564. topologyKey:
  13565. description: This pod should be co-located (affinity)
  13566. or not co-located (anti-affinity) with the pods matching
  13567. the labelSelector in the specified namespaces, where
  13568. co-located is defined as running on a node whose value
  13569. of the label with key topologyKey matches that of
  13570. any node on which any of the selected pods is running.
  13571. Empty topologyKey is not allowed.
  13572. type: string
  13573. required:
  13574. - topologyKey
  13575. type: object
  13576. type: array
  13577. type: object
  13578. type: object
  13579. alerting:
  13580. description: Define details regarding alerting.
  13581. properties:
  13582. alertmanagers:
  13583. description: AlertmanagerEndpoints Prometheus should fire alerts
  13584. against.
  13585. items:
  13586. description: AlertmanagerEndpoints defines a selection of a
  13587. single Endpoints object containing alertmanager IPs to fire
  13588. alerts against.
  13589. properties:
  13590. apiVersion:
  13591. description: Version of the Alertmanager API that Prometheus
  13592. uses to send alerts. It can be "v1" or "v2".
  13593. type: string
  13594. authorization:
  13595. description: Authorization section for this alertmanager
  13596. endpoint
  13597. properties:
  13598. credentials:
  13599. description: The secret's key that contains the credentials
  13600. of the request
  13601. properties:
  13602. key:
  13603. description: The key of the secret to select from. Must
  13604. be a valid secret key.
  13605. type: string
  13606. name:
  13607. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13608. TODO: Add other useful fields. apiVersion, kind,
  13609. uid?'
  13610. type: string
  13611. optional:
  13612. description: Specify whether the Secret or its key
  13613. must be defined
  13614. type: boolean
  13615. required:
  13616. - key
  13617. type: object
  13618. x-kubernetes-map-type: atomic
  13619. type:
  13620. description: Set the authentication type. Defaults to
  13621. Bearer, Basic will cause an error
  13622. type: string
  13623. type: object
  13624. bearerTokenFile:
  13625. description: BearerTokenFile to read from filesystem to
  13626. use when authenticating to Alertmanager.
  13627. type: string
  13628. name:
  13629. description: Name of Endpoints object in Namespace.
  13630. type: string
  13631. namespace:
  13632. description: Namespace of Endpoints object.
  13633. type: string
  13634. pathPrefix:
  13635. description: Prefix for the HTTP path alerts are pushed
  13636. to.
  13637. type: string
  13638. port:
  13639. anyOf:
  13640. - type: integer
  13641. - type: string
  13642. description: Port the Alertmanager API is exposed on.
  13643. x-kubernetes-int-or-string: true
  13644. scheme:
  13645. description: Scheme to use when firing alerts.
  13646. type: string
  13647. timeout:
  13648. description: Timeout is a per-target Alertmanager timeout
  13649. when pushing alerts.
  13650. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  13651. type: string
  13652. tlsConfig:
  13653. description: TLS Config to use for alertmanager connection.
  13654. properties:
  13655. ca:
  13656. description: Struct containing the CA cert to use for
  13657. the targets.
  13658. properties:
  13659. configMap:
  13660. description: ConfigMap containing data to use for
  13661. the targets.
  13662. properties:
  13663. key:
  13664. description: The key to select.
  13665. type: string
  13666. name:
  13667. description: 'Name of the referent. More info:
  13668. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13669. TODO: Add other useful fields. apiVersion,
  13670. kind, uid?'
  13671. type: string
  13672. optional:
  13673. description: Specify whether the ConfigMap or
  13674. its key must be defined
  13675. type: boolean
  13676. required:
  13677. - key
  13678. type: object
  13679. x-kubernetes-map-type: atomic
  13680. secret:
  13681. description: Secret containing data to use for the
  13682. targets.
  13683. properties:
  13684. key:
  13685. description: The key of the secret to select
  13686. from. Must be a valid secret key.
  13687. type: string
  13688. name:
  13689. description: 'Name of the referent. More info:
  13690. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13691. TODO: Add other useful fields. apiVersion,
  13692. kind, uid?'
  13693. type: string
  13694. optional:
  13695. description: Specify whether the Secret or its
  13696. key must be defined
  13697. type: boolean
  13698. required:
  13699. - key
  13700. type: object
  13701. x-kubernetes-map-type: atomic
  13702. type: object
  13703. caFile:
  13704. description: Path to the CA cert in the Prometheus container
  13705. to use for the targets.
  13706. type: string
  13707. cert:
  13708. description: Struct containing the client cert file
  13709. for the targets.
  13710. properties:
  13711. configMap:
  13712. description: ConfigMap containing data to use for
  13713. the targets.
  13714. properties:
  13715. key:
  13716. description: The key to select.
  13717. type: string
  13718. name:
  13719. description: 'Name of the referent. More info:
  13720. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13721. TODO: Add other useful fields. apiVersion,
  13722. kind, uid?'
  13723. type: string
  13724. optional:
  13725. description: Specify whether the ConfigMap or
  13726. its key must be defined
  13727. type: boolean
  13728. required:
  13729. - key
  13730. type: object
  13731. x-kubernetes-map-type: atomic
  13732. secret:
  13733. description: Secret containing data to use for the
  13734. targets.
  13735. properties:
  13736. key:
  13737. description: The key of the secret to select
  13738. from. Must be a valid secret key.
  13739. type: string
  13740. name:
  13741. description: 'Name of the referent. More info:
  13742. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13743. TODO: Add other useful fields. apiVersion,
  13744. kind, uid?'
  13745. type: string
  13746. optional:
  13747. description: Specify whether the Secret or its
  13748. key must be defined
  13749. type: boolean
  13750. required:
  13751. - key
  13752. type: object
  13753. x-kubernetes-map-type: atomic
  13754. type: object
  13755. certFile:
  13756. description: Path to the client cert file in the Prometheus
  13757. container for the targets.
  13758. type: string
  13759. insecureSkipVerify:
  13760. description: Disable target certificate validation.
  13761. type: boolean
  13762. keyFile:
  13763. description: Path to the client key file in the Prometheus
  13764. container for the targets.
  13765. type: string
  13766. keySecret:
  13767. description: Secret containing the client key file for
  13768. the targets.
  13769. properties:
  13770. key:
  13771. description: The key of the secret to select from. Must
  13772. be a valid secret key.
  13773. type: string
  13774. name:
  13775. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13776. TODO: Add other useful fields. apiVersion, kind,
  13777. uid?'
  13778. type: string
  13779. optional:
  13780. description: Specify whether the Secret or its key
  13781. must be defined
  13782. type: boolean
  13783. required:
  13784. - key
  13785. type: object
  13786. x-kubernetes-map-type: atomic
  13787. serverName:
  13788. description: Used to verify the hostname for the targets.
  13789. type: string
  13790. type: object
  13791. required:
  13792. - name
  13793. - namespace
  13794. - port
  13795. type: object
  13796. type: array
  13797. required:
  13798. - alertmanagers
  13799. type: object
  13800. allowOverlappingBlocks:
  13801. description: AllowOverlappingBlocks enables vertical compaction and
  13802. vertical query merge in Prometheus. This is still experimental in
  13803. Prometheus so it may change in any upcoming release.
  13804. type: boolean
  13805. apiserverConfig:
  13806. description: APIServerConfig allows specifying a host and auth methods
  13807. to access apiserver. If left empty, Prometheus is assumed to run
  13808. inside of the cluster and will discover API servers automatically
  13809. and use the pod's CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.
  13810. properties:
  13811. authorization:
  13812. description: Authorization section for accessing apiserver
  13813. properties:
  13814. credentials:
  13815. description: The secret's key that contains the credentials
  13816. of the request
  13817. properties:
  13818. key:
  13819. description: The key of the secret to select from. Must
  13820. be a valid secret key.
  13821. type: string
  13822. name:
  13823. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13824. TODO: Add other useful fields. apiVersion, kind, uid?'
  13825. type: string
  13826. optional:
  13827. description: Specify whether the Secret or its key must
  13828. be defined
  13829. type: boolean
  13830. required:
  13831. - key
  13832. type: object
  13833. x-kubernetes-map-type: atomic
  13834. credentialsFile:
  13835. description: File to read a secret from, mutually exclusive
  13836. with Credentials (from SafeAuthorization)
  13837. type: string
  13838. type:
  13839. description: Set the authentication type. Defaults to Bearer,
  13840. Basic will cause an error
  13841. type: string
  13842. type: object
  13843. basicAuth:
  13844. description: BasicAuth allow an endpoint to authenticate over
  13845. basic authentication
  13846. properties:
  13847. password:
  13848. description: The secret in the service monitor namespace that
  13849. contains the password for authentication.
  13850. properties:
  13851. key:
  13852. description: The key of the secret to select from. Must
  13853. be a valid secret key.
  13854. type: string
  13855. name:
  13856. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13857. TODO: Add other useful fields. apiVersion, kind, uid?'
  13858. type: string
  13859. optional:
  13860. description: Specify whether the Secret or its key must
  13861. be defined
  13862. type: boolean
  13863. required:
  13864. - key
  13865. type: object
  13866. x-kubernetes-map-type: atomic
  13867. username:
  13868. description: The secret in the service monitor namespace that
  13869. contains the username for authentication.
  13870. properties:
  13871. key:
  13872. description: The key of the secret to select from. Must
  13873. be a valid secret key.
  13874. type: string
  13875. name:
  13876. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13877. TODO: Add other useful fields. apiVersion, kind, uid?'
  13878. type: string
  13879. optional:
  13880. description: Specify whether the Secret or its key must
  13881. be defined
  13882. type: boolean
  13883. required:
  13884. - key
  13885. type: object
  13886. x-kubernetes-map-type: atomic
  13887. type: object
  13888. bearerToken:
  13889. description: Bearer token for accessing apiserver.
  13890. type: string
  13891. bearerTokenFile:
  13892. description: File to read bearer token for accessing apiserver.
  13893. type: string
  13894. host:
  13895. description: Host of apiserver. A valid string consisting of a
  13896. hostname or IP followed by an optional port number
  13897. type: string
  13898. tlsConfig:
  13899. description: TLS Config to use for accessing apiserver.
  13900. properties:
  13901. ca:
  13902. description: Struct containing the CA cert to use for the
  13903. targets.
  13904. properties:
  13905. configMap:
  13906. description: ConfigMap containing data to use for the
  13907. targets.
  13908. properties:
  13909. key:
  13910. description: The key to select.
  13911. type: string
  13912. name:
  13913. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13914. TODO: Add other useful fields. apiVersion, kind,
  13915. uid?'
  13916. type: string
  13917. optional:
  13918. description: Specify whether the ConfigMap or its
  13919. key must be defined
  13920. type: boolean
  13921. required:
  13922. - key
  13923. type: object
  13924. x-kubernetes-map-type: atomic
  13925. secret:
  13926. description: Secret containing data to use for the targets.
  13927. properties:
  13928. key:
  13929. description: The key of the secret to select from. Must
  13930. be a valid secret key.
  13931. type: string
  13932. name:
  13933. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13934. TODO: Add other useful fields. apiVersion, kind,
  13935. uid?'
  13936. type: string
  13937. optional:
  13938. description: Specify whether the Secret or its key
  13939. must be defined
  13940. type: boolean
  13941. required:
  13942. - key
  13943. type: object
  13944. x-kubernetes-map-type: atomic
  13945. type: object
  13946. caFile:
  13947. description: Path to the CA cert in the Prometheus container
  13948. to use for the targets.
  13949. type: string
  13950. cert:
  13951. description: Struct containing the client cert file for the
  13952. targets.
  13953. properties:
  13954. configMap:
  13955. description: ConfigMap containing data to use for the
  13956. targets.
  13957. properties:
  13958. key:
  13959. description: The key to select.
  13960. type: string
  13961. name:
  13962. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13963. TODO: Add other useful fields. apiVersion, kind,
  13964. uid?'
  13965. type: string
  13966. optional:
  13967. description: Specify whether the ConfigMap or its
  13968. key must be defined
  13969. type: boolean
  13970. required:
  13971. - key
  13972. type: object
  13973. x-kubernetes-map-type: atomic
  13974. secret:
  13975. description: Secret containing data to use for the targets.
  13976. properties:
  13977. key:
  13978. description: The key of the secret to select from. Must
  13979. be a valid secret key.
  13980. type: string
  13981. name:
  13982. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  13983. TODO: Add other useful fields. apiVersion, kind,
  13984. uid?'
  13985. type: string
  13986. optional:
  13987. description: Specify whether the Secret or its key
  13988. must be defined
  13989. type: boolean
  13990. required:
  13991. - key
  13992. type: object
  13993. x-kubernetes-map-type: atomic
  13994. type: object
  13995. certFile:
  13996. description: Path to the client cert file in the Prometheus
  13997. container for the targets.
  13998. type: string
  13999. insecureSkipVerify:
  14000. description: Disable target certificate validation.
  14001. type: boolean
  14002. keyFile:
  14003. description: Path to the client key file in the Prometheus
  14004. container for the targets.
  14005. type: string
  14006. keySecret:
  14007. description: Secret containing the client key file for the
  14008. targets.
  14009. properties:
  14010. key:
  14011. description: The key of the secret to select from. Must
  14012. be a valid secret key.
  14013. type: string
  14014. name:
  14015. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  14016. TODO: Add other useful fields. apiVersion, kind, uid?'
  14017. type: string
  14018. optional:
  14019. description: Specify whether the Secret or its key must
  14020. be defined
  14021. type: boolean
  14022. required:
  14023. - key
  14024. type: object
  14025. x-kubernetes-map-type: atomic
  14026. serverName:
  14027. description: Used to verify the hostname for the targets.
  14028. type: string
  14029. type: object
  14030. required:
  14031. - host
  14032. type: object
  14033. arbitraryFSAccessThroughSMs:
  14034. description: ArbitraryFSAccessThroughSMs configures whether configuration
  14035. based on a service monitor can access arbitrary files on the file
  14036. system of the Prometheus container e.g. bearer token files.
  14037. properties:
  14038. deny:
  14039. type: boolean
  14040. type: object
  14041. baseImage:
  14042. description: 'Base image to use for a Prometheus deployment. Deprecated:
  14043. use ''image'' instead'
  14044. type: string
  14045. configMaps:
  14046. description: ConfigMaps is a list of ConfigMaps in the same namespace
  14047. as the Prometheus object, which shall be mounted into the Prometheus
  14048. Pods. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name>.
  14049. items:
  14050. type: string
  14051. type: array
  14052. containers:
  14053. description: 'Containers allows injecting additional containers or
  14054. modifying operator generated containers. This can be used to allow
  14055. adding an authentication proxy to a Prometheus pod or to change
  14056. the behavior of an operator generated container. Containers described
  14057. here modify an operator generated container if they share the same
  14058. name and modifications are done via a strategic merge patch. The
  14059. current container names are: `prometheus`, `config-reloader`, and
  14060. `thanos-sidecar`. Overriding containers is entirely outside the
  14061. scope of what the maintainers will support and by doing so, you
  14062. accept that this behaviour may break at any time without notice.'
  14063. items:
  14064. description: A single application container that you want to run
  14065. within a pod.
  14066. properties:
  14067. args:
  14068. description: 'Arguments to the entrypoint. The container image''s
  14069. CMD is used if this is not provided. Variable references $(VAR_NAME)
  14070. are expanded using the container''s environment. If a variable
  14071. cannot be resolved, the reference in the input string will
  14072. be unchanged. Double $$ are reduced to a single $, which allows
  14073. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  14074. produce the string literal "$(VAR_NAME)". Escaped references
  14075. will never be expanded, regardless of whether the variable
  14076. 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'
  14077. items:
  14078. type: string
  14079. type: array
  14080. command:
  14081. description: 'Entrypoint array. Not executed within a shell.
  14082. The container image''s ENTRYPOINT is used if this is not provided.
  14083. Variable references $(VAR_NAME) are expanded using the container''s
  14084. environment. If a variable cannot be resolved, the reference
  14085. in the input string will be unchanged. Double $$ are reduced
  14086. to a single $, which allows for escaping the $(VAR_NAME) syntax:
  14087. i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  14088. Escaped references will never be expanded, regardless of whether
  14089. the variable exists or not. Cannot be updated. More info:
  14090. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  14091. items:
  14092. type: string
  14093. type: array
  14094. env:
  14095. description: List of environment variables to set in the container.
  14096. Cannot be updated.
  14097. items:
  14098. description: EnvVar represents an environment variable present
  14099. in a Container.
  14100. properties:
  14101. name:
  14102. description: Name of the environment variable. Must be
  14103. a C_IDENTIFIER.
  14104. type: string
  14105. value:
  14106. description: 'Variable references $(VAR_NAME) are expanded
  14107. using the previously defined environment variables in
  14108. the container and any service environment variables.
  14109. If a variable cannot be resolved, the reference in the
  14110. input string will be unchanged. Double $$ are reduced
  14111. to a single $, which allows for escaping the $(VAR_NAME)
  14112. syntax: i.e. "$$(VAR_NAME)" will produce the string
  14113. literal "$(VAR_NAME)". Escaped references will never
  14114. be expanded, regardless of whether the variable exists
  14115. or not. Defaults to "".'
  14116. type: string
  14117. valueFrom:
  14118. description: Source for the environment variable's value.
  14119. Cannot be used if value is not empty.
  14120. properties:
  14121. configMapKeyRef:
  14122. description: Selects a key of a ConfigMap.
  14123. properties:
  14124. key:
  14125. description: The key to select.
  14126. type: string
  14127. name:
  14128. description: 'Name of the referent. More info:
  14129. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  14130. TODO: Add other useful fields. apiVersion, kind,
  14131. uid?'
  14132. type: string
  14133. optional:
  14134. description: Specify whether the ConfigMap or
  14135. its key must be defined
  14136. type: boolean
  14137. required:
  14138. - key
  14139. type: object
  14140. x-kubernetes-map-type: atomic
  14141. fieldRef:
  14142. description: 'Selects a field of the pod: supports
  14143. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  14144. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  14145. spec.serviceAccountName, status.hostIP, status.podIP,
  14146. status.podIPs.'
  14147. properties:
  14148. apiVersion:
  14149. description: Version of the schema the FieldPath
  14150. is written in terms of, defaults to "v1".
  14151. type: string
  14152. fieldPath:
  14153. description: Path of the field to select in the
  14154. specified API version.
  14155. type: string
  14156. required:
  14157. - fieldPath
  14158. type: object
  14159. x-kubernetes-map-type: atomic
  14160. resourceFieldRef:
  14161. description: 'Selects a resource of the container:
  14162. only resources limits and requests (limits.cpu,
  14163. limits.memory, limits.ephemeral-storage, requests.cpu,
  14164. requests.memory and requests.ephemeral-storage)
  14165. are currently supported.'
  14166. properties:
  14167. containerName:
  14168. description: 'Container name: required for volumes,
  14169. optional for env vars'
  14170. type: string
  14171. divisor:
  14172. anyOf:
  14173. - type: integer
  14174. - type: string
  14175. description: Specifies the output format of the
  14176. exposed resources, defaults to "1"
  14177. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  14178. x-kubernetes-int-or-string: true
  14179. resource:
  14180. description: 'Required: resource to select'
  14181. type: string
  14182. required:
  14183. - resource
  14184. type: object
  14185. x-kubernetes-map-type: atomic
  14186. secretKeyRef:
  14187. description: Selects a key of a secret in the pod's
  14188. namespace
  14189. properties:
  14190. key:
  14191. description: The key of the secret to select from. Must
  14192. be a valid secret key.
  14193. type: string
  14194. name:
  14195. description: 'Name of the referent. More info:
  14196. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  14197. TODO: Add other useful fields. apiVersion, kind,
  14198. uid?'
  14199. type: string
  14200. optional:
  14201. description: Specify whether the Secret or its
  14202. key must be defined
  14203. type: boolean
  14204. required:
  14205. - key
  14206. type: object
  14207. x-kubernetes-map-type: atomic
  14208. type: object
  14209. required:
  14210. - name
  14211. type: object
  14212. type: array
  14213. envFrom:
  14214. description: List of sources to populate environment variables
  14215. in the container. The keys defined within a source must be
  14216. a C_IDENTIFIER. All invalid keys will be reported as an event
  14217. when the container is starting. When a key exists in multiple
  14218. sources, the value associated with the last source will take
  14219. precedence. Values defined by an Env with a duplicate key
  14220. will take precedence. Cannot be updated.
  14221. items:
  14222. description: EnvFromSource represents the source of a set
  14223. of ConfigMaps
  14224. properties:
  14225. configMapRef:
  14226. description: The ConfigMap to select from
  14227. properties:
  14228. name:
  14229. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  14230. TODO: Add other useful fields. apiVersion, kind,
  14231. uid?'
  14232. type: string
  14233. optional:
  14234. description: Specify whether the ConfigMap must be
  14235. defined
  14236. type: boolean
  14237. type: object
  14238. x-kubernetes-map-type: atomic
  14239. prefix:
  14240. description: An optional identifier to prepend to each
  14241. key in the ConfigMap. Must be a C_IDENTIFIER.
  14242. type: string
  14243. secretRef:
  14244. description: The Secret to select from
  14245. properties:
  14246. name:
  14247. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  14248. TODO: Add other useful fields. apiVersion, kind,
  14249. uid?'
  14250. type: string
  14251. optional:
  14252. description: Specify whether the Secret must be defined
  14253. type: boolean
  14254. type: object
  14255. x-kubernetes-map-type: atomic
  14256. type: object
  14257. type: array
  14258. image:
  14259. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  14260. This field is optional to allow higher level config management
  14261. to default or override container images in workload controllers
  14262. like Deployments and StatefulSets.'
  14263. type: string
  14264. imagePullPolicy:
  14265. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  14266. Defaults to Always if :latest tag is specified, or IfNotPresent
  14267. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  14268. type: string
  14269. lifecycle:
  14270. description: Actions that the management system should take
  14271. in response to container lifecycle events. Cannot be updated.
  14272. properties:
  14273. postStart:
  14274. description: 'PostStart is called immediately after a container
  14275. is created. If the handler fails, the container is terminated
  14276. and restarted according to its restart policy. Other management
  14277. of the container blocks until the hook completes. More
  14278. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  14279. properties:
  14280. exec:
  14281. description: Exec specifies the action to take.
  14282. properties:
  14283. command:
  14284. description: Command is the command line to execute
  14285. inside the container, the working directory for
  14286. the command is root ('/') in the container's
  14287. filesystem. The command is simply exec'd, it is
  14288. not run inside a shell, so traditional shell instructions
  14289. ('|', etc) won't work. To use a shell, you need
  14290. to explicitly call out to that shell. Exit status
  14291. of 0 is treated as live/healthy and non-zero is
  14292. unhealthy.
  14293. items:
  14294. type: string
  14295. type: array
  14296. type: object
  14297. httpGet:
  14298. description: HTTPGet specifies the http request to perform.
  14299. properties:
  14300. host:
  14301. description: Host name to connect to, defaults to
  14302. the pod IP. You probably want to set "Host" in
  14303. httpHeaders instead.
  14304. type: string
  14305. httpHeaders:
  14306. description: Custom headers to set in the request.
  14307. HTTP allows repeated headers.
  14308. items:
  14309. description: HTTPHeader describes a custom header
  14310. to be used in HTTP probes
  14311. properties:
  14312. name:
  14313. description: The header field name
  14314. type: string
  14315. value:
  14316. description: The header field value
  14317. type: string
  14318. required:
  14319. - name
  14320. - value
  14321. type: object
  14322. type: array
  14323. path:
  14324. description: Path to access on the HTTP server.
  14325. type: string
  14326. port:
  14327. anyOf:
  14328. - type: integer
  14329. - type: string
  14330. description: Name or number of the port to access
  14331. on the container. Number must be in the range
  14332. 1 to 65535. Name must be an IANA_SVC_NAME.
  14333. x-kubernetes-int-or-string: true
  14334. scheme:
  14335. description: Scheme to use for connecting to the
  14336. host. Defaults to HTTP.
  14337. type: string
  14338. required:
  14339. - port
  14340. type: object
  14341. tcpSocket:
  14342. description: Deprecated. TCPSocket is NOT supported
  14343. as a LifecycleHandler and kept for the backward compatibility.
  14344. There are no validation of this field and lifecycle
  14345. hooks will fail in runtime when tcp handler is specified.
  14346. properties:
  14347. host:
  14348. description: 'Optional: Host name to connect to,
  14349. defaults to the pod IP.'
  14350. type: string
  14351. port:
  14352. anyOf:
  14353. - type: integer
  14354. - type: string
  14355. description: Number or name of the port to access
  14356. on the container. Number must be in the range
  14357. 1 to 65535. Name must be an IANA_SVC_NAME.
  14358. x-kubernetes-int-or-string: true
  14359. required:
  14360. - port
  14361. type: object
  14362. type: object
  14363. preStop:
  14364. description: 'PreStop is called immediately before a container
  14365. is terminated due to an API request or management event
  14366. such as liveness/startup probe failure, preemption, resource
  14367. contention, etc. The handler is not called if the container
  14368. crashes or exits. The Pod''s termination grace period
  14369. countdown begins before the PreStop hook is executed.
  14370. Regardless of the outcome of the handler, the container
  14371. will eventually terminate within the Pod''s termination
  14372. grace period (unless delayed by finalizers). Other management
  14373. of the container blocks until the hook completes or until
  14374. the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  14375. properties:
  14376. exec:
  14377. description: Exec specifies the action to take.
  14378. properties:
  14379. command:
  14380. description: Command is the command line to execute
  14381. inside the container, the working directory for
  14382. the command is root ('/') in the container's
  14383. filesystem. The command is simply exec'd, it is
  14384. not run inside a shell, so traditional shell instructions
  14385. ('|', etc) won't work. To use a shell, you need
  14386. to explicitly call out to that shell. Exit status
  14387. of 0 is treated as live/healthy and non-zero is
  14388. unhealthy.
  14389. items:
  14390. type: string
  14391. type: array
  14392. type: object
  14393. httpGet:
  14394. description: HTTPGet specifies the http request to perform.
  14395. properties:
  14396. host:
  14397. description: Host name to connect to, defaults to
  14398. the pod IP. You probably want to set "Host" in
  14399. httpHeaders instead.
  14400. type: string
  14401. httpHeaders:
  14402. description: Custom headers to set in the request.
  14403. HTTP allows repeated headers.
  14404. items:
  14405. description: HTTPHeader describes a custom header
  14406. to be used in HTTP probes
  14407. properties:
  14408. name:
  14409. description: The header field name
  14410. type: string
  14411. value:
  14412. description: The header field value
  14413. type: string
  14414. required:
  14415. - name
  14416. - value
  14417. type: object
  14418. type: array
  14419. path:
  14420. description: Path to access on the HTTP server.
  14421. type: string
  14422. port:
  14423. anyOf:
  14424. - type: integer
  14425. - type: string
  14426. description: Name or number of the port to access
  14427. on the container. Number must be in the range
  14428. 1 to 65535. Name must be an IANA_SVC_NAME.
  14429. x-kubernetes-int-or-string: true
  14430. scheme:
  14431. description: Scheme to use for connecting to the
  14432. host. Defaults to HTTP.
  14433. type: string
  14434. required:
  14435. - port
  14436. type: object
  14437. tcpSocket:
  14438. description: Deprecated. TCPSocket is NOT supported
  14439. as a LifecycleHandler and kept for the backward compatibility.
  14440. There are no validation of this field and lifecycle
  14441. hooks will fail in runtime when tcp handler is specified.
  14442. properties:
  14443. host:
  14444. description: 'Optional: Host name to connect to,
  14445. defaults to the pod IP.'
  14446. type: string
  14447. port:
  14448. anyOf:
  14449. - type: integer
  14450. - type: string
  14451. description: Number or name of the port to access
  14452. on the container. Number must be in the range
  14453. 1 to 65535. Name must be an IANA_SVC_NAME.
  14454. x-kubernetes-int-or-string: true
  14455. required:
  14456. - port
  14457. type: object
  14458. type: object
  14459. type: object
  14460. livenessProbe:
  14461. description: 'Periodic probe of container liveness. Container
  14462. will be restarted if the probe fails. Cannot be updated. More
  14463. info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  14464. properties:
  14465. exec:
  14466. description: Exec specifies the action to take.
  14467. properties:
  14468. command:
  14469. description: Command is the command line to execute
  14470. inside the container, the working directory for the
  14471. command is root ('/') in the container's filesystem.
  14472. The command is simply exec'd, it is not run inside
  14473. a shell, so traditional shell instructions ('|', etc)
  14474. won't work. To use a shell, you need to explicitly
  14475. call out to that shell. Exit status of 0 is treated
  14476. as live/healthy and non-zero is unhealthy.
  14477. items:
  14478. type: string
  14479. type: array
  14480. type: object
  14481. failureThreshold:
  14482. description: Minimum consecutive failures for the probe
  14483. to be considered failed after having succeeded. Defaults
  14484. to 3. Minimum value is 1.
  14485. format: int32
  14486. type: integer
  14487. grpc:
  14488. description: GRPC specifies an action involving a GRPC port.
  14489. This is a beta field and requires enabling GRPCContainerProbe
  14490. feature gate.
  14491. properties:
  14492. port:
  14493. description: Port number of the gRPC service. Number
  14494. must be in the range 1 to 65535.
  14495. format: int32
  14496. type: integer
  14497. service:
  14498. description: "Service is the name of the service to
  14499. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  14500. \n If this is not specified, the default behavior
  14501. is defined by gRPC."
  14502. type: string
  14503. required:
  14504. - port
  14505. type: object
  14506. httpGet:
  14507. description: HTTPGet specifies the http request to perform.
  14508. properties:
  14509. host:
  14510. description: Host name to connect to, defaults to the
  14511. pod IP. You probably want to set "Host" in httpHeaders
  14512. instead.
  14513. type: string
  14514. httpHeaders:
  14515. description: Custom headers to set in the request. HTTP
  14516. allows repeated headers.
  14517. items:
  14518. description: HTTPHeader describes a custom header
  14519. to be used in HTTP probes
  14520. properties:
  14521. name:
  14522. description: The header field name
  14523. type: string
  14524. value:
  14525. description: The header field value
  14526. type: string
  14527. required:
  14528. - name
  14529. - value
  14530. type: object
  14531. type: array
  14532. path:
  14533. description: Path to access on the HTTP server.
  14534. type: string
  14535. port:
  14536. anyOf:
  14537. - type: integer
  14538. - type: string
  14539. description: Name or number of the port to access on
  14540. the container. Number must be in the range 1 to 65535.
  14541. Name must be an IANA_SVC_NAME.
  14542. x-kubernetes-int-or-string: true
  14543. scheme:
  14544. description: Scheme to use for connecting to the host.
  14545. Defaults to HTTP.
  14546. type: string
  14547. required:
  14548. - port
  14549. type: object
  14550. initialDelaySeconds:
  14551. description: 'Number of seconds after the container has
  14552. started before liveness probes are initiated. More info:
  14553. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  14554. format: int32
  14555. type: integer
  14556. periodSeconds:
  14557. description: How often (in seconds) to perform the probe.
  14558. Default to 10 seconds. Minimum value is 1.
  14559. format: int32
  14560. type: integer
  14561. successThreshold:
  14562. description: Minimum consecutive successes for the probe
  14563. to be considered successful after having failed. Defaults
  14564. to 1. Must be 1 for liveness and startup. Minimum value
  14565. is 1.
  14566. format: int32
  14567. type: integer
  14568. tcpSocket:
  14569. description: TCPSocket specifies an action involving a TCP
  14570. port.
  14571. properties:
  14572. host:
  14573. description: 'Optional: Host name to connect to, defaults
  14574. to the pod IP.'
  14575. type: string
  14576. port:
  14577. anyOf:
  14578. - type: integer
  14579. - type: string
  14580. description: Number or name of the port to access on
  14581. the container. Number must be in the range 1 to 65535.
  14582. Name must be an IANA_SVC_NAME.
  14583. x-kubernetes-int-or-string: true
  14584. required:
  14585. - port
  14586. type: object
  14587. terminationGracePeriodSeconds:
  14588. description: Optional duration in seconds the pod needs
  14589. to terminate gracefully upon probe failure. The grace
  14590. period is the duration in seconds after the processes
  14591. running in the pod are sent a termination signal and the
  14592. time when the processes are forcibly halted with a kill
  14593. signal. Set this value longer than the expected cleanup
  14594. time for your process. If this value is nil, the pod's
  14595. terminationGracePeriodSeconds will be used. Otherwise,
  14596. this value overrides the value provided by the pod spec.
  14597. Value must be non-negative integer. The value zero indicates
  14598. stop immediately via the kill signal (no opportunity to
  14599. shut down). This is a beta field and requires enabling
  14600. ProbeTerminationGracePeriod feature gate. Minimum value
  14601. is 1. spec.terminationGracePeriodSeconds is used if unset.
  14602. format: int64
  14603. type: integer
  14604. timeoutSeconds:
  14605. description: 'Number of seconds after which the probe times
  14606. out. Defaults to 1 second. Minimum value is 1. More info:
  14607. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  14608. format: int32
  14609. type: integer
  14610. type: object
  14611. name:
  14612. description: Name of the container specified as a DNS_LABEL.
  14613. Each container in a pod must have a unique name (DNS_LABEL).
  14614. Cannot be updated.
  14615. type: string
  14616. ports:
  14617. description: List of ports to expose from the container. Exposing
  14618. a port here gives the system additional information about
  14619. the network connections a container uses, but is primarily
  14620. informational. Not specifying a port here DOES NOT prevent
  14621. that port from being exposed. Any port which is listening
  14622. on the default "0.0.0.0" address inside a container will be
  14623. accessible from the network. Cannot be updated.
  14624. items:
  14625. description: ContainerPort represents a network port in a
  14626. single container.
  14627. properties:
  14628. containerPort:
  14629. description: Number of port to expose on the pod's IP
  14630. address. This must be a valid port number, 0 < x < 65536.
  14631. format: int32
  14632. type: integer
  14633. hostIP:
  14634. description: What host IP to bind the external port to.
  14635. type: string
  14636. hostPort:
  14637. description: Number of port to expose on the host. If
  14638. specified, this must be a valid port number, 0 < x <
  14639. 65536. If HostNetwork is specified, this must match
  14640. ContainerPort. Most containers do not need this.
  14641. format: int32
  14642. type: integer
  14643. name:
  14644. description: If specified, this must be an IANA_SVC_NAME
  14645. and unique within the pod. Each named port in a pod
  14646. must have a unique name. Name for the port that can
  14647. be referred to by services.
  14648. type: string
  14649. protocol:
  14650. default: TCP
  14651. description: Protocol for port. Must be UDP, TCP, or SCTP.
  14652. Defaults to "TCP".
  14653. type: string
  14654. required:
  14655. - containerPort
  14656. type: object
  14657. type: array
  14658. x-kubernetes-list-map-keys:
  14659. - containerPort
  14660. - protocol
  14661. x-kubernetes-list-type: map
  14662. readinessProbe:
  14663. description: 'Periodic probe of container service readiness.
  14664. Container will be removed from service endpoints if the probe
  14665. fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  14666. properties:
  14667. exec:
  14668. description: Exec specifies the action to take.
  14669. properties:
  14670. command:
  14671. description: Command is the command line to execute
  14672. inside the container, the working directory for the
  14673. command is root ('/') in the container's filesystem.
  14674. The command is simply exec'd, it is not run inside
  14675. a shell, so traditional shell instructions ('|', etc)
  14676. won't work. To use a shell, you need to explicitly
  14677. call out to that shell. Exit status of 0 is treated
  14678. as live/healthy and non-zero is unhealthy.
  14679. items:
  14680. type: string
  14681. type: array
  14682. type: object
  14683. failureThreshold:
  14684. description: Minimum consecutive failures for the probe
  14685. to be considered failed after having succeeded. Defaults
  14686. to 3. Minimum value is 1.
  14687. format: int32
  14688. type: integer
  14689. grpc:
  14690. description: GRPC specifies an action involving a GRPC port.
  14691. This is a beta field and requires enabling GRPCContainerProbe
  14692. feature gate.
  14693. properties:
  14694. port:
  14695. description: Port number of the gRPC service. Number
  14696. must be in the range 1 to 65535.
  14697. format: int32
  14698. type: integer
  14699. service:
  14700. description: "Service is the name of the service to
  14701. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  14702. \n If this is not specified, the default behavior
  14703. is defined by gRPC."
  14704. type: string
  14705. required:
  14706. - port
  14707. type: object
  14708. httpGet:
  14709. description: HTTPGet specifies the http request to perform.
  14710. properties:
  14711. host:
  14712. description: Host name to connect to, defaults to the
  14713. pod IP. You probably want to set "Host" in httpHeaders
  14714. instead.
  14715. type: string
  14716. httpHeaders:
  14717. description: Custom headers to set in the request. HTTP
  14718. allows repeated headers.
  14719. items:
  14720. description: HTTPHeader describes a custom header
  14721. to be used in HTTP probes
  14722. properties:
  14723. name:
  14724. description: The header field name
  14725. type: string
  14726. value:
  14727. description: The header field value
  14728. type: string
  14729. required:
  14730. - name
  14731. - value
  14732. type: object
  14733. type: array
  14734. path:
  14735. description: Path to access on the HTTP server.
  14736. type: string
  14737. port:
  14738. anyOf:
  14739. - type: integer
  14740. - type: string
  14741. description: Name or number of the port to access on
  14742. the container. Number must be in the range 1 to 65535.
  14743. Name must be an IANA_SVC_NAME.
  14744. x-kubernetes-int-or-string: true
  14745. scheme:
  14746. description: Scheme to use for connecting to the host.
  14747. Defaults to HTTP.
  14748. type: string
  14749. required:
  14750. - port
  14751. type: object
  14752. initialDelaySeconds:
  14753. description: 'Number of seconds after the container has
  14754. started before liveness probes are initiated. More info:
  14755. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  14756. format: int32
  14757. type: integer
  14758. periodSeconds:
  14759. description: How often (in seconds) to perform the probe.
  14760. Default to 10 seconds. Minimum value is 1.
  14761. format: int32
  14762. type: integer
  14763. successThreshold:
  14764. description: Minimum consecutive successes for the probe
  14765. to be considered successful after having failed. Defaults
  14766. to 1. Must be 1 for liveness and startup. Minimum value
  14767. is 1.
  14768. format: int32
  14769. type: integer
  14770. tcpSocket:
  14771. description: TCPSocket specifies an action involving a TCP
  14772. port.
  14773. properties:
  14774. host:
  14775. description: 'Optional: Host name to connect to, defaults
  14776. to the pod IP.'
  14777. type: string
  14778. port:
  14779. anyOf:
  14780. - type: integer
  14781. - type: string
  14782. description: Number or name of the port to access on
  14783. the container. Number must be in the range 1 to 65535.
  14784. Name must be an IANA_SVC_NAME.
  14785. x-kubernetes-int-or-string: true
  14786. required:
  14787. - port
  14788. type: object
  14789. terminationGracePeriodSeconds:
  14790. description: Optional duration in seconds the pod needs
  14791. to terminate gracefully upon probe failure. The grace
  14792. period is the duration in seconds after the processes
  14793. running in the pod are sent a termination signal and the
  14794. time when the processes are forcibly halted with a kill
  14795. signal. Set this value longer than the expected cleanup
  14796. time for your process. If this value is nil, the pod's
  14797. terminationGracePeriodSeconds will be used. Otherwise,
  14798. this value overrides the value provided by the pod spec.
  14799. Value must be non-negative integer. The value zero indicates
  14800. stop immediately via the kill signal (no opportunity to
  14801. shut down). This is a beta field and requires enabling
  14802. ProbeTerminationGracePeriod feature gate. Minimum value
  14803. is 1. spec.terminationGracePeriodSeconds is used if unset.
  14804. format: int64
  14805. type: integer
  14806. timeoutSeconds:
  14807. description: 'Number of seconds after which the probe times
  14808. out. Defaults to 1 second. Minimum value is 1. More info:
  14809. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  14810. format: int32
  14811. type: integer
  14812. type: object
  14813. resources:
  14814. description: 'Compute Resources required by this container.
  14815. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  14816. properties:
  14817. limits:
  14818. additionalProperties:
  14819. anyOf:
  14820. - type: integer
  14821. - type: string
  14822. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  14823. x-kubernetes-int-or-string: true
  14824. description: 'Limits describes the maximum amount of compute
  14825. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  14826. type: object
  14827. requests:
  14828. additionalProperties:
  14829. anyOf:
  14830. - type: integer
  14831. - type: string
  14832. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  14833. x-kubernetes-int-or-string: true
  14834. description: 'Requests describes the minimum amount of compute
  14835. resources required. If Requests is omitted for a container,
  14836. it defaults to Limits if that is explicitly specified,
  14837. otherwise to an implementation-defined value. More info:
  14838. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  14839. type: object
  14840. type: object
  14841. securityContext:
  14842. description: 'SecurityContext defines the security options the
  14843. container should be run with. If set, the fields of SecurityContext
  14844. override the equivalent fields of PodSecurityContext. More
  14845. info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  14846. properties:
  14847. allowPrivilegeEscalation:
  14848. description: 'AllowPrivilegeEscalation controls whether
  14849. a process can gain more privileges than its parent process.
  14850. This bool directly controls if the no_new_privs flag will
  14851. be set on the container process. AllowPrivilegeEscalation
  14852. is true always when the container is: 1) run as Privileged
  14853. 2) has CAP_SYS_ADMIN Note that this field cannot be set
  14854. when spec.os.name is windows.'
  14855. type: boolean
  14856. capabilities:
  14857. description: The capabilities to add/drop when running containers.
  14858. Defaults to the default set of capabilities granted by
  14859. the container runtime. Note that this field cannot be
  14860. set when spec.os.name is windows.
  14861. properties:
  14862. add:
  14863. description: Added capabilities
  14864. items:
  14865. description: Capability represent POSIX capabilities
  14866. type
  14867. type: string
  14868. type: array
  14869. drop:
  14870. description: Removed capabilities
  14871. items:
  14872. description: Capability represent POSIX capabilities
  14873. type
  14874. type: string
  14875. type: array
  14876. type: object
  14877. privileged:
  14878. description: Run container in privileged mode. Processes
  14879. in privileged containers are essentially equivalent to
  14880. root on the host. Defaults to false. Note that this field
  14881. cannot be set when spec.os.name is windows.
  14882. type: boolean
  14883. procMount:
  14884. description: procMount denotes the type of proc mount to
  14885. use for the containers. The default is DefaultProcMount
  14886. which uses the container runtime defaults for readonly
  14887. paths and masked paths. This requires the ProcMountType
  14888. feature flag to be enabled. Note that this field cannot
  14889. be set when spec.os.name is windows.
  14890. type: string
  14891. readOnlyRootFilesystem:
  14892. description: Whether this container has a read-only root
  14893. filesystem. Default is false. Note that this field cannot
  14894. be set when spec.os.name is windows.
  14895. type: boolean
  14896. runAsGroup:
  14897. description: The GID to run the entrypoint of the container
  14898. process. Uses runtime default if unset. May also be set
  14899. in PodSecurityContext. If set in both SecurityContext
  14900. and PodSecurityContext, the value specified in SecurityContext
  14901. takes precedence. Note that this field cannot be set when
  14902. spec.os.name is windows.
  14903. format: int64
  14904. type: integer
  14905. runAsNonRoot:
  14906. description: Indicates that the container must run as a
  14907. non-root user. If true, the Kubelet will validate the
  14908. image at runtime to ensure that it does not run as UID
  14909. 0 (root) and fail to start the container if it does. If
  14910. unset or false, no such validation will be performed.
  14911. May also be set in PodSecurityContext. If set in both
  14912. SecurityContext and PodSecurityContext, the value specified
  14913. in SecurityContext takes precedence.
  14914. type: boolean
  14915. runAsUser:
  14916. description: The UID to run the entrypoint of the container
  14917. process. Defaults to user specified in image metadata
  14918. if unspecified. May also be set in PodSecurityContext. If
  14919. set in both SecurityContext and PodSecurityContext, the
  14920. value specified in SecurityContext takes precedence. Note
  14921. that this field cannot be set when spec.os.name is windows.
  14922. format: int64
  14923. type: integer
  14924. seLinuxOptions:
  14925. description: The SELinux context to be applied to the container.
  14926. If unspecified, the container runtime will allocate a
  14927. random SELinux context for each container. May also be
  14928. set in PodSecurityContext. If set in both SecurityContext
  14929. and PodSecurityContext, the value specified in SecurityContext
  14930. takes precedence. Note that this field cannot be set when
  14931. spec.os.name is windows.
  14932. properties:
  14933. level:
  14934. description: Level is SELinux level label that applies
  14935. to the container.
  14936. type: string
  14937. role:
  14938. description: Role is a SELinux role label that applies
  14939. to the container.
  14940. type: string
  14941. type:
  14942. description: Type is a SELinux type label that applies
  14943. to the container.
  14944. type: string
  14945. user:
  14946. description: User is a SELinux user label that applies
  14947. to the container.
  14948. type: string
  14949. type: object
  14950. seccompProfile:
  14951. description: The seccomp options to use by this container.
  14952. If seccomp options are provided at both the pod & container
  14953. level, the container options override the pod options.
  14954. Note that this field cannot be set when spec.os.name is
  14955. windows.
  14956. properties:
  14957. localhostProfile:
  14958. description: localhostProfile indicates a profile defined
  14959. in a file on the node should be used. The profile
  14960. must be preconfigured on the node to work. Must be
  14961. a descending path, relative to the kubelet's configured
  14962. seccomp profile location. Must only be set if type
  14963. is "Localhost".
  14964. type: string
  14965. type:
  14966. description: "type indicates which kind of seccomp profile
  14967. will be applied. Valid options are: \n Localhost -
  14968. a profile defined in a file on the node should be
  14969. used. RuntimeDefault - the container runtime default
  14970. profile should be used. Unconfined - no profile should
  14971. be applied."
  14972. type: string
  14973. required:
  14974. - type
  14975. type: object
  14976. windowsOptions:
  14977. description: The Windows specific settings applied to all
  14978. containers. If unspecified, the options from the PodSecurityContext
  14979. will be used. If set in both SecurityContext and PodSecurityContext,
  14980. the value specified in SecurityContext takes precedence.
  14981. Note that this field cannot be set when spec.os.name is
  14982. linux.
  14983. properties:
  14984. gmsaCredentialSpec:
  14985. description: GMSACredentialSpec is where the GMSA admission
  14986. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  14987. inlines the contents of the GMSA credential spec named
  14988. by the GMSACredentialSpecName field.
  14989. type: string
  14990. gmsaCredentialSpecName:
  14991. description: GMSACredentialSpecName is the name of the
  14992. GMSA credential spec to use.
  14993. type: string
  14994. hostProcess:
  14995. description: HostProcess determines if a container should
  14996. be run as a 'Host Process' container. This field is
  14997. alpha-level and will only be honored by components
  14998. that enable the WindowsHostProcessContainers feature
  14999. flag. Setting this field without the feature flag
  15000. will result in errors when validating the Pod. All
  15001. of a Pod's containers must have the same effective
  15002. HostProcess value (it is not allowed to have a mix
  15003. of HostProcess containers and non-HostProcess containers). In
  15004. addition, if HostProcess is true then HostNetwork
  15005. must also be set to true.
  15006. type: boolean
  15007. runAsUserName:
  15008. description: The UserName in Windows to run the entrypoint
  15009. of the container process. Defaults to the user specified
  15010. in image metadata if unspecified. May also be set
  15011. in PodSecurityContext. If set in both SecurityContext
  15012. and PodSecurityContext, the value specified in SecurityContext
  15013. takes precedence.
  15014. type: string
  15015. type: object
  15016. type: object
  15017. startupProbe:
  15018. description: 'StartupProbe indicates that the Pod has successfully
  15019. initialized. If specified, no other probes are executed until
  15020. this completes successfully. If this probe fails, the Pod
  15021. will be restarted, just as if the livenessProbe failed. This
  15022. can be used to provide different probe parameters at the beginning
  15023. of a Pod''s lifecycle, when it might take a long time to load
  15024. data or warm a cache, than during steady-state operation.
  15025. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  15026. properties:
  15027. exec:
  15028. description: Exec specifies the action to take.
  15029. properties:
  15030. command:
  15031. description: Command is the command line to execute
  15032. inside the container, the working directory for the
  15033. command is root ('/') in the container's filesystem.
  15034. The command is simply exec'd, it is not run inside
  15035. a shell, so traditional shell instructions ('|', etc)
  15036. won't work. To use a shell, you need to explicitly
  15037. call out to that shell. Exit status of 0 is treated
  15038. as live/healthy and non-zero is unhealthy.
  15039. items:
  15040. type: string
  15041. type: array
  15042. type: object
  15043. failureThreshold:
  15044. description: Minimum consecutive failures for the probe
  15045. to be considered failed after having succeeded. Defaults
  15046. to 3. Minimum value is 1.
  15047. format: int32
  15048. type: integer
  15049. grpc:
  15050. description: GRPC specifies an action involving a GRPC port.
  15051. This is a beta field and requires enabling GRPCContainerProbe
  15052. feature gate.
  15053. properties:
  15054. port:
  15055. description: Port number of the gRPC service. Number
  15056. must be in the range 1 to 65535.
  15057. format: int32
  15058. type: integer
  15059. service:
  15060. description: "Service is the name of the service to
  15061. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  15062. \n If this is not specified, the default behavior
  15063. is defined by gRPC."
  15064. type: string
  15065. required:
  15066. - port
  15067. type: object
  15068. httpGet:
  15069. description: HTTPGet specifies the http request to perform.
  15070. properties:
  15071. host:
  15072. description: Host name to connect to, defaults to the
  15073. pod IP. You probably want to set "Host" in httpHeaders
  15074. instead.
  15075. type: string
  15076. httpHeaders:
  15077. description: Custom headers to set in the request. HTTP
  15078. allows repeated headers.
  15079. items:
  15080. description: HTTPHeader describes a custom header
  15081. to be used in HTTP probes
  15082. properties:
  15083. name:
  15084. description: The header field name
  15085. type: string
  15086. value:
  15087. description: The header field value
  15088. type: string
  15089. required:
  15090. - name
  15091. - value
  15092. type: object
  15093. type: array
  15094. path:
  15095. description: Path to access on the HTTP server.
  15096. type: string
  15097. port:
  15098. anyOf:
  15099. - type: integer
  15100. - type: string
  15101. description: Name or number of the port to access on
  15102. the container. Number must be in the range 1 to 65535.
  15103. Name must be an IANA_SVC_NAME.
  15104. x-kubernetes-int-or-string: true
  15105. scheme:
  15106. description: Scheme to use for connecting to the host.
  15107. Defaults to HTTP.
  15108. type: string
  15109. required:
  15110. - port
  15111. type: object
  15112. initialDelaySeconds:
  15113. description: 'Number of seconds after the container has
  15114. started before liveness probes are initiated. More info:
  15115. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  15116. format: int32
  15117. type: integer
  15118. periodSeconds:
  15119. description: How often (in seconds) to perform the probe.
  15120. Default to 10 seconds. Minimum value is 1.
  15121. format: int32
  15122. type: integer
  15123. successThreshold:
  15124. description: Minimum consecutive successes for the probe
  15125. to be considered successful after having failed. Defaults
  15126. to 1. Must be 1 for liveness and startup. Minimum value
  15127. is 1.
  15128. format: int32
  15129. type: integer
  15130. tcpSocket:
  15131. description: TCPSocket specifies an action involving a TCP
  15132. port.
  15133. properties:
  15134. host:
  15135. description: 'Optional: Host name to connect to, defaults
  15136. to the pod IP.'
  15137. type: string
  15138. port:
  15139. anyOf:
  15140. - type: integer
  15141. - type: string
  15142. description: Number or name of the port to access on
  15143. the container. Number must be in the range 1 to 65535.
  15144. Name must be an IANA_SVC_NAME.
  15145. x-kubernetes-int-or-string: true
  15146. required:
  15147. - port
  15148. type: object
  15149. terminationGracePeriodSeconds:
  15150. description: Optional duration in seconds the pod needs
  15151. to terminate gracefully upon probe failure. The grace
  15152. period is the duration in seconds after the processes
  15153. running in the pod are sent a termination signal and the
  15154. time when the processes are forcibly halted with a kill
  15155. signal. Set this value longer than the expected cleanup
  15156. time for your process. If this value is nil, the pod's
  15157. terminationGracePeriodSeconds will be used. Otherwise,
  15158. this value overrides the value provided by the pod spec.
  15159. Value must be non-negative integer. The value zero indicates
  15160. stop immediately via the kill signal (no opportunity to
  15161. shut down). This is a beta field and requires enabling
  15162. ProbeTerminationGracePeriod feature gate. Minimum value
  15163. is 1. spec.terminationGracePeriodSeconds is used if unset.
  15164. format: int64
  15165. type: integer
  15166. timeoutSeconds:
  15167. description: 'Number of seconds after which the probe times
  15168. out. Defaults to 1 second. Minimum value is 1. More info:
  15169. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  15170. format: int32
  15171. type: integer
  15172. type: object
  15173. stdin:
  15174. description: Whether this container should allocate a buffer
  15175. for stdin in the container runtime. If this is not set, reads
  15176. from stdin in the container will always result in EOF. Default
  15177. is false.
  15178. type: boolean
  15179. stdinOnce:
  15180. description: Whether the container runtime should close the
  15181. stdin channel after it has been opened by a single attach.
  15182. When stdin is true the stdin stream will remain open across
  15183. multiple attach sessions. If stdinOnce is set to true, stdin
  15184. is opened on container start, is empty until the first client
  15185. attaches to stdin, and then remains open and accepts data
  15186. until the client disconnects, at which time stdin is closed
  15187. and remains closed until the container is restarted. If this
  15188. flag is false, a container processes that reads from stdin
  15189. will never receive an EOF. Default is false
  15190. type: boolean
  15191. terminationMessagePath:
  15192. description: 'Optional: Path at which the file to which the
  15193. container''s termination message will be written is mounted
  15194. into the container''s filesystem. Message written is intended
  15195. to be brief final status, such as an assertion failure message.
  15196. Will be truncated by the node if greater than 4096 bytes.
  15197. The total message length across all containers will be limited
  15198. to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  15199. type: string
  15200. terminationMessagePolicy:
  15201. description: Indicate how the termination message should be
  15202. populated. File will use the contents of terminationMessagePath
  15203. to populate the container status message on both success and
  15204. failure. FallbackToLogsOnError will use the last chunk of
  15205. container log output if the termination message file is empty
  15206. and the container exited with an error. The log output is
  15207. limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
  15208. to File. Cannot be updated.
  15209. type: string
  15210. tty:
  15211. description: Whether this container should allocate a TTY for
  15212. itself, also requires 'stdin' to be true. Default is false.
  15213. type: boolean
  15214. volumeDevices:
  15215. description: volumeDevices is the list of block devices to be
  15216. used by the container.
  15217. items:
  15218. description: volumeDevice describes a mapping of a raw block
  15219. device within a container.
  15220. properties:
  15221. devicePath:
  15222. description: devicePath is the path inside of the container
  15223. that the device will be mapped to.
  15224. type: string
  15225. name:
  15226. description: name must match the name of a persistentVolumeClaim
  15227. in the pod
  15228. type: string
  15229. required:
  15230. - devicePath
  15231. - name
  15232. type: object
  15233. type: array
  15234. volumeMounts:
  15235. description: Pod volumes to mount into the container's filesystem.
  15236. Cannot be updated.
  15237. items:
  15238. description: VolumeMount describes a mounting of a Volume
  15239. within a container.
  15240. properties:
  15241. mountPath:
  15242. description: Path within the container at which the volume
  15243. should be mounted. Must not contain ':'.
  15244. type: string
  15245. mountPropagation:
  15246. description: mountPropagation determines how mounts are
  15247. propagated from the host to container and the other
  15248. way around. When not set, MountPropagationNone is used.
  15249. This field is beta in 1.10.
  15250. type: string
  15251. name:
  15252. description: This must match the Name of a Volume.
  15253. type: string
  15254. readOnly:
  15255. description: Mounted read-only if true, read-write otherwise
  15256. (false or unspecified). Defaults to false.
  15257. type: boolean
  15258. subPath:
  15259. description: Path within the volume from which the container's
  15260. volume should be mounted. Defaults to "" (volume's root).
  15261. type: string
  15262. subPathExpr:
  15263. description: Expanded path within the volume from which
  15264. the container's volume should be mounted. Behaves similarly
  15265. to SubPath but environment variable references $(VAR_NAME)
  15266. are expanded using the container's environment. Defaults
  15267. to "" (volume's root). SubPathExpr and SubPath are mutually
  15268. exclusive.
  15269. type: string
  15270. required:
  15271. - mountPath
  15272. - name
  15273. type: object
  15274. type: array
  15275. workingDir:
  15276. description: Container's working directory. If not specified,
  15277. the container runtime's default will be used, which might
  15278. be configured in the container image. Cannot be updated.
  15279. type: string
  15280. required:
  15281. - name
  15282. type: object
  15283. type: array
  15284. disableCompaction:
  15285. description: Disable prometheus compaction.
  15286. type: boolean
  15287. enableAdminAPI:
  15288. description: 'Enable access to prometheus web admin API. Defaults
  15289. to the value of `false`. WARNING: Enabling the admin APIs enables
  15290. mutating endpoints, to delete data, shutdown Prometheus, and more.
  15291. Enabling this should be done with care and the user is advised to
  15292. add additional authentication authorization via a proxy to ensure
  15293. only clients authorized to perform these actions can do so. For
  15294. more information see https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis'
  15295. type: boolean
  15296. enableFeatures:
  15297. description: Enable access to Prometheus disabled features. By default,
  15298. no features are enabled. Enabling disabled features is entirely
  15299. outside the scope of what the maintainers will support and by doing
  15300. so, you accept that this behaviour may break at any time without
  15301. notice. For more information see https://prometheus.io/docs/prometheus/latest/disabled_features/
  15302. items:
  15303. type: string
  15304. type: array
  15305. enableRemoteWriteReceiver:
  15306. description: 'Enable Prometheus to be used as a receiver for the Prometheus
  15307. remote write protocol. Defaults to the value of `false`. WARNING:
  15308. This is not considered an efficient way of ingesting samples. Use
  15309. it with caution for specific low-volume use cases. It is not suitable
  15310. for replacing the ingestion via scraping and turning Prometheus
  15311. into a push-based metrics collection system. For more information
  15312. see https://prometheus.io/docs/prometheus/latest/querying/api/#remote-write-receiver
  15313. Only valid in Prometheus versions 2.33.0 and newer.'
  15314. type: boolean
  15315. enforcedBodySizeLimit:
  15316. description: 'EnforcedBodySizeLimit defines the maximum size of uncompressed
  15317. response body that will be accepted by Prometheus. Targets responding
  15318. with a body larger than this many bytes will cause the scrape to
  15319. fail. Example: 100MB. If defined, the limit will apply to all service/pod
  15320. monitors and probes. This is an experimental feature, this behaviour
  15321. could change or be removed in the future. Only valid in Prometheus
  15322. versions 2.28.0 and newer.'
  15323. pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
  15324. type: string
  15325. enforcedLabelLimit:
  15326. description: Per-scrape limit on number of labels that will be accepted
  15327. for a sample. If more than this number of labels are present post
  15328. metric-relabeling, the entire scrape will be treated as failed.
  15329. 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer.
  15330. format: int64
  15331. type: integer
  15332. enforcedLabelNameLengthLimit:
  15333. description: Per-scrape limit on length of labels name that will be
  15334. accepted for a sample. If a label name is longer than this number
  15335. post metric-relabeling, the entire scrape will be treated as failed.
  15336. 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer.
  15337. format: int64
  15338. type: integer
  15339. enforcedLabelValueLengthLimit:
  15340. description: Per-scrape limit on length of labels value that will
  15341. be accepted for a sample. If a label value is longer than this number
  15342. post metric-relabeling, the entire scrape will be treated as failed.
  15343. 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer.
  15344. format: int64
  15345. type: integer
  15346. enforcedNamespaceLabel:
  15347. description: "EnforcedNamespaceLabel If set, a label will be added
  15348. to \n 1. all user-metrics (created by `ServiceMonitor`, `PodMonitor`
  15349. and `Probe` objects) and 2. in all `PrometheusRule` objects (except
  15350. the ones excluded in `prometheusRulesExcludedFromEnforce`) to *
  15351. alerting & recording rules and * the metrics used in their expressions
  15352. (`expr`). \n Label name is this field's value. Label value is the
  15353. namespace of the created object (mentioned above)."
  15354. type: string
  15355. enforcedSampleLimit:
  15356. description: EnforcedSampleLimit defines global limit on number of
  15357. scraped samples that will be accepted. This overrides any SampleLimit
  15358. set per ServiceMonitor or/and PodMonitor. It is meant to be used
  15359. by admins to enforce the SampleLimit to keep overall number of samples/series
  15360. under the desired limit. Note that if SampleLimit is lower that
  15361. value will be taken instead.
  15362. format: int64
  15363. type: integer
  15364. enforcedTargetLimit:
  15365. description: EnforcedTargetLimit defines a global limit on the number
  15366. of scraped targets. This overrides any TargetLimit set per ServiceMonitor
  15367. or/and PodMonitor. It is meant to be used by admins to enforce
  15368. the TargetLimit to keep the overall number of targets under the
  15369. desired limit. Note that if TargetLimit is lower, that value will
  15370. be taken instead, except if either value is zero, in which case
  15371. the non-zero value will be used. If both values are zero, no limit
  15372. is enforced.
  15373. format: int64
  15374. type: integer
  15375. evaluationInterval:
  15376. default: 30s
  15377. description: 'Interval between consecutive evaluations. Default: `30s`'
  15378. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  15379. type: string
  15380. excludedFromEnforcement:
  15381. description: List of references to PodMonitor, ServiceMonitor, Probe
  15382. and PrometheusRule objects to be excluded from enforcing a namespace
  15383. label of origin. Applies only if enforcedNamespaceLabel set to true.
  15384. items:
  15385. description: ObjectReference references a PodMonitor, ServiceMonitor,
  15386. Probe or PrometheusRule object.
  15387. properties:
  15388. group:
  15389. default: monitoring.coreos.com
  15390. description: Group of the referent. When not specified, it defaults
  15391. to `monitoring.coreos.com`
  15392. enum:
  15393. - monitoring.coreos.com
  15394. type: string
  15395. name:
  15396. description: Name of the referent. When not set, all resources
  15397. are matched.
  15398. type: string
  15399. namespace:
  15400. description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  15401. minLength: 1
  15402. type: string
  15403. resource:
  15404. description: Resource of the referent.
  15405. enum:
  15406. - prometheusrules
  15407. - servicemonitors
  15408. - podmonitors
  15409. - probes
  15410. type: string
  15411. required:
  15412. - namespace
  15413. - resource
  15414. type: object
  15415. type: array
  15416. exemplars:
  15417. description: Exemplars related settings that are runtime reloadable.
  15418. It requires to enable the exemplar storage feature to be effective.
  15419. properties:
  15420. maxSize:
  15421. description: Maximum number of exemplars stored in memory for
  15422. all series. If not set, Prometheus uses its default value. A
  15423. value of zero or less than zero disables the storage.
  15424. format: int64
  15425. type: integer
  15426. type: object
  15427. externalLabels:
  15428. additionalProperties:
  15429. type: string
  15430. description: The labels to add to any time series or alerts when communicating
  15431. with external systems (federation, remote storage, Alertmanager).
  15432. type: object
  15433. externalUrl:
  15434. description: The external URL the Prometheus instances will be available
  15435. under. This is necessary to generate correct URLs. This is necessary
  15436. if Prometheus is not served from root of a DNS name.
  15437. type: string
  15438. hostAliases:
  15439. description: Pods' hostAliases configuration
  15440. items:
  15441. description: HostAlias holds the mapping between IP and hostnames
  15442. that will be injected as an entry in the pod's hosts file.
  15443. properties:
  15444. hostnames:
  15445. description: Hostnames for the above IP address.
  15446. items:
  15447. type: string
  15448. type: array
  15449. ip:
  15450. description: IP address of the host file entry.
  15451. type: string
  15452. required:
  15453. - hostnames
  15454. - ip
  15455. type: object
  15456. type: array
  15457. x-kubernetes-list-map-keys:
  15458. - ip
  15459. x-kubernetes-list-type: map
  15460. ignoreNamespaceSelectors:
  15461. description: IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector
  15462. settings from all PodMonitor, ServiceMonitor and Probe objects.
  15463. They will only discover endpoints within the namespace of the PodMonitor,
  15464. ServiceMonitor and Probe objects. Defaults to false.
  15465. type: boolean
  15466. image:
  15467. description: Image if specified has precedence over baseImage, tag
  15468. and sha combinations. Specifying the version is still necessary
  15469. to ensure the Prometheus Operator knows what version of Prometheus
  15470. is being configured.
  15471. type: string
  15472. imagePullSecrets:
  15473. description: An optional list of references to secrets in the same
  15474. namespace to use for pulling prometheus and alertmanager images
  15475. from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
  15476. items:
  15477. description: LocalObjectReference contains enough information to
  15478. let you locate the referenced object inside the same namespace.
  15479. properties:
  15480. name:
  15481. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  15482. TODO: Add other useful fields. apiVersion, kind, uid?'
  15483. type: string
  15484. type: object
  15485. x-kubernetes-map-type: atomic
  15486. type: array
  15487. initContainers:
  15488. description: 'InitContainers allows adding initContainers to the pod
  15489. definition. Those can be used to e.g. fetch secrets for injection
  15490. into the Prometheus configuration from external sources. Any errors
  15491. during the execution of an initContainer will lead to a restart
  15492. of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  15493. InitContainers described here modify an operator generated init
  15494. containers if they share the same name and modifications are done
  15495. via a strategic merge patch. The current init container name is:
  15496. `init-config-reloader`. Overriding init containers is entirely outside
  15497. the scope of what the maintainers will support and by doing so,
  15498. you accept that this behaviour may break at any time without notice.'
  15499. items:
  15500. description: A single application container that you want to run
  15501. within a pod.
  15502. properties:
  15503. args:
  15504. description: 'Arguments to the entrypoint. The container image''s
  15505. CMD is used if this is not provided. Variable references $(VAR_NAME)
  15506. are expanded using the container''s environment. If a variable
  15507. cannot be resolved, the reference in the input string will
  15508. be unchanged. Double $$ are reduced to a single $, which allows
  15509. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  15510. produce the string literal "$(VAR_NAME)". Escaped references
  15511. will never be expanded, regardless of whether the variable
  15512. 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'
  15513. items:
  15514. type: string
  15515. type: array
  15516. command:
  15517. description: 'Entrypoint array. Not executed within a shell.
  15518. The container image''s ENTRYPOINT is used if this is not provided.
  15519. Variable references $(VAR_NAME) are expanded using the container''s
  15520. environment. If a variable cannot be resolved, the reference
  15521. in the input string will be unchanged. Double $$ are reduced
  15522. to a single $, which allows for escaping the $(VAR_NAME) syntax:
  15523. i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  15524. Escaped references will never be expanded, regardless of whether
  15525. the variable exists or not. Cannot be updated. More info:
  15526. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  15527. items:
  15528. type: string
  15529. type: array
  15530. env:
  15531. description: List of environment variables to set in the container.
  15532. Cannot be updated.
  15533. items:
  15534. description: EnvVar represents an environment variable present
  15535. in a Container.
  15536. properties:
  15537. name:
  15538. description: Name of the environment variable. Must be
  15539. a C_IDENTIFIER.
  15540. type: string
  15541. value:
  15542. description: 'Variable references $(VAR_NAME) are expanded
  15543. using the previously defined environment variables in
  15544. the container and any service environment variables.
  15545. If a variable cannot be resolved, the reference in the
  15546. input string will be unchanged. Double $$ are reduced
  15547. to a single $, which allows for escaping the $(VAR_NAME)
  15548. syntax: i.e. "$$(VAR_NAME)" will produce the string
  15549. literal "$(VAR_NAME)". Escaped references will never
  15550. be expanded, regardless of whether the variable exists
  15551. or not. Defaults to "".'
  15552. type: string
  15553. valueFrom:
  15554. description: Source for the environment variable's value.
  15555. Cannot be used if value is not empty.
  15556. properties:
  15557. configMapKeyRef:
  15558. description: Selects a key of a ConfigMap.
  15559. properties:
  15560. key:
  15561. description: The key to select.
  15562. type: string
  15563. name:
  15564. description: 'Name of the referent. More info:
  15565. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  15566. TODO: Add other useful fields. apiVersion, kind,
  15567. uid?'
  15568. type: string
  15569. optional:
  15570. description: Specify whether the ConfigMap or
  15571. its key must be defined
  15572. type: boolean
  15573. required:
  15574. - key
  15575. type: object
  15576. x-kubernetes-map-type: atomic
  15577. fieldRef:
  15578. description: 'Selects a field of the pod: supports
  15579. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  15580. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  15581. spec.serviceAccountName, status.hostIP, status.podIP,
  15582. status.podIPs.'
  15583. properties:
  15584. apiVersion:
  15585. description: Version of the schema the FieldPath
  15586. is written in terms of, defaults to "v1".
  15587. type: string
  15588. fieldPath:
  15589. description: Path of the field to select in the
  15590. specified API version.
  15591. type: string
  15592. required:
  15593. - fieldPath
  15594. type: object
  15595. x-kubernetes-map-type: atomic
  15596. resourceFieldRef:
  15597. description: 'Selects a resource of the container:
  15598. only resources limits and requests (limits.cpu,
  15599. limits.memory, limits.ephemeral-storage, requests.cpu,
  15600. requests.memory and requests.ephemeral-storage)
  15601. are currently supported.'
  15602. properties:
  15603. containerName:
  15604. description: 'Container name: required for volumes,
  15605. optional for env vars'
  15606. type: string
  15607. divisor:
  15608. anyOf:
  15609. - type: integer
  15610. - type: string
  15611. description: Specifies the output format of the
  15612. exposed resources, defaults to "1"
  15613. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  15614. x-kubernetes-int-or-string: true
  15615. resource:
  15616. description: 'Required: resource to select'
  15617. type: string
  15618. required:
  15619. - resource
  15620. type: object
  15621. x-kubernetes-map-type: atomic
  15622. secretKeyRef:
  15623. description: Selects a key of a secret in the pod's
  15624. namespace
  15625. properties:
  15626. key:
  15627. description: The key of the secret to select from. Must
  15628. be a valid secret key.
  15629. type: string
  15630. name:
  15631. description: 'Name of the referent. More info:
  15632. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  15633. TODO: Add other useful fields. apiVersion, kind,
  15634. uid?'
  15635. type: string
  15636. optional:
  15637. description: Specify whether the Secret or its
  15638. key must be defined
  15639. type: boolean
  15640. required:
  15641. - key
  15642. type: object
  15643. x-kubernetes-map-type: atomic
  15644. type: object
  15645. required:
  15646. - name
  15647. type: object
  15648. type: array
  15649. envFrom:
  15650. description: List of sources to populate environment variables
  15651. in the container. The keys defined within a source must be
  15652. a C_IDENTIFIER. All invalid keys will be reported as an event
  15653. when the container is starting. When a key exists in multiple
  15654. sources, the value associated with the last source will take
  15655. precedence. Values defined by an Env with a duplicate key
  15656. will take precedence. Cannot be updated.
  15657. items:
  15658. description: EnvFromSource represents the source of a set
  15659. of ConfigMaps
  15660. properties:
  15661. configMapRef:
  15662. description: The ConfigMap to select from
  15663. properties:
  15664. name:
  15665. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  15666. TODO: Add other useful fields. apiVersion, kind,
  15667. uid?'
  15668. type: string
  15669. optional:
  15670. description: Specify whether the ConfigMap must be
  15671. defined
  15672. type: boolean
  15673. type: object
  15674. x-kubernetes-map-type: atomic
  15675. prefix:
  15676. description: An optional identifier to prepend to each
  15677. key in the ConfigMap. Must be a C_IDENTIFIER.
  15678. type: string
  15679. secretRef:
  15680. description: The Secret to select from
  15681. properties:
  15682. name:
  15683. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  15684. TODO: Add other useful fields. apiVersion, kind,
  15685. uid?'
  15686. type: string
  15687. optional:
  15688. description: Specify whether the Secret must be defined
  15689. type: boolean
  15690. type: object
  15691. x-kubernetes-map-type: atomic
  15692. type: object
  15693. type: array
  15694. image:
  15695. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  15696. This field is optional to allow higher level config management
  15697. to default or override container images in workload controllers
  15698. like Deployments and StatefulSets.'
  15699. type: string
  15700. imagePullPolicy:
  15701. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  15702. Defaults to Always if :latest tag is specified, or IfNotPresent
  15703. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  15704. type: string
  15705. lifecycle:
  15706. description: Actions that the management system should take
  15707. in response to container lifecycle events. Cannot be updated.
  15708. properties:
  15709. postStart:
  15710. description: 'PostStart is called immediately after a container
  15711. is created. If the handler fails, the container is terminated
  15712. and restarted according to its restart policy. Other management
  15713. of the container blocks until the hook completes. More
  15714. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  15715. properties:
  15716. exec:
  15717. description: Exec specifies the action to take.
  15718. properties:
  15719. command:
  15720. description: Command is the command line to execute
  15721. inside the container, the working directory for
  15722. the command is root ('/') in the container's
  15723. filesystem. The command is simply exec'd, it is
  15724. not run inside a shell, so traditional shell instructions
  15725. ('|', etc) won't work. To use a shell, you need
  15726. to explicitly call out to that shell. Exit status
  15727. of 0 is treated as live/healthy and non-zero is
  15728. unhealthy.
  15729. items:
  15730. type: string
  15731. type: array
  15732. type: object
  15733. httpGet:
  15734. description: HTTPGet specifies the http request to perform.
  15735. properties:
  15736. host:
  15737. description: Host name to connect to, defaults to
  15738. the pod IP. You probably want to set "Host" in
  15739. httpHeaders instead.
  15740. type: string
  15741. httpHeaders:
  15742. description: Custom headers to set in the request.
  15743. HTTP allows repeated headers.
  15744. items:
  15745. description: HTTPHeader describes a custom header
  15746. to be used in HTTP probes
  15747. properties:
  15748. name:
  15749. description: The header field name
  15750. type: string
  15751. value:
  15752. description: The header field value
  15753. type: string
  15754. required:
  15755. - name
  15756. - value
  15757. type: object
  15758. type: array
  15759. path:
  15760. description: Path to access on the HTTP server.
  15761. type: string
  15762. port:
  15763. anyOf:
  15764. - type: integer
  15765. - type: string
  15766. description: Name or number of the port to access
  15767. on the container. Number must be in the range
  15768. 1 to 65535. Name must be an IANA_SVC_NAME.
  15769. x-kubernetes-int-or-string: true
  15770. scheme:
  15771. description: Scheme to use for connecting to the
  15772. host. Defaults to HTTP.
  15773. type: string
  15774. required:
  15775. - port
  15776. type: object
  15777. tcpSocket:
  15778. description: Deprecated. TCPSocket is NOT supported
  15779. as a LifecycleHandler and kept for the backward compatibility.
  15780. There are no validation of this field and lifecycle
  15781. hooks will fail in runtime when tcp handler is specified.
  15782. properties:
  15783. host:
  15784. description: 'Optional: Host name to connect to,
  15785. defaults to the pod IP.'
  15786. type: string
  15787. port:
  15788. anyOf:
  15789. - type: integer
  15790. - type: string
  15791. description: Number or name of the port to access
  15792. on the container. Number must be in the range
  15793. 1 to 65535. Name must be an IANA_SVC_NAME.
  15794. x-kubernetes-int-or-string: true
  15795. required:
  15796. - port
  15797. type: object
  15798. type: object
  15799. preStop:
  15800. description: 'PreStop is called immediately before a container
  15801. is terminated due to an API request or management event
  15802. such as liveness/startup probe failure, preemption, resource
  15803. contention, etc. The handler is not called if the container
  15804. crashes or exits. The Pod''s termination grace period
  15805. countdown begins before the PreStop hook is executed.
  15806. Regardless of the outcome of the handler, the container
  15807. will eventually terminate within the Pod''s termination
  15808. grace period (unless delayed by finalizers). Other management
  15809. of the container blocks until the hook completes or until
  15810. the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  15811. properties:
  15812. exec:
  15813. description: Exec specifies the action to take.
  15814. properties:
  15815. command:
  15816. description: Command is the command line to execute
  15817. inside the container, the working directory for
  15818. the command is root ('/') in the container's
  15819. filesystem. The command is simply exec'd, it is
  15820. not run inside a shell, so traditional shell instructions
  15821. ('|', etc) won't work. To use a shell, you need
  15822. to explicitly call out to that shell. Exit status
  15823. of 0 is treated as live/healthy and non-zero is
  15824. unhealthy.
  15825. items:
  15826. type: string
  15827. type: array
  15828. type: object
  15829. httpGet:
  15830. description: HTTPGet specifies the http request to perform.
  15831. properties:
  15832. host:
  15833. description: Host name to connect to, defaults to
  15834. the pod IP. You probably want to set "Host" in
  15835. httpHeaders instead.
  15836. type: string
  15837. httpHeaders:
  15838. description: Custom headers to set in the request.
  15839. HTTP allows repeated headers.
  15840. items:
  15841. description: HTTPHeader describes a custom header
  15842. to be used in HTTP probes
  15843. properties:
  15844. name:
  15845. description: The header field name
  15846. type: string
  15847. value:
  15848. description: The header field value
  15849. type: string
  15850. required:
  15851. - name
  15852. - value
  15853. type: object
  15854. type: array
  15855. path:
  15856. description: Path to access on the HTTP server.
  15857. type: string
  15858. port:
  15859. anyOf:
  15860. - type: integer
  15861. - type: string
  15862. description: Name or number of the port to access
  15863. on the container. Number must be in the range
  15864. 1 to 65535. Name must be an IANA_SVC_NAME.
  15865. x-kubernetes-int-or-string: true
  15866. scheme:
  15867. description: Scheme to use for connecting to the
  15868. host. Defaults to HTTP.
  15869. type: string
  15870. required:
  15871. - port
  15872. type: object
  15873. tcpSocket:
  15874. description: Deprecated. TCPSocket is NOT supported
  15875. as a LifecycleHandler and kept for the backward compatibility.
  15876. There are no validation of this field and lifecycle
  15877. hooks will fail in runtime when tcp handler is specified.
  15878. properties:
  15879. host:
  15880. description: 'Optional: Host name to connect to,
  15881. defaults to the pod IP.'
  15882. type: string
  15883. port:
  15884. anyOf:
  15885. - type: integer
  15886. - type: string
  15887. description: Number or name of the port to access
  15888. on the container. Number must be in the range
  15889. 1 to 65535. Name must be an IANA_SVC_NAME.
  15890. x-kubernetes-int-or-string: true
  15891. required:
  15892. - port
  15893. type: object
  15894. type: object
  15895. type: object
  15896. livenessProbe:
  15897. description: 'Periodic probe of container liveness. Container
  15898. will be restarted if the probe fails. Cannot be updated. More
  15899. info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  15900. properties:
  15901. exec:
  15902. description: Exec specifies the action to take.
  15903. properties:
  15904. command:
  15905. description: Command is the command line to execute
  15906. inside the container, the working directory for the
  15907. command is root ('/') in the container's filesystem.
  15908. The command is simply exec'd, it is not run inside
  15909. a shell, so traditional shell instructions ('|', etc)
  15910. won't work. To use a shell, you need to explicitly
  15911. call out to that shell. Exit status of 0 is treated
  15912. as live/healthy and non-zero is unhealthy.
  15913. items:
  15914. type: string
  15915. type: array
  15916. type: object
  15917. failureThreshold:
  15918. description: Minimum consecutive failures for the probe
  15919. to be considered failed after having succeeded. Defaults
  15920. to 3. Minimum value is 1.
  15921. format: int32
  15922. type: integer
  15923. grpc:
  15924. description: GRPC specifies an action involving a GRPC port.
  15925. This is a beta field and requires enabling GRPCContainerProbe
  15926. feature gate.
  15927. properties:
  15928. port:
  15929. description: Port number of the gRPC service. Number
  15930. must be in the range 1 to 65535.
  15931. format: int32
  15932. type: integer
  15933. service:
  15934. description: "Service is the name of the service to
  15935. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  15936. \n If this is not specified, the default behavior
  15937. is defined by gRPC."
  15938. type: string
  15939. required:
  15940. - port
  15941. type: object
  15942. httpGet:
  15943. description: HTTPGet specifies the http request to perform.
  15944. properties:
  15945. host:
  15946. description: Host name to connect to, defaults to the
  15947. pod IP. You probably want to set "Host" in httpHeaders
  15948. instead.
  15949. type: string
  15950. httpHeaders:
  15951. description: Custom headers to set in the request. HTTP
  15952. allows repeated headers.
  15953. items:
  15954. description: HTTPHeader describes a custom header
  15955. to be used in HTTP probes
  15956. properties:
  15957. name:
  15958. description: The header field name
  15959. type: string
  15960. value:
  15961. description: The header field value
  15962. type: string
  15963. required:
  15964. - name
  15965. - value
  15966. type: object
  15967. type: array
  15968. path:
  15969. description: Path to access on the HTTP server.
  15970. type: string
  15971. port:
  15972. anyOf:
  15973. - type: integer
  15974. - type: string
  15975. description: Name or number of the port to access on
  15976. the container. Number must be in the range 1 to 65535.
  15977. Name must be an IANA_SVC_NAME.
  15978. x-kubernetes-int-or-string: true
  15979. scheme:
  15980. description: Scheme to use for connecting to the host.
  15981. Defaults to HTTP.
  15982. type: string
  15983. required:
  15984. - port
  15985. type: object
  15986. initialDelaySeconds:
  15987. description: 'Number of seconds after the container has
  15988. started before liveness probes are initiated. More info:
  15989. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  15990. format: int32
  15991. type: integer
  15992. periodSeconds:
  15993. description: How often (in seconds) to perform the probe.
  15994. Default to 10 seconds. Minimum value is 1.
  15995. format: int32
  15996. type: integer
  15997. successThreshold:
  15998. description: Minimum consecutive successes for the probe
  15999. to be considered successful after having failed. Defaults
  16000. to 1. Must be 1 for liveness and startup. Minimum value
  16001. is 1.
  16002. format: int32
  16003. type: integer
  16004. tcpSocket:
  16005. description: TCPSocket specifies an action involving a TCP
  16006. port.
  16007. properties:
  16008. host:
  16009. description: 'Optional: Host name to connect to, defaults
  16010. to the pod IP.'
  16011. type: string
  16012. port:
  16013. anyOf:
  16014. - type: integer
  16015. - type: string
  16016. description: Number or name of the port to access on
  16017. the container. Number must be in the range 1 to 65535.
  16018. Name must be an IANA_SVC_NAME.
  16019. x-kubernetes-int-or-string: true
  16020. required:
  16021. - port
  16022. type: object
  16023. terminationGracePeriodSeconds:
  16024. description: Optional duration in seconds the pod needs
  16025. to terminate gracefully upon probe failure. The grace
  16026. period is the duration in seconds after the processes
  16027. running in the pod are sent a termination signal and the
  16028. time when the processes are forcibly halted with a kill
  16029. signal. Set this value longer than the expected cleanup
  16030. time for your process. If this value is nil, the pod's
  16031. terminationGracePeriodSeconds will be used. Otherwise,
  16032. this value overrides the value provided by the pod spec.
  16033. Value must be non-negative integer. The value zero indicates
  16034. stop immediately via the kill signal (no opportunity to
  16035. shut down). This is a beta field and requires enabling
  16036. ProbeTerminationGracePeriod feature gate. Minimum value
  16037. is 1. spec.terminationGracePeriodSeconds is used if unset.
  16038. format: int64
  16039. type: integer
  16040. timeoutSeconds:
  16041. description: 'Number of seconds after which the probe times
  16042. out. Defaults to 1 second. Minimum value is 1. More info:
  16043. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  16044. format: int32
  16045. type: integer
  16046. type: object
  16047. name:
  16048. description: Name of the container specified as a DNS_LABEL.
  16049. Each container in a pod must have a unique name (DNS_LABEL).
  16050. Cannot be updated.
  16051. type: string
  16052. ports:
  16053. description: List of ports to expose from the container. Exposing
  16054. a port here gives the system additional information about
  16055. the network connections a container uses, but is primarily
  16056. informational. Not specifying a port here DOES NOT prevent
  16057. that port from being exposed. Any port which is listening
  16058. on the default "0.0.0.0" address inside a container will be
  16059. accessible from the network. Cannot be updated.
  16060. items:
  16061. description: ContainerPort represents a network port in a
  16062. single container.
  16063. properties:
  16064. containerPort:
  16065. description: Number of port to expose on the pod's IP
  16066. address. This must be a valid port number, 0 < x < 65536.
  16067. format: int32
  16068. type: integer
  16069. hostIP:
  16070. description: What host IP to bind the external port to.
  16071. type: string
  16072. hostPort:
  16073. description: Number of port to expose on the host. If
  16074. specified, this must be a valid port number, 0 < x <
  16075. 65536. If HostNetwork is specified, this must match
  16076. ContainerPort. Most containers do not need this.
  16077. format: int32
  16078. type: integer
  16079. name:
  16080. description: If specified, this must be an IANA_SVC_NAME
  16081. and unique within the pod. Each named port in a pod
  16082. must have a unique name. Name for the port that can
  16083. be referred to by services.
  16084. type: string
  16085. protocol:
  16086. default: TCP
  16087. description: Protocol for port. Must be UDP, TCP, or SCTP.
  16088. Defaults to "TCP".
  16089. type: string
  16090. required:
  16091. - containerPort
  16092. type: object
  16093. type: array
  16094. x-kubernetes-list-map-keys:
  16095. - containerPort
  16096. - protocol
  16097. x-kubernetes-list-type: map
  16098. readinessProbe:
  16099. description: 'Periodic probe of container service readiness.
  16100. Container will be removed from service endpoints if the probe
  16101. fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  16102. properties:
  16103. exec:
  16104. description: Exec specifies the action to take.
  16105. properties:
  16106. command:
  16107. description: Command is the command line to execute
  16108. inside the container, the working directory for the
  16109. command is root ('/') in the container's filesystem.
  16110. The command is simply exec'd, it is not run inside
  16111. a shell, so traditional shell instructions ('|', etc)
  16112. won't work. To use a shell, you need to explicitly
  16113. call out to that shell. Exit status of 0 is treated
  16114. as live/healthy and non-zero is unhealthy.
  16115. items:
  16116. type: string
  16117. type: array
  16118. type: object
  16119. failureThreshold:
  16120. description: Minimum consecutive failures for the probe
  16121. to be considered failed after having succeeded. Defaults
  16122. to 3. Minimum value is 1.
  16123. format: int32
  16124. type: integer
  16125. grpc:
  16126. description: GRPC specifies an action involving a GRPC port.
  16127. This is a beta field and requires enabling GRPCContainerProbe
  16128. feature gate.
  16129. properties:
  16130. port:
  16131. description: Port number of the gRPC service. Number
  16132. must be in the range 1 to 65535.
  16133. format: int32
  16134. type: integer
  16135. service:
  16136. description: "Service is the name of the service to
  16137. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  16138. \n If this is not specified, the default behavior
  16139. is defined by gRPC."
  16140. type: string
  16141. required:
  16142. - port
  16143. type: object
  16144. httpGet:
  16145. description: HTTPGet specifies the http request to perform.
  16146. properties:
  16147. host:
  16148. description: Host name to connect to, defaults to the
  16149. pod IP. You probably want to set "Host" in httpHeaders
  16150. instead.
  16151. type: string
  16152. httpHeaders:
  16153. description: Custom headers to set in the request. HTTP
  16154. allows repeated headers.
  16155. items:
  16156. description: HTTPHeader describes a custom header
  16157. to be used in HTTP probes
  16158. properties:
  16159. name:
  16160. description: The header field name
  16161. type: string
  16162. value:
  16163. description: The header field value
  16164. type: string
  16165. required:
  16166. - name
  16167. - value
  16168. type: object
  16169. type: array
  16170. path:
  16171. description: Path to access on the HTTP server.
  16172. type: string
  16173. port:
  16174. anyOf:
  16175. - type: integer
  16176. - type: string
  16177. description: Name or number of the port to access on
  16178. the container. Number must be in the range 1 to 65535.
  16179. Name must be an IANA_SVC_NAME.
  16180. x-kubernetes-int-or-string: true
  16181. scheme:
  16182. description: Scheme to use for connecting to the host.
  16183. Defaults to HTTP.
  16184. type: string
  16185. required:
  16186. - port
  16187. type: object
  16188. initialDelaySeconds:
  16189. description: 'Number of seconds after the container has
  16190. started before liveness probes are initiated. More info:
  16191. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  16192. format: int32
  16193. type: integer
  16194. periodSeconds:
  16195. description: How often (in seconds) to perform the probe.
  16196. Default to 10 seconds. Minimum value is 1.
  16197. format: int32
  16198. type: integer
  16199. successThreshold:
  16200. description: Minimum consecutive successes for the probe
  16201. to be considered successful after having failed. Defaults
  16202. to 1. Must be 1 for liveness and startup. Minimum value
  16203. is 1.
  16204. format: int32
  16205. type: integer
  16206. tcpSocket:
  16207. description: TCPSocket specifies an action involving a TCP
  16208. port.
  16209. properties:
  16210. host:
  16211. description: 'Optional: Host name to connect to, defaults
  16212. to the pod IP.'
  16213. type: string
  16214. port:
  16215. anyOf:
  16216. - type: integer
  16217. - type: string
  16218. description: Number or name of the port to access on
  16219. the container. Number must be in the range 1 to 65535.
  16220. Name must be an IANA_SVC_NAME.
  16221. x-kubernetes-int-or-string: true
  16222. required:
  16223. - port
  16224. type: object
  16225. terminationGracePeriodSeconds:
  16226. description: Optional duration in seconds the pod needs
  16227. to terminate gracefully upon probe failure. The grace
  16228. period is the duration in seconds after the processes
  16229. running in the pod are sent a termination signal and the
  16230. time when the processes are forcibly halted with a kill
  16231. signal. Set this value longer than the expected cleanup
  16232. time for your process. If this value is nil, the pod's
  16233. terminationGracePeriodSeconds will be used. Otherwise,
  16234. this value overrides the value provided by the pod spec.
  16235. Value must be non-negative integer. The value zero indicates
  16236. stop immediately via the kill signal (no opportunity to
  16237. shut down). This is a beta field and requires enabling
  16238. ProbeTerminationGracePeriod feature gate. Minimum value
  16239. is 1. spec.terminationGracePeriodSeconds is used if unset.
  16240. format: int64
  16241. type: integer
  16242. timeoutSeconds:
  16243. description: 'Number of seconds after which the probe times
  16244. out. Defaults to 1 second. Minimum value is 1. More info:
  16245. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  16246. format: int32
  16247. type: integer
  16248. type: object
  16249. resources:
  16250. description: 'Compute Resources required by this container.
  16251. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  16252. properties:
  16253. limits:
  16254. additionalProperties:
  16255. anyOf:
  16256. - type: integer
  16257. - type: string
  16258. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  16259. x-kubernetes-int-or-string: true
  16260. description: 'Limits describes the maximum amount of compute
  16261. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  16262. type: object
  16263. requests:
  16264. additionalProperties:
  16265. anyOf:
  16266. - type: integer
  16267. - type: string
  16268. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  16269. x-kubernetes-int-or-string: true
  16270. description: 'Requests describes the minimum amount of compute
  16271. resources required. If Requests is omitted for a container,
  16272. it defaults to Limits if that is explicitly specified,
  16273. otherwise to an implementation-defined value. More info:
  16274. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  16275. type: object
  16276. type: object
  16277. securityContext:
  16278. description: 'SecurityContext defines the security options the
  16279. container should be run with. If set, the fields of SecurityContext
  16280. override the equivalent fields of PodSecurityContext. More
  16281. info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  16282. properties:
  16283. allowPrivilegeEscalation:
  16284. description: 'AllowPrivilegeEscalation controls whether
  16285. a process can gain more privileges than its parent process.
  16286. This bool directly controls if the no_new_privs flag will
  16287. be set on the container process. AllowPrivilegeEscalation
  16288. is true always when the container is: 1) run as Privileged
  16289. 2) has CAP_SYS_ADMIN Note that this field cannot be set
  16290. when spec.os.name is windows.'
  16291. type: boolean
  16292. capabilities:
  16293. description: The capabilities to add/drop when running containers.
  16294. Defaults to the default set of capabilities granted by
  16295. the container runtime. Note that this field cannot be
  16296. set when spec.os.name is windows.
  16297. properties:
  16298. add:
  16299. description: Added capabilities
  16300. items:
  16301. description: Capability represent POSIX capabilities
  16302. type
  16303. type: string
  16304. type: array
  16305. drop:
  16306. description: Removed capabilities
  16307. items:
  16308. description: Capability represent POSIX capabilities
  16309. type
  16310. type: string
  16311. type: array
  16312. type: object
  16313. privileged:
  16314. description: Run container in privileged mode. Processes
  16315. in privileged containers are essentially equivalent to
  16316. root on the host. Defaults to false. Note that this field
  16317. cannot be set when spec.os.name is windows.
  16318. type: boolean
  16319. procMount:
  16320. description: procMount denotes the type of proc mount to
  16321. use for the containers. The default is DefaultProcMount
  16322. which uses the container runtime defaults for readonly
  16323. paths and masked paths. This requires the ProcMountType
  16324. feature flag to be enabled. Note that this field cannot
  16325. be set when spec.os.name is windows.
  16326. type: string
  16327. readOnlyRootFilesystem:
  16328. description: Whether this container has a read-only root
  16329. filesystem. Default is false. Note that this field cannot
  16330. be set when spec.os.name is windows.
  16331. type: boolean
  16332. runAsGroup:
  16333. description: The GID to run the entrypoint of the container
  16334. process. Uses runtime default if unset. May also be set
  16335. in PodSecurityContext. If set in both SecurityContext
  16336. and PodSecurityContext, the value specified in SecurityContext
  16337. takes precedence. Note that this field cannot be set when
  16338. spec.os.name is windows.
  16339. format: int64
  16340. type: integer
  16341. runAsNonRoot:
  16342. description: Indicates that the container must run as a
  16343. non-root user. If true, the Kubelet will validate the
  16344. image at runtime to ensure that it does not run as UID
  16345. 0 (root) and fail to start the container if it does. If
  16346. unset or false, no such validation will be performed.
  16347. May also be set in PodSecurityContext. If set in both
  16348. SecurityContext and PodSecurityContext, the value specified
  16349. in SecurityContext takes precedence.
  16350. type: boolean
  16351. runAsUser:
  16352. description: The UID to run the entrypoint of the container
  16353. process. Defaults to user specified in image metadata
  16354. if unspecified. May also be set in PodSecurityContext. If
  16355. set in both SecurityContext and PodSecurityContext, the
  16356. value specified in SecurityContext takes precedence. Note
  16357. that this field cannot be set when spec.os.name is windows.
  16358. format: int64
  16359. type: integer
  16360. seLinuxOptions:
  16361. description: The SELinux context to be applied to the container.
  16362. If unspecified, the container runtime will allocate a
  16363. random SELinux context for each container. May also be
  16364. set in PodSecurityContext. If set in both SecurityContext
  16365. and PodSecurityContext, the value specified in SecurityContext
  16366. takes precedence. Note that this field cannot be set when
  16367. spec.os.name is windows.
  16368. properties:
  16369. level:
  16370. description: Level is SELinux level label that applies
  16371. to the container.
  16372. type: string
  16373. role:
  16374. description: Role is a SELinux role label that applies
  16375. to the container.
  16376. type: string
  16377. type:
  16378. description: Type is a SELinux type label that applies
  16379. to the container.
  16380. type: string
  16381. user:
  16382. description: User is a SELinux user label that applies
  16383. to the container.
  16384. type: string
  16385. type: object
  16386. seccompProfile:
  16387. description: The seccomp options to use by this container.
  16388. If seccomp options are provided at both the pod & container
  16389. level, the container options override the pod options.
  16390. Note that this field cannot be set when spec.os.name is
  16391. windows.
  16392. properties:
  16393. localhostProfile:
  16394. description: localhostProfile indicates a profile defined
  16395. in a file on the node should be used. The profile
  16396. must be preconfigured on the node to work. Must be
  16397. a descending path, relative to the kubelet's configured
  16398. seccomp profile location. Must only be set if type
  16399. is "Localhost".
  16400. type: string
  16401. type:
  16402. description: "type indicates which kind of seccomp profile
  16403. will be applied. Valid options are: \n Localhost -
  16404. a profile defined in a file on the node should be
  16405. used. RuntimeDefault - the container runtime default
  16406. profile should be used. Unconfined - no profile should
  16407. be applied."
  16408. type: string
  16409. required:
  16410. - type
  16411. type: object
  16412. windowsOptions:
  16413. description: The Windows specific settings applied to all
  16414. containers. If unspecified, the options from the PodSecurityContext
  16415. will be used. If set in both SecurityContext and PodSecurityContext,
  16416. the value specified in SecurityContext takes precedence.
  16417. Note that this field cannot be set when spec.os.name is
  16418. linux.
  16419. properties:
  16420. gmsaCredentialSpec:
  16421. description: GMSACredentialSpec is where the GMSA admission
  16422. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  16423. inlines the contents of the GMSA credential spec named
  16424. by the GMSACredentialSpecName field.
  16425. type: string
  16426. gmsaCredentialSpecName:
  16427. description: GMSACredentialSpecName is the name of the
  16428. GMSA credential spec to use.
  16429. type: string
  16430. hostProcess:
  16431. description: HostProcess determines if a container should
  16432. be run as a 'Host Process' container. This field is
  16433. alpha-level and will only be honored by components
  16434. that enable the WindowsHostProcessContainers feature
  16435. flag. Setting this field without the feature flag
  16436. will result in errors when validating the Pod. All
  16437. of a Pod's containers must have the same effective
  16438. HostProcess value (it is not allowed to have a mix
  16439. of HostProcess containers and non-HostProcess containers). In
  16440. addition, if HostProcess is true then HostNetwork
  16441. must also be set to true.
  16442. type: boolean
  16443. runAsUserName:
  16444. description: The UserName in Windows to run the entrypoint
  16445. of the container process. Defaults to the user specified
  16446. in image metadata if unspecified. May also be set
  16447. in PodSecurityContext. If set in both SecurityContext
  16448. and PodSecurityContext, the value specified in SecurityContext
  16449. takes precedence.
  16450. type: string
  16451. type: object
  16452. type: object
  16453. startupProbe:
  16454. description: 'StartupProbe indicates that the Pod has successfully
  16455. initialized. If specified, no other probes are executed until
  16456. this completes successfully. If this probe fails, the Pod
  16457. will be restarted, just as if the livenessProbe failed. This
  16458. can be used to provide different probe parameters at the beginning
  16459. of a Pod''s lifecycle, when it might take a long time to load
  16460. data or warm a cache, than during steady-state operation.
  16461. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  16462. properties:
  16463. exec:
  16464. description: Exec specifies the action to take.
  16465. properties:
  16466. command:
  16467. description: Command is the command line to execute
  16468. inside the container, the working directory for the
  16469. command is root ('/') in the container's filesystem.
  16470. The command is simply exec'd, it is not run inside
  16471. a shell, so traditional shell instructions ('|', etc)
  16472. won't work. To use a shell, you need to explicitly
  16473. call out to that shell. Exit status of 0 is treated
  16474. as live/healthy and non-zero is unhealthy.
  16475. items:
  16476. type: string
  16477. type: array
  16478. type: object
  16479. failureThreshold:
  16480. description: Minimum consecutive failures for the probe
  16481. to be considered failed after having succeeded. Defaults
  16482. to 3. Minimum value is 1.
  16483. format: int32
  16484. type: integer
  16485. grpc:
  16486. description: GRPC specifies an action involving a GRPC port.
  16487. This is a beta field and requires enabling GRPCContainerProbe
  16488. feature gate.
  16489. properties:
  16490. port:
  16491. description: Port number of the gRPC service. Number
  16492. must be in the range 1 to 65535.
  16493. format: int32
  16494. type: integer
  16495. service:
  16496. description: "Service is the name of the service to
  16497. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  16498. \n If this is not specified, the default behavior
  16499. is defined by gRPC."
  16500. type: string
  16501. required:
  16502. - port
  16503. type: object
  16504. httpGet:
  16505. description: HTTPGet specifies the http request to perform.
  16506. properties:
  16507. host:
  16508. description: Host name to connect to, defaults to the
  16509. pod IP. You probably want to set "Host" in httpHeaders
  16510. instead.
  16511. type: string
  16512. httpHeaders:
  16513. description: Custom headers to set in the request. HTTP
  16514. allows repeated headers.
  16515. items:
  16516. description: HTTPHeader describes a custom header
  16517. to be used in HTTP probes
  16518. properties:
  16519. name:
  16520. description: The header field name
  16521. type: string
  16522. value:
  16523. description: The header field value
  16524. type: string
  16525. required:
  16526. - name
  16527. - value
  16528. type: object
  16529. type: array
  16530. path:
  16531. description: Path to access on the HTTP server.
  16532. type: string
  16533. port:
  16534. anyOf:
  16535. - type: integer
  16536. - type: string
  16537. description: Name or number of the port to access on
  16538. the container. Number must be in the range 1 to 65535.
  16539. Name must be an IANA_SVC_NAME.
  16540. x-kubernetes-int-or-string: true
  16541. scheme:
  16542. description: Scheme to use for connecting to the host.
  16543. Defaults to HTTP.
  16544. type: string
  16545. required:
  16546. - port
  16547. type: object
  16548. initialDelaySeconds:
  16549. description: 'Number of seconds after the container has
  16550. started before liveness probes are initiated. More info:
  16551. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  16552. format: int32
  16553. type: integer
  16554. periodSeconds:
  16555. description: How often (in seconds) to perform the probe.
  16556. Default to 10 seconds. Minimum value is 1.
  16557. format: int32
  16558. type: integer
  16559. successThreshold:
  16560. description: Minimum consecutive successes for the probe
  16561. to be considered successful after having failed. Defaults
  16562. to 1. Must be 1 for liveness and startup. Minimum value
  16563. is 1.
  16564. format: int32
  16565. type: integer
  16566. tcpSocket:
  16567. description: TCPSocket specifies an action involving a TCP
  16568. port.
  16569. properties:
  16570. host:
  16571. description: 'Optional: Host name to connect to, defaults
  16572. to the pod IP.'
  16573. type: string
  16574. port:
  16575. anyOf:
  16576. - type: integer
  16577. - type: string
  16578. description: Number or name of the port to access on
  16579. the container. Number must be in the range 1 to 65535.
  16580. Name must be an IANA_SVC_NAME.
  16581. x-kubernetes-int-or-string: true
  16582. required:
  16583. - port
  16584. type: object
  16585. terminationGracePeriodSeconds:
  16586. description: Optional duration in seconds the pod needs
  16587. to terminate gracefully upon probe failure. The grace
  16588. period is the duration in seconds after the processes
  16589. running in the pod are sent a termination signal and the
  16590. time when the processes are forcibly halted with a kill
  16591. signal. Set this value longer than the expected cleanup
  16592. time for your process. If this value is nil, the pod's
  16593. terminationGracePeriodSeconds will be used. Otherwise,
  16594. this value overrides the value provided by the pod spec.
  16595. Value must be non-negative integer. The value zero indicates
  16596. stop immediately via the kill signal (no opportunity to
  16597. shut down). This is a beta field and requires enabling
  16598. ProbeTerminationGracePeriod feature gate. Minimum value
  16599. is 1. spec.terminationGracePeriodSeconds is used if unset.
  16600. format: int64
  16601. type: integer
  16602. timeoutSeconds:
  16603. description: 'Number of seconds after which the probe times
  16604. out. Defaults to 1 second. Minimum value is 1. More info:
  16605. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  16606. format: int32
  16607. type: integer
  16608. type: object
  16609. stdin:
  16610. description: Whether this container should allocate a buffer
  16611. for stdin in the container runtime. If this is not set, reads
  16612. from stdin in the container will always result in EOF. Default
  16613. is false.
  16614. type: boolean
  16615. stdinOnce:
  16616. description: Whether the container runtime should close the
  16617. stdin channel after it has been opened by a single attach.
  16618. When stdin is true the stdin stream will remain open across
  16619. multiple attach sessions. If stdinOnce is set to true, stdin
  16620. is opened on container start, is empty until the first client
  16621. attaches to stdin, and then remains open and accepts data
  16622. until the client disconnects, at which time stdin is closed
  16623. and remains closed until the container is restarted. If this
  16624. flag is false, a container processes that reads from stdin
  16625. will never receive an EOF. Default is false
  16626. type: boolean
  16627. terminationMessagePath:
  16628. description: 'Optional: Path at which the file to which the
  16629. container''s termination message will be written is mounted
  16630. into the container''s filesystem. Message written is intended
  16631. to be brief final status, such as an assertion failure message.
  16632. Will be truncated by the node if greater than 4096 bytes.
  16633. The total message length across all containers will be limited
  16634. to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  16635. type: string
  16636. terminationMessagePolicy:
  16637. description: Indicate how the termination message should be
  16638. populated. File will use the contents of terminationMessagePath
  16639. to populate the container status message on both success and
  16640. failure. FallbackToLogsOnError will use the last chunk of
  16641. container log output if the termination message file is empty
  16642. and the container exited with an error. The log output is
  16643. limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
  16644. to File. Cannot be updated.
  16645. type: string
  16646. tty:
  16647. description: Whether this container should allocate a TTY for
  16648. itself, also requires 'stdin' to be true. Default is false.
  16649. type: boolean
  16650. volumeDevices:
  16651. description: volumeDevices is the list of block devices to be
  16652. used by the container.
  16653. items:
  16654. description: volumeDevice describes a mapping of a raw block
  16655. device within a container.
  16656. properties:
  16657. devicePath:
  16658. description: devicePath is the path inside of the container
  16659. that the device will be mapped to.
  16660. type: string
  16661. name:
  16662. description: name must match the name of a persistentVolumeClaim
  16663. in the pod
  16664. type: string
  16665. required:
  16666. - devicePath
  16667. - name
  16668. type: object
  16669. type: array
  16670. volumeMounts:
  16671. description: Pod volumes to mount into the container's filesystem.
  16672. Cannot be updated.
  16673. items:
  16674. description: VolumeMount describes a mounting of a Volume
  16675. within a container.
  16676. properties:
  16677. mountPath:
  16678. description: Path within the container at which the volume
  16679. should be mounted. Must not contain ':'.
  16680. type: string
  16681. mountPropagation:
  16682. description: mountPropagation determines how mounts are
  16683. propagated from the host to container and the other
  16684. way around. When not set, MountPropagationNone is used.
  16685. This field is beta in 1.10.
  16686. type: string
  16687. name:
  16688. description: This must match the Name of a Volume.
  16689. type: string
  16690. readOnly:
  16691. description: Mounted read-only if true, read-write otherwise
  16692. (false or unspecified). Defaults to false.
  16693. type: boolean
  16694. subPath:
  16695. description: Path within the volume from which the container's
  16696. volume should be mounted. Defaults to "" (volume's root).
  16697. type: string
  16698. subPathExpr:
  16699. description: Expanded path within the volume from which
  16700. the container's volume should be mounted. Behaves similarly
  16701. to SubPath but environment variable references $(VAR_NAME)
  16702. are expanded using the container's environment. Defaults
  16703. to "" (volume's root). SubPathExpr and SubPath are mutually
  16704. exclusive.
  16705. type: string
  16706. required:
  16707. - mountPath
  16708. - name
  16709. type: object
  16710. type: array
  16711. workingDir:
  16712. description: Container's working directory. If not specified,
  16713. the container runtime's default will be used, which might
  16714. be configured in the container image. Cannot be updated.
  16715. type: string
  16716. required:
  16717. - name
  16718. type: object
  16719. type: array
  16720. listenLocal:
  16721. description: ListenLocal makes the Prometheus server listen on loopback,
  16722. so that it does not bind against the Pod IP.
  16723. type: boolean
  16724. logFormat:
  16725. description: Log format for Prometheus to be configured with.
  16726. enum:
  16727. - ""
  16728. - logfmt
  16729. - json
  16730. type: string
  16731. logLevel:
  16732. description: Log level for Prometheus to be configured with.
  16733. enum:
  16734. - ""
  16735. - debug
  16736. - info
  16737. - warn
  16738. - error
  16739. type: string
  16740. minReadySeconds:
  16741. description: Minimum number of seconds for which a newly created pod
  16742. should be ready without any of its container crashing for it to
  16743. be considered available. Defaults to 0 (pod will be considered available
  16744. as soon as it is ready) This is an alpha field and requires enabling
  16745. StatefulSetMinReadySeconds feature gate.
  16746. format: int32
  16747. type: integer
  16748. nodeSelector:
  16749. additionalProperties:
  16750. type: string
  16751. description: Define which Nodes the Pods are scheduled on.
  16752. type: object
  16753. overrideHonorLabels:
  16754. description: When true, Prometheus resolves label conflicts by renaming
  16755. the labels in the scraped data to "exported_<label value>" for all
  16756. targets created from service and pod monitors. Otherwise the HonorLabels
  16757. field of the service or pod monitor applies.
  16758. type: boolean
  16759. overrideHonorTimestamps:
  16760. description: When true, Prometheus ignores the timestamps for all
  16761. the targets created from service and pod monitors. Otherwise the
  16762. HonorTimestamps field of the service or pod monitor applies.
  16763. type: boolean
  16764. paused:
  16765. description: When a Prometheus deployment is paused, no actions except
  16766. for deletion will be performed on the underlying objects.
  16767. type: boolean
  16768. podMetadata:
  16769. description: PodMetadata configures Labels and Annotations which are
  16770. propagated to the prometheus pods.
  16771. properties:
  16772. annotations:
  16773. additionalProperties:
  16774. type: string
  16775. description: 'Annotations is an unstructured key value map stored
  16776. with a resource that may be set by external tools to store and
  16777. retrieve arbitrary metadata. They are not queryable and should
  16778. be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
  16779. type: object
  16780. labels:
  16781. additionalProperties:
  16782. type: string
  16783. description: 'Map of string keys and values that can be used to
  16784. organize and categorize (scope and select) objects. May match
  16785. selectors of replication controllers and services. More info:
  16786. http://kubernetes.io/docs/user-guide/labels'
  16787. type: object
  16788. name:
  16789. description: 'Name must be unique within a namespace. Is required
  16790. when creating resources, although some resources may allow a
  16791. client to request the generation of an appropriate name automatically.
  16792. Name is primarily intended for creation idempotence and configuration
  16793. definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
  16794. type: string
  16795. type: object
  16796. podMonitorNamespaceSelector:
  16797. description: Namespace's labels to match for PodMonitor discovery.
  16798. If nil, only check own namespace.
  16799. properties:
  16800. matchExpressions:
  16801. description: matchExpressions is a list of label selector requirements.
  16802. The requirements are ANDed.
  16803. items:
  16804. description: A label selector requirement is a selector that
  16805. contains values, a key, and an operator that relates the key
  16806. and values.
  16807. properties:
  16808. key:
  16809. description: key is the label key that the selector applies
  16810. to.
  16811. type: string
  16812. operator:
  16813. description: operator represents a key's relationship to
  16814. a set of values. Valid operators are In, NotIn, Exists
  16815. and DoesNotExist.
  16816. type: string
  16817. values:
  16818. description: values is an array of string values. If the
  16819. operator is In or NotIn, the values array must be non-empty.
  16820. If the operator is Exists or DoesNotExist, the values
  16821. array must be empty. This array is replaced during a strategic
  16822. merge patch.
  16823. items:
  16824. type: string
  16825. type: array
  16826. required:
  16827. - key
  16828. - operator
  16829. type: object
  16830. type: array
  16831. matchLabels:
  16832. additionalProperties:
  16833. type: string
  16834. description: matchLabels is a map of {key,value} pairs. A single
  16835. {key,value} in the matchLabels map is equivalent to an element
  16836. of matchExpressions, whose key field is "key", the operator
  16837. is "In", and the values array contains only "value". The requirements
  16838. are ANDed.
  16839. type: object
  16840. type: object
  16841. x-kubernetes-map-type: atomic
  16842. podMonitorSelector:
  16843. description: '*Experimental* PodMonitors to be selected for target
  16844. discovery. *Deprecated:* if neither this nor serviceMonitorSelector
  16845. are specified, configuration is unmanaged.'
  16846. properties:
  16847. matchExpressions:
  16848. description: matchExpressions is a list of label selector requirements.
  16849. The requirements are ANDed.
  16850. items:
  16851. description: A label selector requirement is a selector that
  16852. contains values, a key, and an operator that relates the key
  16853. and values.
  16854. properties:
  16855. key:
  16856. description: key is the label key that the selector applies
  16857. to.
  16858. type: string
  16859. operator:
  16860. description: operator represents a key's relationship to
  16861. a set of values. Valid operators are In, NotIn, Exists
  16862. and DoesNotExist.
  16863. type: string
  16864. values:
  16865. description: values is an array of string values. If the
  16866. operator is In or NotIn, the values array must be non-empty.
  16867. If the operator is Exists or DoesNotExist, the values
  16868. array must be empty. This array is replaced during a strategic
  16869. merge patch.
  16870. items:
  16871. type: string
  16872. type: array
  16873. required:
  16874. - key
  16875. - operator
  16876. type: object
  16877. type: array
  16878. matchLabels:
  16879. additionalProperties:
  16880. type: string
  16881. description: matchLabels is a map of {key,value} pairs. A single
  16882. {key,value} in the matchLabels map is equivalent to an element
  16883. of matchExpressions, whose key field is "key", the operator
  16884. is "In", and the values array contains only "value". The requirements
  16885. are ANDed.
  16886. type: object
  16887. type: object
  16888. x-kubernetes-map-type: atomic
  16889. portName:
  16890. description: Port name used for the pods and governing service. This
  16891. defaults to web
  16892. type: string
  16893. priorityClassName:
  16894. description: Priority class assigned to the Pods
  16895. type: string
  16896. probeNamespaceSelector:
  16897. description: '*Experimental* Namespaces to be selected for Probe discovery.
  16898. If nil, only check own namespace.'
  16899. properties:
  16900. matchExpressions:
  16901. description: matchExpressions is a list of label selector requirements.
  16902. The requirements are ANDed.
  16903. items:
  16904. description: A label selector requirement is a selector that
  16905. contains values, a key, and an operator that relates the key
  16906. and values.
  16907. properties:
  16908. key:
  16909. description: key is the label key that the selector applies
  16910. to.
  16911. type: string
  16912. operator:
  16913. description: operator represents a key's relationship to
  16914. a set of values. Valid operators are In, NotIn, Exists
  16915. and DoesNotExist.
  16916. type: string
  16917. values:
  16918. description: values is an array of string values. If the
  16919. operator is In or NotIn, the values array must be non-empty.
  16920. If the operator is Exists or DoesNotExist, the values
  16921. array must be empty. This array is replaced during a strategic
  16922. merge patch.
  16923. items:
  16924. type: string
  16925. type: array
  16926. required:
  16927. - key
  16928. - operator
  16929. type: object
  16930. type: array
  16931. matchLabels:
  16932. additionalProperties:
  16933. type: string
  16934. description: matchLabels is a map of {key,value} pairs. A single
  16935. {key,value} in the matchLabels map is equivalent to an element
  16936. of matchExpressions, whose key field is "key", the operator
  16937. is "In", and the values array contains only "value". The requirements
  16938. are ANDed.
  16939. type: object
  16940. type: object
  16941. x-kubernetes-map-type: atomic
  16942. probeSelector:
  16943. description: '*Experimental* Probes to be selected for target discovery.'
  16944. properties:
  16945. matchExpressions:
  16946. description: matchExpressions is a list of label selector requirements.
  16947. The requirements are ANDed.
  16948. items:
  16949. description: A label selector requirement is a selector that
  16950. contains values, a key, and an operator that relates the key
  16951. and values.
  16952. properties:
  16953. key:
  16954. description: key is the label key that the selector applies
  16955. to.
  16956. type: string
  16957. operator:
  16958. description: operator represents a key's relationship to
  16959. a set of values. Valid operators are In, NotIn, Exists
  16960. and DoesNotExist.
  16961. type: string
  16962. values:
  16963. description: values is an array of string values. If the
  16964. operator is In or NotIn, the values array must be non-empty.
  16965. If the operator is Exists or DoesNotExist, the values
  16966. array must be empty. This array is replaced during a strategic
  16967. merge patch.
  16968. items:
  16969. type: string
  16970. type: array
  16971. required:
  16972. - key
  16973. - operator
  16974. type: object
  16975. type: array
  16976. matchLabels:
  16977. additionalProperties:
  16978. type: string
  16979. description: matchLabels is a map of {key,value} pairs. A single
  16980. {key,value} in the matchLabels map is equivalent to an element
  16981. of matchExpressions, whose key field is "key", the operator
  16982. is "In", and the values array contains only "value". The requirements
  16983. are ANDed.
  16984. type: object
  16985. type: object
  16986. x-kubernetes-map-type: atomic
  16987. prometheusExternalLabelName:
  16988. description: Name of Prometheus external label used to denote Prometheus
  16989. instance name. Defaults to the value of `prometheus`. External label
  16990. will _not_ be added when value is set to empty string (`""`).
  16991. type: string
  16992. prometheusRulesExcludedFromEnforce:
  16993. description: 'PrometheusRulesExcludedFromEnforce - list of prometheus
  16994. rules to be excluded from enforcing of adding namespace labels.
  16995. Works only if enforcedNamespaceLabel set to true. Make sure both
  16996. ruleNamespace and ruleName are set for each pair. Deprecated: use
  16997. excludedFromEnforcement instead.'
  16998. items:
  16999. description: PrometheusRuleExcludeConfig enables users to configure
  17000. excluded PrometheusRule names and their namespaces to be ignored
  17001. while enforcing namespace label for alerts and metrics.
  17002. properties:
  17003. ruleName:
  17004. description: RuleNamespace - name of excluded rule
  17005. type: string
  17006. ruleNamespace:
  17007. description: RuleNamespace - namespace of excluded rule
  17008. type: string
  17009. required:
  17010. - ruleName
  17011. - ruleNamespace
  17012. type: object
  17013. type: array
  17014. query:
  17015. description: QuerySpec defines the query command line flags when starting
  17016. Prometheus.
  17017. properties:
  17018. lookbackDelta:
  17019. description: The delta difference allowed for retrieving metrics
  17020. during expression evaluations.
  17021. type: string
  17022. maxConcurrency:
  17023. description: Number of concurrent queries that can be run at once.
  17024. format: int32
  17025. type: integer
  17026. maxSamples:
  17027. description: Maximum number of samples a single query can load
  17028. into memory. Note that queries will fail if they would load
  17029. more samples than this into memory, so this also limits the
  17030. number of samples a query can return.
  17031. format: int32
  17032. type: integer
  17033. timeout:
  17034. description: Maximum time a query may take before being aborted.
  17035. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  17036. type: string
  17037. type: object
  17038. queryLogFile:
  17039. description: QueryLogFile specifies the file to which PromQL queries
  17040. are logged. If the filename has an empty path, e.g. 'query.log',
  17041. prometheus-operator will mount the file into an emptyDir volume
  17042. at `/var/log/prometheus`. If a full path is provided, e.g. /var/log/prometheus/query.log,
  17043. you must mount a volume in the specified directory and it must be
  17044. writable. This is because the prometheus container runs with a read-only
  17045. root filesystem for security reasons. Alternatively, the location
  17046. can be set to a stdout location such as `/dev/stdout` to log query
  17047. information to the default Prometheus log stream. This is only available
  17048. in versions of Prometheus >= 2.16.0. For more details, see the Prometheus
  17049. docs (https://prometheus.io/docs/guides/query-log/)
  17050. type: string
  17051. remoteRead:
  17052. description: remoteRead is the list of remote read configurations.
  17053. items:
  17054. description: RemoteReadSpec defines the configuration for Prometheus
  17055. to read back samples from a remote endpoint.
  17056. properties:
  17057. authorization:
  17058. description: Authorization section for remote read
  17059. properties:
  17060. credentials:
  17061. description: The secret's key that contains the credentials
  17062. of the request
  17063. properties:
  17064. key:
  17065. description: The key of the secret to select from. Must
  17066. be a valid secret key.
  17067. type: string
  17068. name:
  17069. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17070. TODO: Add other useful fields. apiVersion, kind, uid?'
  17071. type: string
  17072. optional:
  17073. description: Specify whether the Secret or its key must
  17074. be defined
  17075. type: boolean
  17076. required:
  17077. - key
  17078. type: object
  17079. x-kubernetes-map-type: atomic
  17080. credentialsFile:
  17081. description: File to read a secret from, mutually exclusive
  17082. with Credentials (from SafeAuthorization)
  17083. type: string
  17084. type:
  17085. description: Set the authentication type. Defaults to Bearer,
  17086. Basic will cause an error
  17087. type: string
  17088. type: object
  17089. basicAuth:
  17090. description: BasicAuth for the URL.
  17091. properties:
  17092. password:
  17093. description: The secret in the service monitor namespace
  17094. that contains the password for authentication.
  17095. properties:
  17096. key:
  17097. description: The key of the secret to select from. Must
  17098. be a valid secret key.
  17099. type: string
  17100. name:
  17101. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17102. TODO: Add other useful fields. apiVersion, kind, uid?'
  17103. type: string
  17104. optional:
  17105. description: Specify whether the Secret or its key must
  17106. be defined
  17107. type: boolean
  17108. required:
  17109. - key
  17110. type: object
  17111. x-kubernetes-map-type: atomic
  17112. username:
  17113. description: The secret in the service monitor namespace
  17114. that contains the username for authentication.
  17115. properties:
  17116. key:
  17117. description: The key of the secret to select from. Must
  17118. be a valid secret key.
  17119. type: string
  17120. name:
  17121. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17122. TODO: Add other useful fields. apiVersion, kind, uid?'
  17123. type: string
  17124. optional:
  17125. description: Specify whether the Secret or its key must
  17126. be defined
  17127. type: boolean
  17128. required:
  17129. - key
  17130. type: object
  17131. x-kubernetes-map-type: atomic
  17132. type: object
  17133. bearerToken:
  17134. description: Bearer token for remote read.
  17135. type: string
  17136. bearerTokenFile:
  17137. description: File to read bearer token for remote read.
  17138. type: string
  17139. headers:
  17140. additionalProperties:
  17141. type: string
  17142. description: Custom HTTP headers to be sent along with each
  17143. remote read request. Be aware that headers that are set by
  17144. Prometheus itself can't be overwritten. Only valid in Prometheus
  17145. versions 2.26.0 and newer.
  17146. type: object
  17147. name:
  17148. description: The name of the remote read queue, it must be unique
  17149. if specified. The name is used in metrics and logging in order
  17150. to differentiate read configurations. Only valid in Prometheus
  17151. versions 2.15.0 and newer.
  17152. type: string
  17153. oauth2:
  17154. description: OAuth2 for the URL. Only valid in Prometheus versions
  17155. 2.27.0 and newer.
  17156. properties:
  17157. clientId:
  17158. description: The secret or configmap containing the OAuth2
  17159. client id
  17160. properties:
  17161. configMap:
  17162. description: ConfigMap containing data to use for the
  17163. targets.
  17164. properties:
  17165. key:
  17166. description: The key to select.
  17167. type: string
  17168. name:
  17169. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17170. TODO: Add other useful fields. apiVersion, kind,
  17171. uid?'
  17172. type: string
  17173. optional:
  17174. description: Specify whether the ConfigMap or its
  17175. key must be defined
  17176. type: boolean
  17177. required:
  17178. - key
  17179. type: object
  17180. x-kubernetes-map-type: atomic
  17181. secret:
  17182. description: Secret containing data to use for the targets.
  17183. properties:
  17184. key:
  17185. description: The key of the secret to select from. Must
  17186. be a valid secret key.
  17187. type: string
  17188. name:
  17189. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17190. TODO: Add other useful fields. apiVersion, kind,
  17191. uid?'
  17192. type: string
  17193. optional:
  17194. description: Specify whether the Secret or its key
  17195. must be defined
  17196. type: boolean
  17197. required:
  17198. - key
  17199. type: object
  17200. x-kubernetes-map-type: atomic
  17201. type: object
  17202. clientSecret:
  17203. description: The secret containing the OAuth2 client secret
  17204. properties:
  17205. key:
  17206. description: The key of the secret to select from. Must
  17207. be a valid secret key.
  17208. type: string
  17209. name:
  17210. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17211. TODO: Add other useful fields. apiVersion, kind, uid?'
  17212. type: string
  17213. optional:
  17214. description: Specify whether the Secret or its key must
  17215. be defined
  17216. type: boolean
  17217. required:
  17218. - key
  17219. type: object
  17220. x-kubernetes-map-type: atomic
  17221. endpointParams:
  17222. additionalProperties:
  17223. type: string
  17224. description: Parameters to append to the token URL
  17225. type: object
  17226. scopes:
  17227. description: OAuth2 scopes used for the token request
  17228. items:
  17229. type: string
  17230. type: array
  17231. tokenUrl:
  17232. description: The URL to fetch the token from
  17233. minLength: 1
  17234. type: string
  17235. required:
  17236. - clientId
  17237. - clientSecret
  17238. - tokenUrl
  17239. type: object
  17240. proxyUrl:
  17241. description: Optional ProxyURL.
  17242. type: string
  17243. readRecent:
  17244. description: Whether reads should be made for queries for time
  17245. ranges that the local storage should have complete data for.
  17246. type: boolean
  17247. remoteTimeout:
  17248. description: Timeout for requests to the remote read endpoint.
  17249. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  17250. type: string
  17251. requiredMatchers:
  17252. additionalProperties:
  17253. type: string
  17254. description: An optional list of equality matchers which have
  17255. to be present in a selector to query the remote read endpoint.
  17256. type: object
  17257. tlsConfig:
  17258. description: TLS Config to use for remote read.
  17259. properties:
  17260. ca:
  17261. description: Struct containing the CA cert to use for the
  17262. targets.
  17263. properties:
  17264. configMap:
  17265. description: ConfigMap containing data to use for the
  17266. targets.
  17267. properties:
  17268. key:
  17269. description: The key to select.
  17270. type: string
  17271. name:
  17272. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17273. TODO: Add other useful fields. apiVersion, kind,
  17274. uid?'
  17275. type: string
  17276. optional:
  17277. description: Specify whether the ConfigMap or its
  17278. key must be defined
  17279. type: boolean
  17280. required:
  17281. - key
  17282. type: object
  17283. x-kubernetes-map-type: atomic
  17284. secret:
  17285. description: Secret containing data to use for the targets.
  17286. properties:
  17287. key:
  17288. description: The key of the secret to select from. Must
  17289. be a valid secret key.
  17290. type: string
  17291. name:
  17292. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17293. TODO: Add other useful fields. apiVersion, kind,
  17294. uid?'
  17295. type: string
  17296. optional:
  17297. description: Specify whether the Secret or its key
  17298. must be defined
  17299. type: boolean
  17300. required:
  17301. - key
  17302. type: object
  17303. x-kubernetes-map-type: atomic
  17304. type: object
  17305. caFile:
  17306. description: Path to the CA cert in the Prometheus container
  17307. to use for the targets.
  17308. type: string
  17309. cert:
  17310. description: Struct containing the client cert file for
  17311. the targets.
  17312. properties:
  17313. configMap:
  17314. description: ConfigMap containing data to use for the
  17315. targets.
  17316. properties:
  17317. key:
  17318. description: The key to select.
  17319. type: string
  17320. name:
  17321. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17322. TODO: Add other useful fields. apiVersion, kind,
  17323. uid?'
  17324. type: string
  17325. optional:
  17326. description: Specify whether the ConfigMap or its
  17327. key must be defined
  17328. type: boolean
  17329. required:
  17330. - key
  17331. type: object
  17332. x-kubernetes-map-type: atomic
  17333. secret:
  17334. description: Secret containing data to use for the targets.
  17335. properties:
  17336. key:
  17337. description: The key of the secret to select from. Must
  17338. be a valid secret key.
  17339. type: string
  17340. name:
  17341. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17342. TODO: Add other useful fields. apiVersion, kind,
  17343. uid?'
  17344. type: string
  17345. optional:
  17346. description: Specify whether the Secret or its key
  17347. must be defined
  17348. type: boolean
  17349. required:
  17350. - key
  17351. type: object
  17352. x-kubernetes-map-type: atomic
  17353. type: object
  17354. certFile:
  17355. description: Path to the client cert file in the Prometheus
  17356. container for the targets.
  17357. type: string
  17358. insecureSkipVerify:
  17359. description: Disable target certificate validation.
  17360. type: boolean
  17361. keyFile:
  17362. description: Path to the client key file in the Prometheus
  17363. container for the targets.
  17364. type: string
  17365. keySecret:
  17366. description: Secret containing the client key file for the
  17367. targets.
  17368. properties:
  17369. key:
  17370. description: The key of the secret to select from. Must
  17371. be a valid secret key.
  17372. type: string
  17373. name:
  17374. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17375. TODO: Add other useful fields. apiVersion, kind, uid?'
  17376. type: string
  17377. optional:
  17378. description: Specify whether the Secret or its key must
  17379. be defined
  17380. type: boolean
  17381. required:
  17382. - key
  17383. type: object
  17384. x-kubernetes-map-type: atomic
  17385. serverName:
  17386. description: Used to verify the hostname for the targets.
  17387. type: string
  17388. type: object
  17389. url:
  17390. description: The URL of the endpoint to query from.
  17391. type: string
  17392. required:
  17393. - url
  17394. type: object
  17395. type: array
  17396. remoteWrite:
  17397. description: remoteWrite is the list of remote write configurations.
  17398. items:
  17399. description: RemoteWriteSpec defines the configuration to write
  17400. samples from Prometheus to a remote endpoint.
  17401. properties:
  17402. authorization:
  17403. description: Authorization section for remote write
  17404. properties:
  17405. credentials:
  17406. description: The secret's key that contains the credentials
  17407. of the request
  17408. properties:
  17409. key:
  17410. description: The key of the secret to select from. Must
  17411. be a valid secret key.
  17412. type: string
  17413. name:
  17414. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17415. TODO: Add other useful fields. apiVersion, kind, uid?'
  17416. type: string
  17417. optional:
  17418. description: Specify whether the Secret or its key must
  17419. be defined
  17420. type: boolean
  17421. required:
  17422. - key
  17423. type: object
  17424. x-kubernetes-map-type: atomic
  17425. credentialsFile:
  17426. description: File to read a secret from, mutually exclusive
  17427. with Credentials (from SafeAuthorization)
  17428. type: string
  17429. type:
  17430. description: Set the authentication type. Defaults to Bearer,
  17431. Basic will cause an error
  17432. type: string
  17433. type: object
  17434. basicAuth:
  17435. description: BasicAuth for the URL.
  17436. properties:
  17437. password:
  17438. description: The secret in the service monitor namespace
  17439. that contains the password for authentication.
  17440. properties:
  17441. key:
  17442. description: The key of the secret to select from. Must
  17443. be a valid secret key.
  17444. type: string
  17445. name:
  17446. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17447. TODO: Add other useful fields. apiVersion, kind, uid?'
  17448. type: string
  17449. optional:
  17450. description: Specify whether the Secret or its key must
  17451. be defined
  17452. type: boolean
  17453. required:
  17454. - key
  17455. type: object
  17456. x-kubernetes-map-type: atomic
  17457. username:
  17458. description: The secret in the service monitor namespace
  17459. that contains the username for authentication.
  17460. properties:
  17461. key:
  17462. description: The key of the secret to select from. Must
  17463. be a valid secret key.
  17464. type: string
  17465. name:
  17466. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17467. TODO: Add other useful fields. apiVersion, kind, uid?'
  17468. type: string
  17469. optional:
  17470. description: Specify whether the Secret or its key must
  17471. be defined
  17472. type: boolean
  17473. required:
  17474. - key
  17475. type: object
  17476. x-kubernetes-map-type: atomic
  17477. type: object
  17478. bearerToken:
  17479. description: Bearer token for remote write.
  17480. type: string
  17481. bearerTokenFile:
  17482. description: File to read bearer token for remote write.
  17483. type: string
  17484. headers:
  17485. additionalProperties:
  17486. type: string
  17487. description: Custom HTTP headers to be sent along with each
  17488. remote write request. Be aware that headers that are set by
  17489. Prometheus itself can't be overwritten. Only valid in Prometheus
  17490. versions 2.25.0 and newer.
  17491. type: object
  17492. metadataConfig:
  17493. description: MetadataConfig configures the sending of series
  17494. metadata to the remote storage.
  17495. properties:
  17496. send:
  17497. description: Whether metric metadata is sent to the remote
  17498. storage or not.
  17499. type: boolean
  17500. sendInterval:
  17501. description: How frequently metric metadata is sent to the
  17502. remote storage.
  17503. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  17504. type: string
  17505. type: object
  17506. name:
  17507. description: The name of the remote write queue, it must be
  17508. unique if specified. The name is used in metrics and logging
  17509. in order to differentiate queues. Only valid in Prometheus
  17510. versions 2.15.0 and newer.
  17511. type: string
  17512. oauth2:
  17513. description: OAuth2 for the URL. Only valid in Prometheus versions
  17514. 2.27.0 and newer.
  17515. properties:
  17516. clientId:
  17517. description: The secret or configmap containing the OAuth2
  17518. client id
  17519. properties:
  17520. configMap:
  17521. description: ConfigMap containing data to use for the
  17522. targets.
  17523. properties:
  17524. key:
  17525. description: The key to select.
  17526. type: string
  17527. name:
  17528. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17529. TODO: Add other useful fields. apiVersion, kind,
  17530. uid?'
  17531. type: string
  17532. optional:
  17533. description: Specify whether the ConfigMap or its
  17534. key must be defined
  17535. type: boolean
  17536. required:
  17537. - key
  17538. type: object
  17539. x-kubernetes-map-type: atomic
  17540. secret:
  17541. description: Secret containing data to use for the targets.
  17542. properties:
  17543. key:
  17544. description: The key of the secret to select from. Must
  17545. be a valid secret key.
  17546. type: string
  17547. name:
  17548. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17549. TODO: Add other useful fields. apiVersion, kind,
  17550. uid?'
  17551. type: string
  17552. optional:
  17553. description: Specify whether the Secret or its key
  17554. must be defined
  17555. type: boolean
  17556. required:
  17557. - key
  17558. type: object
  17559. x-kubernetes-map-type: atomic
  17560. type: object
  17561. clientSecret:
  17562. description: The secret containing the OAuth2 client secret
  17563. properties:
  17564. key:
  17565. description: The key of the secret to select from. Must
  17566. be a valid secret key.
  17567. type: string
  17568. name:
  17569. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17570. TODO: Add other useful fields. apiVersion, kind, uid?'
  17571. type: string
  17572. optional:
  17573. description: Specify whether the Secret or its key must
  17574. be defined
  17575. type: boolean
  17576. required:
  17577. - key
  17578. type: object
  17579. x-kubernetes-map-type: atomic
  17580. endpointParams:
  17581. additionalProperties:
  17582. type: string
  17583. description: Parameters to append to the token URL
  17584. type: object
  17585. scopes:
  17586. description: OAuth2 scopes used for the token request
  17587. items:
  17588. type: string
  17589. type: array
  17590. tokenUrl:
  17591. description: The URL to fetch the token from
  17592. minLength: 1
  17593. type: string
  17594. required:
  17595. - clientId
  17596. - clientSecret
  17597. - tokenUrl
  17598. type: object
  17599. proxyUrl:
  17600. description: Optional ProxyURL.
  17601. type: string
  17602. queueConfig:
  17603. description: QueueConfig allows tuning of the remote write queue
  17604. parameters.
  17605. properties:
  17606. batchSendDeadline:
  17607. description: BatchSendDeadline is the maximum time a sample
  17608. will wait in buffer.
  17609. type: string
  17610. capacity:
  17611. description: Capacity is the number of samples to buffer
  17612. per shard before we start dropping them.
  17613. type: integer
  17614. maxBackoff:
  17615. description: MaxBackoff is the maximum retry delay.
  17616. type: string
  17617. maxRetries:
  17618. description: MaxRetries is the maximum number of times to
  17619. retry a batch on recoverable errors.
  17620. type: integer
  17621. maxSamplesPerSend:
  17622. description: MaxSamplesPerSend is the maximum number of
  17623. samples per send.
  17624. type: integer
  17625. maxShards:
  17626. description: MaxShards is the maximum number of shards,
  17627. i.e. amount of concurrency.
  17628. type: integer
  17629. minBackoff:
  17630. description: MinBackoff is the initial retry delay. Gets
  17631. doubled for every retry.
  17632. type: string
  17633. minShards:
  17634. description: MinShards is the minimum number of shards,
  17635. i.e. amount of concurrency.
  17636. type: integer
  17637. retryOnRateLimit:
  17638. description: Retry upon receiving a 429 status code from
  17639. the remote-write storage. This is experimental feature
  17640. and might change in the future.
  17641. type: boolean
  17642. type: object
  17643. remoteTimeout:
  17644. description: Timeout for requests to the remote write endpoint.
  17645. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  17646. type: string
  17647. sendExemplars:
  17648. description: Enables sending of exemplars over remote write.
  17649. Note that exemplar-storage itself must be enabled using the
  17650. enableFeature option for exemplars to be scraped in the first
  17651. place. Only valid in Prometheus versions 2.27.0 and newer.
  17652. type: boolean
  17653. sigv4:
  17654. description: Sigv4 allows to configures AWS's Signature Verification
  17655. 4
  17656. properties:
  17657. accessKey:
  17658. description: AccessKey is the AWS API key. If blank, the
  17659. environment variable `AWS_ACCESS_KEY_ID` is used.
  17660. properties:
  17661. key:
  17662. description: The key of the secret to select from. Must
  17663. be a valid secret key.
  17664. type: string
  17665. name:
  17666. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17667. TODO: Add other useful fields. apiVersion, kind, uid?'
  17668. type: string
  17669. optional:
  17670. description: Specify whether the Secret or its key must
  17671. be defined
  17672. type: boolean
  17673. required:
  17674. - key
  17675. type: object
  17676. x-kubernetes-map-type: atomic
  17677. profile:
  17678. description: Profile is the named AWS profile used to authenticate.
  17679. type: string
  17680. region:
  17681. description: Region is the AWS region. If blank, the region
  17682. from the default credentials chain used.
  17683. type: string
  17684. roleArn:
  17685. description: RoleArn is the named AWS profile used to authenticate.
  17686. type: string
  17687. secretKey:
  17688. description: SecretKey is the AWS API secret. If blank,
  17689. the environment variable `AWS_SECRET_ACCESS_KEY` is used.
  17690. properties:
  17691. key:
  17692. description: The key of the secret to select from. Must
  17693. be a valid secret key.
  17694. type: string
  17695. name:
  17696. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17697. TODO: Add other useful fields. apiVersion, kind, uid?'
  17698. type: string
  17699. optional:
  17700. description: Specify whether the Secret or its key must
  17701. be defined
  17702. type: boolean
  17703. required:
  17704. - key
  17705. type: object
  17706. x-kubernetes-map-type: atomic
  17707. type: object
  17708. tlsConfig:
  17709. description: TLS Config to use for remote write.
  17710. properties:
  17711. ca:
  17712. description: Struct containing the CA cert to use for the
  17713. targets.
  17714. properties:
  17715. configMap:
  17716. description: ConfigMap containing data to use for the
  17717. targets.
  17718. properties:
  17719. key:
  17720. description: The key to select.
  17721. type: string
  17722. name:
  17723. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17724. TODO: Add other useful fields. apiVersion, kind,
  17725. uid?'
  17726. type: string
  17727. optional:
  17728. description: Specify whether the ConfigMap or its
  17729. key must be defined
  17730. type: boolean
  17731. required:
  17732. - key
  17733. type: object
  17734. x-kubernetes-map-type: atomic
  17735. secret:
  17736. description: Secret containing data to use for the targets.
  17737. properties:
  17738. key:
  17739. description: The key of the secret to select from. Must
  17740. be a valid secret key.
  17741. type: string
  17742. name:
  17743. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17744. TODO: Add other useful fields. apiVersion, kind,
  17745. uid?'
  17746. type: string
  17747. optional:
  17748. description: Specify whether the Secret or its key
  17749. must be defined
  17750. type: boolean
  17751. required:
  17752. - key
  17753. type: object
  17754. x-kubernetes-map-type: atomic
  17755. type: object
  17756. caFile:
  17757. description: Path to the CA cert in the Prometheus container
  17758. to use for the targets.
  17759. type: string
  17760. cert:
  17761. description: Struct containing the client cert file for
  17762. the targets.
  17763. properties:
  17764. configMap:
  17765. description: ConfigMap containing data to use for the
  17766. targets.
  17767. properties:
  17768. key:
  17769. description: The key to select.
  17770. type: string
  17771. name:
  17772. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17773. TODO: Add other useful fields. apiVersion, kind,
  17774. uid?'
  17775. type: string
  17776. optional:
  17777. description: Specify whether the ConfigMap or its
  17778. key must be defined
  17779. type: boolean
  17780. required:
  17781. - key
  17782. type: object
  17783. x-kubernetes-map-type: atomic
  17784. secret:
  17785. description: Secret containing data to use for the targets.
  17786. properties:
  17787. key:
  17788. description: The key of the secret to select from. Must
  17789. be a valid secret key.
  17790. type: string
  17791. name:
  17792. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17793. TODO: Add other useful fields. apiVersion, kind,
  17794. uid?'
  17795. type: string
  17796. optional:
  17797. description: Specify whether the Secret or its key
  17798. must be defined
  17799. type: boolean
  17800. required:
  17801. - key
  17802. type: object
  17803. x-kubernetes-map-type: atomic
  17804. type: object
  17805. certFile:
  17806. description: Path to the client cert file in the Prometheus
  17807. container for the targets.
  17808. type: string
  17809. insecureSkipVerify:
  17810. description: Disable target certificate validation.
  17811. type: boolean
  17812. keyFile:
  17813. description: Path to the client key file in the Prometheus
  17814. container for the targets.
  17815. type: string
  17816. keySecret:
  17817. description: Secret containing the client key file for the
  17818. targets.
  17819. properties:
  17820. key:
  17821. description: The key of the secret to select from. Must
  17822. be a valid secret key.
  17823. type: string
  17824. name:
  17825. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  17826. TODO: Add other useful fields. apiVersion, kind, uid?'
  17827. type: string
  17828. optional:
  17829. description: Specify whether the Secret or its key must
  17830. be defined
  17831. type: boolean
  17832. required:
  17833. - key
  17834. type: object
  17835. x-kubernetes-map-type: atomic
  17836. serverName:
  17837. description: Used to verify the hostname for the targets.
  17838. type: string
  17839. type: object
  17840. url:
  17841. description: The URL of the endpoint to send samples to.
  17842. type: string
  17843. writeRelabelConfigs:
  17844. description: The list of remote write relabel configurations.
  17845. items:
  17846. description: 'RelabelConfig allows dynamic rewriting of the
  17847. label set, being applied to samples before ingestion. It
  17848. defines `<metric_relabel_configs>`-section of Prometheus
  17849. configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  17850. properties:
  17851. action:
  17852. default: replace
  17853. description: Action to perform based on regex matching.
  17854. Default is 'replace'. uppercase and lowercase actions
  17855. require Prometheus >= 2.36.
  17856. enum:
  17857. - replace
  17858. - Replace
  17859. - keep
  17860. - Keep
  17861. - drop
  17862. - Drop
  17863. - hashmod
  17864. - HashMod
  17865. - labelmap
  17866. - LabelMap
  17867. - labeldrop
  17868. - LabelDrop
  17869. - labelkeep
  17870. - LabelKeep
  17871. - lowercase
  17872. - Lowercase
  17873. - uppercase
  17874. - Uppercase
  17875. type: string
  17876. modulus:
  17877. description: Modulus to take of the hash of the source
  17878. label values.
  17879. format: int64
  17880. type: integer
  17881. regex:
  17882. description: Regular expression against which the extracted
  17883. value is matched. Default is '(.*)'
  17884. type: string
  17885. replacement:
  17886. description: Replacement value against which a regex replace
  17887. is performed if the regular expression matches. Regex
  17888. capture groups are available. Default is '$1'
  17889. type: string
  17890. separator:
  17891. description: Separator placed between concatenated source
  17892. label values. default is ';'.
  17893. type: string
  17894. sourceLabels:
  17895. description: The source labels select values from existing
  17896. labels. Their content is concatenated using the configured
  17897. separator and matched against the configured regular
  17898. expression for the replace, keep, and drop actions.
  17899. items:
  17900. description: LabelName is a valid Prometheus label name
  17901. which may only contain ASCII letters, numbers, as
  17902. well as underscores.
  17903. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  17904. type: string
  17905. type: array
  17906. targetLabel:
  17907. description: Label to which the resulting value is written
  17908. in a replace action. It is mandatory for replace actions.
  17909. Regex capture groups are available.
  17910. type: string
  17911. type: object
  17912. type: array
  17913. required:
  17914. - url
  17915. type: object
  17916. type: array
  17917. replicaExternalLabelName:
  17918. description: Name of Prometheus external label used to denote replica
  17919. name. Defaults to the value of `prometheus_replica`. External label
  17920. will _not_ be added when value is set to empty string (`""`).
  17921. type: string
  17922. replicas:
  17923. description: Number of replicas of each shard to deploy for a Prometheus
  17924. deployment. Number of replicas multiplied by shards is the total
  17925. number of Pods created.
  17926. format: int32
  17927. type: integer
  17928. resources:
  17929. description: Define resources requests and limits for single Pods.
  17930. properties:
  17931. limits:
  17932. additionalProperties:
  17933. anyOf:
  17934. - type: integer
  17935. - type: string
  17936. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  17937. x-kubernetes-int-or-string: true
  17938. description: 'Limits describes the maximum amount of compute resources
  17939. allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  17940. type: object
  17941. requests:
  17942. additionalProperties:
  17943. anyOf:
  17944. - type: integer
  17945. - type: string
  17946. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  17947. x-kubernetes-int-or-string: true
  17948. description: 'Requests describes the minimum amount of compute
  17949. resources required. If Requests is omitted for a container,
  17950. it defaults to Limits if that is explicitly specified, otherwise
  17951. to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  17952. type: object
  17953. type: object
  17954. retention:
  17955. description: Time duration Prometheus shall retain data for. Default
  17956. is '24h' if retentionSize is not set, and must match the regular
  17957. expression `[0-9]+(ms|s|m|h|d|w|y)` (milliseconds seconds minutes
  17958. hours days weeks years).
  17959. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  17960. type: string
  17961. retentionSize:
  17962. description: Maximum amount of disk space used by blocks.
  17963. pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
  17964. type: string
  17965. routePrefix:
  17966. description: The route prefix Prometheus registers HTTP handlers for.
  17967. This is useful, if using ExternalURL and a proxy is rewriting HTTP
  17968. routes of a request, and the actual ExternalURL is still true, but
  17969. the server serves requests under a different route prefix. For example
  17970. for use with `kubectl proxy`.
  17971. type: string
  17972. ruleNamespaceSelector:
  17973. description: Namespaces to be selected for PrometheusRules discovery.
  17974. If unspecified, only the same namespace as the Prometheus object
  17975. is in is used.
  17976. properties:
  17977. matchExpressions:
  17978. description: matchExpressions is a list of label selector requirements.
  17979. The requirements are ANDed.
  17980. items:
  17981. description: A label selector requirement is a selector that
  17982. contains values, a key, and an operator that relates the key
  17983. and values.
  17984. properties:
  17985. key:
  17986. description: key is the label key that the selector applies
  17987. to.
  17988. type: string
  17989. operator:
  17990. description: operator represents a key's relationship to
  17991. a set of values. Valid operators are In, NotIn, Exists
  17992. and DoesNotExist.
  17993. type: string
  17994. values:
  17995. description: values is an array of string values. If the
  17996. operator is In or NotIn, the values array must be non-empty.
  17997. If the operator is Exists or DoesNotExist, the values
  17998. array must be empty. This array is replaced during a strategic
  17999. merge patch.
  18000. items:
  18001. type: string
  18002. type: array
  18003. required:
  18004. - key
  18005. - operator
  18006. type: object
  18007. type: array
  18008. matchLabels:
  18009. additionalProperties:
  18010. type: string
  18011. description: matchLabels is a map of {key,value} pairs. A single
  18012. {key,value} in the matchLabels map is equivalent to an element
  18013. of matchExpressions, whose key field is "key", the operator
  18014. is "In", and the values array contains only "value". The requirements
  18015. are ANDed.
  18016. type: object
  18017. type: object
  18018. x-kubernetes-map-type: atomic
  18019. ruleSelector:
  18020. description: A selector to select which PrometheusRules to mount for
  18021. loading alerting/recording rules from. Until (excluding) Prometheus
  18022. Operator v0.24.0 Prometheus Operator will migrate any legacy rule
  18023. ConfigMaps to PrometheusRule custom resources selected by RuleSelector.
  18024. Make sure it does not match any config maps that you do not want
  18025. to be migrated.
  18026. properties:
  18027. matchExpressions:
  18028. description: matchExpressions is a list of label selector requirements.
  18029. The requirements are ANDed.
  18030. items:
  18031. description: A label selector requirement is a selector that
  18032. contains values, a key, and an operator that relates the key
  18033. and values.
  18034. properties:
  18035. key:
  18036. description: key is the label key that the selector applies
  18037. to.
  18038. type: string
  18039. operator:
  18040. description: operator represents a key's relationship to
  18041. a set of values. Valid operators are In, NotIn, Exists
  18042. and DoesNotExist.
  18043. type: string
  18044. values:
  18045. description: values is an array of string values. If the
  18046. operator is In or NotIn, the values array must be non-empty.
  18047. If the operator is Exists or DoesNotExist, the values
  18048. array must be empty. This array is replaced during a strategic
  18049. merge patch.
  18050. items:
  18051. type: string
  18052. type: array
  18053. required:
  18054. - key
  18055. - operator
  18056. type: object
  18057. type: array
  18058. matchLabels:
  18059. additionalProperties:
  18060. type: string
  18061. description: matchLabels is a map of {key,value} pairs. A single
  18062. {key,value} in the matchLabels map is equivalent to an element
  18063. of matchExpressions, whose key field is "key", the operator
  18064. is "In", and the values array contains only "value". The requirements
  18065. are ANDed.
  18066. type: object
  18067. type: object
  18068. x-kubernetes-map-type: atomic
  18069. rules:
  18070. description: /--rules.*/ command-line arguments.
  18071. properties:
  18072. alert:
  18073. description: /--rules.alert.*/ command-line arguments
  18074. properties:
  18075. forGracePeriod:
  18076. description: Minimum duration between alert and restored 'for'
  18077. state. This is maintained only for alerts with configured
  18078. 'for' time greater than grace period.
  18079. type: string
  18080. forOutageTolerance:
  18081. description: Max time to tolerate prometheus outage for restoring
  18082. 'for' state of alert.
  18083. type: string
  18084. resendDelay:
  18085. description: Minimum amount of time to wait before resending
  18086. an alert to Alertmanager.
  18087. type: string
  18088. type: object
  18089. type: object
  18090. scrapeInterval:
  18091. default: 30s
  18092. description: 'Interval between consecutive scrapes. Default: `30s`'
  18093. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  18094. type: string
  18095. scrapeTimeout:
  18096. description: Number of seconds to wait for target to respond before
  18097. erroring.
  18098. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  18099. type: string
  18100. secrets:
  18101. description: Secrets is a list of Secrets in the same namespace as
  18102. the Prometheus object, which shall be mounted into the Prometheus
  18103. Pods. The Secrets are mounted into /etc/prometheus/secrets/<secret-name>.
  18104. items:
  18105. type: string
  18106. type: array
  18107. securityContext:
  18108. description: SecurityContext holds pod-level security attributes and
  18109. common container settings. This defaults to the default PodSecurityContext.
  18110. properties:
  18111. fsGroup:
  18112. description: "A special supplemental group that applies to all
  18113. containers in a pod. Some volume types allow the Kubelet to
  18114. change the ownership of that volume to be owned by the pod:
  18115. \n 1. The owning GID will be the FSGroup 2. The setgid bit is
  18116. set (new files created in the volume will be owned by FSGroup)
  18117. 3. The permission bits are OR'd with rw-rw---- \n If unset,
  18118. the Kubelet will not modify the ownership and permissions of
  18119. any volume. Note that this field cannot be set when spec.os.name
  18120. is windows."
  18121. format: int64
  18122. type: integer
  18123. fsGroupChangePolicy:
  18124. description: 'fsGroupChangePolicy defines behavior of changing
  18125. ownership and permission of the volume before being exposed
  18126. inside Pod. This field will only apply to volume types which
  18127. support fsGroup based ownership(and permissions). It will have
  18128. no effect on ephemeral volume types such as: secret, configmaps
  18129. and emptydir. Valid values are "OnRootMismatch" and "Always".
  18130. If not specified, "Always" is used. Note that this field cannot
  18131. be set when spec.os.name is windows.'
  18132. type: string
  18133. runAsGroup:
  18134. description: The GID to run the entrypoint of the container process.
  18135. Uses runtime default if unset. May also be set in SecurityContext. If
  18136. set in both SecurityContext and PodSecurityContext, the value
  18137. specified in SecurityContext takes precedence for that container.
  18138. Note that this field cannot be set when spec.os.name is windows.
  18139. format: int64
  18140. type: integer
  18141. runAsNonRoot:
  18142. description: Indicates that the container must run as a non-root
  18143. user. If true, the Kubelet will validate the image at runtime
  18144. to ensure that it does not run as UID 0 (root) and fail to start
  18145. the container if it does. If unset or false, no such validation
  18146. will be performed. May also be set in SecurityContext. If set
  18147. in both SecurityContext and PodSecurityContext, the value specified
  18148. in SecurityContext takes precedence.
  18149. type: boolean
  18150. runAsUser:
  18151. description: The UID to run the entrypoint of the container process.
  18152. Defaults to user specified in image metadata if unspecified.
  18153. May also be set in SecurityContext. If set in both SecurityContext
  18154. and PodSecurityContext, the value specified in SecurityContext
  18155. takes precedence for that container. Note that this field cannot
  18156. be set when spec.os.name is windows.
  18157. format: int64
  18158. type: integer
  18159. seLinuxOptions:
  18160. description: The SELinux context to be applied to all containers.
  18161. If unspecified, the container runtime will allocate a random
  18162. SELinux context for each container. May also be set in SecurityContext. If
  18163. set in both SecurityContext and PodSecurityContext, the value
  18164. specified in SecurityContext takes precedence for that container.
  18165. Note that this field cannot be set when spec.os.name is windows.
  18166. properties:
  18167. level:
  18168. description: Level is SELinux level label that applies to
  18169. the container.
  18170. type: string
  18171. role:
  18172. description: Role is a SELinux role label that applies to
  18173. the container.
  18174. type: string
  18175. type:
  18176. description: Type is a SELinux type label that applies to
  18177. the container.
  18178. type: string
  18179. user:
  18180. description: User is a SELinux user label that applies to
  18181. the container.
  18182. type: string
  18183. type: object
  18184. seccompProfile:
  18185. description: The seccomp options to use by the containers in this
  18186. pod. Note that this field cannot be set when spec.os.name is
  18187. windows.
  18188. properties:
  18189. localhostProfile:
  18190. description: localhostProfile indicates a profile defined
  18191. in a file on the node should be used. The profile must be
  18192. preconfigured on the node to work. Must be a descending
  18193. path, relative to the kubelet's configured seccomp profile
  18194. location. Must only be set if type is "Localhost".
  18195. type: string
  18196. type:
  18197. description: "type indicates which kind of seccomp profile
  18198. will be applied. Valid options are: \n Localhost - a profile
  18199. defined in a file on the node should be used. RuntimeDefault
  18200. - the container runtime default profile should be used.
  18201. Unconfined - no profile should be applied."
  18202. type: string
  18203. required:
  18204. - type
  18205. type: object
  18206. supplementalGroups:
  18207. description: A list of groups applied to the first process run
  18208. in each container, in addition to the container's primary GID. If
  18209. unspecified, no groups will be added to any container. Note
  18210. that this field cannot be set when spec.os.name is windows.
  18211. items:
  18212. format: int64
  18213. type: integer
  18214. type: array
  18215. sysctls:
  18216. description: Sysctls hold a list of namespaced sysctls used for
  18217. the pod. Pods with unsupported sysctls (by the container runtime)
  18218. might fail to launch. Note that this field cannot be set when
  18219. spec.os.name is windows.
  18220. items:
  18221. description: Sysctl defines a kernel parameter to be set
  18222. properties:
  18223. name:
  18224. description: Name of a property to set
  18225. type: string
  18226. value:
  18227. description: Value of a property to set
  18228. type: string
  18229. required:
  18230. - name
  18231. - value
  18232. type: object
  18233. type: array
  18234. windowsOptions:
  18235. description: The Windows specific settings applied to all containers.
  18236. If unspecified, the options within a container's SecurityContext
  18237. will be used. If set in both SecurityContext and PodSecurityContext,
  18238. the value specified in SecurityContext takes precedence. Note
  18239. that this field cannot be set when spec.os.name is linux.
  18240. properties:
  18241. gmsaCredentialSpec:
  18242. description: GMSACredentialSpec is where the GMSA admission
  18243. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  18244. inlines the contents of the GMSA credential spec named by
  18245. the GMSACredentialSpecName field.
  18246. type: string
  18247. gmsaCredentialSpecName:
  18248. description: GMSACredentialSpecName is the name of the GMSA
  18249. credential spec to use.
  18250. type: string
  18251. hostProcess:
  18252. description: HostProcess determines if a container should
  18253. be run as a 'Host Process' container. This field is alpha-level
  18254. and will only be honored by components that enable the WindowsHostProcessContainers
  18255. feature flag. Setting this field without the feature flag
  18256. will result in errors when validating the Pod. All of a
  18257. Pod's containers must have the same effective HostProcess
  18258. value (it is not allowed to have a mix of HostProcess containers
  18259. and non-HostProcess containers). In addition, if HostProcess
  18260. is true then HostNetwork must also be set to true.
  18261. type: boolean
  18262. runAsUserName:
  18263. description: The UserName in Windows to run the entrypoint
  18264. of the container process. Defaults to the user specified
  18265. in image metadata if unspecified. May also be set in PodSecurityContext.
  18266. If set in both SecurityContext and PodSecurityContext, the
  18267. value specified in SecurityContext takes precedence.
  18268. type: string
  18269. type: object
  18270. type: object
  18271. serviceAccountName:
  18272. description: ServiceAccountName is the name of the ServiceAccount
  18273. to use to run the Prometheus Pods.
  18274. type: string
  18275. serviceMonitorNamespaceSelector:
  18276. description: Namespace's labels to match for ServiceMonitor discovery.
  18277. If nil, only check own namespace.
  18278. properties:
  18279. matchExpressions:
  18280. description: matchExpressions is a list of label selector requirements.
  18281. The requirements are ANDed.
  18282. items:
  18283. description: A label selector requirement is a selector that
  18284. contains values, a key, and an operator that relates the key
  18285. and values.
  18286. properties:
  18287. key:
  18288. description: key is the label key that the selector applies
  18289. to.
  18290. type: string
  18291. operator:
  18292. description: operator represents a key's relationship to
  18293. a set of values. Valid operators are In, NotIn, Exists
  18294. and DoesNotExist.
  18295. type: string
  18296. values:
  18297. description: values is an array of string values. If the
  18298. operator is In or NotIn, the values array must be non-empty.
  18299. If the operator is Exists or DoesNotExist, the values
  18300. array must be empty. This array is replaced during a strategic
  18301. merge patch.
  18302. items:
  18303. type: string
  18304. type: array
  18305. required:
  18306. - key
  18307. - operator
  18308. type: object
  18309. type: array
  18310. matchLabels:
  18311. additionalProperties:
  18312. type: string
  18313. description: matchLabels is a map of {key,value} pairs. A single
  18314. {key,value} in the matchLabels map is equivalent to an element
  18315. of matchExpressions, whose key field is "key", the operator
  18316. is "In", and the values array contains only "value". The requirements
  18317. are ANDed.
  18318. type: object
  18319. type: object
  18320. x-kubernetes-map-type: atomic
  18321. serviceMonitorSelector:
  18322. description: ServiceMonitors to be selected for target discovery.
  18323. *Deprecated:* if neither this nor podMonitorSelector are specified,
  18324. configuration is unmanaged.
  18325. properties:
  18326. matchExpressions:
  18327. description: matchExpressions is a list of label selector requirements.
  18328. The requirements are ANDed.
  18329. items:
  18330. description: A label selector requirement is a selector that
  18331. contains values, a key, and an operator that relates the key
  18332. and values.
  18333. properties:
  18334. key:
  18335. description: key is the label key that the selector applies
  18336. to.
  18337. type: string
  18338. operator:
  18339. description: operator represents a key's relationship to
  18340. a set of values. Valid operators are In, NotIn, Exists
  18341. and DoesNotExist.
  18342. type: string
  18343. values:
  18344. description: values is an array of string values. If the
  18345. operator is In or NotIn, the values array must be non-empty.
  18346. If the operator is Exists or DoesNotExist, the values
  18347. array must be empty. This array is replaced during a strategic
  18348. merge patch.
  18349. items:
  18350. type: string
  18351. type: array
  18352. required:
  18353. - key
  18354. - operator
  18355. type: object
  18356. type: array
  18357. matchLabels:
  18358. additionalProperties:
  18359. type: string
  18360. description: matchLabels is a map of {key,value} pairs. A single
  18361. {key,value} in the matchLabels map is equivalent to an element
  18362. of matchExpressions, whose key field is "key", the operator
  18363. is "In", and the values array contains only "value". The requirements
  18364. are ANDed.
  18365. type: object
  18366. type: object
  18367. x-kubernetes-map-type: atomic
  18368. sha:
  18369. description: 'SHA of Prometheus container image to be deployed. Defaults
  18370. to the value of `version`. Similar to a tag, but the SHA explicitly
  18371. deploys an immutable container image. Version and Tag are ignored
  18372. if SHA is set. Deprecated: use ''image'' instead. The image digest
  18373. can be specified as part of the image URL.'
  18374. type: string
  18375. shards:
  18376. description: 'EXPERIMENTAL: Number of shards to distribute targets
  18377. onto. Number of replicas multiplied by shards is the total number
  18378. of Pods created. Note that scaling down shards will not reshard
  18379. data onto remaining instances, it must be manually moved. Increasing
  18380. shards will not reshard data either but it will continue to be available
  18381. from the same instances. To query globally use Thanos sidecar and
  18382. Thanos querier or remote write data to a central location. Sharding
  18383. is done on the content of the `__address__` target meta-label.'
  18384. format: int32
  18385. type: integer
  18386. storage:
  18387. description: Storage spec to specify how storage shall be used.
  18388. properties:
  18389. disableMountSubPath:
  18390. description: 'Deprecated: subPath usage will be disabled by default
  18391. in a future release, this option will become unnecessary. DisableMountSubPath
  18392. allows to remove any subPath usage in volume mounts.'
  18393. type: boolean
  18394. emptyDir:
  18395. description: 'EmptyDirVolumeSource to be used by the Prometheus
  18396. StatefulSets. If specified, used in place of any volumeClaimTemplate.
  18397. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
  18398. properties:
  18399. medium:
  18400. description: 'medium represents what type of storage medium
  18401. should back this directory. The default is "" which means
  18402. to use the node''s default medium. Must be an empty string
  18403. (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  18404. type: string
  18405. sizeLimit:
  18406. anyOf:
  18407. - type: integer
  18408. - type: string
  18409. description: 'sizeLimit is the total amount of local storage
  18410. required for this EmptyDir volume. The size limit is also
  18411. applicable for memory medium. The maximum usage on memory
  18412. medium EmptyDir would be the minimum value between the SizeLimit
  18413. specified here and the sum of memory limits of all containers
  18414. in a pod. The default is nil which means that the limit
  18415. is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  18416. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18417. x-kubernetes-int-or-string: true
  18418. type: object
  18419. ephemeral:
  18420. description: 'EphemeralVolumeSource to be used by the Prometheus
  18421. StatefulSets. This is a beta field in k8s 1.21, for lower versions,
  18422. starting with k8s 1.19, it requires enabling the GenericEphemeralVolume
  18423. feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes'
  18424. properties:
  18425. volumeClaimTemplate:
  18426. description: "Will be used to create a stand-alone PVC to
  18427. provision the volume. The pod in which this EphemeralVolumeSource
  18428. is embedded will be the owner of the PVC, i.e. the PVC will
  18429. be deleted together with the pod. The name of the PVC will
  18430. be `<pod name>-<volume name>` where `<volume name>` is the
  18431. name from the `PodSpec.Volumes` array entry. Pod validation
  18432. will reject the pod if the concatenated name is not valid
  18433. for a PVC (for example, too long). \n An existing PVC with
  18434. that name that is not owned by the pod will *not* be used
  18435. for the pod to avoid using an unrelated volume by mistake.
  18436. Starting the pod is then blocked until the unrelated PVC
  18437. is removed. If such a pre-created PVC is meant to be used
  18438. by the pod, the PVC has to updated with an owner reference
  18439. to the pod once the pod exists. Normally this should not
  18440. be necessary, but it may be useful when manually reconstructing
  18441. a broken cluster. \n This field is read-only and no changes
  18442. will be made by Kubernetes to the PVC after it has been
  18443. created. \n Required, must not be nil."
  18444. properties:
  18445. metadata:
  18446. description: May contain labels and annotations that will
  18447. be copied into the PVC when creating it. No other fields
  18448. are allowed and will be rejected during validation.
  18449. type: object
  18450. spec:
  18451. description: The specification for the PersistentVolumeClaim.
  18452. The entire content is copied unchanged into the PVC
  18453. that gets created from this template. The same fields
  18454. as in a PersistentVolumeClaim are also valid here.
  18455. properties:
  18456. accessModes:
  18457. description: 'accessModes contains the desired access
  18458. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  18459. items:
  18460. type: string
  18461. type: array
  18462. dataSource:
  18463. description: 'dataSource field can be used to specify
  18464. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  18465. * An existing PVC (PersistentVolumeClaim) If the
  18466. provisioner or an external controller can support
  18467. the specified data source, it will create a new
  18468. volume based on the contents of the specified data
  18469. source. If the AnyVolumeDataSource feature gate
  18470. is enabled, this field will always have the same
  18471. contents as the DataSourceRef field.'
  18472. properties:
  18473. apiGroup:
  18474. description: APIGroup is the group for the resource
  18475. being referenced. If APIGroup is not specified,
  18476. the specified Kind must be in the core API group.
  18477. For any other third-party types, APIGroup is
  18478. required.
  18479. type: string
  18480. kind:
  18481. description: Kind is the type of resource being
  18482. referenced
  18483. type: string
  18484. name:
  18485. description: Name is the name of resource being
  18486. referenced
  18487. type: string
  18488. required:
  18489. - kind
  18490. - name
  18491. type: object
  18492. x-kubernetes-map-type: atomic
  18493. dataSourceRef:
  18494. description: 'dataSourceRef specifies the object from
  18495. which to populate the volume with data, if a non-empty
  18496. volume is desired. This may be any local object
  18497. from a non-empty API group (non core object) or
  18498. a PersistentVolumeClaim object. When this field
  18499. is specified, volume binding will only succeed if
  18500. the type of the specified object matches some installed
  18501. volume populator or dynamic provisioner. This field
  18502. will replace the functionality of the DataSource
  18503. field and as such if both fields are non-empty,
  18504. they must have the same value. For backwards compatibility,
  18505. both fields (DataSource and DataSourceRef) will
  18506. be set to the same value automatically if one of
  18507. them is empty and the other is non-empty. There
  18508. are two important differences between DataSource
  18509. and DataSourceRef: * While DataSource only allows
  18510. two specific types of objects, DataSourceRef allows
  18511. any non-core object, as well as PersistentVolumeClaim
  18512. objects. * While DataSource ignores disallowed values
  18513. (dropping them), DataSourceRef preserves all values,
  18514. and generates an error if a disallowed value is
  18515. specified. (Beta) Using this field requires the
  18516. AnyVolumeDataSource feature gate to be enabled.'
  18517. properties:
  18518. apiGroup:
  18519. description: APIGroup is the group for the resource
  18520. being referenced. If APIGroup is not specified,
  18521. the specified Kind must be in the core API group.
  18522. For any other third-party types, APIGroup is
  18523. required.
  18524. type: string
  18525. kind:
  18526. description: Kind is the type of resource being
  18527. referenced
  18528. type: string
  18529. name:
  18530. description: Name is the name of resource being
  18531. referenced
  18532. type: string
  18533. required:
  18534. - kind
  18535. - name
  18536. type: object
  18537. x-kubernetes-map-type: atomic
  18538. resources:
  18539. description: 'resources represents the minimum resources
  18540. the volume should have. If RecoverVolumeExpansionFailure
  18541. feature is enabled users are allowed to specify
  18542. resource requirements that are lower than previous
  18543. value but must still be higher than capacity recorded
  18544. in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  18545. properties:
  18546. limits:
  18547. additionalProperties:
  18548. anyOf:
  18549. - type: integer
  18550. - type: string
  18551. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18552. x-kubernetes-int-or-string: true
  18553. description: 'Limits describes the maximum amount
  18554. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  18555. type: object
  18556. requests:
  18557. additionalProperties:
  18558. anyOf:
  18559. - type: integer
  18560. - type: string
  18561. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18562. x-kubernetes-int-or-string: true
  18563. description: 'Requests describes the minimum amount
  18564. of compute resources required. If Requests is
  18565. omitted for a container, it defaults to Limits
  18566. if that is explicitly specified, otherwise to
  18567. an implementation-defined value. More info:
  18568. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  18569. type: object
  18570. type: object
  18571. selector:
  18572. description: selector is a label query over volumes
  18573. to consider for binding.
  18574. properties:
  18575. matchExpressions:
  18576. description: matchExpressions is a list of label
  18577. selector requirements. The requirements are
  18578. ANDed.
  18579. items:
  18580. description: A label selector requirement is
  18581. a selector that contains values, a key, and
  18582. an operator that relates the key and values.
  18583. properties:
  18584. key:
  18585. description: key is the label key that the
  18586. selector applies to.
  18587. type: string
  18588. operator:
  18589. description: operator represents a key's
  18590. relationship to a set of values. Valid
  18591. operators are In, NotIn, Exists and DoesNotExist.
  18592. type: string
  18593. values:
  18594. description: values is an array of string
  18595. values. If the operator is In or NotIn,
  18596. the values array must be non-empty. If
  18597. the operator is Exists or DoesNotExist,
  18598. the values array must be empty. This array
  18599. is replaced during a strategic merge patch.
  18600. items:
  18601. type: string
  18602. type: array
  18603. required:
  18604. - key
  18605. - operator
  18606. type: object
  18607. type: array
  18608. matchLabels:
  18609. additionalProperties:
  18610. type: string
  18611. description: matchLabels is a map of {key,value}
  18612. pairs. A single {key,value} in the matchLabels
  18613. map is equivalent to an element of matchExpressions,
  18614. whose key field is "key", the operator is "In",
  18615. and the values array contains only "value".
  18616. The requirements are ANDed.
  18617. type: object
  18618. type: object
  18619. x-kubernetes-map-type: atomic
  18620. storageClassName:
  18621. description: 'storageClassName is the name of the
  18622. StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  18623. type: string
  18624. volumeMode:
  18625. description: volumeMode defines what type of volume
  18626. is required by the claim. Value of Filesystem is
  18627. implied when not included in claim spec.
  18628. type: string
  18629. volumeName:
  18630. description: volumeName is the binding reference to
  18631. the PersistentVolume backing this claim.
  18632. type: string
  18633. type: object
  18634. required:
  18635. - spec
  18636. type: object
  18637. type: object
  18638. volumeClaimTemplate:
  18639. description: A PVC spec to be used by the Prometheus StatefulSets.
  18640. properties:
  18641. apiVersion:
  18642. description: 'APIVersion defines the versioned schema of this
  18643. representation of an object. Servers should convert recognized
  18644. schemas to the latest internal value, and may reject unrecognized
  18645. values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  18646. type: string
  18647. kind:
  18648. description: 'Kind is a string value representing the REST
  18649. resource this object represents. Servers may infer this
  18650. from the endpoint the client submits requests to. Cannot
  18651. be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  18652. type: string
  18653. metadata:
  18654. description: EmbeddedMetadata contains metadata relevant to
  18655. an EmbeddedResource.
  18656. properties:
  18657. annotations:
  18658. additionalProperties:
  18659. type: string
  18660. description: 'Annotations is an unstructured key value
  18661. map stored with a resource that may be set by external
  18662. tools to store and retrieve arbitrary metadata. They
  18663. are not queryable and should be preserved when modifying
  18664. objects. More info: http://kubernetes.io/docs/user-guide/annotations'
  18665. type: object
  18666. labels:
  18667. additionalProperties:
  18668. type: string
  18669. description: 'Map of string keys and values that can be
  18670. used to organize and categorize (scope and select) objects.
  18671. May match selectors of replication controllers and services.
  18672. More info: http://kubernetes.io/docs/user-guide/labels'
  18673. type: object
  18674. name:
  18675. description: 'Name must be unique within a namespace.
  18676. Is required when creating resources, although some resources
  18677. may allow a client to request the generation of an appropriate
  18678. name automatically. Name is primarily intended for creation
  18679. idempotence and configuration definition. Cannot be
  18680. updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
  18681. type: string
  18682. type: object
  18683. spec:
  18684. description: 'Spec defines the desired characteristics of
  18685. a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  18686. properties:
  18687. accessModes:
  18688. description: 'accessModes contains the desired access
  18689. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  18690. items:
  18691. type: string
  18692. type: array
  18693. dataSource:
  18694. description: 'dataSource field can be used to specify
  18695. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  18696. * An existing PVC (PersistentVolumeClaim) If the provisioner
  18697. or an external controller can support the specified
  18698. data source, it will create a new volume based on the
  18699. contents of the specified data source. If the AnyVolumeDataSource
  18700. feature gate is enabled, this field will always have
  18701. the same contents as the DataSourceRef field.'
  18702. properties:
  18703. apiGroup:
  18704. description: APIGroup is the group for the resource
  18705. being referenced. If APIGroup is not specified,
  18706. the specified Kind must be in the core API group.
  18707. For any other third-party types, APIGroup is required.
  18708. type: string
  18709. kind:
  18710. description: Kind is the type of resource being referenced
  18711. type: string
  18712. name:
  18713. description: Name is the name of resource being referenced
  18714. type: string
  18715. required:
  18716. - kind
  18717. - name
  18718. type: object
  18719. x-kubernetes-map-type: atomic
  18720. dataSourceRef:
  18721. description: 'dataSourceRef specifies the object from
  18722. which to populate the volume with data, if a non-empty
  18723. volume is desired. This may be any local object from
  18724. a non-empty API group (non core object) or a PersistentVolumeClaim
  18725. object. When this field is specified, volume binding
  18726. will only succeed if the type of the specified object
  18727. matches some installed volume populator or dynamic provisioner.
  18728. This field will replace the functionality of the DataSource
  18729. field and as such if both fields are non-empty, they
  18730. must have the same value. For backwards compatibility,
  18731. both fields (DataSource and DataSourceRef) will be set
  18732. to the same value automatically if one of them is empty
  18733. and the other is non-empty. There are two important
  18734. differences between DataSource and DataSourceRef: *
  18735. While DataSource only allows two specific types of objects,
  18736. DataSourceRef allows any non-core object, as well as
  18737. PersistentVolumeClaim objects. * While DataSource ignores
  18738. disallowed values (dropping them), DataSourceRef preserves
  18739. all values, and generates an error if a disallowed value
  18740. is specified. (Beta) Using this field requires the AnyVolumeDataSource
  18741. feature gate to be enabled.'
  18742. properties:
  18743. apiGroup:
  18744. description: APIGroup is the group for the resource
  18745. being referenced. If APIGroup is not specified,
  18746. the specified Kind must be in the core API group.
  18747. For any other third-party types, APIGroup is required.
  18748. type: string
  18749. kind:
  18750. description: Kind is the type of resource being referenced
  18751. type: string
  18752. name:
  18753. description: Name is the name of resource being referenced
  18754. type: string
  18755. required:
  18756. - kind
  18757. - name
  18758. type: object
  18759. x-kubernetes-map-type: atomic
  18760. resources:
  18761. description: 'resources represents the minimum resources
  18762. the volume should have. If RecoverVolumeExpansionFailure
  18763. feature is enabled users are allowed to specify resource
  18764. requirements that are lower than previous value but
  18765. must still be higher than capacity recorded in the status
  18766. field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  18767. properties:
  18768. limits:
  18769. additionalProperties:
  18770. anyOf:
  18771. - type: integer
  18772. - type: string
  18773. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18774. x-kubernetes-int-or-string: true
  18775. description: 'Limits describes the maximum amount
  18776. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  18777. type: object
  18778. requests:
  18779. additionalProperties:
  18780. anyOf:
  18781. - type: integer
  18782. - type: string
  18783. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18784. x-kubernetes-int-or-string: true
  18785. description: 'Requests describes the minimum amount
  18786. of compute resources required. If Requests is omitted
  18787. for a container, it defaults to Limits if that is
  18788. explicitly specified, otherwise to an implementation-defined
  18789. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  18790. type: object
  18791. type: object
  18792. selector:
  18793. description: selector is a label query over volumes to
  18794. consider for binding.
  18795. properties:
  18796. matchExpressions:
  18797. description: matchExpressions is a list of label selector
  18798. requirements. The requirements are ANDed.
  18799. items:
  18800. description: A label selector requirement is a selector
  18801. that contains values, a key, and an operator that
  18802. relates the key and values.
  18803. properties:
  18804. key:
  18805. description: key is the label key that the selector
  18806. applies to.
  18807. type: string
  18808. operator:
  18809. description: operator represents a key's relationship
  18810. to a set of values. Valid operators are In,
  18811. NotIn, Exists and DoesNotExist.
  18812. type: string
  18813. values:
  18814. description: values is an array of string values.
  18815. If the operator is In or NotIn, the values
  18816. array must be non-empty. If the operator is
  18817. Exists or DoesNotExist, the values array must
  18818. be empty. This array is replaced during a
  18819. strategic merge patch.
  18820. items:
  18821. type: string
  18822. type: array
  18823. required:
  18824. - key
  18825. - operator
  18826. type: object
  18827. type: array
  18828. matchLabels:
  18829. additionalProperties:
  18830. type: string
  18831. description: matchLabels is a map of {key,value} pairs.
  18832. A single {key,value} in the matchLabels map is equivalent
  18833. to an element of matchExpressions, whose key field
  18834. is "key", the operator is "In", and the values array
  18835. contains only "value". The requirements are ANDed.
  18836. type: object
  18837. type: object
  18838. x-kubernetes-map-type: atomic
  18839. storageClassName:
  18840. description: 'storageClassName is the name of the StorageClass
  18841. required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  18842. type: string
  18843. volumeMode:
  18844. description: volumeMode defines what type of volume is
  18845. required by the claim. Value of Filesystem is implied
  18846. when not included in claim spec.
  18847. type: string
  18848. volumeName:
  18849. description: volumeName is the binding reference to the
  18850. PersistentVolume backing this claim.
  18851. type: string
  18852. type: object
  18853. status:
  18854. description: 'Status represents the current information/status
  18855. of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  18856. properties:
  18857. accessModes:
  18858. description: 'accessModes contains the actual access modes
  18859. the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  18860. items:
  18861. type: string
  18862. type: array
  18863. allocatedResources:
  18864. additionalProperties:
  18865. anyOf:
  18866. - type: integer
  18867. - type: string
  18868. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18869. x-kubernetes-int-or-string: true
  18870. description: allocatedResources is the storage resource
  18871. within AllocatedResources tracks the capacity allocated
  18872. to a PVC. It may be larger than the actual capacity
  18873. when a volume expansion operation is requested. For
  18874. storage quota, the larger value from allocatedResources
  18875. and PVC.spec.resources is used. If allocatedResources
  18876. is not set, PVC.spec.resources alone is used for quota
  18877. calculation. If a volume expansion capacity request
  18878. is lowered, allocatedResources is only lowered if there
  18879. are no expansion operations in progress and if the actual
  18880. volume capacity is equal or lower than the requested
  18881. capacity. This is an alpha field and requires enabling
  18882. RecoverVolumeExpansionFailure feature.
  18883. type: object
  18884. capacity:
  18885. additionalProperties:
  18886. anyOf:
  18887. - type: integer
  18888. - type: string
  18889. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18890. x-kubernetes-int-or-string: true
  18891. description: capacity represents the actual resources
  18892. of the underlying volume.
  18893. type: object
  18894. conditions:
  18895. description: conditions is the current Condition of persistent
  18896. volume claim. If underlying persistent volume is being
  18897. resized then the Condition will be set to 'ResizeStarted'.
  18898. items:
  18899. description: PersistentVolumeClaimCondition contails
  18900. details about state of pvc
  18901. properties:
  18902. lastProbeTime:
  18903. description: lastProbeTime is the time we probed
  18904. the condition.
  18905. format: date-time
  18906. type: string
  18907. lastTransitionTime:
  18908. description: lastTransitionTime is the time the
  18909. condition transitioned from one status to another.
  18910. format: date-time
  18911. type: string
  18912. message:
  18913. description: message is the human-readable message
  18914. indicating details about last transition.
  18915. type: string
  18916. reason:
  18917. description: reason is a unique, this should be
  18918. a short, machine understandable string that gives
  18919. the reason for condition's last transition. If
  18920. it reports "ResizeStarted" that means the underlying
  18921. persistent volume is being resized.
  18922. type: string
  18923. status:
  18924. type: string
  18925. type:
  18926. description: PersistentVolumeClaimConditionType
  18927. is a valid value of PersistentVolumeClaimCondition.Type
  18928. type: string
  18929. required:
  18930. - status
  18931. - type
  18932. type: object
  18933. type: array
  18934. phase:
  18935. description: phase represents the current phase of PersistentVolumeClaim.
  18936. type: string
  18937. resizeStatus:
  18938. description: resizeStatus stores status of resize operation.
  18939. ResizeStatus is not set by default but when expansion
  18940. is complete resizeStatus is set to empty string by resize
  18941. controller or kubelet. This is an alpha field and requires
  18942. enabling RecoverVolumeExpansionFailure feature.
  18943. type: string
  18944. type: object
  18945. type: object
  18946. type: object
  18947. tag:
  18948. description: 'Tag of Prometheus container image to be deployed. Defaults
  18949. to the value of `version`. Version is ignored if Tag is set. Deprecated:
  18950. use ''image'' instead. The image tag can be specified as part of
  18951. the image URL.'
  18952. type: string
  18953. thanos:
  18954. description: "Thanos configuration allows configuring various aspects
  18955. of a Prometheus server in a Thanos environment. \n This section
  18956. is experimental, it may change significantly without deprecation
  18957. notice in any release. \n This is experimental and may change significantly
  18958. without backward compatibility in any release."
  18959. properties:
  18960. additionalArgs:
  18961. description: AdditionalArgs allows setting additional arguments
  18962. for the Thanos container. The arguments are passed as-is to
  18963. the Thanos container which may cause issues if they are invalid
  18964. or not supporeted the given Thanos version. In case of an argument
  18965. conflict (e.g. an argument which is already set by the operator
  18966. itself) or when providing an invalid argument the reconciliation
  18967. will fail and an error will be logged.
  18968. items:
  18969. description: Argument as part of the AdditionalArgs list.
  18970. properties:
  18971. name:
  18972. description: Name of the argument, e.g. "scrape.discovery-reload-interval".
  18973. minLength: 1
  18974. type: string
  18975. value:
  18976. description: Argument value, e.g. 30s. Can be empty for
  18977. name-only arguments (e.g. --storage.tsdb.no-lockfile)
  18978. type: string
  18979. required:
  18980. - name
  18981. type: object
  18982. type: array
  18983. baseImage:
  18984. description: 'Thanos base image if other than default. Deprecated:
  18985. use ''image'' instead'
  18986. type: string
  18987. grpcServerTlsConfig:
  18988. description: 'GRPCServerTLSConfig configures the gRPC server from
  18989. which Thanos Querier reads recorded rule data. Note: Currently
  18990. only the CAFile, CertFile, and KeyFile fields are supported.
  18991. Maps to the ''--grpc-server-tls-*'' CLI args.'
  18992. properties:
  18993. ca:
  18994. description: Struct containing the CA cert to use for the
  18995. targets.
  18996. properties:
  18997. configMap:
  18998. description: ConfigMap containing data to use for the
  18999. targets.
  19000. properties:
  19001. key:
  19002. description: The key to select.
  19003. type: string
  19004. name:
  19005. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19006. TODO: Add other useful fields. apiVersion, kind,
  19007. uid?'
  19008. type: string
  19009. optional:
  19010. description: Specify whether the ConfigMap or its
  19011. key must be defined
  19012. type: boolean
  19013. required:
  19014. - key
  19015. type: object
  19016. x-kubernetes-map-type: atomic
  19017. secret:
  19018. description: Secret containing data to use for the targets.
  19019. properties:
  19020. key:
  19021. description: The key of the secret to select from. Must
  19022. be a valid secret key.
  19023. type: string
  19024. name:
  19025. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19026. TODO: Add other useful fields. apiVersion, kind,
  19027. uid?'
  19028. type: string
  19029. optional:
  19030. description: Specify whether the Secret or its key
  19031. must be defined
  19032. type: boolean
  19033. required:
  19034. - key
  19035. type: object
  19036. x-kubernetes-map-type: atomic
  19037. type: object
  19038. caFile:
  19039. description: Path to the CA cert in the Prometheus container
  19040. to use for the targets.
  19041. type: string
  19042. cert:
  19043. description: Struct containing the client cert file for the
  19044. targets.
  19045. properties:
  19046. configMap:
  19047. description: ConfigMap containing data to use for the
  19048. targets.
  19049. properties:
  19050. key:
  19051. description: The key to select.
  19052. type: string
  19053. name:
  19054. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19055. TODO: Add other useful fields. apiVersion, kind,
  19056. uid?'
  19057. type: string
  19058. optional:
  19059. description: Specify whether the ConfigMap or its
  19060. key must be defined
  19061. type: boolean
  19062. required:
  19063. - key
  19064. type: object
  19065. x-kubernetes-map-type: atomic
  19066. secret:
  19067. description: Secret containing data to use for the targets.
  19068. properties:
  19069. key:
  19070. description: The key of the secret to select from. Must
  19071. be a valid secret key.
  19072. type: string
  19073. name:
  19074. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19075. TODO: Add other useful fields. apiVersion, kind,
  19076. uid?'
  19077. type: string
  19078. optional:
  19079. description: Specify whether the Secret or its key
  19080. must be defined
  19081. type: boolean
  19082. required:
  19083. - key
  19084. type: object
  19085. x-kubernetes-map-type: atomic
  19086. type: object
  19087. certFile:
  19088. description: Path to the client cert file in the Prometheus
  19089. container for the targets.
  19090. type: string
  19091. insecureSkipVerify:
  19092. description: Disable target certificate validation.
  19093. type: boolean
  19094. keyFile:
  19095. description: Path to the client key file in the Prometheus
  19096. container for the targets.
  19097. type: string
  19098. keySecret:
  19099. description: Secret containing the client key file for the
  19100. targets.
  19101. properties:
  19102. key:
  19103. description: The key of the secret to select from. Must
  19104. be a valid secret key.
  19105. type: string
  19106. name:
  19107. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19108. TODO: Add other useful fields. apiVersion, kind, uid?'
  19109. type: string
  19110. optional:
  19111. description: Specify whether the Secret or its key must
  19112. be defined
  19113. type: boolean
  19114. required:
  19115. - key
  19116. type: object
  19117. x-kubernetes-map-type: atomic
  19118. serverName:
  19119. description: Used to verify the hostname for the targets.
  19120. type: string
  19121. type: object
  19122. image:
  19123. description: Image if specified has precedence over baseImage,
  19124. tag and sha combinations. Specifying the version is still necessary
  19125. to ensure the Prometheus Operator knows what version of Thanos
  19126. is being configured.
  19127. type: string
  19128. listenLocal:
  19129. description: ListenLocal makes the Thanos sidecar listen on loopback,
  19130. so that it does not bind against the Pod IP.
  19131. type: boolean
  19132. logFormat:
  19133. description: LogFormat for Thanos sidecar to be configured with.
  19134. enum:
  19135. - ""
  19136. - logfmt
  19137. - json
  19138. type: string
  19139. logLevel:
  19140. description: LogLevel for Thanos sidecar to be configured with.
  19141. enum:
  19142. - ""
  19143. - debug
  19144. - info
  19145. - warn
  19146. - error
  19147. type: string
  19148. minTime:
  19149. description: MinTime for Thanos sidecar to be configured with.
  19150. Option can be a constant time in RFC3339 format or time duration
  19151. relative to current time, such as -1d or 2h45m. Valid duration
  19152. units are ms, s, m, h, d, w, y.
  19153. type: string
  19154. objectStorageConfig:
  19155. description: ObjectStorageConfig configures object storage in
  19156. Thanos. Alternative to ObjectStorageConfigFile, and lower order
  19157. priority.
  19158. properties:
  19159. key:
  19160. description: The key of the secret to select from. Must be
  19161. a valid secret key.
  19162. type: string
  19163. name:
  19164. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19165. TODO: Add other useful fields. apiVersion, kind, uid?'
  19166. type: string
  19167. optional:
  19168. description: Specify whether the Secret or its key must be
  19169. defined
  19170. type: boolean
  19171. required:
  19172. - key
  19173. type: object
  19174. x-kubernetes-map-type: atomic
  19175. objectStorageConfigFile:
  19176. description: ObjectStorageConfigFile specifies the path of the
  19177. object storage configuration file. When used alongside with
  19178. ObjectStorageConfig, ObjectStorageConfigFile takes precedence.
  19179. type: string
  19180. readyTimeout:
  19181. description: ReadyTimeout is the maximum time Thanos sidecar will
  19182. wait for Prometheus to start. Eg 10m
  19183. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  19184. type: string
  19185. resources:
  19186. description: Resources defines the resource requirements for the
  19187. Thanos sidecar. If not provided, no requests/limits will be
  19188. set
  19189. properties:
  19190. limits:
  19191. additionalProperties:
  19192. anyOf:
  19193. - type: integer
  19194. - type: string
  19195. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  19196. x-kubernetes-int-or-string: true
  19197. description: 'Limits describes the maximum amount of compute
  19198. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  19199. type: object
  19200. requests:
  19201. additionalProperties:
  19202. anyOf:
  19203. - type: integer
  19204. - type: string
  19205. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  19206. x-kubernetes-int-or-string: true
  19207. description: 'Requests describes the minimum amount of compute
  19208. resources required. If Requests is omitted for a container,
  19209. it defaults to Limits if that is explicitly specified, otherwise
  19210. to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  19211. type: object
  19212. type: object
  19213. sha:
  19214. description: 'SHA of Thanos container image to be deployed. Defaults
  19215. to the value of `version`. Similar to a tag, but the SHA explicitly
  19216. deploys an immutable container image. Version and Tag are ignored
  19217. if SHA is set. Deprecated: use ''image'' instead. The image
  19218. digest can be specified as part of the image URL.'
  19219. type: string
  19220. tag:
  19221. description: 'Tag of Thanos sidecar container image to be deployed.
  19222. Defaults to the value of `version`. Version is ignored if Tag
  19223. is set. Deprecated: use ''image'' instead. The image tag can
  19224. be specified as part of the image URL.'
  19225. type: string
  19226. tracingConfig:
  19227. description: TracingConfig configures tracing in Thanos. This
  19228. is an experimental feature, it may change in any upcoming release
  19229. in a breaking way.
  19230. properties:
  19231. key:
  19232. description: The key of the secret to select from. Must be
  19233. a valid secret key.
  19234. type: string
  19235. name:
  19236. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19237. TODO: Add other useful fields. apiVersion, kind, uid?'
  19238. type: string
  19239. optional:
  19240. description: Specify whether the Secret or its key must be
  19241. defined
  19242. type: boolean
  19243. required:
  19244. - key
  19245. type: object
  19246. x-kubernetes-map-type: atomic
  19247. tracingConfigFile:
  19248. description: TracingConfig specifies the path of the tracing configuration
  19249. file. When used alongside with TracingConfig, TracingConfigFile
  19250. takes precedence.
  19251. type: string
  19252. version:
  19253. description: Version describes the version of Thanos to use.
  19254. type: string
  19255. volumeMounts:
  19256. description: VolumeMounts allows configuration of additional VolumeMounts
  19257. on the output StatefulSet definition. VolumeMounts specified
  19258. will be appended to other VolumeMounts in the thanos-sidecar
  19259. container.
  19260. items:
  19261. description: VolumeMount describes a mounting of a Volume within
  19262. a container.
  19263. properties:
  19264. mountPath:
  19265. description: Path within the container at which the volume
  19266. should be mounted. Must not contain ':'.
  19267. type: string
  19268. mountPropagation:
  19269. description: mountPropagation determines how mounts are
  19270. propagated from the host to container and the other way
  19271. around. When not set, MountPropagationNone is used. This
  19272. field is beta in 1.10.
  19273. type: string
  19274. name:
  19275. description: This must match the Name of a Volume.
  19276. type: string
  19277. readOnly:
  19278. description: Mounted read-only if true, read-write otherwise
  19279. (false or unspecified). Defaults to false.
  19280. type: boolean
  19281. subPath:
  19282. description: Path within the volume from which the container's
  19283. volume should be mounted. Defaults to "" (volume's root).
  19284. type: string
  19285. subPathExpr:
  19286. description: Expanded path within the volume from which
  19287. the container's volume should be mounted. Behaves similarly
  19288. to SubPath but environment variable references $(VAR_NAME)
  19289. are expanded using the container's environment. Defaults
  19290. to "" (volume's root). SubPathExpr and SubPath are mutually
  19291. exclusive.
  19292. type: string
  19293. required:
  19294. - mountPath
  19295. - name
  19296. type: object
  19297. type: array
  19298. type: object
  19299. tolerations:
  19300. description: If specified, the pod's tolerations.
  19301. items:
  19302. description: The pod this Toleration is attached to tolerates any
  19303. taint that matches the triple <key,value,effect> using the matching
  19304. operator <operator>.
  19305. properties:
  19306. effect:
  19307. description: Effect indicates the taint effect to match. Empty
  19308. means match all taint effects. When specified, allowed values
  19309. are NoSchedule, PreferNoSchedule and NoExecute.
  19310. type: string
  19311. key:
  19312. description: Key is the taint key that the toleration applies
  19313. to. Empty means match all taint keys. If the key is empty,
  19314. operator must be Exists; this combination means to match all
  19315. values and all keys.
  19316. type: string
  19317. operator:
  19318. description: Operator represents a key's relationship to the
  19319. value. Valid operators are Exists and Equal. Defaults to Equal.
  19320. Exists is equivalent to wildcard for value, so that a pod
  19321. can tolerate all taints of a particular category.
  19322. type: string
  19323. tolerationSeconds:
  19324. description: TolerationSeconds represents the period of time
  19325. the toleration (which must be of effect NoExecute, otherwise
  19326. this field is ignored) tolerates the taint. By default, it
  19327. is not set, which means tolerate the taint forever (do not
  19328. evict). Zero and negative values will be treated as 0 (evict
  19329. immediately) by the system.
  19330. format: int64
  19331. type: integer
  19332. value:
  19333. description: Value is the taint value the toleration matches
  19334. to. If the operator is Exists, the value should be empty,
  19335. otherwise just a regular string.
  19336. type: string
  19337. type: object
  19338. type: array
  19339. topologySpreadConstraints:
  19340. description: If specified, the pod's topology spread constraints.
  19341. items:
  19342. description: TopologySpreadConstraint specifies how to spread matching
  19343. pods among the given topology.
  19344. properties:
  19345. labelSelector:
  19346. description: LabelSelector is used to find matching pods. Pods
  19347. that match this label selector are counted to determine the
  19348. number of pods in their corresponding topology domain.
  19349. properties:
  19350. matchExpressions:
  19351. description: matchExpressions is a list of label selector
  19352. requirements. The requirements are ANDed.
  19353. items:
  19354. description: A label selector requirement is a selector
  19355. that contains values, a key, and an operator that relates
  19356. the key and values.
  19357. properties:
  19358. key:
  19359. description: key is the label key that the selector
  19360. applies to.
  19361. type: string
  19362. operator:
  19363. description: operator represents a key's relationship
  19364. to a set of values. Valid operators are In, NotIn,
  19365. Exists and DoesNotExist.
  19366. type: string
  19367. values:
  19368. description: values is an array of string values.
  19369. If the operator is In or NotIn, the values array
  19370. must be non-empty. If the operator is Exists or
  19371. DoesNotExist, the values array must be empty. This
  19372. array is replaced during a strategic merge patch.
  19373. items:
  19374. type: string
  19375. type: array
  19376. required:
  19377. - key
  19378. - operator
  19379. type: object
  19380. type: array
  19381. matchLabels:
  19382. additionalProperties:
  19383. type: string
  19384. description: matchLabels is a map of {key,value} pairs.
  19385. A single {key,value} in the matchLabels map is equivalent
  19386. to an element of matchExpressions, whose key field is
  19387. "key", the operator is "In", and the values array contains
  19388. only "value". The requirements are ANDed.
  19389. type: object
  19390. type: object
  19391. x-kubernetes-map-type: atomic
  19392. maxSkew:
  19393. description: 'MaxSkew describes the degree to which pods may
  19394. be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  19395. it is the maximum permitted difference between the number
  19396. of matching pods in the target topology and the global minimum.
  19397. The global minimum is the minimum number of matching pods
  19398. in an eligible domain or zero if the number of eligible domains
  19399. is less than MinDomains. For example, in a 3-zone cluster,
  19400. MaxSkew is set to 1, and pods with the same labelSelector
  19401. spread as 2/2/1: In this case, the global minimum is 1. |
  19402. zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew
  19403. is 1, incoming pod can only be scheduled to zone3 to become
  19404. 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1)
  19405. on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming
  19406. pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  19407. it is used to give higher precedence to topologies that satisfy
  19408. it. It''s a required field. Default value is 1 and 0 is not
  19409. allowed.'
  19410. format: int32
  19411. type: integer
  19412. minDomains:
  19413. description: "MinDomains indicates a minimum number of eligible
  19414. domains. When the number of eligible domains with matching
  19415. topology keys is less than minDomains, Pod Topology Spread
  19416. treats \"global minimum\" as 0, and then the calculation of
  19417. Skew is performed. And when the number of eligible domains
  19418. with matching topology keys equals or greater than minDomains,
  19419. this value has no effect on scheduling. As a result, when
  19420. the number of eligible domains is less than minDomains, scheduler
  19421. won't schedule more than maxSkew Pods to those domains. If
  19422. value is nil, the constraint behaves as if MinDomains is equal
  19423. to 1. Valid values are integers greater than 0. When value
  19424. is not nil, WhenUnsatisfiable must be DoNotSchedule. \n For
  19425. example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains
  19426. is set to 5 and pods with the same labelSelector spread as
  19427. 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P |
  19428. The number of domains is less than 5(MinDomains), so \"global
  19429. minimum\" is treated as 0. In this situation, new pod with
  19430. the same labelSelector cannot be scheduled, because computed
  19431. skew will be 3(3 - 0) if new Pod is scheduled to any of the
  19432. three zones, it will violate MaxSkew. \n This is an alpha
  19433. field and requires enabling MinDomainsInPodTopologySpread
  19434. feature gate."
  19435. format: int32
  19436. type: integer
  19437. topologyKey:
  19438. description: TopologyKey is the key of node labels. Nodes that
  19439. have a label with this key and identical values are considered
  19440. to be in the same topology. We consider each <key, value>
  19441. as a "bucket", and try to put balanced number of pods into
  19442. each bucket. We define a domain as a particular instance of
  19443. a topology. Also, we define an eligible domain as a domain
  19444. whose nodes match the node selector. e.g. If TopologyKey is
  19445. "kubernetes.io/hostname", each Node is a domain of that topology.
  19446. And, if TopologyKey is "topology.kubernetes.io/zone", each
  19447. zone is a domain of that topology. It's a required field.
  19448. type: string
  19449. whenUnsatisfiable:
  19450. description: 'WhenUnsatisfiable indicates how to deal with a
  19451. pod if it doesn''t satisfy the spread constraint. - DoNotSchedule
  19452. (default) tells the scheduler not to schedule it. - ScheduleAnyway
  19453. tells the scheduler to schedule the pod in any location, but
  19454. giving higher precedence to topologies that would help reduce
  19455. the skew. A constraint is considered "Unsatisfiable" for an
  19456. incoming pod if and only if every possible node assignment
  19457. for that pod would violate "MaxSkew" on some topology. For
  19458. example, in a 3-zone cluster, MaxSkew is set to 1, and pods
  19459. with the same labelSelector spread as 3/1/1: | zone1 | zone2
  19460. | zone3 | | P P P | P | P | If WhenUnsatisfiable is
  19461. set to DoNotSchedule, incoming pod can only be scheduled to
  19462. zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on
  19463. zone2(zone3) satisfies MaxSkew(1). In other words, the cluster
  19464. can still be imbalanced, but scheduler won''t make it *more*
  19465. imbalanced. It''s a required field.'
  19466. type: string
  19467. required:
  19468. - maxSkew
  19469. - topologyKey
  19470. - whenUnsatisfiable
  19471. type: object
  19472. type: array
  19473. version:
  19474. description: Version of Prometheus to be deployed.
  19475. type: string
  19476. volumeMounts:
  19477. description: VolumeMounts allows configuration of additional VolumeMounts
  19478. on the output StatefulSet definition. VolumeMounts specified will
  19479. be appended to other VolumeMounts in the prometheus container, that
  19480. are generated as a result of StorageSpec objects.
  19481. items:
  19482. description: VolumeMount describes a mounting of a Volume within
  19483. a container.
  19484. properties:
  19485. mountPath:
  19486. description: Path within the container at which the volume should
  19487. be mounted. Must not contain ':'.
  19488. type: string
  19489. mountPropagation:
  19490. description: mountPropagation determines how mounts are propagated
  19491. from the host to container and the other way around. When
  19492. not set, MountPropagationNone is used. This field is beta
  19493. in 1.10.
  19494. type: string
  19495. name:
  19496. description: This must match the Name of a Volume.
  19497. type: string
  19498. readOnly:
  19499. description: Mounted read-only if true, read-write otherwise
  19500. (false or unspecified). Defaults to false.
  19501. type: boolean
  19502. subPath:
  19503. description: Path within the volume from which the container's
  19504. volume should be mounted. Defaults to "" (volume's root).
  19505. type: string
  19506. subPathExpr:
  19507. description: Expanded path within the volume from which the
  19508. container's volume should be mounted. Behaves similarly to
  19509. SubPath but environment variable references $(VAR_NAME) are
  19510. expanded using the container's environment. Defaults to ""
  19511. (volume's root). SubPathExpr and SubPath are mutually exclusive.
  19512. type: string
  19513. required:
  19514. - mountPath
  19515. - name
  19516. type: object
  19517. type: array
  19518. volumes:
  19519. description: Volumes allows configuration of additional volumes on
  19520. the output StatefulSet definition. Volumes specified will be appended
  19521. to other volumes that are generated as a result of StorageSpec objects.
  19522. items:
  19523. description: Volume represents a named volume in a pod that may
  19524. be accessed by any container in the pod.
  19525. properties:
  19526. awsElasticBlockStore:
  19527. description: 'awsElasticBlockStore represents an AWS Disk resource
  19528. that is attached to a kubelet''s host machine and then exposed
  19529. to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  19530. properties:
  19531. fsType:
  19532. description: 'fsType is the filesystem type of the volume
  19533. that you want to mount. Tip: Ensure that the filesystem
  19534. type is supported by the host operating system. Examples:
  19535. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  19536. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  19537. TODO: how do we prevent errors in the filesystem from
  19538. compromising the machine'
  19539. type: string
  19540. partition:
  19541. description: 'partition is the partition in the volume that
  19542. you want to mount. If omitted, the default is to mount
  19543. by volume name. Examples: For volume /dev/sda1, you specify
  19544. the partition as "1". Similarly, the volume partition
  19545. for /dev/sda is "0" (or you can leave the property empty).'
  19546. format: int32
  19547. type: integer
  19548. readOnly:
  19549. description: 'readOnly value true will force the readOnly
  19550. setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  19551. type: boolean
  19552. volumeID:
  19553. description: 'volumeID is unique ID of the persistent disk
  19554. resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  19555. type: string
  19556. required:
  19557. - volumeID
  19558. type: object
  19559. azureDisk:
  19560. description: azureDisk represents an Azure Data Disk mount on
  19561. the host and bind mount to the pod.
  19562. properties:
  19563. cachingMode:
  19564. description: 'cachingMode is the Host Caching mode: None,
  19565. Read Only, Read Write.'
  19566. type: string
  19567. diskName:
  19568. description: diskName is the Name of the data disk in the
  19569. blob storage
  19570. type: string
  19571. diskURI:
  19572. description: diskURI is the URI of data disk in the blob
  19573. storage
  19574. type: string
  19575. fsType:
  19576. description: fsType is Filesystem type to mount. Must be
  19577. a filesystem type supported by the host operating system.
  19578. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  19579. if unspecified.
  19580. type: string
  19581. kind:
  19582. description: 'kind expected values are Shared: multiple
  19583. blob disks per storage account Dedicated: single blob
  19584. disk per storage account Managed: azure managed data
  19585. disk (only in managed availability set). defaults to shared'
  19586. type: string
  19587. readOnly:
  19588. description: readOnly Defaults to false (read/write). ReadOnly
  19589. here will force the ReadOnly setting in VolumeMounts.
  19590. type: boolean
  19591. required:
  19592. - diskName
  19593. - diskURI
  19594. type: object
  19595. azureFile:
  19596. description: azureFile represents an Azure File Service mount
  19597. on the host and bind mount to the pod.
  19598. properties:
  19599. readOnly:
  19600. description: readOnly defaults to false (read/write). ReadOnly
  19601. here will force the ReadOnly setting in VolumeMounts.
  19602. type: boolean
  19603. secretName:
  19604. description: secretName is the name of secret that contains
  19605. Azure Storage Account Name and Key
  19606. type: string
  19607. shareName:
  19608. description: shareName is the azure share Name
  19609. type: string
  19610. required:
  19611. - secretName
  19612. - shareName
  19613. type: object
  19614. cephfs:
  19615. description: cephFS represents a Ceph FS mount on the host that
  19616. shares a pod's lifetime
  19617. properties:
  19618. monitors:
  19619. description: 'monitors is Required: Monitors is a collection
  19620. of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  19621. items:
  19622. type: string
  19623. type: array
  19624. path:
  19625. description: 'path is Optional: Used as the mounted root,
  19626. rather than the full Ceph tree, default is /'
  19627. type: string
  19628. readOnly:
  19629. description: 'readOnly is Optional: Defaults to false (read/write).
  19630. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  19631. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  19632. type: boolean
  19633. secretFile:
  19634. description: 'secretFile is Optional: SecretFile is the
  19635. path to key ring for User, default is /etc/ceph/user.secret
  19636. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  19637. type: string
  19638. secretRef:
  19639. description: 'secretRef is Optional: SecretRef is reference
  19640. to the authentication secret for User, default is empty.
  19641. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  19642. properties:
  19643. name:
  19644. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19645. TODO: Add other useful fields. apiVersion, kind, uid?'
  19646. type: string
  19647. type: object
  19648. x-kubernetes-map-type: atomic
  19649. user:
  19650. description: 'user is optional: User is the rados user name,
  19651. default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  19652. type: string
  19653. required:
  19654. - monitors
  19655. type: object
  19656. cinder:
  19657. description: 'cinder represents a cinder volume attached and
  19658. mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  19659. properties:
  19660. fsType:
  19661. description: 'fsType is the filesystem type to mount. Must
  19662. be a filesystem type supported by the host operating system.
  19663. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to
  19664. be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  19665. type: string
  19666. readOnly:
  19667. description: 'readOnly defaults to false (read/write). ReadOnly
  19668. here will force the ReadOnly setting in VolumeMounts.
  19669. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  19670. type: boolean
  19671. secretRef:
  19672. description: 'secretRef is optional: points to a secret
  19673. object containing parameters used to connect to OpenStack.'
  19674. properties:
  19675. name:
  19676. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19677. TODO: Add other useful fields. apiVersion, kind, uid?'
  19678. type: string
  19679. type: object
  19680. x-kubernetes-map-type: atomic
  19681. volumeID:
  19682. description: 'volumeID used to identify the volume in cinder.
  19683. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  19684. type: string
  19685. required:
  19686. - volumeID
  19687. type: object
  19688. configMap:
  19689. description: configMap represents a configMap that should populate
  19690. this volume
  19691. properties:
  19692. defaultMode:
  19693. description: 'defaultMode is optional: mode bits used to
  19694. set permissions on created files by default. Must be an
  19695. octal value between 0000 and 0777 or a decimal value between
  19696. 0 and 511. YAML accepts both octal and decimal values,
  19697. JSON requires decimal values for mode bits. Defaults to
  19698. 0644. Directories within the path are not affected by
  19699. this setting. This might be in conflict with other options
  19700. that affect the file mode, like fsGroup, and the result
  19701. can be other mode bits set.'
  19702. format: int32
  19703. type: integer
  19704. items:
  19705. description: items if unspecified, each key-value pair in
  19706. the Data field of the referenced ConfigMap will be projected
  19707. into the volume as a file whose name is the key and content
  19708. is the value. If specified, the listed keys will be projected
  19709. into the specified paths, and unlisted keys will not be
  19710. present. If a key is specified which is not present in
  19711. the ConfigMap, the volume setup will error unless it is
  19712. marked optional. Paths must be relative and may not contain
  19713. the '..' path or start with '..'.
  19714. items:
  19715. description: Maps a string key to a path within a volume.
  19716. properties:
  19717. key:
  19718. description: key is the key to project.
  19719. type: string
  19720. mode:
  19721. description: 'mode is Optional: mode bits used to
  19722. set permissions on this file. Must be an octal value
  19723. between 0000 and 0777 or a decimal value between
  19724. 0 and 511. YAML accepts both octal and decimal values,
  19725. JSON requires decimal values for mode bits. If not
  19726. specified, the volume defaultMode will be used.
  19727. This might be in conflict with other options that
  19728. affect the file mode, like fsGroup, and the result
  19729. can be other mode bits set.'
  19730. format: int32
  19731. type: integer
  19732. path:
  19733. description: path is the relative path of the file
  19734. to map the key to. May not be an absolute path.
  19735. May not contain the path element '..'. May not start
  19736. with the string '..'.
  19737. type: string
  19738. required:
  19739. - key
  19740. - path
  19741. type: object
  19742. type: array
  19743. name:
  19744. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19745. TODO: Add other useful fields. apiVersion, kind, uid?'
  19746. type: string
  19747. optional:
  19748. description: optional specify whether the ConfigMap or its
  19749. keys must be defined
  19750. type: boolean
  19751. type: object
  19752. x-kubernetes-map-type: atomic
  19753. csi:
  19754. description: csi (Container Storage Interface) represents ephemeral
  19755. storage that is handled by certain external CSI drivers (Beta
  19756. feature).
  19757. properties:
  19758. driver:
  19759. description: driver is the name of the CSI driver that handles
  19760. this volume. Consult with your admin for the correct name
  19761. as registered in the cluster.
  19762. type: string
  19763. fsType:
  19764. description: fsType to mount. Ex. "ext4", "xfs", "ntfs".
  19765. If not provided, the empty value is passed to the associated
  19766. CSI driver which will determine the default filesystem
  19767. to apply.
  19768. type: string
  19769. nodePublishSecretRef:
  19770. description: nodePublishSecretRef is a reference to the
  19771. secret object containing sensitive information to pass
  19772. to the CSI driver to complete the CSI NodePublishVolume
  19773. and NodeUnpublishVolume calls. This field is optional,
  19774. and may be empty if no secret is required. If the secret
  19775. object contains more than one secret, all secret references
  19776. are passed.
  19777. properties:
  19778. name:
  19779. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  19780. TODO: Add other useful fields. apiVersion, kind, uid?'
  19781. type: string
  19782. type: object
  19783. x-kubernetes-map-type: atomic
  19784. readOnly:
  19785. description: readOnly specifies a read-only configuration
  19786. for the volume. Defaults to false (read/write).
  19787. type: boolean
  19788. volumeAttributes:
  19789. additionalProperties:
  19790. type: string
  19791. description: volumeAttributes stores driver-specific properties
  19792. that are passed to the CSI driver. Consult your driver's
  19793. documentation for supported values.
  19794. type: object
  19795. required:
  19796. - driver
  19797. type: object
  19798. downwardAPI:
  19799. description: downwardAPI represents downward API about the pod
  19800. that should populate this volume
  19801. properties:
  19802. defaultMode:
  19803. description: 'Optional: mode bits to use on created files
  19804. by default. Must be a Optional: mode bits used to set
  19805. permissions on created files by default. Must be an octal
  19806. value between 0000 and 0777 or a decimal value between
  19807. 0 and 511. YAML accepts both octal and decimal values,
  19808. JSON requires decimal values for mode bits. Defaults to
  19809. 0644. Directories within the path are not affected by
  19810. this setting. This might be in conflict with other options
  19811. that affect the file mode, like fsGroup, and the result
  19812. can be other mode bits set.'
  19813. format: int32
  19814. type: integer
  19815. items:
  19816. description: Items is a list of downward API volume file
  19817. items:
  19818. description: DownwardAPIVolumeFile represents information
  19819. to create the file containing the pod field
  19820. properties:
  19821. fieldRef:
  19822. description: 'Required: Selects a field of the pod:
  19823. only annotations, labels, name and namespace are
  19824. supported.'
  19825. properties:
  19826. apiVersion:
  19827. description: Version of the schema the FieldPath
  19828. is written in terms of, defaults to "v1".
  19829. type: string
  19830. fieldPath:
  19831. description: Path of the field to select in the
  19832. specified API version.
  19833. type: string
  19834. required:
  19835. - fieldPath
  19836. type: object
  19837. x-kubernetes-map-type: atomic
  19838. mode:
  19839. description: 'Optional: mode bits used to set permissions
  19840. on this file, must be an octal value between 0000
  19841. and 0777 or a decimal value between 0 and 511. YAML
  19842. accepts both octal and decimal values, JSON requires
  19843. decimal values for mode bits. If not specified,
  19844. the volume defaultMode will be used. This might
  19845. be in conflict with other options that affect the
  19846. file mode, like fsGroup, and the result can be other
  19847. mode bits set.'
  19848. format: int32
  19849. type: integer
  19850. path:
  19851. description: 'Required: Path is the relative path
  19852. name of the file to be created. Must not be absolute
  19853. or contain the ''..'' path. Must be utf-8 encoded.
  19854. The first item of the relative path must not start
  19855. with ''..'''
  19856. type: string
  19857. resourceFieldRef:
  19858. description: 'Selects a resource of the container:
  19859. only resources limits and requests (limits.cpu,
  19860. limits.memory, requests.cpu and requests.memory)
  19861. are currently supported.'
  19862. properties:
  19863. containerName:
  19864. description: 'Container name: required for volumes,
  19865. optional for env vars'
  19866. type: string
  19867. divisor:
  19868. anyOf:
  19869. - type: integer
  19870. - type: string
  19871. description: Specifies the output format of the
  19872. exposed resources, defaults to "1"
  19873. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  19874. x-kubernetes-int-or-string: true
  19875. resource:
  19876. description: 'Required: resource to select'
  19877. type: string
  19878. required:
  19879. - resource
  19880. type: object
  19881. x-kubernetes-map-type: atomic
  19882. required:
  19883. - path
  19884. type: object
  19885. type: array
  19886. type: object
  19887. emptyDir:
  19888. description: 'emptyDir represents a temporary directory that
  19889. shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  19890. properties:
  19891. medium:
  19892. description: 'medium represents what type of storage medium
  19893. should back this directory. The default is "" which means
  19894. to use the node''s default medium. Must be an empty string
  19895. (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  19896. type: string
  19897. sizeLimit:
  19898. anyOf:
  19899. - type: integer
  19900. - type: string
  19901. description: 'sizeLimit is the total amount of local storage
  19902. required for this EmptyDir volume. The size limit is also
  19903. applicable for memory medium. The maximum usage on memory
  19904. medium EmptyDir would be the minimum value between the
  19905. SizeLimit specified here and the sum of memory limits
  19906. of all containers in a pod. The default is nil which means
  19907. that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  19908. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  19909. x-kubernetes-int-or-string: true
  19910. type: object
  19911. ephemeral:
  19912. description: "ephemeral represents a volume that is handled
  19913. by a cluster storage driver. The volume's lifecycle is tied
  19914. to the pod that defines it - it will be created before the
  19915. pod starts, and deleted when the pod is removed. \n Use this
  19916. if: a) the volume is only needed while the pod runs, b) features
  19917. of normal volumes like restoring from snapshot or capacity
  19918. tracking are needed, c) the storage driver is specified through
  19919. a storage class, and d) the storage driver supports dynamic
  19920. volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource
  19921. for more information on the connection between this volume
  19922. type and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  19923. or one of the vendor-specific APIs for volumes that persist
  19924. for longer than the lifecycle of an individual pod. \n Use
  19925. CSI for light-weight local ephemeral volumes if the CSI driver
  19926. is meant to be used that way - see the documentation of the
  19927. driver for more information. \n A pod can use both types of
  19928. ephemeral volumes and persistent volumes at the same time."
  19929. properties:
  19930. volumeClaimTemplate:
  19931. description: "Will be used to create a stand-alone PVC to
  19932. provision the volume. The pod in which this EphemeralVolumeSource
  19933. is embedded will be the owner of the PVC, i.e. the PVC
  19934. will be deleted together with the pod. The name of the
  19935. PVC will be `<pod name>-<volume name>` where `<volume
  19936. name>` is the name from the `PodSpec.Volumes` array entry.
  19937. Pod validation will reject the pod if the concatenated
  19938. name is not valid for a PVC (for example, too long). \n
  19939. An existing PVC with that name that is not owned by the
  19940. pod will *not* be used for the pod to avoid using an unrelated
  19941. volume by mistake. Starting the pod is then blocked until
  19942. the unrelated PVC is removed. If such a pre-created PVC
  19943. is meant to be used by the pod, the PVC has to updated
  19944. with an owner reference to the pod once the pod exists.
  19945. Normally this should not be necessary, but it may be useful
  19946. when manually reconstructing a broken cluster. \n This
  19947. field is read-only and no changes will be made by Kubernetes
  19948. to the PVC after it has been created. \n Required, must
  19949. not be nil."
  19950. properties:
  19951. metadata:
  19952. description: May contain labels and annotations that
  19953. will be copied into the PVC when creating it. No other
  19954. fields are allowed and will be rejected during validation.
  19955. type: object
  19956. spec:
  19957. description: The specification for the PersistentVolumeClaim.
  19958. The entire content is copied unchanged into the PVC
  19959. that gets created from this template. The same fields
  19960. as in a PersistentVolumeClaim are also valid here.
  19961. properties:
  19962. accessModes:
  19963. description: 'accessModes contains the desired access
  19964. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  19965. items:
  19966. type: string
  19967. type: array
  19968. dataSource:
  19969. description: 'dataSource field can be used to specify
  19970. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  19971. * An existing PVC (PersistentVolumeClaim) If the
  19972. provisioner or an external controller can support
  19973. the specified data source, it will create a new
  19974. volume based on the contents of the specified
  19975. data source. If the AnyVolumeDataSource feature
  19976. gate is enabled, this field will always have the
  19977. same contents as the DataSourceRef field.'
  19978. properties:
  19979. apiGroup:
  19980. description: APIGroup is the group for the resource
  19981. being referenced. If APIGroup is not specified,
  19982. the specified Kind must be in the core API
  19983. group. For any other third-party types, APIGroup
  19984. is required.
  19985. type: string
  19986. kind:
  19987. description: Kind is the type of resource being
  19988. referenced
  19989. type: string
  19990. name:
  19991. description: Name is the name of resource being
  19992. referenced
  19993. type: string
  19994. required:
  19995. - kind
  19996. - name
  19997. type: object
  19998. x-kubernetes-map-type: atomic
  19999. dataSourceRef:
  20000. description: 'dataSourceRef specifies the object
  20001. from which to populate the volume with data, if
  20002. a non-empty volume is desired. This may be any
  20003. local object from a non-empty API group (non core
  20004. object) or a PersistentVolumeClaim object. When
  20005. this field is specified, volume binding will only
  20006. succeed if the type of the specified object matches
  20007. some installed volume populator or dynamic provisioner.
  20008. This field will replace the functionality of the
  20009. DataSource field and as such if both fields are
  20010. non-empty, they must have the same value. For
  20011. backwards compatibility, both fields (DataSource
  20012. and DataSourceRef) will be set to the same value
  20013. automatically if one of them is empty and the
  20014. other is non-empty. There are two important differences
  20015. between DataSource and DataSourceRef: * While
  20016. DataSource only allows two specific types of objects,
  20017. DataSourceRef allows any non-core object, as well
  20018. as PersistentVolumeClaim objects. * While DataSource
  20019. ignores disallowed values (dropping them), DataSourceRef
  20020. preserves all values, and generates an error if
  20021. a disallowed value is specified. (Beta) Using
  20022. this field requires the AnyVolumeDataSource feature
  20023. gate to be enabled.'
  20024. properties:
  20025. apiGroup:
  20026. description: APIGroup is the group for the resource
  20027. being referenced. If APIGroup is not specified,
  20028. the specified Kind must be in the core API
  20029. group. For any other third-party types, APIGroup
  20030. is required.
  20031. type: string
  20032. kind:
  20033. description: Kind is the type of resource being
  20034. referenced
  20035. type: string
  20036. name:
  20037. description: Name is the name of resource being
  20038. referenced
  20039. type: string
  20040. required:
  20041. - kind
  20042. - name
  20043. type: object
  20044. x-kubernetes-map-type: atomic
  20045. resources:
  20046. description: 'resources represents the minimum resources
  20047. the volume should have. If RecoverVolumeExpansionFailure
  20048. feature is enabled users are allowed to specify
  20049. resource requirements that are lower than previous
  20050. value but must still be higher than capacity recorded
  20051. in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  20052. properties:
  20053. limits:
  20054. additionalProperties:
  20055. anyOf:
  20056. - type: integer
  20057. - type: string
  20058. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  20059. x-kubernetes-int-or-string: true
  20060. description: 'Limits describes the maximum amount
  20061. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  20062. type: object
  20063. requests:
  20064. additionalProperties:
  20065. anyOf:
  20066. - type: integer
  20067. - type: string
  20068. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  20069. x-kubernetes-int-or-string: true
  20070. description: 'Requests describes the minimum
  20071. amount of compute resources required. If Requests
  20072. is omitted for a container, it defaults to
  20073. Limits if that is explicitly specified, otherwise
  20074. to an implementation-defined value. More info:
  20075. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  20076. type: object
  20077. type: object
  20078. selector:
  20079. description: selector is a label query over volumes
  20080. to consider for binding.
  20081. properties:
  20082. matchExpressions:
  20083. description: matchExpressions is a list of label
  20084. selector requirements. The requirements are
  20085. ANDed.
  20086. items:
  20087. description: A label selector requirement
  20088. is a selector that contains values, a key,
  20089. and an operator that relates the key and
  20090. values.
  20091. properties:
  20092. key:
  20093. description: key is the label key that
  20094. the selector applies to.
  20095. type: string
  20096. operator:
  20097. description: operator represents a key's
  20098. relationship to a set of values. Valid
  20099. operators are In, NotIn, Exists and
  20100. DoesNotExist.
  20101. type: string
  20102. values:
  20103. description: values is an array of string
  20104. values. If the operator is In or NotIn,
  20105. the values array must be non-empty.
  20106. If the operator is Exists or DoesNotExist,
  20107. the values array must be empty. This
  20108. array is replaced during a strategic
  20109. merge patch.
  20110. items:
  20111. type: string
  20112. type: array
  20113. required:
  20114. - key
  20115. - operator
  20116. type: object
  20117. type: array
  20118. matchLabels:
  20119. additionalProperties:
  20120. type: string
  20121. description: matchLabels is a map of {key,value}
  20122. pairs. A single {key,value} in the matchLabels
  20123. map is equivalent to an element of matchExpressions,
  20124. whose key field is "key", the operator is
  20125. "In", and the values array contains only "value".
  20126. The requirements are ANDed.
  20127. type: object
  20128. type: object
  20129. x-kubernetes-map-type: atomic
  20130. storageClassName:
  20131. description: 'storageClassName is the name of the
  20132. StorageClass required by the claim. More info:
  20133. https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  20134. type: string
  20135. volumeMode:
  20136. description: volumeMode defines what type of volume
  20137. is required by the claim. Value of Filesystem
  20138. is implied when not included in claim spec.
  20139. type: string
  20140. volumeName:
  20141. description: volumeName is the binding reference
  20142. to the PersistentVolume backing this claim.
  20143. type: string
  20144. type: object
  20145. required:
  20146. - spec
  20147. type: object
  20148. type: object
  20149. fc:
  20150. description: fc represents a Fibre Channel resource that is
  20151. attached to a kubelet's host machine and then exposed to the
  20152. pod.
  20153. properties:
  20154. fsType:
  20155. description: 'fsType is the filesystem type to mount. Must
  20156. be a filesystem type supported by the host operating system.
  20157. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  20158. if unspecified. TODO: how do we prevent errors in the
  20159. filesystem from compromising the machine'
  20160. type: string
  20161. lun:
  20162. description: 'lun is Optional: FC target lun number'
  20163. format: int32
  20164. type: integer
  20165. readOnly:
  20166. description: 'readOnly is Optional: Defaults to false (read/write).
  20167. ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  20168. type: boolean
  20169. targetWWNs:
  20170. description: 'targetWWNs is Optional: FC target worldwide
  20171. names (WWNs)'
  20172. items:
  20173. type: string
  20174. type: array
  20175. wwids:
  20176. description: 'wwids Optional: FC volume world wide identifiers
  20177. (wwids) Either wwids or combination of targetWWNs and
  20178. lun must be set, but not both simultaneously.'
  20179. items:
  20180. type: string
  20181. type: array
  20182. type: object
  20183. flexVolume:
  20184. description: flexVolume represents a generic volume resource
  20185. that is provisioned/attached using an exec based plugin.
  20186. properties:
  20187. driver:
  20188. description: driver is the name of the driver to use for
  20189. this volume.
  20190. type: string
  20191. fsType:
  20192. description: fsType is the filesystem type to mount. Must
  20193. be a filesystem type supported by the host operating system.
  20194. Ex. "ext4", "xfs", "ntfs". The default filesystem depends
  20195. on FlexVolume script.
  20196. type: string
  20197. options:
  20198. additionalProperties:
  20199. type: string
  20200. description: 'options is Optional: this field holds extra
  20201. command options if any.'
  20202. type: object
  20203. readOnly:
  20204. description: 'readOnly is Optional: defaults to false (read/write).
  20205. ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  20206. type: boolean
  20207. secretRef:
  20208. description: 'secretRef is Optional: secretRef is reference
  20209. to the secret object containing sensitive information
  20210. to pass to the plugin scripts. This may be empty if no
  20211. secret object is specified. If the secret object contains
  20212. more than one secret, all secrets are passed to the plugin
  20213. scripts.'
  20214. properties:
  20215. name:
  20216. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  20217. TODO: Add other useful fields. apiVersion, kind, uid?'
  20218. type: string
  20219. type: object
  20220. x-kubernetes-map-type: atomic
  20221. required:
  20222. - driver
  20223. type: object
  20224. flocker:
  20225. description: flocker represents a Flocker volume attached to
  20226. a kubelet's host machine. This depends on the Flocker control
  20227. service being running
  20228. properties:
  20229. datasetName:
  20230. description: datasetName is Name of the dataset stored as
  20231. metadata -> name on the dataset for Flocker should be
  20232. considered as deprecated
  20233. type: string
  20234. datasetUUID:
  20235. description: datasetUUID is the UUID of the dataset. This
  20236. is unique identifier of a Flocker dataset
  20237. type: string
  20238. type: object
  20239. gcePersistentDisk:
  20240. description: 'gcePersistentDisk represents a GCE Disk resource
  20241. that is attached to a kubelet''s host machine and then exposed
  20242. to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  20243. properties:
  20244. fsType:
  20245. description: 'fsType is filesystem type of the volume that
  20246. you want to mount. Tip: Ensure that the filesystem type
  20247. is supported by the host operating system. Examples: "ext4",
  20248. "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  20249. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  20250. TODO: how do we prevent errors in the filesystem from
  20251. compromising the machine'
  20252. type: string
  20253. partition:
  20254. description: 'partition is the partition in the volume that
  20255. you want to mount. If omitted, the default is to mount
  20256. by volume name. Examples: For volume /dev/sda1, you specify
  20257. the partition as "1". Similarly, the volume partition
  20258. for /dev/sda is "0" (or you can leave the property empty).
  20259. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  20260. format: int32
  20261. type: integer
  20262. pdName:
  20263. description: 'pdName is unique name of the PD resource in
  20264. GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  20265. type: string
  20266. readOnly:
  20267. description: 'readOnly here will force the ReadOnly setting
  20268. in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  20269. type: boolean
  20270. required:
  20271. - pdName
  20272. type: object
  20273. gitRepo:
  20274. description: 'gitRepo represents a git repository at a particular
  20275. revision. DEPRECATED: GitRepo is deprecated. To provision
  20276. a container with a git repo, mount an EmptyDir into an InitContainer
  20277. that clones the repo using git, then mount the EmptyDir into
  20278. the Pod''s container.'
  20279. properties:
  20280. directory:
  20281. description: directory is the target directory name. Must
  20282. not contain or start with '..'. If '.' is supplied, the
  20283. volume directory will be the git repository. Otherwise,
  20284. if specified, the volume will contain the git repository
  20285. in the subdirectory with the given name.
  20286. type: string
  20287. repository:
  20288. description: repository is the URL
  20289. type: string
  20290. revision:
  20291. description: revision is the commit hash for the specified
  20292. revision.
  20293. type: string
  20294. required:
  20295. - repository
  20296. type: object
  20297. glusterfs:
  20298. description: 'glusterfs represents a Glusterfs mount on the
  20299. host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  20300. properties:
  20301. endpoints:
  20302. description: 'endpoints is the endpoint name that details
  20303. Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  20304. type: string
  20305. path:
  20306. description: 'path is the Glusterfs volume path. More info:
  20307. https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  20308. type: string
  20309. readOnly:
  20310. description: 'readOnly here will force the Glusterfs volume
  20311. to be mounted with read-only permissions. Defaults to
  20312. false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  20313. type: boolean
  20314. required:
  20315. - endpoints
  20316. - path
  20317. type: object
  20318. hostPath:
  20319. description: 'hostPath represents a pre-existing file or directory
  20320. on the host machine that is directly exposed to the container.
  20321. This is generally used for system agents or other privileged
  20322. things that are allowed to see the host machine. Most containers
  20323. will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  20324. --- TODO(jonesdl) We need to restrict who can use host directory
  20325. mounts and who can/can not mount host directories as read/write.'
  20326. properties:
  20327. path:
  20328. description: 'path of the directory on the host. If the
  20329. path is a symlink, it will follow the link to the real
  20330. path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  20331. type: string
  20332. type:
  20333. description: 'type for HostPath Volume Defaults to "" More
  20334. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  20335. type: string
  20336. required:
  20337. - path
  20338. type: object
  20339. iscsi:
  20340. description: 'iscsi represents an ISCSI Disk resource that is
  20341. attached to a kubelet''s host machine and then exposed to
  20342. the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  20343. properties:
  20344. chapAuthDiscovery:
  20345. description: chapAuthDiscovery defines whether support iSCSI
  20346. Discovery CHAP authentication
  20347. type: boolean
  20348. chapAuthSession:
  20349. description: chapAuthSession defines whether support iSCSI
  20350. Session CHAP authentication
  20351. type: boolean
  20352. fsType:
  20353. description: 'fsType is the filesystem type of the volume
  20354. that you want to mount. Tip: Ensure that the filesystem
  20355. type is supported by the host operating system. Examples:
  20356. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  20357. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  20358. TODO: how do we prevent errors in the filesystem from
  20359. compromising the machine'
  20360. type: string
  20361. initiatorName:
  20362. description: initiatorName is the custom iSCSI Initiator
  20363. Name. If initiatorName is specified with iscsiInterface
  20364. simultaneously, new iSCSI interface <target portal>:<volume
  20365. name> will be created for the connection.
  20366. type: string
  20367. iqn:
  20368. description: iqn is the target iSCSI Qualified Name.
  20369. type: string
  20370. iscsiInterface:
  20371. description: iscsiInterface is the interface Name that uses
  20372. an iSCSI transport. Defaults to 'default' (tcp).
  20373. type: string
  20374. lun:
  20375. description: lun represents iSCSI Target Lun number.
  20376. format: int32
  20377. type: integer
  20378. portals:
  20379. description: portals is the iSCSI Target Portal List. The
  20380. portal is either an IP or ip_addr:port if the port is
  20381. other than default (typically TCP ports 860 and 3260).
  20382. items:
  20383. type: string
  20384. type: array
  20385. readOnly:
  20386. description: readOnly here will force the ReadOnly setting
  20387. in VolumeMounts. Defaults to false.
  20388. type: boolean
  20389. secretRef:
  20390. description: secretRef is the CHAP Secret for iSCSI target
  20391. and initiator authentication
  20392. properties:
  20393. name:
  20394. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  20395. TODO: Add other useful fields. apiVersion, kind, uid?'
  20396. type: string
  20397. type: object
  20398. x-kubernetes-map-type: atomic
  20399. targetPortal:
  20400. description: targetPortal is iSCSI Target Portal. The Portal
  20401. is either an IP or ip_addr:port if the port is other than
  20402. default (typically TCP ports 860 and 3260).
  20403. type: string
  20404. required:
  20405. - iqn
  20406. - lun
  20407. - targetPortal
  20408. type: object
  20409. name:
  20410. description: 'name of the volume. Must be a DNS_LABEL and unique
  20411. within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  20412. type: string
  20413. nfs:
  20414. description: 'nfs represents an NFS mount on the host that shares
  20415. a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  20416. properties:
  20417. path:
  20418. description: 'path that is exported by the NFS server. More
  20419. info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  20420. type: string
  20421. readOnly:
  20422. description: 'readOnly here will force the NFS export to
  20423. be mounted with read-only permissions. Defaults to false.
  20424. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  20425. type: boolean
  20426. server:
  20427. description: 'server is the hostname or IP address of the
  20428. NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  20429. type: string
  20430. required:
  20431. - path
  20432. - server
  20433. type: object
  20434. persistentVolumeClaim:
  20435. description: 'persistentVolumeClaimVolumeSource represents a
  20436. reference to a PersistentVolumeClaim in the same namespace.
  20437. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  20438. properties:
  20439. claimName:
  20440. description: 'claimName is the name of a PersistentVolumeClaim
  20441. in the same namespace as the pod using this volume. More
  20442. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  20443. type: string
  20444. readOnly:
  20445. description: readOnly Will force the ReadOnly setting in
  20446. VolumeMounts. Default false.
  20447. type: boolean
  20448. required:
  20449. - claimName
  20450. type: object
  20451. photonPersistentDisk:
  20452. description: photonPersistentDisk represents a PhotonController
  20453. persistent disk attached and mounted on kubelets host machine
  20454. properties:
  20455. fsType:
  20456. description: fsType is the filesystem type to mount. Must
  20457. be a filesystem type supported by the host operating system.
  20458. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  20459. if unspecified.
  20460. type: string
  20461. pdID:
  20462. description: pdID is the ID that identifies Photon Controller
  20463. persistent disk
  20464. type: string
  20465. required:
  20466. - pdID
  20467. type: object
  20468. portworxVolume:
  20469. description: portworxVolume represents a portworx volume attached
  20470. and mounted on kubelets host machine
  20471. properties:
  20472. fsType:
  20473. description: fSType represents the filesystem type to mount
  20474. Must be a filesystem type supported by the host operating
  20475. system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4"
  20476. if unspecified.
  20477. type: string
  20478. readOnly:
  20479. description: readOnly defaults to false (read/write). ReadOnly
  20480. here will force the ReadOnly setting in VolumeMounts.
  20481. type: boolean
  20482. volumeID:
  20483. description: volumeID uniquely identifies a Portworx volume
  20484. type: string
  20485. required:
  20486. - volumeID
  20487. type: object
  20488. projected:
  20489. description: projected items for all in one resources secrets,
  20490. configmaps, and downward API
  20491. properties:
  20492. defaultMode:
  20493. description: defaultMode are the mode bits used to set permissions
  20494. on created files by default. Must be an octal value between
  20495. 0000 and 0777 or a decimal value between 0 and 511. YAML
  20496. accepts both octal and decimal values, JSON requires decimal
  20497. values for mode bits. Directories within the path are
  20498. not affected by this setting. This might be in conflict
  20499. with other options that affect the file mode, like fsGroup,
  20500. and the result can be other mode bits set.
  20501. format: int32
  20502. type: integer
  20503. sources:
  20504. description: sources is the list of volume projections
  20505. items:
  20506. description: Projection that may be projected along with
  20507. other supported volume types
  20508. properties:
  20509. configMap:
  20510. description: configMap information about the configMap
  20511. data to project
  20512. properties:
  20513. items:
  20514. description: items if unspecified, each key-value
  20515. pair in the Data field of the referenced ConfigMap
  20516. will be projected into the volume as a file
  20517. whose name is the key and content is the value.
  20518. If specified, the listed keys will be projected
  20519. into the specified paths, and unlisted keys
  20520. will not be present. If a key is specified which
  20521. is not present in the ConfigMap, the volume
  20522. setup will error unless it is marked optional.
  20523. Paths must be relative and may not contain the
  20524. '..' path or start with '..'.
  20525. items:
  20526. description: Maps a string key to a path within
  20527. a volume.
  20528. properties:
  20529. key:
  20530. description: key is the key to project.
  20531. type: string
  20532. mode:
  20533. description: 'mode is Optional: mode bits
  20534. used to set permissions on this file.
  20535. Must be an octal value between 0000 and
  20536. 0777 or a decimal value between 0 and
  20537. 511. YAML accepts both octal and decimal
  20538. values, JSON requires decimal values for
  20539. mode bits. If not specified, the volume
  20540. defaultMode will be used. This might be
  20541. in conflict with other options that affect
  20542. the file mode, like fsGroup, and the result
  20543. can be other mode bits set.'
  20544. format: int32
  20545. type: integer
  20546. path:
  20547. description: path is the relative path of
  20548. the file to map the key to. May not be
  20549. an absolute path. May not contain the
  20550. path element '..'. May not start with
  20551. the string '..'.
  20552. type: string
  20553. required:
  20554. - key
  20555. - path
  20556. type: object
  20557. type: array
  20558. name:
  20559. description: 'Name of the referent. More info:
  20560. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  20561. TODO: Add other useful fields. apiVersion, kind,
  20562. uid?'
  20563. type: string
  20564. optional:
  20565. description: optional specify whether the ConfigMap
  20566. or its keys must be defined
  20567. type: boolean
  20568. type: object
  20569. x-kubernetes-map-type: atomic
  20570. downwardAPI:
  20571. description: downwardAPI information about the downwardAPI
  20572. data to project
  20573. properties:
  20574. items:
  20575. description: Items is a list of DownwardAPIVolume
  20576. file
  20577. items:
  20578. description: DownwardAPIVolumeFile represents
  20579. information to create the file containing
  20580. the pod field
  20581. properties:
  20582. fieldRef:
  20583. description: 'Required: Selects a field
  20584. of the pod: only annotations, labels,
  20585. name and namespace are supported.'
  20586. properties:
  20587. apiVersion:
  20588. description: Version of the schema the
  20589. FieldPath is written in terms of,
  20590. defaults to "v1".
  20591. type: string
  20592. fieldPath:
  20593. description: Path of the field to select
  20594. in the specified API version.
  20595. type: string
  20596. required:
  20597. - fieldPath
  20598. type: object
  20599. x-kubernetes-map-type: atomic
  20600. mode:
  20601. description: 'Optional: mode bits used to
  20602. set permissions on this file, must be
  20603. an octal value between 0000 and 0777 or
  20604. a decimal value between 0 and 511. YAML
  20605. accepts both octal and decimal values,
  20606. JSON requires decimal values for mode
  20607. bits. If not specified, the volume defaultMode
  20608. will be used. This might be in conflict
  20609. with other options that affect the file
  20610. mode, like fsGroup, and the result can
  20611. be other mode bits set.'
  20612. format: int32
  20613. type: integer
  20614. path:
  20615. description: 'Required: Path is the relative
  20616. path name of the file to be created. Must
  20617. not be absolute or contain the ''..''
  20618. path. Must be utf-8 encoded. The first
  20619. item of the relative path must not start
  20620. with ''..'''
  20621. type: string
  20622. resourceFieldRef:
  20623. description: 'Selects a resource of the
  20624. container: only resources limits and requests
  20625. (limits.cpu, limits.memory, requests.cpu
  20626. and requests.memory) are currently supported.'
  20627. properties:
  20628. containerName:
  20629. description: 'Container name: required
  20630. for volumes, optional for env vars'
  20631. type: string
  20632. divisor:
  20633. anyOf:
  20634. - type: integer
  20635. - type: string
  20636. description: Specifies the output format
  20637. of the exposed resources, defaults
  20638. to "1"
  20639. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  20640. x-kubernetes-int-or-string: true
  20641. resource:
  20642. description: 'Required: resource to
  20643. select'
  20644. type: string
  20645. required:
  20646. - resource
  20647. type: object
  20648. x-kubernetes-map-type: atomic
  20649. required:
  20650. - path
  20651. type: object
  20652. type: array
  20653. type: object
  20654. secret:
  20655. description: secret information about the secret data
  20656. to project
  20657. properties:
  20658. items:
  20659. description: items if unspecified, each key-value
  20660. pair in the Data field of the referenced Secret
  20661. will be projected into the volume as a file
  20662. whose name is the key and content is the value.
  20663. If specified, the listed keys will be projected
  20664. into the specified paths, and unlisted keys
  20665. will not be present. If a key is specified which
  20666. is not present in the Secret, the volume setup
  20667. will error unless it is marked optional. Paths
  20668. must be relative and may not contain the '..'
  20669. path or start with '..'.
  20670. items:
  20671. description: Maps a string key to a path within
  20672. a volume.
  20673. properties:
  20674. key:
  20675. description: key is the key to project.
  20676. type: string
  20677. mode:
  20678. description: 'mode is Optional: mode bits
  20679. used to set permissions on this file.
  20680. Must be an octal value between 0000 and
  20681. 0777 or a decimal value between 0 and
  20682. 511. YAML accepts both octal and decimal
  20683. values, JSON requires decimal values for
  20684. mode bits. If not specified, the volume
  20685. defaultMode will be used. This might be
  20686. in conflict with other options that affect
  20687. the file mode, like fsGroup, and the result
  20688. can be other mode bits set.'
  20689. format: int32
  20690. type: integer
  20691. path:
  20692. description: path is the relative path of
  20693. the file to map the key to. May not be
  20694. an absolute path. May not contain the
  20695. path element '..'. May not start with
  20696. the string '..'.
  20697. type: string
  20698. required:
  20699. - key
  20700. - path
  20701. type: object
  20702. type: array
  20703. name:
  20704. description: 'Name of the referent. More info:
  20705. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  20706. TODO: Add other useful fields. apiVersion, kind,
  20707. uid?'
  20708. type: string
  20709. optional:
  20710. description: optional field specify whether the
  20711. Secret or its key must be defined
  20712. type: boolean
  20713. type: object
  20714. x-kubernetes-map-type: atomic
  20715. serviceAccountToken:
  20716. description: serviceAccountToken is information about
  20717. the serviceAccountToken data to project
  20718. properties:
  20719. audience:
  20720. description: audience is the intended audience
  20721. of the token. A recipient of a token must identify
  20722. itself with an identifier specified in the audience
  20723. of the token, and otherwise should reject the
  20724. token. The audience defaults to the identifier
  20725. of the apiserver.
  20726. type: string
  20727. expirationSeconds:
  20728. description: expirationSeconds is the requested
  20729. duration of validity of the service account
  20730. token. As the token approaches expiration, the
  20731. kubelet volume plugin will proactively rotate
  20732. the service account token. The kubelet will
  20733. start trying to rotate the token if the token
  20734. is older than 80 percent of its time to live
  20735. or if the token is older than 24 hours.Defaults
  20736. to 1 hour and must be at least 10 minutes.
  20737. format: int64
  20738. type: integer
  20739. path:
  20740. description: path is the path relative to the
  20741. mount point of the file to project the token
  20742. into.
  20743. type: string
  20744. required:
  20745. - path
  20746. type: object
  20747. type: object
  20748. type: array
  20749. type: object
  20750. quobyte:
  20751. description: quobyte represents a Quobyte mount on the host
  20752. that shares a pod's lifetime
  20753. properties:
  20754. group:
  20755. description: group to map volume access to Default is no
  20756. group
  20757. type: string
  20758. readOnly:
  20759. description: readOnly here will force the Quobyte volume
  20760. to be mounted with read-only permissions. Defaults to
  20761. false.
  20762. type: boolean
  20763. registry:
  20764. description: registry represents a single or multiple Quobyte
  20765. Registry services specified as a string as host:port pair
  20766. (multiple entries are separated with commas) which acts
  20767. as the central registry for volumes
  20768. type: string
  20769. tenant:
  20770. description: tenant owning the given Quobyte volume in the
  20771. Backend Used with dynamically provisioned Quobyte volumes,
  20772. value is set by the plugin
  20773. type: string
  20774. user:
  20775. description: user to map volume access to Defaults to serivceaccount
  20776. user
  20777. type: string
  20778. volume:
  20779. description: volume is a string that references an already
  20780. created Quobyte volume by name.
  20781. type: string
  20782. required:
  20783. - registry
  20784. - volume
  20785. type: object
  20786. rbd:
  20787. description: 'rbd represents a Rados Block Device mount on the
  20788. host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md'
  20789. properties:
  20790. fsType:
  20791. description: 'fsType is the filesystem type of the volume
  20792. that you want to mount. Tip: Ensure that the filesystem
  20793. type is supported by the host operating system. Examples:
  20794. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  20795. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  20796. TODO: how do we prevent errors in the filesystem from
  20797. compromising the machine'
  20798. type: string
  20799. image:
  20800. description: 'image is the rados image name. More info:
  20801. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  20802. type: string
  20803. keyring:
  20804. description: 'keyring is the path to key ring for RBDUser.
  20805. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  20806. type: string
  20807. monitors:
  20808. description: 'monitors is a collection of Ceph monitors.
  20809. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  20810. items:
  20811. type: string
  20812. type: array
  20813. pool:
  20814. description: 'pool is the rados pool name. Default is rbd.
  20815. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  20816. type: string
  20817. readOnly:
  20818. description: 'readOnly here will force the ReadOnly setting
  20819. in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  20820. type: boolean
  20821. secretRef:
  20822. description: 'secretRef is name of the authentication secret
  20823. for RBDUser. If provided overrides keyring. Default is
  20824. nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  20825. properties:
  20826. name:
  20827. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  20828. TODO: Add other useful fields. apiVersion, kind, uid?'
  20829. type: string
  20830. type: object
  20831. x-kubernetes-map-type: atomic
  20832. user:
  20833. description: 'user is the rados user name. Default is admin.
  20834. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  20835. type: string
  20836. required:
  20837. - image
  20838. - monitors
  20839. type: object
  20840. scaleIO:
  20841. description: scaleIO represents a ScaleIO persistent volume
  20842. attached and mounted on Kubernetes nodes.
  20843. properties:
  20844. fsType:
  20845. description: fsType is the filesystem type to mount. Must
  20846. be a filesystem type supported by the host operating system.
  20847. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  20848. type: string
  20849. gateway:
  20850. description: gateway is the host address of the ScaleIO
  20851. API Gateway.
  20852. type: string
  20853. protectionDomain:
  20854. description: protectionDomain is the name of the ScaleIO
  20855. Protection Domain for the configured storage.
  20856. type: string
  20857. readOnly:
  20858. description: readOnly Defaults to false (read/write). ReadOnly
  20859. here will force the ReadOnly setting in VolumeMounts.
  20860. type: boolean
  20861. secretRef:
  20862. description: secretRef references to the secret for ScaleIO
  20863. user and other sensitive information. If this is not provided,
  20864. Login operation will fail.
  20865. properties:
  20866. name:
  20867. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  20868. TODO: Add other useful fields. apiVersion, kind, uid?'
  20869. type: string
  20870. type: object
  20871. x-kubernetes-map-type: atomic
  20872. sslEnabled:
  20873. description: sslEnabled Flag enable/disable SSL communication
  20874. with Gateway, default false
  20875. type: boolean
  20876. storageMode:
  20877. description: storageMode indicates whether the storage for
  20878. a volume should be ThickProvisioned or ThinProvisioned.
  20879. Default is ThinProvisioned.
  20880. type: string
  20881. storagePool:
  20882. description: storagePool is the ScaleIO Storage Pool associated
  20883. with the protection domain.
  20884. type: string
  20885. system:
  20886. description: system is the name of the storage system as
  20887. configured in ScaleIO.
  20888. type: string
  20889. volumeName:
  20890. description: volumeName is the name of a volume already
  20891. created in the ScaleIO system that is associated with
  20892. this volume source.
  20893. type: string
  20894. required:
  20895. - gateway
  20896. - secretRef
  20897. - system
  20898. type: object
  20899. secret:
  20900. description: 'secret represents a secret that should populate
  20901. this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  20902. properties:
  20903. defaultMode:
  20904. description: 'defaultMode is Optional: mode bits used to
  20905. set permissions on created files by default. Must be an
  20906. octal value between 0000 and 0777 or a decimal value between
  20907. 0 and 511. YAML accepts both octal and decimal values,
  20908. JSON requires decimal values for mode bits. Defaults to
  20909. 0644. Directories within the path are not affected by
  20910. this setting. This might be in conflict with other options
  20911. that affect the file mode, like fsGroup, and the result
  20912. can be other mode bits set.'
  20913. format: int32
  20914. type: integer
  20915. items:
  20916. description: items If unspecified, each key-value pair in
  20917. the Data field of the referenced Secret will be projected
  20918. into the volume as a file whose name is the key and content
  20919. is the value. If specified, the listed keys will be projected
  20920. into the specified paths, and unlisted keys will not be
  20921. present. If a key is specified which is not present in
  20922. the Secret, the volume setup will error unless it is marked
  20923. optional. Paths must be relative and may not contain the
  20924. '..' path or start with '..'.
  20925. items:
  20926. description: Maps a string key to a path within a volume.
  20927. properties:
  20928. key:
  20929. description: key is the key to project.
  20930. type: string
  20931. mode:
  20932. description: 'mode is Optional: mode bits used to
  20933. set permissions on this file. Must be an octal value
  20934. between 0000 and 0777 or a decimal value between
  20935. 0 and 511. YAML accepts both octal and decimal values,
  20936. JSON requires decimal values for mode bits. If not
  20937. specified, the volume defaultMode will be used.
  20938. This might be in conflict with other options that
  20939. affect the file mode, like fsGroup, and the result
  20940. can be other mode bits set.'
  20941. format: int32
  20942. type: integer
  20943. path:
  20944. description: path is the relative path of the file
  20945. to map the key to. May not be an absolute path.
  20946. May not contain the path element '..'. May not start
  20947. with the string '..'.
  20948. type: string
  20949. required:
  20950. - key
  20951. - path
  20952. type: object
  20953. type: array
  20954. optional:
  20955. description: optional field specify whether the Secret or
  20956. its keys must be defined
  20957. type: boolean
  20958. secretName:
  20959. description: 'secretName is the name of the secret in the
  20960. pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  20961. type: string
  20962. type: object
  20963. storageos:
  20964. description: storageOS represents a StorageOS volume attached
  20965. and mounted on Kubernetes nodes.
  20966. properties:
  20967. fsType:
  20968. description: fsType is the filesystem type to mount. Must
  20969. be a filesystem type supported by the host operating system.
  20970. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  20971. if unspecified.
  20972. type: string
  20973. readOnly:
  20974. description: readOnly defaults to false (read/write). ReadOnly
  20975. here will force the ReadOnly setting in VolumeMounts.
  20976. type: boolean
  20977. secretRef:
  20978. description: secretRef specifies the secret to use for obtaining
  20979. the StorageOS API credentials. If not specified, default
  20980. values will be attempted.
  20981. properties:
  20982. name:
  20983. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  20984. TODO: Add other useful fields. apiVersion, kind, uid?'
  20985. type: string
  20986. type: object
  20987. x-kubernetes-map-type: atomic
  20988. volumeName:
  20989. description: volumeName is the human-readable name of the
  20990. StorageOS volume. Volume names are only unique within
  20991. a namespace.
  20992. type: string
  20993. volumeNamespace:
  20994. description: volumeNamespace specifies the scope of the
  20995. volume within StorageOS. If no namespace is specified
  20996. then the Pod's namespace will be used. This allows the
  20997. Kubernetes name scoping to be mirrored within StorageOS
  20998. for tighter integration. Set VolumeName to any name to
  20999. override the default behaviour. Set to "default" if you
  21000. are not using namespaces within StorageOS. Namespaces
  21001. that do not pre-exist within StorageOS will be created.
  21002. type: string
  21003. type: object
  21004. vsphereVolume:
  21005. description: vsphereVolume represents a vSphere volume attached
  21006. and mounted on kubelets host machine
  21007. properties:
  21008. fsType:
  21009. description: fsType is filesystem type to mount. Must be
  21010. a filesystem type supported by the host operating system.
  21011. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  21012. if unspecified.
  21013. type: string
  21014. storagePolicyID:
  21015. description: storagePolicyID is the storage Policy Based
  21016. Management (SPBM) profile ID associated with the StoragePolicyName.
  21017. type: string
  21018. storagePolicyName:
  21019. description: storagePolicyName is the storage Policy Based
  21020. Management (SPBM) profile name.
  21021. type: string
  21022. volumePath:
  21023. description: volumePath is the path that identifies vSphere
  21024. volume vmdk
  21025. type: string
  21026. required:
  21027. - volumePath
  21028. type: object
  21029. required:
  21030. - name
  21031. type: object
  21032. type: array
  21033. walCompression:
  21034. description: Enable compression of the write-ahead log using Snappy.
  21035. This flag is only available in versions of Prometheus >= 2.11.0.
  21036. type: boolean
  21037. web:
  21038. description: Defines the web command line flags when starting Prometheus.
  21039. properties:
  21040. httpConfig:
  21041. description: Defines HTTP parameters for web server.
  21042. properties:
  21043. headers:
  21044. description: List of headers that can be added to HTTP responses.
  21045. properties:
  21046. contentSecurityPolicy:
  21047. description: Set the Content-Security-Policy header to
  21048. HTTP responses. Unset if blank.
  21049. type: string
  21050. strictTransportSecurity:
  21051. description: Set the Strict-Transport-Security header
  21052. to HTTP responses. Unset if blank. Please make sure
  21053. that you use this with care as this header might force
  21054. browsers to load Prometheus and the other applications
  21055. hosted on the same domain and subdomains over HTTPS.
  21056. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
  21057. type: string
  21058. xContentTypeOptions:
  21059. description: Set the X-Content-Type-Options header to
  21060. HTTP responses. Unset if blank. Accepted value is nosniff.
  21061. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
  21062. enum:
  21063. - ""
  21064. - NoSniff
  21065. type: string
  21066. xFrameOptions:
  21067. description: Set the X-Frame-Options header to HTTP responses.
  21068. Unset if blank. Accepted values are deny and sameorigin.
  21069. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
  21070. enum:
  21071. - ""
  21072. - Deny
  21073. - SameOrigin
  21074. type: string
  21075. xXSSProtection:
  21076. description: Set the X-XSS-Protection header to all responses.
  21077. Unset if blank. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
  21078. type: string
  21079. type: object
  21080. http2:
  21081. description: Enable HTTP/2 support. Note that HTTP/2 is only
  21082. supported with TLS. When TLSConfig is not configured, HTTP/2
  21083. will be disabled. Whenever the value of the field changes,
  21084. a rolling update will be triggered.
  21085. type: boolean
  21086. type: object
  21087. pageTitle:
  21088. description: The prometheus web page title
  21089. type: string
  21090. tlsConfig:
  21091. description: Defines the TLS parameters for HTTPS.
  21092. properties:
  21093. cert:
  21094. description: Contains the TLS certificate for the server.
  21095. properties:
  21096. configMap:
  21097. description: ConfigMap containing data to use for the
  21098. targets.
  21099. properties:
  21100. key:
  21101. description: The key to select.
  21102. type: string
  21103. name:
  21104. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21105. TODO: Add other useful fields. apiVersion, kind,
  21106. uid?'
  21107. type: string
  21108. optional:
  21109. description: Specify whether the ConfigMap or its
  21110. key must be defined
  21111. type: boolean
  21112. required:
  21113. - key
  21114. type: object
  21115. x-kubernetes-map-type: atomic
  21116. secret:
  21117. description: Secret containing data to use for the targets.
  21118. properties:
  21119. key:
  21120. description: The key of the secret to select from. Must
  21121. be a valid secret key.
  21122. type: string
  21123. name:
  21124. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21125. TODO: Add other useful fields. apiVersion, kind,
  21126. uid?'
  21127. type: string
  21128. optional:
  21129. description: Specify whether the Secret or its key
  21130. must be defined
  21131. type: boolean
  21132. required:
  21133. - key
  21134. type: object
  21135. x-kubernetes-map-type: atomic
  21136. type: object
  21137. cipherSuites:
  21138. description: 'List of supported cipher suites for TLS versions
  21139. up to TLS 1.2. If empty, Go default cipher suites are used.
  21140. Available cipher suites are documented in the go documentation:
  21141. https://golang.org/pkg/crypto/tls/#pkg-constants'
  21142. items:
  21143. type: string
  21144. type: array
  21145. client_ca:
  21146. description: Contains the CA certificate for client certificate
  21147. authentication to the server.
  21148. properties:
  21149. configMap:
  21150. description: ConfigMap containing data to use for the
  21151. targets.
  21152. properties:
  21153. key:
  21154. description: The key to select.
  21155. type: string
  21156. name:
  21157. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21158. TODO: Add other useful fields. apiVersion, kind,
  21159. uid?'
  21160. type: string
  21161. optional:
  21162. description: Specify whether the ConfigMap or its
  21163. key must be defined
  21164. type: boolean
  21165. required:
  21166. - key
  21167. type: object
  21168. x-kubernetes-map-type: atomic
  21169. secret:
  21170. description: Secret containing data to use for the targets.
  21171. properties:
  21172. key:
  21173. description: The key of the secret to select from. Must
  21174. be a valid secret key.
  21175. type: string
  21176. name:
  21177. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21178. TODO: Add other useful fields. apiVersion, kind,
  21179. uid?'
  21180. type: string
  21181. optional:
  21182. description: Specify whether the Secret or its key
  21183. must be defined
  21184. type: boolean
  21185. required:
  21186. - key
  21187. type: object
  21188. x-kubernetes-map-type: atomic
  21189. type: object
  21190. clientAuthType:
  21191. description: 'Server policy for client authentication. Maps
  21192. to ClientAuth Policies. For more detail on clientAuth options:
  21193. https://golang.org/pkg/crypto/tls/#ClientAuthType'
  21194. type: string
  21195. curvePreferences:
  21196. description: 'Elliptic curves that will be used in an ECDHE
  21197. handshake, in preference order. Available curves are documented
  21198. in the go documentation: https://golang.org/pkg/crypto/tls/#CurveID'
  21199. items:
  21200. type: string
  21201. type: array
  21202. keySecret:
  21203. description: Secret containing the TLS key for the server.
  21204. properties:
  21205. key:
  21206. description: The key of the secret to select from. Must
  21207. be a valid secret key.
  21208. type: string
  21209. name:
  21210. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21211. TODO: Add other useful fields. apiVersion, kind, uid?'
  21212. type: string
  21213. optional:
  21214. description: Specify whether the Secret or its key must
  21215. be defined
  21216. type: boolean
  21217. required:
  21218. - key
  21219. type: object
  21220. x-kubernetes-map-type: atomic
  21221. maxVersion:
  21222. description: Maximum TLS version that is acceptable. Defaults
  21223. to TLS13.
  21224. type: string
  21225. minVersion:
  21226. description: Minimum TLS version that is acceptable. Defaults
  21227. to TLS12.
  21228. type: string
  21229. preferServerCipherSuites:
  21230. description: Controls whether the server selects the client's
  21231. most preferred cipher suite, or the server's most preferred
  21232. cipher suite. If true then the server's preference, as expressed
  21233. in the order of elements in cipherSuites, is used.
  21234. type: boolean
  21235. required:
  21236. - cert
  21237. - keySecret
  21238. type: object
  21239. type: object
  21240. type: object
  21241. status:
  21242. description: 'Most recent observed status of the Prometheus cluster. Read-only.
  21243. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  21244. properties:
  21245. availableReplicas:
  21246. description: Total number of available pods (ready for at least minReadySeconds)
  21247. targeted by this Prometheus deployment.
  21248. format: int32
  21249. type: integer
  21250. conditions:
  21251. description: The current state of the Prometheus deployment.
  21252. items:
  21253. description: PrometheusCondition represents the state of the resources
  21254. associated with the Prometheus resource.
  21255. properties:
  21256. lastTransitionTime:
  21257. description: lastTransitionTime is the time of the last update
  21258. to the current status property.
  21259. format: date-time
  21260. type: string
  21261. message:
  21262. description: Human-readable message indicating details for the
  21263. condition's last transition.
  21264. type: string
  21265. reason:
  21266. description: Reason for the condition's last transition.
  21267. type: string
  21268. status:
  21269. description: status of the condition.
  21270. type: string
  21271. type:
  21272. description: Type of the condition being reported.
  21273. type: string
  21274. required:
  21275. - lastTransitionTime
  21276. - status
  21277. - type
  21278. type: object
  21279. type: array
  21280. x-kubernetes-list-map-keys:
  21281. - type
  21282. x-kubernetes-list-type: map
  21283. paused:
  21284. description: Represents whether any actions on the underlying managed
  21285. objects are being performed. Only delete actions will be performed.
  21286. type: boolean
  21287. replicas:
  21288. description: Total number of non-terminated pods targeted by this
  21289. Prometheus deployment (their labels match the selector).
  21290. format: int32
  21291. type: integer
  21292. shardStatuses:
  21293. description: The list has one entry per shard. Each entry provides
  21294. a summary of the shard status.
  21295. items:
  21296. properties:
  21297. availableReplicas:
  21298. description: Total number of available pods (ready for at least
  21299. minReadySeconds) targeted by this shard.
  21300. format: int32
  21301. type: integer
  21302. replicas:
  21303. description: Total number of pods targeted by this shard.
  21304. format: int32
  21305. type: integer
  21306. shardID:
  21307. description: Identifier of the shard.
  21308. type: string
  21309. unavailableReplicas:
  21310. description: Total number of unavailable pods targeted by this
  21311. shard.
  21312. format: int32
  21313. type: integer
  21314. updatedReplicas:
  21315. description: Total number of non-terminated pods targeted by
  21316. this shard that have the desired spec.
  21317. format: int32
  21318. type: integer
  21319. required:
  21320. - availableReplicas
  21321. - replicas
  21322. - shardID
  21323. - unavailableReplicas
  21324. - updatedReplicas
  21325. type: object
  21326. type: array
  21327. x-kubernetes-list-map-keys:
  21328. - shardID
  21329. x-kubernetes-list-type: map
  21330. unavailableReplicas:
  21331. description: Total number of unavailable pods targeted by this Prometheus
  21332. deployment.
  21333. format: int32
  21334. type: integer
  21335. updatedReplicas:
  21336. description: Total number of non-terminated pods targeted by this
  21337. Prometheus deployment that have the desired version spec.
  21338. format: int32
  21339. type: integer
  21340. required:
  21341. - availableReplicas
  21342. - paused
  21343. - replicas
  21344. - unavailableReplicas
  21345. - updatedReplicas
  21346. type: object
  21347. required:
  21348. - spec
  21349. type: object
  21350. served: true
  21351. storage: true
  21352. subresources:
  21353. status: {}
  21354. ---
  21355. ---
  21356. apiVersion: apiextensions.k8s.io/v1
  21357. kind: CustomResourceDefinition
  21358. metadata:
  21359. annotations:
  21360. controller-gen.kubebuilder.io/version: v0.9.2
  21361. creationTimestamp: null
  21362. name: prometheusrules.monitoring.coreos.com
  21363. spec:
  21364. group: monitoring.coreos.com
  21365. names:
  21366. categories:
  21367. - prometheus-operator
  21368. kind: PrometheusRule
  21369. listKind: PrometheusRuleList
  21370. plural: prometheusrules
  21371. shortNames:
  21372. - promrule
  21373. singular: prometheusrule
  21374. scope: Namespaced
  21375. versions:
  21376. - name: v1
  21377. schema:
  21378. openAPIV3Schema:
  21379. description: PrometheusRule defines recording and alerting rules for a Prometheus
  21380. instance
  21381. properties:
  21382. apiVersion:
  21383. description: 'APIVersion defines the versioned schema of this representation
  21384. of an object. Servers should convert recognized schemas to the latest
  21385. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  21386. type: string
  21387. kind:
  21388. description: 'Kind is a string value representing the REST resource this
  21389. object represents. Servers may infer this from the endpoint the client
  21390. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  21391. type: string
  21392. metadata:
  21393. type: object
  21394. spec:
  21395. description: Specification of desired alerting rule definitions for Prometheus.
  21396. properties:
  21397. groups:
  21398. description: Content of Prometheus rule file
  21399. items:
  21400. description: 'RuleGroup is a list of sequentially evaluated recording
  21401. and alerting rules. Note: PartialResponseStrategy is only used
  21402. by ThanosRuler and will be ignored by Prometheus instances. Valid
  21403. values for this field are ''warn'' or ''abort''. More info: https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md#partial-response'
  21404. properties:
  21405. interval:
  21406. type: string
  21407. name:
  21408. type: string
  21409. partial_response_strategy:
  21410. type: string
  21411. rules:
  21412. items:
  21413. description: 'Rule describes an alerting or recording rule
  21414. See Prometheus documentation: [alerting](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
  21415. or [recording](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)
  21416. rule'
  21417. properties:
  21418. alert:
  21419. type: string
  21420. annotations:
  21421. additionalProperties:
  21422. type: string
  21423. type: object
  21424. expr:
  21425. anyOf:
  21426. - type: integer
  21427. - type: string
  21428. x-kubernetes-int-or-string: true
  21429. for:
  21430. type: string
  21431. labels:
  21432. additionalProperties:
  21433. type: string
  21434. type: object
  21435. record:
  21436. type: string
  21437. required:
  21438. - expr
  21439. type: object
  21440. type: array
  21441. required:
  21442. - name
  21443. - rules
  21444. type: object
  21445. type: array
  21446. type: object
  21447. required:
  21448. - spec
  21449. type: object
  21450. served: true
  21451. storage: true
  21452. ---
  21453. ---
  21454. apiVersion: apiextensions.k8s.io/v1
  21455. kind: CustomResourceDefinition
  21456. metadata:
  21457. annotations:
  21458. controller-gen.kubebuilder.io/version: v0.9.2
  21459. creationTimestamp: null
  21460. name: servicemonitors.monitoring.coreos.com
  21461. spec:
  21462. group: monitoring.coreos.com
  21463. names:
  21464. categories:
  21465. - prometheus-operator
  21466. kind: ServiceMonitor
  21467. listKind: ServiceMonitorList
  21468. plural: servicemonitors
  21469. shortNames:
  21470. - smon
  21471. singular: servicemonitor
  21472. scope: Namespaced
  21473. versions:
  21474. - name: v1
  21475. schema:
  21476. openAPIV3Schema:
  21477. description: ServiceMonitor defines monitoring for a set of services.
  21478. properties:
  21479. apiVersion:
  21480. description: 'APIVersion defines the versioned schema of this representation
  21481. of an object. Servers should convert recognized schemas to the latest
  21482. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  21483. type: string
  21484. kind:
  21485. description: 'Kind is a string value representing the REST resource this
  21486. object represents. Servers may infer this from the endpoint the client
  21487. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  21488. type: string
  21489. metadata:
  21490. type: object
  21491. spec:
  21492. description: Specification of desired Service selection for target discovery
  21493. by Prometheus.
  21494. properties:
  21495. endpoints:
  21496. description: A list of endpoints allowed as part of this ServiceMonitor.
  21497. items:
  21498. description: Endpoint defines a scrapeable endpoint serving Prometheus
  21499. metrics.
  21500. properties:
  21501. authorization:
  21502. description: Authorization section for this endpoint
  21503. properties:
  21504. credentials:
  21505. description: The secret's key that contains the credentials
  21506. of the request
  21507. properties:
  21508. key:
  21509. description: The key of the secret to select from. Must
  21510. be a valid secret key.
  21511. type: string
  21512. name:
  21513. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21514. TODO: Add other useful fields. apiVersion, kind, uid?'
  21515. type: string
  21516. optional:
  21517. description: Specify whether the Secret or its key must
  21518. be defined
  21519. type: boolean
  21520. required:
  21521. - key
  21522. type: object
  21523. x-kubernetes-map-type: atomic
  21524. type:
  21525. description: Set the authentication type. Defaults to Bearer,
  21526. Basic will cause an error
  21527. type: string
  21528. type: object
  21529. basicAuth:
  21530. description: 'BasicAuth allow an endpoint to authenticate over
  21531. basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
  21532. properties:
  21533. password:
  21534. description: The secret in the service monitor namespace
  21535. that contains the password for authentication.
  21536. properties:
  21537. key:
  21538. description: The key of the secret to select from. Must
  21539. be a valid secret key.
  21540. type: string
  21541. name:
  21542. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21543. TODO: Add other useful fields. apiVersion, kind, uid?'
  21544. type: string
  21545. optional:
  21546. description: Specify whether the Secret or its key must
  21547. be defined
  21548. type: boolean
  21549. required:
  21550. - key
  21551. type: object
  21552. x-kubernetes-map-type: atomic
  21553. username:
  21554. description: The secret in the service monitor namespace
  21555. that contains the username for authentication.
  21556. properties:
  21557. key:
  21558. description: The key of the secret to select from. Must
  21559. be a valid secret key.
  21560. type: string
  21561. name:
  21562. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21563. TODO: Add other useful fields. apiVersion, kind, uid?'
  21564. type: string
  21565. optional:
  21566. description: Specify whether the Secret or its key must
  21567. be defined
  21568. type: boolean
  21569. required:
  21570. - key
  21571. type: object
  21572. x-kubernetes-map-type: atomic
  21573. type: object
  21574. bearerTokenFile:
  21575. description: File to read bearer token for scraping targets.
  21576. type: string
  21577. bearerTokenSecret:
  21578. description: Secret to mount to read bearer token for scraping
  21579. targets. The secret needs to be in the same namespace as the
  21580. service monitor and accessible by the Prometheus Operator.
  21581. properties:
  21582. key:
  21583. description: The key of the secret to select from. Must
  21584. be a valid secret key.
  21585. type: string
  21586. name:
  21587. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21588. TODO: Add other useful fields. apiVersion, kind, uid?'
  21589. type: string
  21590. optional:
  21591. description: Specify whether the Secret or its key must
  21592. be defined
  21593. type: boolean
  21594. required:
  21595. - key
  21596. type: object
  21597. x-kubernetes-map-type: atomic
  21598. enableHttp2:
  21599. description: Whether to enable HTTP2.
  21600. type: boolean
  21601. followRedirects:
  21602. description: FollowRedirects configures whether scrape requests
  21603. follow HTTP 3xx redirects.
  21604. type: boolean
  21605. honorLabels:
  21606. description: HonorLabels chooses the metric's labels on collisions
  21607. with target labels.
  21608. type: boolean
  21609. honorTimestamps:
  21610. description: HonorTimestamps controls whether Prometheus respects
  21611. the timestamps present in scraped data.
  21612. type: boolean
  21613. interval:
  21614. description: Interval at which metrics should be scraped If
  21615. not specified Prometheus' global scrape interval is used.
  21616. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  21617. type: string
  21618. metricRelabelings:
  21619. description: MetricRelabelConfigs to apply to samples before
  21620. ingestion.
  21621. items:
  21622. description: 'RelabelConfig allows dynamic rewriting of the
  21623. label set, being applied to samples before ingestion. It
  21624. defines `<metric_relabel_configs>`-section of Prometheus
  21625. configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  21626. properties:
  21627. action:
  21628. default: replace
  21629. description: Action to perform based on regex matching.
  21630. Default is 'replace'. uppercase and lowercase actions
  21631. require Prometheus >= 2.36.
  21632. enum:
  21633. - replace
  21634. - Replace
  21635. - keep
  21636. - Keep
  21637. - drop
  21638. - Drop
  21639. - hashmod
  21640. - HashMod
  21641. - labelmap
  21642. - LabelMap
  21643. - labeldrop
  21644. - LabelDrop
  21645. - labelkeep
  21646. - LabelKeep
  21647. - lowercase
  21648. - Lowercase
  21649. - uppercase
  21650. - Uppercase
  21651. type: string
  21652. modulus:
  21653. description: Modulus to take of the hash of the source
  21654. label values.
  21655. format: int64
  21656. type: integer
  21657. regex:
  21658. description: Regular expression against which the extracted
  21659. value is matched. Default is '(.*)'
  21660. type: string
  21661. replacement:
  21662. description: Replacement value against which a regex replace
  21663. is performed if the regular expression matches. Regex
  21664. capture groups are available. Default is '$1'
  21665. type: string
  21666. separator:
  21667. description: Separator placed between concatenated source
  21668. label values. default is ';'.
  21669. type: string
  21670. sourceLabels:
  21671. description: The source labels select values from existing
  21672. labels. Their content is concatenated using the configured
  21673. separator and matched against the configured regular
  21674. expression for the replace, keep, and drop actions.
  21675. items:
  21676. description: LabelName is a valid Prometheus label name
  21677. which may only contain ASCII letters, numbers, as
  21678. well as underscores.
  21679. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  21680. type: string
  21681. type: array
  21682. targetLabel:
  21683. description: Label to which the resulting value is written
  21684. in a replace action. It is mandatory for replace actions.
  21685. Regex capture groups are available.
  21686. type: string
  21687. type: object
  21688. type: array
  21689. oauth2:
  21690. description: OAuth2 for the URL. Only valid in Prometheus versions
  21691. 2.27.0 and newer.
  21692. properties:
  21693. clientId:
  21694. description: The secret or configmap containing the OAuth2
  21695. client id
  21696. properties:
  21697. configMap:
  21698. description: ConfigMap containing data to use for the
  21699. targets.
  21700. properties:
  21701. key:
  21702. description: The key to select.
  21703. type: string
  21704. name:
  21705. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21706. TODO: Add other useful fields. apiVersion, kind,
  21707. uid?'
  21708. type: string
  21709. optional:
  21710. description: Specify whether the ConfigMap or its
  21711. key must be defined
  21712. type: boolean
  21713. required:
  21714. - key
  21715. type: object
  21716. x-kubernetes-map-type: atomic
  21717. secret:
  21718. description: Secret containing data to use for the targets.
  21719. properties:
  21720. key:
  21721. description: The key of the secret to select from. Must
  21722. be a valid secret key.
  21723. type: string
  21724. name:
  21725. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21726. TODO: Add other useful fields. apiVersion, kind,
  21727. uid?'
  21728. type: string
  21729. optional:
  21730. description: Specify whether the Secret or its key
  21731. must be defined
  21732. type: boolean
  21733. required:
  21734. - key
  21735. type: object
  21736. x-kubernetes-map-type: atomic
  21737. type: object
  21738. clientSecret:
  21739. description: The secret containing the OAuth2 client secret
  21740. properties:
  21741. key:
  21742. description: The key of the secret to select from. Must
  21743. be a valid secret key.
  21744. type: string
  21745. name:
  21746. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21747. TODO: Add other useful fields. apiVersion, kind, uid?'
  21748. type: string
  21749. optional:
  21750. description: Specify whether the Secret or its key must
  21751. be defined
  21752. type: boolean
  21753. required:
  21754. - key
  21755. type: object
  21756. x-kubernetes-map-type: atomic
  21757. endpointParams:
  21758. additionalProperties:
  21759. type: string
  21760. description: Parameters to append to the token URL
  21761. type: object
  21762. scopes:
  21763. description: OAuth2 scopes used for the token request
  21764. items:
  21765. type: string
  21766. type: array
  21767. tokenUrl:
  21768. description: The URL to fetch the token from
  21769. minLength: 1
  21770. type: string
  21771. required:
  21772. - clientId
  21773. - clientSecret
  21774. - tokenUrl
  21775. type: object
  21776. params:
  21777. additionalProperties:
  21778. items:
  21779. type: string
  21780. type: array
  21781. description: Optional HTTP URL parameters
  21782. type: object
  21783. path:
  21784. description: HTTP path to scrape for metrics. If empty, Prometheus
  21785. uses the default value (e.g. `/metrics`).
  21786. type: string
  21787. port:
  21788. description: Name of the service port this endpoint refers to.
  21789. Mutually exclusive with targetPort.
  21790. type: string
  21791. proxyUrl:
  21792. description: ProxyURL eg http://proxyserver:2195 Directs scrapes
  21793. to proxy through this endpoint.
  21794. type: string
  21795. relabelings:
  21796. description: 'RelabelConfigs to apply to samples before scraping.
  21797. Prometheus Operator automatically adds relabelings for a few
  21798. standard Kubernetes fields. The original scrape job''s name
  21799. is available via the `__tmp_prometheus_job_name` label. More
  21800. info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
  21801. items:
  21802. description: 'RelabelConfig allows dynamic rewriting of the
  21803. label set, being applied to samples before ingestion. It
  21804. defines `<metric_relabel_configs>`-section of Prometheus
  21805. configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
  21806. properties:
  21807. action:
  21808. default: replace
  21809. description: Action to perform based on regex matching.
  21810. Default is 'replace'. uppercase and lowercase actions
  21811. require Prometheus >= 2.36.
  21812. enum:
  21813. - replace
  21814. - Replace
  21815. - keep
  21816. - Keep
  21817. - drop
  21818. - Drop
  21819. - hashmod
  21820. - HashMod
  21821. - labelmap
  21822. - LabelMap
  21823. - labeldrop
  21824. - LabelDrop
  21825. - labelkeep
  21826. - LabelKeep
  21827. - lowercase
  21828. - Lowercase
  21829. - uppercase
  21830. - Uppercase
  21831. type: string
  21832. modulus:
  21833. description: Modulus to take of the hash of the source
  21834. label values.
  21835. format: int64
  21836. type: integer
  21837. regex:
  21838. description: Regular expression against which the extracted
  21839. value is matched. Default is '(.*)'
  21840. type: string
  21841. replacement:
  21842. description: Replacement value against which a regex replace
  21843. is performed if the regular expression matches. Regex
  21844. capture groups are available. Default is '$1'
  21845. type: string
  21846. separator:
  21847. description: Separator placed between concatenated source
  21848. label values. default is ';'.
  21849. type: string
  21850. sourceLabels:
  21851. description: The source labels select values from existing
  21852. labels. Their content is concatenated using the configured
  21853. separator and matched against the configured regular
  21854. expression for the replace, keep, and drop actions.
  21855. items:
  21856. description: LabelName is a valid Prometheus label name
  21857. which may only contain ASCII letters, numbers, as
  21858. well as underscores.
  21859. pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
  21860. type: string
  21861. type: array
  21862. targetLabel:
  21863. description: Label to which the resulting value is written
  21864. in a replace action. It is mandatory for replace actions.
  21865. Regex capture groups are available.
  21866. type: string
  21867. type: object
  21868. type: array
  21869. scheme:
  21870. description: HTTP scheme to use for scraping.
  21871. type: string
  21872. scrapeTimeout:
  21873. description: Timeout after which the scrape is ended If not
  21874. specified, the Prometheus global scrape timeout is used unless
  21875. it is less than `Interval` in which the latter is used.
  21876. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  21877. type: string
  21878. targetPort:
  21879. anyOf:
  21880. - type: integer
  21881. - type: string
  21882. description: Name or number of the target port of the Pod behind
  21883. the Service, the port must be specified with container port
  21884. property. Mutually exclusive with port.
  21885. x-kubernetes-int-or-string: true
  21886. tlsConfig:
  21887. description: TLS configuration to use when scraping the endpoint
  21888. properties:
  21889. ca:
  21890. description: Struct containing the CA cert to use for the
  21891. targets.
  21892. properties:
  21893. configMap:
  21894. description: ConfigMap containing data to use for the
  21895. targets.
  21896. properties:
  21897. key:
  21898. description: The key to select.
  21899. type: string
  21900. name:
  21901. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21902. TODO: Add other useful fields. apiVersion, kind,
  21903. uid?'
  21904. type: string
  21905. optional:
  21906. description: Specify whether the ConfigMap or its
  21907. key must be defined
  21908. type: boolean
  21909. required:
  21910. - key
  21911. type: object
  21912. x-kubernetes-map-type: atomic
  21913. secret:
  21914. description: Secret containing data to use for the targets.
  21915. properties:
  21916. key:
  21917. description: The key of the secret to select from. Must
  21918. be a valid secret key.
  21919. type: string
  21920. name:
  21921. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21922. TODO: Add other useful fields. apiVersion, kind,
  21923. uid?'
  21924. type: string
  21925. optional:
  21926. description: Specify whether the Secret or its key
  21927. must be defined
  21928. type: boolean
  21929. required:
  21930. - key
  21931. type: object
  21932. x-kubernetes-map-type: atomic
  21933. type: object
  21934. caFile:
  21935. description: Path to the CA cert in the Prometheus container
  21936. to use for the targets.
  21937. type: string
  21938. cert:
  21939. description: Struct containing the client cert file for
  21940. the targets.
  21941. properties:
  21942. configMap:
  21943. description: ConfigMap containing data to use for the
  21944. targets.
  21945. properties:
  21946. key:
  21947. description: The key to select.
  21948. type: string
  21949. name:
  21950. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21951. TODO: Add other useful fields. apiVersion, kind,
  21952. uid?'
  21953. type: string
  21954. optional:
  21955. description: Specify whether the ConfigMap or its
  21956. key must be defined
  21957. type: boolean
  21958. required:
  21959. - key
  21960. type: object
  21961. x-kubernetes-map-type: atomic
  21962. secret:
  21963. description: Secret containing data to use for the targets.
  21964. properties:
  21965. key:
  21966. description: The key of the secret to select from. Must
  21967. be a valid secret key.
  21968. type: string
  21969. name:
  21970. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  21971. TODO: Add other useful fields. apiVersion, kind,
  21972. uid?'
  21973. type: string
  21974. optional:
  21975. description: Specify whether the Secret or its key
  21976. must be defined
  21977. type: boolean
  21978. required:
  21979. - key
  21980. type: object
  21981. x-kubernetes-map-type: atomic
  21982. type: object
  21983. certFile:
  21984. description: Path to the client cert file in the Prometheus
  21985. container for the targets.
  21986. type: string
  21987. insecureSkipVerify:
  21988. description: Disable target certificate validation.
  21989. type: boolean
  21990. keyFile:
  21991. description: Path to the client key file in the Prometheus
  21992. container for the targets.
  21993. type: string
  21994. keySecret:
  21995. description: Secret containing the client key file for the
  21996. targets.
  21997. properties:
  21998. key:
  21999. description: The key of the secret to select from. Must
  22000. be a valid secret key.
  22001. type: string
  22002. name:
  22003. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  22004. TODO: Add other useful fields. apiVersion, kind, uid?'
  22005. type: string
  22006. optional:
  22007. description: Specify whether the Secret or its key must
  22008. be defined
  22009. type: boolean
  22010. required:
  22011. - key
  22012. type: object
  22013. x-kubernetes-map-type: atomic
  22014. serverName:
  22015. description: Used to verify the hostname for the targets.
  22016. type: string
  22017. type: object
  22018. type: object
  22019. type: array
  22020. jobLabel:
  22021. description: "JobLabel selects the label from the associated Kubernetes
  22022. service which will be used as the `job` label for all metrics. \n
  22023. For example: If in `ServiceMonitor.spec.jobLabel: foo` and in `Service.metadata.labels.foo:
  22024. bar`, then the `job=\"bar\"` label is added to all metrics. \n If
  22025. the value of this field is empty or if the label doesn't exist for
  22026. the given Service, the `job` label of the metrics defaults to the
  22027. name of the Kubernetes Service."
  22028. type: string
  22029. labelLimit:
  22030. description: Per-scrape limit on number of labels that will be accepted
  22031. for a sample. Only valid in Prometheus versions 2.27.0 and newer.
  22032. format: int64
  22033. type: integer
  22034. labelNameLengthLimit:
  22035. description: Per-scrape limit on length of labels name that will be
  22036. accepted for a sample. Only valid in Prometheus versions 2.27.0
  22037. and newer.
  22038. format: int64
  22039. type: integer
  22040. labelValueLengthLimit:
  22041. description: Per-scrape limit on length of labels value that will
  22042. be accepted for a sample. Only valid in Prometheus versions 2.27.0
  22043. and newer.
  22044. format: int64
  22045. type: integer
  22046. namespaceSelector:
  22047. description: Selector to select which namespaces the Kubernetes Endpoints
  22048. objects are discovered from.
  22049. properties:
  22050. any:
  22051. description: Boolean describing whether all namespaces are selected
  22052. in contrast to a list restricting them.
  22053. type: boolean
  22054. matchNames:
  22055. description: List of namespace names to select from.
  22056. items:
  22057. type: string
  22058. type: array
  22059. type: object
  22060. podTargetLabels:
  22061. description: PodTargetLabels transfers labels on the Kubernetes `Pod`
  22062. onto the created metrics.
  22063. items:
  22064. type: string
  22065. type: array
  22066. sampleLimit:
  22067. description: SampleLimit defines per-scrape limit on number of scraped
  22068. samples that will be accepted.
  22069. format: int64
  22070. type: integer
  22071. selector:
  22072. description: Selector to select Endpoints objects.
  22073. properties:
  22074. matchExpressions:
  22075. description: matchExpressions is a list of label selector requirements.
  22076. The requirements are ANDed.
  22077. items:
  22078. description: A label selector requirement is a selector that
  22079. contains values, a key, and an operator that relates the key
  22080. and values.
  22081. properties:
  22082. key:
  22083. description: key is the label key that the selector applies
  22084. to.
  22085. type: string
  22086. operator:
  22087. description: operator represents a key's relationship to
  22088. a set of values. Valid operators are In, NotIn, Exists
  22089. and DoesNotExist.
  22090. type: string
  22091. values:
  22092. description: values is an array of string values. If the
  22093. operator is In or NotIn, the values array must be non-empty.
  22094. If the operator is Exists or DoesNotExist, the values
  22095. array must be empty. This array is replaced during a strategic
  22096. merge patch.
  22097. items:
  22098. type: string
  22099. type: array
  22100. required:
  22101. - key
  22102. - operator
  22103. type: object
  22104. type: array
  22105. matchLabels:
  22106. additionalProperties:
  22107. type: string
  22108. description: matchLabels is a map of {key,value} pairs. A single
  22109. {key,value} in the matchLabels map is equivalent to an element
  22110. of matchExpressions, whose key field is "key", the operator
  22111. is "In", and the values array contains only "value". The requirements
  22112. are ANDed.
  22113. type: object
  22114. type: object
  22115. x-kubernetes-map-type: atomic
  22116. targetLabels:
  22117. description: TargetLabels transfers labels from the Kubernetes `Service`
  22118. onto the created metrics.
  22119. items:
  22120. type: string
  22121. type: array
  22122. targetLimit:
  22123. description: TargetLimit defines a limit on the number of scraped
  22124. targets that will be accepted.
  22125. format: int64
  22126. type: integer
  22127. required:
  22128. - endpoints
  22129. - selector
  22130. type: object
  22131. required:
  22132. - spec
  22133. type: object
  22134. served: true
  22135. storage: true
  22136. ---
  22137. ---
  22138. apiVersion: apiextensions.k8s.io/v1
  22139. kind: CustomResourceDefinition
  22140. metadata:
  22141. annotations:
  22142. controller-gen.kubebuilder.io/version: v0.9.2
  22143. creationTimestamp: null
  22144. name: thanosrulers.monitoring.coreos.com
  22145. spec:
  22146. group: monitoring.coreos.com
  22147. names:
  22148. categories:
  22149. - prometheus-operator
  22150. kind: ThanosRuler
  22151. listKind: ThanosRulerList
  22152. plural: thanosrulers
  22153. shortNames:
  22154. - ruler
  22155. singular: thanosruler
  22156. scope: Namespaced
  22157. versions:
  22158. - additionalPrinterColumns:
  22159. - description: The desired replicas number of Thanos Rulers
  22160. jsonPath: .spec.replicas
  22161. name: Replicas
  22162. type: integer
  22163. - jsonPath: .metadata.creationTimestamp
  22164. name: Age
  22165. type: date
  22166. name: v1
  22167. schema:
  22168. openAPIV3Schema:
  22169. description: ThanosRuler defines a ThanosRuler deployment.
  22170. properties:
  22171. apiVersion:
  22172. description: 'APIVersion defines the versioned schema of this representation
  22173. of an object. Servers should convert recognized schemas to the latest
  22174. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  22175. type: string
  22176. kind:
  22177. description: 'Kind is a string value representing the REST resource this
  22178. object represents. Servers may infer this from the endpoint the client
  22179. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  22180. type: string
  22181. metadata:
  22182. type: object
  22183. spec:
  22184. description: 'Specification of the desired behavior of the ThanosRuler
  22185. cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  22186. properties:
  22187. affinity:
  22188. description: If specified, the pod's scheduling constraints.
  22189. properties:
  22190. nodeAffinity:
  22191. description: Describes node affinity scheduling rules for the
  22192. pod.
  22193. properties:
  22194. preferredDuringSchedulingIgnoredDuringExecution:
  22195. description: The scheduler will prefer to schedule pods to
  22196. nodes that satisfy the affinity expressions specified by
  22197. this field, but it may choose a node that violates one or
  22198. more of the expressions. The node that is most preferred
  22199. is the one with the greatest sum of weights, i.e. for each
  22200. node that meets all of the scheduling requirements (resource
  22201. request, requiredDuringScheduling affinity expressions,
  22202. etc.), compute a sum by iterating through the elements of
  22203. this field and adding "weight" to the sum if the node matches
  22204. the corresponding matchExpressions; the node(s) with the
  22205. highest sum are the most preferred.
  22206. items:
  22207. description: An empty preferred scheduling term matches
  22208. all objects with implicit weight 0 (i.e. it's a no-op).
  22209. A null preferred scheduling term matches no objects (i.e.
  22210. is also a no-op).
  22211. properties:
  22212. preference:
  22213. description: A node selector term, associated with the
  22214. corresponding weight.
  22215. properties:
  22216. matchExpressions:
  22217. description: A list of node selector requirements
  22218. by node's labels.
  22219. items:
  22220. description: A node selector requirement is a
  22221. selector that contains values, a key, and an
  22222. operator that relates the key and values.
  22223. properties:
  22224. key:
  22225. description: The label key that the selector
  22226. applies to.
  22227. type: string
  22228. operator:
  22229. description: Represents a key's relationship
  22230. to a set of values. Valid operators are
  22231. In, NotIn, Exists, DoesNotExist. Gt, and
  22232. Lt.
  22233. type: string
  22234. values:
  22235. description: An array of string values. If
  22236. the operator is In or NotIn, the values
  22237. array must be non-empty. If the operator
  22238. is Exists or DoesNotExist, the values array
  22239. must be empty. If the operator is Gt or
  22240. Lt, the values array must have a single
  22241. element, which will be interpreted as an
  22242. integer. This array is replaced during a
  22243. strategic merge patch.
  22244. items:
  22245. type: string
  22246. type: array
  22247. required:
  22248. - key
  22249. - operator
  22250. type: object
  22251. type: array
  22252. matchFields:
  22253. description: A list of node selector requirements
  22254. by node's fields.
  22255. items:
  22256. description: A node selector requirement is a
  22257. selector that contains values, a key, and an
  22258. operator that relates the key and values.
  22259. properties:
  22260. key:
  22261. description: The label key that the selector
  22262. applies to.
  22263. type: string
  22264. operator:
  22265. description: Represents a key's relationship
  22266. to a set of values. Valid operators are
  22267. In, NotIn, Exists, DoesNotExist. Gt, and
  22268. Lt.
  22269. type: string
  22270. values:
  22271. description: An array of string values. If
  22272. the operator is In or NotIn, the values
  22273. array must be non-empty. If the operator
  22274. is Exists or DoesNotExist, the values array
  22275. must be empty. If the operator is Gt or
  22276. Lt, the values array must have a single
  22277. element, which will be interpreted as an
  22278. integer. This array is replaced during a
  22279. strategic merge patch.
  22280. items:
  22281. type: string
  22282. type: array
  22283. required:
  22284. - key
  22285. - operator
  22286. type: object
  22287. type: array
  22288. type: object
  22289. x-kubernetes-map-type: atomic
  22290. weight:
  22291. description: Weight associated with matching the corresponding
  22292. nodeSelectorTerm, in the range 1-100.
  22293. format: int32
  22294. type: integer
  22295. required:
  22296. - preference
  22297. - weight
  22298. type: object
  22299. type: array
  22300. requiredDuringSchedulingIgnoredDuringExecution:
  22301. description: If the affinity requirements specified by this
  22302. field are not met at scheduling time, the pod will not be
  22303. scheduled onto the node. If the affinity requirements specified
  22304. by this field cease to be met at some point during pod execution
  22305. (e.g. due to an update), the system may or may not try to
  22306. eventually evict the pod from its node.
  22307. properties:
  22308. nodeSelectorTerms:
  22309. description: Required. A list of node selector terms.
  22310. The terms are ORed.
  22311. items:
  22312. description: A null or empty node selector term matches
  22313. no objects. The requirements of them are ANDed. The
  22314. TopologySelectorTerm type implements a subset of the
  22315. NodeSelectorTerm.
  22316. properties:
  22317. matchExpressions:
  22318. description: A list of node selector requirements
  22319. by node's labels.
  22320. items:
  22321. description: A node selector requirement is a
  22322. selector that contains values, a key, and an
  22323. operator that relates the key and values.
  22324. properties:
  22325. key:
  22326. description: The label key that the selector
  22327. applies to.
  22328. type: string
  22329. operator:
  22330. description: Represents a key's relationship
  22331. to a set of values. Valid operators are
  22332. In, NotIn, Exists, DoesNotExist. Gt, and
  22333. Lt.
  22334. type: string
  22335. values:
  22336. description: An array of string values. If
  22337. the operator is In or NotIn, the values
  22338. array must be non-empty. If the operator
  22339. is Exists or DoesNotExist, the values array
  22340. must be empty. If the operator is Gt or
  22341. Lt, the values array must have a single
  22342. element, which will be interpreted as an
  22343. integer. This array is replaced during a
  22344. strategic merge patch.
  22345. items:
  22346. type: string
  22347. type: array
  22348. required:
  22349. - key
  22350. - operator
  22351. type: object
  22352. type: array
  22353. matchFields:
  22354. description: A list of node selector requirements
  22355. by node's fields.
  22356. items:
  22357. description: A node selector requirement is a
  22358. selector that contains values, a key, and an
  22359. operator that relates the key and values.
  22360. properties:
  22361. key:
  22362. description: The label key that the selector
  22363. applies to.
  22364. type: string
  22365. operator:
  22366. description: Represents a key's relationship
  22367. to a set of values. Valid operators are
  22368. In, NotIn, Exists, DoesNotExist. Gt, and
  22369. Lt.
  22370. type: string
  22371. values:
  22372. description: An array of string values. If
  22373. the operator is In or NotIn, the values
  22374. array must be non-empty. If the operator
  22375. is Exists or DoesNotExist, the values array
  22376. must be empty. If the operator is Gt or
  22377. Lt, the values array must have a single
  22378. element, which will be interpreted as an
  22379. integer. This array is replaced during a
  22380. strategic merge patch.
  22381. items:
  22382. type: string
  22383. type: array
  22384. required:
  22385. - key
  22386. - operator
  22387. type: object
  22388. type: array
  22389. type: object
  22390. x-kubernetes-map-type: atomic
  22391. type: array
  22392. required:
  22393. - nodeSelectorTerms
  22394. type: object
  22395. x-kubernetes-map-type: atomic
  22396. type: object
  22397. podAffinity:
  22398. description: Describes pod affinity scheduling rules (e.g. co-locate
  22399. this pod in the same node, zone, etc. as some other pod(s)).
  22400. properties:
  22401. preferredDuringSchedulingIgnoredDuringExecution:
  22402. description: The scheduler will prefer to schedule pods to
  22403. nodes that satisfy the affinity expressions specified by
  22404. this field, but it may choose a node that violates one or
  22405. more of the expressions. The node that is most preferred
  22406. is the one with the greatest sum of weights, i.e. for each
  22407. node that meets all of the scheduling requirements (resource
  22408. request, requiredDuringScheduling affinity expressions,
  22409. etc.), compute a sum by iterating through the elements of
  22410. this field and adding "weight" to the sum if the node has
  22411. pods which matches the corresponding podAffinityTerm; the
  22412. node(s) with the highest sum are the most preferred.
  22413. items:
  22414. description: The weights of all of the matched WeightedPodAffinityTerm
  22415. fields are added per-node to find the most preferred node(s)
  22416. properties:
  22417. podAffinityTerm:
  22418. description: Required. A pod affinity term, associated
  22419. with the corresponding weight.
  22420. properties:
  22421. labelSelector:
  22422. description: A label query over a set of resources,
  22423. in this case pods.
  22424. properties:
  22425. matchExpressions:
  22426. description: matchExpressions is a list of label
  22427. selector requirements. The requirements are
  22428. ANDed.
  22429. items:
  22430. description: A label selector requirement
  22431. is a selector that contains values, a key,
  22432. and an operator that relates the key and
  22433. values.
  22434. properties:
  22435. key:
  22436. description: key is the label key that
  22437. the selector applies to.
  22438. type: string
  22439. operator:
  22440. description: operator represents a key's
  22441. relationship to a set of values. Valid
  22442. operators are In, NotIn, Exists and
  22443. DoesNotExist.
  22444. type: string
  22445. values:
  22446. description: values is an array of string
  22447. values. If the operator is In or NotIn,
  22448. the values array must be non-empty.
  22449. If the operator is Exists or DoesNotExist,
  22450. the values array must be empty. This
  22451. array is replaced during a strategic
  22452. merge patch.
  22453. items:
  22454. type: string
  22455. type: array
  22456. required:
  22457. - key
  22458. - operator
  22459. type: object
  22460. type: array
  22461. matchLabels:
  22462. additionalProperties:
  22463. type: string
  22464. description: matchLabels is a map of {key,value}
  22465. pairs. A single {key,value} in the matchLabels
  22466. map is equivalent to an element of matchExpressions,
  22467. whose key field is "key", the operator is
  22468. "In", and the values array contains only "value".
  22469. The requirements are ANDed.
  22470. type: object
  22471. type: object
  22472. x-kubernetes-map-type: atomic
  22473. namespaceSelector:
  22474. description: A label query over the set of namespaces
  22475. that the term applies to. The term is applied
  22476. to the union of the namespaces selected by this
  22477. field and the ones listed in the namespaces field.
  22478. null selector and null or empty namespaces list
  22479. means "this pod's namespace". An empty selector
  22480. ({}) matches all namespaces.
  22481. properties:
  22482. matchExpressions:
  22483. description: matchExpressions is a list of label
  22484. selector requirements. The requirements are
  22485. ANDed.
  22486. items:
  22487. description: A label selector requirement
  22488. is a selector that contains values, a key,
  22489. and an operator that relates the key and
  22490. values.
  22491. properties:
  22492. key:
  22493. description: key is the label key that
  22494. the selector applies to.
  22495. type: string
  22496. operator:
  22497. description: operator represents a key's
  22498. relationship to a set of values. Valid
  22499. operators are In, NotIn, Exists and
  22500. DoesNotExist.
  22501. type: string
  22502. values:
  22503. description: values is an array of string
  22504. values. If the operator is In or NotIn,
  22505. the values array must be non-empty.
  22506. If the operator is Exists or DoesNotExist,
  22507. the values array must be empty. This
  22508. array is replaced during a strategic
  22509. merge patch.
  22510. items:
  22511. type: string
  22512. type: array
  22513. required:
  22514. - key
  22515. - operator
  22516. type: object
  22517. type: array
  22518. matchLabels:
  22519. additionalProperties:
  22520. type: string
  22521. description: matchLabels is a map of {key,value}
  22522. pairs. A single {key,value} in the matchLabels
  22523. map is equivalent to an element of matchExpressions,
  22524. whose key field is "key", the operator is
  22525. "In", and the values array contains only "value".
  22526. The requirements are ANDed.
  22527. type: object
  22528. type: object
  22529. x-kubernetes-map-type: atomic
  22530. namespaces:
  22531. description: namespaces specifies a static list
  22532. of namespace names that the term applies to. The
  22533. term is applied to the union of the namespaces
  22534. listed in this field and the ones selected by
  22535. namespaceSelector. null or empty namespaces list
  22536. and null namespaceSelector means "this pod's namespace".
  22537. items:
  22538. type: string
  22539. type: array
  22540. topologyKey:
  22541. description: This pod should be co-located (affinity)
  22542. or not co-located (anti-affinity) with the pods
  22543. matching the labelSelector in the specified namespaces,
  22544. where co-located is defined as running on a node
  22545. whose value of the label with key topologyKey
  22546. matches that of any node on which any of the selected
  22547. pods is running. Empty topologyKey is not allowed.
  22548. type: string
  22549. required:
  22550. - topologyKey
  22551. type: object
  22552. weight:
  22553. description: weight associated with matching the corresponding
  22554. podAffinityTerm, in the range 1-100.
  22555. format: int32
  22556. type: integer
  22557. required:
  22558. - podAffinityTerm
  22559. - weight
  22560. type: object
  22561. type: array
  22562. requiredDuringSchedulingIgnoredDuringExecution:
  22563. description: If the affinity requirements specified by this
  22564. field are not met at scheduling time, the pod will not be
  22565. scheduled onto the node. If the affinity requirements specified
  22566. by this field cease to be met at some point during pod execution
  22567. (e.g. due to a pod label update), the system may or may
  22568. not try to eventually evict the pod from its node. When
  22569. there are multiple elements, the lists of nodes corresponding
  22570. to each podAffinityTerm are intersected, i.e. all terms
  22571. must be satisfied.
  22572. items:
  22573. description: Defines a set of pods (namely those matching
  22574. the labelSelector relative to the given namespace(s))
  22575. that this pod should be co-located (affinity) or not co-located
  22576. (anti-affinity) with, where co-located is defined as running
  22577. on a node whose value of the label with key <topologyKey>
  22578. matches that of any node on which a pod of the set of
  22579. pods is running
  22580. properties:
  22581. labelSelector:
  22582. description: A label query over a set of resources,
  22583. in this case pods.
  22584. properties:
  22585. matchExpressions:
  22586. description: matchExpressions is a list of label
  22587. selector requirements. The requirements are ANDed.
  22588. items:
  22589. description: A label selector requirement is a
  22590. selector that contains values, a key, and an
  22591. operator that relates the key and values.
  22592. properties:
  22593. key:
  22594. description: key is the label key that the
  22595. selector applies to.
  22596. type: string
  22597. operator:
  22598. description: operator represents a key's relationship
  22599. to a set of values. Valid operators are
  22600. In, NotIn, Exists and DoesNotExist.
  22601. type: string
  22602. values:
  22603. description: values is an array of string
  22604. values. If the operator is In or NotIn,
  22605. the values array must be non-empty. If the
  22606. operator is Exists or DoesNotExist, the
  22607. values array must be empty. This array is
  22608. replaced during a strategic merge patch.
  22609. items:
  22610. type: string
  22611. type: array
  22612. required:
  22613. - key
  22614. - operator
  22615. type: object
  22616. type: array
  22617. matchLabels:
  22618. additionalProperties:
  22619. type: string
  22620. description: matchLabels is a map of {key,value}
  22621. pairs. A single {key,value} in the matchLabels
  22622. map is equivalent to an element of matchExpressions,
  22623. whose key field is "key", the operator is "In",
  22624. and the values array contains only "value". The
  22625. requirements are ANDed.
  22626. type: object
  22627. type: object
  22628. x-kubernetes-map-type: atomic
  22629. namespaceSelector:
  22630. description: A label query over the set of namespaces
  22631. that the term applies to. The term is applied to the
  22632. union of the namespaces selected by this field and
  22633. the ones listed in the namespaces field. null selector
  22634. and null or empty namespaces list means "this pod's
  22635. namespace". An empty selector ({}) matches all namespaces.
  22636. properties:
  22637. matchExpressions:
  22638. description: matchExpressions is a list of label
  22639. selector requirements. The requirements are ANDed.
  22640. items:
  22641. description: A label selector requirement is a
  22642. selector that contains values, a key, and an
  22643. operator that relates the key and values.
  22644. properties:
  22645. key:
  22646. description: key is the label key that the
  22647. selector applies to.
  22648. type: string
  22649. operator:
  22650. description: operator represents a key's relationship
  22651. to a set of values. Valid operators are
  22652. In, NotIn, Exists and DoesNotExist.
  22653. type: string
  22654. values:
  22655. description: values is an array of string
  22656. values. If the operator is In or NotIn,
  22657. the values array must be non-empty. If the
  22658. operator is Exists or DoesNotExist, the
  22659. values array must be empty. This array is
  22660. replaced during a strategic merge patch.
  22661. items:
  22662. type: string
  22663. type: array
  22664. required:
  22665. - key
  22666. - operator
  22667. type: object
  22668. type: array
  22669. matchLabels:
  22670. additionalProperties:
  22671. type: string
  22672. description: matchLabels is a map of {key,value}
  22673. pairs. A single {key,value} in the matchLabels
  22674. map is equivalent to an element of matchExpressions,
  22675. whose key field is "key", the operator is "In",
  22676. and the values array contains only "value". The
  22677. requirements are ANDed.
  22678. type: object
  22679. type: object
  22680. x-kubernetes-map-type: atomic
  22681. namespaces:
  22682. description: namespaces specifies a static list of namespace
  22683. names that the term applies to. The term is applied
  22684. to the union of the namespaces listed in this field
  22685. and the ones selected by namespaceSelector. null or
  22686. empty namespaces list and null namespaceSelector means
  22687. "this pod's namespace".
  22688. items:
  22689. type: string
  22690. type: array
  22691. topologyKey:
  22692. description: This pod should be co-located (affinity)
  22693. or not co-located (anti-affinity) with the pods matching
  22694. the labelSelector in the specified namespaces, where
  22695. co-located is defined as running on a node whose value
  22696. of the label with key topologyKey matches that of
  22697. any node on which any of the selected pods is running.
  22698. Empty topologyKey is not allowed.
  22699. type: string
  22700. required:
  22701. - topologyKey
  22702. type: object
  22703. type: array
  22704. type: object
  22705. podAntiAffinity:
  22706. description: Describes pod anti-affinity scheduling rules (e.g.
  22707. avoid putting this pod in the same node, zone, etc. as some
  22708. other pod(s)).
  22709. properties:
  22710. preferredDuringSchedulingIgnoredDuringExecution:
  22711. description: The scheduler will prefer to schedule pods to
  22712. nodes that satisfy the anti-affinity expressions specified
  22713. by this field, but it may choose a node that violates one
  22714. or more of the expressions. The node that is most preferred
  22715. is the one with the greatest sum of weights, i.e. for each
  22716. node that meets all of the scheduling requirements (resource
  22717. request, requiredDuringScheduling anti-affinity expressions,
  22718. etc.), compute a sum by iterating through the elements of
  22719. this field and adding "weight" to the sum if the node has
  22720. pods which matches the corresponding podAffinityTerm; the
  22721. node(s) with the highest sum are the most preferred.
  22722. items:
  22723. description: The weights of all of the matched WeightedPodAffinityTerm
  22724. fields are added per-node to find the most preferred node(s)
  22725. properties:
  22726. podAffinityTerm:
  22727. description: Required. A pod affinity term, associated
  22728. with the corresponding weight.
  22729. properties:
  22730. labelSelector:
  22731. description: A label query over a set of resources,
  22732. in this case pods.
  22733. properties:
  22734. matchExpressions:
  22735. description: matchExpressions is a list of label
  22736. selector requirements. The requirements are
  22737. ANDed.
  22738. items:
  22739. description: A label selector requirement
  22740. is a selector that contains values, a key,
  22741. and an operator that relates the key and
  22742. values.
  22743. properties:
  22744. key:
  22745. description: key is the label key that
  22746. the selector applies to.
  22747. type: string
  22748. operator:
  22749. description: operator represents a key's
  22750. relationship to a set of values. Valid
  22751. operators are In, NotIn, Exists and
  22752. DoesNotExist.
  22753. type: string
  22754. values:
  22755. description: values is an array of string
  22756. values. If the operator is In or NotIn,
  22757. the values array must be non-empty.
  22758. If the operator is Exists or DoesNotExist,
  22759. the values array must be empty. This
  22760. array is replaced during a strategic
  22761. merge patch.
  22762. items:
  22763. type: string
  22764. type: array
  22765. required:
  22766. - key
  22767. - operator
  22768. type: object
  22769. type: array
  22770. matchLabels:
  22771. additionalProperties:
  22772. type: string
  22773. description: matchLabels is a map of {key,value}
  22774. pairs. A single {key,value} in the matchLabels
  22775. map is equivalent to an element of matchExpressions,
  22776. whose key field is "key", the operator is
  22777. "In", and the values array contains only "value".
  22778. The requirements are ANDed.
  22779. type: object
  22780. type: object
  22781. x-kubernetes-map-type: atomic
  22782. namespaceSelector:
  22783. description: A label query over the set of namespaces
  22784. that the term applies to. The term is applied
  22785. to the union of the namespaces selected by this
  22786. field and the ones listed in the namespaces field.
  22787. null selector and null or empty namespaces list
  22788. means "this pod's namespace". An empty selector
  22789. ({}) matches all namespaces.
  22790. properties:
  22791. matchExpressions:
  22792. description: matchExpressions is a list of label
  22793. selector requirements. The requirements are
  22794. ANDed.
  22795. items:
  22796. description: A label selector requirement
  22797. is a selector that contains values, a key,
  22798. and an operator that relates the key and
  22799. values.
  22800. properties:
  22801. key:
  22802. description: key is the label key that
  22803. the selector applies to.
  22804. type: string
  22805. operator:
  22806. description: operator represents a key's
  22807. relationship to a set of values. Valid
  22808. operators are In, NotIn, Exists and
  22809. DoesNotExist.
  22810. type: string
  22811. values:
  22812. description: values is an array of string
  22813. values. If the operator is In or NotIn,
  22814. the values array must be non-empty.
  22815. If the operator is Exists or DoesNotExist,
  22816. the values array must be empty. This
  22817. array is replaced during a strategic
  22818. merge patch.
  22819. items:
  22820. type: string
  22821. type: array
  22822. required:
  22823. - key
  22824. - operator
  22825. type: object
  22826. type: array
  22827. matchLabels:
  22828. additionalProperties:
  22829. type: string
  22830. description: matchLabels is a map of {key,value}
  22831. pairs. A single {key,value} in the matchLabels
  22832. map is equivalent to an element of matchExpressions,
  22833. whose key field is "key", the operator is
  22834. "In", and the values array contains only "value".
  22835. The requirements are ANDed.
  22836. type: object
  22837. type: object
  22838. x-kubernetes-map-type: atomic
  22839. namespaces:
  22840. description: namespaces specifies a static list
  22841. of namespace names that the term applies to. The
  22842. term is applied to the union of the namespaces
  22843. listed in this field and the ones selected by
  22844. namespaceSelector. null or empty namespaces list
  22845. and null namespaceSelector means "this pod's namespace".
  22846. items:
  22847. type: string
  22848. type: array
  22849. topologyKey:
  22850. description: This pod should be co-located (affinity)
  22851. or not co-located (anti-affinity) with the pods
  22852. matching the labelSelector in the specified namespaces,
  22853. where co-located is defined as running on a node
  22854. whose value of the label with key topologyKey
  22855. matches that of any node on which any of the selected
  22856. pods is running. Empty topologyKey is not allowed.
  22857. type: string
  22858. required:
  22859. - topologyKey
  22860. type: object
  22861. weight:
  22862. description: weight associated with matching the corresponding
  22863. podAffinityTerm, in the range 1-100.
  22864. format: int32
  22865. type: integer
  22866. required:
  22867. - podAffinityTerm
  22868. - weight
  22869. type: object
  22870. type: array
  22871. requiredDuringSchedulingIgnoredDuringExecution:
  22872. description: If the anti-affinity requirements specified by
  22873. this field are not met at scheduling time, the pod will
  22874. not be scheduled onto the node. If the anti-affinity requirements
  22875. specified by this field cease to be met at some point during
  22876. pod execution (e.g. due to a pod label update), the system
  22877. may or may not try to eventually evict the pod from its
  22878. node. When there are multiple elements, the lists of nodes
  22879. corresponding to each podAffinityTerm are intersected, i.e.
  22880. all terms must be satisfied.
  22881. items:
  22882. description: Defines a set of pods (namely those matching
  22883. the labelSelector relative to the given namespace(s))
  22884. that this pod should be co-located (affinity) or not co-located
  22885. (anti-affinity) with, where co-located is defined as running
  22886. on a node whose value of the label with key <topologyKey>
  22887. matches that of any node on which a pod of the set of
  22888. pods is running
  22889. properties:
  22890. labelSelector:
  22891. description: A label query over a set of resources,
  22892. in this case pods.
  22893. properties:
  22894. matchExpressions:
  22895. description: matchExpressions is a list of label
  22896. selector requirements. The requirements are ANDed.
  22897. items:
  22898. description: A label selector requirement is a
  22899. selector that contains values, a key, and an
  22900. operator that relates the key and values.
  22901. properties:
  22902. key:
  22903. description: key is the label key that the
  22904. selector applies to.
  22905. type: string
  22906. operator:
  22907. description: operator represents a key's relationship
  22908. to a set of values. Valid operators are
  22909. In, NotIn, Exists and DoesNotExist.
  22910. type: string
  22911. values:
  22912. description: values is an array of string
  22913. values. If the operator is In or NotIn,
  22914. the values array must be non-empty. If the
  22915. operator is Exists or DoesNotExist, the
  22916. values array must be empty. This array is
  22917. replaced during a strategic merge patch.
  22918. items:
  22919. type: string
  22920. type: array
  22921. required:
  22922. - key
  22923. - operator
  22924. type: object
  22925. type: array
  22926. matchLabels:
  22927. additionalProperties:
  22928. type: string
  22929. description: matchLabels is a map of {key,value}
  22930. pairs. A single {key,value} in the matchLabels
  22931. map is equivalent to an element of matchExpressions,
  22932. whose key field is "key", the operator is "In",
  22933. and the values array contains only "value". The
  22934. requirements are ANDed.
  22935. type: object
  22936. type: object
  22937. x-kubernetes-map-type: atomic
  22938. namespaceSelector:
  22939. description: A label query over the set of namespaces
  22940. that the term applies to. The term is applied to the
  22941. union of the namespaces selected by this field and
  22942. the ones listed in the namespaces field. null selector
  22943. and null or empty namespaces list means "this pod's
  22944. namespace". An empty selector ({}) matches all namespaces.
  22945. properties:
  22946. matchExpressions:
  22947. description: matchExpressions is a list of label
  22948. selector requirements. The requirements are ANDed.
  22949. items:
  22950. description: A label selector requirement is a
  22951. selector that contains values, a key, and an
  22952. operator that relates the key and values.
  22953. properties:
  22954. key:
  22955. description: key is the label key that the
  22956. selector applies to.
  22957. type: string
  22958. operator:
  22959. description: operator represents a key's relationship
  22960. to a set of values. Valid operators are
  22961. In, NotIn, Exists and DoesNotExist.
  22962. type: string
  22963. values:
  22964. description: values is an array of string
  22965. values. If the operator is In or NotIn,
  22966. the values array must be non-empty. If the
  22967. operator is Exists or DoesNotExist, the
  22968. values array must be empty. This array is
  22969. replaced during a strategic merge patch.
  22970. items:
  22971. type: string
  22972. type: array
  22973. required:
  22974. - key
  22975. - operator
  22976. type: object
  22977. type: array
  22978. matchLabels:
  22979. additionalProperties:
  22980. type: string
  22981. description: matchLabels is a map of {key,value}
  22982. pairs. A single {key,value} in the matchLabels
  22983. map is equivalent to an element of matchExpressions,
  22984. whose key field is "key", the operator is "In",
  22985. and the values array contains only "value". The
  22986. requirements are ANDed.
  22987. type: object
  22988. type: object
  22989. x-kubernetes-map-type: atomic
  22990. namespaces:
  22991. description: namespaces specifies a static list of namespace
  22992. names that the term applies to. The term is applied
  22993. to the union of the namespaces listed in this field
  22994. and the ones selected by namespaceSelector. null or
  22995. empty namespaces list and null namespaceSelector means
  22996. "this pod's namespace".
  22997. items:
  22998. type: string
  22999. type: array
  23000. topologyKey:
  23001. description: This pod should be co-located (affinity)
  23002. or not co-located (anti-affinity) with the pods matching
  23003. the labelSelector in the specified namespaces, where
  23004. co-located is defined as running on a node whose value
  23005. of the label with key topologyKey matches that of
  23006. any node on which any of the selected pods is running.
  23007. Empty topologyKey is not allowed.
  23008. type: string
  23009. required:
  23010. - topologyKey
  23011. type: object
  23012. type: array
  23013. type: object
  23014. type: object
  23015. alertDropLabels:
  23016. description: AlertDropLabels configure the label names which should
  23017. be dropped in ThanosRuler alerts. The replica label `thanos_ruler_replica`
  23018. will always be dropped in alerts.
  23019. items:
  23020. type: string
  23021. type: array
  23022. alertQueryUrl:
  23023. description: The external Query URL the Thanos Ruler will set in the
  23024. 'Source' field of all alerts. Maps to the '--alert.query-url' CLI
  23025. arg.
  23026. type: string
  23027. alertRelabelConfigFile:
  23028. description: AlertRelabelConfigFile specifies the path of the alert
  23029. relabeling configuration file. When used alongside with AlertRelabelConfigs,
  23030. alertRelabelConfigFile takes precedence.
  23031. type: string
  23032. alertRelabelConfigs:
  23033. description: 'AlertRelabelConfigs configures alert relabeling in ThanosRuler.
  23034. Alert relabel configurations must have the form as specified in
  23035. the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs
  23036. Alternative to AlertRelabelConfigFile, and lower order priority.'
  23037. properties:
  23038. key:
  23039. description: The key of the secret to select from. Must be a
  23040. valid secret key.
  23041. type: string
  23042. name:
  23043. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  23044. TODO: Add other useful fields. apiVersion, kind, uid?'
  23045. type: string
  23046. optional:
  23047. description: Specify whether the Secret or its key must be defined
  23048. type: boolean
  23049. required:
  23050. - key
  23051. type: object
  23052. x-kubernetes-map-type: atomic
  23053. alertmanagersConfig:
  23054. description: Define configuration for connecting to alertmanager. Only
  23055. available with thanos v0.10.0 and higher. Maps to the `alertmanagers.config`
  23056. arg.
  23057. properties:
  23058. key:
  23059. description: The key of the secret to select from. Must be a
  23060. valid secret key.
  23061. type: string
  23062. name:
  23063. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  23064. TODO: Add other useful fields. apiVersion, kind, uid?'
  23065. type: string
  23066. optional:
  23067. description: Specify whether the Secret or its key must be defined
  23068. type: boolean
  23069. required:
  23070. - key
  23071. type: object
  23072. x-kubernetes-map-type: atomic
  23073. alertmanagersUrl:
  23074. description: 'Define URLs to send alerts to Alertmanager. For Thanos
  23075. v0.10.0 and higher, AlertManagersConfig should be used instead. Note:
  23076. this field will be ignored if AlertManagersConfig is specified.
  23077. Maps to the `alertmanagers.url` arg.'
  23078. items:
  23079. type: string
  23080. type: array
  23081. containers:
  23082. description: 'Containers allows injecting additional containers or
  23083. modifying operator generated containers. This can be used to allow
  23084. adding an authentication proxy to a ThanosRuler pod or to change
  23085. the behavior of an operator generated container. Containers described
  23086. here modify an operator generated container if they share the same
  23087. name and modifications are done via a strategic merge patch. The
  23088. current container names are: `thanos-ruler` and `config-reloader`.
  23089. Overriding containers is entirely outside the scope of what the
  23090. maintainers will support and by doing so, you accept that this behaviour
  23091. may break at any time without notice.'
  23092. items:
  23093. description: A single application container that you want to run
  23094. within a pod.
  23095. properties:
  23096. args:
  23097. description: 'Arguments to the entrypoint. The container image''s
  23098. CMD is used if this is not provided. Variable references $(VAR_NAME)
  23099. are expanded using the container''s environment. If a variable
  23100. cannot be resolved, the reference in the input string will
  23101. be unchanged. Double $$ are reduced to a single $, which allows
  23102. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  23103. produce the string literal "$(VAR_NAME)". Escaped references
  23104. will never be expanded, regardless of whether the variable
  23105. 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'
  23106. items:
  23107. type: string
  23108. type: array
  23109. command:
  23110. description: 'Entrypoint array. Not executed within a shell.
  23111. The container image''s ENTRYPOINT is used if this is not provided.
  23112. Variable references $(VAR_NAME) are expanded using the container''s
  23113. environment. If a variable cannot be resolved, the reference
  23114. in the input string will be unchanged. Double $$ are reduced
  23115. to a single $, which allows for escaping the $(VAR_NAME) syntax:
  23116. i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  23117. Escaped references will never be expanded, regardless of whether
  23118. the variable exists or not. Cannot be updated. More info:
  23119. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  23120. items:
  23121. type: string
  23122. type: array
  23123. env:
  23124. description: List of environment variables to set in the container.
  23125. Cannot be updated.
  23126. items:
  23127. description: EnvVar represents an environment variable present
  23128. in a Container.
  23129. properties:
  23130. name:
  23131. description: Name of the environment variable. Must be
  23132. a C_IDENTIFIER.
  23133. type: string
  23134. value:
  23135. description: 'Variable references $(VAR_NAME) are expanded
  23136. using the previously defined environment variables in
  23137. the container and any service environment variables.
  23138. If a variable cannot be resolved, the reference in the
  23139. input string will be unchanged. Double $$ are reduced
  23140. to a single $, which allows for escaping the $(VAR_NAME)
  23141. syntax: i.e. "$$(VAR_NAME)" will produce the string
  23142. literal "$(VAR_NAME)". Escaped references will never
  23143. be expanded, regardless of whether the variable exists
  23144. or not. Defaults to "".'
  23145. type: string
  23146. valueFrom:
  23147. description: Source for the environment variable's value.
  23148. Cannot be used if value is not empty.
  23149. properties:
  23150. configMapKeyRef:
  23151. description: Selects a key of a ConfigMap.
  23152. properties:
  23153. key:
  23154. description: The key to select.
  23155. type: string
  23156. name:
  23157. description: 'Name of the referent. More info:
  23158. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  23159. TODO: Add other useful fields. apiVersion, kind,
  23160. uid?'
  23161. type: string
  23162. optional:
  23163. description: Specify whether the ConfigMap or
  23164. its key must be defined
  23165. type: boolean
  23166. required:
  23167. - key
  23168. type: object
  23169. x-kubernetes-map-type: atomic
  23170. fieldRef:
  23171. description: 'Selects a field of the pod: supports
  23172. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  23173. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  23174. spec.serviceAccountName, status.hostIP, status.podIP,
  23175. status.podIPs.'
  23176. properties:
  23177. apiVersion:
  23178. description: Version of the schema the FieldPath
  23179. is written in terms of, defaults to "v1".
  23180. type: string
  23181. fieldPath:
  23182. description: Path of the field to select in the
  23183. specified API version.
  23184. type: string
  23185. required:
  23186. - fieldPath
  23187. type: object
  23188. x-kubernetes-map-type: atomic
  23189. resourceFieldRef:
  23190. description: 'Selects a resource of the container:
  23191. only resources limits and requests (limits.cpu,
  23192. limits.memory, limits.ephemeral-storage, requests.cpu,
  23193. requests.memory and requests.ephemeral-storage)
  23194. are currently supported.'
  23195. properties:
  23196. containerName:
  23197. description: 'Container name: required for volumes,
  23198. optional for env vars'
  23199. type: string
  23200. divisor:
  23201. anyOf:
  23202. - type: integer
  23203. - type: string
  23204. description: Specifies the output format of the
  23205. exposed resources, defaults to "1"
  23206. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  23207. x-kubernetes-int-or-string: true
  23208. resource:
  23209. description: 'Required: resource to select'
  23210. type: string
  23211. required:
  23212. - resource
  23213. type: object
  23214. x-kubernetes-map-type: atomic
  23215. secretKeyRef:
  23216. description: Selects a key of a secret in the pod's
  23217. namespace
  23218. properties:
  23219. key:
  23220. description: The key of the secret to select from. Must
  23221. be a valid secret key.
  23222. type: string
  23223. name:
  23224. description: 'Name of the referent. More info:
  23225. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  23226. TODO: Add other useful fields. apiVersion, kind,
  23227. uid?'
  23228. type: string
  23229. optional:
  23230. description: Specify whether the Secret or its
  23231. key must be defined
  23232. type: boolean
  23233. required:
  23234. - key
  23235. type: object
  23236. x-kubernetes-map-type: atomic
  23237. type: object
  23238. required:
  23239. - name
  23240. type: object
  23241. type: array
  23242. envFrom:
  23243. description: List of sources to populate environment variables
  23244. in the container. The keys defined within a source must be
  23245. a C_IDENTIFIER. All invalid keys will be reported as an event
  23246. when the container is starting. When a key exists in multiple
  23247. sources, the value associated with the last source will take
  23248. precedence. Values defined by an Env with a duplicate key
  23249. will take precedence. Cannot be updated.
  23250. items:
  23251. description: EnvFromSource represents the source of a set
  23252. of ConfigMaps
  23253. properties:
  23254. configMapRef:
  23255. description: The ConfigMap to select from
  23256. properties:
  23257. name:
  23258. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  23259. TODO: Add other useful fields. apiVersion, kind,
  23260. uid?'
  23261. type: string
  23262. optional:
  23263. description: Specify whether the ConfigMap must be
  23264. defined
  23265. type: boolean
  23266. type: object
  23267. x-kubernetes-map-type: atomic
  23268. prefix:
  23269. description: An optional identifier to prepend to each
  23270. key in the ConfigMap. Must be a C_IDENTIFIER.
  23271. type: string
  23272. secretRef:
  23273. description: The Secret to select from
  23274. properties:
  23275. name:
  23276. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  23277. TODO: Add other useful fields. apiVersion, kind,
  23278. uid?'
  23279. type: string
  23280. optional:
  23281. description: Specify whether the Secret must be defined
  23282. type: boolean
  23283. type: object
  23284. x-kubernetes-map-type: atomic
  23285. type: object
  23286. type: array
  23287. image:
  23288. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  23289. This field is optional to allow higher level config management
  23290. to default or override container images in workload controllers
  23291. like Deployments and StatefulSets.'
  23292. type: string
  23293. imagePullPolicy:
  23294. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  23295. Defaults to Always if :latest tag is specified, or IfNotPresent
  23296. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  23297. type: string
  23298. lifecycle:
  23299. description: Actions that the management system should take
  23300. in response to container lifecycle events. Cannot be updated.
  23301. properties:
  23302. postStart:
  23303. description: 'PostStart is called immediately after a container
  23304. is created. If the handler fails, the container is terminated
  23305. and restarted according to its restart policy. Other management
  23306. of the container blocks until the hook completes. More
  23307. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  23308. properties:
  23309. exec:
  23310. description: Exec specifies the action to take.
  23311. properties:
  23312. command:
  23313. description: Command is the command line to execute
  23314. inside the container, the working directory for
  23315. the command is root ('/') in the container's
  23316. filesystem. The command is simply exec'd, it is
  23317. not run inside a shell, so traditional shell instructions
  23318. ('|', etc) won't work. To use a shell, you need
  23319. to explicitly call out to that shell. Exit status
  23320. of 0 is treated as live/healthy and non-zero is
  23321. unhealthy.
  23322. items:
  23323. type: string
  23324. type: array
  23325. type: object
  23326. httpGet:
  23327. description: HTTPGet specifies the http request to perform.
  23328. properties:
  23329. host:
  23330. description: Host name to connect to, defaults to
  23331. the pod IP. You probably want to set "Host" in
  23332. httpHeaders instead.
  23333. type: string
  23334. httpHeaders:
  23335. description: Custom headers to set in the request.
  23336. HTTP allows repeated headers.
  23337. items:
  23338. description: HTTPHeader describes a custom header
  23339. to be used in HTTP probes
  23340. properties:
  23341. name:
  23342. description: The header field name
  23343. type: string
  23344. value:
  23345. description: The header field value
  23346. type: string
  23347. required:
  23348. - name
  23349. - value
  23350. type: object
  23351. type: array
  23352. path:
  23353. description: Path to access on the HTTP server.
  23354. type: string
  23355. port:
  23356. anyOf:
  23357. - type: integer
  23358. - type: string
  23359. description: Name or number of the port to access
  23360. on the container. Number must be in the range
  23361. 1 to 65535. Name must be an IANA_SVC_NAME.
  23362. x-kubernetes-int-or-string: true
  23363. scheme:
  23364. description: Scheme to use for connecting to the
  23365. host. Defaults to HTTP.
  23366. type: string
  23367. required:
  23368. - port
  23369. type: object
  23370. tcpSocket:
  23371. description: Deprecated. TCPSocket is NOT supported
  23372. as a LifecycleHandler and kept for the backward compatibility.
  23373. There are no validation of this field and lifecycle
  23374. hooks will fail in runtime when tcp handler is specified.
  23375. properties:
  23376. host:
  23377. description: 'Optional: Host name to connect to,
  23378. defaults to the pod IP.'
  23379. type: string
  23380. port:
  23381. anyOf:
  23382. - type: integer
  23383. - type: string
  23384. description: Number or name of the port to access
  23385. on the container. Number must be in the range
  23386. 1 to 65535. Name must be an IANA_SVC_NAME.
  23387. x-kubernetes-int-or-string: true
  23388. required:
  23389. - port
  23390. type: object
  23391. type: object
  23392. preStop:
  23393. description: 'PreStop is called immediately before a container
  23394. is terminated due to an API request or management event
  23395. such as liveness/startup probe failure, preemption, resource
  23396. contention, etc. The handler is not called if the container
  23397. crashes or exits. The Pod''s termination grace period
  23398. countdown begins before the PreStop hook is executed.
  23399. Regardless of the outcome of the handler, the container
  23400. will eventually terminate within the Pod''s termination
  23401. grace period (unless delayed by finalizers). Other management
  23402. of the container blocks until the hook completes or until
  23403. the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  23404. properties:
  23405. exec:
  23406. description: Exec specifies the action to take.
  23407. properties:
  23408. command:
  23409. description: Command is the command line to execute
  23410. inside the container, the working directory for
  23411. the command is root ('/') in the container's
  23412. filesystem. The command is simply exec'd, it is
  23413. not run inside a shell, so traditional shell instructions
  23414. ('|', etc) won't work. To use a shell, you need
  23415. to explicitly call out to that shell. Exit status
  23416. of 0 is treated as live/healthy and non-zero is
  23417. unhealthy.
  23418. items:
  23419. type: string
  23420. type: array
  23421. type: object
  23422. httpGet:
  23423. description: HTTPGet specifies the http request to perform.
  23424. properties:
  23425. host:
  23426. description: Host name to connect to, defaults to
  23427. the pod IP. You probably want to set "Host" in
  23428. httpHeaders instead.
  23429. type: string
  23430. httpHeaders:
  23431. description: Custom headers to set in the request.
  23432. HTTP allows repeated headers.
  23433. items:
  23434. description: HTTPHeader describes a custom header
  23435. to be used in HTTP probes
  23436. properties:
  23437. name:
  23438. description: The header field name
  23439. type: string
  23440. value:
  23441. description: The header field value
  23442. type: string
  23443. required:
  23444. - name
  23445. - value
  23446. type: object
  23447. type: array
  23448. path:
  23449. description: Path to access on the HTTP server.
  23450. type: string
  23451. port:
  23452. anyOf:
  23453. - type: integer
  23454. - type: string
  23455. description: Name or number of the port to access
  23456. on the container. Number must be in the range
  23457. 1 to 65535. Name must be an IANA_SVC_NAME.
  23458. x-kubernetes-int-or-string: true
  23459. scheme:
  23460. description: Scheme to use for connecting to the
  23461. host. Defaults to HTTP.
  23462. type: string
  23463. required:
  23464. - port
  23465. type: object
  23466. tcpSocket:
  23467. description: Deprecated. TCPSocket is NOT supported
  23468. as a LifecycleHandler and kept for the backward compatibility.
  23469. There are no validation of this field and lifecycle
  23470. hooks will fail in runtime when tcp handler is specified.
  23471. properties:
  23472. host:
  23473. description: 'Optional: Host name to connect to,
  23474. defaults to the pod IP.'
  23475. type: string
  23476. port:
  23477. anyOf:
  23478. - type: integer
  23479. - type: string
  23480. description: Number or name of the port to access
  23481. on the container. Number must be in the range
  23482. 1 to 65535. Name must be an IANA_SVC_NAME.
  23483. x-kubernetes-int-or-string: true
  23484. required:
  23485. - port
  23486. type: object
  23487. type: object
  23488. type: object
  23489. livenessProbe:
  23490. description: 'Periodic probe of container liveness. Container
  23491. will be restarted if the probe fails. Cannot be updated. More
  23492. info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  23493. properties:
  23494. exec:
  23495. description: Exec specifies the action to take.
  23496. properties:
  23497. command:
  23498. description: Command is the command line to execute
  23499. inside the container, the working directory for the
  23500. command is root ('/') in the container's filesystem.
  23501. The command is simply exec'd, it is not run inside
  23502. a shell, so traditional shell instructions ('|', etc)
  23503. won't work. To use a shell, you need to explicitly
  23504. call out to that shell. Exit status of 0 is treated
  23505. as live/healthy and non-zero is unhealthy.
  23506. items:
  23507. type: string
  23508. type: array
  23509. type: object
  23510. failureThreshold:
  23511. description: Minimum consecutive failures for the probe
  23512. to be considered failed after having succeeded. Defaults
  23513. to 3. Minimum value is 1.
  23514. format: int32
  23515. type: integer
  23516. grpc:
  23517. description: GRPC specifies an action involving a GRPC port.
  23518. This is a beta field and requires enabling GRPCContainerProbe
  23519. feature gate.
  23520. properties:
  23521. port:
  23522. description: Port number of the gRPC service. Number
  23523. must be in the range 1 to 65535.
  23524. format: int32
  23525. type: integer
  23526. service:
  23527. description: "Service is the name of the service to
  23528. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  23529. \n If this is not specified, the default behavior
  23530. is defined by gRPC."
  23531. type: string
  23532. required:
  23533. - port
  23534. type: object
  23535. httpGet:
  23536. description: HTTPGet specifies the http request to perform.
  23537. properties:
  23538. host:
  23539. description: Host name to connect to, defaults to the
  23540. pod IP. You probably want to set "Host" in httpHeaders
  23541. instead.
  23542. type: string
  23543. httpHeaders:
  23544. description: Custom headers to set in the request. HTTP
  23545. allows repeated headers.
  23546. items:
  23547. description: HTTPHeader describes a custom header
  23548. to be used in HTTP probes
  23549. properties:
  23550. name:
  23551. description: The header field name
  23552. type: string
  23553. value:
  23554. description: The header field value
  23555. type: string
  23556. required:
  23557. - name
  23558. - value
  23559. type: object
  23560. type: array
  23561. path:
  23562. description: Path to access on the HTTP server.
  23563. type: string
  23564. port:
  23565. anyOf:
  23566. - type: integer
  23567. - type: string
  23568. description: Name or number of the port to access on
  23569. the container. Number must be in the range 1 to 65535.
  23570. Name must be an IANA_SVC_NAME.
  23571. x-kubernetes-int-or-string: true
  23572. scheme:
  23573. description: Scheme to use for connecting to the host.
  23574. Defaults to HTTP.
  23575. type: string
  23576. required:
  23577. - port
  23578. type: object
  23579. initialDelaySeconds:
  23580. description: 'Number of seconds after the container has
  23581. started before liveness probes are initiated. More info:
  23582. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  23583. format: int32
  23584. type: integer
  23585. periodSeconds:
  23586. description: How often (in seconds) to perform the probe.
  23587. Default to 10 seconds. Minimum value is 1.
  23588. format: int32
  23589. type: integer
  23590. successThreshold:
  23591. description: Minimum consecutive successes for the probe
  23592. to be considered successful after having failed. Defaults
  23593. to 1. Must be 1 for liveness and startup. Minimum value
  23594. is 1.
  23595. format: int32
  23596. type: integer
  23597. tcpSocket:
  23598. description: TCPSocket specifies an action involving a TCP
  23599. port.
  23600. properties:
  23601. host:
  23602. description: 'Optional: Host name to connect to, defaults
  23603. to the pod IP.'
  23604. type: string
  23605. port:
  23606. anyOf:
  23607. - type: integer
  23608. - type: string
  23609. description: Number or name of the port to access on
  23610. the container. Number must be in the range 1 to 65535.
  23611. Name must be an IANA_SVC_NAME.
  23612. x-kubernetes-int-or-string: true
  23613. required:
  23614. - port
  23615. type: object
  23616. terminationGracePeriodSeconds:
  23617. description: Optional duration in seconds the pod needs
  23618. to terminate gracefully upon probe failure. The grace
  23619. period is the duration in seconds after the processes
  23620. running in the pod are sent a termination signal and the
  23621. time when the processes are forcibly halted with a kill
  23622. signal. Set this value longer than the expected cleanup
  23623. time for your process. If this value is nil, the pod's
  23624. terminationGracePeriodSeconds will be used. Otherwise,
  23625. this value overrides the value provided by the pod spec.
  23626. Value must be non-negative integer. The value zero indicates
  23627. stop immediately via the kill signal (no opportunity to
  23628. shut down). This is a beta field and requires enabling
  23629. ProbeTerminationGracePeriod feature gate. Minimum value
  23630. is 1. spec.terminationGracePeriodSeconds is used if unset.
  23631. format: int64
  23632. type: integer
  23633. timeoutSeconds:
  23634. description: 'Number of seconds after which the probe times
  23635. out. Defaults to 1 second. Minimum value is 1. More info:
  23636. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  23637. format: int32
  23638. type: integer
  23639. type: object
  23640. name:
  23641. description: Name of the container specified as a DNS_LABEL.
  23642. Each container in a pod must have a unique name (DNS_LABEL).
  23643. Cannot be updated.
  23644. type: string
  23645. ports:
  23646. description: List of ports to expose from the container. Exposing
  23647. a port here gives the system additional information about
  23648. the network connections a container uses, but is primarily
  23649. informational. Not specifying a port here DOES NOT prevent
  23650. that port from being exposed. Any port which is listening
  23651. on the default "0.0.0.0" address inside a container will be
  23652. accessible from the network. Cannot be updated.
  23653. items:
  23654. description: ContainerPort represents a network port in a
  23655. single container.
  23656. properties:
  23657. containerPort:
  23658. description: Number of port to expose on the pod's IP
  23659. address. This must be a valid port number, 0 < x < 65536.
  23660. format: int32
  23661. type: integer
  23662. hostIP:
  23663. description: What host IP to bind the external port to.
  23664. type: string
  23665. hostPort:
  23666. description: Number of port to expose on the host. If
  23667. specified, this must be a valid port number, 0 < x <
  23668. 65536. If HostNetwork is specified, this must match
  23669. ContainerPort. Most containers do not need this.
  23670. format: int32
  23671. type: integer
  23672. name:
  23673. description: If specified, this must be an IANA_SVC_NAME
  23674. and unique within the pod. Each named port in a pod
  23675. must have a unique name. Name for the port that can
  23676. be referred to by services.
  23677. type: string
  23678. protocol:
  23679. default: TCP
  23680. description: Protocol for port. Must be UDP, TCP, or SCTP.
  23681. Defaults to "TCP".
  23682. type: string
  23683. required:
  23684. - containerPort
  23685. type: object
  23686. type: array
  23687. x-kubernetes-list-map-keys:
  23688. - containerPort
  23689. - protocol
  23690. x-kubernetes-list-type: map
  23691. readinessProbe:
  23692. description: 'Periodic probe of container service readiness.
  23693. Container will be removed from service endpoints if the probe
  23694. fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  23695. properties:
  23696. exec:
  23697. description: Exec specifies the action to take.
  23698. properties:
  23699. command:
  23700. description: Command is the command line to execute
  23701. inside the container, the working directory for the
  23702. command is root ('/') in the container's filesystem.
  23703. The command is simply exec'd, it is not run inside
  23704. a shell, so traditional shell instructions ('|', etc)
  23705. won't work. To use a shell, you need to explicitly
  23706. call out to that shell. Exit status of 0 is treated
  23707. as live/healthy and non-zero is unhealthy.
  23708. items:
  23709. type: string
  23710. type: array
  23711. type: object
  23712. failureThreshold:
  23713. description: Minimum consecutive failures for the probe
  23714. to be considered failed after having succeeded. Defaults
  23715. to 3. Minimum value is 1.
  23716. format: int32
  23717. type: integer
  23718. grpc:
  23719. description: GRPC specifies an action involving a GRPC port.
  23720. This is a beta field and requires enabling GRPCContainerProbe
  23721. feature gate.
  23722. properties:
  23723. port:
  23724. description: Port number of the gRPC service. Number
  23725. must be in the range 1 to 65535.
  23726. format: int32
  23727. type: integer
  23728. service:
  23729. description: "Service is the name of the service to
  23730. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  23731. \n If this is not specified, the default behavior
  23732. is defined by gRPC."
  23733. type: string
  23734. required:
  23735. - port
  23736. type: object
  23737. httpGet:
  23738. description: HTTPGet specifies the http request to perform.
  23739. properties:
  23740. host:
  23741. description: Host name to connect to, defaults to the
  23742. pod IP. You probably want to set "Host" in httpHeaders
  23743. instead.
  23744. type: string
  23745. httpHeaders:
  23746. description: Custom headers to set in the request. HTTP
  23747. allows repeated headers.
  23748. items:
  23749. description: HTTPHeader describes a custom header
  23750. to be used in HTTP probes
  23751. properties:
  23752. name:
  23753. description: The header field name
  23754. type: string
  23755. value:
  23756. description: The header field value
  23757. type: string
  23758. required:
  23759. - name
  23760. - value
  23761. type: object
  23762. type: array
  23763. path:
  23764. description: Path to access on the HTTP server.
  23765. type: string
  23766. port:
  23767. anyOf:
  23768. - type: integer
  23769. - type: string
  23770. description: Name or number of the port to access on
  23771. the container. Number must be in the range 1 to 65535.
  23772. Name must be an IANA_SVC_NAME.
  23773. x-kubernetes-int-or-string: true
  23774. scheme:
  23775. description: Scheme to use for connecting to the host.
  23776. Defaults to HTTP.
  23777. type: string
  23778. required:
  23779. - port
  23780. type: object
  23781. initialDelaySeconds:
  23782. description: 'Number of seconds after the container has
  23783. started before liveness probes are initiated. More info:
  23784. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  23785. format: int32
  23786. type: integer
  23787. periodSeconds:
  23788. description: How often (in seconds) to perform the probe.
  23789. Default to 10 seconds. Minimum value is 1.
  23790. format: int32
  23791. type: integer
  23792. successThreshold:
  23793. description: Minimum consecutive successes for the probe
  23794. to be considered successful after having failed. Defaults
  23795. to 1. Must be 1 for liveness and startup. Minimum value
  23796. is 1.
  23797. format: int32
  23798. type: integer
  23799. tcpSocket:
  23800. description: TCPSocket specifies an action involving a TCP
  23801. port.
  23802. properties:
  23803. host:
  23804. description: 'Optional: Host name to connect to, defaults
  23805. to the pod IP.'
  23806. type: string
  23807. port:
  23808. anyOf:
  23809. - type: integer
  23810. - type: string
  23811. description: Number or name of the port to access on
  23812. the container. Number must be in the range 1 to 65535.
  23813. Name must be an IANA_SVC_NAME.
  23814. x-kubernetes-int-or-string: true
  23815. required:
  23816. - port
  23817. type: object
  23818. terminationGracePeriodSeconds:
  23819. description: Optional duration in seconds the pod needs
  23820. to terminate gracefully upon probe failure. The grace
  23821. period is the duration in seconds after the processes
  23822. running in the pod are sent a termination signal and the
  23823. time when the processes are forcibly halted with a kill
  23824. signal. Set this value longer than the expected cleanup
  23825. time for your process. If this value is nil, the pod's
  23826. terminationGracePeriodSeconds will be used. Otherwise,
  23827. this value overrides the value provided by the pod spec.
  23828. Value must be non-negative integer. The value zero indicates
  23829. stop immediately via the kill signal (no opportunity to
  23830. shut down). This is a beta field and requires enabling
  23831. ProbeTerminationGracePeriod feature gate. Minimum value
  23832. is 1. spec.terminationGracePeriodSeconds is used if unset.
  23833. format: int64
  23834. type: integer
  23835. timeoutSeconds:
  23836. description: 'Number of seconds after which the probe times
  23837. out. Defaults to 1 second. Minimum value is 1. More info:
  23838. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  23839. format: int32
  23840. type: integer
  23841. type: object
  23842. resources:
  23843. description: 'Compute Resources required by this container.
  23844. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  23845. properties:
  23846. limits:
  23847. additionalProperties:
  23848. anyOf:
  23849. - type: integer
  23850. - type: string
  23851. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  23852. x-kubernetes-int-or-string: true
  23853. description: 'Limits describes the maximum amount of compute
  23854. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  23855. type: object
  23856. requests:
  23857. additionalProperties:
  23858. anyOf:
  23859. - type: integer
  23860. - type: string
  23861. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  23862. x-kubernetes-int-or-string: true
  23863. description: 'Requests describes the minimum amount of compute
  23864. resources required. If Requests is omitted for a container,
  23865. it defaults to Limits if that is explicitly specified,
  23866. otherwise to an implementation-defined value. More info:
  23867. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  23868. type: object
  23869. type: object
  23870. securityContext:
  23871. description: 'SecurityContext defines the security options the
  23872. container should be run with. If set, the fields of SecurityContext
  23873. override the equivalent fields of PodSecurityContext. More
  23874. info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  23875. properties:
  23876. allowPrivilegeEscalation:
  23877. description: 'AllowPrivilegeEscalation controls whether
  23878. a process can gain more privileges than its parent process.
  23879. This bool directly controls if the no_new_privs flag will
  23880. be set on the container process. AllowPrivilegeEscalation
  23881. is true always when the container is: 1) run as Privileged
  23882. 2) has CAP_SYS_ADMIN Note that this field cannot be set
  23883. when spec.os.name is windows.'
  23884. type: boolean
  23885. capabilities:
  23886. description: The capabilities to add/drop when running containers.
  23887. Defaults to the default set of capabilities granted by
  23888. the container runtime. Note that this field cannot be
  23889. set when spec.os.name is windows.
  23890. properties:
  23891. add:
  23892. description: Added capabilities
  23893. items:
  23894. description: Capability represent POSIX capabilities
  23895. type
  23896. type: string
  23897. type: array
  23898. drop:
  23899. description: Removed capabilities
  23900. items:
  23901. description: Capability represent POSIX capabilities
  23902. type
  23903. type: string
  23904. type: array
  23905. type: object
  23906. privileged:
  23907. description: Run container in privileged mode. Processes
  23908. in privileged containers are essentially equivalent to
  23909. root on the host. Defaults to false. Note that this field
  23910. cannot be set when spec.os.name is windows.
  23911. type: boolean
  23912. procMount:
  23913. description: procMount denotes the type of proc mount to
  23914. use for the containers. The default is DefaultProcMount
  23915. which uses the container runtime defaults for readonly
  23916. paths and masked paths. This requires the ProcMountType
  23917. feature flag to be enabled. Note that this field cannot
  23918. be set when spec.os.name is windows.
  23919. type: string
  23920. readOnlyRootFilesystem:
  23921. description: Whether this container has a read-only root
  23922. filesystem. Default is false. Note that this field cannot
  23923. be set when spec.os.name is windows.
  23924. type: boolean
  23925. runAsGroup:
  23926. description: The GID to run the entrypoint of the container
  23927. process. Uses runtime default if unset. May also be set
  23928. in PodSecurityContext. If set in both SecurityContext
  23929. and PodSecurityContext, the value specified in SecurityContext
  23930. takes precedence. Note that this field cannot be set when
  23931. spec.os.name is windows.
  23932. format: int64
  23933. type: integer
  23934. runAsNonRoot:
  23935. description: Indicates that the container must run as a
  23936. non-root user. If true, the Kubelet will validate the
  23937. image at runtime to ensure that it does not run as UID
  23938. 0 (root) and fail to start the container if it does. If
  23939. unset or false, no such validation will be performed.
  23940. May also be set in PodSecurityContext. If set in both
  23941. SecurityContext and PodSecurityContext, the value specified
  23942. in SecurityContext takes precedence.
  23943. type: boolean
  23944. runAsUser:
  23945. description: The UID to run the entrypoint of the container
  23946. process. Defaults to user specified in image metadata
  23947. if unspecified. May also be set in PodSecurityContext. If
  23948. set in both SecurityContext and PodSecurityContext, the
  23949. value specified in SecurityContext takes precedence. Note
  23950. that this field cannot be set when spec.os.name is windows.
  23951. format: int64
  23952. type: integer
  23953. seLinuxOptions:
  23954. description: The SELinux context to be applied to the container.
  23955. If unspecified, the container runtime will allocate a
  23956. random SELinux context for each container. May also be
  23957. set in PodSecurityContext. If set in both SecurityContext
  23958. and PodSecurityContext, the value specified in SecurityContext
  23959. takes precedence. Note that this field cannot be set when
  23960. spec.os.name is windows.
  23961. properties:
  23962. level:
  23963. description: Level is SELinux level label that applies
  23964. to the container.
  23965. type: string
  23966. role:
  23967. description: Role is a SELinux role label that applies
  23968. to the container.
  23969. type: string
  23970. type:
  23971. description: Type is a SELinux type label that applies
  23972. to the container.
  23973. type: string
  23974. user:
  23975. description: User is a SELinux user label that applies
  23976. to the container.
  23977. type: string
  23978. type: object
  23979. seccompProfile:
  23980. description: The seccomp options to use by this container.
  23981. If seccomp options are provided at both the pod & container
  23982. level, the container options override the pod options.
  23983. Note that this field cannot be set when spec.os.name is
  23984. windows.
  23985. properties:
  23986. localhostProfile:
  23987. description: localhostProfile indicates a profile defined
  23988. in a file on the node should be used. The profile
  23989. must be preconfigured on the node to work. Must be
  23990. a descending path, relative to the kubelet's configured
  23991. seccomp profile location. Must only be set if type
  23992. is "Localhost".
  23993. type: string
  23994. type:
  23995. description: "type indicates which kind of seccomp profile
  23996. will be applied. Valid options are: \n Localhost -
  23997. a profile defined in a file on the node should be
  23998. used. RuntimeDefault - the container runtime default
  23999. profile should be used. Unconfined - no profile should
  24000. be applied."
  24001. type: string
  24002. required:
  24003. - type
  24004. type: object
  24005. windowsOptions:
  24006. description: The Windows specific settings applied to all
  24007. containers. If unspecified, the options from the PodSecurityContext
  24008. will be used. If set in both SecurityContext and PodSecurityContext,
  24009. the value specified in SecurityContext takes precedence.
  24010. Note that this field cannot be set when spec.os.name is
  24011. linux.
  24012. properties:
  24013. gmsaCredentialSpec:
  24014. description: GMSACredentialSpec is where the GMSA admission
  24015. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  24016. inlines the contents of the GMSA credential spec named
  24017. by the GMSACredentialSpecName field.
  24018. type: string
  24019. gmsaCredentialSpecName:
  24020. description: GMSACredentialSpecName is the name of the
  24021. GMSA credential spec to use.
  24022. type: string
  24023. hostProcess:
  24024. description: HostProcess determines if a container should
  24025. be run as a 'Host Process' container. This field is
  24026. alpha-level and will only be honored by components
  24027. that enable the WindowsHostProcessContainers feature
  24028. flag. Setting this field without the feature flag
  24029. will result in errors when validating the Pod. All
  24030. of a Pod's containers must have the same effective
  24031. HostProcess value (it is not allowed to have a mix
  24032. of HostProcess containers and non-HostProcess containers). In
  24033. addition, if HostProcess is true then HostNetwork
  24034. must also be set to true.
  24035. type: boolean
  24036. runAsUserName:
  24037. description: The UserName in Windows to run the entrypoint
  24038. of the container process. Defaults to the user specified
  24039. in image metadata if unspecified. May also be set
  24040. in PodSecurityContext. If set in both SecurityContext
  24041. and PodSecurityContext, the value specified in SecurityContext
  24042. takes precedence.
  24043. type: string
  24044. type: object
  24045. type: object
  24046. startupProbe:
  24047. description: 'StartupProbe indicates that the Pod has successfully
  24048. initialized. If specified, no other probes are executed until
  24049. this completes successfully. If this probe fails, the Pod
  24050. will be restarted, just as if the livenessProbe failed. This
  24051. can be used to provide different probe parameters at the beginning
  24052. of a Pod''s lifecycle, when it might take a long time to load
  24053. data or warm a cache, than during steady-state operation.
  24054. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  24055. properties:
  24056. exec:
  24057. description: Exec specifies the action to take.
  24058. properties:
  24059. command:
  24060. description: Command is the command line to execute
  24061. inside the container, the working directory for the
  24062. command is root ('/') in the container's filesystem.
  24063. The command is simply exec'd, it is not run inside
  24064. a shell, so traditional shell instructions ('|', etc)
  24065. won't work. To use a shell, you need to explicitly
  24066. call out to that shell. Exit status of 0 is treated
  24067. as live/healthy and non-zero is unhealthy.
  24068. items:
  24069. type: string
  24070. type: array
  24071. type: object
  24072. failureThreshold:
  24073. description: Minimum consecutive failures for the probe
  24074. to be considered failed after having succeeded. Defaults
  24075. to 3. Minimum value is 1.
  24076. format: int32
  24077. type: integer
  24078. grpc:
  24079. description: GRPC specifies an action involving a GRPC port.
  24080. This is a beta field and requires enabling GRPCContainerProbe
  24081. feature gate.
  24082. properties:
  24083. port:
  24084. description: Port number of the gRPC service. Number
  24085. must be in the range 1 to 65535.
  24086. format: int32
  24087. type: integer
  24088. service:
  24089. description: "Service is the name of the service to
  24090. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  24091. \n If this is not specified, the default behavior
  24092. is defined by gRPC."
  24093. type: string
  24094. required:
  24095. - port
  24096. type: object
  24097. httpGet:
  24098. description: HTTPGet specifies the http request to perform.
  24099. properties:
  24100. host:
  24101. description: Host name to connect to, defaults to the
  24102. pod IP. You probably want to set "Host" in httpHeaders
  24103. instead.
  24104. type: string
  24105. httpHeaders:
  24106. description: Custom headers to set in the request. HTTP
  24107. allows repeated headers.
  24108. items:
  24109. description: HTTPHeader describes a custom header
  24110. to be used in HTTP probes
  24111. properties:
  24112. name:
  24113. description: The header field name
  24114. type: string
  24115. value:
  24116. description: The header field value
  24117. type: string
  24118. required:
  24119. - name
  24120. - value
  24121. type: object
  24122. type: array
  24123. path:
  24124. description: Path to access on the HTTP server.
  24125. type: string
  24126. port:
  24127. anyOf:
  24128. - type: integer
  24129. - type: string
  24130. description: Name or number of the port to access on
  24131. the container. Number must be in the range 1 to 65535.
  24132. Name must be an IANA_SVC_NAME.
  24133. x-kubernetes-int-or-string: true
  24134. scheme:
  24135. description: Scheme to use for connecting to the host.
  24136. Defaults to HTTP.
  24137. type: string
  24138. required:
  24139. - port
  24140. type: object
  24141. initialDelaySeconds:
  24142. description: 'Number of seconds after the container has
  24143. started before liveness probes are initiated. More info:
  24144. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  24145. format: int32
  24146. type: integer
  24147. periodSeconds:
  24148. description: How often (in seconds) to perform the probe.
  24149. Default to 10 seconds. Minimum value is 1.
  24150. format: int32
  24151. type: integer
  24152. successThreshold:
  24153. description: Minimum consecutive successes for the probe
  24154. to be considered successful after having failed. Defaults
  24155. to 1. Must be 1 for liveness and startup. Minimum value
  24156. is 1.
  24157. format: int32
  24158. type: integer
  24159. tcpSocket:
  24160. description: TCPSocket specifies an action involving a TCP
  24161. port.
  24162. properties:
  24163. host:
  24164. description: 'Optional: Host name to connect to, defaults
  24165. to the pod IP.'
  24166. type: string
  24167. port:
  24168. anyOf:
  24169. - type: integer
  24170. - type: string
  24171. description: Number or name of the port to access on
  24172. the container. Number must be in the range 1 to 65535.
  24173. Name must be an IANA_SVC_NAME.
  24174. x-kubernetes-int-or-string: true
  24175. required:
  24176. - port
  24177. type: object
  24178. terminationGracePeriodSeconds:
  24179. description: Optional duration in seconds the pod needs
  24180. to terminate gracefully upon probe failure. The grace
  24181. period is the duration in seconds after the processes
  24182. running in the pod are sent a termination signal and the
  24183. time when the processes are forcibly halted with a kill
  24184. signal. Set this value longer than the expected cleanup
  24185. time for your process. If this value is nil, the pod's
  24186. terminationGracePeriodSeconds will be used. Otherwise,
  24187. this value overrides the value provided by the pod spec.
  24188. Value must be non-negative integer. The value zero indicates
  24189. stop immediately via the kill signal (no opportunity to
  24190. shut down). This is a beta field and requires enabling
  24191. ProbeTerminationGracePeriod feature gate. Minimum value
  24192. is 1. spec.terminationGracePeriodSeconds is used if unset.
  24193. format: int64
  24194. type: integer
  24195. timeoutSeconds:
  24196. description: 'Number of seconds after which the probe times
  24197. out. Defaults to 1 second. Minimum value is 1. More info:
  24198. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  24199. format: int32
  24200. type: integer
  24201. type: object
  24202. stdin:
  24203. description: Whether this container should allocate a buffer
  24204. for stdin in the container runtime. If this is not set, reads
  24205. from stdin in the container will always result in EOF. Default
  24206. is false.
  24207. type: boolean
  24208. stdinOnce:
  24209. description: Whether the container runtime should close the
  24210. stdin channel after it has been opened by a single attach.
  24211. When stdin is true the stdin stream will remain open across
  24212. multiple attach sessions. If stdinOnce is set to true, stdin
  24213. is opened on container start, is empty until the first client
  24214. attaches to stdin, and then remains open and accepts data
  24215. until the client disconnects, at which time stdin is closed
  24216. and remains closed until the container is restarted. If this
  24217. flag is false, a container processes that reads from stdin
  24218. will never receive an EOF. Default is false
  24219. type: boolean
  24220. terminationMessagePath:
  24221. description: 'Optional: Path at which the file to which the
  24222. container''s termination message will be written is mounted
  24223. into the container''s filesystem. Message written is intended
  24224. to be brief final status, such as an assertion failure message.
  24225. Will be truncated by the node if greater than 4096 bytes.
  24226. The total message length across all containers will be limited
  24227. to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  24228. type: string
  24229. terminationMessagePolicy:
  24230. description: Indicate how the termination message should be
  24231. populated. File will use the contents of terminationMessagePath
  24232. to populate the container status message on both success and
  24233. failure. FallbackToLogsOnError will use the last chunk of
  24234. container log output if the termination message file is empty
  24235. and the container exited with an error. The log output is
  24236. limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
  24237. to File. Cannot be updated.
  24238. type: string
  24239. tty:
  24240. description: Whether this container should allocate a TTY for
  24241. itself, also requires 'stdin' to be true. Default is false.
  24242. type: boolean
  24243. volumeDevices:
  24244. description: volumeDevices is the list of block devices to be
  24245. used by the container.
  24246. items:
  24247. description: volumeDevice describes a mapping of a raw block
  24248. device within a container.
  24249. properties:
  24250. devicePath:
  24251. description: devicePath is the path inside of the container
  24252. that the device will be mapped to.
  24253. type: string
  24254. name:
  24255. description: name must match the name of a persistentVolumeClaim
  24256. in the pod
  24257. type: string
  24258. required:
  24259. - devicePath
  24260. - name
  24261. type: object
  24262. type: array
  24263. volumeMounts:
  24264. description: Pod volumes to mount into the container's filesystem.
  24265. Cannot be updated.
  24266. items:
  24267. description: VolumeMount describes a mounting of a Volume
  24268. within a container.
  24269. properties:
  24270. mountPath:
  24271. description: Path within the container at which the volume
  24272. should be mounted. Must not contain ':'.
  24273. type: string
  24274. mountPropagation:
  24275. description: mountPropagation determines how mounts are
  24276. propagated from the host to container and the other
  24277. way around. When not set, MountPropagationNone is used.
  24278. This field is beta in 1.10.
  24279. type: string
  24280. name:
  24281. description: This must match the Name of a Volume.
  24282. type: string
  24283. readOnly:
  24284. description: Mounted read-only if true, read-write otherwise
  24285. (false or unspecified). Defaults to false.
  24286. type: boolean
  24287. subPath:
  24288. description: Path within the volume from which the container's
  24289. volume should be mounted. Defaults to "" (volume's root).
  24290. type: string
  24291. subPathExpr:
  24292. description: Expanded path within the volume from which
  24293. the container's volume should be mounted. Behaves similarly
  24294. to SubPath but environment variable references $(VAR_NAME)
  24295. are expanded using the container's environment. Defaults
  24296. to "" (volume's root). SubPathExpr and SubPath are mutually
  24297. exclusive.
  24298. type: string
  24299. required:
  24300. - mountPath
  24301. - name
  24302. type: object
  24303. type: array
  24304. workingDir:
  24305. description: Container's working directory. If not specified,
  24306. the container runtime's default will be used, which might
  24307. be configured in the container image. Cannot be updated.
  24308. type: string
  24309. required:
  24310. - name
  24311. type: object
  24312. type: array
  24313. enforcedNamespaceLabel:
  24314. description: EnforcedNamespaceLabel enforces adding a namespace label
  24315. of origin for each alert and metric that is user created. The label
  24316. value will always be the namespace of the object that is being created.
  24317. type: string
  24318. evaluationInterval:
  24319. default: 15s
  24320. description: Interval between consecutive evaluations.
  24321. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  24322. type: string
  24323. excludedFromEnforcement:
  24324. description: List of references to PrometheusRule objects to be excluded
  24325. from enforcing a namespace label of origin. Applies only if enforcedNamespaceLabel
  24326. set to true.
  24327. items:
  24328. description: ObjectReference references a PodMonitor, ServiceMonitor,
  24329. Probe or PrometheusRule object.
  24330. properties:
  24331. group:
  24332. default: monitoring.coreos.com
  24333. description: Group of the referent. When not specified, it defaults
  24334. to `monitoring.coreos.com`
  24335. enum:
  24336. - monitoring.coreos.com
  24337. type: string
  24338. name:
  24339. description: Name of the referent. When not set, all resources
  24340. are matched.
  24341. type: string
  24342. namespace:
  24343. description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  24344. minLength: 1
  24345. type: string
  24346. resource:
  24347. description: Resource of the referent.
  24348. enum:
  24349. - prometheusrules
  24350. - servicemonitors
  24351. - podmonitors
  24352. - probes
  24353. type: string
  24354. required:
  24355. - namespace
  24356. - resource
  24357. type: object
  24358. type: array
  24359. externalPrefix:
  24360. description: The external URL the Thanos Ruler instances will be available
  24361. under. This is necessary to generate correct URLs. This is necessary
  24362. if Thanos Ruler is not served from root of a DNS name.
  24363. type: string
  24364. grpcServerTlsConfig:
  24365. description: 'GRPCServerTLSConfig configures the gRPC server from
  24366. which Thanos Querier reads recorded rule data. Note: Currently only
  24367. the CAFile, CertFile, and KeyFile fields are supported. Maps to
  24368. the ''--grpc-server-tls-*'' CLI args.'
  24369. properties:
  24370. ca:
  24371. description: Struct containing the CA cert to use for the targets.
  24372. properties:
  24373. configMap:
  24374. description: ConfigMap containing data to use for the targets.
  24375. properties:
  24376. key:
  24377. description: The key to select.
  24378. type: string
  24379. name:
  24380. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24381. TODO: Add other useful fields. apiVersion, kind, uid?'
  24382. type: string
  24383. optional:
  24384. description: Specify whether the ConfigMap or its key
  24385. must be defined
  24386. type: boolean
  24387. required:
  24388. - key
  24389. type: object
  24390. x-kubernetes-map-type: atomic
  24391. secret:
  24392. description: Secret containing data to use for the targets.
  24393. properties:
  24394. key:
  24395. description: The key of the secret to select from. Must
  24396. be a valid secret key.
  24397. type: string
  24398. name:
  24399. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24400. TODO: Add other useful fields. apiVersion, kind, uid?'
  24401. type: string
  24402. optional:
  24403. description: Specify whether the Secret or its key must
  24404. be defined
  24405. type: boolean
  24406. required:
  24407. - key
  24408. type: object
  24409. x-kubernetes-map-type: atomic
  24410. type: object
  24411. caFile:
  24412. description: Path to the CA cert in the Prometheus container to
  24413. use for the targets.
  24414. type: string
  24415. cert:
  24416. description: Struct containing the client cert file for the targets.
  24417. properties:
  24418. configMap:
  24419. description: ConfigMap containing data to use for the targets.
  24420. properties:
  24421. key:
  24422. description: The key to select.
  24423. type: string
  24424. name:
  24425. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24426. TODO: Add other useful fields. apiVersion, kind, uid?'
  24427. type: string
  24428. optional:
  24429. description: Specify whether the ConfigMap or its key
  24430. must be defined
  24431. type: boolean
  24432. required:
  24433. - key
  24434. type: object
  24435. x-kubernetes-map-type: atomic
  24436. secret:
  24437. description: Secret containing data to use for the targets.
  24438. properties:
  24439. key:
  24440. description: The key of the secret to select from. Must
  24441. be a valid secret key.
  24442. type: string
  24443. name:
  24444. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24445. TODO: Add other useful fields. apiVersion, kind, uid?'
  24446. type: string
  24447. optional:
  24448. description: Specify whether the Secret or its key must
  24449. be defined
  24450. type: boolean
  24451. required:
  24452. - key
  24453. type: object
  24454. x-kubernetes-map-type: atomic
  24455. type: object
  24456. certFile:
  24457. description: Path to the client cert file in the Prometheus container
  24458. for the targets.
  24459. type: string
  24460. insecureSkipVerify:
  24461. description: Disable target certificate validation.
  24462. type: boolean
  24463. keyFile:
  24464. description: Path to the client key file in the Prometheus container
  24465. for the targets.
  24466. type: string
  24467. keySecret:
  24468. description: Secret containing the client key file for the targets.
  24469. properties:
  24470. key:
  24471. description: The key of the secret to select from. Must be
  24472. a valid secret key.
  24473. type: string
  24474. name:
  24475. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24476. TODO: Add other useful fields. apiVersion, kind, uid?'
  24477. type: string
  24478. optional:
  24479. description: Specify whether the Secret or its key must be
  24480. defined
  24481. type: boolean
  24482. required:
  24483. - key
  24484. type: object
  24485. x-kubernetes-map-type: atomic
  24486. serverName:
  24487. description: Used to verify the hostname for the targets.
  24488. type: string
  24489. type: object
  24490. hostAliases:
  24491. description: Pods' hostAliases configuration
  24492. items:
  24493. description: HostAlias holds the mapping between IP and hostnames
  24494. that will be injected as an entry in the pod's hosts file.
  24495. properties:
  24496. hostnames:
  24497. description: Hostnames for the above IP address.
  24498. items:
  24499. type: string
  24500. type: array
  24501. ip:
  24502. description: IP address of the host file entry.
  24503. type: string
  24504. required:
  24505. - hostnames
  24506. - ip
  24507. type: object
  24508. type: array
  24509. x-kubernetes-list-map-keys:
  24510. - ip
  24511. x-kubernetes-list-type: map
  24512. image:
  24513. description: Thanos container image URL.
  24514. type: string
  24515. imagePullSecrets:
  24516. description: An optional list of references to secrets in the same
  24517. namespace to use for pulling thanos images from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
  24518. items:
  24519. description: LocalObjectReference contains enough information to
  24520. let you locate the referenced object inside the same namespace.
  24521. properties:
  24522. name:
  24523. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24524. TODO: Add other useful fields. apiVersion, kind, uid?'
  24525. type: string
  24526. type: object
  24527. x-kubernetes-map-type: atomic
  24528. type: array
  24529. initContainers:
  24530. description: 'InitContainers allows adding initContainers to the pod
  24531. definition. Those can be used to e.g. fetch secrets for injection
  24532. into the ThanosRuler configuration from external sources. Any errors
  24533. during the execution of an initContainer will lead to a restart
  24534. of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  24535. Using initContainers for any use case other then secret fetching
  24536. is entirely outside the scope of what the maintainers will support
  24537. and by doing so, you accept that this behaviour may break at any
  24538. time without notice.'
  24539. items:
  24540. description: A single application container that you want to run
  24541. within a pod.
  24542. properties:
  24543. args:
  24544. description: 'Arguments to the entrypoint. The container image''s
  24545. CMD is used if this is not provided. Variable references $(VAR_NAME)
  24546. are expanded using the container''s environment. If a variable
  24547. cannot be resolved, the reference in the input string will
  24548. be unchanged. Double $$ are reduced to a single $, which allows
  24549. for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
  24550. produce the string literal "$(VAR_NAME)". Escaped references
  24551. will never be expanded, regardless of whether the variable
  24552. 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'
  24553. items:
  24554. type: string
  24555. type: array
  24556. command:
  24557. description: 'Entrypoint array. Not executed within a shell.
  24558. The container image''s ENTRYPOINT is used if this is not provided.
  24559. Variable references $(VAR_NAME) are expanded using the container''s
  24560. environment. If a variable cannot be resolved, the reference
  24561. in the input string will be unchanged. Double $$ are reduced
  24562. to a single $, which allows for escaping the $(VAR_NAME) syntax:
  24563. i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
  24564. Escaped references will never be expanded, regardless of whether
  24565. the variable exists or not. Cannot be updated. More info:
  24566. https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  24567. items:
  24568. type: string
  24569. type: array
  24570. env:
  24571. description: List of environment variables to set in the container.
  24572. Cannot be updated.
  24573. items:
  24574. description: EnvVar represents an environment variable present
  24575. in a Container.
  24576. properties:
  24577. name:
  24578. description: Name of the environment variable. Must be
  24579. a C_IDENTIFIER.
  24580. type: string
  24581. value:
  24582. description: 'Variable references $(VAR_NAME) are expanded
  24583. using the previously defined environment variables in
  24584. the container and any service environment variables.
  24585. If a variable cannot be resolved, the reference in the
  24586. input string will be unchanged. Double $$ are reduced
  24587. to a single $, which allows for escaping the $(VAR_NAME)
  24588. syntax: i.e. "$$(VAR_NAME)" will produce the string
  24589. literal "$(VAR_NAME)". Escaped references will never
  24590. be expanded, regardless of whether the variable exists
  24591. or not. Defaults to "".'
  24592. type: string
  24593. valueFrom:
  24594. description: Source for the environment variable's value.
  24595. Cannot be used if value is not empty.
  24596. properties:
  24597. configMapKeyRef:
  24598. description: Selects a key of a ConfigMap.
  24599. properties:
  24600. key:
  24601. description: The key to select.
  24602. type: string
  24603. name:
  24604. description: 'Name of the referent. More info:
  24605. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24606. TODO: Add other useful fields. apiVersion, kind,
  24607. uid?'
  24608. type: string
  24609. optional:
  24610. description: Specify whether the ConfigMap or
  24611. its key must be defined
  24612. type: boolean
  24613. required:
  24614. - key
  24615. type: object
  24616. x-kubernetes-map-type: atomic
  24617. fieldRef:
  24618. description: 'Selects a field of the pod: supports
  24619. metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
  24620. `metadata.annotations[''<KEY>'']`, spec.nodeName,
  24621. spec.serviceAccountName, status.hostIP, status.podIP,
  24622. status.podIPs.'
  24623. properties:
  24624. apiVersion:
  24625. description: Version of the schema the FieldPath
  24626. is written in terms of, defaults to "v1".
  24627. type: string
  24628. fieldPath:
  24629. description: Path of the field to select in the
  24630. specified API version.
  24631. type: string
  24632. required:
  24633. - fieldPath
  24634. type: object
  24635. x-kubernetes-map-type: atomic
  24636. resourceFieldRef:
  24637. description: 'Selects a resource of the container:
  24638. only resources limits and requests (limits.cpu,
  24639. limits.memory, limits.ephemeral-storage, requests.cpu,
  24640. requests.memory and requests.ephemeral-storage)
  24641. are currently supported.'
  24642. properties:
  24643. containerName:
  24644. description: 'Container name: required for volumes,
  24645. optional for env vars'
  24646. type: string
  24647. divisor:
  24648. anyOf:
  24649. - type: integer
  24650. - type: string
  24651. description: Specifies the output format of the
  24652. exposed resources, defaults to "1"
  24653. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  24654. x-kubernetes-int-or-string: true
  24655. resource:
  24656. description: 'Required: resource to select'
  24657. type: string
  24658. required:
  24659. - resource
  24660. type: object
  24661. x-kubernetes-map-type: atomic
  24662. secretKeyRef:
  24663. description: Selects a key of a secret in the pod's
  24664. namespace
  24665. properties:
  24666. key:
  24667. description: The key of the secret to select from. Must
  24668. be a valid secret key.
  24669. type: string
  24670. name:
  24671. description: 'Name of the referent. More info:
  24672. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24673. TODO: Add other useful fields. apiVersion, kind,
  24674. uid?'
  24675. type: string
  24676. optional:
  24677. description: Specify whether the Secret or its
  24678. key must be defined
  24679. type: boolean
  24680. required:
  24681. - key
  24682. type: object
  24683. x-kubernetes-map-type: atomic
  24684. type: object
  24685. required:
  24686. - name
  24687. type: object
  24688. type: array
  24689. envFrom:
  24690. description: List of sources to populate environment variables
  24691. in the container. The keys defined within a source must be
  24692. a C_IDENTIFIER. All invalid keys will be reported as an event
  24693. when the container is starting. When a key exists in multiple
  24694. sources, the value associated with the last source will take
  24695. precedence. Values defined by an Env with a duplicate key
  24696. will take precedence. Cannot be updated.
  24697. items:
  24698. description: EnvFromSource represents the source of a set
  24699. of ConfigMaps
  24700. properties:
  24701. configMapRef:
  24702. description: The ConfigMap to select from
  24703. properties:
  24704. name:
  24705. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24706. TODO: Add other useful fields. apiVersion, kind,
  24707. uid?'
  24708. type: string
  24709. optional:
  24710. description: Specify whether the ConfigMap must be
  24711. defined
  24712. type: boolean
  24713. type: object
  24714. x-kubernetes-map-type: atomic
  24715. prefix:
  24716. description: An optional identifier to prepend to each
  24717. key in the ConfigMap. Must be a C_IDENTIFIER.
  24718. type: string
  24719. secretRef:
  24720. description: The Secret to select from
  24721. properties:
  24722. name:
  24723. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  24724. TODO: Add other useful fields. apiVersion, kind,
  24725. uid?'
  24726. type: string
  24727. optional:
  24728. description: Specify whether the Secret must be defined
  24729. type: boolean
  24730. type: object
  24731. x-kubernetes-map-type: atomic
  24732. type: object
  24733. type: array
  24734. image:
  24735. description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images
  24736. This field is optional to allow higher level config management
  24737. to default or override container images in workload controllers
  24738. like Deployments and StatefulSets.'
  24739. type: string
  24740. imagePullPolicy:
  24741. description: 'Image pull policy. One of Always, Never, IfNotPresent.
  24742. Defaults to Always if :latest tag is specified, or IfNotPresent
  24743. otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  24744. type: string
  24745. lifecycle:
  24746. description: Actions that the management system should take
  24747. in response to container lifecycle events. Cannot be updated.
  24748. properties:
  24749. postStart:
  24750. description: 'PostStart is called immediately after a container
  24751. is created. If the handler fails, the container is terminated
  24752. and restarted according to its restart policy. Other management
  24753. of the container blocks until the hook completes. More
  24754. info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  24755. properties:
  24756. exec:
  24757. description: Exec specifies the action to take.
  24758. properties:
  24759. command:
  24760. description: Command is the command line to execute
  24761. inside the container, the working directory for
  24762. the command is root ('/') in the container's
  24763. filesystem. The command is simply exec'd, it is
  24764. not run inside a shell, so traditional shell instructions
  24765. ('|', etc) won't work. To use a shell, you need
  24766. to explicitly call out to that shell. Exit status
  24767. of 0 is treated as live/healthy and non-zero is
  24768. unhealthy.
  24769. items:
  24770. type: string
  24771. type: array
  24772. type: object
  24773. httpGet:
  24774. description: HTTPGet specifies the http request to perform.
  24775. properties:
  24776. host:
  24777. description: Host name to connect to, defaults to
  24778. the pod IP. You probably want to set "Host" in
  24779. httpHeaders instead.
  24780. type: string
  24781. httpHeaders:
  24782. description: Custom headers to set in the request.
  24783. HTTP allows repeated headers.
  24784. items:
  24785. description: HTTPHeader describes a custom header
  24786. to be used in HTTP probes
  24787. properties:
  24788. name:
  24789. description: The header field name
  24790. type: string
  24791. value:
  24792. description: The header field value
  24793. type: string
  24794. required:
  24795. - name
  24796. - value
  24797. type: object
  24798. type: array
  24799. path:
  24800. description: Path to access on the HTTP server.
  24801. type: string
  24802. port:
  24803. anyOf:
  24804. - type: integer
  24805. - type: string
  24806. description: Name or number of the port to access
  24807. on the container. Number must be in the range
  24808. 1 to 65535. Name must be an IANA_SVC_NAME.
  24809. x-kubernetes-int-or-string: true
  24810. scheme:
  24811. description: Scheme to use for connecting to the
  24812. host. Defaults to HTTP.
  24813. type: string
  24814. required:
  24815. - port
  24816. type: object
  24817. tcpSocket:
  24818. description: Deprecated. TCPSocket is NOT supported
  24819. as a LifecycleHandler and kept for the backward compatibility.
  24820. There are no validation of this field and lifecycle
  24821. hooks will fail in runtime when tcp handler is specified.
  24822. properties:
  24823. host:
  24824. description: 'Optional: Host name to connect to,
  24825. defaults to the pod IP.'
  24826. type: string
  24827. port:
  24828. anyOf:
  24829. - type: integer
  24830. - type: string
  24831. description: Number or name of the port to access
  24832. on the container. Number must be in the range
  24833. 1 to 65535. Name must be an IANA_SVC_NAME.
  24834. x-kubernetes-int-or-string: true
  24835. required:
  24836. - port
  24837. type: object
  24838. type: object
  24839. preStop:
  24840. description: 'PreStop is called immediately before a container
  24841. is terminated due to an API request or management event
  24842. such as liveness/startup probe failure, preemption, resource
  24843. contention, etc. The handler is not called if the container
  24844. crashes or exits. The Pod''s termination grace period
  24845. countdown begins before the PreStop hook is executed.
  24846. Regardless of the outcome of the handler, the container
  24847. will eventually terminate within the Pod''s termination
  24848. grace period (unless delayed by finalizers). Other management
  24849. of the container blocks until the hook completes or until
  24850. the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  24851. properties:
  24852. exec:
  24853. description: Exec specifies the action to take.
  24854. properties:
  24855. command:
  24856. description: Command is the command line to execute
  24857. inside the container, the working directory for
  24858. the command is root ('/') in the container's
  24859. filesystem. The command is simply exec'd, it is
  24860. not run inside a shell, so traditional shell instructions
  24861. ('|', etc) won't work. To use a shell, you need
  24862. to explicitly call out to that shell. Exit status
  24863. of 0 is treated as live/healthy and non-zero is
  24864. unhealthy.
  24865. items:
  24866. type: string
  24867. type: array
  24868. type: object
  24869. httpGet:
  24870. description: HTTPGet specifies the http request to perform.
  24871. properties:
  24872. host:
  24873. description: Host name to connect to, defaults to
  24874. the pod IP. You probably want to set "Host" in
  24875. httpHeaders instead.
  24876. type: string
  24877. httpHeaders:
  24878. description: Custom headers to set in the request.
  24879. HTTP allows repeated headers.
  24880. items:
  24881. description: HTTPHeader describes a custom header
  24882. to be used in HTTP probes
  24883. properties:
  24884. name:
  24885. description: The header field name
  24886. type: string
  24887. value:
  24888. description: The header field value
  24889. type: string
  24890. required:
  24891. - name
  24892. - value
  24893. type: object
  24894. type: array
  24895. path:
  24896. description: Path to access on the HTTP server.
  24897. type: string
  24898. port:
  24899. anyOf:
  24900. - type: integer
  24901. - type: string
  24902. description: Name or number of the port to access
  24903. on the container. Number must be in the range
  24904. 1 to 65535. Name must be an IANA_SVC_NAME.
  24905. x-kubernetes-int-or-string: true
  24906. scheme:
  24907. description: Scheme to use for connecting to the
  24908. host. Defaults to HTTP.
  24909. type: string
  24910. required:
  24911. - port
  24912. type: object
  24913. tcpSocket:
  24914. description: Deprecated. TCPSocket is NOT supported
  24915. as a LifecycleHandler and kept for the backward compatibility.
  24916. There are no validation of this field and lifecycle
  24917. hooks will fail in runtime when tcp handler is specified.
  24918. properties:
  24919. host:
  24920. description: 'Optional: Host name to connect to,
  24921. defaults to the pod IP.'
  24922. type: string
  24923. port:
  24924. anyOf:
  24925. - type: integer
  24926. - type: string
  24927. description: Number or name of the port to access
  24928. on the container. Number must be in the range
  24929. 1 to 65535. Name must be an IANA_SVC_NAME.
  24930. x-kubernetes-int-or-string: true
  24931. required:
  24932. - port
  24933. type: object
  24934. type: object
  24935. type: object
  24936. livenessProbe:
  24937. description: 'Periodic probe of container liveness. Container
  24938. will be restarted if the probe fails. Cannot be updated. More
  24939. info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  24940. properties:
  24941. exec:
  24942. description: Exec specifies the action to take.
  24943. properties:
  24944. command:
  24945. description: Command is the command line to execute
  24946. inside the container, the working directory for the
  24947. command is root ('/') in the container's filesystem.
  24948. The command is simply exec'd, it is not run inside
  24949. a shell, so traditional shell instructions ('|', etc)
  24950. won't work. To use a shell, you need to explicitly
  24951. call out to that shell. Exit status of 0 is treated
  24952. as live/healthy and non-zero is unhealthy.
  24953. items:
  24954. type: string
  24955. type: array
  24956. type: object
  24957. failureThreshold:
  24958. description: Minimum consecutive failures for the probe
  24959. to be considered failed after having succeeded. Defaults
  24960. to 3. Minimum value is 1.
  24961. format: int32
  24962. type: integer
  24963. grpc:
  24964. description: GRPC specifies an action involving a GRPC port.
  24965. This is a beta field and requires enabling GRPCContainerProbe
  24966. feature gate.
  24967. properties:
  24968. port:
  24969. description: Port number of the gRPC service. Number
  24970. must be in the range 1 to 65535.
  24971. format: int32
  24972. type: integer
  24973. service:
  24974. description: "Service is the name of the service to
  24975. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  24976. \n If this is not specified, the default behavior
  24977. is defined by gRPC."
  24978. type: string
  24979. required:
  24980. - port
  24981. type: object
  24982. httpGet:
  24983. description: HTTPGet specifies the http request to perform.
  24984. properties:
  24985. host:
  24986. description: Host name to connect to, defaults to the
  24987. pod IP. You probably want to set "Host" in httpHeaders
  24988. instead.
  24989. type: string
  24990. httpHeaders:
  24991. description: Custom headers to set in the request. HTTP
  24992. allows repeated headers.
  24993. items:
  24994. description: HTTPHeader describes a custom header
  24995. to be used in HTTP probes
  24996. properties:
  24997. name:
  24998. description: The header field name
  24999. type: string
  25000. value:
  25001. description: The header field value
  25002. type: string
  25003. required:
  25004. - name
  25005. - value
  25006. type: object
  25007. type: array
  25008. path:
  25009. description: Path to access on the HTTP server.
  25010. type: string
  25011. port:
  25012. anyOf:
  25013. - type: integer
  25014. - type: string
  25015. description: Name or number of the port to access on
  25016. the container. Number must be in the range 1 to 65535.
  25017. Name must be an IANA_SVC_NAME.
  25018. x-kubernetes-int-or-string: true
  25019. scheme:
  25020. description: Scheme to use for connecting to the host.
  25021. Defaults to HTTP.
  25022. type: string
  25023. required:
  25024. - port
  25025. type: object
  25026. initialDelaySeconds:
  25027. description: 'Number of seconds after the container has
  25028. started before liveness probes are initiated. More info:
  25029. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25030. format: int32
  25031. type: integer
  25032. periodSeconds:
  25033. description: How often (in seconds) to perform the probe.
  25034. Default to 10 seconds. Minimum value is 1.
  25035. format: int32
  25036. type: integer
  25037. successThreshold:
  25038. description: Minimum consecutive successes for the probe
  25039. to be considered successful after having failed. Defaults
  25040. to 1. Must be 1 for liveness and startup. Minimum value
  25041. is 1.
  25042. format: int32
  25043. type: integer
  25044. tcpSocket:
  25045. description: TCPSocket specifies an action involving a TCP
  25046. port.
  25047. properties:
  25048. host:
  25049. description: 'Optional: Host name to connect to, defaults
  25050. to the pod IP.'
  25051. type: string
  25052. port:
  25053. anyOf:
  25054. - type: integer
  25055. - type: string
  25056. description: Number or name of the port to access on
  25057. the container. Number must be in the range 1 to 65535.
  25058. Name must be an IANA_SVC_NAME.
  25059. x-kubernetes-int-or-string: true
  25060. required:
  25061. - port
  25062. type: object
  25063. terminationGracePeriodSeconds:
  25064. description: Optional duration in seconds the pod needs
  25065. to terminate gracefully upon probe failure. The grace
  25066. period is the duration in seconds after the processes
  25067. running in the pod are sent a termination signal and the
  25068. time when the processes are forcibly halted with a kill
  25069. signal. Set this value longer than the expected cleanup
  25070. time for your process. If this value is nil, the pod's
  25071. terminationGracePeriodSeconds will be used. Otherwise,
  25072. this value overrides the value provided by the pod spec.
  25073. Value must be non-negative integer. The value zero indicates
  25074. stop immediately via the kill signal (no opportunity to
  25075. shut down). This is a beta field and requires enabling
  25076. ProbeTerminationGracePeriod feature gate. Minimum value
  25077. is 1. spec.terminationGracePeriodSeconds is used if unset.
  25078. format: int64
  25079. type: integer
  25080. timeoutSeconds:
  25081. description: 'Number of seconds after which the probe times
  25082. out. Defaults to 1 second. Minimum value is 1. More info:
  25083. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25084. format: int32
  25085. type: integer
  25086. type: object
  25087. name:
  25088. description: Name of the container specified as a DNS_LABEL.
  25089. Each container in a pod must have a unique name (DNS_LABEL).
  25090. Cannot be updated.
  25091. type: string
  25092. ports:
  25093. description: List of ports to expose from the container. Exposing
  25094. a port here gives the system additional information about
  25095. the network connections a container uses, but is primarily
  25096. informational. Not specifying a port here DOES NOT prevent
  25097. that port from being exposed. Any port which is listening
  25098. on the default "0.0.0.0" address inside a container will be
  25099. accessible from the network. Cannot be updated.
  25100. items:
  25101. description: ContainerPort represents a network port in a
  25102. single container.
  25103. properties:
  25104. containerPort:
  25105. description: Number of port to expose on the pod's IP
  25106. address. This must be a valid port number, 0 < x < 65536.
  25107. format: int32
  25108. type: integer
  25109. hostIP:
  25110. description: What host IP to bind the external port to.
  25111. type: string
  25112. hostPort:
  25113. description: Number of port to expose on the host. If
  25114. specified, this must be a valid port number, 0 < x <
  25115. 65536. If HostNetwork is specified, this must match
  25116. ContainerPort. Most containers do not need this.
  25117. format: int32
  25118. type: integer
  25119. name:
  25120. description: If specified, this must be an IANA_SVC_NAME
  25121. and unique within the pod. Each named port in a pod
  25122. must have a unique name. Name for the port that can
  25123. be referred to by services.
  25124. type: string
  25125. protocol:
  25126. default: TCP
  25127. description: Protocol for port. Must be UDP, TCP, or SCTP.
  25128. Defaults to "TCP".
  25129. type: string
  25130. required:
  25131. - containerPort
  25132. type: object
  25133. type: array
  25134. x-kubernetes-list-map-keys:
  25135. - containerPort
  25136. - protocol
  25137. x-kubernetes-list-type: map
  25138. readinessProbe:
  25139. description: 'Periodic probe of container service readiness.
  25140. Container will be removed from service endpoints if the probe
  25141. fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25142. properties:
  25143. exec:
  25144. description: Exec specifies the action to take.
  25145. properties:
  25146. command:
  25147. description: Command is the command line to execute
  25148. inside the container, the working directory for the
  25149. command is root ('/') in the container's filesystem.
  25150. The command is simply exec'd, it is not run inside
  25151. a shell, so traditional shell instructions ('|', etc)
  25152. won't work. To use a shell, you need to explicitly
  25153. call out to that shell. Exit status of 0 is treated
  25154. as live/healthy and non-zero is unhealthy.
  25155. items:
  25156. type: string
  25157. type: array
  25158. type: object
  25159. failureThreshold:
  25160. description: Minimum consecutive failures for the probe
  25161. to be considered failed after having succeeded. Defaults
  25162. to 3. Minimum value is 1.
  25163. format: int32
  25164. type: integer
  25165. grpc:
  25166. description: GRPC specifies an action involving a GRPC port.
  25167. This is a beta field and requires enabling GRPCContainerProbe
  25168. feature gate.
  25169. properties:
  25170. port:
  25171. description: Port number of the gRPC service. Number
  25172. must be in the range 1 to 65535.
  25173. format: int32
  25174. type: integer
  25175. service:
  25176. description: "Service is the name of the service to
  25177. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  25178. \n If this is not specified, the default behavior
  25179. is defined by gRPC."
  25180. type: string
  25181. required:
  25182. - port
  25183. type: object
  25184. httpGet:
  25185. description: HTTPGet specifies the http request to perform.
  25186. properties:
  25187. host:
  25188. description: Host name to connect to, defaults to the
  25189. pod IP. You probably want to set "Host" in httpHeaders
  25190. instead.
  25191. type: string
  25192. httpHeaders:
  25193. description: Custom headers to set in the request. HTTP
  25194. allows repeated headers.
  25195. items:
  25196. description: HTTPHeader describes a custom header
  25197. to be used in HTTP probes
  25198. properties:
  25199. name:
  25200. description: The header field name
  25201. type: string
  25202. value:
  25203. description: The header field value
  25204. type: string
  25205. required:
  25206. - name
  25207. - value
  25208. type: object
  25209. type: array
  25210. path:
  25211. description: Path to access on the HTTP server.
  25212. type: string
  25213. port:
  25214. anyOf:
  25215. - type: integer
  25216. - type: string
  25217. description: Name or number of the port to access on
  25218. the container. Number must be in the range 1 to 65535.
  25219. Name must be an IANA_SVC_NAME.
  25220. x-kubernetes-int-or-string: true
  25221. scheme:
  25222. description: Scheme to use for connecting to the host.
  25223. Defaults to HTTP.
  25224. type: string
  25225. required:
  25226. - port
  25227. type: object
  25228. initialDelaySeconds:
  25229. description: 'Number of seconds after the container has
  25230. started before liveness probes are initiated. More info:
  25231. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25232. format: int32
  25233. type: integer
  25234. periodSeconds:
  25235. description: How often (in seconds) to perform the probe.
  25236. Default to 10 seconds. Minimum value is 1.
  25237. format: int32
  25238. type: integer
  25239. successThreshold:
  25240. description: Minimum consecutive successes for the probe
  25241. to be considered successful after having failed. Defaults
  25242. to 1. Must be 1 for liveness and startup. Minimum value
  25243. is 1.
  25244. format: int32
  25245. type: integer
  25246. tcpSocket:
  25247. description: TCPSocket specifies an action involving a TCP
  25248. port.
  25249. properties:
  25250. host:
  25251. description: 'Optional: Host name to connect to, defaults
  25252. to the pod IP.'
  25253. type: string
  25254. port:
  25255. anyOf:
  25256. - type: integer
  25257. - type: string
  25258. description: Number or name of the port to access on
  25259. the container. Number must be in the range 1 to 65535.
  25260. Name must be an IANA_SVC_NAME.
  25261. x-kubernetes-int-or-string: true
  25262. required:
  25263. - port
  25264. type: object
  25265. terminationGracePeriodSeconds:
  25266. description: Optional duration in seconds the pod needs
  25267. to terminate gracefully upon probe failure. The grace
  25268. period is the duration in seconds after the processes
  25269. running in the pod are sent a termination signal and the
  25270. time when the processes are forcibly halted with a kill
  25271. signal. Set this value longer than the expected cleanup
  25272. time for your process. If this value is nil, the pod's
  25273. terminationGracePeriodSeconds will be used. Otherwise,
  25274. this value overrides the value provided by the pod spec.
  25275. Value must be non-negative integer. The value zero indicates
  25276. stop immediately via the kill signal (no opportunity to
  25277. shut down). This is a beta field and requires enabling
  25278. ProbeTerminationGracePeriod feature gate. Minimum value
  25279. is 1. spec.terminationGracePeriodSeconds is used if unset.
  25280. format: int64
  25281. type: integer
  25282. timeoutSeconds:
  25283. description: 'Number of seconds after which the probe times
  25284. out. Defaults to 1 second. Minimum value is 1. More info:
  25285. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25286. format: int32
  25287. type: integer
  25288. type: object
  25289. resources:
  25290. description: 'Compute Resources required by this container.
  25291. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  25292. properties:
  25293. limits:
  25294. additionalProperties:
  25295. anyOf:
  25296. - type: integer
  25297. - type: string
  25298. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  25299. x-kubernetes-int-or-string: true
  25300. description: 'Limits describes the maximum amount of compute
  25301. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  25302. type: object
  25303. requests:
  25304. additionalProperties:
  25305. anyOf:
  25306. - type: integer
  25307. - type: string
  25308. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  25309. x-kubernetes-int-or-string: true
  25310. description: 'Requests describes the minimum amount of compute
  25311. resources required. If Requests is omitted for a container,
  25312. it defaults to Limits if that is explicitly specified,
  25313. otherwise to an implementation-defined value. More info:
  25314. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  25315. type: object
  25316. type: object
  25317. securityContext:
  25318. description: 'SecurityContext defines the security options the
  25319. container should be run with. If set, the fields of SecurityContext
  25320. override the equivalent fields of PodSecurityContext. More
  25321. info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  25322. properties:
  25323. allowPrivilegeEscalation:
  25324. description: 'AllowPrivilegeEscalation controls whether
  25325. a process can gain more privileges than its parent process.
  25326. This bool directly controls if the no_new_privs flag will
  25327. be set on the container process. AllowPrivilegeEscalation
  25328. is true always when the container is: 1) run as Privileged
  25329. 2) has CAP_SYS_ADMIN Note that this field cannot be set
  25330. when spec.os.name is windows.'
  25331. type: boolean
  25332. capabilities:
  25333. description: The capabilities to add/drop when running containers.
  25334. Defaults to the default set of capabilities granted by
  25335. the container runtime. Note that this field cannot be
  25336. set when spec.os.name is windows.
  25337. properties:
  25338. add:
  25339. description: Added capabilities
  25340. items:
  25341. description: Capability represent POSIX capabilities
  25342. type
  25343. type: string
  25344. type: array
  25345. drop:
  25346. description: Removed capabilities
  25347. items:
  25348. description: Capability represent POSIX capabilities
  25349. type
  25350. type: string
  25351. type: array
  25352. type: object
  25353. privileged:
  25354. description: Run container in privileged mode. Processes
  25355. in privileged containers are essentially equivalent to
  25356. root on the host. Defaults to false. Note that this field
  25357. cannot be set when spec.os.name is windows.
  25358. type: boolean
  25359. procMount:
  25360. description: procMount denotes the type of proc mount to
  25361. use for the containers. The default is DefaultProcMount
  25362. which uses the container runtime defaults for readonly
  25363. paths and masked paths. This requires the ProcMountType
  25364. feature flag to be enabled. Note that this field cannot
  25365. be set when spec.os.name is windows.
  25366. type: string
  25367. readOnlyRootFilesystem:
  25368. description: Whether this container has a read-only root
  25369. filesystem. Default is false. Note that this field cannot
  25370. be set when spec.os.name is windows.
  25371. type: boolean
  25372. runAsGroup:
  25373. description: The GID to run the entrypoint of the container
  25374. process. Uses runtime default if unset. May also be set
  25375. in PodSecurityContext. If set in both SecurityContext
  25376. and PodSecurityContext, the value specified in SecurityContext
  25377. takes precedence. Note that this field cannot be set when
  25378. spec.os.name is windows.
  25379. format: int64
  25380. type: integer
  25381. runAsNonRoot:
  25382. description: Indicates that the container must run as a
  25383. non-root user. If true, the Kubelet will validate the
  25384. image at runtime to ensure that it does not run as UID
  25385. 0 (root) and fail to start the container if it does. If
  25386. unset or false, no such validation will be performed.
  25387. May also be set in PodSecurityContext. If set in both
  25388. SecurityContext and PodSecurityContext, the value specified
  25389. in SecurityContext takes precedence.
  25390. type: boolean
  25391. runAsUser:
  25392. description: The UID to run the entrypoint of the container
  25393. process. Defaults to user specified in image metadata
  25394. if unspecified. May also be set in PodSecurityContext. If
  25395. set in both SecurityContext and PodSecurityContext, the
  25396. value specified in SecurityContext takes precedence. Note
  25397. that this field cannot be set when spec.os.name is windows.
  25398. format: int64
  25399. type: integer
  25400. seLinuxOptions:
  25401. description: The SELinux context to be applied to the container.
  25402. If unspecified, the container runtime will allocate a
  25403. random SELinux context for each container. May also be
  25404. set in PodSecurityContext. If set in both SecurityContext
  25405. and PodSecurityContext, the value specified in SecurityContext
  25406. takes precedence. Note that this field cannot be set when
  25407. spec.os.name is windows.
  25408. properties:
  25409. level:
  25410. description: Level is SELinux level label that applies
  25411. to the container.
  25412. type: string
  25413. role:
  25414. description: Role is a SELinux role label that applies
  25415. to the container.
  25416. type: string
  25417. type:
  25418. description: Type is a SELinux type label that applies
  25419. to the container.
  25420. type: string
  25421. user:
  25422. description: User is a SELinux user label that applies
  25423. to the container.
  25424. type: string
  25425. type: object
  25426. seccompProfile:
  25427. description: The seccomp options to use by this container.
  25428. If seccomp options are provided at both the pod & container
  25429. level, the container options override the pod options.
  25430. Note that this field cannot be set when spec.os.name is
  25431. windows.
  25432. properties:
  25433. localhostProfile:
  25434. description: localhostProfile indicates a profile defined
  25435. in a file on the node should be used. The profile
  25436. must be preconfigured on the node to work. Must be
  25437. a descending path, relative to the kubelet's configured
  25438. seccomp profile location. Must only be set if type
  25439. is "Localhost".
  25440. type: string
  25441. type:
  25442. description: "type indicates which kind of seccomp profile
  25443. will be applied. Valid options are: \n Localhost -
  25444. a profile defined in a file on the node should be
  25445. used. RuntimeDefault - the container runtime default
  25446. profile should be used. Unconfined - no profile should
  25447. be applied."
  25448. type: string
  25449. required:
  25450. - type
  25451. type: object
  25452. windowsOptions:
  25453. description: The Windows specific settings applied to all
  25454. containers. If unspecified, the options from the PodSecurityContext
  25455. will be used. If set in both SecurityContext and PodSecurityContext,
  25456. the value specified in SecurityContext takes precedence.
  25457. Note that this field cannot be set when spec.os.name is
  25458. linux.
  25459. properties:
  25460. gmsaCredentialSpec:
  25461. description: GMSACredentialSpec is where the GMSA admission
  25462. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  25463. inlines the contents of the GMSA credential spec named
  25464. by the GMSACredentialSpecName field.
  25465. type: string
  25466. gmsaCredentialSpecName:
  25467. description: GMSACredentialSpecName is the name of the
  25468. GMSA credential spec to use.
  25469. type: string
  25470. hostProcess:
  25471. description: HostProcess determines if a container should
  25472. be run as a 'Host Process' container. This field is
  25473. alpha-level and will only be honored by components
  25474. that enable the WindowsHostProcessContainers feature
  25475. flag. Setting this field without the feature flag
  25476. will result in errors when validating the Pod. All
  25477. of a Pod's containers must have the same effective
  25478. HostProcess value (it is not allowed to have a mix
  25479. of HostProcess containers and non-HostProcess containers). In
  25480. addition, if HostProcess is true then HostNetwork
  25481. must also be set to true.
  25482. type: boolean
  25483. runAsUserName:
  25484. description: The UserName in Windows to run the entrypoint
  25485. of the container process. Defaults to the user specified
  25486. in image metadata if unspecified. May also be set
  25487. in PodSecurityContext. If set in both SecurityContext
  25488. and PodSecurityContext, the value specified in SecurityContext
  25489. takes precedence.
  25490. type: string
  25491. type: object
  25492. type: object
  25493. startupProbe:
  25494. description: 'StartupProbe indicates that the Pod has successfully
  25495. initialized. If specified, no other probes are executed until
  25496. this completes successfully. If this probe fails, the Pod
  25497. will be restarted, just as if the livenessProbe failed. This
  25498. can be used to provide different probe parameters at the beginning
  25499. of a Pod''s lifecycle, when it might take a long time to load
  25500. data or warm a cache, than during steady-state operation.
  25501. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25502. properties:
  25503. exec:
  25504. description: Exec specifies the action to take.
  25505. properties:
  25506. command:
  25507. description: Command is the command line to execute
  25508. inside the container, the working directory for the
  25509. command is root ('/') in the container's filesystem.
  25510. The command is simply exec'd, it is not run inside
  25511. a shell, so traditional shell instructions ('|', etc)
  25512. won't work. To use a shell, you need to explicitly
  25513. call out to that shell. Exit status of 0 is treated
  25514. as live/healthy and non-zero is unhealthy.
  25515. items:
  25516. type: string
  25517. type: array
  25518. type: object
  25519. failureThreshold:
  25520. description: Minimum consecutive failures for the probe
  25521. to be considered failed after having succeeded. Defaults
  25522. to 3. Minimum value is 1.
  25523. format: int32
  25524. type: integer
  25525. grpc:
  25526. description: GRPC specifies an action involving a GRPC port.
  25527. This is a beta field and requires enabling GRPCContainerProbe
  25528. feature gate.
  25529. properties:
  25530. port:
  25531. description: Port number of the gRPC service. Number
  25532. must be in the range 1 to 65535.
  25533. format: int32
  25534. type: integer
  25535. service:
  25536. description: "Service is the name of the service to
  25537. place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  25538. \n If this is not specified, the default behavior
  25539. is defined by gRPC."
  25540. type: string
  25541. required:
  25542. - port
  25543. type: object
  25544. httpGet:
  25545. description: HTTPGet specifies the http request to perform.
  25546. properties:
  25547. host:
  25548. description: Host name to connect to, defaults to the
  25549. pod IP. You probably want to set "Host" in httpHeaders
  25550. instead.
  25551. type: string
  25552. httpHeaders:
  25553. description: Custom headers to set in the request. HTTP
  25554. allows repeated headers.
  25555. items:
  25556. description: HTTPHeader describes a custom header
  25557. to be used in HTTP probes
  25558. properties:
  25559. name:
  25560. description: The header field name
  25561. type: string
  25562. value:
  25563. description: The header field value
  25564. type: string
  25565. required:
  25566. - name
  25567. - value
  25568. type: object
  25569. type: array
  25570. path:
  25571. description: Path to access on the HTTP server.
  25572. type: string
  25573. port:
  25574. anyOf:
  25575. - type: integer
  25576. - type: string
  25577. description: Name or number of the port to access on
  25578. the container. Number must be in the range 1 to 65535.
  25579. Name must be an IANA_SVC_NAME.
  25580. x-kubernetes-int-or-string: true
  25581. scheme:
  25582. description: Scheme to use for connecting to the host.
  25583. Defaults to HTTP.
  25584. type: string
  25585. required:
  25586. - port
  25587. type: object
  25588. initialDelaySeconds:
  25589. description: 'Number of seconds after the container has
  25590. started before liveness probes are initiated. More info:
  25591. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25592. format: int32
  25593. type: integer
  25594. periodSeconds:
  25595. description: How often (in seconds) to perform the probe.
  25596. Default to 10 seconds. Minimum value is 1.
  25597. format: int32
  25598. type: integer
  25599. successThreshold:
  25600. description: Minimum consecutive successes for the probe
  25601. to be considered successful after having failed. Defaults
  25602. to 1. Must be 1 for liveness and startup. Minimum value
  25603. is 1.
  25604. format: int32
  25605. type: integer
  25606. tcpSocket:
  25607. description: TCPSocket specifies an action involving a TCP
  25608. port.
  25609. properties:
  25610. host:
  25611. description: 'Optional: Host name to connect to, defaults
  25612. to the pod IP.'
  25613. type: string
  25614. port:
  25615. anyOf:
  25616. - type: integer
  25617. - type: string
  25618. description: Number or name of the port to access on
  25619. the container. Number must be in the range 1 to 65535.
  25620. Name must be an IANA_SVC_NAME.
  25621. x-kubernetes-int-or-string: true
  25622. required:
  25623. - port
  25624. type: object
  25625. terminationGracePeriodSeconds:
  25626. description: Optional duration in seconds the pod needs
  25627. to terminate gracefully upon probe failure. The grace
  25628. period is the duration in seconds after the processes
  25629. running in the pod are sent a termination signal and the
  25630. time when the processes are forcibly halted with a kill
  25631. signal. Set this value longer than the expected cleanup
  25632. time for your process. If this value is nil, the pod's
  25633. terminationGracePeriodSeconds will be used. Otherwise,
  25634. this value overrides the value provided by the pod spec.
  25635. Value must be non-negative integer. The value zero indicates
  25636. stop immediately via the kill signal (no opportunity to
  25637. shut down). This is a beta field and requires enabling
  25638. ProbeTerminationGracePeriod feature gate. Minimum value
  25639. is 1. spec.terminationGracePeriodSeconds is used if unset.
  25640. format: int64
  25641. type: integer
  25642. timeoutSeconds:
  25643. description: 'Number of seconds after which the probe times
  25644. out. Defaults to 1 second. Minimum value is 1. More info:
  25645. https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  25646. format: int32
  25647. type: integer
  25648. type: object
  25649. stdin:
  25650. description: Whether this container should allocate a buffer
  25651. for stdin in the container runtime. If this is not set, reads
  25652. from stdin in the container will always result in EOF. Default
  25653. is false.
  25654. type: boolean
  25655. stdinOnce:
  25656. description: Whether the container runtime should close the
  25657. stdin channel after it has been opened by a single attach.
  25658. When stdin is true the stdin stream will remain open across
  25659. multiple attach sessions. If stdinOnce is set to true, stdin
  25660. is opened on container start, is empty until the first client
  25661. attaches to stdin, and then remains open and accepts data
  25662. until the client disconnects, at which time stdin is closed
  25663. and remains closed until the container is restarted. If this
  25664. flag is false, a container processes that reads from stdin
  25665. will never receive an EOF. Default is false
  25666. type: boolean
  25667. terminationMessagePath:
  25668. description: 'Optional: Path at which the file to which the
  25669. container''s termination message will be written is mounted
  25670. into the container''s filesystem. Message written is intended
  25671. to be brief final status, such as an assertion failure message.
  25672. Will be truncated by the node if greater than 4096 bytes.
  25673. The total message length across all containers will be limited
  25674. to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  25675. type: string
  25676. terminationMessagePolicy:
  25677. description: Indicate how the termination message should be
  25678. populated. File will use the contents of terminationMessagePath
  25679. to populate the container status message on both success and
  25680. failure. FallbackToLogsOnError will use the last chunk of
  25681. container log output if the termination message file is empty
  25682. and the container exited with an error. The log output is
  25683. limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
  25684. to File. Cannot be updated.
  25685. type: string
  25686. tty:
  25687. description: Whether this container should allocate a TTY for
  25688. itself, also requires 'stdin' to be true. Default is false.
  25689. type: boolean
  25690. volumeDevices:
  25691. description: volumeDevices is the list of block devices to be
  25692. used by the container.
  25693. items:
  25694. description: volumeDevice describes a mapping of a raw block
  25695. device within a container.
  25696. properties:
  25697. devicePath:
  25698. description: devicePath is the path inside of the container
  25699. that the device will be mapped to.
  25700. type: string
  25701. name:
  25702. description: name must match the name of a persistentVolumeClaim
  25703. in the pod
  25704. type: string
  25705. required:
  25706. - devicePath
  25707. - name
  25708. type: object
  25709. type: array
  25710. volumeMounts:
  25711. description: Pod volumes to mount into the container's filesystem.
  25712. Cannot be updated.
  25713. items:
  25714. description: VolumeMount describes a mounting of a Volume
  25715. within a container.
  25716. properties:
  25717. mountPath:
  25718. description: Path within the container at which the volume
  25719. should be mounted. Must not contain ':'.
  25720. type: string
  25721. mountPropagation:
  25722. description: mountPropagation determines how mounts are
  25723. propagated from the host to container and the other
  25724. way around. When not set, MountPropagationNone is used.
  25725. This field is beta in 1.10.
  25726. type: string
  25727. name:
  25728. description: This must match the Name of a Volume.
  25729. type: string
  25730. readOnly:
  25731. description: Mounted read-only if true, read-write otherwise
  25732. (false or unspecified). Defaults to false.
  25733. type: boolean
  25734. subPath:
  25735. description: Path within the volume from which the container's
  25736. volume should be mounted. Defaults to "" (volume's root).
  25737. type: string
  25738. subPathExpr:
  25739. description: Expanded path within the volume from which
  25740. the container's volume should be mounted. Behaves similarly
  25741. to SubPath but environment variable references $(VAR_NAME)
  25742. are expanded using the container's environment. Defaults
  25743. to "" (volume's root). SubPathExpr and SubPath are mutually
  25744. exclusive.
  25745. type: string
  25746. required:
  25747. - mountPath
  25748. - name
  25749. type: object
  25750. type: array
  25751. workingDir:
  25752. description: Container's working directory. If not specified,
  25753. the container runtime's default will be used, which might
  25754. be configured in the container image. Cannot be updated.
  25755. type: string
  25756. required:
  25757. - name
  25758. type: object
  25759. type: array
  25760. labels:
  25761. additionalProperties:
  25762. type: string
  25763. description: Labels configure the external label pairs to ThanosRuler.
  25764. A default replica label `thanos_ruler_replica` will be always added as
  25765. a label with the value of the pod's name and it will be dropped
  25766. in the alerts.
  25767. type: object
  25768. listenLocal:
  25769. description: ListenLocal makes the Thanos ruler listen on loopback,
  25770. so that it does not bind against the Pod IP.
  25771. type: boolean
  25772. logFormat:
  25773. description: Log format for ThanosRuler to be configured with.
  25774. enum:
  25775. - ""
  25776. - logfmt
  25777. - json
  25778. type: string
  25779. logLevel:
  25780. description: Log level for ThanosRuler to be configured with.
  25781. enum:
  25782. - ""
  25783. - debug
  25784. - info
  25785. - warn
  25786. - error
  25787. type: string
  25788. minReadySeconds:
  25789. description: Minimum number of seconds for which a newly created pod
  25790. should be ready without any of its container crashing for it to
  25791. be considered available. Defaults to 0 (pod will be considered available
  25792. as soon as it is ready) This is an alpha field and requires enabling
  25793. StatefulSetMinReadySeconds feature gate.
  25794. format: int32
  25795. type: integer
  25796. nodeSelector:
  25797. additionalProperties:
  25798. type: string
  25799. description: Define which Nodes the Pods are scheduled on.
  25800. type: object
  25801. objectStorageConfig:
  25802. description: ObjectStorageConfig configures object storage in Thanos.
  25803. Alternative to ObjectStorageConfigFile, and lower order priority.
  25804. properties:
  25805. key:
  25806. description: The key of the secret to select from. Must be a
  25807. valid secret key.
  25808. type: string
  25809. name:
  25810. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  25811. TODO: Add other useful fields. apiVersion, kind, uid?'
  25812. type: string
  25813. optional:
  25814. description: Specify whether the Secret or its key must be defined
  25815. type: boolean
  25816. required:
  25817. - key
  25818. type: object
  25819. x-kubernetes-map-type: atomic
  25820. objectStorageConfigFile:
  25821. description: ObjectStorageConfigFile specifies the path of the object
  25822. storage configuration file. When used alongside with ObjectStorageConfig,
  25823. ObjectStorageConfigFile takes precedence.
  25824. type: string
  25825. paused:
  25826. description: When a ThanosRuler deployment is paused, no actions except
  25827. for deletion will be performed on the underlying objects.
  25828. type: boolean
  25829. podMetadata:
  25830. description: PodMetadata contains Labels and Annotations gets propagated
  25831. to the thanos ruler pods.
  25832. properties:
  25833. annotations:
  25834. additionalProperties:
  25835. type: string
  25836. description: 'Annotations is an unstructured key value map stored
  25837. with a resource that may be set by external tools to store and
  25838. retrieve arbitrary metadata. They are not queryable and should
  25839. be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
  25840. type: object
  25841. labels:
  25842. additionalProperties:
  25843. type: string
  25844. description: 'Map of string keys and values that can be used to
  25845. organize and categorize (scope and select) objects. May match
  25846. selectors of replication controllers and services. More info:
  25847. http://kubernetes.io/docs/user-guide/labels'
  25848. type: object
  25849. name:
  25850. description: 'Name must be unique within a namespace. Is required
  25851. when creating resources, although some resources may allow a
  25852. client to request the generation of an appropriate name automatically.
  25853. Name is primarily intended for creation idempotence and configuration
  25854. definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
  25855. type: string
  25856. type: object
  25857. portName:
  25858. description: Port name used for the pods and governing service. This
  25859. defaults to web
  25860. type: string
  25861. priorityClassName:
  25862. description: Priority class assigned to the Pods
  25863. type: string
  25864. prometheusRulesExcludedFromEnforce:
  25865. description: 'PrometheusRulesExcludedFromEnforce - list of Prometheus
  25866. rules to be excluded from enforcing of adding namespace labels.
  25867. Works only if enforcedNamespaceLabel set to true. Make sure both
  25868. ruleNamespace and ruleName are set for each pair Deprecated: use
  25869. excludedFromEnforcement instead.'
  25870. items:
  25871. description: PrometheusRuleExcludeConfig enables users to configure
  25872. excluded PrometheusRule names and their namespaces to be ignored
  25873. while enforcing namespace label for alerts and metrics.
  25874. properties:
  25875. ruleName:
  25876. description: RuleNamespace - name of excluded rule
  25877. type: string
  25878. ruleNamespace:
  25879. description: RuleNamespace - namespace of excluded rule
  25880. type: string
  25881. required:
  25882. - ruleName
  25883. - ruleNamespace
  25884. type: object
  25885. type: array
  25886. queryConfig:
  25887. description: Define configuration for connecting to thanos query instances.
  25888. If this is defined, the QueryEndpoints field will be ignored. Maps
  25889. to the `query.config` CLI argument. Only available with thanos v0.11.0
  25890. and higher.
  25891. properties:
  25892. key:
  25893. description: The key of the secret to select from. Must be a
  25894. valid secret key.
  25895. type: string
  25896. name:
  25897. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  25898. TODO: Add other useful fields. apiVersion, kind, uid?'
  25899. type: string
  25900. optional:
  25901. description: Specify whether the Secret or its key must be defined
  25902. type: boolean
  25903. required:
  25904. - key
  25905. type: object
  25906. x-kubernetes-map-type: atomic
  25907. queryEndpoints:
  25908. description: QueryEndpoints defines Thanos querier endpoints from
  25909. which to query metrics. Maps to the --query flag of thanos ruler.
  25910. items:
  25911. type: string
  25912. type: array
  25913. replicas:
  25914. description: Number of thanos ruler instances to deploy.
  25915. format: int32
  25916. type: integer
  25917. resources:
  25918. description: Resources defines the resource requirements for single
  25919. Pods. If not provided, no requests/limits will be set
  25920. properties:
  25921. limits:
  25922. additionalProperties:
  25923. anyOf:
  25924. - type: integer
  25925. - type: string
  25926. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  25927. x-kubernetes-int-or-string: true
  25928. description: 'Limits describes the maximum amount of compute resources
  25929. allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  25930. type: object
  25931. requests:
  25932. additionalProperties:
  25933. anyOf:
  25934. - type: integer
  25935. - type: string
  25936. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  25937. x-kubernetes-int-or-string: true
  25938. description: 'Requests describes the minimum amount of compute
  25939. resources required. If Requests is omitted for a container,
  25940. it defaults to Limits if that is explicitly specified, otherwise
  25941. to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  25942. type: object
  25943. type: object
  25944. retention:
  25945. default: 24h
  25946. description: Time duration ThanosRuler shall retain data for. Default
  25947. is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)`
  25948. (milliseconds seconds minutes hours days weeks years).
  25949. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
  25950. type: string
  25951. routePrefix:
  25952. description: The route prefix ThanosRuler registers HTTP handlers
  25953. for. This allows thanos UI to be served on a sub-path.
  25954. type: string
  25955. ruleNamespaceSelector:
  25956. description: Namespaces to be selected for Rules discovery. If unspecified,
  25957. only the same namespace as the ThanosRuler object is in is used.
  25958. properties:
  25959. matchExpressions:
  25960. description: matchExpressions is a list of label selector requirements.
  25961. The requirements are ANDed.
  25962. items:
  25963. description: A label selector requirement is a selector that
  25964. contains values, a key, and an operator that relates the key
  25965. and values.
  25966. properties:
  25967. key:
  25968. description: key is the label key that the selector applies
  25969. to.
  25970. type: string
  25971. operator:
  25972. description: operator represents a key's relationship to
  25973. a set of values. Valid operators are In, NotIn, Exists
  25974. and DoesNotExist.
  25975. type: string
  25976. values:
  25977. description: values is an array of string values. If the
  25978. operator is In or NotIn, the values array must be non-empty.
  25979. If the operator is Exists or DoesNotExist, the values
  25980. array must be empty. This array is replaced during a strategic
  25981. merge patch.
  25982. items:
  25983. type: string
  25984. type: array
  25985. required:
  25986. - key
  25987. - operator
  25988. type: object
  25989. type: array
  25990. matchLabels:
  25991. additionalProperties:
  25992. type: string
  25993. description: matchLabels is a map of {key,value} pairs. A single
  25994. {key,value} in the matchLabels map is equivalent to an element
  25995. of matchExpressions, whose key field is "key", the operator
  25996. is "In", and the values array contains only "value". The requirements
  25997. are ANDed.
  25998. type: object
  25999. type: object
  26000. x-kubernetes-map-type: atomic
  26001. ruleSelector:
  26002. description: A label selector to select which PrometheusRules to mount
  26003. for alerting and recording.
  26004. properties:
  26005. matchExpressions:
  26006. description: matchExpressions is a list of label selector requirements.
  26007. The requirements are ANDed.
  26008. items:
  26009. description: A label selector requirement is a selector that
  26010. contains values, a key, and an operator that relates the key
  26011. and values.
  26012. properties:
  26013. key:
  26014. description: key is the label key that the selector applies
  26015. to.
  26016. type: string
  26017. operator:
  26018. description: operator represents a key's relationship to
  26019. a set of values. Valid operators are In, NotIn, Exists
  26020. and DoesNotExist.
  26021. type: string
  26022. values:
  26023. description: values is an array of string values. If the
  26024. operator is In or NotIn, the values array must be non-empty.
  26025. If the operator is Exists or DoesNotExist, the values
  26026. array must be empty. This array is replaced during a strategic
  26027. merge patch.
  26028. items:
  26029. type: string
  26030. type: array
  26031. required:
  26032. - key
  26033. - operator
  26034. type: object
  26035. type: array
  26036. matchLabels:
  26037. additionalProperties:
  26038. type: string
  26039. description: matchLabels is a map of {key,value} pairs. A single
  26040. {key,value} in the matchLabels map is equivalent to an element
  26041. of matchExpressions, whose key field is "key", the operator
  26042. is "In", and the values array contains only "value". The requirements
  26043. are ANDed.
  26044. type: object
  26045. type: object
  26046. x-kubernetes-map-type: atomic
  26047. securityContext:
  26048. description: SecurityContext holds pod-level security attributes and
  26049. common container settings. This defaults to the default PodSecurityContext.
  26050. properties:
  26051. fsGroup:
  26052. description: "A special supplemental group that applies to all
  26053. containers in a pod. Some volume types allow the Kubelet to
  26054. change the ownership of that volume to be owned by the pod:
  26055. \n 1. The owning GID will be the FSGroup 2. The setgid bit is
  26056. set (new files created in the volume will be owned by FSGroup)
  26057. 3. The permission bits are OR'd with rw-rw---- \n If unset,
  26058. the Kubelet will not modify the ownership and permissions of
  26059. any volume. Note that this field cannot be set when spec.os.name
  26060. is windows."
  26061. format: int64
  26062. type: integer
  26063. fsGroupChangePolicy:
  26064. description: 'fsGroupChangePolicy defines behavior of changing
  26065. ownership and permission of the volume before being exposed
  26066. inside Pod. This field will only apply to volume types which
  26067. support fsGroup based ownership(and permissions). It will have
  26068. no effect on ephemeral volume types such as: secret, configmaps
  26069. and emptydir. Valid values are "OnRootMismatch" and "Always".
  26070. If not specified, "Always" is used. Note that this field cannot
  26071. be set when spec.os.name is windows.'
  26072. type: string
  26073. runAsGroup:
  26074. description: The GID to run the entrypoint of the container process.
  26075. Uses runtime default if unset. May also be set in SecurityContext. If
  26076. set in both SecurityContext and PodSecurityContext, the value
  26077. specified in SecurityContext takes precedence for that container.
  26078. Note that this field cannot be set when spec.os.name is windows.
  26079. format: int64
  26080. type: integer
  26081. runAsNonRoot:
  26082. description: Indicates that the container must run as a non-root
  26083. user. If true, the Kubelet will validate the image at runtime
  26084. to ensure that it does not run as UID 0 (root) and fail to start
  26085. the container if it does. If unset or false, no such validation
  26086. will be performed. May also be set in SecurityContext. If set
  26087. in both SecurityContext and PodSecurityContext, the value specified
  26088. in SecurityContext takes precedence.
  26089. type: boolean
  26090. runAsUser:
  26091. description: The UID to run the entrypoint of the container process.
  26092. Defaults to user specified in image metadata if unspecified.
  26093. May also be set in SecurityContext. If set in both SecurityContext
  26094. and PodSecurityContext, the value specified in SecurityContext
  26095. takes precedence for that container. Note that this field cannot
  26096. be set when spec.os.name is windows.
  26097. format: int64
  26098. type: integer
  26099. seLinuxOptions:
  26100. description: The SELinux context to be applied to all containers.
  26101. If unspecified, the container runtime will allocate a random
  26102. SELinux context for each container. May also be set in SecurityContext. If
  26103. set in both SecurityContext and PodSecurityContext, the value
  26104. specified in SecurityContext takes precedence for that container.
  26105. Note that this field cannot be set when spec.os.name is windows.
  26106. properties:
  26107. level:
  26108. description: Level is SELinux level label that applies to
  26109. the container.
  26110. type: string
  26111. role:
  26112. description: Role is a SELinux role label that applies to
  26113. the container.
  26114. type: string
  26115. type:
  26116. description: Type is a SELinux type label that applies to
  26117. the container.
  26118. type: string
  26119. user:
  26120. description: User is a SELinux user label that applies to
  26121. the container.
  26122. type: string
  26123. type: object
  26124. seccompProfile:
  26125. description: The seccomp options to use by the containers in this
  26126. pod. Note that this field cannot be set when spec.os.name is
  26127. windows.
  26128. properties:
  26129. localhostProfile:
  26130. description: localhostProfile indicates a profile defined
  26131. in a file on the node should be used. The profile must be
  26132. preconfigured on the node to work. Must be a descending
  26133. path, relative to the kubelet's configured seccomp profile
  26134. location. Must only be set if type is "Localhost".
  26135. type: string
  26136. type:
  26137. description: "type indicates which kind of seccomp profile
  26138. will be applied. Valid options are: \n Localhost - a profile
  26139. defined in a file on the node should be used. RuntimeDefault
  26140. - the container runtime default profile should be used.
  26141. Unconfined - no profile should be applied."
  26142. type: string
  26143. required:
  26144. - type
  26145. type: object
  26146. supplementalGroups:
  26147. description: A list of groups applied to the first process run
  26148. in each container, in addition to the container's primary GID. If
  26149. unspecified, no groups will be added to any container. Note
  26150. that this field cannot be set when spec.os.name is windows.
  26151. items:
  26152. format: int64
  26153. type: integer
  26154. type: array
  26155. sysctls:
  26156. description: Sysctls hold a list of namespaced sysctls used for
  26157. the pod. Pods with unsupported sysctls (by the container runtime)
  26158. might fail to launch. Note that this field cannot be set when
  26159. spec.os.name is windows.
  26160. items:
  26161. description: Sysctl defines a kernel parameter to be set
  26162. properties:
  26163. name:
  26164. description: Name of a property to set
  26165. type: string
  26166. value:
  26167. description: Value of a property to set
  26168. type: string
  26169. required:
  26170. - name
  26171. - value
  26172. type: object
  26173. type: array
  26174. windowsOptions:
  26175. description: The Windows specific settings applied to all containers.
  26176. If unspecified, the options within a container's SecurityContext
  26177. will be used. If set in both SecurityContext and PodSecurityContext,
  26178. the value specified in SecurityContext takes precedence. Note
  26179. that this field cannot be set when spec.os.name is linux.
  26180. properties:
  26181. gmsaCredentialSpec:
  26182. description: GMSACredentialSpec is where the GMSA admission
  26183. webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  26184. inlines the contents of the GMSA credential spec named by
  26185. the GMSACredentialSpecName field.
  26186. type: string
  26187. gmsaCredentialSpecName:
  26188. description: GMSACredentialSpecName is the name of the GMSA
  26189. credential spec to use.
  26190. type: string
  26191. hostProcess:
  26192. description: HostProcess determines if a container should
  26193. be run as a 'Host Process' container. This field is alpha-level
  26194. and will only be honored by components that enable the WindowsHostProcessContainers
  26195. feature flag. Setting this field without the feature flag
  26196. will result in errors when validating the Pod. All of a
  26197. Pod's containers must have the same effective HostProcess
  26198. value (it is not allowed to have a mix of HostProcess containers
  26199. and non-HostProcess containers). In addition, if HostProcess
  26200. is true then HostNetwork must also be set to true.
  26201. type: boolean
  26202. runAsUserName:
  26203. description: The UserName in Windows to run the entrypoint
  26204. of the container process. Defaults to the user specified
  26205. in image metadata if unspecified. May also be set in PodSecurityContext.
  26206. If set in both SecurityContext and PodSecurityContext, the
  26207. value specified in SecurityContext takes precedence.
  26208. type: string
  26209. type: object
  26210. type: object
  26211. serviceAccountName:
  26212. description: ServiceAccountName is the name of the ServiceAccount
  26213. to use to run the Thanos Ruler Pods.
  26214. type: string
  26215. storage:
  26216. description: Storage spec to specify how storage shall be used.
  26217. properties:
  26218. disableMountSubPath:
  26219. description: 'Deprecated: subPath usage will be disabled by default
  26220. in a future release, this option will become unnecessary. DisableMountSubPath
  26221. allows to remove any subPath usage in volume mounts.'
  26222. type: boolean
  26223. emptyDir:
  26224. description: 'EmptyDirVolumeSource to be used by the Prometheus
  26225. StatefulSets. If specified, used in place of any volumeClaimTemplate.
  26226. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
  26227. properties:
  26228. medium:
  26229. description: 'medium represents what type of storage medium
  26230. should back this directory. The default is "" which means
  26231. to use the node''s default medium. Must be an empty string
  26232. (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  26233. type: string
  26234. sizeLimit:
  26235. anyOf:
  26236. - type: integer
  26237. - type: string
  26238. description: 'sizeLimit is the total amount of local storage
  26239. required for this EmptyDir volume. The size limit is also
  26240. applicable for memory medium. The maximum usage on memory
  26241. medium EmptyDir would be the minimum value between the SizeLimit
  26242. specified here and the sum of memory limits of all containers
  26243. in a pod. The default is nil which means that the limit
  26244. is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  26245. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  26246. x-kubernetes-int-or-string: true
  26247. type: object
  26248. ephemeral:
  26249. description: 'EphemeralVolumeSource to be used by the Prometheus
  26250. StatefulSets. This is a beta field in k8s 1.21, for lower versions,
  26251. starting with k8s 1.19, it requires enabling the GenericEphemeralVolume
  26252. feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes'
  26253. properties:
  26254. volumeClaimTemplate:
  26255. description: "Will be used to create a stand-alone PVC to
  26256. provision the volume. The pod in which this EphemeralVolumeSource
  26257. is embedded will be the owner of the PVC, i.e. the PVC will
  26258. be deleted together with the pod. The name of the PVC will
  26259. be `<pod name>-<volume name>` where `<volume name>` is the
  26260. name from the `PodSpec.Volumes` array entry. Pod validation
  26261. will reject the pod if the concatenated name is not valid
  26262. for a PVC (for example, too long). \n An existing PVC with
  26263. that name that is not owned by the pod will *not* be used
  26264. for the pod to avoid using an unrelated volume by mistake.
  26265. Starting the pod is then blocked until the unrelated PVC
  26266. is removed. If such a pre-created PVC is meant to be used
  26267. by the pod, the PVC has to updated with an owner reference
  26268. to the pod once the pod exists. Normally this should not
  26269. be necessary, but it may be useful when manually reconstructing
  26270. a broken cluster. \n This field is read-only and no changes
  26271. will be made by Kubernetes to the PVC after it has been
  26272. created. \n Required, must not be nil."
  26273. properties:
  26274. metadata:
  26275. description: May contain labels and annotations that will
  26276. be copied into the PVC when creating it. No other fields
  26277. are allowed and will be rejected during validation.
  26278. type: object
  26279. spec:
  26280. description: The specification for the PersistentVolumeClaim.
  26281. The entire content is copied unchanged into the PVC
  26282. that gets created from this template. The same fields
  26283. as in a PersistentVolumeClaim are also valid here.
  26284. properties:
  26285. accessModes:
  26286. description: 'accessModes contains the desired access
  26287. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  26288. items:
  26289. type: string
  26290. type: array
  26291. dataSource:
  26292. description: 'dataSource field can be used to specify
  26293. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  26294. * An existing PVC (PersistentVolumeClaim) If the
  26295. provisioner or an external controller can support
  26296. the specified data source, it will create a new
  26297. volume based on the contents of the specified data
  26298. source. If the AnyVolumeDataSource feature gate
  26299. is enabled, this field will always have the same
  26300. contents as the DataSourceRef field.'
  26301. properties:
  26302. apiGroup:
  26303. description: APIGroup is the group for the resource
  26304. being referenced. If APIGroup is not specified,
  26305. the specified Kind must be in the core API group.
  26306. For any other third-party types, APIGroup is
  26307. required.
  26308. type: string
  26309. kind:
  26310. description: Kind is the type of resource being
  26311. referenced
  26312. type: string
  26313. name:
  26314. description: Name is the name of resource being
  26315. referenced
  26316. type: string
  26317. required:
  26318. - kind
  26319. - name
  26320. type: object
  26321. x-kubernetes-map-type: atomic
  26322. dataSourceRef:
  26323. description: 'dataSourceRef specifies the object from
  26324. which to populate the volume with data, if a non-empty
  26325. volume is desired. This may be any local object
  26326. from a non-empty API group (non core object) or
  26327. a PersistentVolumeClaim object. When this field
  26328. is specified, volume binding will only succeed if
  26329. the type of the specified object matches some installed
  26330. volume populator or dynamic provisioner. This field
  26331. will replace the functionality of the DataSource
  26332. field and as such if both fields are non-empty,
  26333. they must have the same value. For backwards compatibility,
  26334. both fields (DataSource and DataSourceRef) will
  26335. be set to the same value automatically if one of
  26336. them is empty and the other is non-empty. There
  26337. are two important differences between DataSource
  26338. and DataSourceRef: * While DataSource only allows
  26339. two specific types of objects, DataSourceRef allows
  26340. any non-core object, as well as PersistentVolumeClaim
  26341. objects. * While DataSource ignores disallowed values
  26342. (dropping them), DataSourceRef preserves all values,
  26343. and generates an error if a disallowed value is
  26344. specified. (Beta) Using this field requires the
  26345. AnyVolumeDataSource feature gate to be enabled.'
  26346. properties:
  26347. apiGroup:
  26348. description: APIGroup is the group for the resource
  26349. being referenced. If APIGroup is not specified,
  26350. the specified Kind must be in the core API group.
  26351. For any other third-party types, APIGroup is
  26352. required.
  26353. type: string
  26354. kind:
  26355. description: Kind is the type of resource being
  26356. referenced
  26357. type: string
  26358. name:
  26359. description: Name is the name of resource being
  26360. referenced
  26361. type: string
  26362. required:
  26363. - kind
  26364. - name
  26365. type: object
  26366. x-kubernetes-map-type: atomic
  26367. resources:
  26368. description: 'resources represents the minimum resources
  26369. the volume should have. If RecoverVolumeExpansionFailure
  26370. feature is enabled users are allowed to specify
  26371. resource requirements that are lower than previous
  26372. value but must still be higher than capacity recorded
  26373. in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  26374. properties:
  26375. limits:
  26376. additionalProperties:
  26377. anyOf:
  26378. - type: integer
  26379. - type: string
  26380. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  26381. x-kubernetes-int-or-string: true
  26382. description: 'Limits describes the maximum amount
  26383. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  26384. type: object
  26385. requests:
  26386. additionalProperties:
  26387. anyOf:
  26388. - type: integer
  26389. - type: string
  26390. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  26391. x-kubernetes-int-or-string: true
  26392. description: 'Requests describes the minimum amount
  26393. of compute resources required. If Requests is
  26394. omitted for a container, it defaults to Limits
  26395. if that is explicitly specified, otherwise to
  26396. an implementation-defined value. More info:
  26397. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  26398. type: object
  26399. type: object
  26400. selector:
  26401. description: selector is a label query over volumes
  26402. to consider for binding.
  26403. properties:
  26404. matchExpressions:
  26405. description: matchExpressions is a list of label
  26406. selector requirements. The requirements are
  26407. ANDed.
  26408. items:
  26409. description: A label selector requirement is
  26410. a selector that contains values, a key, and
  26411. an operator that relates the key and values.
  26412. properties:
  26413. key:
  26414. description: key is the label key that the
  26415. selector applies to.
  26416. type: string
  26417. operator:
  26418. description: operator represents a key's
  26419. relationship to a set of values. Valid
  26420. operators are In, NotIn, Exists and DoesNotExist.
  26421. type: string
  26422. values:
  26423. description: values is an array of string
  26424. values. If the operator is In or NotIn,
  26425. the values array must be non-empty. If
  26426. the operator is Exists or DoesNotExist,
  26427. the values array must be empty. This array
  26428. is replaced during a strategic merge patch.
  26429. items:
  26430. type: string
  26431. type: array
  26432. required:
  26433. - key
  26434. - operator
  26435. type: object
  26436. type: array
  26437. matchLabels:
  26438. additionalProperties:
  26439. type: string
  26440. description: matchLabels is a map of {key,value}
  26441. pairs. A single {key,value} in the matchLabels
  26442. map is equivalent to an element of matchExpressions,
  26443. whose key field is "key", the operator is "In",
  26444. and the values array contains only "value".
  26445. The requirements are ANDed.
  26446. type: object
  26447. type: object
  26448. x-kubernetes-map-type: atomic
  26449. storageClassName:
  26450. description: 'storageClassName is the name of the
  26451. StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  26452. type: string
  26453. volumeMode:
  26454. description: volumeMode defines what type of volume
  26455. is required by the claim. Value of Filesystem is
  26456. implied when not included in claim spec.
  26457. type: string
  26458. volumeName:
  26459. description: volumeName is the binding reference to
  26460. the PersistentVolume backing this claim.
  26461. type: string
  26462. type: object
  26463. required:
  26464. - spec
  26465. type: object
  26466. type: object
  26467. volumeClaimTemplate:
  26468. description: A PVC spec to be used by the Prometheus StatefulSets.
  26469. properties:
  26470. apiVersion:
  26471. description: 'APIVersion defines the versioned schema of this
  26472. representation of an object. Servers should convert recognized
  26473. schemas to the latest internal value, and may reject unrecognized
  26474. values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  26475. type: string
  26476. kind:
  26477. description: 'Kind is a string value representing the REST
  26478. resource this object represents. Servers may infer this
  26479. from the endpoint the client submits requests to. Cannot
  26480. be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  26481. type: string
  26482. metadata:
  26483. description: EmbeddedMetadata contains metadata relevant to
  26484. an EmbeddedResource.
  26485. properties:
  26486. annotations:
  26487. additionalProperties:
  26488. type: string
  26489. description: 'Annotations is an unstructured key value
  26490. map stored with a resource that may be set by external
  26491. tools to store and retrieve arbitrary metadata. They
  26492. are not queryable and should be preserved when modifying
  26493. objects. More info: http://kubernetes.io/docs/user-guide/annotations'
  26494. type: object
  26495. labels:
  26496. additionalProperties:
  26497. type: string
  26498. description: 'Map of string keys and values that can be
  26499. used to organize and categorize (scope and select) objects.
  26500. May match selectors of replication controllers and services.
  26501. More info: http://kubernetes.io/docs/user-guide/labels'
  26502. type: object
  26503. name:
  26504. description: 'Name must be unique within a namespace.
  26505. Is required when creating resources, although some resources
  26506. may allow a client to request the generation of an appropriate
  26507. name automatically. Name is primarily intended for creation
  26508. idempotence and configuration definition. Cannot be
  26509. updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
  26510. type: string
  26511. type: object
  26512. spec:
  26513. description: 'Spec defines the desired characteristics of
  26514. a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  26515. properties:
  26516. accessModes:
  26517. description: 'accessModes contains the desired access
  26518. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  26519. items:
  26520. type: string
  26521. type: array
  26522. dataSource:
  26523. description: 'dataSource field can be used to specify
  26524. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  26525. * An existing PVC (PersistentVolumeClaim) If the provisioner
  26526. or an external controller can support the specified
  26527. data source, it will create a new volume based on the
  26528. contents of the specified data source. If the AnyVolumeDataSource
  26529. feature gate is enabled, this field will always have
  26530. the same contents as the DataSourceRef field.'
  26531. properties:
  26532. apiGroup:
  26533. description: APIGroup is the group for the resource
  26534. being referenced. If APIGroup is not specified,
  26535. the specified Kind must be in the core API group.
  26536. For any other third-party types, APIGroup is required.
  26537. type: string
  26538. kind:
  26539. description: Kind is the type of resource being referenced
  26540. type: string
  26541. name:
  26542. description: Name is the name of resource being referenced
  26543. type: string
  26544. required:
  26545. - kind
  26546. - name
  26547. type: object
  26548. x-kubernetes-map-type: atomic
  26549. dataSourceRef:
  26550. description: 'dataSourceRef specifies the object from
  26551. which to populate the volume with data, if a non-empty
  26552. volume is desired. This may be any local object from
  26553. a non-empty API group (non core object) or a PersistentVolumeClaim
  26554. object. When this field is specified, volume binding
  26555. will only succeed if the type of the specified object
  26556. matches some installed volume populator or dynamic provisioner.
  26557. This field will replace the functionality of the DataSource
  26558. field and as such if both fields are non-empty, they
  26559. must have the same value. For backwards compatibility,
  26560. both fields (DataSource and DataSourceRef) will be set
  26561. to the same value automatically if one of them is empty
  26562. and the other is non-empty. There are two important
  26563. differences between DataSource and DataSourceRef: *
  26564. While DataSource only allows two specific types of objects,
  26565. DataSourceRef allows any non-core object, as well as
  26566. PersistentVolumeClaim objects. * While DataSource ignores
  26567. disallowed values (dropping them), DataSourceRef preserves
  26568. all values, and generates an error if a disallowed value
  26569. is specified. (Beta) Using this field requires the AnyVolumeDataSource
  26570. feature gate to be enabled.'
  26571. properties:
  26572. apiGroup:
  26573. description: APIGroup is the group for the resource
  26574. being referenced. If APIGroup is not specified,
  26575. the specified Kind must be in the core API group.
  26576. For any other third-party types, APIGroup is required.
  26577. type: string
  26578. kind:
  26579. description: Kind is the type of resource being referenced
  26580. type: string
  26581. name:
  26582. description: Name is the name of resource being referenced
  26583. type: string
  26584. required:
  26585. - kind
  26586. - name
  26587. type: object
  26588. x-kubernetes-map-type: atomic
  26589. resources:
  26590. description: 'resources represents the minimum resources
  26591. the volume should have. If RecoverVolumeExpansionFailure
  26592. feature is enabled users are allowed to specify resource
  26593. requirements that are lower than previous value but
  26594. must still be higher than capacity recorded in the status
  26595. field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  26596. properties:
  26597. limits:
  26598. additionalProperties:
  26599. anyOf:
  26600. - type: integer
  26601. - type: string
  26602. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  26603. x-kubernetes-int-or-string: true
  26604. description: 'Limits describes the maximum amount
  26605. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  26606. type: object
  26607. requests:
  26608. additionalProperties:
  26609. anyOf:
  26610. - type: integer
  26611. - type: string
  26612. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  26613. x-kubernetes-int-or-string: true
  26614. description: 'Requests describes the minimum amount
  26615. of compute resources required. If Requests is omitted
  26616. for a container, it defaults to Limits if that is
  26617. explicitly specified, otherwise to an implementation-defined
  26618. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  26619. type: object
  26620. type: object
  26621. selector:
  26622. description: selector is a label query over volumes to
  26623. consider for binding.
  26624. properties:
  26625. matchExpressions:
  26626. description: matchExpressions is a list of label selector
  26627. requirements. The requirements are ANDed.
  26628. items:
  26629. description: A label selector requirement is a selector
  26630. that contains values, a key, and an operator that
  26631. relates the key and values.
  26632. properties:
  26633. key:
  26634. description: key is the label key that the selector
  26635. applies to.
  26636. type: string
  26637. operator:
  26638. description: operator represents a key's relationship
  26639. to a set of values. Valid operators are In,
  26640. NotIn, Exists and DoesNotExist.
  26641. type: string
  26642. values:
  26643. description: values is an array of string values.
  26644. If the operator is In or NotIn, the values
  26645. array must be non-empty. If the operator is
  26646. Exists or DoesNotExist, the values array must
  26647. be empty. This array is replaced during a
  26648. strategic merge patch.
  26649. items:
  26650. type: string
  26651. type: array
  26652. required:
  26653. - key
  26654. - operator
  26655. type: object
  26656. type: array
  26657. matchLabels:
  26658. additionalProperties:
  26659. type: string
  26660. description: matchLabels is a map of {key,value} pairs.
  26661. A single {key,value} in the matchLabels map is equivalent
  26662. to an element of matchExpressions, whose key field
  26663. is "key", the operator is "In", and the values array
  26664. contains only "value". The requirements are ANDed.
  26665. type: object
  26666. type: object
  26667. x-kubernetes-map-type: atomic
  26668. storageClassName:
  26669. description: 'storageClassName is the name of the StorageClass
  26670. required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  26671. type: string
  26672. volumeMode:
  26673. description: volumeMode defines what type of volume is
  26674. required by the claim. Value of Filesystem is implied
  26675. when not included in claim spec.
  26676. type: string
  26677. volumeName:
  26678. description: volumeName is the binding reference to the
  26679. PersistentVolume backing this claim.
  26680. type: string
  26681. type: object
  26682. status:
  26683. description: 'Status represents the current information/status
  26684. of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  26685. properties:
  26686. accessModes:
  26687. description: 'accessModes contains the actual access modes
  26688. the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  26689. items:
  26690. type: string
  26691. type: array
  26692. allocatedResources:
  26693. additionalProperties:
  26694. anyOf:
  26695. - type: integer
  26696. - type: string
  26697. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  26698. x-kubernetes-int-or-string: true
  26699. description: allocatedResources is the storage resource
  26700. within AllocatedResources tracks the capacity allocated
  26701. to a PVC. It may be larger than the actual capacity
  26702. when a volume expansion operation is requested. For
  26703. storage quota, the larger value from allocatedResources
  26704. and PVC.spec.resources is used. If allocatedResources
  26705. is not set, PVC.spec.resources alone is used for quota
  26706. calculation. If a volume expansion capacity request
  26707. is lowered, allocatedResources is only lowered if there
  26708. are no expansion operations in progress and if the actual
  26709. volume capacity is equal or lower than the requested
  26710. capacity. This is an alpha field and requires enabling
  26711. RecoverVolumeExpansionFailure feature.
  26712. type: object
  26713. capacity:
  26714. additionalProperties:
  26715. anyOf:
  26716. - type: integer
  26717. - type: string
  26718. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  26719. x-kubernetes-int-or-string: true
  26720. description: capacity represents the actual resources
  26721. of the underlying volume.
  26722. type: object
  26723. conditions:
  26724. description: conditions is the current Condition of persistent
  26725. volume claim. If underlying persistent volume is being
  26726. resized then the Condition will be set to 'ResizeStarted'.
  26727. items:
  26728. description: PersistentVolumeClaimCondition contails
  26729. details about state of pvc
  26730. properties:
  26731. lastProbeTime:
  26732. description: lastProbeTime is the time we probed
  26733. the condition.
  26734. format: date-time
  26735. type: string
  26736. lastTransitionTime:
  26737. description: lastTransitionTime is the time the
  26738. condition transitioned from one status to another.
  26739. format: date-time
  26740. type: string
  26741. message:
  26742. description: message is the human-readable message
  26743. indicating details about last transition.
  26744. type: string
  26745. reason:
  26746. description: reason is a unique, this should be
  26747. a short, machine understandable string that gives
  26748. the reason for condition's last transition. If
  26749. it reports "ResizeStarted" that means the underlying
  26750. persistent volume is being resized.
  26751. type: string
  26752. status:
  26753. type: string
  26754. type:
  26755. description: PersistentVolumeClaimConditionType
  26756. is a valid value of PersistentVolumeClaimCondition.Type
  26757. type: string
  26758. required:
  26759. - status
  26760. - type
  26761. type: object
  26762. type: array
  26763. phase:
  26764. description: phase represents the current phase of PersistentVolumeClaim.
  26765. type: string
  26766. resizeStatus:
  26767. description: resizeStatus stores status of resize operation.
  26768. ResizeStatus is not set by default but when expansion
  26769. is complete resizeStatus is set to empty string by resize
  26770. controller or kubelet. This is an alpha field and requires
  26771. enabling RecoverVolumeExpansionFailure feature.
  26772. type: string
  26773. type: object
  26774. type: object
  26775. type: object
  26776. tolerations:
  26777. description: If specified, the pod's tolerations.
  26778. items:
  26779. description: The pod this Toleration is attached to tolerates any
  26780. taint that matches the triple <key,value,effect> using the matching
  26781. operator <operator>.
  26782. properties:
  26783. effect:
  26784. description: Effect indicates the taint effect to match. Empty
  26785. means match all taint effects. When specified, allowed values
  26786. are NoSchedule, PreferNoSchedule and NoExecute.
  26787. type: string
  26788. key:
  26789. description: Key is the taint key that the toleration applies
  26790. to. Empty means match all taint keys. If the key is empty,
  26791. operator must be Exists; this combination means to match all
  26792. values and all keys.
  26793. type: string
  26794. operator:
  26795. description: Operator represents a key's relationship to the
  26796. value. Valid operators are Exists and Equal. Defaults to Equal.
  26797. Exists is equivalent to wildcard for value, so that a pod
  26798. can tolerate all taints of a particular category.
  26799. type: string
  26800. tolerationSeconds:
  26801. description: TolerationSeconds represents the period of time
  26802. the toleration (which must be of effect NoExecute, otherwise
  26803. this field is ignored) tolerates the taint. By default, it
  26804. is not set, which means tolerate the taint forever (do not
  26805. evict). Zero and negative values will be treated as 0 (evict
  26806. immediately) by the system.
  26807. format: int64
  26808. type: integer
  26809. value:
  26810. description: Value is the taint value the toleration matches
  26811. to. If the operator is Exists, the value should be empty,
  26812. otherwise just a regular string.
  26813. type: string
  26814. type: object
  26815. type: array
  26816. topologySpreadConstraints:
  26817. description: If specified, the pod's topology spread constraints.
  26818. items:
  26819. description: TopologySpreadConstraint specifies how to spread matching
  26820. pods among the given topology.
  26821. properties:
  26822. labelSelector:
  26823. description: LabelSelector is used to find matching pods. Pods
  26824. that match this label selector are counted to determine the
  26825. number of pods in their corresponding topology domain.
  26826. properties:
  26827. matchExpressions:
  26828. description: matchExpressions is a list of label selector
  26829. requirements. The requirements are ANDed.
  26830. items:
  26831. description: A label selector requirement is a selector
  26832. that contains values, a key, and an operator that relates
  26833. the key and values.
  26834. properties:
  26835. key:
  26836. description: key is the label key that the selector
  26837. applies to.
  26838. type: string
  26839. operator:
  26840. description: operator represents a key's relationship
  26841. to a set of values. Valid operators are In, NotIn,
  26842. Exists and DoesNotExist.
  26843. type: string
  26844. values:
  26845. description: values is an array of string values.
  26846. If the operator is In or NotIn, the values array
  26847. must be non-empty. If the operator is Exists or
  26848. DoesNotExist, the values array must be empty. This
  26849. array is replaced during a strategic merge patch.
  26850. items:
  26851. type: string
  26852. type: array
  26853. required:
  26854. - key
  26855. - operator
  26856. type: object
  26857. type: array
  26858. matchLabels:
  26859. additionalProperties:
  26860. type: string
  26861. description: matchLabels is a map of {key,value} pairs.
  26862. A single {key,value} in the matchLabels map is equivalent
  26863. to an element of matchExpressions, whose key field is
  26864. "key", the operator is "In", and the values array contains
  26865. only "value". The requirements are ANDed.
  26866. type: object
  26867. type: object
  26868. x-kubernetes-map-type: atomic
  26869. maxSkew:
  26870. description: 'MaxSkew describes the degree to which pods may
  26871. be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  26872. it is the maximum permitted difference between the number
  26873. of matching pods in the target topology and the global minimum.
  26874. The global minimum is the minimum number of matching pods
  26875. in an eligible domain or zero if the number of eligible domains
  26876. is less than MinDomains. For example, in a 3-zone cluster,
  26877. MaxSkew is set to 1, and pods with the same labelSelector
  26878. spread as 2/2/1: In this case, the global minimum is 1. |
  26879. zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew
  26880. is 1, incoming pod can only be scheduled to zone3 to become
  26881. 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1)
  26882. on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming
  26883. pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  26884. it is used to give higher precedence to topologies that satisfy
  26885. it. It''s a required field. Default value is 1 and 0 is not
  26886. allowed.'
  26887. format: int32
  26888. type: integer
  26889. minDomains:
  26890. description: "MinDomains indicates a minimum number of eligible
  26891. domains. When the number of eligible domains with matching
  26892. topology keys is less than minDomains, Pod Topology Spread
  26893. treats \"global minimum\" as 0, and then the calculation of
  26894. Skew is performed. And when the number of eligible domains
  26895. with matching topology keys equals or greater than minDomains,
  26896. this value has no effect on scheduling. As a result, when
  26897. the number of eligible domains is less than minDomains, scheduler
  26898. won't schedule more than maxSkew Pods to those domains. If
  26899. value is nil, the constraint behaves as if MinDomains is equal
  26900. to 1. Valid values are integers greater than 0. When value
  26901. is not nil, WhenUnsatisfiable must be DoNotSchedule. \n For
  26902. example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains
  26903. is set to 5 and pods with the same labelSelector spread as
  26904. 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P |
  26905. The number of domains is less than 5(MinDomains), so \"global
  26906. minimum\" is treated as 0. In this situation, new pod with
  26907. the same labelSelector cannot be scheduled, because computed
  26908. skew will be 3(3 - 0) if new Pod is scheduled to any of the
  26909. three zones, it will violate MaxSkew. \n This is an alpha
  26910. field and requires enabling MinDomainsInPodTopologySpread
  26911. feature gate."
  26912. format: int32
  26913. type: integer
  26914. topologyKey:
  26915. description: TopologyKey is the key of node labels. Nodes that
  26916. have a label with this key and identical values are considered
  26917. to be in the same topology. We consider each <key, value>
  26918. as a "bucket", and try to put balanced number of pods into
  26919. each bucket. We define a domain as a particular instance of
  26920. a topology. Also, we define an eligible domain as a domain
  26921. whose nodes match the node selector. e.g. If TopologyKey is
  26922. "kubernetes.io/hostname", each Node is a domain of that topology.
  26923. And, if TopologyKey is "topology.kubernetes.io/zone", each
  26924. zone is a domain of that topology. It's a required field.
  26925. type: string
  26926. whenUnsatisfiable:
  26927. description: 'WhenUnsatisfiable indicates how to deal with a
  26928. pod if it doesn''t satisfy the spread constraint. - DoNotSchedule
  26929. (default) tells the scheduler not to schedule it. - ScheduleAnyway
  26930. tells the scheduler to schedule the pod in any location, but
  26931. giving higher precedence to topologies that would help reduce
  26932. the skew. A constraint is considered "Unsatisfiable" for an
  26933. incoming pod if and only if every possible node assignment
  26934. for that pod would violate "MaxSkew" on some topology. For
  26935. example, in a 3-zone cluster, MaxSkew is set to 1, and pods
  26936. with the same labelSelector spread as 3/1/1: | zone1 | zone2
  26937. | zone3 | | P P P | P | P | If WhenUnsatisfiable is
  26938. set to DoNotSchedule, incoming pod can only be scheduled to
  26939. zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on
  26940. zone2(zone3) satisfies MaxSkew(1). In other words, the cluster
  26941. can still be imbalanced, but scheduler won''t make it *more*
  26942. imbalanced. It''s a required field.'
  26943. type: string
  26944. required:
  26945. - maxSkew
  26946. - topologyKey
  26947. - whenUnsatisfiable
  26948. type: object
  26949. type: array
  26950. tracingConfig:
  26951. description: TracingConfig configures tracing in Thanos. This is an
  26952. experimental feature, it may change in any upcoming release in a
  26953. breaking way.
  26954. properties:
  26955. key:
  26956. description: The key of the secret to select from. Must be a
  26957. valid secret key.
  26958. type: string
  26959. name:
  26960. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  26961. TODO: Add other useful fields. apiVersion, kind, uid?'
  26962. type: string
  26963. optional:
  26964. description: Specify whether the Secret or its key must be defined
  26965. type: boolean
  26966. required:
  26967. - key
  26968. type: object
  26969. x-kubernetes-map-type: atomic
  26970. tracingConfigFile:
  26971. description: TracingConfig specifies the path of the tracing configuration
  26972. file. When used alongside with TracingConfig, TracingConfigFile
  26973. takes precedence.
  26974. type: string
  26975. volumes:
  26976. description: Volumes allows configuration of additional volumes on
  26977. the output StatefulSet definition. Volumes specified will be appended
  26978. to other volumes that are generated as a result of StorageSpec objects.
  26979. items:
  26980. description: Volume represents a named volume in a pod that may
  26981. be accessed by any container in the pod.
  26982. properties:
  26983. awsElasticBlockStore:
  26984. description: 'awsElasticBlockStore represents an AWS Disk resource
  26985. that is attached to a kubelet''s host machine and then exposed
  26986. to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  26987. properties:
  26988. fsType:
  26989. description: 'fsType is the filesystem type of the volume
  26990. that you want to mount. Tip: Ensure that the filesystem
  26991. type is supported by the host operating system. Examples:
  26992. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  26993. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  26994. TODO: how do we prevent errors in the filesystem from
  26995. compromising the machine'
  26996. type: string
  26997. partition:
  26998. description: 'partition is the partition in the volume that
  26999. you want to mount. If omitted, the default is to mount
  27000. by volume name. Examples: For volume /dev/sda1, you specify
  27001. the partition as "1". Similarly, the volume partition
  27002. for /dev/sda is "0" (or you can leave the property empty).'
  27003. format: int32
  27004. type: integer
  27005. readOnly:
  27006. description: 'readOnly value true will force the readOnly
  27007. setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  27008. type: boolean
  27009. volumeID:
  27010. description: 'volumeID is unique ID of the persistent disk
  27011. resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  27012. type: string
  27013. required:
  27014. - volumeID
  27015. type: object
  27016. azureDisk:
  27017. description: azureDisk represents an Azure Data Disk mount on
  27018. the host and bind mount to the pod.
  27019. properties:
  27020. cachingMode:
  27021. description: 'cachingMode is the Host Caching mode: None,
  27022. Read Only, Read Write.'
  27023. type: string
  27024. diskName:
  27025. description: diskName is the Name of the data disk in the
  27026. blob storage
  27027. type: string
  27028. diskURI:
  27029. description: diskURI is the URI of data disk in the blob
  27030. storage
  27031. type: string
  27032. fsType:
  27033. description: fsType is Filesystem type to mount. Must be
  27034. a filesystem type supported by the host operating system.
  27035. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  27036. if unspecified.
  27037. type: string
  27038. kind:
  27039. description: 'kind expected values are Shared: multiple
  27040. blob disks per storage account Dedicated: single blob
  27041. disk per storage account Managed: azure managed data
  27042. disk (only in managed availability set). defaults to shared'
  27043. type: string
  27044. readOnly:
  27045. description: readOnly Defaults to false (read/write). ReadOnly
  27046. here will force the ReadOnly setting in VolumeMounts.
  27047. type: boolean
  27048. required:
  27049. - diskName
  27050. - diskURI
  27051. type: object
  27052. azureFile:
  27053. description: azureFile represents an Azure File Service mount
  27054. on the host and bind mount to the pod.
  27055. properties:
  27056. readOnly:
  27057. description: readOnly defaults to false (read/write). ReadOnly
  27058. here will force the ReadOnly setting in VolumeMounts.
  27059. type: boolean
  27060. secretName:
  27061. description: secretName is the name of secret that contains
  27062. Azure Storage Account Name and Key
  27063. type: string
  27064. shareName:
  27065. description: shareName is the azure share Name
  27066. type: string
  27067. required:
  27068. - secretName
  27069. - shareName
  27070. type: object
  27071. cephfs:
  27072. description: cephFS represents a Ceph FS mount on the host that
  27073. shares a pod's lifetime
  27074. properties:
  27075. monitors:
  27076. description: 'monitors is Required: Monitors is a collection
  27077. of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  27078. items:
  27079. type: string
  27080. type: array
  27081. path:
  27082. description: 'path is Optional: Used as the mounted root,
  27083. rather than the full Ceph tree, default is /'
  27084. type: string
  27085. readOnly:
  27086. description: 'readOnly is Optional: Defaults to false (read/write).
  27087. ReadOnly here will force the ReadOnly setting in VolumeMounts.
  27088. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  27089. type: boolean
  27090. secretFile:
  27091. description: 'secretFile is Optional: SecretFile is the
  27092. path to key ring for User, default is /etc/ceph/user.secret
  27093. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  27094. type: string
  27095. secretRef:
  27096. description: 'secretRef is Optional: SecretRef is reference
  27097. to the authentication secret for User, default is empty.
  27098. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  27099. properties:
  27100. name:
  27101. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  27102. TODO: Add other useful fields. apiVersion, kind, uid?'
  27103. type: string
  27104. type: object
  27105. x-kubernetes-map-type: atomic
  27106. user:
  27107. description: 'user is optional: User is the rados user name,
  27108. default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  27109. type: string
  27110. required:
  27111. - monitors
  27112. type: object
  27113. cinder:
  27114. description: 'cinder represents a cinder volume attached and
  27115. mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  27116. properties:
  27117. fsType:
  27118. description: 'fsType is the filesystem type to mount. Must
  27119. be a filesystem type supported by the host operating system.
  27120. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to
  27121. be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  27122. type: string
  27123. readOnly:
  27124. description: 'readOnly defaults to false (read/write). ReadOnly
  27125. here will force the ReadOnly setting in VolumeMounts.
  27126. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  27127. type: boolean
  27128. secretRef:
  27129. description: 'secretRef is optional: points to a secret
  27130. object containing parameters used to connect to OpenStack.'
  27131. properties:
  27132. name:
  27133. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  27134. TODO: Add other useful fields. apiVersion, kind, uid?'
  27135. type: string
  27136. type: object
  27137. x-kubernetes-map-type: atomic
  27138. volumeID:
  27139. description: 'volumeID used to identify the volume in cinder.
  27140. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  27141. type: string
  27142. required:
  27143. - volumeID
  27144. type: object
  27145. configMap:
  27146. description: configMap represents a configMap that should populate
  27147. this volume
  27148. properties:
  27149. defaultMode:
  27150. description: 'defaultMode is optional: mode bits used to
  27151. set permissions on created files by default. Must be an
  27152. octal value between 0000 and 0777 or a decimal value between
  27153. 0 and 511. YAML accepts both octal and decimal values,
  27154. JSON requires decimal values for mode bits. Defaults to
  27155. 0644. Directories within the path are not affected by
  27156. this setting. This might be in conflict with other options
  27157. that affect the file mode, like fsGroup, and the result
  27158. can be other mode bits set.'
  27159. format: int32
  27160. type: integer
  27161. items:
  27162. description: items if unspecified, each key-value pair in
  27163. the Data field of the referenced ConfigMap will be projected
  27164. into the volume as a file whose name is the key and content
  27165. is the value. If specified, the listed keys will be projected
  27166. into the specified paths, and unlisted keys will not be
  27167. present. If a key is specified which is not present in
  27168. the ConfigMap, the volume setup will error unless it is
  27169. marked optional. Paths must be relative and may not contain
  27170. the '..' path or start with '..'.
  27171. items:
  27172. description: Maps a string key to a path within a volume.
  27173. properties:
  27174. key:
  27175. description: key is the key to project.
  27176. type: string
  27177. mode:
  27178. description: 'mode is Optional: mode bits used to
  27179. set permissions on this file. Must be an octal value
  27180. between 0000 and 0777 or a decimal value between
  27181. 0 and 511. YAML accepts both octal and decimal values,
  27182. JSON requires decimal values for mode bits. If not
  27183. specified, the volume defaultMode will be used.
  27184. This might be in conflict with other options that
  27185. affect the file mode, like fsGroup, and the result
  27186. can be other mode bits set.'
  27187. format: int32
  27188. type: integer
  27189. path:
  27190. description: path is the relative path of the file
  27191. to map the key to. May not be an absolute path.
  27192. May not contain the path element '..'. May not start
  27193. with the string '..'.
  27194. type: string
  27195. required:
  27196. - key
  27197. - path
  27198. type: object
  27199. type: array
  27200. name:
  27201. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  27202. TODO: Add other useful fields. apiVersion, kind, uid?'
  27203. type: string
  27204. optional:
  27205. description: optional specify whether the ConfigMap or its
  27206. keys must be defined
  27207. type: boolean
  27208. type: object
  27209. x-kubernetes-map-type: atomic
  27210. csi:
  27211. description: csi (Container Storage Interface) represents ephemeral
  27212. storage that is handled by certain external CSI drivers (Beta
  27213. feature).
  27214. properties:
  27215. driver:
  27216. description: driver is the name of the CSI driver that handles
  27217. this volume. Consult with your admin for the correct name
  27218. as registered in the cluster.
  27219. type: string
  27220. fsType:
  27221. description: fsType to mount. Ex. "ext4", "xfs", "ntfs".
  27222. If not provided, the empty value is passed to the associated
  27223. CSI driver which will determine the default filesystem
  27224. to apply.
  27225. type: string
  27226. nodePublishSecretRef:
  27227. description: nodePublishSecretRef is a reference to the
  27228. secret object containing sensitive information to pass
  27229. to the CSI driver to complete the CSI NodePublishVolume
  27230. and NodeUnpublishVolume calls. This field is optional,
  27231. and may be empty if no secret is required. If the secret
  27232. object contains more than one secret, all secret references
  27233. are passed.
  27234. properties:
  27235. name:
  27236. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  27237. TODO: Add other useful fields. apiVersion, kind, uid?'
  27238. type: string
  27239. type: object
  27240. x-kubernetes-map-type: atomic
  27241. readOnly:
  27242. description: readOnly specifies a read-only configuration
  27243. for the volume. Defaults to false (read/write).
  27244. type: boolean
  27245. volumeAttributes:
  27246. additionalProperties:
  27247. type: string
  27248. description: volumeAttributes stores driver-specific properties
  27249. that are passed to the CSI driver. Consult your driver's
  27250. documentation for supported values.
  27251. type: object
  27252. required:
  27253. - driver
  27254. type: object
  27255. downwardAPI:
  27256. description: downwardAPI represents downward API about the pod
  27257. that should populate this volume
  27258. properties:
  27259. defaultMode:
  27260. description: 'Optional: mode bits to use on created files
  27261. by default. Must be a Optional: mode bits used to set
  27262. permissions on created files by default. Must be an octal
  27263. value between 0000 and 0777 or a decimal value between
  27264. 0 and 511. YAML accepts both octal and decimal values,
  27265. JSON requires decimal values for mode bits. Defaults to
  27266. 0644. Directories within the path are not affected by
  27267. this setting. This might be in conflict with other options
  27268. that affect the file mode, like fsGroup, and the result
  27269. can be other mode bits set.'
  27270. format: int32
  27271. type: integer
  27272. items:
  27273. description: Items is a list of downward API volume file
  27274. items:
  27275. description: DownwardAPIVolumeFile represents information
  27276. to create the file containing the pod field
  27277. properties:
  27278. fieldRef:
  27279. description: 'Required: Selects a field of the pod:
  27280. only annotations, labels, name and namespace are
  27281. supported.'
  27282. properties:
  27283. apiVersion:
  27284. description: Version of the schema the FieldPath
  27285. is written in terms of, defaults to "v1".
  27286. type: string
  27287. fieldPath:
  27288. description: Path of the field to select in the
  27289. specified API version.
  27290. type: string
  27291. required:
  27292. - fieldPath
  27293. type: object
  27294. x-kubernetes-map-type: atomic
  27295. mode:
  27296. description: 'Optional: mode bits used to set permissions
  27297. on this file, must be an octal value between 0000
  27298. and 0777 or a decimal value between 0 and 511. YAML
  27299. accepts both octal and decimal values, JSON requires
  27300. decimal values for mode bits. If not specified,
  27301. the volume defaultMode will be used. This might
  27302. be in conflict with other options that affect the
  27303. file mode, like fsGroup, and the result can be other
  27304. mode bits set.'
  27305. format: int32
  27306. type: integer
  27307. path:
  27308. description: 'Required: Path is the relative path
  27309. name of the file to be created. Must not be absolute
  27310. or contain the ''..'' path. Must be utf-8 encoded.
  27311. The first item of the relative path must not start
  27312. with ''..'''
  27313. type: string
  27314. resourceFieldRef:
  27315. description: 'Selects a resource of the container:
  27316. only resources limits and requests (limits.cpu,
  27317. limits.memory, requests.cpu and requests.memory)
  27318. are currently supported.'
  27319. properties:
  27320. containerName:
  27321. description: 'Container name: required for volumes,
  27322. optional for env vars'
  27323. type: string
  27324. divisor:
  27325. anyOf:
  27326. - type: integer
  27327. - type: string
  27328. description: Specifies the output format of the
  27329. exposed resources, defaults to "1"
  27330. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  27331. x-kubernetes-int-or-string: true
  27332. resource:
  27333. description: 'Required: resource to select'
  27334. type: string
  27335. required:
  27336. - resource
  27337. type: object
  27338. x-kubernetes-map-type: atomic
  27339. required:
  27340. - path
  27341. type: object
  27342. type: array
  27343. type: object
  27344. emptyDir:
  27345. description: 'emptyDir represents a temporary directory that
  27346. shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  27347. properties:
  27348. medium:
  27349. description: 'medium represents what type of storage medium
  27350. should back this directory. The default is "" which means
  27351. to use the node''s default medium. Must be an empty string
  27352. (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  27353. type: string
  27354. sizeLimit:
  27355. anyOf:
  27356. - type: integer
  27357. - type: string
  27358. description: 'sizeLimit is the total amount of local storage
  27359. required for this EmptyDir volume. The size limit is also
  27360. applicable for memory medium. The maximum usage on memory
  27361. medium EmptyDir would be the minimum value between the
  27362. SizeLimit specified here and the sum of memory limits
  27363. of all containers in a pod. The default is nil which means
  27364. that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  27365. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  27366. x-kubernetes-int-or-string: true
  27367. type: object
  27368. ephemeral:
  27369. description: "ephemeral represents a volume that is handled
  27370. by a cluster storage driver. The volume's lifecycle is tied
  27371. to the pod that defines it - it will be created before the
  27372. pod starts, and deleted when the pod is removed. \n Use this
  27373. if: a) the volume is only needed while the pod runs, b) features
  27374. of normal volumes like restoring from snapshot or capacity
  27375. tracking are needed, c) the storage driver is specified through
  27376. a storage class, and d) the storage driver supports dynamic
  27377. volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource
  27378. for more information on the connection between this volume
  27379. type and PersistentVolumeClaim). \n Use PersistentVolumeClaim
  27380. or one of the vendor-specific APIs for volumes that persist
  27381. for longer than the lifecycle of an individual pod. \n Use
  27382. CSI for light-weight local ephemeral volumes if the CSI driver
  27383. is meant to be used that way - see the documentation of the
  27384. driver for more information. \n A pod can use both types of
  27385. ephemeral volumes and persistent volumes at the same time."
  27386. properties:
  27387. volumeClaimTemplate:
  27388. description: "Will be used to create a stand-alone PVC to
  27389. provision the volume. The pod in which this EphemeralVolumeSource
  27390. is embedded will be the owner of the PVC, i.e. the PVC
  27391. will be deleted together with the pod. The name of the
  27392. PVC will be `<pod name>-<volume name>` where `<volume
  27393. name>` is the name from the `PodSpec.Volumes` array entry.
  27394. Pod validation will reject the pod if the concatenated
  27395. name is not valid for a PVC (for example, too long). \n
  27396. An existing PVC with that name that is not owned by the
  27397. pod will *not* be used for the pod to avoid using an unrelated
  27398. volume by mistake. Starting the pod is then blocked until
  27399. the unrelated PVC is removed. If such a pre-created PVC
  27400. is meant to be used by the pod, the PVC has to updated
  27401. with an owner reference to the pod once the pod exists.
  27402. Normally this should not be necessary, but it may be useful
  27403. when manually reconstructing a broken cluster. \n This
  27404. field is read-only and no changes will be made by Kubernetes
  27405. to the PVC after it has been created. \n Required, must
  27406. not be nil."
  27407. properties:
  27408. metadata:
  27409. description: May contain labels and annotations that
  27410. will be copied into the PVC when creating it. No other
  27411. fields are allowed and will be rejected during validation.
  27412. type: object
  27413. spec:
  27414. description: The specification for the PersistentVolumeClaim.
  27415. The entire content is copied unchanged into the PVC
  27416. that gets created from this template. The same fields
  27417. as in a PersistentVolumeClaim are also valid here.
  27418. properties:
  27419. accessModes:
  27420. description: 'accessModes contains the desired access
  27421. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  27422. items:
  27423. type: string
  27424. type: array
  27425. dataSource:
  27426. description: 'dataSource field can be used to specify
  27427. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  27428. * An existing PVC (PersistentVolumeClaim) If the
  27429. provisioner or an external controller can support
  27430. the specified data source, it will create a new
  27431. volume based on the contents of the specified
  27432. data source. If the AnyVolumeDataSource feature
  27433. gate is enabled, this field will always have the
  27434. same contents as the DataSourceRef field.'
  27435. properties:
  27436. apiGroup:
  27437. description: APIGroup is the group for the resource
  27438. being referenced. If APIGroup is not specified,
  27439. the specified Kind must be in the core API
  27440. group. For any other third-party types, APIGroup
  27441. is required.
  27442. type: string
  27443. kind:
  27444. description: Kind is the type of resource being
  27445. referenced
  27446. type: string
  27447. name:
  27448. description: Name is the name of resource being
  27449. referenced
  27450. type: string
  27451. required:
  27452. - kind
  27453. - name
  27454. type: object
  27455. x-kubernetes-map-type: atomic
  27456. dataSourceRef:
  27457. description: 'dataSourceRef specifies the object
  27458. from which to populate the volume with data, if
  27459. a non-empty volume is desired. This may be any
  27460. local object from a non-empty API group (non core
  27461. object) or a PersistentVolumeClaim object. When
  27462. this field is specified, volume binding will only
  27463. succeed if the type of the specified object matches
  27464. some installed volume populator or dynamic provisioner.
  27465. This field will replace the functionality of the
  27466. DataSource field and as such if both fields are
  27467. non-empty, they must have the same value. For
  27468. backwards compatibility, both fields (DataSource
  27469. and DataSourceRef) will be set to the same value
  27470. automatically if one of them is empty and the
  27471. other is non-empty. There are two important differences
  27472. between DataSource and DataSourceRef: * While
  27473. DataSource only allows two specific types of objects,
  27474. DataSourceRef allows any non-core object, as well
  27475. as PersistentVolumeClaim objects. * While DataSource
  27476. ignores disallowed values (dropping them), DataSourceRef
  27477. preserves all values, and generates an error if
  27478. a disallowed value is specified. (Beta) Using
  27479. this field requires the AnyVolumeDataSource feature
  27480. gate to be enabled.'
  27481. properties:
  27482. apiGroup:
  27483. description: APIGroup is the group for the resource
  27484. being referenced. If APIGroup is not specified,
  27485. the specified Kind must be in the core API
  27486. group. For any other third-party types, APIGroup
  27487. is required.
  27488. type: string
  27489. kind:
  27490. description: Kind is the type of resource being
  27491. referenced
  27492. type: string
  27493. name:
  27494. description: Name is the name of resource being
  27495. referenced
  27496. type: string
  27497. required:
  27498. - kind
  27499. - name
  27500. type: object
  27501. x-kubernetes-map-type: atomic
  27502. resources:
  27503. description: 'resources represents the minimum resources
  27504. the volume should have. If RecoverVolumeExpansionFailure
  27505. feature is enabled users are allowed to specify
  27506. resource requirements that are lower than previous
  27507. value but must still be higher than capacity recorded
  27508. in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  27509. properties:
  27510. limits:
  27511. additionalProperties:
  27512. anyOf:
  27513. - type: integer
  27514. - type: string
  27515. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  27516. x-kubernetes-int-or-string: true
  27517. description: 'Limits describes the maximum amount
  27518. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  27519. type: object
  27520. requests:
  27521. additionalProperties:
  27522. anyOf:
  27523. - type: integer
  27524. - type: string
  27525. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  27526. x-kubernetes-int-or-string: true
  27527. description: 'Requests describes the minimum
  27528. amount of compute resources required. If Requests
  27529. is omitted for a container, it defaults to
  27530. Limits if that is explicitly specified, otherwise
  27531. to an implementation-defined value. More info:
  27532. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  27533. type: object
  27534. type: object
  27535. selector:
  27536. description: selector is a label query over volumes
  27537. to consider for binding.
  27538. properties:
  27539. matchExpressions:
  27540. description: matchExpressions is a list of label
  27541. selector requirements. The requirements are
  27542. ANDed.
  27543. items:
  27544. description: A label selector requirement
  27545. is a selector that contains values, a key,
  27546. and an operator that relates the key and
  27547. values.
  27548. properties:
  27549. key:
  27550. description: key is the label key that
  27551. the selector applies to.
  27552. type: string
  27553. operator:
  27554. description: operator represents a key's
  27555. relationship to a set of values. Valid
  27556. operators are In, NotIn, Exists and
  27557. DoesNotExist.
  27558. type: string
  27559. values:
  27560. description: values is an array of string
  27561. values. If the operator is In or NotIn,
  27562. the values array must be non-empty.
  27563. If the operator is Exists or DoesNotExist,
  27564. the values array must be empty. This
  27565. array is replaced during a strategic
  27566. merge patch.
  27567. items:
  27568. type: string
  27569. type: array
  27570. required:
  27571. - key
  27572. - operator
  27573. type: object
  27574. type: array
  27575. matchLabels:
  27576. additionalProperties:
  27577. type: string
  27578. description: matchLabels is a map of {key,value}
  27579. pairs. A single {key,value} in the matchLabels
  27580. map is equivalent to an element of matchExpressions,
  27581. whose key field is "key", the operator is
  27582. "In", and the values array contains only "value".
  27583. The requirements are ANDed.
  27584. type: object
  27585. type: object
  27586. x-kubernetes-map-type: atomic
  27587. storageClassName:
  27588. description: 'storageClassName is the name of the
  27589. StorageClass required by the claim. More info:
  27590. https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  27591. type: string
  27592. volumeMode:
  27593. description: volumeMode defines what type of volume
  27594. is required by the claim. Value of Filesystem
  27595. is implied when not included in claim spec.
  27596. type: string
  27597. volumeName:
  27598. description: volumeName is the binding reference
  27599. to the PersistentVolume backing this claim.
  27600. type: string
  27601. type: object
  27602. required:
  27603. - spec
  27604. type: object
  27605. type: object
  27606. fc:
  27607. description: fc represents a Fibre Channel resource that is
  27608. attached to a kubelet's host machine and then exposed to the
  27609. pod.
  27610. properties:
  27611. fsType:
  27612. description: 'fsType is the filesystem type to mount. Must
  27613. be a filesystem type supported by the host operating system.
  27614. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  27615. if unspecified. TODO: how do we prevent errors in the
  27616. filesystem from compromising the machine'
  27617. type: string
  27618. lun:
  27619. description: 'lun is Optional: FC target lun number'
  27620. format: int32
  27621. type: integer
  27622. readOnly:
  27623. description: 'readOnly is Optional: Defaults to false (read/write).
  27624. ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  27625. type: boolean
  27626. targetWWNs:
  27627. description: 'targetWWNs is Optional: FC target worldwide
  27628. names (WWNs)'
  27629. items:
  27630. type: string
  27631. type: array
  27632. wwids:
  27633. description: 'wwids Optional: FC volume world wide identifiers
  27634. (wwids) Either wwids or combination of targetWWNs and
  27635. lun must be set, but not both simultaneously.'
  27636. items:
  27637. type: string
  27638. type: array
  27639. type: object
  27640. flexVolume:
  27641. description: flexVolume represents a generic volume resource
  27642. that is provisioned/attached using an exec based plugin.
  27643. properties:
  27644. driver:
  27645. description: driver is the name of the driver to use for
  27646. this volume.
  27647. type: string
  27648. fsType:
  27649. description: fsType is the filesystem type to mount. Must
  27650. be a filesystem type supported by the host operating system.
  27651. Ex. "ext4", "xfs", "ntfs". The default filesystem depends
  27652. on FlexVolume script.
  27653. type: string
  27654. options:
  27655. additionalProperties:
  27656. type: string
  27657. description: 'options is Optional: this field holds extra
  27658. command options if any.'
  27659. type: object
  27660. readOnly:
  27661. description: 'readOnly is Optional: defaults to false (read/write).
  27662. ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  27663. type: boolean
  27664. secretRef:
  27665. description: 'secretRef is Optional: secretRef is reference
  27666. to the secret object containing sensitive information
  27667. to pass to the plugin scripts. This may be empty if no
  27668. secret object is specified. If the secret object contains
  27669. more than one secret, all secrets are passed to the plugin
  27670. scripts.'
  27671. properties:
  27672. name:
  27673. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  27674. TODO: Add other useful fields. apiVersion, kind, uid?'
  27675. type: string
  27676. type: object
  27677. x-kubernetes-map-type: atomic
  27678. required:
  27679. - driver
  27680. type: object
  27681. flocker:
  27682. description: flocker represents a Flocker volume attached to
  27683. a kubelet's host machine. This depends on the Flocker control
  27684. service being running
  27685. properties:
  27686. datasetName:
  27687. description: datasetName is Name of the dataset stored as
  27688. metadata -> name on the dataset for Flocker should be
  27689. considered as deprecated
  27690. type: string
  27691. datasetUUID:
  27692. description: datasetUUID is the UUID of the dataset. This
  27693. is unique identifier of a Flocker dataset
  27694. type: string
  27695. type: object
  27696. gcePersistentDisk:
  27697. description: 'gcePersistentDisk represents a GCE Disk resource
  27698. that is attached to a kubelet''s host machine and then exposed
  27699. to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  27700. properties:
  27701. fsType:
  27702. description: 'fsType is filesystem type of the volume that
  27703. you want to mount. Tip: Ensure that the filesystem type
  27704. is supported by the host operating system. Examples: "ext4",
  27705. "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  27706. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  27707. TODO: how do we prevent errors in the filesystem from
  27708. compromising the machine'
  27709. type: string
  27710. partition:
  27711. description: 'partition is the partition in the volume that
  27712. you want to mount. If omitted, the default is to mount
  27713. by volume name. Examples: For volume /dev/sda1, you specify
  27714. the partition as "1". Similarly, the volume partition
  27715. for /dev/sda is "0" (or you can leave the property empty).
  27716. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  27717. format: int32
  27718. type: integer
  27719. pdName:
  27720. description: 'pdName is unique name of the PD resource in
  27721. GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  27722. type: string
  27723. readOnly:
  27724. description: 'readOnly here will force the ReadOnly setting
  27725. in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  27726. type: boolean
  27727. required:
  27728. - pdName
  27729. type: object
  27730. gitRepo:
  27731. description: 'gitRepo represents a git repository at a particular
  27732. revision. DEPRECATED: GitRepo is deprecated. To provision
  27733. a container with a git repo, mount an EmptyDir into an InitContainer
  27734. that clones the repo using git, then mount the EmptyDir into
  27735. the Pod''s container.'
  27736. properties:
  27737. directory:
  27738. description: directory is the target directory name. Must
  27739. not contain or start with '..'. If '.' is supplied, the
  27740. volume directory will be the git repository. Otherwise,
  27741. if specified, the volume will contain the git repository
  27742. in the subdirectory with the given name.
  27743. type: string
  27744. repository:
  27745. description: repository is the URL
  27746. type: string
  27747. revision:
  27748. description: revision is the commit hash for the specified
  27749. revision.
  27750. type: string
  27751. required:
  27752. - repository
  27753. type: object
  27754. glusterfs:
  27755. description: 'glusterfs represents a Glusterfs mount on the
  27756. host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  27757. properties:
  27758. endpoints:
  27759. description: 'endpoints is the endpoint name that details
  27760. Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  27761. type: string
  27762. path:
  27763. description: 'path is the Glusterfs volume path. More info:
  27764. https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  27765. type: string
  27766. readOnly:
  27767. description: 'readOnly here will force the Glusterfs volume
  27768. to be mounted with read-only permissions. Defaults to
  27769. false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  27770. type: boolean
  27771. required:
  27772. - endpoints
  27773. - path
  27774. type: object
  27775. hostPath:
  27776. description: 'hostPath represents a pre-existing file or directory
  27777. on the host machine that is directly exposed to the container.
  27778. This is generally used for system agents or other privileged
  27779. things that are allowed to see the host machine. Most containers
  27780. will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  27781. --- TODO(jonesdl) We need to restrict who can use host directory
  27782. mounts and who can/can not mount host directories as read/write.'
  27783. properties:
  27784. path:
  27785. description: 'path of the directory on the host. If the
  27786. path is a symlink, it will follow the link to the real
  27787. path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  27788. type: string
  27789. type:
  27790. description: 'type for HostPath Volume Defaults to "" More
  27791. info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  27792. type: string
  27793. required:
  27794. - path
  27795. type: object
  27796. iscsi:
  27797. description: 'iscsi represents an ISCSI Disk resource that is
  27798. attached to a kubelet''s host machine and then exposed to
  27799. the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  27800. properties:
  27801. chapAuthDiscovery:
  27802. description: chapAuthDiscovery defines whether support iSCSI
  27803. Discovery CHAP authentication
  27804. type: boolean
  27805. chapAuthSession:
  27806. description: chapAuthSession defines whether support iSCSI
  27807. Session CHAP authentication
  27808. type: boolean
  27809. fsType:
  27810. description: 'fsType is the filesystem type of the volume
  27811. that you want to mount. Tip: Ensure that the filesystem
  27812. type is supported by the host operating system. Examples:
  27813. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  27814. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  27815. TODO: how do we prevent errors in the filesystem from
  27816. compromising the machine'
  27817. type: string
  27818. initiatorName:
  27819. description: initiatorName is the custom iSCSI Initiator
  27820. Name. If initiatorName is specified with iscsiInterface
  27821. simultaneously, new iSCSI interface <target portal>:<volume
  27822. name> will be created for the connection.
  27823. type: string
  27824. iqn:
  27825. description: iqn is the target iSCSI Qualified Name.
  27826. type: string
  27827. iscsiInterface:
  27828. description: iscsiInterface is the interface Name that uses
  27829. an iSCSI transport. Defaults to 'default' (tcp).
  27830. type: string
  27831. lun:
  27832. description: lun represents iSCSI Target Lun number.
  27833. format: int32
  27834. type: integer
  27835. portals:
  27836. description: portals is the iSCSI Target Portal List. The
  27837. portal is either an IP or ip_addr:port if the port is
  27838. other than default (typically TCP ports 860 and 3260).
  27839. items:
  27840. type: string
  27841. type: array
  27842. readOnly:
  27843. description: readOnly here will force the ReadOnly setting
  27844. in VolumeMounts. Defaults to false.
  27845. type: boolean
  27846. secretRef:
  27847. description: secretRef is the CHAP Secret for iSCSI target
  27848. and initiator authentication
  27849. properties:
  27850. name:
  27851. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  27852. TODO: Add other useful fields. apiVersion, kind, uid?'
  27853. type: string
  27854. type: object
  27855. x-kubernetes-map-type: atomic
  27856. targetPortal:
  27857. description: targetPortal is iSCSI Target Portal. The Portal
  27858. is either an IP or ip_addr:port if the port is other than
  27859. default (typically TCP ports 860 and 3260).
  27860. type: string
  27861. required:
  27862. - iqn
  27863. - lun
  27864. - targetPortal
  27865. type: object
  27866. name:
  27867. description: 'name of the volume. Must be a DNS_LABEL and unique
  27868. within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  27869. type: string
  27870. nfs:
  27871. description: 'nfs represents an NFS mount on the host that shares
  27872. a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  27873. properties:
  27874. path:
  27875. description: 'path that is exported by the NFS server. More
  27876. info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  27877. type: string
  27878. readOnly:
  27879. description: 'readOnly here will force the NFS export to
  27880. be mounted with read-only permissions. Defaults to false.
  27881. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  27882. type: boolean
  27883. server:
  27884. description: 'server is the hostname or IP address of the
  27885. NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  27886. type: string
  27887. required:
  27888. - path
  27889. - server
  27890. type: object
  27891. persistentVolumeClaim:
  27892. description: 'persistentVolumeClaimVolumeSource represents a
  27893. reference to a PersistentVolumeClaim in the same namespace.
  27894. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  27895. properties:
  27896. claimName:
  27897. description: 'claimName is the name of a PersistentVolumeClaim
  27898. in the same namespace as the pod using this volume. More
  27899. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  27900. type: string
  27901. readOnly:
  27902. description: readOnly Will force the ReadOnly setting in
  27903. VolumeMounts. Default false.
  27904. type: boolean
  27905. required:
  27906. - claimName
  27907. type: object
  27908. photonPersistentDisk:
  27909. description: photonPersistentDisk represents a PhotonController
  27910. persistent disk attached and mounted on kubelets host machine
  27911. properties:
  27912. fsType:
  27913. description: fsType is the filesystem type to mount. Must
  27914. be a filesystem type supported by the host operating system.
  27915. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  27916. if unspecified.
  27917. type: string
  27918. pdID:
  27919. description: pdID is the ID that identifies Photon Controller
  27920. persistent disk
  27921. type: string
  27922. required:
  27923. - pdID
  27924. type: object
  27925. portworxVolume:
  27926. description: portworxVolume represents a portworx volume attached
  27927. and mounted on kubelets host machine
  27928. properties:
  27929. fsType:
  27930. description: fSType represents the filesystem type to mount
  27931. Must be a filesystem type supported by the host operating
  27932. system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4"
  27933. if unspecified.
  27934. type: string
  27935. readOnly:
  27936. description: readOnly defaults to false (read/write). ReadOnly
  27937. here will force the ReadOnly setting in VolumeMounts.
  27938. type: boolean
  27939. volumeID:
  27940. description: volumeID uniquely identifies a Portworx volume
  27941. type: string
  27942. required:
  27943. - volumeID
  27944. type: object
  27945. projected:
  27946. description: projected items for all in one resources secrets,
  27947. configmaps, and downward API
  27948. properties:
  27949. defaultMode:
  27950. description: defaultMode are the mode bits used to set permissions
  27951. on created files by default. Must be an octal value between
  27952. 0000 and 0777 or a decimal value between 0 and 511. YAML
  27953. accepts both octal and decimal values, JSON requires decimal
  27954. values for mode bits. Directories within the path are
  27955. not affected by this setting. This might be in conflict
  27956. with other options that affect the file mode, like fsGroup,
  27957. and the result can be other mode bits set.
  27958. format: int32
  27959. type: integer
  27960. sources:
  27961. description: sources is the list of volume projections
  27962. items:
  27963. description: Projection that may be projected along with
  27964. other supported volume types
  27965. properties:
  27966. configMap:
  27967. description: configMap information about the configMap
  27968. data to project
  27969. properties:
  27970. items:
  27971. description: items if unspecified, each key-value
  27972. pair in the Data field of the referenced ConfigMap
  27973. will be projected into the volume as a file
  27974. whose name is the key and content is the value.
  27975. If specified, the listed keys will be projected
  27976. into the specified paths, and unlisted keys
  27977. will not be present. If a key is specified which
  27978. is not present in the ConfigMap, the volume
  27979. setup will error unless it is marked optional.
  27980. Paths must be relative and may not contain the
  27981. '..' path or start with '..'.
  27982. items:
  27983. description: Maps a string key to a path within
  27984. a volume.
  27985. properties:
  27986. key:
  27987. description: key is the key to project.
  27988. type: string
  27989. mode:
  27990. description: 'mode is Optional: mode bits
  27991. used to set permissions on this file.
  27992. Must be an octal value between 0000 and
  27993. 0777 or a decimal value between 0 and
  27994. 511. YAML accepts both octal and decimal
  27995. values, JSON requires decimal values for
  27996. mode bits. If not specified, the volume
  27997. defaultMode will be used. This might be
  27998. in conflict with other options that affect
  27999. the file mode, like fsGroup, and the result
  28000. can be other mode bits set.'
  28001. format: int32
  28002. type: integer
  28003. path:
  28004. description: path is the relative path of
  28005. the file to map the key to. May not be
  28006. an absolute path. May not contain the
  28007. path element '..'. May not start with
  28008. the string '..'.
  28009. type: string
  28010. required:
  28011. - key
  28012. - path
  28013. type: object
  28014. type: array
  28015. name:
  28016. description: 'Name of the referent. More info:
  28017. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  28018. TODO: Add other useful fields. apiVersion, kind,
  28019. uid?'
  28020. type: string
  28021. optional:
  28022. description: optional specify whether the ConfigMap
  28023. or its keys must be defined
  28024. type: boolean
  28025. type: object
  28026. x-kubernetes-map-type: atomic
  28027. downwardAPI:
  28028. description: downwardAPI information about the downwardAPI
  28029. data to project
  28030. properties:
  28031. items:
  28032. description: Items is a list of DownwardAPIVolume
  28033. file
  28034. items:
  28035. description: DownwardAPIVolumeFile represents
  28036. information to create the file containing
  28037. the pod field
  28038. properties:
  28039. fieldRef:
  28040. description: 'Required: Selects a field
  28041. of the pod: only annotations, labels,
  28042. name and namespace are supported.'
  28043. properties:
  28044. apiVersion:
  28045. description: Version of the schema the
  28046. FieldPath is written in terms of,
  28047. defaults to "v1".
  28048. type: string
  28049. fieldPath:
  28050. description: Path of the field to select
  28051. in the specified API version.
  28052. type: string
  28053. required:
  28054. - fieldPath
  28055. type: object
  28056. x-kubernetes-map-type: atomic
  28057. mode:
  28058. description: 'Optional: mode bits used to
  28059. set permissions on this file, must be
  28060. an octal value between 0000 and 0777 or
  28061. a decimal value between 0 and 511. YAML
  28062. accepts both octal and decimal values,
  28063. JSON requires decimal values for mode
  28064. bits. If not specified, the volume defaultMode
  28065. will be used. This might be in conflict
  28066. with other options that affect the file
  28067. mode, like fsGroup, and the result can
  28068. be other mode bits set.'
  28069. format: int32
  28070. type: integer
  28071. path:
  28072. description: 'Required: Path is the relative
  28073. path name of the file to be created. Must
  28074. not be absolute or contain the ''..''
  28075. path. Must be utf-8 encoded. The first
  28076. item of the relative path must not start
  28077. with ''..'''
  28078. type: string
  28079. resourceFieldRef:
  28080. description: 'Selects a resource of the
  28081. container: only resources limits and requests
  28082. (limits.cpu, limits.memory, requests.cpu
  28083. and requests.memory) are currently supported.'
  28084. properties:
  28085. containerName:
  28086. description: 'Container name: required
  28087. for volumes, optional for env vars'
  28088. type: string
  28089. divisor:
  28090. anyOf:
  28091. - type: integer
  28092. - type: string
  28093. description: Specifies the output format
  28094. of the exposed resources, defaults
  28095. to "1"
  28096. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  28097. x-kubernetes-int-or-string: true
  28098. resource:
  28099. description: 'Required: resource to
  28100. select'
  28101. type: string
  28102. required:
  28103. - resource
  28104. type: object
  28105. x-kubernetes-map-type: atomic
  28106. required:
  28107. - path
  28108. type: object
  28109. type: array
  28110. type: object
  28111. secret:
  28112. description: secret information about the secret data
  28113. to project
  28114. properties:
  28115. items:
  28116. description: items if unspecified, each key-value
  28117. pair in the Data field of the referenced Secret
  28118. will be projected into the volume as a file
  28119. whose name is the key and content is the value.
  28120. If specified, the listed keys will be projected
  28121. into the specified paths, and unlisted keys
  28122. will not be present. If a key is specified which
  28123. is not present in the Secret, the volume setup
  28124. will error unless it is marked optional. Paths
  28125. must be relative and may not contain the '..'
  28126. path or start with '..'.
  28127. items:
  28128. description: Maps a string key to a path within
  28129. a volume.
  28130. properties:
  28131. key:
  28132. description: key is the key to project.
  28133. type: string
  28134. mode:
  28135. description: 'mode is Optional: mode bits
  28136. used to set permissions on this file.
  28137. Must be an octal value between 0000 and
  28138. 0777 or a decimal value between 0 and
  28139. 511. YAML accepts both octal and decimal
  28140. values, JSON requires decimal values for
  28141. mode bits. If not specified, the volume
  28142. defaultMode will be used. This might be
  28143. in conflict with other options that affect
  28144. the file mode, like fsGroup, and the result
  28145. can be other mode bits set.'
  28146. format: int32
  28147. type: integer
  28148. path:
  28149. description: path is the relative path of
  28150. the file to map the key to. May not be
  28151. an absolute path. May not contain the
  28152. path element '..'. May not start with
  28153. the string '..'.
  28154. type: string
  28155. required:
  28156. - key
  28157. - path
  28158. type: object
  28159. type: array
  28160. name:
  28161. description: 'Name of the referent. More info:
  28162. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  28163. TODO: Add other useful fields. apiVersion, kind,
  28164. uid?'
  28165. type: string
  28166. optional:
  28167. description: optional field specify whether the
  28168. Secret or its key must be defined
  28169. type: boolean
  28170. type: object
  28171. x-kubernetes-map-type: atomic
  28172. serviceAccountToken:
  28173. description: serviceAccountToken is information about
  28174. the serviceAccountToken data to project
  28175. properties:
  28176. audience:
  28177. description: audience is the intended audience
  28178. of the token. A recipient of a token must identify
  28179. itself with an identifier specified in the audience
  28180. of the token, and otherwise should reject the
  28181. token. The audience defaults to the identifier
  28182. of the apiserver.
  28183. type: string
  28184. expirationSeconds:
  28185. description: expirationSeconds is the requested
  28186. duration of validity of the service account
  28187. token. As the token approaches expiration, the
  28188. kubelet volume plugin will proactively rotate
  28189. the service account token. The kubelet will
  28190. start trying to rotate the token if the token
  28191. is older than 80 percent of its time to live
  28192. or if the token is older than 24 hours.Defaults
  28193. to 1 hour and must be at least 10 minutes.
  28194. format: int64
  28195. type: integer
  28196. path:
  28197. description: path is the path relative to the
  28198. mount point of the file to project the token
  28199. into.
  28200. type: string
  28201. required:
  28202. - path
  28203. type: object
  28204. type: object
  28205. type: array
  28206. type: object
  28207. quobyte:
  28208. description: quobyte represents a Quobyte mount on the host
  28209. that shares a pod's lifetime
  28210. properties:
  28211. group:
  28212. description: group to map volume access to Default is no
  28213. group
  28214. type: string
  28215. readOnly:
  28216. description: readOnly here will force the Quobyte volume
  28217. to be mounted with read-only permissions. Defaults to
  28218. false.
  28219. type: boolean
  28220. registry:
  28221. description: registry represents a single or multiple Quobyte
  28222. Registry services specified as a string as host:port pair
  28223. (multiple entries are separated with commas) which acts
  28224. as the central registry for volumes
  28225. type: string
  28226. tenant:
  28227. description: tenant owning the given Quobyte volume in the
  28228. Backend Used with dynamically provisioned Quobyte volumes,
  28229. value is set by the plugin
  28230. type: string
  28231. user:
  28232. description: user to map volume access to Defaults to serivceaccount
  28233. user
  28234. type: string
  28235. volume:
  28236. description: volume is a string that references an already
  28237. created Quobyte volume by name.
  28238. type: string
  28239. required:
  28240. - registry
  28241. - volume
  28242. type: object
  28243. rbd:
  28244. description: 'rbd represents a Rados Block Device mount on the
  28245. host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md'
  28246. properties:
  28247. fsType:
  28248. description: 'fsType is the filesystem type of the volume
  28249. that you want to mount. Tip: Ensure that the filesystem
  28250. type is supported by the host operating system. Examples:
  28251. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  28252. if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  28253. TODO: how do we prevent errors in the filesystem from
  28254. compromising the machine'
  28255. type: string
  28256. image:
  28257. description: 'image is the rados image name. More info:
  28258. https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  28259. type: string
  28260. keyring:
  28261. description: 'keyring is the path to key ring for RBDUser.
  28262. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  28263. type: string
  28264. monitors:
  28265. description: 'monitors is a collection of Ceph monitors.
  28266. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  28267. items:
  28268. type: string
  28269. type: array
  28270. pool:
  28271. description: 'pool is the rados pool name. Default is rbd.
  28272. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  28273. type: string
  28274. readOnly:
  28275. description: 'readOnly here will force the ReadOnly setting
  28276. in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  28277. type: boolean
  28278. secretRef:
  28279. description: 'secretRef is name of the authentication secret
  28280. for RBDUser. If provided overrides keyring. Default is
  28281. nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  28282. properties:
  28283. name:
  28284. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  28285. TODO: Add other useful fields. apiVersion, kind, uid?'
  28286. type: string
  28287. type: object
  28288. x-kubernetes-map-type: atomic
  28289. user:
  28290. description: 'user is the rados user name. Default is admin.
  28291. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  28292. type: string
  28293. required:
  28294. - image
  28295. - monitors
  28296. type: object
  28297. scaleIO:
  28298. description: scaleIO represents a ScaleIO persistent volume
  28299. attached and mounted on Kubernetes nodes.
  28300. properties:
  28301. fsType:
  28302. description: fsType is the filesystem type to mount. Must
  28303. be a filesystem type supported by the host operating system.
  28304. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  28305. type: string
  28306. gateway:
  28307. description: gateway is the host address of the ScaleIO
  28308. API Gateway.
  28309. type: string
  28310. protectionDomain:
  28311. description: protectionDomain is the name of the ScaleIO
  28312. Protection Domain for the configured storage.
  28313. type: string
  28314. readOnly:
  28315. description: readOnly Defaults to false (read/write). ReadOnly
  28316. here will force the ReadOnly setting in VolumeMounts.
  28317. type: boolean
  28318. secretRef:
  28319. description: secretRef references to the secret for ScaleIO
  28320. user and other sensitive information. If this is not provided,
  28321. Login operation will fail.
  28322. properties:
  28323. name:
  28324. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  28325. TODO: Add other useful fields. apiVersion, kind, uid?'
  28326. type: string
  28327. type: object
  28328. x-kubernetes-map-type: atomic
  28329. sslEnabled:
  28330. description: sslEnabled Flag enable/disable SSL communication
  28331. with Gateway, default false
  28332. type: boolean
  28333. storageMode:
  28334. description: storageMode indicates whether the storage for
  28335. a volume should be ThickProvisioned or ThinProvisioned.
  28336. Default is ThinProvisioned.
  28337. type: string
  28338. storagePool:
  28339. description: storagePool is the ScaleIO Storage Pool associated
  28340. with the protection domain.
  28341. type: string
  28342. system:
  28343. description: system is the name of the storage system as
  28344. configured in ScaleIO.
  28345. type: string
  28346. volumeName:
  28347. description: volumeName is the name of a volume already
  28348. created in the ScaleIO system that is associated with
  28349. this volume source.
  28350. type: string
  28351. required:
  28352. - gateway
  28353. - secretRef
  28354. - system
  28355. type: object
  28356. secret:
  28357. description: 'secret represents a secret that should populate
  28358. this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  28359. properties:
  28360. defaultMode:
  28361. description: 'defaultMode is Optional: mode bits used to
  28362. set permissions on created files by default. Must be an
  28363. octal value between 0000 and 0777 or a decimal value between
  28364. 0 and 511. YAML accepts both octal and decimal values,
  28365. JSON requires decimal values for mode bits. Defaults to
  28366. 0644. Directories within the path are not affected by
  28367. this setting. This might be in conflict with other options
  28368. that affect the file mode, like fsGroup, and the result
  28369. can be other mode bits set.'
  28370. format: int32
  28371. type: integer
  28372. items:
  28373. description: items If unspecified, each key-value pair in
  28374. the Data field of the referenced Secret will be projected
  28375. into the volume as a file whose name is the key and content
  28376. is the value. If specified, the listed keys will be projected
  28377. into the specified paths, and unlisted keys will not be
  28378. present. If a key is specified which is not present in
  28379. the Secret, the volume setup will error unless it is marked
  28380. optional. Paths must be relative and may not contain the
  28381. '..' path or start with '..'.
  28382. items:
  28383. description: Maps a string key to a path within a volume.
  28384. properties:
  28385. key:
  28386. description: key is the key to project.
  28387. type: string
  28388. mode:
  28389. description: 'mode is Optional: mode bits used to
  28390. set permissions on this file. Must be an octal value
  28391. between 0000 and 0777 or a decimal value between
  28392. 0 and 511. YAML accepts both octal and decimal values,
  28393. JSON requires decimal values for mode bits. If not
  28394. specified, the volume defaultMode will be used.
  28395. This might be in conflict with other options that
  28396. affect the file mode, like fsGroup, and the result
  28397. can be other mode bits set.'
  28398. format: int32
  28399. type: integer
  28400. path:
  28401. description: path is the relative path of the file
  28402. to map the key to. May not be an absolute path.
  28403. May not contain the path element '..'. May not start
  28404. with the string '..'.
  28405. type: string
  28406. required:
  28407. - key
  28408. - path
  28409. type: object
  28410. type: array
  28411. optional:
  28412. description: optional field specify whether the Secret or
  28413. its keys must be defined
  28414. type: boolean
  28415. secretName:
  28416. description: 'secretName is the name of the secret in the
  28417. pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  28418. type: string
  28419. type: object
  28420. storageos:
  28421. description: storageOS represents a StorageOS volume attached
  28422. and mounted on Kubernetes nodes.
  28423. properties:
  28424. fsType:
  28425. description: fsType is the filesystem type to mount. Must
  28426. be a filesystem type supported by the host operating system.
  28427. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  28428. if unspecified.
  28429. type: string
  28430. readOnly:
  28431. description: readOnly defaults to false (read/write). ReadOnly
  28432. here will force the ReadOnly setting in VolumeMounts.
  28433. type: boolean
  28434. secretRef:
  28435. description: secretRef specifies the secret to use for obtaining
  28436. the StorageOS API credentials. If not specified, default
  28437. values will be attempted.
  28438. properties:
  28439. name:
  28440. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  28441. TODO: Add other useful fields. apiVersion, kind, uid?'
  28442. type: string
  28443. type: object
  28444. x-kubernetes-map-type: atomic
  28445. volumeName:
  28446. description: volumeName is the human-readable name of the
  28447. StorageOS volume. Volume names are only unique within
  28448. a namespace.
  28449. type: string
  28450. volumeNamespace:
  28451. description: volumeNamespace specifies the scope of the
  28452. volume within StorageOS. If no namespace is specified
  28453. then the Pod's namespace will be used. This allows the
  28454. Kubernetes name scoping to be mirrored within StorageOS
  28455. for tighter integration. Set VolumeName to any name to
  28456. override the default behaviour. Set to "default" if you
  28457. are not using namespaces within StorageOS. Namespaces
  28458. that do not pre-exist within StorageOS will be created.
  28459. type: string
  28460. type: object
  28461. vsphereVolume:
  28462. description: vsphereVolume represents a vSphere volume attached
  28463. and mounted on kubelets host machine
  28464. properties:
  28465. fsType:
  28466. description: fsType is filesystem type to mount. Must be
  28467. a filesystem type supported by the host operating system.
  28468. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  28469. if unspecified.
  28470. type: string
  28471. storagePolicyID:
  28472. description: storagePolicyID is the storage Policy Based
  28473. Management (SPBM) profile ID associated with the StoragePolicyName.
  28474. type: string
  28475. storagePolicyName:
  28476. description: storagePolicyName is the storage Policy Based
  28477. Management (SPBM) profile name.
  28478. type: string
  28479. volumePath:
  28480. description: volumePath is the path that identifies vSphere
  28481. volume vmdk
  28482. type: string
  28483. required:
  28484. - volumePath
  28485. type: object
  28486. required:
  28487. - name
  28488. type: object
  28489. type: array
  28490. type: object
  28491. status:
  28492. description: 'Most recent observed status of the ThanosRuler cluster.
  28493. Read-only. Not included when requesting from the apiserver, only from
  28494. the ThanosRuler Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  28495. properties:
  28496. availableReplicas:
  28497. description: Total number of available pods (ready for at least minReadySeconds)
  28498. targeted by this ThanosRuler deployment.
  28499. format: int32
  28500. type: integer
  28501. paused:
  28502. description: Represents whether any actions on the underlying managed
  28503. objects are being performed. Only delete actions will be performed.
  28504. type: boolean
  28505. replicas:
  28506. description: Total number of non-terminated pods targeted by this
  28507. ThanosRuler deployment (their labels match the selector).
  28508. format: int32
  28509. type: integer
  28510. unavailableReplicas:
  28511. description: Total number of unavailable pods targeted by this ThanosRuler
  28512. deployment.
  28513. format: int32
  28514. type: integer
  28515. updatedReplicas:
  28516. description: Total number of non-terminated pods targeted by this
  28517. ThanosRuler deployment that have the desired version spec.
  28518. format: int32
  28519. type: integer
  28520. required:
  28521. - availableReplicas
  28522. - paused
  28523. - replicas
  28524. - unavailableReplicas
  28525. - updatedReplicas
  28526. type: object
  28527. required:
  28528. - spec
  28529. type: object
  28530. served: true
  28531. storage: true
  28532. subresources: {}
  28533. ---
  28534. apiVersion: rbac.authorization.k8s.io/v1
  28535. kind: ClusterRoleBinding
  28536. metadata:
  28537. labels:
  28538. app.kubernetes.io/component: controller
  28539. app.kubernetes.io/name: prometheus-operator
  28540. app.kubernetes.io/version: 0.58.0
  28541. name: prometheus-operator
  28542. roleRef:
  28543. apiGroup: rbac.authorization.k8s.io
  28544. kind: ClusterRole
  28545. name: prometheus-operator
  28546. subjects:
  28547. - kind: ServiceAccount
  28548. name: prometheus-operator
  28549. namespace: monitoring
  28550. ---
  28551. apiVersion: rbac.authorization.k8s.io/v1
  28552. kind: ClusterRole
  28553. metadata:
  28554. labels:
  28555. app.kubernetes.io/component: controller
  28556. app.kubernetes.io/name: prometheus-operator
  28557. app.kubernetes.io/version: 0.58.0
  28558. name: prometheus-operator
  28559. rules:
  28560. - apiGroups:
  28561. - monitoring.coreos.com
  28562. resources:
  28563. - alertmanagers
  28564. - alertmanagers/finalizers
  28565. - alertmanagerconfigs
  28566. - prometheuses
  28567. - prometheuses/finalizers
  28568. - prometheuses/status
  28569. - thanosrulers
  28570. - thanosrulers/finalizers
  28571. - servicemonitors
  28572. - podmonitors
  28573. - probes
  28574. - prometheusrules
  28575. verbs:
  28576. - '*'
  28577. - apiGroups:
  28578. - apps
  28579. resources:
  28580. - statefulsets
  28581. verbs:
  28582. - '*'
  28583. - apiGroups:
  28584. - ""
  28585. resources:
  28586. - configmaps
  28587. - secrets
  28588. verbs:
  28589. - '*'
  28590. - apiGroups:
  28591. - ""
  28592. resources:
  28593. - pods
  28594. verbs:
  28595. - list
  28596. - delete
  28597. - apiGroups:
  28598. - ""
  28599. resources:
  28600. - services
  28601. - services/finalizers
  28602. - endpoints
  28603. verbs:
  28604. - get
  28605. - create
  28606. - update
  28607. - delete
  28608. - apiGroups:
  28609. - ""
  28610. resources:
  28611. - nodes
  28612. verbs:
  28613. - list
  28614. - watch
  28615. - apiGroups:
  28616. - ""
  28617. resources:
  28618. - namespaces
  28619. verbs:
  28620. - get
  28621. - list
  28622. - watch
  28623. - apiGroups:
  28624. - networking.k8s.io
  28625. resources:
  28626. - ingresses
  28627. verbs:
  28628. - get
  28629. - list
  28630. - watch
  28631. ---
  28632. apiVersion: apps/v1
  28633. kind: Deployment
  28634. metadata:
  28635. labels:
  28636. app.kubernetes.io/component: controller
  28637. app.kubernetes.io/name: prometheus-operator
  28638. app.kubernetes.io/version: 0.58.0
  28639. name: prometheus-operator
  28640. namespace: monitoring
  28641. spec:
  28642. replicas: 1
  28643. selector:
  28644. matchLabels:
  28645. app.kubernetes.io/component: controller
  28646. app.kubernetes.io/name: prometheus-operator
  28647. template:
  28648. metadata:
  28649. annotations:
  28650. kubectl.kubernetes.io/default-container: prometheus-operator
  28651. labels:
  28652. app.kubernetes.io/component: controller
  28653. app.kubernetes.io/name: prometheus-operator
  28654. app.kubernetes.io/version: 0.58.0
  28655. spec:
  28656. automountServiceAccountToken: true
  28657. containers:
  28658. - args:
  28659. - --kubelet-service=kube-system/kubelet
  28660. - --prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.58.0
  28661. image: quay.io/prometheus-operator/prometheus-operator:v0.58.0
  28662. name: prometheus-operator
  28663. ports:
  28664. - containerPort: 8080
  28665. name: http
  28666. resources:
  28667. limits:
  28668. cpu: 200m
  28669. memory: 200Mi
  28670. requests:
  28671. cpu: 100m
  28672. memory: 100Mi
  28673. securityContext:
  28674. allowPrivilegeEscalation: false
  28675. capabilities:
  28676. drop:
  28677. - ALL
  28678. readOnlyRootFilesystem: true
  28679. nodeSelector:
  28680. kubernetes.io/os: linux
  28681. securityContext:
  28682. runAsNonRoot: true
  28683. runAsUser: 65534
  28684. serviceAccountName: prometheus-operator
  28685. ---
  28686. apiVersion: v1
  28687. automountServiceAccountToken: false
  28688. kind: ServiceAccount
  28689. metadata:
  28690. labels:
  28691. app.kubernetes.io/component: controller
  28692. app.kubernetes.io/name: prometheus-operator
  28693. app.kubernetes.io/version: 0.58.0
  28694. name: prometheus-operator
  28695. namespace: monitoring
  28696. ---
  28697. apiVersion: v1
  28698. kind: Service
  28699. metadata:
  28700. labels:
  28701. app.kubernetes.io/component: controller
  28702. app.kubernetes.io/name: prometheus-operator
  28703. app.kubernetes.io/version: 0.58.0
  28704. name: prometheus-operator
  28705. namespace: monitoring
  28706. spec:
  28707. clusterIP: None
  28708. ports:
  28709. - name: http
  28710. port: 8080
  28711. targetPort: http
  28712. selector:
  28713. app.kubernetes.io/component: controller
  28714. app.kubernetes.io/name: prometheus-operator