tigera-operator.yaml 1.4 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: tigera-operator
  5. labels:
  6. name: tigera-operator
  7. ---
  8. # Source: crds/calico/crd.projectcalico.org_bgpconfigurations.yaml
  9. apiVersion: apiextensions.k8s.io/v1
  10. kind: CustomResourceDefinition
  11. metadata:
  12. name: bgpconfigurations.crd.projectcalico.org
  13. spec:
  14. group: crd.projectcalico.org
  15. names:
  16. kind: BGPConfiguration
  17. listKind: BGPConfigurationList
  18. plural: bgpconfigurations
  19. singular: bgpconfiguration
  20. preserveUnknownFields: false
  21. scope: Cluster
  22. versions:
  23. - name: v1
  24. schema:
  25. openAPIV3Schema:
  26. description: BGPConfiguration contains the configuration for any BGP routing.
  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: BGPConfigurationSpec contains the values of the BGP configuration.
  42. properties:
  43. asNumber:
  44. description: 'ASNumber is the default AS number used by a node. [Default:
  45. 64512]'
  46. format: int32
  47. type: integer
  48. bindMode:
  49. description: BindMode indicates whether to listen for BGP connections
  50. on all addresses (None) or only on the node's canonical IP address
  51. Node.Spec.BGP.IPvXAddress (NodeIP). Default behaviour is to listen
  52. for BGP connections on all addresses.
  53. type: string
  54. communities:
  55. description: Communities is a list of BGP community values and their
  56. arbitrary names for tagging routes.
  57. items:
  58. description: Community contains standard or large community value
  59. and its name.
  60. properties:
  61. name:
  62. description: Name given to community value.
  63. type: string
  64. value:
  65. description: Value must be of format `aa:nn` or `aa:nn:mm`.
  66. For standard community use `aa:nn` format, where `aa` and
  67. `nn` are 16 bit number. For large community use `aa:nn:mm`
  68. format, where `aa`, `nn` and `mm` are 32 bit number. Where,
  69. `aa` is an AS Number, `nn` and `mm` are per-AS identifier.
  70. pattern: ^(\d+):(\d+)$|^(\d+):(\d+):(\d+)$
  71. type: string
  72. type: object
  73. type: array
  74. ignoredInterfaces:
  75. description: IgnoredInterfaces indicates the network interfaces that
  76. needs to be excluded when reading device routes.
  77. items:
  78. type: string
  79. type: array
  80. listenPort:
  81. description: ListenPort is the port where BGP protocol should listen.
  82. Defaults to 179
  83. maximum: 65535
  84. minimum: 1
  85. type: integer
  86. logSeverityScreen:
  87. description: 'LogSeverityScreen is the log severity above which logs
  88. are sent to the stdout. [Default: INFO]'
  89. type: string
  90. nodeMeshMaxRestartTime:
  91. description: Time to allow for software restart for node-to-mesh peerings. When
  92. specified, this is configured as the graceful restart timeout. When
  93. not specified, the BIRD default of 120s is used. This field can
  94. only be set on the default BGPConfiguration instance and requires
  95. that NodeMesh is enabled
  96. type: string
  97. nodeMeshPassword:
  98. description: Optional BGP password for full node-to-mesh peerings.
  99. This field can only be set on the default BGPConfiguration instance
  100. and requires that NodeMesh is enabled
  101. properties:
  102. secretKeyRef:
  103. description: Selects a key of a secret in the node pod's namespace.
  104. properties:
  105. key:
  106. description: The key of the secret to select from. Must be
  107. a valid secret key.
  108. type: string
  109. name:
  110. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  111. TODO: Add other useful fields. apiVersion, kind, uid?'
  112. type: string
  113. optional:
  114. description: Specify whether the Secret or its key must be
  115. defined
  116. type: boolean
  117. required:
  118. - key
  119. type: object
  120. type: object
  121. nodeToNodeMeshEnabled:
  122. description: 'NodeToNodeMeshEnabled sets whether full node to node
  123. BGP mesh is enabled. [Default: true]'
  124. type: boolean
  125. prefixAdvertisements:
  126. description: PrefixAdvertisements contains per-prefix advertisement
  127. configuration.
  128. items:
  129. description: PrefixAdvertisement configures advertisement properties
  130. for the specified CIDR.
  131. properties:
  132. cidr:
  133. description: CIDR for which properties should be advertised.
  134. type: string
  135. communities:
  136. description: Communities can be list of either community names
  137. already defined in `Specs.Communities` or community value
  138. of format `aa:nn` or `aa:nn:mm`. For standard community use
  139. `aa:nn` format, where `aa` and `nn` are 16 bit number. For
  140. large community use `aa:nn:mm` format, where `aa`, `nn` and
  141. `mm` are 32 bit number. Where,`aa` is an AS Number, `nn` and
  142. `mm` are per-AS identifier.
  143. items:
  144. type: string
  145. type: array
  146. type: object
  147. type: array
  148. serviceClusterIPs:
  149. description: ServiceClusterIPs are the CIDR blocks from which service
  150. cluster IPs are allocated. If specified, Calico will advertise these
  151. blocks, as well as any cluster IPs within them.
  152. items:
  153. description: ServiceClusterIPBlock represents a single allowed ClusterIP
  154. CIDR block.
  155. properties:
  156. cidr:
  157. type: string
  158. type: object
  159. type: array
  160. serviceExternalIPs:
  161. description: ServiceExternalIPs are the CIDR blocks for Kubernetes
  162. Service External IPs. Kubernetes Service ExternalIPs will only be
  163. advertised if they are within one of these blocks.
  164. items:
  165. description: ServiceExternalIPBlock represents a single allowed
  166. External IP CIDR block.
  167. properties:
  168. cidr:
  169. type: string
  170. type: object
  171. type: array
  172. serviceLoadBalancerIPs:
  173. description: ServiceLoadBalancerIPs are the CIDR blocks for Kubernetes
  174. Service LoadBalancer IPs. Kubernetes Service status.LoadBalancer.Ingress
  175. IPs will only be advertised if they are within one of these blocks.
  176. items:
  177. description: ServiceLoadBalancerIPBlock represents a single allowed
  178. LoadBalancer IP CIDR block.
  179. properties:
  180. cidr:
  181. type: string
  182. type: object
  183. type: array
  184. type: object
  185. type: object
  186. served: true
  187. storage: true
  188. status:
  189. acceptedNames:
  190. kind: ""
  191. plural: ""
  192. conditions: []
  193. storedVersions: []
  194. ---
  195. # Source: crds/calico/crd.projectcalico.org_bgpfilters.yaml
  196. apiVersion: apiextensions.k8s.io/v1
  197. kind: CustomResourceDefinition
  198. metadata:
  199. annotations:
  200. controller-gen.kubebuilder.io/version: (devel)
  201. creationTimestamp: null
  202. name: bgpfilters.crd.projectcalico.org
  203. spec:
  204. group: crd.projectcalico.org
  205. names:
  206. kind: BGPFilter
  207. listKind: BGPFilterList
  208. plural: bgpfilters
  209. singular: bgpfilter
  210. scope: Cluster
  211. versions:
  212. - name: v1
  213. schema:
  214. openAPIV3Schema:
  215. properties:
  216. apiVersion:
  217. description: 'APIVersion defines the versioned schema of this representation
  218. of an object. Servers should convert recognized schemas to the latest
  219. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  220. type: string
  221. kind:
  222. description: 'Kind is a string value representing the REST resource this
  223. object represents. Servers may infer this from the endpoint the client
  224. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  225. type: string
  226. metadata:
  227. type: object
  228. spec:
  229. description: BGPFilterSpec contains the IPv4 and IPv6 filter rules of
  230. the BGP Filter.
  231. properties:
  232. exportV4:
  233. description: The ordered set of IPv4 BGPFilter rules acting on exporting
  234. routes to a peer.
  235. items:
  236. description: BGPFilterRuleV4 defines a BGP filter rule consisting
  237. a single IPv4 CIDR block and a filter action for this CIDR.
  238. properties:
  239. action:
  240. type: string
  241. cidr:
  242. type: string
  243. matchOperator:
  244. type: string
  245. required:
  246. - action
  247. - cidr
  248. - matchOperator
  249. type: object
  250. type: array
  251. exportV6:
  252. description: The ordered set of IPv6 BGPFilter rules acting on exporting
  253. routes to a peer.
  254. items:
  255. description: BGPFilterRuleV6 defines a BGP filter rule consisting
  256. a single IPv6 CIDR block and a filter action for this CIDR.
  257. properties:
  258. action:
  259. type: string
  260. cidr:
  261. type: string
  262. matchOperator:
  263. type: string
  264. required:
  265. - action
  266. - cidr
  267. - matchOperator
  268. type: object
  269. type: array
  270. importV4:
  271. description: The ordered set of IPv4 BGPFilter rules acting on importing
  272. routes from a peer.
  273. items:
  274. description: BGPFilterRuleV4 defines a BGP filter rule consisting
  275. a single IPv4 CIDR block and a filter action for this CIDR.
  276. properties:
  277. action:
  278. type: string
  279. cidr:
  280. type: string
  281. matchOperator:
  282. type: string
  283. required:
  284. - action
  285. - cidr
  286. - matchOperator
  287. type: object
  288. type: array
  289. importV6:
  290. description: The ordered set of IPv6 BGPFilter rules acting on importing
  291. routes from a peer.
  292. items:
  293. description: BGPFilterRuleV6 defines a BGP filter rule consisting
  294. a single IPv6 CIDR block and a filter action for this CIDR.
  295. properties:
  296. action:
  297. type: string
  298. cidr:
  299. type: string
  300. matchOperator:
  301. type: string
  302. required:
  303. - action
  304. - cidr
  305. - matchOperator
  306. type: object
  307. type: array
  308. type: object
  309. type: object
  310. served: true
  311. storage: true
  312. status:
  313. acceptedNames:
  314. kind: ""
  315. plural: ""
  316. conditions: []
  317. storedVersions: []
  318. ---
  319. # Source: crds/calico/crd.projectcalico.org_bgppeers.yaml
  320. apiVersion: apiextensions.k8s.io/v1
  321. kind: CustomResourceDefinition
  322. metadata:
  323. name: bgppeers.crd.projectcalico.org
  324. spec:
  325. group: crd.projectcalico.org
  326. names:
  327. kind: BGPPeer
  328. listKind: BGPPeerList
  329. plural: bgppeers
  330. singular: bgppeer
  331. preserveUnknownFields: false
  332. scope: Cluster
  333. versions:
  334. - name: v1
  335. schema:
  336. openAPIV3Schema:
  337. properties:
  338. apiVersion:
  339. description: 'APIVersion defines the versioned schema of this representation
  340. of an object. Servers should convert recognized schemas to the latest
  341. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  342. type: string
  343. kind:
  344. description: 'Kind is a string value representing the REST resource this
  345. object represents. Servers may infer this from the endpoint the client
  346. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  347. type: string
  348. metadata:
  349. type: object
  350. spec:
  351. description: BGPPeerSpec contains the specification for a BGPPeer resource.
  352. properties:
  353. asNumber:
  354. description: The AS Number of the peer.
  355. format: int32
  356. type: integer
  357. filters:
  358. description: The ordered set of BGPFilters applied on this BGP peer.
  359. items:
  360. type: string
  361. type: array
  362. keepOriginalNextHop:
  363. description: Option to keep the original nexthop field when routes
  364. are sent to a BGP Peer. Setting "true" configures the selected BGP
  365. Peers node to use the "next hop keep;" instead of "next hop self;"(default)
  366. in the specific branch of the Node on "bird.cfg".
  367. type: boolean
  368. maxRestartTime:
  369. description: Time to allow for software restart. When specified,
  370. this is configured as the graceful restart timeout. When not specified,
  371. the BIRD default of 120s is used.
  372. type: string
  373. node:
  374. description: The node name identifying the Calico node instance that
  375. is targeted by this peer. If this is not set, and no nodeSelector
  376. is specified, then this BGP peer selects all nodes in the cluster.
  377. type: string
  378. nodeSelector:
  379. description: Selector for the nodes that should have this peering. When
  380. this is set, the Node field must be empty.
  381. type: string
  382. numAllowedLocalASNumbers:
  383. description: Maximum number of local AS numbers that are allowed in
  384. the AS path for received routes. This removes BGP loop prevention
  385. and should only be used if absolutely necesssary.
  386. format: int32
  387. type: integer
  388. password:
  389. description: Optional BGP password for the peerings generated by this
  390. BGPPeer resource.
  391. properties:
  392. secretKeyRef:
  393. description: Selects a key of a secret in the node pod's namespace.
  394. properties:
  395. key:
  396. description: The key of the secret to select from. Must be
  397. a valid secret key.
  398. type: string
  399. name:
  400. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  401. TODO: Add other useful fields. apiVersion, kind, uid?'
  402. type: string
  403. optional:
  404. description: Specify whether the Secret or its key must be
  405. defined
  406. type: boolean
  407. required:
  408. - key
  409. type: object
  410. type: object
  411. peerIP:
  412. description: The IP address of the peer followed by an optional port
  413. number to peer with. If port number is given, format should be `[<IPv6>]:port`
  414. or `<IPv4>:<port>` for IPv4. If optional port number is not set,
  415. and this peer IP and ASNumber belongs to a calico/node with ListenPort
  416. set in BGPConfiguration, then we use that port to peer.
  417. type: string
  418. peerSelector:
  419. description: Selector for the remote nodes to peer with. When this
  420. is set, the PeerIP and ASNumber fields must be empty. For each
  421. peering between the local node and selected remote nodes, we configure
  422. an IPv4 peering if both ends have NodeBGPSpec.IPv4Address specified,
  423. and an IPv6 peering if both ends have NodeBGPSpec.IPv6Address specified. The
  424. remote AS number comes from the remote node's NodeBGPSpec.ASNumber,
  425. or the global default if that is not set.
  426. type: string
  427. reachableBy:
  428. description: Add an exact, i.e. /32, static route toward peer IP in
  429. order to prevent route flapping. ReachableBy contains the address
  430. of the gateway which peer can be reached by.
  431. type: string
  432. sourceAddress:
  433. description: Specifies whether and how to configure a source address
  434. for the peerings generated by this BGPPeer resource. Default value
  435. "UseNodeIP" means to configure the node IP as the source address. "None"
  436. means not to configure a source address.
  437. type: string
  438. ttlSecurity:
  439. description: TTLSecurity enables the generalized TTL security mechanism
  440. (GTSM) which protects against spoofed packets by ignoring received
  441. packets with a smaller than expected TTL value. The provided value
  442. is the number of hops (edges) between the peers.
  443. type: integer
  444. type: object
  445. type: object
  446. served: true
  447. storage: true
  448. status:
  449. acceptedNames:
  450. kind: ""
  451. plural: ""
  452. conditions: []
  453. storedVersions: []
  454. ---
  455. # Source: crds/calico/crd.projectcalico.org_blockaffinities.yaml
  456. apiVersion: apiextensions.k8s.io/v1
  457. kind: CustomResourceDefinition
  458. metadata:
  459. name: blockaffinities.crd.projectcalico.org
  460. spec:
  461. group: crd.projectcalico.org
  462. names:
  463. kind: BlockAffinity
  464. listKind: BlockAffinityList
  465. plural: blockaffinities
  466. singular: blockaffinity
  467. preserveUnknownFields: false
  468. scope: Cluster
  469. versions:
  470. - name: v1
  471. schema:
  472. openAPIV3Schema:
  473. properties:
  474. apiVersion:
  475. description: 'APIVersion defines the versioned schema of this representation
  476. of an object. Servers should convert recognized schemas to the latest
  477. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  478. type: string
  479. kind:
  480. description: 'Kind is a string value representing the REST resource this
  481. object represents. Servers may infer this from the endpoint the client
  482. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  483. type: string
  484. metadata:
  485. type: object
  486. spec:
  487. description: BlockAffinitySpec contains the specification for a BlockAffinity
  488. resource.
  489. properties:
  490. cidr:
  491. type: string
  492. deleted:
  493. description: Deleted indicates that this block affinity is being deleted.
  494. This field is a string for compatibility with older releases that
  495. mistakenly treat this field as a string.
  496. type: string
  497. node:
  498. type: string
  499. state:
  500. type: string
  501. required:
  502. - cidr
  503. - deleted
  504. - node
  505. - state
  506. type: object
  507. type: object
  508. served: true
  509. storage: true
  510. status:
  511. acceptedNames:
  512. kind: ""
  513. plural: ""
  514. conditions: []
  515. storedVersions: []
  516. ---
  517. # Source: crds/calico/crd.projectcalico.org_caliconodestatuses.yaml
  518. apiVersion: apiextensions.k8s.io/v1
  519. kind: CustomResourceDefinition
  520. metadata:
  521. annotations:
  522. controller-gen.kubebuilder.io/version: (devel)
  523. creationTimestamp: null
  524. name: caliconodestatuses.crd.projectcalico.org
  525. spec:
  526. group: crd.projectcalico.org
  527. names:
  528. kind: CalicoNodeStatus
  529. listKind: CalicoNodeStatusList
  530. plural: caliconodestatuses
  531. singular: caliconodestatus
  532. preserveUnknownFields: false
  533. scope: Cluster
  534. versions:
  535. - name: v1
  536. schema:
  537. openAPIV3Schema:
  538. properties:
  539. apiVersion:
  540. description: 'APIVersion defines the versioned schema of this representation
  541. of an object. Servers should convert recognized schemas to the latest
  542. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  543. type: string
  544. kind:
  545. description: 'Kind is a string value representing the REST resource this
  546. object represents. Servers may infer this from the endpoint the client
  547. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  548. type: string
  549. metadata:
  550. type: object
  551. spec:
  552. description: CalicoNodeStatusSpec contains the specification for a CalicoNodeStatus
  553. resource.
  554. properties:
  555. classes:
  556. description: Classes declares the types of information to monitor
  557. for this calico/node, and allows for selective status reporting
  558. about certain subsets of information.
  559. items:
  560. type: string
  561. type: array
  562. node:
  563. description: The node name identifies the Calico node instance for
  564. node status.
  565. type: string
  566. updatePeriodSeconds:
  567. description: UpdatePeriodSeconds is the period at which CalicoNodeStatus
  568. should be updated. Set to 0 to disable CalicoNodeStatus refresh.
  569. Maximum update period is one day.
  570. format: int32
  571. type: integer
  572. type: object
  573. status:
  574. description: CalicoNodeStatusStatus defines the observed state of CalicoNodeStatus.
  575. No validation needed for status since it is updated by Calico.
  576. properties:
  577. agent:
  578. description: Agent holds agent status on the node.
  579. properties:
  580. birdV4:
  581. description: BIRDV4 represents the latest observed status of bird4.
  582. properties:
  583. lastBootTime:
  584. description: LastBootTime holds the value of lastBootTime
  585. from bird.ctl output.
  586. type: string
  587. lastReconfigurationTime:
  588. description: LastReconfigurationTime holds the value of lastReconfigTime
  589. from bird.ctl output.
  590. type: string
  591. routerID:
  592. description: Router ID used by bird.
  593. type: string
  594. state:
  595. description: The state of the BGP Daemon.
  596. type: string
  597. version:
  598. description: Version of the BGP daemon
  599. type: string
  600. type: object
  601. birdV6:
  602. description: BIRDV6 represents the latest observed status of bird6.
  603. properties:
  604. lastBootTime:
  605. description: LastBootTime holds the value of lastBootTime
  606. from bird.ctl output.
  607. type: string
  608. lastReconfigurationTime:
  609. description: LastReconfigurationTime holds the value of lastReconfigTime
  610. from bird.ctl output.
  611. type: string
  612. routerID:
  613. description: Router ID used by bird.
  614. type: string
  615. state:
  616. description: The state of the BGP Daemon.
  617. type: string
  618. version:
  619. description: Version of the BGP daemon
  620. type: string
  621. type: object
  622. type: object
  623. bgp:
  624. description: BGP holds node BGP status.
  625. properties:
  626. numberEstablishedV4:
  627. description: The total number of IPv4 established bgp sessions.
  628. type: integer
  629. numberEstablishedV6:
  630. description: The total number of IPv6 established bgp sessions.
  631. type: integer
  632. numberNotEstablishedV4:
  633. description: The total number of IPv4 non-established bgp sessions.
  634. type: integer
  635. numberNotEstablishedV6:
  636. description: The total number of IPv6 non-established bgp sessions.
  637. type: integer
  638. peersV4:
  639. description: PeersV4 represents IPv4 BGP peers status on the node.
  640. items:
  641. description: CalicoNodePeer contains the status of BGP peers
  642. on the node.
  643. properties:
  644. peerIP:
  645. description: IP address of the peer whose condition we are
  646. reporting.
  647. type: string
  648. since:
  649. description: Since the state or reason last changed.
  650. type: string
  651. state:
  652. description: State is the BGP session state.
  653. type: string
  654. type:
  655. description: Type indicates whether this peer is configured
  656. via the node-to-node mesh, or via en explicit global or
  657. per-node BGPPeer object.
  658. type: string
  659. type: object
  660. type: array
  661. peersV6:
  662. description: PeersV6 represents IPv6 BGP peers status on the node.
  663. items:
  664. description: CalicoNodePeer contains the status of BGP peers
  665. on the node.
  666. properties:
  667. peerIP:
  668. description: IP address of the peer whose condition we are
  669. reporting.
  670. type: string
  671. since:
  672. description: Since the state or reason last changed.
  673. type: string
  674. state:
  675. description: State is the BGP session state.
  676. type: string
  677. type:
  678. description: Type indicates whether this peer is configured
  679. via the node-to-node mesh, or via en explicit global or
  680. per-node BGPPeer object.
  681. type: string
  682. type: object
  683. type: array
  684. required:
  685. - numberEstablishedV4
  686. - numberEstablishedV6
  687. - numberNotEstablishedV4
  688. - numberNotEstablishedV6
  689. type: object
  690. lastUpdated:
  691. description: LastUpdated is a timestamp representing the server time
  692. when CalicoNodeStatus object last updated. It is represented in
  693. RFC3339 form and is in UTC.
  694. format: date-time
  695. nullable: true
  696. type: string
  697. routes:
  698. description: Routes reports routes known to the Calico BGP daemon
  699. on the node.
  700. properties:
  701. routesV4:
  702. description: RoutesV4 represents IPv4 routes on the node.
  703. items:
  704. description: CalicoNodeRoute contains the status of BGP routes
  705. on the node.
  706. properties:
  707. destination:
  708. description: Destination of the route.
  709. type: string
  710. gateway:
  711. description: Gateway for the destination.
  712. type: string
  713. interface:
  714. description: Interface for the destination
  715. type: string
  716. learnedFrom:
  717. description: LearnedFrom contains information regarding
  718. where this route originated.
  719. properties:
  720. peerIP:
  721. description: If sourceType is NodeMesh or BGPPeer, IP
  722. address of the router that sent us this route.
  723. type: string
  724. sourceType:
  725. description: Type of the source where a route is learned
  726. from.
  727. type: string
  728. type: object
  729. type:
  730. description: Type indicates if the route is being used for
  731. forwarding or not.
  732. type: string
  733. type: object
  734. type: array
  735. routesV6:
  736. description: RoutesV6 represents IPv6 routes on the node.
  737. items:
  738. description: CalicoNodeRoute contains the status of BGP routes
  739. on the node.
  740. properties:
  741. destination:
  742. description: Destination of the route.
  743. type: string
  744. gateway:
  745. description: Gateway for the destination.
  746. type: string
  747. interface:
  748. description: Interface for the destination
  749. type: string
  750. learnedFrom:
  751. description: LearnedFrom contains information regarding
  752. where this route originated.
  753. properties:
  754. peerIP:
  755. description: If sourceType is NodeMesh or BGPPeer, IP
  756. address of the router that sent us this route.
  757. type: string
  758. sourceType:
  759. description: Type of the source where a route is learned
  760. from.
  761. type: string
  762. type: object
  763. type:
  764. description: Type indicates if the route is being used for
  765. forwarding or not.
  766. type: string
  767. type: object
  768. type: array
  769. type: object
  770. type: object
  771. type: object
  772. served: true
  773. storage: true
  774. status:
  775. acceptedNames:
  776. kind: ""
  777. plural: ""
  778. conditions: []
  779. storedVersions: []
  780. ---
  781. # Source: crds/calico/crd.projectcalico.org_clusterinformations.yaml
  782. apiVersion: apiextensions.k8s.io/v1
  783. kind: CustomResourceDefinition
  784. metadata:
  785. name: clusterinformations.crd.projectcalico.org
  786. spec:
  787. group: crd.projectcalico.org
  788. names:
  789. kind: ClusterInformation
  790. listKind: ClusterInformationList
  791. plural: clusterinformations
  792. singular: clusterinformation
  793. preserveUnknownFields: false
  794. scope: Cluster
  795. versions:
  796. - name: v1
  797. schema:
  798. openAPIV3Schema:
  799. description: ClusterInformation contains the cluster specific information.
  800. properties:
  801. apiVersion:
  802. description: 'APIVersion defines the versioned schema of this representation
  803. of an object. Servers should convert recognized schemas to the latest
  804. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  805. type: string
  806. kind:
  807. description: 'Kind is a string value representing the REST resource this
  808. object represents. Servers may infer this from the endpoint the client
  809. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  810. type: string
  811. metadata:
  812. type: object
  813. spec:
  814. description: ClusterInformationSpec contains the values of describing
  815. the cluster.
  816. properties:
  817. calicoVersion:
  818. description: CalicoVersion is the version of Calico that the cluster
  819. is running
  820. type: string
  821. clusterGUID:
  822. description: ClusterGUID is the GUID of the cluster
  823. type: string
  824. clusterType:
  825. description: ClusterType describes the type of the cluster
  826. type: string
  827. datastoreReady:
  828. description: DatastoreReady is used during significant datastore migrations
  829. to signal to components such as Felix that it should wait before
  830. accessing the datastore.
  831. type: boolean
  832. variant:
  833. description: Variant declares which variant of Calico should be active.
  834. type: string
  835. type: object
  836. type: object
  837. served: true
  838. storage: true
  839. status:
  840. acceptedNames:
  841. kind: ""
  842. plural: ""
  843. conditions: []
  844. storedVersions: []
  845. ---
  846. # Source: crds/calico/crd.projectcalico.org_felixconfigurations.yaml
  847. apiVersion: apiextensions.k8s.io/v1
  848. kind: CustomResourceDefinition
  849. metadata:
  850. name: felixconfigurations.crd.projectcalico.org
  851. spec:
  852. group: crd.projectcalico.org
  853. names:
  854. kind: FelixConfiguration
  855. listKind: FelixConfigurationList
  856. plural: felixconfigurations
  857. singular: felixconfiguration
  858. preserveUnknownFields: false
  859. scope: Cluster
  860. versions:
  861. - name: v1
  862. schema:
  863. openAPIV3Schema:
  864. description: Felix Configuration contains the configuration for Felix.
  865. properties:
  866. apiVersion:
  867. description: 'APIVersion defines the versioned schema of this representation
  868. of an object. Servers should convert recognized schemas to the latest
  869. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  870. type: string
  871. kind:
  872. description: 'Kind is a string value representing the REST resource this
  873. object represents. Servers may infer this from the endpoint the client
  874. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  875. type: string
  876. metadata:
  877. type: object
  878. spec:
  879. description: FelixConfigurationSpec contains the values of the Felix configuration.
  880. properties:
  881. allowIPIPPacketsFromWorkloads:
  882. description: 'AllowIPIPPacketsFromWorkloads controls whether Felix
  883. will add a rule to drop IPIP encapsulated traffic from workloads
  884. [Default: false]'
  885. type: boolean
  886. allowVXLANPacketsFromWorkloads:
  887. description: 'AllowVXLANPacketsFromWorkloads controls whether Felix
  888. will add a rule to drop VXLAN encapsulated traffic from workloads
  889. [Default: false]'
  890. type: boolean
  891. awsSrcDstCheck:
  892. description: 'Set source-destination-check on AWS EC2 instances. Accepted
  893. value must be one of "DoNothing", "Enable" or "Disable". [Default:
  894. DoNothing]'
  895. enum:
  896. - DoNothing
  897. - Enable
  898. - Disable
  899. type: string
  900. bpfConnectTimeLoadBalancingEnabled:
  901. description: 'BPFConnectTimeLoadBalancingEnabled when in BPF mode,
  902. controls whether Felix installs the connection-time load balancer. The
  903. connect-time load balancer is required for the host to be able to
  904. reach Kubernetes services and it improves the performance of pod-to-service
  905. connections. The only reason to disable it is for debugging purposes. [Default:
  906. true]'
  907. type: boolean
  908. bpfDSROptoutCIDRs:
  909. description: BPFDSROptoutCIDRs is a list of CIDRs which are excluded
  910. from DSR. That is, clients in those CIDRs will accesses nodeports
  911. as if BPFExternalServiceMode was set to Tunnel.
  912. items:
  913. type: string
  914. type: array
  915. bpfDataIfacePattern:
  916. description: BPFDataIfacePattern is a regular expression that controls
  917. which interfaces Felix should attach BPF programs to in order to
  918. catch traffic to/from the network. This needs to match the interfaces
  919. that Calico workload traffic flows over as well as any interfaces
  920. that handle incoming traffic to nodeports and services from outside
  921. the cluster. It should not match the workload interfaces (usually
  922. named cali...).
  923. type: string
  924. bpfDisableUnprivileged:
  925. description: 'BPFDisableUnprivileged, if enabled, Felix sets the kernel.unprivileged_bpf_disabled
  926. sysctl to disable unprivileged use of BPF. This ensures that unprivileged
  927. users cannot access Calico''s BPF maps and cannot insert their own
  928. BPF programs to interfere with Calico''s. [Default: true]'
  929. type: boolean
  930. bpfEnabled:
  931. description: 'BPFEnabled, if enabled Felix will use the BPF dataplane.
  932. [Default: false]'
  933. type: boolean
  934. bpfEnforceRPF:
  935. description: 'BPFEnforceRPF enforce strict RPF on all host interfaces
  936. with BPF programs regardless of what is the per-interfaces or global
  937. setting. Possible values are Disabled, Strict or Loose. [Default:
  938. Loose]'
  939. type: string
  940. bpfExtToServiceConnmark:
  941. description: 'BPFExtToServiceConnmark in BPF mode, control a 32bit
  942. mark that is set on connections from an external client to a local
  943. service. This mark allows us to control how packets of that connection
  944. are routed within the host and how is routing interpreted by RPF
  945. check. [Default: 0]'
  946. type: integer
  947. bpfExternalServiceMode:
  948. description: 'BPFExternalServiceMode in BPF mode, controls how connections
  949. from outside the cluster to services (node ports and cluster IPs)
  950. are forwarded to remote workloads. If set to "Tunnel" then both
  951. request and response traffic is tunneled to the remote node. If
  952. set to "DSR", the request traffic is tunneled but the response traffic
  953. is sent directly from the remote node. In "DSR" mode, the remote
  954. node appears to use the IP of the ingress node; this requires a
  955. permissive L2 network. [Default: Tunnel]'
  956. type: string
  957. bpfHostConntrackBypass:
  958. description: 'BPFHostConntrackBypass Controls whether to bypass Linux
  959. conntrack in BPF mode for workloads and services. [Default: true
  960. - bypass Linux conntrack]'
  961. type: boolean
  962. bpfKubeProxyEndpointSlicesEnabled:
  963. description: BPFKubeProxyEndpointSlicesEnabled in BPF mode, controls
  964. whether Felix's embedded kube-proxy accepts EndpointSlices or not.
  965. type: boolean
  966. bpfKubeProxyIptablesCleanupEnabled:
  967. description: 'BPFKubeProxyIptablesCleanupEnabled, if enabled in BPF
  968. mode, Felix will proactively clean up the upstream Kubernetes kube-proxy''s
  969. iptables chains. Should only be enabled if kube-proxy is not running. [Default:
  970. true]'
  971. type: boolean
  972. bpfKubeProxyMinSyncPeriod:
  973. description: 'BPFKubeProxyMinSyncPeriod, in BPF mode, controls the
  974. minimum time between updates to the dataplane for Felix''s embedded
  975. kube-proxy. Lower values give reduced set-up latency. Higher values
  976. reduce Felix CPU usage by batching up more work. [Default: 1s]'
  977. type: string
  978. bpfL3IfacePattern:
  979. description: BPFL3IfacePattern is a regular expression that allows
  980. to list tunnel devices like wireguard or vxlan (i.e., L3 devices)
  981. in addition to BPFDataIfacePattern. That is, tunnel interfaces not
  982. created by Calico, that Calico workload traffic flows over as well
  983. as any interfaces that handle incoming traffic to nodeports and
  984. services from outside the cluster.
  985. type: string
  986. bpfLogLevel:
  987. description: 'BPFLogLevel controls the log level of the BPF programs
  988. when in BPF dataplane mode. One of "Off", "Info", or "Debug". The
  989. logs are emitted to the BPF trace pipe, accessible with the command
  990. `tc exec bpf debug`. [Default: Off].'
  991. type: string
  992. bpfMapSizeConntrack:
  993. description: 'BPFMapSizeConntrack sets the size for the conntrack
  994. map. This map must be large enough to hold an entry for each active
  995. connection. Warning: changing the size of the conntrack map can
  996. cause disruption.'
  997. type: integer
  998. bpfMapSizeIPSets:
  999. description: BPFMapSizeIPSets sets the size for ipsets map. The IP
  1000. sets map must be large enough to hold an entry for each endpoint
  1001. matched by every selector in the source/destination matches in network
  1002. policy. Selectors such as "all()" can result in large numbers of
  1003. entries (one entry per endpoint in that case).
  1004. type: integer
  1005. bpfMapSizeIfState:
  1006. description: BPFMapSizeIfState sets the size for ifstate map. The
  1007. ifstate map must be large enough to hold an entry for each device
  1008. (host + workloads) on a host.
  1009. type: integer
  1010. bpfMapSizeNATAffinity:
  1011. type: integer
  1012. bpfMapSizeNATBackend:
  1013. description: BPFMapSizeNATBackend sets the size for nat back end map.
  1014. This is the total number of endpoints. This is mostly more than
  1015. the size of the number of services.
  1016. type: integer
  1017. bpfMapSizeNATFrontend:
  1018. description: BPFMapSizeNATFrontend sets the size for nat front end
  1019. map. FrontendMap should be large enough to hold an entry for each
  1020. nodeport, external IP and each port in each service.
  1021. type: integer
  1022. bpfMapSizeRoute:
  1023. description: BPFMapSizeRoute sets the size for the routes map. The
  1024. routes map should be large enough to hold one entry per workload
  1025. and a handful of entries per host (enough to cover its own IPs and
  1026. tunnel IPs).
  1027. type: integer
  1028. bpfPSNATPorts:
  1029. anyOf:
  1030. - type: integer
  1031. - type: string
  1032. description: 'BPFPSNATPorts sets the range from which we randomly
  1033. pick a port if there is a source port collision. This should be
  1034. within the ephemeral range as defined by RFC 6056 (1024–65535) and
  1035. preferably outside the ephemeral ranges used by common operating
  1036. systems. Linux uses 32768–60999, while others mostly use the IANA
  1037. defined range 49152–65535. It is not necessarily a problem if this
  1038. range overlaps with the operating systems. Both ends of the range
  1039. are inclusive. [Default: 20000:29999]'
  1040. pattern: ^.*
  1041. x-kubernetes-int-or-string: true
  1042. bpfPolicyDebugEnabled:
  1043. description: BPFPolicyDebugEnabled when true, Felix records detailed
  1044. information about the BPF policy programs, which can be examined
  1045. with the calico-bpf command-line tool.
  1046. type: boolean
  1047. chainInsertMode:
  1048. description: 'ChainInsertMode controls whether Felix hooks the kernel''s
  1049. top-level iptables chains by inserting a rule at the top of the
  1050. chain or by appending a rule at the bottom. insert is the safe default
  1051. since it prevents Calico''s rules from being bypassed. If you switch
  1052. to append mode, be sure that the other rules in the chains signal
  1053. acceptance by falling through to the Calico rules, otherwise the
  1054. Calico policy will be bypassed. [Default: insert]'
  1055. type: string
  1056. dataplaneDriver:
  1057. description: DataplaneDriver filename of the external dataplane driver
  1058. to use. Only used if UseInternalDataplaneDriver is set to false.
  1059. type: string
  1060. dataplaneWatchdogTimeout:
  1061. description: "DataplaneWatchdogTimeout is the readiness/liveness timeout
  1062. used for Felix's (internal) dataplane driver. Increase this value
  1063. if you experience spurious non-ready or non-live events when Felix
  1064. is under heavy load. Decrease the value to get felix to report non-live
  1065. or non-ready more quickly. [Default: 90s] \n Deprecated: replaced
  1066. by the generic HealthTimeoutOverrides."
  1067. type: string
  1068. debugDisableLogDropping:
  1069. type: boolean
  1070. debugMemoryProfilePath:
  1071. type: string
  1072. debugSimulateCalcGraphHangAfter:
  1073. type: string
  1074. debugSimulateDataplaneHangAfter:
  1075. type: string
  1076. defaultEndpointToHostAction:
  1077. description: 'DefaultEndpointToHostAction controls what happens to
  1078. traffic that goes from a workload endpoint to the host itself (after
  1079. the traffic hits the endpoint egress policy). By default Calico
  1080. blocks traffic from workload endpoints to the host itself with an
  1081. iptables "DROP" action. If you want to allow some or all traffic
  1082. from endpoint to host, set this parameter to RETURN or ACCEPT. Use
  1083. RETURN if you have your own rules in the iptables "INPUT" chain;
  1084. Calico will insert its rules at the top of that chain, then "RETURN"
  1085. packets to the "INPUT" chain once it has completed processing workload
  1086. endpoint egress policy. Use ACCEPT to unconditionally accept packets
  1087. from workloads after processing workload endpoint egress policy.
  1088. [Default: Drop]'
  1089. type: string
  1090. deviceRouteProtocol:
  1091. description: This defines the route protocol added to programmed device
  1092. routes, by default this will be RTPROT_BOOT when left blank.
  1093. type: integer
  1094. deviceRouteSourceAddress:
  1095. description: This is the IPv4 source address to use on programmed
  1096. device routes. By default the source address is left blank, leaving
  1097. the kernel to choose the source address used.
  1098. type: string
  1099. deviceRouteSourceAddressIPv6:
  1100. description: This is the IPv6 source address to use on programmed
  1101. device routes. By default the source address is left blank, leaving
  1102. the kernel to choose the source address used.
  1103. type: string
  1104. disableConntrackInvalidCheck:
  1105. type: boolean
  1106. endpointReportingDelay:
  1107. type: string
  1108. endpointReportingEnabled:
  1109. type: boolean
  1110. externalNodesList:
  1111. description: ExternalNodesCIDRList is a list of CIDR's of external-non-calico-nodes
  1112. which may source tunnel traffic and have the tunneled traffic be
  1113. accepted at calico nodes.
  1114. items:
  1115. type: string
  1116. type: array
  1117. failsafeInboundHostPorts:
  1118. description: 'FailsafeInboundHostPorts is a list of UDP/TCP ports
  1119. and CIDRs that Felix will allow incoming traffic to host endpoints
  1120. on irrespective of the security policy. This is useful to avoid
  1121. accidentally cutting off a host with incorrect configuration. For
  1122. back-compatibility, if the protocol is not specified, it defaults
  1123. to "tcp". If a CIDR is not specified, it will allow traffic from
  1124. all addresses. To disable all inbound host ports, use the value
  1125. none. The default value allows ssh access and DHCP. [Default: tcp:22,
  1126. udp:68, tcp:179, tcp:2379, tcp:2380, tcp:6443, tcp:6666, tcp:6667]'
  1127. items:
  1128. description: ProtoPort is combination of protocol, port, and CIDR.
  1129. Protocol and port must be specified.
  1130. properties:
  1131. net:
  1132. type: string
  1133. port:
  1134. type: integer
  1135. protocol:
  1136. type: string
  1137. required:
  1138. - port
  1139. - protocol
  1140. type: object
  1141. type: array
  1142. failsafeOutboundHostPorts:
  1143. description: 'FailsafeOutboundHostPorts is a list of UDP/TCP ports
  1144. and CIDRs that Felix will allow outgoing traffic from host endpoints
  1145. to irrespective of the security policy. This is useful to avoid
  1146. accidentally cutting off a host with incorrect configuration. For
  1147. back-compatibility, if the protocol is not specified, it defaults
  1148. to "tcp". If a CIDR is not specified, it will allow traffic from
  1149. all addresses. To disable all outbound host ports, use the value
  1150. none. The default value opens etcd''s standard ports to ensure that
  1151. Felix does not get cut off from etcd as well as allowing DHCP and
  1152. DNS. [Default: tcp:179, tcp:2379, tcp:2380, tcp:6443, tcp:6666,
  1153. tcp:6667, udp:53, udp:67]'
  1154. items:
  1155. description: ProtoPort is combination of protocol, port, and CIDR.
  1156. Protocol and port must be specified.
  1157. properties:
  1158. net:
  1159. type: string
  1160. port:
  1161. type: integer
  1162. protocol:
  1163. type: string
  1164. required:
  1165. - port
  1166. - protocol
  1167. type: object
  1168. type: array
  1169. featureDetectOverride:
  1170. description: FeatureDetectOverride is used to override feature detection
  1171. based on auto-detected platform capabilities. Values are specified
  1172. in a comma separated list with no spaces, example; "SNATFullyRandom=true,MASQFullyRandom=false,RestoreSupportsLock=". "true"
  1173. or "false" will force the feature, empty or omitted values are auto-detected.
  1174. type: string
  1175. featureGates:
  1176. description: FeatureGates is used to enable or disable tech-preview
  1177. Calico features. Values are specified in a comma separated list
  1178. with no spaces, example; "BPFConnectTimeLoadBalancingWorkaround=enabled,XyZ=false".
  1179. This is used to enable features that are not fully production ready.
  1180. type: string
  1181. floatingIPs:
  1182. description: FloatingIPs configures whether or not Felix will program
  1183. non-OpenStack floating IP addresses. (OpenStack-derived floating
  1184. IPs are always programmed, regardless of this setting.)
  1185. enum:
  1186. - Enabled
  1187. - Disabled
  1188. type: string
  1189. genericXDPEnabled:
  1190. description: 'GenericXDPEnabled enables Generic XDP so network cards
  1191. that don''t support XDP offload or driver modes can use XDP. This
  1192. is not recommended since it doesn''t provide better performance
  1193. than iptables. [Default: false]'
  1194. type: boolean
  1195. healthEnabled:
  1196. type: boolean
  1197. healthHost:
  1198. type: string
  1199. healthPort:
  1200. type: integer
  1201. healthTimeoutOverrides:
  1202. description: HealthTimeoutOverrides allows the internal watchdog timeouts
  1203. of individual subcomponents to be overridden. This is useful for
  1204. working around "false positive" liveness timeouts that can occur
  1205. in particularly stressful workloads or if CPU is constrained. For
  1206. a list of active subcomponents, see Felix's logs.
  1207. items:
  1208. properties:
  1209. name:
  1210. type: string
  1211. timeout:
  1212. type: string
  1213. required:
  1214. - name
  1215. - timeout
  1216. type: object
  1217. type: array
  1218. interfaceExclude:
  1219. description: 'InterfaceExclude is a comma-separated list of interfaces
  1220. that Felix should exclude when monitoring for host endpoints. The
  1221. default value ensures that Felix ignores Kubernetes'' IPVS dummy
  1222. interface, which is used internally by kube-proxy. If you want to
  1223. exclude multiple interface names using a single value, the list
  1224. supports regular expressions. For regular expressions you must wrap
  1225. the value with ''/''. For example having values ''/^kube/,veth1''
  1226. will exclude all interfaces that begin with ''kube'' and also the
  1227. interface ''veth1''. [Default: kube-ipvs0]'
  1228. type: string
  1229. interfacePrefix:
  1230. description: 'InterfacePrefix is the interface name prefix that identifies
  1231. workload endpoints and so distinguishes them from host endpoint
  1232. interfaces. Note: in environments other than bare metal, the orchestrators
  1233. configure this appropriately. For example our Kubernetes and Docker
  1234. integrations set the ''cali'' value, and our OpenStack integration
  1235. sets the ''tap'' value. [Default: cali]'
  1236. type: string
  1237. interfaceRefreshInterval:
  1238. description: InterfaceRefreshInterval is the period at which Felix
  1239. rescans local interfaces to verify their state. The rescan can be
  1240. disabled by setting the interval to 0.
  1241. type: string
  1242. ipipEnabled:
  1243. description: 'IPIPEnabled overrides whether Felix should configure
  1244. an IPIP interface on the host. Optional as Felix determines this
  1245. based on the existing IP pools. [Default: nil (unset)]'
  1246. type: boolean
  1247. ipipMTU:
  1248. description: 'IPIPMTU is the MTU to set on the tunnel device. See
  1249. Configuring MTU [Default: 1440]'
  1250. type: integer
  1251. ipsetsRefreshInterval:
  1252. description: 'IpsetsRefreshInterval is the period at which Felix re-checks
  1253. all iptables state to ensure that no other process has accidentally
  1254. broken Calico''s rules. Set to 0 to disable iptables refresh. [Default:
  1255. 90s]'
  1256. type: string
  1257. iptablesBackend:
  1258. description: IptablesBackend specifies which backend of iptables will
  1259. be used. The default is Auto.
  1260. type: string
  1261. iptablesFilterAllowAction:
  1262. type: string
  1263. iptablesFilterDenyAction:
  1264. description: IptablesFilterDenyAction controls what happens to traffic
  1265. that is denied by network policy. By default Calico blocks traffic
  1266. with an iptables "DROP" action. If you want to use "REJECT" action
  1267. instead you can configure it in here.
  1268. type: string
  1269. iptablesLockFilePath:
  1270. description: 'IptablesLockFilePath is the location of the iptables
  1271. lock file. You may need to change this if the lock file is not in
  1272. its standard location (for example if you have mapped it into Felix''s
  1273. container at a different path). [Default: /run/xtables.lock]'
  1274. type: string
  1275. iptablesLockProbeInterval:
  1276. description: 'IptablesLockProbeInterval is the time that Felix will
  1277. wait between attempts to acquire the iptables lock if it is not
  1278. available. Lower values make Felix more responsive when the lock
  1279. is contended, but use more CPU. [Default: 50ms]'
  1280. type: string
  1281. iptablesLockTimeout:
  1282. description: 'IptablesLockTimeout is the time that Felix will wait
  1283. for the iptables lock, or 0, to disable. To use this feature, Felix
  1284. must share the iptables lock file with all other processes that
  1285. also take the lock. When running Felix inside a container, this
  1286. requires the /run directory of the host to be mounted into the calico/node
  1287. or calico/felix container. [Default: 0s disabled]'
  1288. type: string
  1289. iptablesMangleAllowAction:
  1290. type: string
  1291. iptablesMarkMask:
  1292. description: 'IptablesMarkMask is the mask that Felix selects its
  1293. IPTables Mark bits from. Should be a 32 bit hexadecimal number with
  1294. at least 8 bits set, none of which clash with any other mark bits
  1295. in use on the system. [Default: 0xff000000]'
  1296. format: int32
  1297. type: integer
  1298. iptablesNATOutgoingInterfaceFilter:
  1299. type: string
  1300. iptablesPostWriteCheckInterval:
  1301. description: 'IptablesPostWriteCheckInterval is the period after Felix
  1302. has done a write to the dataplane that it schedules an extra read
  1303. back in order to check the write was not clobbered by another process.
  1304. This should only occur if another application on the system doesn''t
  1305. respect the iptables lock. [Default: 1s]'
  1306. type: string
  1307. iptablesRefreshInterval:
  1308. description: 'IptablesRefreshInterval is the period at which Felix
  1309. re-checks the IP sets in the dataplane to ensure that no other process
  1310. has accidentally broken Calico''s rules. Set to 0 to disable IP
  1311. sets refresh. Note: the default for this value is lower than the
  1312. other refresh intervals as a workaround for a Linux kernel bug that
  1313. was fixed in kernel version 4.11. If you are using v4.11 or greater
  1314. you may want to set this to, a higher value to reduce Felix CPU
  1315. usage. [Default: 10s]'
  1316. type: string
  1317. ipv6Support:
  1318. description: IPv6Support controls whether Felix enables support for
  1319. IPv6 (if supported by the in-use dataplane).
  1320. type: boolean
  1321. kubeNodePortRanges:
  1322. description: 'KubeNodePortRanges holds list of port ranges used for
  1323. service node ports. Only used if felix detects kube-proxy running
  1324. in ipvs mode. Felix uses these ranges to separate host and workload
  1325. traffic. [Default: 30000:32767].'
  1326. items:
  1327. anyOf:
  1328. - type: integer
  1329. - type: string
  1330. pattern: ^.*
  1331. x-kubernetes-int-or-string: true
  1332. type: array
  1333. logDebugFilenameRegex:
  1334. description: LogDebugFilenameRegex controls which source code files
  1335. have their Debug log output included in the logs. Only logs from
  1336. files with names that match the given regular expression are included. The
  1337. filter only applies to Debug level logs.
  1338. type: string
  1339. logFilePath:
  1340. description: 'LogFilePath is the full path to the Felix log. Set to
  1341. none to disable file logging. [Default: /var/log/calico/felix.log]'
  1342. type: string
  1343. logPrefix:
  1344. description: 'LogPrefix is the log prefix that Felix uses when rendering
  1345. LOG rules. [Default: calico-packet]'
  1346. type: string
  1347. logSeverityFile:
  1348. description: 'LogSeverityFile is the log severity above which logs
  1349. are sent to the log file. [Default: Info]'
  1350. type: string
  1351. logSeverityScreen:
  1352. description: 'LogSeverityScreen is the log severity above which logs
  1353. are sent to the stdout. [Default: Info]'
  1354. type: string
  1355. logSeveritySys:
  1356. description: 'LogSeveritySys is the log severity above which logs
  1357. are sent to the syslog. Set to None for no logging to syslog. [Default:
  1358. Info]'
  1359. type: string
  1360. maxIpsetSize:
  1361. type: integer
  1362. metadataAddr:
  1363. description: 'MetadataAddr is the IP address or domain name of the
  1364. server that can answer VM queries for cloud-init metadata. In OpenStack,
  1365. this corresponds to the machine running nova-api (or in Ubuntu,
  1366. nova-api-metadata). A value of none (case insensitive) means that
  1367. Felix should not set up any NAT rule for the metadata path. [Default:
  1368. 127.0.0.1]'
  1369. type: string
  1370. metadataPort:
  1371. description: 'MetadataPort is the port of the metadata server. This,
  1372. combined with global.MetadataAddr (if not ''None''), is used to
  1373. set up a NAT rule, from 169.254.169.254:80 to MetadataAddr:MetadataPort.
  1374. In most cases this should not need to be changed [Default: 8775].'
  1375. type: integer
  1376. mtuIfacePattern:
  1377. description: MTUIfacePattern is a regular expression that controls
  1378. which interfaces Felix should scan in order to calculate the host's
  1379. MTU. This should not match workload interfaces (usually named cali...).
  1380. type: string
  1381. natOutgoingAddress:
  1382. description: NATOutgoingAddress specifies an address to use when performing
  1383. source NAT for traffic in a natOutgoing pool that is leaving the
  1384. network. By default the address used is an address on the interface
  1385. the traffic is leaving on (ie it uses the iptables MASQUERADE target)
  1386. type: string
  1387. natPortRange:
  1388. anyOf:
  1389. - type: integer
  1390. - type: string
  1391. description: NATPortRange specifies the range of ports that is used
  1392. for port mapping when doing outgoing NAT. When unset the default
  1393. behavior of the network stack is used.
  1394. pattern: ^.*
  1395. x-kubernetes-int-or-string: true
  1396. netlinkTimeout:
  1397. type: string
  1398. openstackRegion:
  1399. description: 'OpenstackRegion is the name of the region that a particular
  1400. Felix belongs to. In a multi-region Calico/OpenStack deployment,
  1401. this must be configured somehow for each Felix (here in the datamodel,
  1402. or in felix.cfg or the environment on each compute node), and must
  1403. match the [calico] openstack_region value configured in neutron.conf
  1404. on each node. [Default: Empty]'
  1405. type: string
  1406. policySyncPathPrefix:
  1407. description: 'PolicySyncPathPrefix is used to by Felix to communicate
  1408. policy changes to external services, like Application layer policy.
  1409. [Default: Empty]'
  1410. type: string
  1411. prometheusGoMetricsEnabled:
  1412. description: 'PrometheusGoMetricsEnabled disables Go runtime metrics
  1413. collection, which the Prometheus client does by default, when set
  1414. to false. This reduces the number of metrics reported, reducing
  1415. Prometheus load. [Default: true]'
  1416. type: boolean
  1417. prometheusMetricsEnabled:
  1418. description: 'PrometheusMetricsEnabled enables the Prometheus metrics
  1419. server in Felix if set to true. [Default: false]'
  1420. type: boolean
  1421. prometheusMetricsHost:
  1422. description: 'PrometheusMetricsHost is the host that the Prometheus
  1423. metrics server should bind to. [Default: empty]'
  1424. type: string
  1425. prometheusMetricsPort:
  1426. description: 'PrometheusMetricsPort is the TCP port that the Prometheus
  1427. metrics server should bind to. [Default: 9091]'
  1428. type: integer
  1429. prometheusProcessMetricsEnabled:
  1430. description: 'PrometheusProcessMetricsEnabled disables process metrics
  1431. collection, which the Prometheus client does by default, when set
  1432. to false. This reduces the number of metrics reported, reducing
  1433. Prometheus load. [Default: true]'
  1434. type: boolean
  1435. prometheusWireGuardMetricsEnabled:
  1436. description: 'PrometheusWireGuardMetricsEnabled disables wireguard
  1437. metrics collection, which the Prometheus client does by default,
  1438. when set to false. This reduces the number of metrics reported,
  1439. reducing Prometheus load. [Default: true]'
  1440. type: boolean
  1441. removeExternalRoutes:
  1442. description: Whether or not to remove device routes that have not
  1443. been programmed by Felix. Disabling this will allow external applications
  1444. to also add device routes. This is enabled by default which means
  1445. we will remove externally added routes.
  1446. type: boolean
  1447. reportingInterval:
  1448. description: 'ReportingInterval is the interval at which Felix reports
  1449. its status into the datastore or 0 to disable. Must be non-zero
  1450. in OpenStack deployments. [Default: 30s]'
  1451. type: string
  1452. reportingTTL:
  1453. description: 'ReportingTTL is the time-to-live setting for process-wide
  1454. status reports. [Default: 90s]'
  1455. type: string
  1456. routeRefreshInterval:
  1457. description: 'RouteRefreshInterval is the period at which Felix re-checks
  1458. the routes in the dataplane to ensure that no other process has
  1459. accidentally broken Calico''s rules. Set to 0 to disable route refresh.
  1460. [Default: 90s]'
  1461. type: string
  1462. routeSource:
  1463. description: 'RouteSource configures where Felix gets its routing
  1464. information. - WorkloadIPs: use workload endpoints to construct
  1465. routes. - CalicoIPAM: the default - use IPAM data to construct routes.'
  1466. type: string
  1467. routeSyncDisabled:
  1468. description: RouteSyncDisabled will disable all operations performed
  1469. on the route table. Set to true to run in network-policy mode only.
  1470. type: boolean
  1471. routeTableRange:
  1472. description: Deprecated in favor of RouteTableRanges. Calico programs
  1473. additional Linux route tables for various purposes. RouteTableRange
  1474. specifies the indices of the route tables that Calico should use.
  1475. properties:
  1476. max:
  1477. type: integer
  1478. min:
  1479. type: integer
  1480. required:
  1481. - max
  1482. - min
  1483. type: object
  1484. routeTableRanges:
  1485. description: Calico programs additional Linux route tables for various
  1486. purposes. RouteTableRanges specifies a set of table index ranges
  1487. that Calico should use. Deprecates`RouteTableRange`, overrides `RouteTableRange`.
  1488. items:
  1489. properties:
  1490. max:
  1491. type: integer
  1492. min:
  1493. type: integer
  1494. required:
  1495. - max
  1496. - min
  1497. type: object
  1498. type: array
  1499. serviceLoopPrevention:
  1500. description: 'When service IP advertisement is enabled, prevent routing
  1501. loops to service IPs that are not in use, by dropping or rejecting
  1502. packets that do not get DNAT''d by kube-proxy. Unless set to "Disabled",
  1503. in which case such routing loops continue to be allowed. [Default:
  1504. Drop]'
  1505. type: string
  1506. sidecarAccelerationEnabled:
  1507. description: 'SidecarAccelerationEnabled enables experimental sidecar
  1508. acceleration [Default: false]'
  1509. type: boolean
  1510. usageReportingEnabled:
  1511. description: 'UsageReportingEnabled reports anonymous Calico version
  1512. number and cluster size to projectcalico.org. Logs warnings returned
  1513. by the usage server. For example, if a significant security vulnerability
  1514. has been discovered in the version of Calico being used. [Default:
  1515. true]'
  1516. type: boolean
  1517. usageReportingInitialDelay:
  1518. description: 'UsageReportingInitialDelay controls the minimum delay
  1519. before Felix makes a report. [Default: 300s]'
  1520. type: string
  1521. usageReportingInterval:
  1522. description: 'UsageReportingInterval controls the interval at which
  1523. Felix makes reports. [Default: 86400s]'
  1524. type: string
  1525. useInternalDataplaneDriver:
  1526. description: UseInternalDataplaneDriver, if true, Felix will use its
  1527. internal dataplane programming logic. If false, it will launch
  1528. an external dataplane driver and communicate with it over protobuf.
  1529. type: boolean
  1530. vxlanEnabled:
  1531. description: 'VXLANEnabled overrides whether Felix should create the
  1532. VXLAN tunnel device for IPv4 VXLAN networking. Optional as Felix
  1533. determines this based on the existing IP pools. [Default: nil (unset)]'
  1534. type: boolean
  1535. vxlanMTU:
  1536. description: 'VXLANMTU is the MTU to set on the IPv4 VXLAN tunnel
  1537. device. See Configuring MTU [Default: 1410]'
  1538. type: integer
  1539. vxlanMTUV6:
  1540. description: 'VXLANMTUV6 is the MTU to set on the IPv6 VXLAN tunnel
  1541. device. See Configuring MTU [Default: 1390]'
  1542. type: integer
  1543. vxlanPort:
  1544. type: integer
  1545. vxlanVNI:
  1546. type: integer
  1547. wireguardEnabled:
  1548. description: 'WireguardEnabled controls whether Wireguard is enabled
  1549. for IPv4 (encapsulating IPv4 traffic over an IPv4 underlay network).
  1550. [Default: false]'
  1551. type: boolean
  1552. wireguardEnabledV6:
  1553. description: 'WireguardEnabledV6 controls whether Wireguard is enabled
  1554. for IPv6 (encapsulating IPv6 traffic over an IPv6 underlay network).
  1555. [Default: false]'
  1556. type: boolean
  1557. wireguardHostEncryptionEnabled:
  1558. description: 'WireguardHostEncryptionEnabled controls whether Wireguard
  1559. host-to-host encryption is enabled. [Default: false]'
  1560. type: boolean
  1561. wireguardInterfaceName:
  1562. description: 'WireguardInterfaceName specifies the name to use for
  1563. the IPv4 Wireguard interface. [Default: wireguard.cali]'
  1564. type: string
  1565. wireguardInterfaceNameV6:
  1566. description: 'WireguardInterfaceNameV6 specifies the name to use for
  1567. the IPv6 Wireguard interface. [Default: wg-v6.cali]'
  1568. type: string
  1569. wireguardKeepAlive:
  1570. description: 'WireguardKeepAlive controls Wireguard PersistentKeepalive
  1571. option. Set 0 to disable. [Default: 0]'
  1572. type: string
  1573. wireguardListeningPort:
  1574. description: 'WireguardListeningPort controls the listening port used
  1575. by IPv4 Wireguard. [Default: 51820]'
  1576. type: integer
  1577. wireguardListeningPortV6:
  1578. description: 'WireguardListeningPortV6 controls the listening port
  1579. used by IPv6 Wireguard. [Default: 51821]'
  1580. type: integer
  1581. wireguardMTU:
  1582. description: 'WireguardMTU controls the MTU on the IPv4 Wireguard
  1583. interface. See Configuring MTU [Default: 1440]'
  1584. type: integer
  1585. wireguardMTUV6:
  1586. description: 'WireguardMTUV6 controls the MTU on the IPv6 Wireguard
  1587. interface. See Configuring MTU [Default: 1420]'
  1588. type: integer
  1589. wireguardRoutingRulePriority:
  1590. description: 'WireguardRoutingRulePriority controls the priority value
  1591. to use for the Wireguard routing rule. [Default: 99]'
  1592. type: integer
  1593. workloadSourceSpoofing:
  1594. description: WorkloadSourceSpoofing controls whether pods can use
  1595. the allowedSourcePrefixes annotation to send traffic with a source
  1596. IP address that is not theirs. This is disabled by default. When
  1597. set to "Any", pods can request any prefix.
  1598. type: string
  1599. xdpEnabled:
  1600. description: 'XDPEnabled enables XDP acceleration for suitable untracked
  1601. incoming deny rules. [Default: true]'
  1602. type: boolean
  1603. xdpRefreshInterval:
  1604. description: 'XDPRefreshInterval is the period at which Felix re-checks
  1605. all XDP state to ensure that no other process has accidentally broken
  1606. Calico''s BPF maps or attached programs. Set to 0 to disable XDP
  1607. refresh. [Default: 90s]'
  1608. type: string
  1609. type: object
  1610. type: object
  1611. served: true
  1612. storage: true
  1613. status:
  1614. acceptedNames:
  1615. kind: ""
  1616. plural: ""
  1617. conditions: []
  1618. storedVersions: []
  1619. ---
  1620. # Source: crds/calico/crd.projectcalico.org_globalnetworkpolicies.yaml
  1621. apiVersion: apiextensions.k8s.io/v1
  1622. kind: CustomResourceDefinition
  1623. metadata:
  1624. name: globalnetworkpolicies.crd.projectcalico.org
  1625. spec:
  1626. group: crd.projectcalico.org
  1627. names:
  1628. kind: GlobalNetworkPolicy
  1629. listKind: GlobalNetworkPolicyList
  1630. plural: globalnetworkpolicies
  1631. singular: globalnetworkpolicy
  1632. preserveUnknownFields: false
  1633. scope: Cluster
  1634. versions:
  1635. - name: v1
  1636. schema:
  1637. openAPIV3Schema:
  1638. properties:
  1639. apiVersion:
  1640. description: 'APIVersion defines the versioned schema of this representation
  1641. of an object. Servers should convert recognized schemas to the latest
  1642. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1643. type: string
  1644. kind:
  1645. description: 'Kind is a string value representing the REST resource this
  1646. object represents. Servers may infer this from the endpoint the client
  1647. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1648. type: string
  1649. metadata:
  1650. type: object
  1651. spec:
  1652. properties:
  1653. applyOnForward:
  1654. description: ApplyOnForward indicates to apply the rules in this policy
  1655. on forward traffic.
  1656. type: boolean
  1657. doNotTrack:
  1658. description: DoNotTrack indicates whether packets matched by the rules
  1659. in this policy should go through the data plane's connection tracking,
  1660. such as Linux conntrack. If True, the rules in this policy are
  1661. applied before any data plane connection tracking, and packets allowed
  1662. by this policy are marked as not to be tracked.
  1663. type: boolean
  1664. egress:
  1665. description: The ordered set of egress rules. Each rule contains
  1666. a set of packet match criteria and a corresponding action to apply.
  1667. items:
  1668. description: "A Rule encapsulates a set of match criteria and an
  1669. action. Both selector-based security Policy and security Profiles
  1670. reference rules - separated out as a list of rules for both ingress
  1671. and egress packet matching. \n Each positive match criteria has
  1672. a negated version, prefixed with \"Not\". All the match criteria
  1673. within a rule must be satisfied for a packet to match. A single
  1674. rule can contain the positive and negative version of a match
  1675. and both must be satisfied for the rule to match."
  1676. properties:
  1677. action:
  1678. type: string
  1679. destination:
  1680. description: Destination contains the match criteria that apply
  1681. to destination entity.
  1682. properties:
  1683. namespaceSelector:
  1684. description: "NamespaceSelector is an optional field that
  1685. contains a selector expression. Only traffic that originates
  1686. from (or terminates at) endpoints within the selected
  1687. namespaces will be matched. When both NamespaceSelector
  1688. and another selector are defined on the same rule, then
  1689. only workload endpoints that are matched by both selectors
  1690. will be selected by the rule. \n For NetworkPolicy, an
  1691. empty NamespaceSelector implies that the Selector is limited
  1692. to selecting only workload endpoints in the same namespace
  1693. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  1694. NamespaceSelector implies that the Selector is limited
  1695. to selecting only GlobalNetworkSet or HostEndpoint. \n
  1696. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  1697. the Selector applies to workload endpoints across all
  1698. namespaces."
  1699. type: string
  1700. nets:
  1701. description: Nets is an optional field that restricts the
  1702. rule to only apply to traffic that originates from (or
  1703. terminates at) IP addresses in any of the given subnets.
  1704. items:
  1705. type: string
  1706. type: array
  1707. notNets:
  1708. description: NotNets is the negated version of the Nets
  1709. field.
  1710. items:
  1711. type: string
  1712. type: array
  1713. notPorts:
  1714. description: NotPorts is the negated version of the Ports
  1715. field. Since only some protocols have ports, if any ports
  1716. are specified it requires the Protocol match in the Rule
  1717. to be set to "TCP" or "UDP".
  1718. items:
  1719. anyOf:
  1720. - type: integer
  1721. - type: string
  1722. pattern: ^.*
  1723. x-kubernetes-int-or-string: true
  1724. type: array
  1725. notSelector:
  1726. description: NotSelector is the negated version of the Selector
  1727. field. See Selector field for subtleties with negated
  1728. selectors.
  1729. type: string
  1730. ports:
  1731. description: "Ports is an optional field that restricts
  1732. the rule to only apply to traffic that has a source (destination)
  1733. port that matches one of these ranges/values. This value
  1734. is a list of integers or strings that represent ranges
  1735. of ports. \n Since only some protocols have ports, if
  1736. any ports are specified it requires the Protocol match
  1737. in the Rule to be set to \"TCP\" or \"UDP\"."
  1738. items:
  1739. anyOf:
  1740. - type: integer
  1741. - type: string
  1742. pattern: ^.*
  1743. x-kubernetes-int-or-string: true
  1744. type: array
  1745. selector:
  1746. description: "Selector is an optional field that contains
  1747. a selector expression (see Policy for sample syntax).
  1748. \ Only traffic that originates from (terminates at) endpoints
  1749. matching the selector will be matched. \n Note that: in
  1750. addition to the negated version of the Selector (see NotSelector
  1751. below), the selector expression syntax itself supports
  1752. negation. The two types of negation are subtly different.
  1753. One negates the set of matched endpoints, the other negates
  1754. the whole match: \n \tSelector = \"!has(my_label)\" matches
  1755. packets that are from other Calico-controlled \tendpoints
  1756. that do not have the label \"my_label\". \n \tNotSelector
  1757. = \"has(my_label)\" matches packets that are not from
  1758. Calico-controlled \tendpoints that do have the label \"my_label\".
  1759. \n The effect is that the latter will accept packets from
  1760. non-Calico sources whereas the former is limited to packets
  1761. from Calico-controlled endpoints."
  1762. type: string
  1763. serviceAccounts:
  1764. description: ServiceAccounts is an optional field that restricts
  1765. the rule to only apply to traffic that originates from
  1766. (or terminates at) a pod running as a matching service
  1767. account.
  1768. properties:
  1769. names:
  1770. description: Names is an optional field that restricts
  1771. the rule to only apply to traffic that originates
  1772. from (or terminates at) a pod running as a service
  1773. account whose name is in the list.
  1774. items:
  1775. type: string
  1776. type: array
  1777. selector:
  1778. description: Selector is an optional field that restricts
  1779. the rule to only apply to traffic that originates
  1780. from (or terminates at) a pod running as a service
  1781. account that matches the given label selector. If
  1782. both Names and Selector are specified then they are
  1783. AND'ed.
  1784. type: string
  1785. type: object
  1786. services:
  1787. description: "Services is an optional field that contains
  1788. options for matching Kubernetes Services. If specified,
  1789. only traffic that originates from or terminates at endpoints
  1790. within the selected service(s) will be matched, and only
  1791. to/from each endpoint's port. \n Services cannot be specified
  1792. on the same rule as Selector, NotSelector, NamespaceSelector,
  1793. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  1794. can only be specified with Services on ingress rules."
  1795. properties:
  1796. name:
  1797. description: Name specifies the name of a Kubernetes
  1798. Service to match.
  1799. type: string
  1800. namespace:
  1801. description: Namespace specifies the namespace of the
  1802. given Service. If left empty, the rule will match
  1803. within this policy's namespace.
  1804. type: string
  1805. type: object
  1806. type: object
  1807. http:
  1808. description: HTTP contains match criteria that apply to HTTP
  1809. requests.
  1810. properties:
  1811. methods:
  1812. description: Methods is an optional field that restricts
  1813. the rule to apply only to HTTP requests that use one of
  1814. the listed HTTP Methods (e.g. GET, PUT, etc.) Multiple
  1815. methods are OR'd together.
  1816. items:
  1817. type: string
  1818. type: array
  1819. paths:
  1820. description: 'Paths is an optional field that restricts
  1821. the rule to apply to HTTP requests that use one of the
  1822. listed HTTP Paths. Multiple paths are OR''d together.
  1823. e.g: - exact: /foo - prefix: /bar NOTE: Each entry may
  1824. ONLY specify either a `exact` or a `prefix` match. The
  1825. validator will check for it.'
  1826. items:
  1827. description: 'HTTPPath specifies an HTTP path to match.
  1828. It may be either of the form: exact: <path>: which matches
  1829. the path exactly or prefix: <path-prefix>: which matches
  1830. the path prefix'
  1831. properties:
  1832. exact:
  1833. type: string
  1834. prefix:
  1835. type: string
  1836. type: object
  1837. type: array
  1838. type: object
  1839. icmp:
  1840. description: ICMP is an optional field that restricts the rule
  1841. to apply to a specific type and code of ICMP traffic. This
  1842. should only be specified if the Protocol field is set to "ICMP"
  1843. or "ICMPv6".
  1844. properties:
  1845. code:
  1846. description: Match on a specific ICMP code. If specified,
  1847. the Type value must also be specified. This is a technical
  1848. limitation imposed by the kernel's iptables firewall,
  1849. which Calico uses to enforce the rule.
  1850. type: integer
  1851. type:
  1852. description: Match on a specific ICMP type. For example
  1853. a value of 8 refers to ICMP Echo Request (i.e. pings).
  1854. type: integer
  1855. type: object
  1856. ipVersion:
  1857. description: IPVersion is an optional field that restricts the
  1858. rule to only match a specific IP version.
  1859. type: integer
  1860. metadata:
  1861. description: Metadata contains additional information for this
  1862. rule
  1863. properties:
  1864. annotations:
  1865. additionalProperties:
  1866. type: string
  1867. description: Annotations is a set of key value pairs that
  1868. give extra information about the rule
  1869. type: object
  1870. type: object
  1871. notICMP:
  1872. description: NotICMP is the negated version of the ICMP field.
  1873. properties:
  1874. code:
  1875. description: Match on a specific ICMP code. If specified,
  1876. the Type value must also be specified. This is a technical
  1877. limitation imposed by the kernel's iptables firewall,
  1878. which Calico uses to enforce the rule.
  1879. type: integer
  1880. type:
  1881. description: Match on a specific ICMP type. For example
  1882. a value of 8 refers to ICMP Echo Request (i.e. pings).
  1883. type: integer
  1884. type: object
  1885. notProtocol:
  1886. anyOf:
  1887. - type: integer
  1888. - type: string
  1889. description: NotProtocol is the negated version of the Protocol
  1890. field.
  1891. pattern: ^.*
  1892. x-kubernetes-int-or-string: true
  1893. protocol:
  1894. anyOf:
  1895. - type: integer
  1896. - type: string
  1897. description: "Protocol is an optional field that restricts the
  1898. rule to only apply to traffic of a specific IP protocol. Required
  1899. if any of the EntityRules contain Ports (because ports only
  1900. apply to certain protocols). \n Must be one of these string
  1901. values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\",
  1902. \"UDPLite\" or an integer in the range 1-255."
  1903. pattern: ^.*
  1904. x-kubernetes-int-or-string: true
  1905. source:
  1906. description: Source contains the match criteria that apply to
  1907. source entity.
  1908. properties:
  1909. namespaceSelector:
  1910. description: "NamespaceSelector is an optional field that
  1911. contains a selector expression. Only traffic that originates
  1912. from (or terminates at) endpoints within the selected
  1913. namespaces will be matched. When both NamespaceSelector
  1914. and another selector are defined on the same rule, then
  1915. only workload endpoints that are matched by both selectors
  1916. will be selected by the rule. \n For NetworkPolicy, an
  1917. empty NamespaceSelector implies that the Selector is limited
  1918. to selecting only workload endpoints in the same namespace
  1919. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  1920. NamespaceSelector implies that the Selector is limited
  1921. to selecting only GlobalNetworkSet or HostEndpoint. \n
  1922. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  1923. the Selector applies to workload endpoints across all
  1924. namespaces."
  1925. type: string
  1926. nets:
  1927. description: Nets is an optional field that restricts the
  1928. rule to only apply to traffic that originates from (or
  1929. terminates at) IP addresses in any of the given subnets.
  1930. items:
  1931. type: string
  1932. type: array
  1933. notNets:
  1934. description: NotNets is the negated version of the Nets
  1935. field.
  1936. items:
  1937. type: string
  1938. type: array
  1939. notPorts:
  1940. description: NotPorts is the negated version of the Ports
  1941. field. Since only some protocols have ports, if any ports
  1942. are specified it requires the Protocol match in the Rule
  1943. to be set to "TCP" or "UDP".
  1944. items:
  1945. anyOf:
  1946. - type: integer
  1947. - type: string
  1948. pattern: ^.*
  1949. x-kubernetes-int-or-string: true
  1950. type: array
  1951. notSelector:
  1952. description: NotSelector is the negated version of the Selector
  1953. field. See Selector field for subtleties with negated
  1954. selectors.
  1955. type: string
  1956. ports:
  1957. description: "Ports is an optional field that restricts
  1958. the rule to only apply to traffic that has a source (destination)
  1959. port that matches one of these ranges/values. This value
  1960. is a list of integers or strings that represent ranges
  1961. of ports. \n Since only some protocols have ports, if
  1962. any ports are specified it requires the Protocol match
  1963. in the Rule to be set to \"TCP\" or \"UDP\"."
  1964. items:
  1965. anyOf:
  1966. - type: integer
  1967. - type: string
  1968. pattern: ^.*
  1969. x-kubernetes-int-or-string: true
  1970. type: array
  1971. selector:
  1972. description: "Selector is an optional field that contains
  1973. a selector expression (see Policy for sample syntax).
  1974. \ Only traffic that originates from (terminates at) endpoints
  1975. matching the selector will be matched. \n Note that: in
  1976. addition to the negated version of the Selector (see NotSelector
  1977. below), the selector expression syntax itself supports
  1978. negation. The two types of negation are subtly different.
  1979. One negates the set of matched endpoints, the other negates
  1980. the whole match: \n \tSelector = \"!has(my_label)\" matches
  1981. packets that are from other Calico-controlled \tendpoints
  1982. that do not have the label \"my_label\". \n \tNotSelector
  1983. = \"has(my_label)\" matches packets that are not from
  1984. Calico-controlled \tendpoints that do have the label \"my_label\".
  1985. \n The effect is that the latter will accept packets from
  1986. non-Calico sources whereas the former is limited to packets
  1987. from Calico-controlled endpoints."
  1988. type: string
  1989. serviceAccounts:
  1990. description: ServiceAccounts is an optional field that restricts
  1991. the rule to only apply to traffic that originates from
  1992. (or terminates at) a pod running as a matching service
  1993. account.
  1994. properties:
  1995. names:
  1996. description: Names is an optional field that restricts
  1997. the rule to only apply to traffic that originates
  1998. from (or terminates at) a pod running as a service
  1999. account whose name is in the list.
  2000. items:
  2001. type: string
  2002. type: array
  2003. selector:
  2004. description: Selector is an optional field that restricts
  2005. the rule to only apply to traffic that originates
  2006. from (or terminates at) a pod running as a service
  2007. account that matches the given label selector. If
  2008. both Names and Selector are specified then they are
  2009. AND'ed.
  2010. type: string
  2011. type: object
  2012. services:
  2013. description: "Services is an optional field that contains
  2014. options for matching Kubernetes Services. If specified,
  2015. only traffic that originates from or terminates at endpoints
  2016. within the selected service(s) will be matched, and only
  2017. to/from each endpoint's port. \n Services cannot be specified
  2018. on the same rule as Selector, NotSelector, NamespaceSelector,
  2019. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  2020. can only be specified with Services on ingress rules."
  2021. properties:
  2022. name:
  2023. description: Name specifies the name of a Kubernetes
  2024. Service to match.
  2025. type: string
  2026. namespace:
  2027. description: Namespace specifies the namespace of the
  2028. given Service. If left empty, the rule will match
  2029. within this policy's namespace.
  2030. type: string
  2031. type: object
  2032. type: object
  2033. required:
  2034. - action
  2035. type: object
  2036. type: array
  2037. ingress:
  2038. description: The ordered set of ingress rules. Each rule contains
  2039. a set of packet match criteria and a corresponding action to apply.
  2040. items:
  2041. description: "A Rule encapsulates a set of match criteria and an
  2042. action. Both selector-based security Policy and security Profiles
  2043. reference rules - separated out as a list of rules for both ingress
  2044. and egress packet matching. \n Each positive match criteria has
  2045. a negated version, prefixed with \"Not\". All the match criteria
  2046. within a rule must be satisfied for a packet to match. A single
  2047. rule can contain the positive and negative version of a match
  2048. and both must be satisfied for the rule to match."
  2049. properties:
  2050. action:
  2051. type: string
  2052. destination:
  2053. description: Destination contains the match criteria that apply
  2054. to destination entity.
  2055. properties:
  2056. namespaceSelector:
  2057. description: "NamespaceSelector is an optional field that
  2058. contains a selector expression. Only traffic that originates
  2059. from (or terminates at) endpoints within the selected
  2060. namespaces will be matched. When both NamespaceSelector
  2061. and another selector are defined on the same rule, then
  2062. only workload endpoints that are matched by both selectors
  2063. will be selected by the rule. \n For NetworkPolicy, an
  2064. empty NamespaceSelector implies that the Selector is limited
  2065. to selecting only workload endpoints in the same namespace
  2066. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  2067. NamespaceSelector implies that the Selector is limited
  2068. to selecting only GlobalNetworkSet or HostEndpoint. \n
  2069. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  2070. the Selector applies to workload endpoints across all
  2071. namespaces."
  2072. type: string
  2073. nets:
  2074. description: Nets is an optional field that restricts the
  2075. rule to only apply to traffic that originates from (or
  2076. terminates at) IP addresses in any of the given subnets.
  2077. items:
  2078. type: string
  2079. type: array
  2080. notNets:
  2081. description: NotNets is the negated version of the Nets
  2082. field.
  2083. items:
  2084. type: string
  2085. type: array
  2086. notPorts:
  2087. description: NotPorts is the negated version of the Ports
  2088. field. Since only some protocols have ports, if any ports
  2089. are specified it requires the Protocol match in the Rule
  2090. to be set to "TCP" or "UDP".
  2091. items:
  2092. anyOf:
  2093. - type: integer
  2094. - type: string
  2095. pattern: ^.*
  2096. x-kubernetes-int-or-string: true
  2097. type: array
  2098. notSelector:
  2099. description: NotSelector is the negated version of the Selector
  2100. field. See Selector field for subtleties with negated
  2101. selectors.
  2102. type: string
  2103. ports:
  2104. description: "Ports is an optional field that restricts
  2105. the rule to only apply to traffic that has a source (destination)
  2106. port that matches one of these ranges/values. This value
  2107. is a list of integers or strings that represent ranges
  2108. of ports. \n Since only some protocols have ports, if
  2109. any ports are specified it requires the Protocol match
  2110. in the Rule to be set to \"TCP\" or \"UDP\"."
  2111. items:
  2112. anyOf:
  2113. - type: integer
  2114. - type: string
  2115. pattern: ^.*
  2116. x-kubernetes-int-or-string: true
  2117. type: array
  2118. selector:
  2119. description: "Selector is an optional field that contains
  2120. a selector expression (see Policy for sample syntax).
  2121. \ Only traffic that originates from (terminates at) endpoints
  2122. matching the selector will be matched. \n Note that: in
  2123. addition to the negated version of the Selector (see NotSelector
  2124. below), the selector expression syntax itself supports
  2125. negation. The two types of negation are subtly different.
  2126. One negates the set of matched endpoints, the other negates
  2127. the whole match: \n \tSelector = \"!has(my_label)\" matches
  2128. packets that are from other Calico-controlled \tendpoints
  2129. that do not have the label \"my_label\". \n \tNotSelector
  2130. = \"has(my_label)\" matches packets that are not from
  2131. Calico-controlled \tendpoints that do have the label \"my_label\".
  2132. \n The effect is that the latter will accept packets from
  2133. non-Calico sources whereas the former is limited to packets
  2134. from Calico-controlled endpoints."
  2135. type: string
  2136. serviceAccounts:
  2137. description: ServiceAccounts is an optional field that restricts
  2138. the rule to only apply to traffic that originates from
  2139. (or terminates at) a pod running as a matching service
  2140. account.
  2141. properties:
  2142. names:
  2143. description: Names is an optional field that restricts
  2144. the rule to only apply to traffic that originates
  2145. from (or terminates at) a pod running as a service
  2146. account whose name is in the list.
  2147. items:
  2148. type: string
  2149. type: array
  2150. selector:
  2151. description: Selector is an optional field that restricts
  2152. the rule to only apply to traffic that originates
  2153. from (or terminates at) a pod running as a service
  2154. account that matches the given label selector. If
  2155. both Names and Selector are specified then they are
  2156. AND'ed.
  2157. type: string
  2158. type: object
  2159. services:
  2160. description: "Services is an optional field that contains
  2161. options for matching Kubernetes Services. If specified,
  2162. only traffic that originates from or terminates at endpoints
  2163. within the selected service(s) will be matched, and only
  2164. to/from each endpoint's port. \n Services cannot be specified
  2165. on the same rule as Selector, NotSelector, NamespaceSelector,
  2166. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  2167. can only be specified with Services on ingress rules."
  2168. properties:
  2169. name:
  2170. description: Name specifies the name of a Kubernetes
  2171. Service to match.
  2172. type: string
  2173. namespace:
  2174. description: Namespace specifies the namespace of the
  2175. given Service. If left empty, the rule will match
  2176. within this policy's namespace.
  2177. type: string
  2178. type: object
  2179. type: object
  2180. http:
  2181. description: HTTP contains match criteria that apply to HTTP
  2182. requests.
  2183. properties:
  2184. methods:
  2185. description: Methods is an optional field that restricts
  2186. the rule to apply only to HTTP requests that use one of
  2187. the listed HTTP Methods (e.g. GET, PUT, etc.) Multiple
  2188. methods are OR'd together.
  2189. items:
  2190. type: string
  2191. type: array
  2192. paths:
  2193. description: 'Paths is an optional field that restricts
  2194. the rule to apply to HTTP requests that use one of the
  2195. listed HTTP Paths. Multiple paths are OR''d together.
  2196. e.g: - exact: /foo - prefix: /bar NOTE: Each entry may
  2197. ONLY specify either a `exact` or a `prefix` match. The
  2198. validator will check for it.'
  2199. items:
  2200. description: 'HTTPPath specifies an HTTP path to match.
  2201. It may be either of the form: exact: <path>: which matches
  2202. the path exactly or prefix: <path-prefix>: which matches
  2203. the path prefix'
  2204. properties:
  2205. exact:
  2206. type: string
  2207. prefix:
  2208. type: string
  2209. type: object
  2210. type: array
  2211. type: object
  2212. icmp:
  2213. description: ICMP is an optional field that restricts the rule
  2214. to apply to a specific type and code of ICMP traffic. This
  2215. should only be specified if the Protocol field is set to "ICMP"
  2216. or "ICMPv6".
  2217. properties:
  2218. code:
  2219. description: Match on a specific ICMP code. If specified,
  2220. the Type value must also be specified. This is a technical
  2221. limitation imposed by the kernel's iptables firewall,
  2222. which Calico uses to enforce the rule.
  2223. type: integer
  2224. type:
  2225. description: Match on a specific ICMP type. For example
  2226. a value of 8 refers to ICMP Echo Request (i.e. pings).
  2227. type: integer
  2228. type: object
  2229. ipVersion:
  2230. description: IPVersion is an optional field that restricts the
  2231. rule to only match a specific IP version.
  2232. type: integer
  2233. metadata:
  2234. description: Metadata contains additional information for this
  2235. rule
  2236. properties:
  2237. annotations:
  2238. additionalProperties:
  2239. type: string
  2240. description: Annotations is a set of key value pairs that
  2241. give extra information about the rule
  2242. type: object
  2243. type: object
  2244. notICMP:
  2245. description: NotICMP is the negated version of the ICMP field.
  2246. properties:
  2247. code:
  2248. description: Match on a specific ICMP code. If specified,
  2249. the Type value must also be specified. This is a technical
  2250. limitation imposed by the kernel's iptables firewall,
  2251. which Calico uses to enforce the rule.
  2252. type: integer
  2253. type:
  2254. description: Match on a specific ICMP type. For example
  2255. a value of 8 refers to ICMP Echo Request (i.e. pings).
  2256. type: integer
  2257. type: object
  2258. notProtocol:
  2259. anyOf:
  2260. - type: integer
  2261. - type: string
  2262. description: NotProtocol is the negated version of the Protocol
  2263. field.
  2264. pattern: ^.*
  2265. x-kubernetes-int-or-string: true
  2266. protocol:
  2267. anyOf:
  2268. - type: integer
  2269. - type: string
  2270. description: "Protocol is an optional field that restricts the
  2271. rule to only apply to traffic of a specific IP protocol. Required
  2272. if any of the EntityRules contain Ports (because ports only
  2273. apply to certain protocols). \n Must be one of these string
  2274. values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\",
  2275. \"UDPLite\" or an integer in the range 1-255."
  2276. pattern: ^.*
  2277. x-kubernetes-int-or-string: true
  2278. source:
  2279. description: Source contains the match criteria that apply to
  2280. source entity.
  2281. properties:
  2282. namespaceSelector:
  2283. description: "NamespaceSelector is an optional field that
  2284. contains a selector expression. Only traffic that originates
  2285. from (or terminates at) endpoints within the selected
  2286. namespaces will be matched. When both NamespaceSelector
  2287. and another selector are defined on the same rule, then
  2288. only workload endpoints that are matched by both selectors
  2289. will be selected by the rule. \n For NetworkPolicy, an
  2290. empty NamespaceSelector implies that the Selector is limited
  2291. to selecting only workload endpoints in the same namespace
  2292. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  2293. NamespaceSelector implies that the Selector is limited
  2294. to selecting only GlobalNetworkSet or HostEndpoint. \n
  2295. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  2296. the Selector applies to workload endpoints across all
  2297. namespaces."
  2298. type: string
  2299. nets:
  2300. description: Nets is an optional field that restricts the
  2301. rule to only apply to traffic that originates from (or
  2302. terminates at) IP addresses in any of the given subnets.
  2303. items:
  2304. type: string
  2305. type: array
  2306. notNets:
  2307. description: NotNets is the negated version of the Nets
  2308. field.
  2309. items:
  2310. type: string
  2311. type: array
  2312. notPorts:
  2313. description: NotPorts is the negated version of the Ports
  2314. field. Since only some protocols have ports, if any ports
  2315. are specified it requires the Protocol match in the Rule
  2316. to be set to "TCP" or "UDP".
  2317. items:
  2318. anyOf:
  2319. - type: integer
  2320. - type: string
  2321. pattern: ^.*
  2322. x-kubernetes-int-or-string: true
  2323. type: array
  2324. notSelector:
  2325. description: NotSelector is the negated version of the Selector
  2326. field. See Selector field for subtleties with negated
  2327. selectors.
  2328. type: string
  2329. ports:
  2330. description: "Ports is an optional field that restricts
  2331. the rule to only apply to traffic that has a source (destination)
  2332. port that matches one of these ranges/values. This value
  2333. is a list of integers or strings that represent ranges
  2334. of ports. \n Since only some protocols have ports, if
  2335. any ports are specified it requires the Protocol match
  2336. in the Rule to be set to \"TCP\" or \"UDP\"."
  2337. items:
  2338. anyOf:
  2339. - type: integer
  2340. - type: string
  2341. pattern: ^.*
  2342. x-kubernetes-int-or-string: true
  2343. type: array
  2344. selector:
  2345. description: "Selector is an optional field that contains
  2346. a selector expression (see Policy for sample syntax).
  2347. \ Only traffic that originates from (terminates at) endpoints
  2348. matching the selector will be matched. \n Note that: in
  2349. addition to the negated version of the Selector (see NotSelector
  2350. below), the selector expression syntax itself supports
  2351. negation. The two types of negation are subtly different.
  2352. One negates the set of matched endpoints, the other negates
  2353. the whole match: \n \tSelector = \"!has(my_label)\" matches
  2354. packets that are from other Calico-controlled \tendpoints
  2355. that do not have the label \"my_label\". \n \tNotSelector
  2356. = \"has(my_label)\" matches packets that are not from
  2357. Calico-controlled \tendpoints that do have the label \"my_label\".
  2358. \n The effect is that the latter will accept packets from
  2359. non-Calico sources whereas the former is limited to packets
  2360. from Calico-controlled endpoints."
  2361. type: string
  2362. serviceAccounts:
  2363. description: ServiceAccounts is an optional field that restricts
  2364. the rule to only apply to traffic that originates from
  2365. (or terminates at) a pod running as a matching service
  2366. account.
  2367. properties:
  2368. names:
  2369. description: Names is an optional field that restricts
  2370. the rule to only apply to traffic that originates
  2371. from (or terminates at) a pod running as a service
  2372. account whose name is in the list.
  2373. items:
  2374. type: string
  2375. type: array
  2376. selector:
  2377. description: Selector is an optional field that restricts
  2378. the rule to only apply to traffic that originates
  2379. from (or terminates at) a pod running as a service
  2380. account that matches the given label selector. If
  2381. both Names and Selector are specified then they are
  2382. AND'ed.
  2383. type: string
  2384. type: object
  2385. services:
  2386. description: "Services is an optional field that contains
  2387. options for matching Kubernetes Services. If specified,
  2388. only traffic that originates from or terminates at endpoints
  2389. within the selected service(s) will be matched, and only
  2390. to/from each endpoint's port. \n Services cannot be specified
  2391. on the same rule as Selector, NotSelector, NamespaceSelector,
  2392. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  2393. can only be specified with Services on ingress rules."
  2394. properties:
  2395. name:
  2396. description: Name specifies the name of a Kubernetes
  2397. Service to match.
  2398. type: string
  2399. namespace:
  2400. description: Namespace specifies the namespace of the
  2401. given Service. If left empty, the rule will match
  2402. within this policy's namespace.
  2403. type: string
  2404. type: object
  2405. type: object
  2406. required:
  2407. - action
  2408. type: object
  2409. type: array
  2410. namespaceSelector:
  2411. description: NamespaceSelector is an optional field for an expression
  2412. used to select a pod based on namespaces.
  2413. type: string
  2414. order:
  2415. description: Order is an optional field that specifies the order in
  2416. which the policy is applied. Policies with higher "order" are applied
  2417. after those with lower order. If the order is omitted, it may be
  2418. considered to be "infinite" - i.e. the policy will be applied last. Policies
  2419. with identical order will be applied in alphanumerical order based
  2420. on the Policy "Name".
  2421. type: number
  2422. preDNAT:
  2423. description: PreDNAT indicates to apply the rules in this policy before
  2424. any DNAT.
  2425. type: boolean
  2426. selector:
  2427. description: "The selector is an expression used to pick pick out
  2428. the endpoints that the policy should be applied to. \n Selector
  2429. expressions follow this syntax: \n \tlabel == \"string_literal\"
  2430. \ -> comparison, e.g. my_label == \"foo bar\" \tlabel != \"string_literal\"
  2431. \ -> not equal; also matches if label is not present \tlabel in
  2432. { \"a\", \"b\", \"c\", ... } -> true if the value of label X is
  2433. one of \"a\", \"b\", \"c\" \tlabel not in { \"a\", \"b\", \"c\",
  2434. ... } -> true if the value of label X is not one of \"a\", \"b\",
  2435. \"c\" \thas(label_name) -> True if that label is present \t! expr
  2436. -> negation of expr \texpr && expr -> Short-circuit and \texpr
  2437. || expr -> Short-circuit or \t( expr ) -> parens for grouping \tall()
  2438. or the empty selector -> matches all endpoints. \n Label names are
  2439. allowed to contain alphanumerics, -, _ and /. String literals are
  2440. more permissive but they do not support escape characters. \n Examples
  2441. (with made-up labels): \n \ttype == \"webserver\" && deployment
  2442. == \"prod\" \ttype in {\"frontend\", \"backend\"} \tdeployment !=
  2443. \"dev\" \t! has(label_name)"
  2444. type: string
  2445. serviceAccountSelector:
  2446. description: ServiceAccountSelector is an optional field for an expression
  2447. used to select a pod based on service accounts.
  2448. type: string
  2449. types:
  2450. description: "Types indicates whether this policy applies to ingress,
  2451. or to egress, or to both. When not explicitly specified (and so
  2452. the value on creation is empty or nil), Calico defaults Types according
  2453. to what Ingress and Egress rules are present in the policy. The
  2454. default is: \n - [ PolicyTypeIngress ], if there are no Egress rules
  2455. (including the case where there are also no Ingress rules) \n
  2456. - [ PolicyTypeEgress ], if there are Egress rules but no Ingress
  2457. rules \n - [ PolicyTypeIngress, PolicyTypeEgress ], if there are
  2458. both Ingress and Egress rules. \n When the policy is read back again,
  2459. Types will always be one of these values, never empty or nil."
  2460. items:
  2461. description: PolicyType enumerates the possible values of the PolicySpec
  2462. Types field.
  2463. type: string
  2464. type: array
  2465. type: object
  2466. type: object
  2467. served: true
  2468. storage: true
  2469. status:
  2470. acceptedNames:
  2471. kind: ""
  2472. plural: ""
  2473. conditions: []
  2474. storedVersions: []
  2475. ---
  2476. # Source: crds/calico/crd.projectcalico.org_globalnetworksets.yaml
  2477. apiVersion: apiextensions.k8s.io/v1
  2478. kind: CustomResourceDefinition
  2479. metadata:
  2480. name: globalnetworksets.crd.projectcalico.org
  2481. spec:
  2482. group: crd.projectcalico.org
  2483. names:
  2484. kind: GlobalNetworkSet
  2485. listKind: GlobalNetworkSetList
  2486. plural: globalnetworksets
  2487. singular: globalnetworkset
  2488. preserveUnknownFields: false
  2489. scope: Cluster
  2490. versions:
  2491. - name: v1
  2492. schema:
  2493. openAPIV3Schema:
  2494. description: GlobalNetworkSet contains a set of arbitrary IP sub-networks/CIDRs
  2495. that share labels to allow rules to refer to them via selectors. The labels
  2496. of GlobalNetworkSet are not namespaced.
  2497. properties:
  2498. apiVersion:
  2499. description: 'APIVersion defines the versioned schema of this representation
  2500. of an object. Servers should convert recognized schemas to the latest
  2501. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2502. type: string
  2503. kind:
  2504. description: 'Kind is a string value representing the REST resource this
  2505. object represents. Servers may infer this from the endpoint the client
  2506. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2507. type: string
  2508. metadata:
  2509. type: object
  2510. spec:
  2511. description: GlobalNetworkSetSpec contains the specification for a NetworkSet
  2512. resource.
  2513. properties:
  2514. nets:
  2515. description: The list of IP networks that belong to this set.
  2516. items:
  2517. type: string
  2518. type: array
  2519. type: object
  2520. type: object
  2521. served: true
  2522. storage: true
  2523. status:
  2524. acceptedNames:
  2525. kind: ""
  2526. plural: ""
  2527. conditions: []
  2528. storedVersions: []
  2529. ---
  2530. # Source: crds/calico/crd.projectcalico.org_hostendpoints.yaml
  2531. apiVersion: apiextensions.k8s.io/v1
  2532. kind: CustomResourceDefinition
  2533. metadata:
  2534. name: hostendpoints.crd.projectcalico.org
  2535. spec:
  2536. group: crd.projectcalico.org
  2537. names:
  2538. kind: HostEndpoint
  2539. listKind: HostEndpointList
  2540. plural: hostendpoints
  2541. singular: hostendpoint
  2542. preserveUnknownFields: false
  2543. scope: Cluster
  2544. versions:
  2545. - name: v1
  2546. schema:
  2547. openAPIV3Schema:
  2548. properties:
  2549. apiVersion:
  2550. description: 'APIVersion defines the versioned schema of this representation
  2551. of an object. Servers should convert recognized schemas to the latest
  2552. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2553. type: string
  2554. kind:
  2555. description: 'Kind is a string value representing the REST resource this
  2556. object represents. Servers may infer this from the endpoint the client
  2557. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2558. type: string
  2559. metadata:
  2560. type: object
  2561. spec:
  2562. description: HostEndpointSpec contains the specification for a HostEndpoint
  2563. resource.
  2564. properties:
  2565. expectedIPs:
  2566. description: "The expected IP addresses (IPv4 and IPv6) of the endpoint.
  2567. If \"InterfaceName\" is not present, Calico will look for an interface
  2568. matching any of the IPs in the list and apply policy to that. Note:
  2569. \tWhen using the selector match criteria in an ingress or egress
  2570. security Policy \tor Profile, Calico converts the selector into
  2571. a set of IP addresses. For host \tendpoints, the ExpectedIPs field
  2572. is used for that purpose. (If only the interface \tname is specified,
  2573. Calico does not learn the IPs of the interface for use in match
  2574. \tcriteria.)"
  2575. items:
  2576. type: string
  2577. type: array
  2578. interfaceName:
  2579. description: "Either \"*\", or the name of a specific Linux interface
  2580. to apply policy to; or empty. \"*\" indicates that this HostEndpoint
  2581. governs all traffic to, from or through the default network namespace
  2582. of the host named by the \"Node\" field; entering and leaving that
  2583. namespace via any interface, including those from/to non-host-networked
  2584. local workloads. \n If InterfaceName is not \"*\", this HostEndpoint
  2585. only governs traffic that enters or leaves the host through the
  2586. specific interface named by InterfaceName, or - when InterfaceName
  2587. is empty - through the specific interface that has one of the IPs
  2588. in ExpectedIPs. Therefore, when InterfaceName is empty, at least
  2589. one expected IP must be specified. Only external interfaces (such
  2590. as \"eth0\") are supported here; it isn't possible for a HostEndpoint
  2591. to protect traffic through a specific local workload interface.
  2592. \n Note: Only some kinds of policy are implemented for \"*\" HostEndpoints;
  2593. initially just pre-DNAT policy. Please check Calico documentation
  2594. for the latest position."
  2595. type: string
  2596. node:
  2597. description: The node name identifying the Calico node instance.
  2598. type: string
  2599. ports:
  2600. description: Ports contains the endpoint's named ports, which may
  2601. be referenced in security policy rules.
  2602. items:
  2603. properties:
  2604. name:
  2605. type: string
  2606. port:
  2607. type: integer
  2608. protocol:
  2609. anyOf:
  2610. - type: integer
  2611. - type: string
  2612. pattern: ^.*
  2613. x-kubernetes-int-or-string: true
  2614. required:
  2615. - name
  2616. - port
  2617. - protocol
  2618. type: object
  2619. type: array
  2620. profiles:
  2621. description: A list of identifiers of security Profile objects that
  2622. apply to this endpoint. Each profile is applied in the order that
  2623. they appear in this list. Profile rules are applied after the selector-based
  2624. security policy.
  2625. items:
  2626. type: string
  2627. type: array
  2628. type: object
  2629. type: object
  2630. served: true
  2631. storage: true
  2632. status:
  2633. acceptedNames:
  2634. kind: ""
  2635. plural: ""
  2636. conditions: []
  2637. storedVersions: []
  2638. ---
  2639. # Source: crds/calico/crd.projectcalico.org_ipamblocks.yaml
  2640. apiVersion: apiextensions.k8s.io/v1
  2641. kind: CustomResourceDefinition
  2642. metadata:
  2643. name: ipamblocks.crd.projectcalico.org
  2644. spec:
  2645. group: crd.projectcalico.org
  2646. names:
  2647. kind: IPAMBlock
  2648. listKind: IPAMBlockList
  2649. plural: ipamblocks
  2650. singular: ipamblock
  2651. preserveUnknownFields: false
  2652. scope: Cluster
  2653. versions:
  2654. - name: v1
  2655. schema:
  2656. openAPIV3Schema:
  2657. properties:
  2658. apiVersion:
  2659. description: 'APIVersion defines the versioned schema of this representation
  2660. of an object. Servers should convert recognized schemas to the latest
  2661. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2662. type: string
  2663. kind:
  2664. description: 'Kind is a string value representing the REST resource this
  2665. object represents. Servers may infer this from the endpoint the client
  2666. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2667. type: string
  2668. metadata:
  2669. type: object
  2670. spec:
  2671. description: IPAMBlockSpec contains the specification for an IPAMBlock
  2672. resource.
  2673. properties:
  2674. affinity:
  2675. description: Affinity of the block, if this block has one. If set,
  2676. it will be of the form "host:<hostname>". If not set, this block
  2677. is not affine to a host.
  2678. type: string
  2679. allocations:
  2680. description: Array of allocations in-use within this block. nil entries
  2681. mean the allocation is free. For non-nil entries at index i, the
  2682. index is the ordinal of the allocation within this block and the
  2683. value is the index of the associated attributes in the Attributes
  2684. array.
  2685. items:
  2686. type: integer
  2687. # TODO: This nullable is manually added in. We should update controller-gen
  2688. # to handle []*int properly itself.
  2689. nullable: true
  2690. type: array
  2691. attributes:
  2692. description: Attributes is an array of arbitrary metadata associated
  2693. with allocations in the block. To find attributes for a given allocation,
  2694. use the value of the allocation's entry in the Allocations array
  2695. as the index of the element in this array.
  2696. items:
  2697. properties:
  2698. handle_id:
  2699. type: string
  2700. secondary:
  2701. additionalProperties:
  2702. type: string
  2703. type: object
  2704. type: object
  2705. type: array
  2706. cidr:
  2707. description: The block's CIDR.
  2708. type: string
  2709. deleted:
  2710. description: Deleted is an internal boolean used to workaround a limitation
  2711. in the Kubernetes API whereby deletion will not return a conflict
  2712. error if the block has been updated. It should not be set manually.
  2713. type: boolean
  2714. sequenceNumber:
  2715. default: 0
  2716. description: We store a sequence number that is updated each time
  2717. the block is written. Each allocation will also store the sequence
  2718. number of the block at the time of its creation. When releasing
  2719. an IP, passing the sequence number associated with the allocation
  2720. allows us to protect against a race condition and ensure the IP
  2721. hasn't been released and re-allocated since the release request.
  2722. format: int64
  2723. type: integer
  2724. sequenceNumberForAllocation:
  2725. additionalProperties:
  2726. format: int64
  2727. type: integer
  2728. description: Map of allocated ordinal within the block to sequence
  2729. number of the block at the time of allocation. Kubernetes does not
  2730. allow numerical keys for maps, so the key is cast to a string.
  2731. type: object
  2732. strictAffinity:
  2733. description: StrictAffinity on the IPAMBlock is deprecated and no
  2734. longer used by the code. Use IPAMConfig StrictAffinity instead.
  2735. type: boolean
  2736. unallocated:
  2737. description: Unallocated is an ordered list of allocations which are
  2738. free in the block.
  2739. items:
  2740. type: integer
  2741. type: array
  2742. required:
  2743. - allocations
  2744. - attributes
  2745. - cidr
  2746. - strictAffinity
  2747. - unallocated
  2748. type: object
  2749. type: object
  2750. served: true
  2751. storage: true
  2752. status:
  2753. acceptedNames:
  2754. kind: ""
  2755. plural: ""
  2756. conditions: []
  2757. storedVersions: []
  2758. ---
  2759. # Source: crds/calico/crd.projectcalico.org_ipamconfigs.yaml
  2760. apiVersion: apiextensions.k8s.io/v1
  2761. kind: CustomResourceDefinition
  2762. metadata:
  2763. name: ipamconfigs.crd.projectcalico.org
  2764. spec:
  2765. group: crd.projectcalico.org
  2766. names:
  2767. kind: IPAMConfig
  2768. listKind: IPAMConfigList
  2769. plural: ipamconfigs
  2770. singular: ipamconfig
  2771. preserveUnknownFields: false
  2772. scope: Cluster
  2773. versions:
  2774. - name: v1
  2775. schema:
  2776. openAPIV3Schema:
  2777. properties:
  2778. apiVersion:
  2779. description: 'APIVersion defines the versioned schema of this representation
  2780. of an object. Servers should convert recognized schemas to the latest
  2781. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2782. type: string
  2783. kind:
  2784. description: 'Kind is a string value representing the REST resource this
  2785. object represents. Servers may infer this from the endpoint the client
  2786. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2787. type: string
  2788. metadata:
  2789. type: object
  2790. spec:
  2791. description: IPAMConfigSpec contains the specification for an IPAMConfig
  2792. resource.
  2793. properties:
  2794. autoAllocateBlocks:
  2795. type: boolean
  2796. maxBlocksPerHost:
  2797. description: MaxBlocksPerHost, if non-zero, is the max number of blocks
  2798. that can be affine to each host.
  2799. maximum: 2147483647
  2800. minimum: 0
  2801. type: integer
  2802. strictAffinity:
  2803. type: boolean
  2804. required:
  2805. - autoAllocateBlocks
  2806. - strictAffinity
  2807. type: object
  2808. type: object
  2809. served: true
  2810. storage: true
  2811. status:
  2812. acceptedNames:
  2813. kind: ""
  2814. plural: ""
  2815. conditions: []
  2816. storedVersions: []
  2817. ---
  2818. # Source: crds/calico/crd.projectcalico.org_ipamhandles.yaml
  2819. apiVersion: apiextensions.k8s.io/v1
  2820. kind: CustomResourceDefinition
  2821. metadata:
  2822. name: ipamhandles.crd.projectcalico.org
  2823. spec:
  2824. group: crd.projectcalico.org
  2825. names:
  2826. kind: IPAMHandle
  2827. listKind: IPAMHandleList
  2828. plural: ipamhandles
  2829. singular: ipamhandle
  2830. preserveUnknownFields: false
  2831. scope: Cluster
  2832. versions:
  2833. - name: v1
  2834. schema:
  2835. openAPIV3Schema:
  2836. properties:
  2837. apiVersion:
  2838. description: 'APIVersion defines the versioned schema of this representation
  2839. of an object. Servers should convert recognized schemas to the latest
  2840. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2841. type: string
  2842. kind:
  2843. description: 'Kind is a string value representing the REST resource this
  2844. object represents. Servers may infer this from the endpoint the client
  2845. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2846. type: string
  2847. metadata:
  2848. type: object
  2849. spec:
  2850. description: IPAMHandleSpec contains the specification for an IPAMHandle
  2851. resource.
  2852. properties:
  2853. block:
  2854. additionalProperties:
  2855. type: integer
  2856. type: object
  2857. deleted:
  2858. type: boolean
  2859. handleID:
  2860. type: string
  2861. required:
  2862. - block
  2863. - handleID
  2864. type: object
  2865. type: object
  2866. served: true
  2867. storage: true
  2868. status:
  2869. acceptedNames:
  2870. kind: ""
  2871. plural: ""
  2872. conditions: []
  2873. storedVersions: []
  2874. ---
  2875. # Source: crds/calico/crd.projectcalico.org_ippools.yaml
  2876. apiVersion: apiextensions.k8s.io/v1
  2877. kind: CustomResourceDefinition
  2878. metadata:
  2879. name: ippools.crd.projectcalico.org
  2880. spec:
  2881. group: crd.projectcalico.org
  2882. names:
  2883. kind: IPPool
  2884. listKind: IPPoolList
  2885. plural: ippools
  2886. singular: ippool
  2887. preserveUnknownFields: false
  2888. scope: Cluster
  2889. versions:
  2890. - name: v1
  2891. schema:
  2892. openAPIV3Schema:
  2893. properties:
  2894. apiVersion:
  2895. description: 'APIVersion defines the versioned schema of this representation
  2896. of an object. Servers should convert recognized schemas to the latest
  2897. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2898. type: string
  2899. kind:
  2900. description: 'Kind is a string value representing the REST resource this
  2901. object represents. Servers may infer this from the endpoint the client
  2902. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2903. type: string
  2904. metadata:
  2905. type: object
  2906. spec:
  2907. description: IPPoolSpec contains the specification for an IPPool resource.
  2908. properties:
  2909. allowedUses:
  2910. description: AllowedUse controls what the IP pool will be used for. If
  2911. not specified or empty, defaults to ["Tunnel", "Workload"] for back-compatibility
  2912. items:
  2913. type: string
  2914. type: array
  2915. blockSize:
  2916. description: The block size to use for IP address assignments from
  2917. this pool. Defaults to 26 for IPv4 and 122 for IPv6.
  2918. type: integer
  2919. cidr:
  2920. description: The pool CIDR.
  2921. type: string
  2922. disableBGPExport:
  2923. description: 'Disable exporting routes from this IP Pool''s CIDR over
  2924. BGP. [Default: false]'
  2925. type: boolean
  2926. disabled:
  2927. description: When disabled is true, Calico IPAM will not assign addresses
  2928. from this pool.
  2929. type: boolean
  2930. ipip:
  2931. description: 'Deprecated: this field is only used for APIv1 backwards
  2932. compatibility. Setting this field is not allowed, this field is
  2933. for internal use only.'
  2934. properties:
  2935. enabled:
  2936. description: When enabled is true, ipip tunneling will be used
  2937. to deliver packets to destinations within this pool.
  2938. type: boolean
  2939. mode:
  2940. description: The IPIP mode. This can be one of "always" or "cross-subnet". A
  2941. mode of "always" will also use IPIP tunneling for routing to
  2942. destination IP addresses within this pool. A mode of "cross-subnet"
  2943. will only use IPIP tunneling when the destination node is on
  2944. a different subnet to the originating node. The default value
  2945. (if not specified) is "always".
  2946. type: string
  2947. type: object
  2948. ipipMode:
  2949. description: Contains configuration for IPIP tunneling for this pool.
  2950. If not specified, then this is defaulted to "Never" (i.e. IPIP tunneling
  2951. is disabled).
  2952. type: string
  2953. nat-outgoing:
  2954. description: 'Deprecated: this field is only used for APIv1 backwards
  2955. compatibility. Setting this field is not allowed, this field is
  2956. for internal use only.'
  2957. type: boolean
  2958. natOutgoing:
  2959. description: When natOutgoing is true, packets sent from Calico networked
  2960. containers in this pool to destinations outside of this pool will
  2961. be masqueraded.
  2962. type: boolean
  2963. nodeSelector:
  2964. description: Allows IPPool to allocate for a specific node by label
  2965. selector.
  2966. type: string
  2967. vxlanMode:
  2968. description: Contains configuration for VXLAN tunneling for this pool.
  2969. If not specified, then this is defaulted to "Never" (i.e. VXLAN
  2970. tunneling is disabled).
  2971. type: string
  2972. required:
  2973. - cidr
  2974. type: object
  2975. type: object
  2976. served: true
  2977. storage: true
  2978. status:
  2979. acceptedNames:
  2980. kind: ""
  2981. plural: ""
  2982. conditions: []
  2983. storedVersions: []
  2984. ---
  2985. # Source: crds/calico/crd.projectcalico.org_ipreservations.yaml
  2986. apiVersion: apiextensions.k8s.io/v1
  2987. kind: CustomResourceDefinition
  2988. metadata:
  2989. annotations:
  2990. controller-gen.kubebuilder.io/version: (devel)
  2991. creationTimestamp: null
  2992. name: ipreservations.crd.projectcalico.org
  2993. spec:
  2994. group: crd.projectcalico.org
  2995. names:
  2996. kind: IPReservation
  2997. listKind: IPReservationList
  2998. plural: ipreservations
  2999. singular: ipreservation
  3000. preserveUnknownFields: false
  3001. scope: Cluster
  3002. versions:
  3003. - name: v1
  3004. schema:
  3005. openAPIV3Schema:
  3006. properties:
  3007. apiVersion:
  3008. description: 'APIVersion defines the versioned schema of this representation
  3009. of an object. Servers should convert recognized schemas to the latest
  3010. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3011. type: string
  3012. kind:
  3013. description: 'Kind is a string value representing the REST resource this
  3014. object represents. Servers may infer this from the endpoint the client
  3015. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3016. type: string
  3017. metadata:
  3018. type: object
  3019. spec:
  3020. description: IPReservationSpec contains the specification for an IPReservation
  3021. resource.
  3022. properties:
  3023. reservedCIDRs:
  3024. description: ReservedCIDRs is a list of CIDRs and/or IP addresses
  3025. that Calico IPAM will exclude from new allocations.
  3026. items:
  3027. type: string
  3028. type: array
  3029. type: object
  3030. type: object
  3031. served: true
  3032. storage: true
  3033. status:
  3034. acceptedNames:
  3035. kind: ""
  3036. plural: ""
  3037. conditions: []
  3038. storedVersions: []
  3039. ---
  3040. # Source: crds/calico/crd.projectcalico.org_kubecontrollersconfigurations.yaml
  3041. apiVersion: apiextensions.k8s.io/v1
  3042. kind: CustomResourceDefinition
  3043. metadata:
  3044. name: kubecontrollersconfigurations.crd.projectcalico.org
  3045. spec:
  3046. group: crd.projectcalico.org
  3047. names:
  3048. kind: KubeControllersConfiguration
  3049. listKind: KubeControllersConfigurationList
  3050. plural: kubecontrollersconfigurations
  3051. singular: kubecontrollersconfiguration
  3052. preserveUnknownFields: false
  3053. scope: Cluster
  3054. versions:
  3055. - name: v1
  3056. schema:
  3057. openAPIV3Schema:
  3058. properties:
  3059. apiVersion:
  3060. description: 'APIVersion defines the versioned schema of this representation
  3061. of an object. Servers should convert recognized schemas to the latest
  3062. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3063. type: string
  3064. kind:
  3065. description: 'Kind is a string value representing the REST resource this
  3066. object represents. Servers may infer this from the endpoint the client
  3067. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3068. type: string
  3069. metadata:
  3070. type: object
  3071. spec:
  3072. description: KubeControllersConfigurationSpec contains the values of the
  3073. Kubernetes controllers configuration.
  3074. properties:
  3075. controllers:
  3076. description: Controllers enables and configures individual Kubernetes
  3077. controllers
  3078. properties:
  3079. namespace:
  3080. description: Namespace enables and configures the namespace controller.
  3081. Enabled by default, set to nil to disable.
  3082. properties:
  3083. reconcilerPeriod:
  3084. description: 'ReconcilerPeriod is the period to perform reconciliation
  3085. with the Calico datastore. [Default: 5m]'
  3086. type: string
  3087. type: object
  3088. node:
  3089. description: Node enables and configures the node controller.
  3090. Enabled by default, set to nil to disable.
  3091. properties:
  3092. hostEndpoint:
  3093. description: HostEndpoint controls syncing nodes to host endpoints.
  3094. Disabled by default, set to nil to disable.
  3095. properties:
  3096. autoCreate:
  3097. description: 'AutoCreate enables automatic creation of
  3098. host endpoints for every node. [Default: Disabled]'
  3099. type: string
  3100. type: object
  3101. leakGracePeriod:
  3102. description: 'LeakGracePeriod is the period used by the controller
  3103. to determine if an IP address has been leaked. Set to 0
  3104. to disable IP garbage collection. [Default: 15m]'
  3105. type: string
  3106. reconcilerPeriod:
  3107. description: 'ReconcilerPeriod is the period to perform reconciliation
  3108. with the Calico datastore. [Default: 5m]'
  3109. type: string
  3110. syncLabels:
  3111. description: 'SyncLabels controls whether to copy Kubernetes
  3112. node labels to Calico nodes. [Default: Enabled]'
  3113. type: string
  3114. type: object
  3115. policy:
  3116. description: Policy enables and configures the policy controller.
  3117. Enabled by default, set to nil to disable.
  3118. properties:
  3119. reconcilerPeriod:
  3120. description: 'ReconcilerPeriod is the period to perform reconciliation
  3121. with the Calico datastore. [Default: 5m]'
  3122. type: string
  3123. type: object
  3124. serviceAccount:
  3125. description: ServiceAccount enables and configures the service
  3126. account controller. Enabled by default, set to nil to disable.
  3127. properties:
  3128. reconcilerPeriod:
  3129. description: 'ReconcilerPeriod is the period to perform reconciliation
  3130. with the Calico datastore. [Default: 5m]'
  3131. type: string
  3132. type: object
  3133. workloadEndpoint:
  3134. description: WorkloadEndpoint enables and configures the workload
  3135. endpoint controller. Enabled by default, set to nil to disable.
  3136. properties:
  3137. reconcilerPeriod:
  3138. description: 'ReconcilerPeriod is the period to perform reconciliation
  3139. with the Calico datastore. [Default: 5m]'
  3140. type: string
  3141. type: object
  3142. type: object
  3143. debugProfilePort:
  3144. description: DebugProfilePort configures the port to serve memory
  3145. and cpu profiles on. If not specified, profiling is disabled.
  3146. format: int32
  3147. type: integer
  3148. etcdV3CompactionPeriod:
  3149. description: 'EtcdV3CompactionPeriod is the period between etcdv3
  3150. compaction requests. Set to 0 to disable. [Default: 10m]'
  3151. type: string
  3152. healthChecks:
  3153. description: 'HealthChecks enables or disables support for health
  3154. checks [Default: Enabled]'
  3155. type: string
  3156. logSeverityScreen:
  3157. description: 'LogSeverityScreen is the log severity above which logs
  3158. are sent to the stdout. [Default: Info]'
  3159. type: string
  3160. prometheusMetricsPort:
  3161. description: 'PrometheusMetricsPort is the TCP port that the Prometheus
  3162. metrics server should bind to. Set to 0 to disable. [Default: 9094]'
  3163. type: integer
  3164. required:
  3165. - controllers
  3166. type: object
  3167. status:
  3168. description: KubeControllersConfigurationStatus represents the status
  3169. of the configuration. It's useful for admins to be able to see the actual
  3170. config that was applied, which can be modified by environment variables
  3171. on the kube-controllers process.
  3172. properties:
  3173. environmentVars:
  3174. additionalProperties:
  3175. type: string
  3176. description: EnvironmentVars contains the environment variables on
  3177. the kube-controllers that influenced the RunningConfig.
  3178. type: object
  3179. runningConfig:
  3180. description: RunningConfig contains the effective config that is running
  3181. in the kube-controllers pod, after merging the API resource with
  3182. any environment variables.
  3183. properties:
  3184. controllers:
  3185. description: Controllers enables and configures individual Kubernetes
  3186. controllers
  3187. properties:
  3188. namespace:
  3189. description: Namespace enables and configures the namespace
  3190. controller. Enabled by default, set to nil to disable.
  3191. properties:
  3192. reconcilerPeriod:
  3193. description: 'ReconcilerPeriod is the period to perform
  3194. reconciliation with the Calico datastore. [Default:
  3195. 5m]'
  3196. type: string
  3197. type: object
  3198. node:
  3199. description: Node enables and configures the node controller.
  3200. Enabled by default, set to nil to disable.
  3201. properties:
  3202. hostEndpoint:
  3203. description: HostEndpoint controls syncing nodes to host
  3204. endpoints. Disabled by default, set to nil to disable.
  3205. properties:
  3206. autoCreate:
  3207. description: 'AutoCreate enables automatic creation
  3208. of host endpoints for every node. [Default: Disabled]'
  3209. type: string
  3210. type: object
  3211. leakGracePeriod:
  3212. description: 'LeakGracePeriod is the period used by the
  3213. controller to determine if an IP address has been leaked.
  3214. Set to 0 to disable IP garbage collection. [Default:
  3215. 15m]'
  3216. type: string
  3217. reconcilerPeriod:
  3218. description: 'ReconcilerPeriod is the period to perform
  3219. reconciliation with the Calico datastore. [Default:
  3220. 5m]'
  3221. type: string
  3222. syncLabels:
  3223. description: 'SyncLabels controls whether to copy Kubernetes
  3224. node labels to Calico nodes. [Default: Enabled]'
  3225. type: string
  3226. type: object
  3227. policy:
  3228. description: Policy enables and configures the policy controller.
  3229. Enabled by default, set to nil to disable.
  3230. properties:
  3231. reconcilerPeriod:
  3232. description: 'ReconcilerPeriod is the period to perform
  3233. reconciliation with the Calico datastore. [Default:
  3234. 5m]'
  3235. type: string
  3236. type: object
  3237. serviceAccount:
  3238. description: ServiceAccount enables and configures the service
  3239. account controller. Enabled by default, set to nil to disable.
  3240. properties:
  3241. reconcilerPeriod:
  3242. description: 'ReconcilerPeriod is the period to perform
  3243. reconciliation with the Calico datastore. [Default:
  3244. 5m]'
  3245. type: string
  3246. type: object
  3247. workloadEndpoint:
  3248. description: WorkloadEndpoint enables and configures the workload
  3249. endpoint controller. Enabled by default, set to nil to disable.
  3250. properties:
  3251. reconcilerPeriod:
  3252. description: 'ReconcilerPeriod is the period to perform
  3253. reconciliation with the Calico datastore. [Default:
  3254. 5m]'
  3255. type: string
  3256. type: object
  3257. type: object
  3258. debugProfilePort:
  3259. description: DebugProfilePort configures the port to serve memory
  3260. and cpu profiles on. If not specified, profiling is disabled.
  3261. format: int32
  3262. type: integer
  3263. etcdV3CompactionPeriod:
  3264. description: 'EtcdV3CompactionPeriod is the period between etcdv3
  3265. compaction requests. Set to 0 to disable. [Default: 10m]'
  3266. type: string
  3267. healthChecks:
  3268. description: 'HealthChecks enables or disables support for health
  3269. checks [Default: Enabled]'
  3270. type: string
  3271. logSeverityScreen:
  3272. description: 'LogSeverityScreen is the log severity above which
  3273. logs are sent to the stdout. [Default: Info]'
  3274. type: string
  3275. prometheusMetricsPort:
  3276. description: 'PrometheusMetricsPort is the TCP port that the Prometheus
  3277. metrics server should bind to. Set to 0 to disable. [Default:
  3278. 9094]'
  3279. type: integer
  3280. required:
  3281. - controllers
  3282. type: object
  3283. type: object
  3284. type: object
  3285. served: true
  3286. storage: true
  3287. status:
  3288. acceptedNames:
  3289. kind: ""
  3290. plural: ""
  3291. conditions: []
  3292. storedVersions: []
  3293. ---
  3294. # Source: crds/calico/crd.projectcalico.org_networkpolicies.yaml
  3295. apiVersion: apiextensions.k8s.io/v1
  3296. kind: CustomResourceDefinition
  3297. metadata:
  3298. name: networkpolicies.crd.projectcalico.org
  3299. spec:
  3300. group: crd.projectcalico.org
  3301. names:
  3302. kind: NetworkPolicy
  3303. listKind: NetworkPolicyList
  3304. plural: networkpolicies
  3305. singular: networkpolicy
  3306. preserveUnknownFields: false
  3307. scope: Namespaced
  3308. versions:
  3309. - name: v1
  3310. schema:
  3311. openAPIV3Schema:
  3312. properties:
  3313. apiVersion:
  3314. description: 'APIVersion defines the versioned schema of this representation
  3315. of an object. Servers should convert recognized schemas to the latest
  3316. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3317. type: string
  3318. kind:
  3319. description: 'Kind is a string value representing the REST resource this
  3320. object represents. Servers may infer this from the endpoint the client
  3321. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3322. type: string
  3323. metadata:
  3324. type: object
  3325. spec:
  3326. properties:
  3327. egress:
  3328. description: The ordered set of egress rules. Each rule contains
  3329. a set of packet match criteria and a corresponding action to apply.
  3330. items:
  3331. description: "A Rule encapsulates a set of match criteria and an
  3332. action. Both selector-based security Policy and security Profiles
  3333. reference rules - separated out as a list of rules for both ingress
  3334. and egress packet matching. \n Each positive match criteria has
  3335. a negated version, prefixed with \"Not\". All the match criteria
  3336. within a rule must be satisfied for a packet to match. A single
  3337. rule can contain the positive and negative version of a match
  3338. and both must be satisfied for the rule to match."
  3339. properties:
  3340. action:
  3341. type: string
  3342. destination:
  3343. description: Destination contains the match criteria that apply
  3344. to destination entity.
  3345. properties:
  3346. namespaceSelector:
  3347. description: "NamespaceSelector is an optional field that
  3348. contains a selector expression. Only traffic that originates
  3349. from (or terminates at) endpoints within the selected
  3350. namespaces will be matched. When both NamespaceSelector
  3351. and another selector are defined on the same rule, then
  3352. only workload endpoints that are matched by both selectors
  3353. will be selected by the rule. \n For NetworkPolicy, an
  3354. empty NamespaceSelector implies that the Selector is limited
  3355. to selecting only workload endpoints in the same namespace
  3356. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  3357. NamespaceSelector implies that the Selector is limited
  3358. to selecting only GlobalNetworkSet or HostEndpoint. \n
  3359. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  3360. the Selector applies to workload endpoints across all
  3361. namespaces."
  3362. type: string
  3363. nets:
  3364. description: Nets is an optional field that restricts the
  3365. rule to only apply to traffic that originates from (or
  3366. terminates at) IP addresses in any of the given subnets.
  3367. items:
  3368. type: string
  3369. type: array
  3370. notNets:
  3371. description: NotNets is the negated version of the Nets
  3372. field.
  3373. items:
  3374. type: string
  3375. type: array
  3376. notPorts:
  3377. description: NotPorts is the negated version of the Ports
  3378. field. Since only some protocols have ports, if any ports
  3379. are specified it requires the Protocol match in the Rule
  3380. to be set to "TCP" or "UDP".
  3381. items:
  3382. anyOf:
  3383. - type: integer
  3384. - type: string
  3385. pattern: ^.*
  3386. x-kubernetes-int-or-string: true
  3387. type: array
  3388. notSelector:
  3389. description: NotSelector is the negated version of the Selector
  3390. field. See Selector field for subtleties with negated
  3391. selectors.
  3392. type: string
  3393. ports:
  3394. description: "Ports is an optional field that restricts
  3395. the rule to only apply to traffic that has a source (destination)
  3396. port that matches one of these ranges/values. This value
  3397. is a list of integers or strings that represent ranges
  3398. of ports. \n Since only some protocols have ports, if
  3399. any ports are specified it requires the Protocol match
  3400. in the Rule to be set to \"TCP\" or \"UDP\"."
  3401. items:
  3402. anyOf:
  3403. - type: integer
  3404. - type: string
  3405. pattern: ^.*
  3406. x-kubernetes-int-or-string: true
  3407. type: array
  3408. selector:
  3409. description: "Selector is an optional field that contains
  3410. a selector expression (see Policy for sample syntax).
  3411. \ Only traffic that originates from (terminates at) endpoints
  3412. matching the selector will be matched. \n Note that: in
  3413. addition to the negated version of the Selector (see NotSelector
  3414. below), the selector expression syntax itself supports
  3415. negation. The two types of negation are subtly different.
  3416. One negates the set of matched endpoints, the other negates
  3417. the whole match: \n \tSelector = \"!has(my_label)\" matches
  3418. packets that are from other Calico-controlled \tendpoints
  3419. that do not have the label \"my_label\". \n \tNotSelector
  3420. = \"has(my_label)\" matches packets that are not from
  3421. Calico-controlled \tendpoints that do have the label \"my_label\".
  3422. \n The effect is that the latter will accept packets from
  3423. non-Calico sources whereas the former is limited to packets
  3424. from Calico-controlled endpoints."
  3425. type: string
  3426. serviceAccounts:
  3427. description: ServiceAccounts is an optional field that restricts
  3428. the rule to only apply to traffic that originates from
  3429. (or terminates at) a pod running as a matching service
  3430. account.
  3431. properties:
  3432. names:
  3433. description: Names is an optional field that restricts
  3434. the rule to only apply to traffic that originates
  3435. from (or terminates at) a pod running as a service
  3436. account whose name is in the list.
  3437. items:
  3438. type: string
  3439. type: array
  3440. selector:
  3441. description: Selector is an optional field that restricts
  3442. the rule to only apply to traffic that originates
  3443. from (or terminates at) a pod running as a service
  3444. account that matches the given label selector. If
  3445. both Names and Selector are specified then they are
  3446. AND'ed.
  3447. type: string
  3448. type: object
  3449. services:
  3450. description: "Services is an optional field that contains
  3451. options for matching Kubernetes Services. If specified,
  3452. only traffic that originates from or terminates at endpoints
  3453. within the selected service(s) will be matched, and only
  3454. to/from each endpoint's port. \n Services cannot be specified
  3455. on the same rule as Selector, NotSelector, NamespaceSelector,
  3456. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  3457. can only be specified with Services on ingress rules."
  3458. properties:
  3459. name:
  3460. description: Name specifies the name of a Kubernetes
  3461. Service to match.
  3462. type: string
  3463. namespace:
  3464. description: Namespace specifies the namespace of the
  3465. given Service. If left empty, the rule will match
  3466. within this policy's namespace.
  3467. type: string
  3468. type: object
  3469. type: object
  3470. http:
  3471. description: HTTP contains match criteria that apply to HTTP
  3472. requests.
  3473. properties:
  3474. methods:
  3475. description: Methods is an optional field that restricts
  3476. the rule to apply only to HTTP requests that use one of
  3477. the listed HTTP Methods (e.g. GET, PUT, etc.) Multiple
  3478. methods are OR'd together.
  3479. items:
  3480. type: string
  3481. type: array
  3482. paths:
  3483. description: 'Paths is an optional field that restricts
  3484. the rule to apply to HTTP requests that use one of the
  3485. listed HTTP Paths. Multiple paths are OR''d together.
  3486. e.g: - exact: /foo - prefix: /bar NOTE: Each entry may
  3487. ONLY specify either a `exact` or a `prefix` match. The
  3488. validator will check for it.'
  3489. items:
  3490. description: 'HTTPPath specifies an HTTP path to match.
  3491. It may be either of the form: exact: <path>: which matches
  3492. the path exactly or prefix: <path-prefix>: which matches
  3493. the path prefix'
  3494. properties:
  3495. exact:
  3496. type: string
  3497. prefix:
  3498. type: string
  3499. type: object
  3500. type: array
  3501. type: object
  3502. icmp:
  3503. description: ICMP is an optional field that restricts the rule
  3504. to apply to a specific type and code of ICMP traffic. This
  3505. should only be specified if the Protocol field is set to "ICMP"
  3506. or "ICMPv6".
  3507. properties:
  3508. code:
  3509. description: Match on a specific ICMP code. If specified,
  3510. the Type value must also be specified. This is a technical
  3511. limitation imposed by the kernel's iptables firewall,
  3512. which Calico uses to enforce the rule.
  3513. type: integer
  3514. type:
  3515. description: Match on a specific ICMP type. For example
  3516. a value of 8 refers to ICMP Echo Request (i.e. pings).
  3517. type: integer
  3518. type: object
  3519. ipVersion:
  3520. description: IPVersion is an optional field that restricts the
  3521. rule to only match a specific IP version.
  3522. type: integer
  3523. metadata:
  3524. description: Metadata contains additional information for this
  3525. rule
  3526. properties:
  3527. annotations:
  3528. additionalProperties:
  3529. type: string
  3530. description: Annotations is a set of key value pairs that
  3531. give extra information about the rule
  3532. type: object
  3533. type: object
  3534. notICMP:
  3535. description: NotICMP is the negated version of the ICMP field.
  3536. properties:
  3537. code:
  3538. description: Match on a specific ICMP code. If specified,
  3539. the Type value must also be specified. This is a technical
  3540. limitation imposed by the kernel's iptables firewall,
  3541. which Calico uses to enforce the rule.
  3542. type: integer
  3543. type:
  3544. description: Match on a specific ICMP type. For example
  3545. a value of 8 refers to ICMP Echo Request (i.e. pings).
  3546. type: integer
  3547. type: object
  3548. notProtocol:
  3549. anyOf:
  3550. - type: integer
  3551. - type: string
  3552. description: NotProtocol is the negated version of the Protocol
  3553. field.
  3554. pattern: ^.*
  3555. x-kubernetes-int-or-string: true
  3556. protocol:
  3557. anyOf:
  3558. - type: integer
  3559. - type: string
  3560. description: "Protocol is an optional field that restricts the
  3561. rule to only apply to traffic of a specific IP protocol. Required
  3562. if any of the EntityRules contain Ports (because ports only
  3563. apply to certain protocols). \n Must be one of these string
  3564. values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\",
  3565. \"UDPLite\" or an integer in the range 1-255."
  3566. pattern: ^.*
  3567. x-kubernetes-int-or-string: true
  3568. source:
  3569. description: Source contains the match criteria that apply to
  3570. source entity.
  3571. properties:
  3572. namespaceSelector:
  3573. description: "NamespaceSelector is an optional field that
  3574. contains a selector expression. Only traffic that originates
  3575. from (or terminates at) endpoints within the selected
  3576. namespaces will be matched. When both NamespaceSelector
  3577. and another selector are defined on the same rule, then
  3578. only workload endpoints that are matched by both selectors
  3579. will be selected by the rule. \n For NetworkPolicy, an
  3580. empty NamespaceSelector implies that the Selector is limited
  3581. to selecting only workload endpoints in the same namespace
  3582. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  3583. NamespaceSelector implies that the Selector is limited
  3584. to selecting only GlobalNetworkSet or HostEndpoint. \n
  3585. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  3586. the Selector applies to workload endpoints across all
  3587. namespaces."
  3588. type: string
  3589. nets:
  3590. description: Nets is an optional field that restricts the
  3591. rule to only apply to traffic that originates from (or
  3592. terminates at) IP addresses in any of the given subnets.
  3593. items:
  3594. type: string
  3595. type: array
  3596. notNets:
  3597. description: NotNets is the negated version of the Nets
  3598. field.
  3599. items:
  3600. type: string
  3601. type: array
  3602. notPorts:
  3603. description: NotPorts is the negated version of the Ports
  3604. field. Since only some protocols have ports, if any ports
  3605. are specified it requires the Protocol match in the Rule
  3606. to be set to "TCP" or "UDP".
  3607. items:
  3608. anyOf:
  3609. - type: integer
  3610. - type: string
  3611. pattern: ^.*
  3612. x-kubernetes-int-or-string: true
  3613. type: array
  3614. notSelector:
  3615. description: NotSelector is the negated version of the Selector
  3616. field. See Selector field for subtleties with negated
  3617. selectors.
  3618. type: string
  3619. ports:
  3620. description: "Ports is an optional field that restricts
  3621. the rule to only apply to traffic that has a source (destination)
  3622. port that matches one of these ranges/values. This value
  3623. is a list of integers or strings that represent ranges
  3624. of ports. \n Since only some protocols have ports, if
  3625. any ports are specified it requires the Protocol match
  3626. in the Rule to be set to \"TCP\" or \"UDP\"."
  3627. items:
  3628. anyOf:
  3629. - type: integer
  3630. - type: string
  3631. pattern: ^.*
  3632. x-kubernetes-int-or-string: true
  3633. type: array
  3634. selector:
  3635. description: "Selector is an optional field that contains
  3636. a selector expression (see Policy for sample syntax).
  3637. \ Only traffic that originates from (terminates at) endpoints
  3638. matching the selector will be matched. \n Note that: in
  3639. addition to the negated version of the Selector (see NotSelector
  3640. below), the selector expression syntax itself supports
  3641. negation. The two types of negation are subtly different.
  3642. One negates the set of matched endpoints, the other negates
  3643. the whole match: \n \tSelector = \"!has(my_label)\" matches
  3644. packets that are from other Calico-controlled \tendpoints
  3645. that do not have the label \"my_label\". \n \tNotSelector
  3646. = \"has(my_label)\" matches packets that are not from
  3647. Calico-controlled \tendpoints that do have the label \"my_label\".
  3648. \n The effect is that the latter will accept packets from
  3649. non-Calico sources whereas the former is limited to packets
  3650. from Calico-controlled endpoints."
  3651. type: string
  3652. serviceAccounts:
  3653. description: ServiceAccounts is an optional field that restricts
  3654. the rule to only apply to traffic that originates from
  3655. (or terminates at) a pod running as a matching service
  3656. account.
  3657. properties:
  3658. names:
  3659. description: Names is an optional field that restricts
  3660. the rule to only apply to traffic that originates
  3661. from (or terminates at) a pod running as a service
  3662. account whose name is in the list.
  3663. items:
  3664. type: string
  3665. type: array
  3666. selector:
  3667. description: Selector is an optional field that restricts
  3668. the rule to only apply to traffic that originates
  3669. from (or terminates at) a pod running as a service
  3670. account that matches the given label selector. If
  3671. both Names and Selector are specified then they are
  3672. AND'ed.
  3673. type: string
  3674. type: object
  3675. services:
  3676. description: "Services is an optional field that contains
  3677. options for matching Kubernetes Services. If specified,
  3678. only traffic that originates from or terminates at endpoints
  3679. within the selected service(s) will be matched, and only
  3680. to/from each endpoint's port. \n Services cannot be specified
  3681. on the same rule as Selector, NotSelector, NamespaceSelector,
  3682. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  3683. can only be specified with Services on ingress rules."
  3684. properties:
  3685. name:
  3686. description: Name specifies the name of a Kubernetes
  3687. Service to match.
  3688. type: string
  3689. namespace:
  3690. description: Namespace specifies the namespace of the
  3691. given Service. If left empty, the rule will match
  3692. within this policy's namespace.
  3693. type: string
  3694. type: object
  3695. type: object
  3696. required:
  3697. - action
  3698. type: object
  3699. type: array
  3700. ingress:
  3701. description: The ordered set of ingress rules. Each rule contains
  3702. a set of packet match criteria and a corresponding action to apply.
  3703. items:
  3704. description: "A Rule encapsulates a set of match criteria and an
  3705. action. Both selector-based security Policy and security Profiles
  3706. reference rules - separated out as a list of rules for both ingress
  3707. and egress packet matching. \n Each positive match criteria has
  3708. a negated version, prefixed with \"Not\". All the match criteria
  3709. within a rule must be satisfied for a packet to match. A single
  3710. rule can contain the positive and negative version of a match
  3711. and both must be satisfied for the rule to match."
  3712. properties:
  3713. action:
  3714. type: string
  3715. destination:
  3716. description: Destination contains the match criteria that apply
  3717. to destination entity.
  3718. properties:
  3719. namespaceSelector:
  3720. description: "NamespaceSelector is an optional field that
  3721. contains a selector expression. Only traffic that originates
  3722. from (or terminates at) endpoints within the selected
  3723. namespaces will be matched. When both NamespaceSelector
  3724. and another selector are defined on the same rule, then
  3725. only workload endpoints that are matched by both selectors
  3726. will be selected by the rule. \n For NetworkPolicy, an
  3727. empty NamespaceSelector implies that the Selector is limited
  3728. to selecting only workload endpoints in the same namespace
  3729. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  3730. NamespaceSelector implies that the Selector is limited
  3731. to selecting only GlobalNetworkSet or HostEndpoint. \n
  3732. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  3733. the Selector applies to workload endpoints across all
  3734. namespaces."
  3735. type: string
  3736. nets:
  3737. description: Nets is an optional field that restricts the
  3738. rule to only apply to traffic that originates from (or
  3739. terminates at) IP addresses in any of the given subnets.
  3740. items:
  3741. type: string
  3742. type: array
  3743. notNets:
  3744. description: NotNets is the negated version of the Nets
  3745. field.
  3746. items:
  3747. type: string
  3748. type: array
  3749. notPorts:
  3750. description: NotPorts is the negated version of the Ports
  3751. field. Since only some protocols have ports, if any ports
  3752. are specified it requires the Protocol match in the Rule
  3753. to be set to "TCP" or "UDP".
  3754. items:
  3755. anyOf:
  3756. - type: integer
  3757. - type: string
  3758. pattern: ^.*
  3759. x-kubernetes-int-or-string: true
  3760. type: array
  3761. notSelector:
  3762. description: NotSelector is the negated version of the Selector
  3763. field. See Selector field for subtleties with negated
  3764. selectors.
  3765. type: string
  3766. ports:
  3767. description: "Ports is an optional field that restricts
  3768. the rule to only apply to traffic that has a source (destination)
  3769. port that matches one of these ranges/values. This value
  3770. is a list of integers or strings that represent ranges
  3771. of ports. \n Since only some protocols have ports, if
  3772. any ports are specified it requires the Protocol match
  3773. in the Rule to be set to \"TCP\" or \"UDP\"."
  3774. items:
  3775. anyOf:
  3776. - type: integer
  3777. - type: string
  3778. pattern: ^.*
  3779. x-kubernetes-int-or-string: true
  3780. type: array
  3781. selector:
  3782. description: "Selector is an optional field that contains
  3783. a selector expression (see Policy for sample syntax).
  3784. \ Only traffic that originates from (terminates at) endpoints
  3785. matching the selector will be matched. \n Note that: in
  3786. addition to the negated version of the Selector (see NotSelector
  3787. below), the selector expression syntax itself supports
  3788. negation. The two types of negation are subtly different.
  3789. One negates the set of matched endpoints, the other negates
  3790. the whole match: \n \tSelector = \"!has(my_label)\" matches
  3791. packets that are from other Calico-controlled \tendpoints
  3792. that do not have the label \"my_label\". \n \tNotSelector
  3793. = \"has(my_label)\" matches packets that are not from
  3794. Calico-controlled \tendpoints that do have the label \"my_label\".
  3795. \n The effect is that the latter will accept packets from
  3796. non-Calico sources whereas the former is limited to packets
  3797. from Calico-controlled endpoints."
  3798. type: string
  3799. serviceAccounts:
  3800. description: ServiceAccounts is an optional field that restricts
  3801. the rule to only apply to traffic that originates from
  3802. (or terminates at) a pod running as a matching service
  3803. account.
  3804. properties:
  3805. names:
  3806. description: Names is an optional field that restricts
  3807. the rule to only apply to traffic that originates
  3808. from (or terminates at) a pod running as a service
  3809. account whose name is in the list.
  3810. items:
  3811. type: string
  3812. type: array
  3813. selector:
  3814. description: Selector is an optional field that restricts
  3815. the rule to only apply to traffic that originates
  3816. from (or terminates at) a pod running as a service
  3817. account that matches the given label selector. If
  3818. both Names and Selector are specified then they are
  3819. AND'ed.
  3820. type: string
  3821. type: object
  3822. services:
  3823. description: "Services is an optional field that contains
  3824. options for matching Kubernetes Services. If specified,
  3825. only traffic that originates from or terminates at endpoints
  3826. within the selected service(s) will be matched, and only
  3827. to/from each endpoint's port. \n Services cannot be specified
  3828. on the same rule as Selector, NotSelector, NamespaceSelector,
  3829. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  3830. can only be specified with Services on ingress rules."
  3831. properties:
  3832. name:
  3833. description: Name specifies the name of a Kubernetes
  3834. Service to match.
  3835. type: string
  3836. namespace:
  3837. description: Namespace specifies the namespace of the
  3838. given Service. If left empty, the rule will match
  3839. within this policy's namespace.
  3840. type: string
  3841. type: object
  3842. type: object
  3843. http:
  3844. description: HTTP contains match criteria that apply to HTTP
  3845. requests.
  3846. properties:
  3847. methods:
  3848. description: Methods is an optional field that restricts
  3849. the rule to apply only to HTTP requests that use one of
  3850. the listed HTTP Methods (e.g. GET, PUT, etc.) Multiple
  3851. methods are OR'd together.
  3852. items:
  3853. type: string
  3854. type: array
  3855. paths:
  3856. description: 'Paths is an optional field that restricts
  3857. the rule to apply to HTTP requests that use one of the
  3858. listed HTTP Paths. Multiple paths are OR''d together.
  3859. e.g: - exact: /foo - prefix: /bar NOTE: Each entry may
  3860. ONLY specify either a `exact` or a `prefix` match. The
  3861. validator will check for it.'
  3862. items:
  3863. description: 'HTTPPath specifies an HTTP path to match.
  3864. It may be either of the form: exact: <path>: which matches
  3865. the path exactly or prefix: <path-prefix>: which matches
  3866. the path prefix'
  3867. properties:
  3868. exact:
  3869. type: string
  3870. prefix:
  3871. type: string
  3872. type: object
  3873. type: array
  3874. type: object
  3875. icmp:
  3876. description: ICMP is an optional field that restricts the rule
  3877. to apply to a specific type and code of ICMP traffic. This
  3878. should only be specified if the Protocol field is set to "ICMP"
  3879. or "ICMPv6".
  3880. properties:
  3881. code:
  3882. description: Match on a specific ICMP code. If specified,
  3883. the Type value must also be specified. This is a technical
  3884. limitation imposed by the kernel's iptables firewall,
  3885. which Calico uses to enforce the rule.
  3886. type: integer
  3887. type:
  3888. description: Match on a specific ICMP type. For example
  3889. a value of 8 refers to ICMP Echo Request (i.e. pings).
  3890. type: integer
  3891. type: object
  3892. ipVersion:
  3893. description: IPVersion is an optional field that restricts the
  3894. rule to only match a specific IP version.
  3895. type: integer
  3896. metadata:
  3897. description: Metadata contains additional information for this
  3898. rule
  3899. properties:
  3900. annotations:
  3901. additionalProperties:
  3902. type: string
  3903. description: Annotations is a set of key value pairs that
  3904. give extra information about the rule
  3905. type: object
  3906. type: object
  3907. notICMP:
  3908. description: NotICMP is the negated version of the ICMP field.
  3909. properties:
  3910. code:
  3911. description: Match on a specific ICMP code. If specified,
  3912. the Type value must also be specified. This is a technical
  3913. limitation imposed by the kernel's iptables firewall,
  3914. which Calico uses to enforce the rule.
  3915. type: integer
  3916. type:
  3917. description: Match on a specific ICMP type. For example
  3918. a value of 8 refers to ICMP Echo Request (i.e. pings).
  3919. type: integer
  3920. type: object
  3921. notProtocol:
  3922. anyOf:
  3923. - type: integer
  3924. - type: string
  3925. description: NotProtocol is the negated version of the Protocol
  3926. field.
  3927. pattern: ^.*
  3928. x-kubernetes-int-or-string: true
  3929. protocol:
  3930. anyOf:
  3931. - type: integer
  3932. - type: string
  3933. description: "Protocol is an optional field that restricts the
  3934. rule to only apply to traffic of a specific IP protocol. Required
  3935. if any of the EntityRules contain Ports (because ports only
  3936. apply to certain protocols). \n Must be one of these string
  3937. values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\",
  3938. \"UDPLite\" or an integer in the range 1-255."
  3939. pattern: ^.*
  3940. x-kubernetes-int-or-string: true
  3941. source:
  3942. description: Source contains the match criteria that apply to
  3943. source entity.
  3944. properties:
  3945. namespaceSelector:
  3946. description: "NamespaceSelector is an optional field that
  3947. contains a selector expression. Only traffic that originates
  3948. from (or terminates at) endpoints within the selected
  3949. namespaces will be matched. When both NamespaceSelector
  3950. and another selector are defined on the same rule, then
  3951. only workload endpoints that are matched by both selectors
  3952. will be selected by the rule. \n For NetworkPolicy, an
  3953. empty NamespaceSelector implies that the Selector is limited
  3954. to selecting only workload endpoints in the same namespace
  3955. as the NetworkPolicy. \n For NetworkPolicy, `global()`
  3956. NamespaceSelector implies that the Selector is limited
  3957. to selecting only GlobalNetworkSet or HostEndpoint. \n
  3958. For GlobalNetworkPolicy, an empty NamespaceSelector implies
  3959. the Selector applies to workload endpoints across all
  3960. namespaces."
  3961. type: string
  3962. nets:
  3963. description: Nets is an optional field that restricts the
  3964. rule to only apply to traffic that originates from (or
  3965. terminates at) IP addresses in any of the given subnets.
  3966. items:
  3967. type: string
  3968. type: array
  3969. notNets:
  3970. description: NotNets is the negated version of the Nets
  3971. field.
  3972. items:
  3973. type: string
  3974. type: array
  3975. notPorts:
  3976. description: NotPorts is the negated version of the Ports
  3977. field. Since only some protocols have ports, if any ports
  3978. are specified it requires the Protocol match in the Rule
  3979. to be set to "TCP" or "UDP".
  3980. items:
  3981. anyOf:
  3982. - type: integer
  3983. - type: string
  3984. pattern: ^.*
  3985. x-kubernetes-int-or-string: true
  3986. type: array
  3987. notSelector:
  3988. description: NotSelector is the negated version of the Selector
  3989. field. See Selector field for subtleties with negated
  3990. selectors.
  3991. type: string
  3992. ports:
  3993. description: "Ports is an optional field that restricts
  3994. the rule to only apply to traffic that has a source (destination)
  3995. port that matches one of these ranges/values. This value
  3996. is a list of integers or strings that represent ranges
  3997. of ports. \n Since only some protocols have ports, if
  3998. any ports are specified it requires the Protocol match
  3999. in the Rule to be set to \"TCP\" or \"UDP\"."
  4000. items:
  4001. anyOf:
  4002. - type: integer
  4003. - type: string
  4004. pattern: ^.*
  4005. x-kubernetes-int-or-string: true
  4006. type: array
  4007. selector:
  4008. description: "Selector is an optional field that contains
  4009. a selector expression (see Policy for sample syntax).
  4010. \ Only traffic that originates from (terminates at) endpoints
  4011. matching the selector will be matched. \n Note that: in
  4012. addition to the negated version of the Selector (see NotSelector
  4013. below), the selector expression syntax itself supports
  4014. negation. The two types of negation are subtly different.
  4015. One negates the set of matched endpoints, the other negates
  4016. the whole match: \n \tSelector = \"!has(my_label)\" matches
  4017. packets that are from other Calico-controlled \tendpoints
  4018. that do not have the label \"my_label\". \n \tNotSelector
  4019. = \"has(my_label)\" matches packets that are not from
  4020. Calico-controlled \tendpoints that do have the label \"my_label\".
  4021. \n The effect is that the latter will accept packets from
  4022. non-Calico sources whereas the former is limited to packets
  4023. from Calico-controlled endpoints."
  4024. type: string
  4025. serviceAccounts:
  4026. description: ServiceAccounts is an optional field that restricts
  4027. the rule to only apply to traffic that originates from
  4028. (or terminates at) a pod running as a matching service
  4029. account.
  4030. properties:
  4031. names:
  4032. description: Names is an optional field that restricts
  4033. the rule to only apply to traffic that originates
  4034. from (or terminates at) a pod running as a service
  4035. account whose name is in the list.
  4036. items:
  4037. type: string
  4038. type: array
  4039. selector:
  4040. description: Selector is an optional field that restricts
  4041. the rule to only apply to traffic that originates
  4042. from (or terminates at) a pod running as a service
  4043. account that matches the given label selector. If
  4044. both Names and Selector are specified then they are
  4045. AND'ed.
  4046. type: string
  4047. type: object
  4048. services:
  4049. description: "Services is an optional field that contains
  4050. options for matching Kubernetes Services. If specified,
  4051. only traffic that originates from or terminates at endpoints
  4052. within the selected service(s) will be matched, and only
  4053. to/from each endpoint's port. \n Services cannot be specified
  4054. on the same rule as Selector, NotSelector, NamespaceSelector,
  4055. Nets, NotNets or ServiceAccounts. \n Ports and NotPorts
  4056. can only be specified with Services on ingress rules."
  4057. properties:
  4058. name:
  4059. description: Name specifies the name of a Kubernetes
  4060. Service to match.
  4061. type: string
  4062. namespace:
  4063. description: Namespace specifies the namespace of the
  4064. given Service. If left empty, the rule will match
  4065. within this policy's namespace.
  4066. type: string
  4067. type: object
  4068. type: object
  4069. required:
  4070. - action
  4071. type: object
  4072. type: array
  4073. order:
  4074. description: Order is an optional field that specifies the order in
  4075. which the policy is applied. Policies with higher "order" are applied
  4076. after those with lower order. If the order is omitted, it may be
  4077. considered to be "infinite" - i.e. the policy will be applied last. Policies
  4078. with identical order will be applied in alphanumerical order based
  4079. on the Policy "Name".
  4080. type: number
  4081. selector:
  4082. description: "The selector is an expression used to pick pick out
  4083. the endpoints that the policy should be applied to. \n Selector
  4084. expressions follow this syntax: \n \tlabel == \"string_literal\"
  4085. \ -> comparison, e.g. my_label == \"foo bar\" \tlabel != \"string_literal\"
  4086. \ -> not equal; also matches if label is not present \tlabel in
  4087. { \"a\", \"b\", \"c\", ... } -> true if the value of label X is
  4088. one of \"a\", \"b\", \"c\" \tlabel not in { \"a\", \"b\", \"c\",
  4089. ... } -> true if the value of label X is not one of \"a\", \"b\",
  4090. \"c\" \thas(label_name) -> True if that label is present \t! expr
  4091. -> negation of expr \texpr && expr -> Short-circuit and \texpr
  4092. || expr -> Short-circuit or \t( expr ) -> parens for grouping \tall()
  4093. or the empty selector -> matches all endpoints. \n Label names are
  4094. allowed to contain alphanumerics, -, _ and /. String literals are
  4095. more permissive but they do not support escape characters. \n Examples
  4096. (with made-up labels): \n \ttype == \"webserver\" && deployment
  4097. == \"prod\" \ttype in {\"frontend\", \"backend\"} \tdeployment !=
  4098. \"dev\" \t! has(label_name)"
  4099. type: string
  4100. serviceAccountSelector:
  4101. description: ServiceAccountSelector is an optional field for an expression
  4102. used to select a pod based on service accounts.
  4103. type: string
  4104. types:
  4105. description: "Types indicates whether this policy applies to ingress,
  4106. or to egress, or to both. When not explicitly specified (and so
  4107. the value on creation is empty or nil), Calico defaults Types according
  4108. to what Ingress and Egress are present in the policy. The default
  4109. is: \n - [ PolicyTypeIngress ], if there are no Egress rules (including
  4110. the case where there are also no Ingress rules) \n - [ PolicyTypeEgress
  4111. ], if there are Egress rules but no Ingress rules \n - [ PolicyTypeIngress,
  4112. PolicyTypeEgress ], if there are both Ingress and Egress rules.
  4113. \n When the policy is read back again, Types will always be one
  4114. of these values, never empty or nil."
  4115. items:
  4116. description: PolicyType enumerates the possible values of the PolicySpec
  4117. Types field.
  4118. type: string
  4119. type: array
  4120. type: object
  4121. type: object
  4122. served: true
  4123. storage: true
  4124. status:
  4125. acceptedNames:
  4126. kind: ""
  4127. plural: ""
  4128. conditions: []
  4129. storedVersions: []
  4130. ---
  4131. # Source: crds/calico/crd.projectcalico.org_networksets.yaml
  4132. apiVersion: apiextensions.k8s.io/v1
  4133. kind: CustomResourceDefinition
  4134. metadata:
  4135. name: networksets.crd.projectcalico.org
  4136. spec:
  4137. group: crd.projectcalico.org
  4138. names:
  4139. kind: NetworkSet
  4140. listKind: NetworkSetList
  4141. plural: networksets
  4142. singular: networkset
  4143. preserveUnknownFields: false
  4144. scope: Namespaced
  4145. versions:
  4146. - name: v1
  4147. schema:
  4148. openAPIV3Schema:
  4149. description: NetworkSet is the Namespaced-equivalent of the GlobalNetworkSet.
  4150. properties:
  4151. apiVersion:
  4152. description: 'APIVersion defines the versioned schema of this representation
  4153. of an object. Servers should convert recognized schemas to the latest
  4154. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4155. type: string
  4156. kind:
  4157. description: 'Kind is a string value representing the REST resource this
  4158. object represents. Servers may infer this from the endpoint the client
  4159. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4160. type: string
  4161. metadata:
  4162. type: object
  4163. spec:
  4164. description: NetworkSetSpec contains the specification for a NetworkSet
  4165. resource.
  4166. properties:
  4167. nets:
  4168. description: The list of IP networks that belong to this set.
  4169. items:
  4170. type: string
  4171. type: array
  4172. type: object
  4173. type: object
  4174. served: true
  4175. storage: true
  4176. status:
  4177. acceptedNames:
  4178. kind: ""
  4179. plural: ""
  4180. conditions: []
  4181. storedVersions: []
  4182. ---
  4183. # Source: crds/operator.tigera.io_apiservers_crd.yaml
  4184. apiVersion: apiextensions.k8s.io/v1
  4185. kind: CustomResourceDefinition
  4186. metadata:
  4187. annotations:
  4188. controller-gen.kubebuilder.io/version: v0.3.0
  4189. name: apiservers.operator.tigera.io
  4190. spec:
  4191. group: operator.tigera.io
  4192. names:
  4193. kind: APIServer
  4194. listKind: APIServerList
  4195. plural: apiservers
  4196. singular: apiserver
  4197. scope: Cluster
  4198. versions:
  4199. - name: v1
  4200. schema:
  4201. openAPIV3Schema:
  4202. description: APIServer installs the Tigera API server and related resources.
  4203. At most one instance of this resource is supported. It must be named "tigera-secure".
  4204. properties:
  4205. apiVersion:
  4206. description: 'APIVersion defines the versioned schema of this representation
  4207. of an object. Servers should convert recognized schemas to the latest
  4208. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4209. type: string
  4210. kind:
  4211. description: 'Kind is a string value representing the REST resource this
  4212. object represents. Servers may infer this from the endpoint the client
  4213. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4214. type: string
  4215. metadata:
  4216. type: object
  4217. spec:
  4218. description: Specification of the desired state for the Tigera API server.
  4219. properties:
  4220. apiServerDeployment:
  4221. description: APIServerDeployment configures the calico-apiserver (or
  4222. tigera-apiserver in Enterprise) Deployment. If used in conjunction
  4223. with ControlPlaneNodeSelector or ControlPlaneTolerations, then these
  4224. overrides take precedence.
  4225. properties:
  4226. metadata:
  4227. description: Metadata is a subset of a Kubernetes object's metadata
  4228. that is added to the Deployment.
  4229. properties:
  4230. annotations:
  4231. additionalProperties:
  4232. type: string
  4233. description: Annotations is a map of arbitrary non-identifying
  4234. metadata. Each of these key/value pairs are added to the
  4235. object's annotations provided the key does not already exist
  4236. in the object's annotations.
  4237. type: object
  4238. labels:
  4239. additionalProperties:
  4240. type: string
  4241. description: Labels is a map of string keys and values that
  4242. may match replicaset and service selectors. Each of these
  4243. key/value pairs are added to the object's labels provided
  4244. the key does not already exist in the object's labels.
  4245. type: object
  4246. type: object
  4247. spec:
  4248. description: Spec is the specification of the API server Deployment.
  4249. properties:
  4250. minReadySeconds:
  4251. description: MinReadySeconds is the minimum number of seconds
  4252. for which a newly created Deployment pod should be ready
  4253. without any of its container crashing, for it to be considered
  4254. available. If specified, this overrides any minReadySeconds
  4255. value that may be set on the API server Deployment. If omitted,
  4256. the API server Deployment will use its default value for
  4257. minReadySeconds.
  4258. format: int32
  4259. maximum: 2147483647
  4260. minimum: 0
  4261. type: integer
  4262. template:
  4263. description: Template describes the API server Deployment
  4264. pod that will be created.
  4265. properties:
  4266. metadata:
  4267. description: Metadata is a subset of a Kubernetes object's
  4268. metadata that is added to the pod's metadata.
  4269. properties:
  4270. annotations:
  4271. additionalProperties:
  4272. type: string
  4273. description: Annotations is a map of arbitrary non-identifying
  4274. metadata. Each of these key/value pairs are added
  4275. to the object's annotations provided the key does
  4276. not already exist in the object's annotations.
  4277. type: object
  4278. labels:
  4279. additionalProperties:
  4280. type: string
  4281. description: Labels is a map of string keys and values
  4282. that may match replicaset and service selectors.
  4283. Each of these key/value pairs are added to the object's
  4284. labels provided the key does not already exist in
  4285. the object's labels.
  4286. type: object
  4287. type: object
  4288. spec:
  4289. description: Spec is the API server Deployment's PodSpec.
  4290. properties:
  4291. affinity:
  4292. description: 'Affinity is a group of affinity scheduling
  4293. rules for the API server pods. If specified, this
  4294. overrides any affinity that may be set on the API
  4295. server Deployment. If omitted, the API server Deployment
  4296. will use its default value for affinity. WARNING:
  4297. Please note that this field will override the default
  4298. API server Deployment affinity.'
  4299. properties:
  4300. nodeAffinity:
  4301. description: Describes node affinity scheduling
  4302. rules for the pod.
  4303. properties:
  4304. preferredDuringSchedulingIgnoredDuringExecution:
  4305. description: The scheduler will prefer to
  4306. schedule pods to nodes that satisfy the
  4307. affinity expressions specified by this field,
  4308. but it may choose a node that violates one
  4309. or more of the expressions. The node that
  4310. is most preferred is the one with the greatest
  4311. sum of weights, i.e. for each node that
  4312. meets all of the scheduling requirements
  4313. (resource request, requiredDuringScheduling
  4314. affinity expressions, etc.), compute a sum
  4315. by iterating through the elements of this
  4316. field and adding "weight" to the sum if
  4317. the node matches the corresponding matchExpressions;
  4318. the node(s) with the highest sum are the
  4319. most preferred.
  4320. items:
  4321. description: An empty preferred scheduling
  4322. term matches all objects with implicit
  4323. weight 0 (i.e. it's a no-op). A null preferred
  4324. scheduling term matches no objects (i.e.
  4325. is also a no-op).
  4326. properties:
  4327. preference:
  4328. description: A node selector term, associated
  4329. with the corresponding weight.
  4330. properties:
  4331. matchExpressions:
  4332. description: A list of node selector
  4333. requirements by node's labels.
  4334. items:
  4335. description: A node selector requirement
  4336. is a selector that contains
  4337. values, a key, and an operator
  4338. that relates the key and values.
  4339. properties:
  4340. key:
  4341. description: The label key
  4342. that the selector applies
  4343. to.
  4344. type: string
  4345. operator:
  4346. description: Represents a
  4347. key's relationship to a
  4348. set of values. Valid operators
  4349. are In, NotIn, Exists, DoesNotExist.
  4350. Gt, and Lt.
  4351. type: string
  4352. values:
  4353. description: An array of string
  4354. values. If the operator
  4355. is In or NotIn, the values
  4356. array must be non-empty.
  4357. If the operator is Exists
  4358. or DoesNotExist, the values
  4359. array must be empty. If
  4360. the operator is Gt or Lt,
  4361. the values array must have
  4362. a single element, which
  4363. will be interpreted as an
  4364. integer. This array is replaced
  4365. during a strategic merge
  4366. patch.
  4367. items:
  4368. type: string
  4369. type: array
  4370. required:
  4371. - key
  4372. - operator
  4373. type: object
  4374. type: array
  4375. matchFields:
  4376. description: A list of node selector
  4377. requirements by node's fields.
  4378. items:
  4379. description: A node selector requirement
  4380. is a selector that contains
  4381. values, a key, and an operator
  4382. that relates the key and values.
  4383. properties:
  4384. key:
  4385. description: The label key
  4386. that the selector applies
  4387. to.
  4388. type: string
  4389. operator:
  4390. description: Represents a
  4391. key's relationship to a
  4392. set of values. Valid operators
  4393. are In, NotIn, Exists, DoesNotExist.
  4394. Gt, and Lt.
  4395. type: string
  4396. values:
  4397. description: An array of string
  4398. values. If the operator
  4399. is In or NotIn, the values
  4400. array must be non-empty.
  4401. If the operator is Exists
  4402. or DoesNotExist, the values
  4403. array must be empty. If
  4404. the operator is Gt or Lt,
  4405. the values array must have
  4406. a single element, which
  4407. will be interpreted as an
  4408. integer. This array is replaced
  4409. during a strategic merge
  4410. patch.
  4411. items:
  4412. type: string
  4413. type: array
  4414. required:
  4415. - key
  4416. - operator
  4417. type: object
  4418. type: array
  4419. type: object
  4420. weight:
  4421. description: Weight associated with
  4422. matching the corresponding nodeSelectorTerm,
  4423. in the range 1-100.
  4424. format: int32
  4425. type: integer
  4426. required:
  4427. - preference
  4428. - weight
  4429. type: object
  4430. type: array
  4431. requiredDuringSchedulingIgnoredDuringExecution:
  4432. description: If the affinity requirements
  4433. specified by this field are not met at scheduling
  4434. time, the pod will not be scheduled onto
  4435. the node. If the affinity requirements specified
  4436. by this field cease to be met at some point
  4437. during pod execution (e.g. due to an update),
  4438. the system may or may not try to eventually
  4439. evict the pod from its node.
  4440. properties:
  4441. nodeSelectorTerms:
  4442. description: Required. A list of node
  4443. selector terms. The terms are ORed.
  4444. items:
  4445. description: A null or empty node selector
  4446. term matches no objects. The requirements
  4447. of them are ANDed. The TopologySelectorTerm
  4448. type implements a subset of the NodeSelectorTerm.
  4449. properties:
  4450. matchExpressions:
  4451. description: A list of node selector
  4452. requirements by node's labels.
  4453. items:
  4454. description: A node selector requirement
  4455. is a selector that contains
  4456. values, a key, and an operator
  4457. that relates the key and values.
  4458. properties:
  4459. key:
  4460. description: The label key
  4461. that the selector applies
  4462. to.
  4463. type: string
  4464. operator:
  4465. description: Represents a
  4466. key's relationship to a
  4467. set of values. Valid operators
  4468. are In, NotIn, Exists, DoesNotExist.
  4469. Gt, and Lt.
  4470. type: string
  4471. values:
  4472. description: An array of string
  4473. values. If the operator
  4474. is In or NotIn, the values
  4475. array must be non-empty.
  4476. If the operator is Exists
  4477. or DoesNotExist, the values
  4478. array must be empty. If
  4479. the operator is Gt or Lt,
  4480. the values array must have
  4481. a single element, which
  4482. will be interpreted as an
  4483. integer. This array is replaced
  4484. during a strategic merge
  4485. patch.
  4486. items:
  4487. type: string
  4488. type: array
  4489. required:
  4490. - key
  4491. - operator
  4492. type: object
  4493. type: array
  4494. matchFields:
  4495. description: A list of node selector
  4496. requirements by node's fields.
  4497. items:
  4498. description: A node selector requirement
  4499. is a selector that contains
  4500. values, a key, and an operator
  4501. that relates the key and values.
  4502. properties:
  4503. key:
  4504. description: The label key
  4505. that the selector applies
  4506. to.
  4507. type: string
  4508. operator:
  4509. description: Represents a
  4510. key's relationship to a
  4511. set of values. Valid operators
  4512. are In, NotIn, Exists, DoesNotExist.
  4513. Gt, and Lt.
  4514. type: string
  4515. values:
  4516. description: An array of string
  4517. values. If the operator
  4518. is In or NotIn, the values
  4519. array must be non-empty.
  4520. If the operator is Exists
  4521. or DoesNotExist, the values
  4522. array must be empty. If
  4523. the operator is Gt or Lt,
  4524. the values array must have
  4525. a single element, which
  4526. will be interpreted as an
  4527. integer. This array is replaced
  4528. during a strategic merge
  4529. patch.
  4530. items:
  4531. type: string
  4532. type: array
  4533. required:
  4534. - key
  4535. - operator
  4536. type: object
  4537. type: array
  4538. type: object
  4539. type: array
  4540. required:
  4541. - nodeSelectorTerms
  4542. type: object
  4543. type: object
  4544. podAffinity:
  4545. description: Describes pod affinity scheduling
  4546. rules (e.g. co-locate this pod in the same node,
  4547. zone, etc. as some other pod(s)).
  4548. properties:
  4549. preferredDuringSchedulingIgnoredDuringExecution:
  4550. description: The scheduler will prefer to
  4551. schedule pods to nodes that satisfy the
  4552. affinity expressions specified by this field,
  4553. but it may choose a node that violates one
  4554. or more of the expressions. The node that
  4555. is most preferred is the one with the greatest
  4556. sum of weights, i.e. for each node that
  4557. meets all of the scheduling requirements
  4558. (resource request, requiredDuringScheduling
  4559. affinity expressions, etc.), compute a sum
  4560. by iterating through the elements of this
  4561. field and adding "weight" to the sum if
  4562. the node has pods which matches the corresponding
  4563. podAffinityTerm; the node(s) with the highest
  4564. sum are the most preferred.
  4565. items:
  4566. description: The weights of all of the matched
  4567. WeightedPodAffinityTerm fields are added
  4568. per-node to find the most preferred node(s)
  4569. properties:
  4570. podAffinityTerm:
  4571. description: Required. A pod affinity
  4572. term, associated with the corresponding
  4573. weight.
  4574. properties:
  4575. labelSelector:
  4576. description: A label query over
  4577. a set of resources, in this case
  4578. pods.
  4579. properties:
  4580. matchExpressions:
  4581. description: matchExpressions
  4582. is a list of label selector
  4583. requirements. The requirements
  4584. are ANDed.
  4585. items:
  4586. description: A label selector
  4587. requirement is a selector
  4588. that contains values, a
  4589. key, and an operator that
  4590. relates the key and values.
  4591. properties:
  4592. key:
  4593. description: key is the
  4594. label key that the selector
  4595. applies to.
  4596. type: string
  4597. operator:
  4598. description: operator
  4599. represents a key's relationship
  4600. to a set of values.
  4601. Valid operators are
  4602. In, NotIn, Exists and
  4603. DoesNotExist.
  4604. type: string
  4605. values:
  4606. description: values is
  4607. an array of string values.
  4608. If the operator is In
  4609. or NotIn, the values
  4610. array must be non-empty.
  4611. If the operator is Exists
  4612. or DoesNotExist, the
  4613. values array must be
  4614. empty. This array is
  4615. replaced during a strategic
  4616. merge patch.
  4617. items:
  4618. type: string
  4619. type: array
  4620. required:
  4621. - key
  4622. - operator
  4623. type: object
  4624. type: array
  4625. matchLabels:
  4626. additionalProperties:
  4627. type: string
  4628. description: matchLabels is
  4629. a map of {key,value} pairs.
  4630. A single {key,value} in the
  4631. matchLabels map is equivalent
  4632. to an element of matchExpressions,
  4633. whose key field is "key",
  4634. the operator is "In", and
  4635. the values array contains
  4636. only "value". The requirements
  4637. are ANDed.
  4638. type: object
  4639. type: object
  4640. namespaceSelector:
  4641. description: A label query over
  4642. the set of namespaces that the
  4643. term applies to. The term is applied
  4644. to the union of the namespaces
  4645. selected by this field and the
  4646. ones listed in the namespaces
  4647. field. null selector and null
  4648. or empty namespaces list means
  4649. "this pod's namespace". An empty
  4650. selector ({}) matches all namespaces.
  4651. This field is beta-level and is
  4652. only honored when PodAffinityNamespaceSelector
  4653. feature is enabled.
  4654. properties:
  4655. matchExpressions:
  4656. description: matchExpressions
  4657. is a list of label selector
  4658. requirements. The requirements
  4659. are ANDed.
  4660. items:
  4661. description: A label selector
  4662. requirement is a selector
  4663. that contains values, a
  4664. key, and an operator that
  4665. relates the key and values.
  4666. properties:
  4667. key:
  4668. description: key is the
  4669. label key that the selector
  4670. applies to.
  4671. type: string
  4672. operator:
  4673. description: operator
  4674. represents a key's relationship
  4675. to a set of values.
  4676. Valid operators are
  4677. In, NotIn, Exists and
  4678. DoesNotExist.
  4679. type: string
  4680. values:
  4681. description: values is
  4682. an array of string values.
  4683. If the operator is In
  4684. or NotIn, the values
  4685. array must be non-empty.
  4686. If the operator is Exists
  4687. or DoesNotExist, the
  4688. values array must be
  4689. empty. This array is
  4690. replaced during a strategic
  4691. merge patch.
  4692. items:
  4693. type: string
  4694. type: array
  4695. required:
  4696. - key
  4697. - operator
  4698. type: object
  4699. type: array
  4700. matchLabels:
  4701. additionalProperties:
  4702. type: string
  4703. description: matchLabels is
  4704. a map of {key,value} pairs.
  4705. A single {key,value} in the
  4706. matchLabels map is equivalent
  4707. to an element of matchExpressions,
  4708. whose key field is "key",
  4709. the operator is "In", and
  4710. the values array contains
  4711. only "value". The requirements
  4712. are ANDed.
  4713. type: object
  4714. type: object
  4715. namespaces:
  4716. description: namespaces specifies
  4717. a static list of namespace names
  4718. that the term applies to. The
  4719. term is applied to the union of
  4720. the namespaces listed in this
  4721. field and the ones selected by
  4722. namespaceSelector. null or empty
  4723. namespaces list and null namespaceSelector
  4724. means "this pod's namespace"
  4725. items:
  4726. type: string
  4727. type: array
  4728. topologyKey:
  4729. description: This pod should be
  4730. co-located (affinity) or not co-located
  4731. (anti-affinity) with the pods
  4732. matching the labelSelector in
  4733. the specified namespaces, where
  4734. co-located is defined as running
  4735. on a node whose value of the label
  4736. with key topologyKey matches that
  4737. of any node on which any of the
  4738. selected pods is running. Empty
  4739. topologyKey is not allowed.
  4740. type: string
  4741. required:
  4742. - topologyKey
  4743. type: object
  4744. weight:
  4745. description: weight associated with
  4746. matching the corresponding podAffinityTerm,
  4747. in the range 1-100.
  4748. format: int32
  4749. type: integer
  4750. required:
  4751. - podAffinityTerm
  4752. - weight
  4753. type: object
  4754. type: array
  4755. requiredDuringSchedulingIgnoredDuringExecution:
  4756. description: If the affinity requirements
  4757. specified by this field are not met at scheduling
  4758. time, the pod will not be scheduled onto
  4759. the node. If the affinity requirements specified
  4760. by this field cease to be met at some point
  4761. during pod execution (e.g. due to a pod
  4762. label update), the system may or may not
  4763. try to eventually evict the pod from its
  4764. node. When there are multiple elements,
  4765. the lists of nodes corresponding to each
  4766. podAffinityTerm are intersected, i.e. all
  4767. terms must be satisfied.
  4768. items:
  4769. description: Defines a set of pods (namely
  4770. those matching the labelSelector relative
  4771. to the given namespace(s)) that this pod
  4772. should be co-located (affinity) or not
  4773. co-located (anti-affinity) with, where
  4774. co-located is defined as running on a
  4775. node whose value of the label with key
  4776. <topologyKey> matches that of any node
  4777. on which a pod of the set of pods is running
  4778. properties:
  4779. labelSelector:
  4780. description: A label query over a set
  4781. of resources, in this case pods.
  4782. properties:
  4783. matchExpressions:
  4784. description: matchExpressions is
  4785. a list of label selector requirements.
  4786. The requirements are ANDed.
  4787. items:
  4788. description: A label selector
  4789. requirement is a selector that
  4790. contains values, a key, and
  4791. an operator that relates the
  4792. key and values.
  4793. properties:
  4794. key:
  4795. description: key is the label
  4796. key that the selector applies
  4797. to.
  4798. type: string
  4799. operator:
  4800. description: operator represents
  4801. a key's relationship to
  4802. a set of values. Valid operators
  4803. are In, NotIn, Exists and
  4804. DoesNotExist.
  4805. type: string
  4806. values:
  4807. description: values is an
  4808. array of string values.
  4809. If the operator is In or
  4810. NotIn, the values array
  4811. must be non-empty. If the
  4812. operator is Exists or DoesNotExist,
  4813. the values array must be
  4814. empty. This array is replaced
  4815. during a strategic merge
  4816. patch.
  4817. items:
  4818. type: string
  4819. type: array
  4820. required:
  4821. - key
  4822. - operator
  4823. type: object
  4824. type: array
  4825. matchLabels:
  4826. additionalProperties:
  4827. type: string
  4828. description: matchLabels is a map
  4829. of {key,value} pairs. A single
  4830. {key,value} in the matchLabels
  4831. map is equivalent to an element
  4832. of matchExpressions, whose key
  4833. field is "key", the operator is
  4834. "In", and the values array contains
  4835. only "value". The requirements
  4836. are ANDed.
  4837. type: object
  4838. type: object
  4839. namespaceSelector:
  4840. description: A label query over the
  4841. set of namespaces that the term applies
  4842. to. The term is applied to the union
  4843. of the namespaces selected by this
  4844. field and the ones listed in the namespaces
  4845. field. null selector and null or empty
  4846. namespaces list means "this pod's
  4847. namespace". An empty selector ({})
  4848. matches all namespaces. This field
  4849. is beta-level and is only honored
  4850. when PodAffinityNamespaceSelector
  4851. feature is enabled.
  4852. properties:
  4853. matchExpressions:
  4854. description: matchExpressions is
  4855. a list of label selector requirements.
  4856. The requirements are ANDed.
  4857. items:
  4858. description: A label selector
  4859. requirement is a selector that
  4860. contains values, a key, and
  4861. an operator that relates the
  4862. key and values.
  4863. properties:
  4864. key:
  4865. description: key is the label
  4866. key that the selector applies
  4867. to.
  4868. type: string
  4869. operator:
  4870. description: operator represents
  4871. a key's relationship to
  4872. a set of values. Valid operators
  4873. are In, NotIn, Exists and
  4874. DoesNotExist.
  4875. type: string
  4876. values:
  4877. description: values is an
  4878. array of string values.
  4879. If the operator is In or
  4880. NotIn, the values array
  4881. must be non-empty. If the
  4882. operator is Exists or DoesNotExist,
  4883. the values array must be
  4884. empty. This array is replaced
  4885. during a strategic merge
  4886. patch.
  4887. items:
  4888. type: string
  4889. type: array
  4890. required:
  4891. - key
  4892. - operator
  4893. type: object
  4894. type: array
  4895. matchLabels:
  4896. additionalProperties:
  4897. type: string
  4898. description: matchLabels is a map
  4899. of {key,value} pairs. A single
  4900. {key,value} in the matchLabels
  4901. map is equivalent to an element
  4902. of matchExpressions, whose key
  4903. field is "key", the operator is
  4904. "In", and the values array contains
  4905. only "value". The requirements
  4906. are ANDed.
  4907. type: object
  4908. type: object
  4909. namespaces:
  4910. description: namespaces specifies a
  4911. static list of namespace names that
  4912. the term applies to. The term is applied
  4913. to the union of the namespaces listed
  4914. in this field and the ones selected
  4915. by namespaceSelector. null or empty
  4916. namespaces list and null namespaceSelector
  4917. means "this pod's namespace"
  4918. items:
  4919. type: string
  4920. type: array
  4921. topologyKey:
  4922. description: This pod should be co-located
  4923. (affinity) or not co-located (anti-affinity)
  4924. with the pods matching the labelSelector
  4925. in the specified namespaces, where
  4926. co-located is defined as running on
  4927. a node whose value of the label with
  4928. key topologyKey matches that of any
  4929. node on which any of the selected
  4930. pods is running. Empty topologyKey
  4931. is not allowed.
  4932. type: string
  4933. required:
  4934. - topologyKey
  4935. type: object
  4936. type: array
  4937. type: object
  4938. podAntiAffinity:
  4939. description: Describes pod anti-affinity scheduling
  4940. rules (e.g. avoid putting this pod in the same
  4941. node, zone, etc. as some other pod(s)).
  4942. properties:
  4943. preferredDuringSchedulingIgnoredDuringExecution:
  4944. description: The scheduler will prefer to
  4945. schedule pods to nodes that satisfy the
  4946. anti-affinity expressions specified by this
  4947. field, but it may choose a node that violates
  4948. one or more of the expressions. The node
  4949. that is most preferred is the one with the
  4950. greatest sum of weights, i.e. for each node
  4951. that meets all of the scheduling requirements
  4952. (resource request, requiredDuringScheduling
  4953. anti-affinity expressions, etc.), compute
  4954. a sum by iterating through the elements
  4955. of this field and adding "weight" to the
  4956. sum if the node has pods which matches the
  4957. corresponding podAffinityTerm; the node(s)
  4958. with the highest sum are the most preferred.
  4959. items:
  4960. description: The weights of all of the matched
  4961. WeightedPodAffinityTerm fields are added
  4962. per-node to find the most preferred node(s)
  4963. properties:
  4964. podAffinityTerm:
  4965. description: Required. A pod affinity
  4966. term, associated with the corresponding
  4967. weight.
  4968. properties:
  4969. labelSelector:
  4970. description: A label query over
  4971. a set of resources, in this case
  4972. pods.
  4973. properties:
  4974. matchExpressions:
  4975. description: matchExpressions
  4976. is a list of label selector
  4977. requirements. The requirements
  4978. are ANDed.
  4979. items:
  4980. description: A label selector
  4981. requirement is a selector
  4982. that contains values, a
  4983. key, and an operator that
  4984. relates the key and values.
  4985. properties:
  4986. key:
  4987. description: key is the
  4988. label key that the selector
  4989. applies to.
  4990. type: string
  4991. operator:
  4992. description: operator
  4993. represents a key's relationship
  4994. to a set of values.
  4995. Valid operators are
  4996. In, NotIn, Exists and
  4997. DoesNotExist.
  4998. type: string
  4999. values:
  5000. description: values is
  5001. an array of string values.
  5002. If the operator is In
  5003. or NotIn, the values
  5004. array must be non-empty.
  5005. If the operator is Exists
  5006. or DoesNotExist, the
  5007. values array must be
  5008. empty. This array is
  5009. replaced during a strategic
  5010. merge patch.
  5011. items:
  5012. type: string
  5013. type: array
  5014. required:
  5015. - key
  5016. - operator
  5017. type: object
  5018. type: array
  5019. matchLabels:
  5020. additionalProperties:
  5021. type: string
  5022. description: matchLabels is
  5023. a map of {key,value} pairs.
  5024. A single {key,value} in the
  5025. matchLabels map is equivalent
  5026. to an element of matchExpressions,
  5027. whose key field is "key",
  5028. the operator is "In", and
  5029. the values array contains
  5030. only "value". The requirements
  5031. are ANDed.
  5032. type: object
  5033. type: object
  5034. namespaceSelector:
  5035. description: A label query over
  5036. the set of namespaces that the
  5037. term applies to. The term is applied
  5038. to the union of the namespaces
  5039. selected by this field and the
  5040. ones listed in the namespaces
  5041. field. null selector and null
  5042. or empty namespaces list means
  5043. "this pod's namespace". An empty
  5044. selector ({}) matches all namespaces.
  5045. This field is beta-level and is
  5046. only honored when PodAffinityNamespaceSelector
  5047. feature is enabled.
  5048. properties:
  5049. matchExpressions:
  5050. description: matchExpressions
  5051. is a list of label selector
  5052. requirements. The requirements
  5053. are ANDed.
  5054. items:
  5055. description: A label selector
  5056. requirement is a selector
  5057. that contains values, a
  5058. key, and an operator that
  5059. relates the key and values.
  5060. properties:
  5061. key:
  5062. description: key is the
  5063. label key that the selector
  5064. applies to.
  5065. type: string
  5066. operator:
  5067. description: operator
  5068. represents a key's relationship
  5069. to a set of values.
  5070. Valid operators are
  5071. In, NotIn, Exists and
  5072. DoesNotExist.
  5073. type: string
  5074. values:
  5075. description: values is
  5076. an array of string values.
  5077. If the operator is In
  5078. or NotIn, the values
  5079. array must be non-empty.
  5080. If the operator is Exists
  5081. or DoesNotExist, the
  5082. values array must be
  5083. empty. This array is
  5084. replaced during a strategic
  5085. merge patch.
  5086. items:
  5087. type: string
  5088. type: array
  5089. required:
  5090. - key
  5091. - operator
  5092. type: object
  5093. type: array
  5094. matchLabels:
  5095. additionalProperties:
  5096. type: string
  5097. description: matchLabels is
  5098. a map of {key,value} pairs.
  5099. A single {key,value} in the
  5100. matchLabels map is equivalent
  5101. to an element of matchExpressions,
  5102. whose key field is "key",
  5103. the operator is "In", and
  5104. the values array contains
  5105. only "value". The requirements
  5106. are ANDed.
  5107. type: object
  5108. type: object
  5109. namespaces:
  5110. description: namespaces specifies
  5111. a static list of namespace names
  5112. that the term applies to. The
  5113. term is applied to the union of
  5114. the namespaces listed in this
  5115. field and the ones selected by
  5116. namespaceSelector. null or empty
  5117. namespaces list and null namespaceSelector
  5118. means "this pod's namespace"
  5119. items:
  5120. type: string
  5121. type: array
  5122. topologyKey:
  5123. description: This pod should be
  5124. co-located (affinity) or not co-located
  5125. (anti-affinity) with the pods
  5126. matching the labelSelector in
  5127. the specified namespaces, where
  5128. co-located is defined as running
  5129. on a node whose value of the label
  5130. with key topologyKey matches that
  5131. of any node on which any of the
  5132. selected pods is running. Empty
  5133. topologyKey is not allowed.
  5134. type: string
  5135. required:
  5136. - topologyKey
  5137. type: object
  5138. weight:
  5139. description: weight associated with
  5140. matching the corresponding podAffinityTerm,
  5141. in the range 1-100.
  5142. format: int32
  5143. type: integer
  5144. required:
  5145. - podAffinityTerm
  5146. - weight
  5147. type: object
  5148. type: array
  5149. requiredDuringSchedulingIgnoredDuringExecution:
  5150. description: If the anti-affinity requirements
  5151. specified by this field are not met at scheduling
  5152. time, the pod will not be scheduled onto
  5153. the node. If the anti-affinity requirements
  5154. specified by this field cease to be met
  5155. at some point during pod execution (e.g.
  5156. due to a pod label update), the system may
  5157. or may not try to eventually evict the pod
  5158. from its node. When there are multiple elements,
  5159. the lists of nodes corresponding to each
  5160. podAffinityTerm are intersected, i.e. all
  5161. terms must be satisfied.
  5162. items:
  5163. description: Defines a set of pods (namely
  5164. those matching the labelSelector relative
  5165. to the given namespace(s)) that this pod
  5166. should be co-located (affinity) or not
  5167. co-located (anti-affinity) with, where
  5168. co-located is defined as running on a
  5169. node whose value of the label with key
  5170. <topologyKey> matches that of any node
  5171. on which a pod of the set of pods is running
  5172. properties:
  5173. labelSelector:
  5174. description: A label query over a set
  5175. of resources, in this case pods.
  5176. properties:
  5177. matchExpressions:
  5178. description: matchExpressions is
  5179. a list of label selector requirements.
  5180. The requirements are ANDed.
  5181. items:
  5182. description: A label selector
  5183. requirement is a selector that
  5184. contains values, a key, and
  5185. an operator that relates the
  5186. key and values.
  5187. properties:
  5188. key:
  5189. description: key is the label
  5190. key that the selector applies
  5191. to.
  5192. type: string
  5193. operator:
  5194. description: operator represents
  5195. a key's relationship to
  5196. a set of values. Valid operators
  5197. are In, NotIn, Exists and
  5198. DoesNotExist.
  5199. type: string
  5200. values:
  5201. description: values is an
  5202. array of string values.
  5203. If the operator is In or
  5204. NotIn, the values array
  5205. must be non-empty. If the
  5206. operator is Exists or DoesNotExist,
  5207. the values array must be
  5208. empty. This array is replaced
  5209. during a strategic merge
  5210. patch.
  5211. items:
  5212. type: string
  5213. type: array
  5214. required:
  5215. - key
  5216. - operator
  5217. type: object
  5218. type: array
  5219. matchLabels:
  5220. additionalProperties:
  5221. type: string
  5222. description: matchLabels is a map
  5223. of {key,value} pairs. A single
  5224. {key,value} in the matchLabels
  5225. map is equivalent to an element
  5226. of matchExpressions, whose key
  5227. field is "key", the operator is
  5228. "In", and the values array contains
  5229. only "value". The requirements
  5230. are ANDed.
  5231. type: object
  5232. type: object
  5233. namespaceSelector:
  5234. description: A label query over the
  5235. set of namespaces that the term applies
  5236. to. The term is applied to the union
  5237. of the namespaces selected by this
  5238. field and the ones listed in the namespaces
  5239. field. null selector and null or empty
  5240. namespaces list means "this pod's
  5241. namespace". An empty selector ({})
  5242. matches all namespaces. This field
  5243. is beta-level and is only honored
  5244. when PodAffinityNamespaceSelector
  5245. feature is enabled.
  5246. properties:
  5247. matchExpressions:
  5248. description: matchExpressions is
  5249. a list of label selector requirements.
  5250. The requirements are ANDed.
  5251. items:
  5252. description: A label selector
  5253. requirement is a selector that
  5254. contains values, a key, and
  5255. an operator that relates the
  5256. key and values.
  5257. properties:
  5258. key:
  5259. description: key is the label
  5260. key that the selector applies
  5261. to.
  5262. type: string
  5263. operator:
  5264. description: operator represents
  5265. a key's relationship to
  5266. a set of values. Valid operators
  5267. are In, NotIn, Exists and
  5268. DoesNotExist.
  5269. type: string
  5270. values:
  5271. description: values is an
  5272. array of string values.
  5273. If the operator is In or
  5274. NotIn, the values array
  5275. must be non-empty. If the
  5276. operator is Exists or DoesNotExist,
  5277. the values array must be
  5278. empty. This array is replaced
  5279. during a strategic merge
  5280. patch.
  5281. items:
  5282. type: string
  5283. type: array
  5284. required:
  5285. - key
  5286. - operator
  5287. type: object
  5288. type: array
  5289. matchLabels:
  5290. additionalProperties:
  5291. type: string
  5292. description: matchLabels is a map
  5293. of {key,value} pairs. A single
  5294. {key,value} in the matchLabels
  5295. map is equivalent to an element
  5296. of matchExpressions, whose key
  5297. field is "key", the operator is
  5298. "In", and the values array contains
  5299. only "value". The requirements
  5300. are ANDed.
  5301. type: object
  5302. type: object
  5303. namespaces:
  5304. description: namespaces specifies a
  5305. static list of namespace names that
  5306. the term applies to. The term is applied
  5307. to the union of the namespaces listed
  5308. in this field and the ones selected
  5309. by namespaceSelector. null or empty
  5310. namespaces list and null namespaceSelector
  5311. means "this pod's namespace"
  5312. items:
  5313. type: string
  5314. type: array
  5315. topologyKey:
  5316. description: This pod should be co-located
  5317. (affinity) or not co-located (anti-affinity)
  5318. with the pods matching the labelSelector
  5319. in the specified namespaces, where
  5320. co-located is defined as running on
  5321. a node whose value of the label with
  5322. key topologyKey matches that of any
  5323. node on which any of the selected
  5324. pods is running. Empty topologyKey
  5325. is not allowed.
  5326. type: string
  5327. required:
  5328. - topologyKey
  5329. type: object
  5330. type: array
  5331. type: object
  5332. type: object
  5333. containers:
  5334. description: Containers is a list of API server containers.
  5335. If specified, this overrides the specified API server
  5336. Deployment containers. If omitted, the API server
  5337. Deployment will use its default values for its containers.
  5338. items:
  5339. description: APIServerDeploymentContainer is an
  5340. API server Deployment container.
  5341. properties:
  5342. name:
  5343. description: Name is an enum which identifies
  5344. the API server Deployment container by name.
  5345. enum:
  5346. - calico-apiserver
  5347. - tigera-queryserver
  5348. type: string
  5349. resources:
  5350. description: Resources allows customization
  5351. of limits and requests for compute resources
  5352. such as cpu and memory. If specified, this
  5353. overrides the named API server Deployment
  5354. container's resources. If omitted, the API
  5355. server Deployment will use its default value
  5356. for this container's resources. If used in
  5357. conjunction with the deprecated ComponentResources,
  5358. then this value takes precedence.
  5359. properties:
  5360. limits:
  5361. additionalProperties:
  5362. anyOf:
  5363. - type: integer
  5364. - type: string
  5365. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5366. x-kubernetes-int-or-string: true
  5367. description: 'Limits describes the maximum
  5368. amount of compute resources allowed. More
  5369. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5370. type: object
  5371. requests:
  5372. additionalProperties:
  5373. anyOf:
  5374. - type: integer
  5375. - type: string
  5376. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5377. x-kubernetes-int-or-string: true
  5378. description: 'Requests describes the minimum
  5379. amount of compute resources required.
  5380. If Requests is omitted for a container,
  5381. it defaults to Limits if that is explicitly
  5382. specified, otherwise to an implementation-defined
  5383. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5384. type: object
  5385. type: object
  5386. required:
  5387. - name
  5388. type: object
  5389. type: array
  5390. initContainers:
  5391. description: InitContainers is a list of API server
  5392. init containers. If specified, this overrides the
  5393. specified API server Deployment init containers.
  5394. If omitted, the API server Deployment will use its
  5395. default values for its init containers.
  5396. items:
  5397. description: APIServerDeploymentInitContainer is
  5398. an API server Deployment init container.
  5399. properties:
  5400. name:
  5401. description: Name is an enum which identifies
  5402. the API server Deployment init container by
  5403. name.
  5404. enum:
  5405. - calico-apiserver-certs-key-cert-provisioner
  5406. type: string
  5407. resources:
  5408. description: Resources allows customization
  5409. of limits and requests for compute resources
  5410. such as cpu and memory. If specified, this
  5411. overrides the named API server Deployment
  5412. init container's resources. If omitted, the
  5413. API server Deployment will use its default
  5414. value for this init container's resources.
  5415. properties:
  5416. limits:
  5417. additionalProperties:
  5418. anyOf:
  5419. - type: integer
  5420. - type: string
  5421. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5422. x-kubernetes-int-or-string: true
  5423. description: 'Limits describes the maximum
  5424. amount of compute resources allowed. More
  5425. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5426. type: object
  5427. requests:
  5428. additionalProperties:
  5429. anyOf:
  5430. - type: integer
  5431. - type: string
  5432. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5433. x-kubernetes-int-or-string: true
  5434. description: 'Requests describes the minimum
  5435. amount of compute resources required.
  5436. If Requests is omitted for a container,
  5437. it defaults to Limits if that is explicitly
  5438. specified, otherwise to an implementation-defined
  5439. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  5440. type: object
  5441. type: object
  5442. required:
  5443. - name
  5444. type: object
  5445. type: array
  5446. nodeSelector:
  5447. additionalProperties:
  5448. type: string
  5449. description: 'NodeSelector is the API server pod''s
  5450. scheduling constraints. If specified, each of the
  5451. key/value pairs are added to the API server Deployment
  5452. nodeSelector provided the key does not already exist
  5453. in the object''s nodeSelector. If used in conjunction
  5454. with ControlPlaneNodeSelector, that nodeSelector
  5455. is set on the API server Deployment and each of
  5456. this field''s key/value pairs are added to the API
  5457. server Deployment nodeSelector provided the key
  5458. does not already exist in the object''s nodeSelector.
  5459. If omitted, the API server Deployment will use its
  5460. default value for nodeSelector. WARNING: Please
  5461. note that this field will modify the default API
  5462. server Deployment nodeSelector.'
  5463. type: object
  5464. tolerations:
  5465. description: 'Tolerations is the API server pod''s
  5466. tolerations. If specified, this overrides any tolerations
  5467. that may be set on the API server Deployment. If
  5468. omitted, the API server Deployment will use its
  5469. default value for tolerations. WARNING: Please note
  5470. that this field will override the default API server
  5471. Deployment tolerations.'
  5472. items:
  5473. description: The pod this Toleration is attached
  5474. to tolerates any taint that matches the triple
  5475. <key,value,effect> using the matching operator
  5476. <operator>.
  5477. properties:
  5478. effect:
  5479. description: Effect indicates the taint effect
  5480. to match. Empty means match all taint effects.
  5481. When specified, allowed values are NoSchedule,
  5482. PreferNoSchedule and NoExecute.
  5483. type: string
  5484. key:
  5485. description: Key is the taint key that the toleration
  5486. applies to. Empty means match all taint keys.
  5487. If the key is empty, operator must be Exists;
  5488. this combination means to match all values
  5489. and all keys.
  5490. type: string
  5491. operator:
  5492. description: Operator represents a key's relationship
  5493. to the value. Valid operators are Exists and
  5494. Equal. Defaults to Equal. Exists is equivalent
  5495. to wildcard for value, so that a pod can tolerate
  5496. all taints of a particular category.
  5497. type: string
  5498. tolerationSeconds:
  5499. description: TolerationSeconds represents the
  5500. period of time the toleration (which must
  5501. be of effect NoExecute, otherwise this field
  5502. is ignored) tolerates the taint. By default,
  5503. it is not set, which means tolerate the taint
  5504. forever (do not evict). Zero and negative
  5505. values will be treated as 0 (evict immediately)
  5506. by the system.
  5507. format: int64
  5508. type: integer
  5509. value:
  5510. description: Value is the taint value the toleration
  5511. matches to. If the operator is Exists, the
  5512. value should be empty, otherwise just a regular
  5513. string.
  5514. type: string
  5515. type: object
  5516. type: array
  5517. type: object
  5518. type: object
  5519. type: object
  5520. type: object
  5521. type: object
  5522. status:
  5523. description: Most recently observed status for the Tigera API server.
  5524. properties:
  5525. state:
  5526. description: State provides user-readable status.
  5527. type: string
  5528. type: object
  5529. type: object
  5530. served: true
  5531. storage: true
  5532. subresources:
  5533. status: {}
  5534. status:
  5535. acceptedNames:
  5536. kind: ""
  5537. plural: ""
  5538. conditions: []
  5539. storedVersions: []
  5540. ---
  5541. # Source: crds/operator.tigera.io_imagesets_crd.yaml
  5542. apiVersion: apiextensions.k8s.io/v1
  5543. kind: CustomResourceDefinition
  5544. metadata:
  5545. annotations:
  5546. controller-gen.kubebuilder.io/version: v0.3.0
  5547. name: imagesets.operator.tigera.io
  5548. spec:
  5549. group: operator.tigera.io
  5550. names:
  5551. kind: ImageSet
  5552. listKind: ImageSetList
  5553. plural: imagesets
  5554. singular: imageset
  5555. scope: Cluster
  5556. versions:
  5557. - name: v1
  5558. schema:
  5559. openAPIV3Schema:
  5560. description: ImageSet is used to specify image digests for the images that
  5561. the operator deploys. The name of the ImageSet is expected to be in the
  5562. format `<variant>-<release>`. The `variant` used is `enterprise` if the
  5563. InstallationSpec Variant is `TigeraSecureEnterprise` otherwise it is `calico`.
  5564. The `release` must match the version of the variant that the operator is
  5565. built to deploy, this version can be obtained by passing the `--version`
  5566. flag to the operator binary.
  5567. properties:
  5568. apiVersion:
  5569. description: 'APIVersion defines the versioned schema of this representation
  5570. of an object. Servers should convert recognized schemas to the latest
  5571. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  5572. type: string
  5573. kind:
  5574. description: 'Kind is a string value representing the REST resource this
  5575. object represents. Servers may infer this from the endpoint the client
  5576. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  5577. type: string
  5578. metadata:
  5579. type: object
  5580. spec:
  5581. description: ImageSetSpec defines the desired state of ImageSet.
  5582. properties:
  5583. images:
  5584. description: Images is the list of images to use digests. All images
  5585. that the operator will deploy must be specified.
  5586. items:
  5587. properties:
  5588. digest:
  5589. description: Digest is the image identifier that will be used
  5590. for the Image. The field should not include a leading `@`
  5591. and must be prefixed with `sha256:`.
  5592. type: string
  5593. image:
  5594. description: Image is an image that the operator deploys and
  5595. instead of using the built in tag the operator will use the
  5596. Digest for the image identifier. The value should be the image
  5597. name without registry or tag or digest. For the image `docker.io/calico/node:v3.17.1`
  5598. it should be represented as `calico/node`
  5599. type: string
  5600. required:
  5601. - digest
  5602. - image
  5603. type: object
  5604. type: array
  5605. type: object
  5606. type: object
  5607. served: true
  5608. storage: true
  5609. subresources:
  5610. status: {}
  5611. status:
  5612. acceptedNames:
  5613. kind: ""
  5614. plural: ""
  5615. conditions: []
  5616. storedVersions: []
  5617. ---
  5618. # Source: crds/operator.tigera.io_installations_crd.yaml
  5619. apiVersion: apiextensions.k8s.io/v1
  5620. kind: CustomResourceDefinition
  5621. metadata:
  5622. annotations:
  5623. controller-gen.kubebuilder.io/version: v0.11.3
  5624. name: installations.operator.tigera.io
  5625. spec:
  5626. group: operator.tigera.io
  5627. names:
  5628. kind: Installation
  5629. listKind: InstallationList
  5630. plural: installations
  5631. singular: installation
  5632. scope: Cluster
  5633. versions:
  5634. - name: v1
  5635. schema:
  5636. openAPIV3Schema:
  5637. description: Installation configures an installation of Calico or Calico Enterprise.
  5638. At most one instance of this resource is supported. It must be named "default".
  5639. The Installation API installs core networking and network policy components,
  5640. and provides general install-time configuration.
  5641. properties:
  5642. apiVersion:
  5643. description: 'APIVersion defines the versioned schema of this representation
  5644. of an object. Servers should convert recognized schemas to the latest
  5645. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  5646. type: string
  5647. kind:
  5648. description: 'Kind is a string value representing the REST resource this
  5649. object represents. Servers may infer this from the endpoint the client
  5650. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  5651. type: string
  5652. metadata:
  5653. type: object
  5654. spec:
  5655. description: Specification of the desired state for the Calico or Calico
  5656. Enterprise installation.
  5657. properties:
  5658. calicoKubeControllersDeployment:
  5659. description: CalicoKubeControllersDeployment configures the calico-kube-controllers
  5660. Deployment. If used in conjunction with the deprecated ComponentResources,
  5661. then these overrides take precedence.
  5662. properties:
  5663. metadata:
  5664. description: Metadata is a subset of a Kubernetes object's metadata
  5665. that is added to the Deployment.
  5666. properties:
  5667. annotations:
  5668. additionalProperties:
  5669. type: string
  5670. description: Annotations is a map of arbitrary non-identifying
  5671. metadata. Each of these key/value pairs are added to the
  5672. object's annotations provided the key does not already exist
  5673. in the object's annotations.
  5674. type: object
  5675. labels:
  5676. additionalProperties:
  5677. type: string
  5678. description: Labels is a map of string keys and values that
  5679. may match replicaset and service selectors. Each of these
  5680. key/value pairs are added to the object's labels provided
  5681. the key does not already exist in the object's labels.
  5682. type: object
  5683. type: object
  5684. spec:
  5685. description: Spec is the specification of the calico-kube-controllers
  5686. Deployment.
  5687. properties:
  5688. minReadySeconds:
  5689. description: MinReadySeconds is the minimum number of seconds
  5690. for which a newly created Deployment pod should be ready
  5691. without any of its container crashing, for it to be considered
  5692. available. If specified, this overrides any minReadySeconds
  5693. value that may be set on the calico-kube-controllers Deployment.
  5694. If omitted, the calico-kube-controllers Deployment will
  5695. use its default value for minReadySeconds.
  5696. format: int32
  5697. maximum: 2147483647
  5698. minimum: 0
  5699. type: integer
  5700. template:
  5701. description: Template describes the calico-kube-controllers
  5702. Deployment pod that will be created.
  5703. properties:
  5704. metadata:
  5705. description: Metadata is a subset of a Kubernetes object's
  5706. metadata that is added to the pod's metadata.
  5707. properties:
  5708. annotations:
  5709. additionalProperties:
  5710. type: string
  5711. description: Annotations is a map of arbitrary non-identifying
  5712. metadata. Each of these key/value pairs are added
  5713. to the object's annotations provided the key does
  5714. not already exist in the object's annotations.
  5715. type: object
  5716. labels:
  5717. additionalProperties:
  5718. type: string
  5719. description: Labels is a map of string keys and values
  5720. that may match replicaset and service selectors.
  5721. Each of these key/value pairs are added to the object's
  5722. labels provided the key does not already exist in
  5723. the object's labels.
  5724. type: object
  5725. type: object
  5726. spec:
  5727. description: Spec is the calico-kube-controllers Deployment's
  5728. PodSpec.
  5729. properties:
  5730. affinity:
  5731. description: 'Affinity is a group of affinity scheduling
  5732. rules for the calico-kube-controllers pods. If specified,
  5733. this overrides any affinity that may be set on the
  5734. calico-kube-controllers Deployment. If omitted,
  5735. the calico-kube-controllers Deployment will use
  5736. its default value for affinity. WARNING: Please
  5737. note that this field will override the default calico-kube-controllers
  5738. Deployment affinity.'
  5739. properties:
  5740. nodeAffinity:
  5741. description: Describes node affinity scheduling
  5742. rules for the pod.
  5743. properties:
  5744. preferredDuringSchedulingIgnoredDuringExecution:
  5745. description: The scheduler will prefer to
  5746. schedule pods to nodes that satisfy the
  5747. affinity expressions specified by this field,
  5748. but it may choose a node that violates one
  5749. or more of the expressions. The node that
  5750. is most preferred is the one with the greatest
  5751. sum of weights, i.e. for each node that
  5752. meets all of the scheduling requirements
  5753. (resource request, requiredDuringScheduling
  5754. affinity expressions, etc.), compute a sum
  5755. by iterating through the elements of this
  5756. field and adding "weight" to the sum if
  5757. the node matches the corresponding matchExpressions;
  5758. the node(s) with the highest sum are the
  5759. most preferred.
  5760. items:
  5761. description: An empty preferred scheduling
  5762. term matches all objects with implicit
  5763. weight 0 (i.e. it's a no-op). A null preferred
  5764. scheduling term matches no objects (i.e.
  5765. is also a no-op).
  5766. properties:
  5767. preference:
  5768. description: A node selector term, associated
  5769. with the corresponding weight.
  5770. properties:
  5771. matchExpressions:
  5772. description: A list of node selector
  5773. requirements by node's labels.
  5774. items:
  5775. description: A node selector requirement
  5776. is a selector that contains
  5777. values, a key, and an operator
  5778. that relates the key and values.
  5779. properties:
  5780. key:
  5781. description: The label key
  5782. that the selector applies
  5783. to.
  5784. type: string
  5785. operator:
  5786. description: Represents a
  5787. key's relationship to a
  5788. set of values. Valid operators
  5789. are In, NotIn, Exists, DoesNotExist.
  5790. Gt, and Lt.
  5791. type: string
  5792. values:
  5793. description: An array of string
  5794. values. If the operator
  5795. is In or NotIn, the values
  5796. array must be non-empty.
  5797. If the operator is Exists
  5798. or DoesNotExist, the values
  5799. array must be empty. If
  5800. the operator is Gt or Lt,
  5801. the values array must have
  5802. a single element, which
  5803. will be interpreted as an
  5804. integer. This array is replaced
  5805. during a strategic merge
  5806. patch.
  5807. items:
  5808. type: string
  5809. type: array
  5810. required:
  5811. - key
  5812. - operator
  5813. type: object
  5814. type: array
  5815. matchFields:
  5816. description: A list of node selector
  5817. requirements by node's fields.
  5818. items:
  5819. description: A node selector requirement
  5820. is a selector that contains
  5821. values, a key, and an operator
  5822. that relates the key and values.
  5823. properties:
  5824. key:
  5825. description: The label key
  5826. that the selector applies
  5827. to.
  5828. type: string
  5829. operator:
  5830. description: Represents a
  5831. key's relationship to a
  5832. set of values. Valid operators
  5833. are In, NotIn, Exists, DoesNotExist.
  5834. Gt, and Lt.
  5835. type: string
  5836. values:
  5837. description: An array of string
  5838. values. If the operator
  5839. is In or NotIn, the values
  5840. array must be non-empty.
  5841. If the operator is Exists
  5842. or DoesNotExist, the values
  5843. array must be empty. If
  5844. the operator is Gt or Lt,
  5845. the values array must have
  5846. a single element, which
  5847. will be interpreted as an
  5848. integer. This array is replaced
  5849. during a strategic merge
  5850. patch.
  5851. items:
  5852. type: string
  5853. type: array
  5854. required:
  5855. - key
  5856. - operator
  5857. type: object
  5858. type: array
  5859. type: object
  5860. x-kubernetes-map-type: atomic
  5861. weight:
  5862. description: Weight associated with
  5863. matching the corresponding nodeSelectorTerm,
  5864. in the range 1-100.
  5865. format: int32
  5866. type: integer
  5867. required:
  5868. - preference
  5869. - weight
  5870. type: object
  5871. type: array
  5872. requiredDuringSchedulingIgnoredDuringExecution:
  5873. description: If the affinity requirements
  5874. specified by this field are not met at scheduling
  5875. time, the pod will not be scheduled onto
  5876. the node. If the affinity requirements specified
  5877. by this field cease to be met at some point
  5878. during pod execution (e.g. due to an update),
  5879. the system may or may not try to eventually
  5880. evict the pod from its node.
  5881. properties:
  5882. nodeSelectorTerms:
  5883. description: Required. A list of node
  5884. selector terms. The terms are ORed.
  5885. items:
  5886. description: A null or empty node selector
  5887. term matches no objects. The requirements
  5888. of them are ANDed. The TopologySelectorTerm
  5889. type implements a subset of the NodeSelectorTerm.
  5890. properties:
  5891. matchExpressions:
  5892. description: A list of node selector
  5893. requirements by node's labels.
  5894. items:
  5895. description: A node selector requirement
  5896. is a selector that contains
  5897. values, a key, and an operator
  5898. that relates the key and values.
  5899. properties:
  5900. key:
  5901. description: The label key
  5902. that the selector applies
  5903. to.
  5904. type: string
  5905. operator:
  5906. description: Represents a
  5907. key's relationship to a
  5908. set of values. Valid operators
  5909. are In, NotIn, Exists, DoesNotExist.
  5910. Gt, and Lt.
  5911. type: string
  5912. values:
  5913. description: An array of string
  5914. values. If the operator
  5915. is In or NotIn, the values
  5916. array must be non-empty.
  5917. If the operator is Exists
  5918. or DoesNotExist, the values
  5919. array must be empty. If
  5920. the operator is Gt or Lt,
  5921. the values array must have
  5922. a single element, which
  5923. will be interpreted as an
  5924. integer. This array is replaced
  5925. during a strategic merge
  5926. patch.
  5927. items:
  5928. type: string
  5929. type: array
  5930. required:
  5931. - key
  5932. - operator
  5933. type: object
  5934. type: array
  5935. matchFields:
  5936. description: A list of node selector
  5937. requirements by node's fields.
  5938. items:
  5939. description: A node selector requirement
  5940. is a selector that contains
  5941. values, a key, and an operator
  5942. that relates the key and values.
  5943. properties:
  5944. key:
  5945. description: The label key
  5946. that the selector applies
  5947. to.
  5948. type: string
  5949. operator:
  5950. description: Represents a
  5951. key's relationship to a
  5952. set of values. Valid operators
  5953. are In, NotIn, Exists, DoesNotExist.
  5954. Gt, and Lt.
  5955. type: string
  5956. values:
  5957. description: An array of string
  5958. values. If the operator
  5959. is In or NotIn, the values
  5960. array must be non-empty.
  5961. If the operator is Exists
  5962. or DoesNotExist, the values
  5963. array must be empty. If
  5964. the operator is Gt or Lt,
  5965. the values array must have
  5966. a single element, which
  5967. will be interpreted as an
  5968. integer. This array is replaced
  5969. during a strategic merge
  5970. patch.
  5971. items:
  5972. type: string
  5973. type: array
  5974. required:
  5975. - key
  5976. - operator
  5977. type: object
  5978. type: array
  5979. type: object
  5980. x-kubernetes-map-type: atomic
  5981. type: array
  5982. required:
  5983. - nodeSelectorTerms
  5984. type: object
  5985. x-kubernetes-map-type: atomic
  5986. type: object
  5987. podAffinity:
  5988. description: Describes pod affinity scheduling
  5989. rules (e.g. co-locate this pod in the same node,
  5990. zone, etc. as some other pod(s)).
  5991. properties:
  5992. preferredDuringSchedulingIgnoredDuringExecution:
  5993. description: The scheduler will prefer to
  5994. schedule pods to nodes that satisfy the
  5995. affinity expressions specified by this field,
  5996. but it may choose a node that violates one
  5997. or more of the expressions. The node that
  5998. is most preferred is the one with the greatest
  5999. sum of weights, i.e. for each node that
  6000. meets all of the scheduling requirements
  6001. (resource request, requiredDuringScheduling
  6002. affinity expressions, etc.), compute a sum
  6003. by iterating through the elements of this
  6004. field and adding "weight" to the sum if
  6005. the node has pods which matches the corresponding
  6006. podAffinityTerm; the node(s) with the highest
  6007. sum are the most preferred.
  6008. items:
  6009. description: The weights of all of the matched
  6010. WeightedPodAffinityTerm fields are added
  6011. per-node to find the most preferred node(s)
  6012. properties:
  6013. podAffinityTerm:
  6014. description: Required. A pod affinity
  6015. term, associated with the corresponding
  6016. weight.
  6017. properties:
  6018. labelSelector:
  6019. description: A label query over
  6020. a set of resources, in this case
  6021. pods.
  6022. properties:
  6023. matchExpressions:
  6024. description: matchExpressions
  6025. is a list of label selector
  6026. requirements. The requirements
  6027. are ANDed.
  6028. items:
  6029. description: A label selector
  6030. requirement is a selector
  6031. that contains values, a
  6032. key, and an operator that
  6033. relates the key and values.
  6034. properties:
  6035. key:
  6036. description: key is the
  6037. label key that the selector
  6038. applies to.
  6039. type: string
  6040. operator:
  6041. description: operator
  6042. represents a key's relationship
  6043. to a set of values.
  6044. Valid operators are
  6045. In, NotIn, Exists and
  6046. DoesNotExist.
  6047. type: string
  6048. values:
  6049. description: values is
  6050. an array of string values.
  6051. If the operator is In
  6052. or NotIn, the values
  6053. array must be non-empty.
  6054. If the operator is Exists
  6055. or DoesNotExist, the
  6056. values array must be
  6057. empty. This array is
  6058. replaced during a strategic
  6059. merge patch.
  6060. items:
  6061. type: string
  6062. type: array
  6063. required:
  6064. - key
  6065. - operator
  6066. type: object
  6067. type: array
  6068. matchLabels:
  6069. additionalProperties:
  6070. type: string
  6071. description: matchLabels is
  6072. a map of {key,value} pairs.
  6073. A single {key,value} in the
  6074. matchLabels map is equivalent
  6075. to an element of matchExpressions,
  6076. whose key field is "key",
  6077. the operator is "In", and
  6078. the values array contains
  6079. only "value". The requirements
  6080. are ANDed.
  6081. type: object
  6082. type: object
  6083. x-kubernetes-map-type: atomic
  6084. namespaceSelector:
  6085. description: A label query over
  6086. the set of namespaces that the
  6087. term applies to. The term is applied
  6088. to the union of the namespaces
  6089. selected by this field and the
  6090. ones listed in the namespaces
  6091. field. null selector and null
  6092. or empty namespaces list means
  6093. "this pod's namespace". An empty
  6094. selector ({}) matches all namespaces.
  6095. properties:
  6096. matchExpressions:
  6097. description: matchExpressions
  6098. is a list of label selector
  6099. requirements. The requirements
  6100. are ANDed.
  6101. items:
  6102. description: A label selector
  6103. requirement is a selector
  6104. that contains values, a
  6105. key, and an operator that
  6106. relates the key and values.
  6107. properties:
  6108. key:
  6109. description: key is the
  6110. label key that the selector
  6111. applies to.
  6112. type: string
  6113. operator:
  6114. description: operator
  6115. represents a key's relationship
  6116. to a set of values.
  6117. Valid operators are
  6118. In, NotIn, Exists and
  6119. DoesNotExist.
  6120. type: string
  6121. values:
  6122. description: values is
  6123. an array of string values.
  6124. If the operator is In
  6125. or NotIn, the values
  6126. array must be non-empty.
  6127. If the operator is Exists
  6128. or DoesNotExist, the
  6129. values array must be
  6130. empty. This array is
  6131. replaced during a strategic
  6132. merge patch.
  6133. items:
  6134. type: string
  6135. type: array
  6136. required:
  6137. - key
  6138. - operator
  6139. type: object
  6140. type: array
  6141. matchLabels:
  6142. additionalProperties:
  6143. type: string
  6144. description: matchLabels is
  6145. a map of {key,value} pairs.
  6146. A single {key,value} in the
  6147. matchLabels map is equivalent
  6148. to an element of matchExpressions,
  6149. whose key field is "key",
  6150. the operator is "In", and
  6151. the values array contains
  6152. only "value". The requirements
  6153. are ANDed.
  6154. type: object
  6155. type: object
  6156. x-kubernetes-map-type: atomic
  6157. namespaces:
  6158. description: namespaces specifies
  6159. a static list of namespace names
  6160. that the term applies to. The
  6161. term is applied to the union of
  6162. the namespaces listed in this
  6163. field and the ones selected by
  6164. namespaceSelector. null or empty
  6165. namespaces list and null namespaceSelector
  6166. means "this pod's namespace".
  6167. items:
  6168. type: string
  6169. type: array
  6170. topologyKey:
  6171. description: This pod should be
  6172. co-located (affinity) or not co-located
  6173. (anti-affinity) with the pods
  6174. matching the labelSelector in
  6175. the specified namespaces, where
  6176. co-located is defined as running
  6177. on a node whose value of the label
  6178. with key topologyKey matches that
  6179. of any node on which any of the
  6180. selected pods is running. Empty
  6181. topologyKey is not allowed.
  6182. type: string
  6183. required:
  6184. - topologyKey
  6185. type: object
  6186. weight:
  6187. description: weight associated with
  6188. matching the corresponding podAffinityTerm,
  6189. in the range 1-100.
  6190. format: int32
  6191. type: integer
  6192. required:
  6193. - podAffinityTerm
  6194. - weight
  6195. type: object
  6196. type: array
  6197. requiredDuringSchedulingIgnoredDuringExecution:
  6198. description: If the affinity requirements
  6199. specified by this field are not met at scheduling
  6200. time, the pod will not be scheduled onto
  6201. the node. If the affinity requirements specified
  6202. by this field cease to be met at some point
  6203. during pod execution (e.g. due to a pod
  6204. label update), the system may or may not
  6205. try to eventually evict the pod from its
  6206. node. When there are multiple elements,
  6207. the lists of nodes corresponding to each
  6208. podAffinityTerm are intersected, i.e. all
  6209. terms must be satisfied.
  6210. items:
  6211. description: Defines a set of pods (namely
  6212. those matching the labelSelector relative
  6213. to the given namespace(s)) that this pod
  6214. should be co-located (affinity) or not
  6215. co-located (anti-affinity) with, where
  6216. co-located is defined as running on a
  6217. node whose value of the label with key
  6218. <topologyKey> matches that of any node
  6219. on which a pod of the set of pods is running
  6220. properties:
  6221. labelSelector:
  6222. description: A label query over a set
  6223. of resources, in this case pods.
  6224. properties:
  6225. matchExpressions:
  6226. description: matchExpressions is
  6227. a list of label selector requirements.
  6228. The requirements are ANDed.
  6229. items:
  6230. description: A label selector
  6231. requirement is a selector that
  6232. contains values, a key, and
  6233. an operator that relates the
  6234. key and values.
  6235. properties:
  6236. key:
  6237. description: key is the label
  6238. key that the selector applies
  6239. to.
  6240. type: string
  6241. operator:
  6242. description: operator represents
  6243. a key's relationship to
  6244. a set of values. Valid operators
  6245. are In, NotIn, Exists and
  6246. DoesNotExist.
  6247. type: string
  6248. values:
  6249. description: values is an
  6250. array of string values.
  6251. If the operator is In or
  6252. NotIn, the values array
  6253. must be non-empty. If the
  6254. operator is Exists or DoesNotExist,
  6255. the values array must be
  6256. empty. This array is replaced
  6257. during a strategic merge
  6258. patch.
  6259. items:
  6260. type: string
  6261. type: array
  6262. required:
  6263. - key
  6264. - operator
  6265. type: object
  6266. type: array
  6267. matchLabels:
  6268. additionalProperties:
  6269. type: string
  6270. description: matchLabels is a map
  6271. of {key,value} pairs. A single
  6272. {key,value} in the matchLabels
  6273. map is equivalent to an element
  6274. of matchExpressions, whose key
  6275. field is "key", the operator is
  6276. "In", and the values array contains
  6277. only "value". The requirements
  6278. are ANDed.
  6279. type: object
  6280. type: object
  6281. x-kubernetes-map-type: atomic
  6282. namespaceSelector:
  6283. description: A label query over the
  6284. set of namespaces that the term applies
  6285. to. The term is applied to the union
  6286. of the namespaces selected by this
  6287. field and the ones listed in the namespaces
  6288. field. null selector and null or empty
  6289. namespaces list means "this pod's
  6290. namespace". An empty selector ({})
  6291. matches all namespaces.
  6292. properties:
  6293. matchExpressions:
  6294. description: matchExpressions is
  6295. a list of label selector requirements.
  6296. The requirements are ANDed.
  6297. items:
  6298. description: A label selector
  6299. requirement is a selector that
  6300. contains values, a key, and
  6301. an operator that relates the
  6302. key and values.
  6303. properties:
  6304. key:
  6305. description: key is the label
  6306. key that the selector applies
  6307. to.
  6308. type: string
  6309. operator:
  6310. description: operator represents
  6311. a key's relationship to
  6312. a set of values. Valid operators
  6313. are In, NotIn, Exists and
  6314. DoesNotExist.
  6315. type: string
  6316. values:
  6317. description: values is an
  6318. array of string values.
  6319. If the operator is In or
  6320. NotIn, the values array
  6321. must be non-empty. If the
  6322. operator is Exists or DoesNotExist,
  6323. the values array must be
  6324. empty. This array is replaced
  6325. during a strategic merge
  6326. patch.
  6327. items:
  6328. type: string
  6329. type: array
  6330. required:
  6331. - key
  6332. - operator
  6333. type: object
  6334. type: array
  6335. matchLabels:
  6336. additionalProperties:
  6337. type: string
  6338. description: matchLabels is a map
  6339. of {key,value} pairs. A single
  6340. {key,value} in the matchLabels
  6341. map is equivalent to an element
  6342. of matchExpressions, whose key
  6343. field is "key", the operator is
  6344. "In", and the values array contains
  6345. only "value". The requirements
  6346. are ANDed.
  6347. type: object
  6348. type: object
  6349. x-kubernetes-map-type: atomic
  6350. namespaces:
  6351. description: namespaces specifies a
  6352. static list of namespace names that
  6353. the term applies to. The term is applied
  6354. to the union of the namespaces listed
  6355. in this field and the ones selected
  6356. by namespaceSelector. null or empty
  6357. namespaces list and null namespaceSelector
  6358. means "this pod's namespace".
  6359. items:
  6360. type: string
  6361. type: array
  6362. topologyKey:
  6363. description: This pod should be co-located
  6364. (affinity) or not co-located (anti-affinity)
  6365. with the pods matching the labelSelector
  6366. in the specified namespaces, where
  6367. co-located is defined as running on
  6368. a node whose value of the label with
  6369. key topologyKey matches that of any
  6370. node on which any of the selected
  6371. pods is running. Empty topologyKey
  6372. is not allowed.
  6373. type: string
  6374. required:
  6375. - topologyKey
  6376. type: object
  6377. type: array
  6378. type: object
  6379. podAntiAffinity:
  6380. description: Describes pod anti-affinity scheduling
  6381. rules (e.g. avoid putting this pod in the same
  6382. node, zone, etc. as some other pod(s)).
  6383. properties:
  6384. preferredDuringSchedulingIgnoredDuringExecution:
  6385. description: The scheduler will prefer to
  6386. schedule pods to nodes that satisfy the
  6387. anti-affinity expressions specified by this
  6388. field, but it may choose a node that violates
  6389. one or more of the expressions. The node
  6390. that is most preferred is the one with the
  6391. greatest sum of weights, i.e. for each node
  6392. that meets all of the scheduling requirements
  6393. (resource request, requiredDuringScheduling
  6394. anti-affinity expressions, etc.), compute
  6395. a sum by iterating through the elements
  6396. of this field and adding "weight" to the
  6397. sum if the node has pods which matches the
  6398. corresponding podAffinityTerm; the node(s)
  6399. with the highest sum are the most preferred.
  6400. items:
  6401. description: The weights of all of the matched
  6402. WeightedPodAffinityTerm fields are added
  6403. per-node to find the most preferred node(s)
  6404. properties:
  6405. podAffinityTerm:
  6406. description: Required. A pod affinity
  6407. term, associated with the corresponding
  6408. weight.
  6409. properties:
  6410. labelSelector:
  6411. description: A label query over
  6412. a set of resources, in this case
  6413. pods.
  6414. properties:
  6415. matchExpressions:
  6416. description: matchExpressions
  6417. is a list of label selector
  6418. requirements. The requirements
  6419. are ANDed.
  6420. items:
  6421. description: A label selector
  6422. requirement is a selector
  6423. that contains values, a
  6424. key, and an operator that
  6425. relates the key and values.
  6426. properties:
  6427. key:
  6428. description: key is the
  6429. label key that the selector
  6430. applies to.
  6431. type: string
  6432. operator:
  6433. description: operator
  6434. represents a key's relationship
  6435. to a set of values.
  6436. Valid operators are
  6437. In, NotIn, Exists and
  6438. DoesNotExist.
  6439. type: string
  6440. values:
  6441. description: values is
  6442. an array of string values.
  6443. If the operator is In
  6444. or NotIn, the values
  6445. array must be non-empty.
  6446. If the operator is Exists
  6447. or DoesNotExist, the
  6448. values array must be
  6449. empty. This array is
  6450. replaced during a strategic
  6451. merge patch.
  6452. items:
  6453. type: string
  6454. type: array
  6455. required:
  6456. - key
  6457. - operator
  6458. type: object
  6459. type: array
  6460. matchLabels:
  6461. additionalProperties:
  6462. type: string
  6463. description: matchLabels is
  6464. a map of {key,value} pairs.
  6465. A single {key,value} in the
  6466. matchLabels map is equivalent
  6467. to an element of matchExpressions,
  6468. whose key field is "key",
  6469. the operator is "In", and
  6470. the values array contains
  6471. only "value". The requirements
  6472. are ANDed.
  6473. type: object
  6474. type: object
  6475. x-kubernetes-map-type: atomic
  6476. namespaceSelector:
  6477. description: A label query over
  6478. the set of namespaces that the
  6479. term applies to. The term is applied
  6480. to the union of the namespaces
  6481. selected by this field and the
  6482. ones listed in the namespaces
  6483. field. null selector and null
  6484. or empty namespaces list means
  6485. "this pod's namespace". An empty
  6486. selector ({}) matches all namespaces.
  6487. properties:
  6488. matchExpressions:
  6489. description: matchExpressions
  6490. is a list of label selector
  6491. requirements. The requirements
  6492. are ANDed.
  6493. items:
  6494. description: A label selector
  6495. requirement is a selector
  6496. that contains values, a
  6497. key, and an operator that
  6498. relates the key and values.
  6499. properties:
  6500. key:
  6501. description: key is the
  6502. label key that the selector
  6503. applies to.
  6504. type: string
  6505. operator:
  6506. description: operator
  6507. represents a key's relationship
  6508. to a set of values.
  6509. Valid operators are
  6510. In, NotIn, Exists and
  6511. DoesNotExist.
  6512. type: string
  6513. values:
  6514. description: values is
  6515. an array of string values.
  6516. If the operator is In
  6517. or NotIn, the values
  6518. array must be non-empty.
  6519. If the operator is Exists
  6520. or DoesNotExist, the
  6521. values array must be
  6522. empty. This array is
  6523. replaced during a strategic
  6524. merge patch.
  6525. items:
  6526. type: string
  6527. type: array
  6528. required:
  6529. - key
  6530. - operator
  6531. type: object
  6532. type: array
  6533. matchLabels:
  6534. additionalProperties:
  6535. type: string
  6536. description: matchLabels is
  6537. a map of {key,value} pairs.
  6538. A single {key,value} in the
  6539. matchLabels map is equivalent
  6540. to an element of matchExpressions,
  6541. whose key field is "key",
  6542. the operator is "In", and
  6543. the values array contains
  6544. only "value". The requirements
  6545. are ANDed.
  6546. type: object
  6547. type: object
  6548. x-kubernetes-map-type: atomic
  6549. namespaces:
  6550. description: namespaces specifies
  6551. a static list of namespace names
  6552. that the term applies to. The
  6553. term is applied to the union of
  6554. the namespaces listed in this
  6555. field and the ones selected by
  6556. namespaceSelector. null or empty
  6557. namespaces list and null namespaceSelector
  6558. means "this pod's namespace".
  6559. items:
  6560. type: string
  6561. type: array
  6562. topologyKey:
  6563. description: This pod should be
  6564. co-located (affinity) or not co-located
  6565. (anti-affinity) with the pods
  6566. matching the labelSelector in
  6567. the specified namespaces, where
  6568. co-located is defined as running
  6569. on a node whose value of the label
  6570. with key topologyKey matches that
  6571. of any node on which any of the
  6572. selected pods is running. Empty
  6573. topologyKey is not allowed.
  6574. type: string
  6575. required:
  6576. - topologyKey
  6577. type: object
  6578. weight:
  6579. description: weight associated with
  6580. matching the corresponding podAffinityTerm,
  6581. in the range 1-100.
  6582. format: int32
  6583. type: integer
  6584. required:
  6585. - podAffinityTerm
  6586. - weight
  6587. type: object
  6588. type: array
  6589. requiredDuringSchedulingIgnoredDuringExecution:
  6590. description: If the anti-affinity requirements
  6591. specified by this field are not met at scheduling
  6592. time, the pod will not be scheduled onto
  6593. the node. If the anti-affinity requirements
  6594. specified by this field cease to be met
  6595. at some point during pod execution (e.g.
  6596. due to a pod label update), the system may
  6597. or may not try to eventually evict the pod
  6598. from its node. When there are multiple elements,
  6599. the lists of nodes corresponding to each
  6600. podAffinityTerm are intersected, i.e. all
  6601. terms must be satisfied.
  6602. items:
  6603. description: Defines a set of pods (namely
  6604. those matching the labelSelector relative
  6605. to the given namespace(s)) that this pod
  6606. should be co-located (affinity) or not
  6607. co-located (anti-affinity) with, where
  6608. co-located is defined as running on a
  6609. node whose value of the label with key
  6610. <topologyKey> matches that of any node
  6611. on which a pod of the set of pods is running
  6612. properties:
  6613. labelSelector:
  6614. description: A label query over a set
  6615. of resources, in this case pods.
  6616. properties:
  6617. matchExpressions:
  6618. description: matchExpressions is
  6619. a list of label selector requirements.
  6620. The requirements are ANDed.
  6621. items:
  6622. description: A label selector
  6623. requirement is a selector that
  6624. contains values, a key, and
  6625. an operator that relates the
  6626. key and values.
  6627. properties:
  6628. key:
  6629. description: key is the label
  6630. key that the selector applies
  6631. to.
  6632. type: string
  6633. operator:
  6634. description: operator represents
  6635. a key's relationship to
  6636. a set of values. Valid operators
  6637. are In, NotIn, Exists and
  6638. DoesNotExist.
  6639. type: string
  6640. values:
  6641. description: values is an
  6642. array of string values.
  6643. If the operator is In or
  6644. NotIn, the values array
  6645. must be non-empty. If the
  6646. operator is Exists or DoesNotExist,
  6647. the values array must be
  6648. empty. This array is replaced
  6649. during a strategic merge
  6650. patch.
  6651. items:
  6652. type: string
  6653. type: array
  6654. required:
  6655. - key
  6656. - operator
  6657. type: object
  6658. type: array
  6659. matchLabels:
  6660. additionalProperties:
  6661. type: string
  6662. description: matchLabels is a map
  6663. of {key,value} pairs. A single
  6664. {key,value} in the matchLabels
  6665. map is equivalent to an element
  6666. of matchExpressions, whose key
  6667. field is "key", the operator is
  6668. "In", and the values array contains
  6669. only "value". The requirements
  6670. are ANDed.
  6671. type: object
  6672. type: object
  6673. x-kubernetes-map-type: atomic
  6674. namespaceSelector:
  6675. description: A label query over the
  6676. set of namespaces that the term applies
  6677. to. The term is applied to the union
  6678. of the namespaces selected by this
  6679. field and the ones listed in the namespaces
  6680. field. null selector and null or empty
  6681. namespaces list means "this pod's
  6682. namespace". An empty selector ({})
  6683. matches all namespaces.
  6684. properties:
  6685. matchExpressions:
  6686. description: matchExpressions is
  6687. a list of label selector requirements.
  6688. The requirements are ANDed.
  6689. items:
  6690. description: A label selector
  6691. requirement is a selector that
  6692. contains values, a key, and
  6693. an operator that relates the
  6694. key and values.
  6695. properties:
  6696. key:
  6697. description: key is the label
  6698. key that the selector applies
  6699. to.
  6700. type: string
  6701. operator:
  6702. description: operator represents
  6703. a key's relationship to
  6704. a set of values. Valid operators
  6705. are In, NotIn, Exists and
  6706. DoesNotExist.
  6707. type: string
  6708. values:
  6709. description: values is an
  6710. array of string values.
  6711. If the operator is In or
  6712. NotIn, the values array
  6713. must be non-empty. If the
  6714. operator is Exists or DoesNotExist,
  6715. the values array must be
  6716. empty. This array is replaced
  6717. during a strategic merge
  6718. patch.
  6719. items:
  6720. type: string
  6721. type: array
  6722. required:
  6723. - key
  6724. - operator
  6725. type: object
  6726. type: array
  6727. matchLabels:
  6728. additionalProperties:
  6729. type: string
  6730. description: matchLabels is a map
  6731. of {key,value} pairs. A single
  6732. {key,value} in the matchLabels
  6733. map is equivalent to an element
  6734. of matchExpressions, whose key
  6735. field is "key", the operator is
  6736. "In", and the values array contains
  6737. only "value". The requirements
  6738. are ANDed.
  6739. type: object
  6740. type: object
  6741. x-kubernetes-map-type: atomic
  6742. namespaces:
  6743. description: namespaces specifies a
  6744. static list of namespace names that
  6745. the term applies to. The term is applied
  6746. to the union of the namespaces listed
  6747. in this field and the ones selected
  6748. by namespaceSelector. null or empty
  6749. namespaces list and null namespaceSelector
  6750. means "this pod's namespace".
  6751. items:
  6752. type: string
  6753. type: array
  6754. topologyKey:
  6755. description: This pod should be co-located
  6756. (affinity) or not co-located (anti-affinity)
  6757. with the pods matching the labelSelector
  6758. in the specified namespaces, where
  6759. co-located is defined as running on
  6760. a node whose value of the label with
  6761. key topologyKey matches that of any
  6762. node on which any of the selected
  6763. pods is running. Empty topologyKey
  6764. is not allowed.
  6765. type: string
  6766. required:
  6767. - topologyKey
  6768. type: object
  6769. type: array
  6770. type: object
  6771. type: object
  6772. containers:
  6773. description: Containers is a list of calico-kube-controllers
  6774. containers. If specified, this overrides the specified
  6775. calico-kube-controllers Deployment containers. If
  6776. omitted, the calico-kube-controllers Deployment
  6777. will use its default values for its containers.
  6778. items:
  6779. description: CalicoKubeControllersDeploymentContainer
  6780. is a calico-kube-controllers Deployment container.
  6781. properties:
  6782. name:
  6783. description: Name is an enum which identifies
  6784. the calico-kube-controllers Deployment container
  6785. by name.
  6786. enum:
  6787. - calico-kube-controllers
  6788. type: string
  6789. resources:
  6790. description: Resources allows customization
  6791. of limits and requests for compute resources
  6792. such as cpu and memory. If specified, this
  6793. overrides the named calico-kube-controllers
  6794. Deployment container's resources. If omitted,
  6795. the calico-kube-controllers Deployment will
  6796. use its default value for this container's
  6797. resources. If used in conjunction with the
  6798. deprecated ComponentResources, then this value
  6799. takes precedence.
  6800. properties:
  6801. limits:
  6802. additionalProperties:
  6803. anyOf:
  6804. - type: integer
  6805. - type: string
  6806. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6807. x-kubernetes-int-or-string: true
  6808. description: 'Limits describes the maximum
  6809. amount of compute resources allowed. More
  6810. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6811. type: object
  6812. requests:
  6813. additionalProperties:
  6814. anyOf:
  6815. - type: integer
  6816. - type: string
  6817. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6818. x-kubernetes-int-or-string: true
  6819. description: 'Requests describes the minimum
  6820. amount of compute resources required.
  6821. If Requests is omitted for a container,
  6822. it defaults to Limits if that is explicitly
  6823. specified, otherwise to an implementation-defined
  6824. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6825. type: object
  6826. type: object
  6827. required:
  6828. - name
  6829. type: object
  6830. type: array
  6831. nodeSelector:
  6832. additionalProperties:
  6833. type: string
  6834. description: 'NodeSelector is the calico-kube-controllers
  6835. pod''s scheduling constraints. If specified, each
  6836. of the key/value pairs are added to the calico-kube-controllers
  6837. Deployment nodeSelector provided the key does not
  6838. already exist in the object''s nodeSelector. If
  6839. used in conjunction with ControlPlaneNodeSelector,
  6840. that nodeSelector is set on the calico-kube-controllers
  6841. Deployment and each of this field''s key/value pairs
  6842. are added to the calico-kube-controllers Deployment
  6843. nodeSelector provided the key does not already exist
  6844. in the object''s nodeSelector. If omitted, the calico-kube-controllers
  6845. Deployment will use its default value for nodeSelector.
  6846. WARNING: Please note that this field will modify
  6847. the default calico-kube-controllers Deployment nodeSelector.'
  6848. type: object
  6849. tolerations:
  6850. description: 'Tolerations is the calico-kube-controllers
  6851. pod''s tolerations. If specified, this overrides
  6852. any tolerations that may be set on the calico-kube-controllers
  6853. Deployment. If omitted, the calico-kube-controllers
  6854. Deployment will use its default value for tolerations.
  6855. WARNING: Please note that this field will override
  6856. the default calico-kube-controllers Deployment tolerations.'
  6857. items:
  6858. description: The pod this Toleration is attached
  6859. to tolerates any taint that matches the triple
  6860. <key,value,effect> using the matching operator
  6861. <operator>.
  6862. properties:
  6863. effect:
  6864. description: Effect indicates the taint effect
  6865. to match. Empty means match all taint effects.
  6866. When specified, allowed values are NoSchedule,
  6867. PreferNoSchedule and NoExecute.
  6868. type: string
  6869. key:
  6870. description: Key is the taint key that the toleration
  6871. applies to. Empty means match all taint keys.
  6872. If the key is empty, operator must be Exists;
  6873. this combination means to match all values
  6874. and all keys.
  6875. type: string
  6876. operator:
  6877. description: Operator represents a key's relationship
  6878. to the value. Valid operators are Exists and
  6879. Equal. Defaults to Equal. Exists is equivalent
  6880. to wildcard for value, so that a pod can tolerate
  6881. all taints of a particular category.
  6882. type: string
  6883. tolerationSeconds:
  6884. description: TolerationSeconds represents the
  6885. period of time the toleration (which must
  6886. be of effect NoExecute, otherwise this field
  6887. is ignored) tolerates the taint. By default,
  6888. it is not set, which means tolerate the taint
  6889. forever (do not evict). Zero and negative
  6890. values will be treated as 0 (evict immediately)
  6891. by the system.
  6892. format: int64
  6893. type: integer
  6894. value:
  6895. description: Value is the taint value the toleration
  6896. matches to. If the operator is Exists, the
  6897. value should be empty, otherwise just a regular
  6898. string.
  6899. type: string
  6900. type: object
  6901. type: array
  6902. type: object
  6903. type: object
  6904. type: object
  6905. type: object
  6906. calicoNetwork:
  6907. description: CalicoNetwork specifies networking configuration options
  6908. for Calico.
  6909. properties:
  6910. bgp:
  6911. description: BGP configures whether or not to enable Calico's
  6912. BGP capabilities.
  6913. enum:
  6914. - Enabled
  6915. - Disabled
  6916. type: string
  6917. containerIPForwarding:
  6918. description: 'ContainerIPForwarding configures whether ip forwarding
  6919. will be enabled for containers in the CNI configuration. Default:
  6920. Disabled'
  6921. enum:
  6922. - Enabled
  6923. - Disabled
  6924. type: string
  6925. hostPorts:
  6926. description: 'HostPorts configures whether or not Calico will
  6927. support Kubernetes HostPorts. Valid only when using the Calico
  6928. CNI plugin. Default: Enabled'
  6929. enum:
  6930. - Enabled
  6931. - Disabled
  6932. type: string
  6933. ipPools:
  6934. description: IPPools contains a list of IP pools to create if
  6935. none exist. At most one IP pool of each address family may be
  6936. specified. If omitted, a single pool will be configured if needed.
  6937. items:
  6938. properties:
  6939. blockSize:
  6940. description: 'BlockSize specifies the CIDR prefex length
  6941. to use when allocating per-node IP blocks from the main
  6942. IP pool CIDR. Default: 26 (IPv4), 122 (IPv6)'
  6943. format: int32
  6944. type: integer
  6945. cidr:
  6946. description: CIDR contains the address range for the IP
  6947. Pool in classless inter-domain routing format.
  6948. type: string
  6949. disableBGPExport:
  6950. default: false
  6951. description: 'DisableBGPExport specifies whether routes
  6952. from this IP pool''s CIDR are exported over BGP. Default:
  6953. false'
  6954. type: boolean
  6955. encapsulation:
  6956. description: 'Encapsulation specifies the encapsulation
  6957. type that will be used with the IP Pool. Default: IPIP'
  6958. enum:
  6959. - IPIPCrossSubnet
  6960. - IPIP
  6961. - VXLAN
  6962. - VXLANCrossSubnet
  6963. - None
  6964. type: string
  6965. natOutgoing:
  6966. description: 'NATOutgoing specifies if NAT will be enabled
  6967. or disabled for outgoing traffic. Default: Enabled'
  6968. enum:
  6969. - Enabled
  6970. - Disabled
  6971. type: string
  6972. nodeSelector:
  6973. description: 'NodeSelector specifies the node selector that
  6974. will be set for the IP Pool. Default: ''all()'''
  6975. type: string
  6976. required:
  6977. - cidr
  6978. type: object
  6979. type: array
  6980. linuxDataplane:
  6981. description: 'LinuxDataplane is used to select the dataplane used
  6982. for Linux nodes. In particular, it causes the operator to add
  6983. required mounts and environment variables for the particular
  6984. dataplane. If not specified, iptables mode is used. Default:
  6985. Iptables'
  6986. enum:
  6987. - Iptables
  6988. - BPF
  6989. - VPP
  6990. type: string
  6991. mtu:
  6992. description: MTU specifies the maximum transmission unit to use
  6993. on the pod network. If not specified, Calico will perform MTU
  6994. auto-detection based on the cluster network.
  6995. format: int32
  6996. type: integer
  6997. multiInterfaceMode:
  6998. description: 'MultiInterfaceMode configures what will configure
  6999. multiple interface per pod. Only valid for Calico Enterprise
  7000. installations using the Calico CNI plugin. Default: None'
  7001. enum:
  7002. - None
  7003. - Multus
  7004. type: string
  7005. nodeAddressAutodetectionV4:
  7006. description: NodeAddressAutodetectionV4 specifies an approach
  7007. to automatically detect node IPv4 addresses. If not specified,
  7008. will use default auto-detection settings to acquire an IPv4
  7009. address for each node.
  7010. properties:
  7011. canReach:
  7012. description: CanReach enables IP auto-detection based on which
  7013. source address on the node is used to reach the specified
  7014. IP or domain.
  7015. type: string
  7016. cidrs:
  7017. description: CIDRS enables IP auto-detection based on which
  7018. addresses on the nodes are within one of the provided CIDRs.
  7019. items:
  7020. type: string
  7021. type: array
  7022. firstFound:
  7023. description: FirstFound uses default interface matching parameters
  7024. to select an interface, performing best-effort filtering
  7025. based on well-known interface names.
  7026. type: boolean
  7027. interface:
  7028. description: Interface enables IP auto-detection based on
  7029. interfaces that match the given regex.
  7030. type: string
  7031. kubernetes:
  7032. description: Kubernetes configures Calico to detect node addresses
  7033. based on the Kubernetes API.
  7034. enum:
  7035. - NodeInternalIP
  7036. type: string
  7037. skipInterface:
  7038. description: SkipInterface enables IP auto-detection based
  7039. on interfaces that do not match the given regex.
  7040. type: string
  7041. type: object
  7042. nodeAddressAutodetectionV6:
  7043. description: NodeAddressAutodetectionV6 specifies an approach
  7044. to automatically detect node IPv6 addresses. If not specified,
  7045. IPv6 addresses will not be auto-detected.
  7046. properties:
  7047. canReach:
  7048. description: CanReach enables IP auto-detection based on which
  7049. source address on the node is used to reach the specified
  7050. IP or domain.
  7051. type: string
  7052. cidrs:
  7053. description: CIDRS enables IP auto-detection based on which
  7054. addresses on the nodes are within one of the provided CIDRs.
  7055. items:
  7056. type: string
  7057. type: array
  7058. firstFound:
  7059. description: FirstFound uses default interface matching parameters
  7060. to select an interface, performing best-effort filtering
  7061. based on well-known interface names.
  7062. type: boolean
  7063. interface:
  7064. description: Interface enables IP auto-detection based on
  7065. interfaces that match the given regex.
  7066. type: string
  7067. kubernetes:
  7068. description: Kubernetes configures Calico to detect node addresses
  7069. based on the Kubernetes API.
  7070. enum:
  7071. - NodeInternalIP
  7072. type: string
  7073. skipInterface:
  7074. description: SkipInterface enables IP auto-detection based
  7075. on interfaces that do not match the given regex.
  7076. type: string
  7077. type: object
  7078. type: object
  7079. calicoNodeDaemonSet:
  7080. description: CalicoNodeDaemonSet configures the calico-node DaemonSet.
  7081. If used in conjunction with the deprecated ComponentResources, then
  7082. these overrides take precedence.
  7083. properties:
  7084. metadata:
  7085. description: Metadata is a subset of a Kubernetes object's metadata
  7086. that is added to the DaemonSet.
  7087. properties:
  7088. annotations:
  7089. additionalProperties:
  7090. type: string
  7091. description: Annotations is a map of arbitrary non-identifying
  7092. metadata. Each of these key/value pairs are added to the
  7093. object's annotations provided the key does not already exist
  7094. in the object's annotations.
  7095. type: object
  7096. labels:
  7097. additionalProperties:
  7098. type: string
  7099. description: Labels is a map of string keys and values that
  7100. may match replicaset and service selectors. Each of these
  7101. key/value pairs are added to the object's labels provided
  7102. the key does not already exist in the object's labels.
  7103. type: object
  7104. type: object
  7105. spec:
  7106. description: Spec is the specification of the calico-node DaemonSet.
  7107. properties:
  7108. minReadySeconds:
  7109. description: MinReadySeconds is the minimum number of seconds
  7110. for which a newly created DaemonSet pod should be ready
  7111. without any of its container crashing, for it to be considered
  7112. available. If specified, this overrides any minReadySeconds
  7113. value that may be set on the calico-node DaemonSet. If omitted,
  7114. the calico-node DaemonSet will use its default value for
  7115. minReadySeconds.
  7116. format: int32
  7117. maximum: 2147483647
  7118. minimum: 0
  7119. type: integer
  7120. template:
  7121. description: Template describes the calico-node DaemonSet
  7122. pod that will be created.
  7123. properties:
  7124. metadata:
  7125. description: Metadata is a subset of a Kubernetes object's
  7126. metadata that is added to the pod's metadata.
  7127. properties:
  7128. annotations:
  7129. additionalProperties:
  7130. type: string
  7131. description: Annotations is a map of arbitrary non-identifying
  7132. metadata. Each of these key/value pairs are added
  7133. to the object's annotations provided the key does
  7134. not already exist in the object's annotations.
  7135. type: object
  7136. labels:
  7137. additionalProperties:
  7138. type: string
  7139. description: Labels is a map of string keys and values
  7140. that may match replicaset and service selectors.
  7141. Each of these key/value pairs are added to the object's
  7142. labels provided the key does not already exist in
  7143. the object's labels.
  7144. type: object
  7145. type: object
  7146. spec:
  7147. description: Spec is the calico-node DaemonSet's PodSpec.
  7148. properties:
  7149. affinity:
  7150. description: 'Affinity is a group of affinity scheduling
  7151. rules for the calico-node pods. If specified, this
  7152. overrides any affinity that may be set on the calico-node
  7153. DaemonSet. If omitted, the calico-node DaemonSet
  7154. will use its default value for affinity. WARNING:
  7155. Please note that this field will override the default
  7156. calico-node DaemonSet affinity.'
  7157. properties:
  7158. nodeAffinity:
  7159. description: Describes node affinity scheduling
  7160. rules for the pod.
  7161. properties:
  7162. preferredDuringSchedulingIgnoredDuringExecution:
  7163. description: The scheduler will prefer to
  7164. schedule pods to nodes that satisfy the
  7165. affinity expressions specified by this field,
  7166. but it may choose a node that violates one
  7167. or more of the expressions. The node that
  7168. is most preferred is the one with the greatest
  7169. sum of weights, i.e. for each node that
  7170. meets all of the scheduling requirements
  7171. (resource request, requiredDuringScheduling
  7172. affinity expressions, etc.), compute a sum
  7173. by iterating through the elements of this
  7174. field and adding "weight" to the sum if
  7175. the node matches the corresponding matchExpressions;
  7176. the node(s) with the highest sum are the
  7177. most preferred.
  7178. items:
  7179. description: An empty preferred scheduling
  7180. term matches all objects with implicit
  7181. weight 0 (i.e. it's a no-op). A null preferred
  7182. scheduling term matches no objects (i.e.
  7183. is also a no-op).
  7184. properties:
  7185. preference:
  7186. description: A node selector term, associated
  7187. with the corresponding weight.
  7188. properties:
  7189. matchExpressions:
  7190. description: A list of node selector
  7191. requirements by node's labels.
  7192. items:
  7193. description: A node selector requirement
  7194. is a selector that contains
  7195. values, a key, and an operator
  7196. that relates the key and values.
  7197. properties:
  7198. key:
  7199. description: The label key
  7200. that the selector applies
  7201. to.
  7202. type: string
  7203. operator:
  7204. description: Represents a
  7205. key's relationship to a
  7206. set of values. Valid operators
  7207. are In, NotIn, Exists, DoesNotExist.
  7208. Gt, and Lt.
  7209. type: string
  7210. values:
  7211. description: An array of string
  7212. values. If the operator
  7213. is In or NotIn, the values
  7214. array must be non-empty.
  7215. If the operator is Exists
  7216. or DoesNotExist, the values
  7217. array must be empty. If
  7218. the operator is Gt or Lt,
  7219. the values array must have
  7220. a single element, which
  7221. will be interpreted as an
  7222. integer. This array is replaced
  7223. during a strategic merge
  7224. patch.
  7225. items:
  7226. type: string
  7227. type: array
  7228. required:
  7229. - key
  7230. - operator
  7231. type: object
  7232. type: array
  7233. matchFields:
  7234. description: A list of node selector
  7235. requirements by node's fields.
  7236. items:
  7237. description: A node selector requirement
  7238. is a selector that contains
  7239. values, a key, and an operator
  7240. that relates the key and values.
  7241. properties:
  7242. key:
  7243. description: The label key
  7244. that the selector applies
  7245. to.
  7246. type: string
  7247. operator:
  7248. description: Represents a
  7249. key's relationship to a
  7250. set of values. Valid operators
  7251. are In, NotIn, Exists, DoesNotExist.
  7252. Gt, and Lt.
  7253. type: string
  7254. values:
  7255. description: An array of string
  7256. values. If the operator
  7257. is In or NotIn, the values
  7258. array must be non-empty.
  7259. If the operator is Exists
  7260. or DoesNotExist, the values
  7261. array must be empty. If
  7262. the operator is Gt or Lt,
  7263. the values array must have
  7264. a single element, which
  7265. will be interpreted as an
  7266. integer. This array is replaced
  7267. during a strategic merge
  7268. patch.
  7269. items:
  7270. type: string
  7271. type: array
  7272. required:
  7273. - key
  7274. - operator
  7275. type: object
  7276. type: array
  7277. type: object
  7278. x-kubernetes-map-type: atomic
  7279. weight:
  7280. description: Weight associated with
  7281. matching the corresponding nodeSelectorTerm,
  7282. in the range 1-100.
  7283. format: int32
  7284. type: integer
  7285. required:
  7286. - preference
  7287. - weight
  7288. type: object
  7289. type: array
  7290. requiredDuringSchedulingIgnoredDuringExecution:
  7291. description: If the affinity requirements
  7292. specified by this field are not met at scheduling
  7293. time, the pod will not be scheduled onto
  7294. the node. If the affinity requirements specified
  7295. by this field cease to be met at some point
  7296. during pod execution (e.g. due to an update),
  7297. the system may or may not try to eventually
  7298. evict the pod from its node.
  7299. properties:
  7300. nodeSelectorTerms:
  7301. description: Required. A list of node
  7302. selector terms. The terms are ORed.
  7303. items:
  7304. description: A null or empty node selector
  7305. term matches no objects. The requirements
  7306. of them are ANDed. The TopologySelectorTerm
  7307. type implements a subset of the NodeSelectorTerm.
  7308. properties:
  7309. matchExpressions:
  7310. description: A list of node selector
  7311. requirements by node's labels.
  7312. items:
  7313. description: A node selector requirement
  7314. is a selector that contains
  7315. values, a key, and an operator
  7316. that relates the key and values.
  7317. properties:
  7318. key:
  7319. description: The label key
  7320. that the selector applies
  7321. to.
  7322. type: string
  7323. operator:
  7324. description: Represents a
  7325. key's relationship to a
  7326. set of values. Valid operators
  7327. are In, NotIn, Exists, DoesNotExist.
  7328. Gt, and Lt.
  7329. type: string
  7330. values:
  7331. description: An array of string
  7332. values. If the operator
  7333. is In or NotIn, the values
  7334. array must be non-empty.
  7335. If the operator is Exists
  7336. or DoesNotExist, the values
  7337. array must be empty. If
  7338. the operator is Gt or Lt,
  7339. the values array must have
  7340. a single element, which
  7341. will be interpreted as an
  7342. integer. This array is replaced
  7343. during a strategic merge
  7344. patch.
  7345. items:
  7346. type: string
  7347. type: array
  7348. required:
  7349. - key
  7350. - operator
  7351. type: object
  7352. type: array
  7353. matchFields:
  7354. description: A list of node selector
  7355. requirements by node's fields.
  7356. items:
  7357. description: A node selector requirement
  7358. is a selector that contains
  7359. values, a key, and an operator
  7360. that relates the key and values.
  7361. properties:
  7362. key:
  7363. description: The label key
  7364. that the selector applies
  7365. to.
  7366. type: string
  7367. operator:
  7368. description: Represents a
  7369. key's relationship to a
  7370. set of values. Valid operators
  7371. are In, NotIn, Exists, DoesNotExist.
  7372. Gt, and Lt.
  7373. type: string
  7374. values:
  7375. description: An array of string
  7376. values. If the operator
  7377. is In or NotIn, the values
  7378. array must be non-empty.
  7379. If the operator is Exists
  7380. or DoesNotExist, the values
  7381. array must be empty. If
  7382. the operator is Gt or Lt,
  7383. the values array must have
  7384. a single element, which
  7385. will be interpreted as an
  7386. integer. This array is replaced
  7387. during a strategic merge
  7388. patch.
  7389. items:
  7390. type: string
  7391. type: array
  7392. required:
  7393. - key
  7394. - operator
  7395. type: object
  7396. type: array
  7397. type: object
  7398. x-kubernetes-map-type: atomic
  7399. type: array
  7400. required:
  7401. - nodeSelectorTerms
  7402. type: object
  7403. x-kubernetes-map-type: atomic
  7404. type: object
  7405. podAffinity:
  7406. description: Describes pod affinity scheduling
  7407. rules (e.g. co-locate this pod in the same node,
  7408. zone, etc. as some other pod(s)).
  7409. properties:
  7410. preferredDuringSchedulingIgnoredDuringExecution:
  7411. description: The scheduler will prefer to
  7412. schedule pods to nodes that satisfy the
  7413. affinity expressions specified by this field,
  7414. but it may choose a node that violates one
  7415. or more of the expressions. The node that
  7416. is most preferred is the one with the greatest
  7417. sum of weights, i.e. for each node that
  7418. meets all of the scheduling requirements
  7419. (resource request, requiredDuringScheduling
  7420. affinity expressions, etc.), compute a sum
  7421. by iterating through the elements of this
  7422. field and adding "weight" to the sum if
  7423. the node has pods which matches the corresponding
  7424. podAffinityTerm; the node(s) with the highest
  7425. sum are the most preferred.
  7426. items:
  7427. description: The weights of all of the matched
  7428. WeightedPodAffinityTerm fields are added
  7429. per-node to find the most preferred node(s)
  7430. properties:
  7431. podAffinityTerm:
  7432. description: Required. A pod affinity
  7433. term, associated with the corresponding
  7434. weight.
  7435. properties:
  7436. labelSelector:
  7437. description: A label query over
  7438. a set of resources, in this case
  7439. pods.
  7440. properties:
  7441. matchExpressions:
  7442. description: matchExpressions
  7443. is a list of label selector
  7444. requirements. The requirements
  7445. are ANDed.
  7446. items:
  7447. description: A label selector
  7448. requirement is a selector
  7449. that contains values, a
  7450. key, and an operator that
  7451. relates the key and values.
  7452. properties:
  7453. key:
  7454. description: key is the
  7455. label key that the selector
  7456. applies to.
  7457. type: string
  7458. operator:
  7459. description: operator
  7460. represents a key's relationship
  7461. to a set of values.
  7462. Valid operators are
  7463. In, NotIn, Exists and
  7464. DoesNotExist.
  7465. type: string
  7466. values:
  7467. description: values is
  7468. an array of string values.
  7469. If the operator is In
  7470. or NotIn, the values
  7471. array must be non-empty.
  7472. If the operator is Exists
  7473. or DoesNotExist, the
  7474. values array must be
  7475. empty. This array is
  7476. replaced during a strategic
  7477. merge patch.
  7478. items:
  7479. type: string
  7480. type: array
  7481. required:
  7482. - key
  7483. - operator
  7484. type: object
  7485. type: array
  7486. matchLabels:
  7487. additionalProperties:
  7488. type: string
  7489. description: matchLabels is
  7490. a map of {key,value} pairs.
  7491. A single {key,value} in the
  7492. matchLabels map is equivalent
  7493. to an element of matchExpressions,
  7494. whose key field is "key",
  7495. the operator is "In", and
  7496. the values array contains
  7497. only "value". The requirements
  7498. are ANDed.
  7499. type: object
  7500. type: object
  7501. x-kubernetes-map-type: atomic
  7502. namespaceSelector:
  7503. description: A label query over
  7504. the set of namespaces that the
  7505. term applies to. The term is applied
  7506. to the union of the namespaces
  7507. selected by this field and the
  7508. ones listed in the namespaces
  7509. field. null selector and null
  7510. or empty namespaces list means
  7511. "this pod's namespace". An empty
  7512. selector ({}) matches all namespaces.
  7513. properties:
  7514. matchExpressions:
  7515. description: matchExpressions
  7516. is a list of label selector
  7517. requirements. The requirements
  7518. are ANDed.
  7519. items:
  7520. description: A label selector
  7521. requirement is a selector
  7522. that contains values, a
  7523. key, and an operator that
  7524. relates the key and values.
  7525. properties:
  7526. key:
  7527. description: key is the
  7528. label key that the selector
  7529. applies to.
  7530. type: string
  7531. operator:
  7532. description: operator
  7533. represents a key's relationship
  7534. to a set of values.
  7535. Valid operators are
  7536. In, NotIn, Exists and
  7537. DoesNotExist.
  7538. type: string
  7539. values:
  7540. description: values is
  7541. an array of string values.
  7542. If the operator is In
  7543. or NotIn, the values
  7544. array must be non-empty.
  7545. If the operator is Exists
  7546. or DoesNotExist, the
  7547. values array must be
  7548. empty. This array is
  7549. replaced during a strategic
  7550. merge patch.
  7551. items:
  7552. type: string
  7553. type: array
  7554. required:
  7555. - key
  7556. - operator
  7557. type: object
  7558. type: array
  7559. matchLabels:
  7560. additionalProperties:
  7561. type: string
  7562. description: matchLabels is
  7563. a map of {key,value} pairs.
  7564. A single {key,value} in the
  7565. matchLabels map is equivalent
  7566. to an element of matchExpressions,
  7567. whose key field is "key",
  7568. the operator is "In", and
  7569. the values array contains
  7570. only "value". The requirements
  7571. are ANDed.
  7572. type: object
  7573. type: object
  7574. x-kubernetes-map-type: atomic
  7575. namespaces:
  7576. description: namespaces specifies
  7577. a static list of namespace names
  7578. that the term applies to. The
  7579. term is applied to the union of
  7580. the namespaces listed in this
  7581. field and the ones selected by
  7582. namespaceSelector. null or empty
  7583. namespaces list and null namespaceSelector
  7584. means "this pod's namespace".
  7585. items:
  7586. type: string
  7587. type: array
  7588. topologyKey:
  7589. description: This pod should be
  7590. co-located (affinity) or not co-located
  7591. (anti-affinity) with the pods
  7592. matching the labelSelector in
  7593. the specified namespaces, where
  7594. co-located is defined as running
  7595. on a node whose value of the label
  7596. with key topologyKey matches that
  7597. of any node on which any of the
  7598. selected pods is running. Empty
  7599. topologyKey is not allowed.
  7600. type: string
  7601. required:
  7602. - topologyKey
  7603. type: object
  7604. weight:
  7605. description: weight associated with
  7606. matching the corresponding podAffinityTerm,
  7607. in the range 1-100.
  7608. format: int32
  7609. type: integer
  7610. required:
  7611. - podAffinityTerm
  7612. - weight
  7613. type: object
  7614. type: array
  7615. requiredDuringSchedulingIgnoredDuringExecution:
  7616. description: If the affinity requirements
  7617. specified by this field are not met at scheduling
  7618. time, the pod will not be scheduled onto
  7619. the node. If the affinity requirements specified
  7620. by this field cease to be met at some point
  7621. during pod execution (e.g. due to a pod
  7622. label update), the system may or may not
  7623. try to eventually evict the pod from its
  7624. node. When there are multiple elements,
  7625. the lists of nodes corresponding to each
  7626. podAffinityTerm are intersected, i.e. all
  7627. terms must be satisfied.
  7628. items:
  7629. description: Defines a set of pods (namely
  7630. those matching the labelSelector relative
  7631. to the given namespace(s)) that this pod
  7632. should be co-located (affinity) or not
  7633. co-located (anti-affinity) with, where
  7634. co-located is defined as running on a
  7635. node whose value of the label with key
  7636. <topologyKey> matches that of any node
  7637. on which a pod of the set of pods is running
  7638. properties:
  7639. labelSelector:
  7640. description: A label query over a set
  7641. of resources, in this case pods.
  7642. properties:
  7643. matchExpressions:
  7644. description: matchExpressions is
  7645. a list of label selector requirements.
  7646. The requirements are ANDed.
  7647. items:
  7648. description: A label selector
  7649. requirement is a selector that
  7650. contains values, a key, and
  7651. an operator that relates the
  7652. key and values.
  7653. properties:
  7654. key:
  7655. description: key is the label
  7656. key that the selector applies
  7657. to.
  7658. type: string
  7659. operator:
  7660. description: operator represents
  7661. a key's relationship to
  7662. a set of values. Valid operators
  7663. are In, NotIn, Exists and
  7664. DoesNotExist.
  7665. type: string
  7666. values:
  7667. description: values is an
  7668. array of string values.
  7669. If the operator is In or
  7670. NotIn, the values array
  7671. must be non-empty. If the
  7672. operator is Exists or DoesNotExist,
  7673. the values array must be
  7674. empty. This array is replaced
  7675. during a strategic merge
  7676. patch.
  7677. items:
  7678. type: string
  7679. type: array
  7680. required:
  7681. - key
  7682. - operator
  7683. type: object
  7684. type: array
  7685. matchLabels:
  7686. additionalProperties:
  7687. type: string
  7688. description: matchLabels is a map
  7689. of {key,value} pairs. A single
  7690. {key,value} in the matchLabels
  7691. map is equivalent to an element
  7692. of matchExpressions, whose key
  7693. field is "key", the operator is
  7694. "In", and the values array contains
  7695. only "value". The requirements
  7696. are ANDed.
  7697. type: object
  7698. type: object
  7699. x-kubernetes-map-type: atomic
  7700. namespaceSelector:
  7701. description: A label query over the
  7702. set of namespaces that the term applies
  7703. to. The term is applied to the union
  7704. of the namespaces selected by this
  7705. field and the ones listed in the namespaces
  7706. field. null selector and null or empty
  7707. namespaces list means "this pod's
  7708. namespace". An empty selector ({})
  7709. matches all namespaces.
  7710. properties:
  7711. matchExpressions:
  7712. description: matchExpressions is
  7713. a list of label selector requirements.
  7714. The requirements are ANDed.
  7715. items:
  7716. description: A label selector
  7717. requirement is a selector that
  7718. contains values, a key, and
  7719. an operator that relates the
  7720. key and values.
  7721. properties:
  7722. key:
  7723. description: key is the label
  7724. key that the selector applies
  7725. to.
  7726. type: string
  7727. operator:
  7728. description: operator represents
  7729. a key's relationship to
  7730. a set of values. Valid operators
  7731. are In, NotIn, Exists and
  7732. DoesNotExist.
  7733. type: string
  7734. values:
  7735. description: values is an
  7736. array of string values.
  7737. If the operator is In or
  7738. NotIn, the values array
  7739. must be non-empty. If the
  7740. operator is Exists or DoesNotExist,
  7741. the values array must be
  7742. empty. This array is replaced
  7743. during a strategic merge
  7744. patch.
  7745. items:
  7746. type: string
  7747. type: array
  7748. required:
  7749. - key
  7750. - operator
  7751. type: object
  7752. type: array
  7753. matchLabels:
  7754. additionalProperties:
  7755. type: string
  7756. description: matchLabels is a map
  7757. of {key,value} pairs. A single
  7758. {key,value} in the matchLabels
  7759. map is equivalent to an element
  7760. of matchExpressions, whose key
  7761. field is "key", the operator is
  7762. "In", and the values array contains
  7763. only "value". The requirements
  7764. are ANDed.
  7765. type: object
  7766. type: object
  7767. x-kubernetes-map-type: atomic
  7768. namespaces:
  7769. description: namespaces specifies a
  7770. static list of namespace names that
  7771. the term applies to. The term is applied
  7772. to the union of the namespaces listed
  7773. in this field and the ones selected
  7774. by namespaceSelector. null or empty
  7775. namespaces list and null namespaceSelector
  7776. means "this pod's namespace".
  7777. items:
  7778. type: string
  7779. type: array
  7780. topologyKey:
  7781. description: This pod should be co-located
  7782. (affinity) or not co-located (anti-affinity)
  7783. with the pods matching the labelSelector
  7784. in the specified namespaces, where
  7785. co-located is defined as running on
  7786. a node whose value of the label with
  7787. key topologyKey matches that of any
  7788. node on which any of the selected
  7789. pods is running. Empty topologyKey
  7790. is not allowed.
  7791. type: string
  7792. required:
  7793. - topologyKey
  7794. type: object
  7795. type: array
  7796. type: object
  7797. podAntiAffinity:
  7798. description: Describes pod anti-affinity scheduling
  7799. rules (e.g. avoid putting this pod in the same
  7800. node, zone, etc. as some other pod(s)).
  7801. properties:
  7802. preferredDuringSchedulingIgnoredDuringExecution:
  7803. description: The scheduler will prefer to
  7804. schedule pods to nodes that satisfy the
  7805. anti-affinity expressions specified by this
  7806. field, but it may choose a node that violates
  7807. one or more of the expressions. The node
  7808. that is most preferred is the one with the
  7809. greatest sum of weights, i.e. for each node
  7810. that meets all of the scheduling requirements
  7811. (resource request, requiredDuringScheduling
  7812. anti-affinity expressions, etc.), compute
  7813. a sum by iterating through the elements
  7814. of this field and adding "weight" to the
  7815. sum if the node has pods which matches the
  7816. corresponding podAffinityTerm; the node(s)
  7817. with the highest sum are the most preferred.
  7818. items:
  7819. description: The weights of all of the matched
  7820. WeightedPodAffinityTerm fields are added
  7821. per-node to find the most preferred node(s)
  7822. properties:
  7823. podAffinityTerm:
  7824. description: Required. A pod affinity
  7825. term, associated with the corresponding
  7826. weight.
  7827. properties:
  7828. labelSelector:
  7829. description: A label query over
  7830. a set of resources, in this case
  7831. pods.
  7832. properties:
  7833. matchExpressions:
  7834. description: matchExpressions
  7835. is a list of label selector
  7836. requirements. The requirements
  7837. are ANDed.
  7838. items:
  7839. description: A label selector
  7840. requirement is a selector
  7841. that contains values, a
  7842. key, and an operator that
  7843. relates the key and values.
  7844. properties:
  7845. key:
  7846. description: key is the
  7847. label key that the selector
  7848. applies to.
  7849. type: string
  7850. operator:
  7851. description: operator
  7852. represents a key's relationship
  7853. to a set of values.
  7854. Valid operators are
  7855. In, NotIn, Exists and
  7856. DoesNotExist.
  7857. type: string
  7858. values:
  7859. description: values is
  7860. an array of string values.
  7861. If the operator is In
  7862. or NotIn, the values
  7863. array must be non-empty.
  7864. If the operator is Exists
  7865. or DoesNotExist, the
  7866. values array must be
  7867. empty. This array is
  7868. replaced during a strategic
  7869. merge patch.
  7870. items:
  7871. type: string
  7872. type: array
  7873. required:
  7874. - key
  7875. - operator
  7876. type: object
  7877. type: array
  7878. matchLabels:
  7879. additionalProperties:
  7880. type: string
  7881. description: matchLabels is
  7882. a map of {key,value} pairs.
  7883. A single {key,value} in the
  7884. matchLabels map is equivalent
  7885. to an element of matchExpressions,
  7886. whose key field is "key",
  7887. the operator is "In", and
  7888. the values array contains
  7889. only "value". The requirements
  7890. are ANDed.
  7891. type: object
  7892. type: object
  7893. x-kubernetes-map-type: atomic
  7894. namespaceSelector:
  7895. description: A label query over
  7896. the set of namespaces that the
  7897. term applies to. The term is applied
  7898. to the union of the namespaces
  7899. selected by this field and the
  7900. ones listed in the namespaces
  7901. field. null selector and null
  7902. or empty namespaces list means
  7903. "this pod's namespace". An empty
  7904. selector ({}) matches all namespaces.
  7905. properties:
  7906. matchExpressions:
  7907. description: matchExpressions
  7908. is a list of label selector
  7909. requirements. The requirements
  7910. are ANDed.
  7911. items:
  7912. description: A label selector
  7913. requirement is a selector
  7914. that contains values, a
  7915. key, and an operator that
  7916. relates the key and values.
  7917. properties:
  7918. key:
  7919. description: key is the
  7920. label key that the selector
  7921. applies to.
  7922. type: string
  7923. operator:
  7924. description: operator
  7925. represents a key's relationship
  7926. to a set of values.
  7927. Valid operators are
  7928. In, NotIn, Exists and
  7929. DoesNotExist.
  7930. type: string
  7931. values:
  7932. description: values is
  7933. an array of string values.
  7934. If the operator is In
  7935. or NotIn, the values
  7936. array must be non-empty.
  7937. If the operator is Exists
  7938. or DoesNotExist, the
  7939. values array must be
  7940. empty. This array is
  7941. replaced during a strategic
  7942. merge patch.
  7943. items:
  7944. type: string
  7945. type: array
  7946. required:
  7947. - key
  7948. - operator
  7949. type: object
  7950. type: array
  7951. matchLabels:
  7952. additionalProperties:
  7953. type: string
  7954. description: matchLabels is
  7955. a map of {key,value} pairs.
  7956. A single {key,value} in the
  7957. matchLabels map is equivalent
  7958. to an element of matchExpressions,
  7959. whose key field is "key",
  7960. the operator is "In", and
  7961. the values array contains
  7962. only "value". The requirements
  7963. are ANDed.
  7964. type: object
  7965. type: object
  7966. x-kubernetes-map-type: atomic
  7967. namespaces:
  7968. description: namespaces specifies
  7969. a static list of namespace names
  7970. that the term applies to. The
  7971. term is applied to the union of
  7972. the namespaces listed in this
  7973. field and the ones selected by
  7974. namespaceSelector. null or empty
  7975. namespaces list and null namespaceSelector
  7976. means "this pod's namespace".
  7977. items:
  7978. type: string
  7979. type: array
  7980. topologyKey:
  7981. description: This pod should be
  7982. co-located (affinity) or not co-located
  7983. (anti-affinity) with the pods
  7984. matching the labelSelector in
  7985. the specified namespaces, where
  7986. co-located is defined as running
  7987. on a node whose value of the label
  7988. with key topologyKey matches that
  7989. of any node on which any of the
  7990. selected pods is running. Empty
  7991. topologyKey is not allowed.
  7992. type: string
  7993. required:
  7994. - topologyKey
  7995. type: object
  7996. weight:
  7997. description: weight associated with
  7998. matching the corresponding podAffinityTerm,
  7999. in the range 1-100.
  8000. format: int32
  8001. type: integer
  8002. required:
  8003. - podAffinityTerm
  8004. - weight
  8005. type: object
  8006. type: array
  8007. requiredDuringSchedulingIgnoredDuringExecution:
  8008. description: If the anti-affinity requirements
  8009. specified by this field are not met at scheduling
  8010. time, the pod will not be scheduled onto
  8011. the node. If the anti-affinity requirements
  8012. specified by this field cease to be met
  8013. at some point during pod execution (e.g.
  8014. due to a pod label update), the system may
  8015. or may not try to eventually evict the pod
  8016. from its node. When there are multiple elements,
  8017. the lists of nodes corresponding to each
  8018. podAffinityTerm are intersected, i.e. all
  8019. terms must be satisfied.
  8020. items:
  8021. description: Defines a set of pods (namely
  8022. those matching the labelSelector relative
  8023. to the given namespace(s)) that this pod
  8024. should be co-located (affinity) or not
  8025. co-located (anti-affinity) with, where
  8026. co-located is defined as running on a
  8027. node whose value of the label with key
  8028. <topologyKey> matches that of any node
  8029. on which a pod of the set of pods is running
  8030. properties:
  8031. labelSelector:
  8032. description: A label query over a set
  8033. of resources, in this case pods.
  8034. properties:
  8035. matchExpressions:
  8036. description: matchExpressions is
  8037. a list of label selector requirements.
  8038. The requirements are ANDed.
  8039. items:
  8040. description: A label selector
  8041. requirement is a selector that
  8042. contains values, a key, and
  8043. an operator that relates the
  8044. key and values.
  8045. properties:
  8046. key:
  8047. description: key is the label
  8048. key that the selector applies
  8049. to.
  8050. type: string
  8051. operator:
  8052. description: operator represents
  8053. a key's relationship to
  8054. a set of values. Valid operators
  8055. are In, NotIn, Exists and
  8056. DoesNotExist.
  8057. type: string
  8058. values:
  8059. description: values is an
  8060. array of string values.
  8061. If the operator is In or
  8062. NotIn, the values array
  8063. must be non-empty. If the
  8064. operator is Exists or DoesNotExist,
  8065. the values array must be
  8066. empty. This array is replaced
  8067. during a strategic merge
  8068. patch.
  8069. items:
  8070. type: string
  8071. type: array
  8072. required:
  8073. - key
  8074. - operator
  8075. type: object
  8076. type: array
  8077. matchLabels:
  8078. additionalProperties:
  8079. type: string
  8080. description: matchLabels is a map
  8081. of {key,value} pairs. A single
  8082. {key,value} in the matchLabels
  8083. map is equivalent to an element
  8084. of matchExpressions, whose key
  8085. field is "key", the operator is
  8086. "In", and the values array contains
  8087. only "value". The requirements
  8088. are ANDed.
  8089. type: object
  8090. type: object
  8091. x-kubernetes-map-type: atomic
  8092. namespaceSelector:
  8093. description: A label query over the
  8094. set of namespaces that the term applies
  8095. to. The term is applied to the union
  8096. of the namespaces selected by this
  8097. field and the ones listed in the namespaces
  8098. field. null selector and null or empty
  8099. namespaces list means "this pod's
  8100. namespace". An empty selector ({})
  8101. matches all namespaces.
  8102. properties:
  8103. matchExpressions:
  8104. description: matchExpressions is
  8105. a list of label selector requirements.
  8106. The requirements are ANDed.
  8107. items:
  8108. description: A label selector
  8109. requirement is a selector that
  8110. contains values, a key, and
  8111. an operator that relates the
  8112. key and values.
  8113. properties:
  8114. key:
  8115. description: key is the label
  8116. key that the selector applies
  8117. to.
  8118. type: string
  8119. operator:
  8120. description: operator represents
  8121. a key's relationship to
  8122. a set of values. Valid operators
  8123. are In, NotIn, Exists and
  8124. DoesNotExist.
  8125. type: string
  8126. values:
  8127. description: values is an
  8128. array of string values.
  8129. If the operator is In or
  8130. NotIn, the values array
  8131. must be non-empty. If the
  8132. operator is Exists or DoesNotExist,
  8133. the values array must be
  8134. empty. This array is replaced
  8135. during a strategic merge
  8136. patch.
  8137. items:
  8138. type: string
  8139. type: array
  8140. required:
  8141. - key
  8142. - operator
  8143. type: object
  8144. type: array
  8145. matchLabels:
  8146. additionalProperties:
  8147. type: string
  8148. description: matchLabels is a map
  8149. of {key,value} pairs. A single
  8150. {key,value} in the matchLabels
  8151. map is equivalent to an element
  8152. of matchExpressions, whose key
  8153. field is "key", the operator is
  8154. "In", and the values array contains
  8155. only "value". The requirements
  8156. are ANDed.
  8157. type: object
  8158. type: object
  8159. x-kubernetes-map-type: atomic
  8160. namespaces:
  8161. description: namespaces specifies a
  8162. static list of namespace names that
  8163. the term applies to. The term is applied
  8164. to the union of the namespaces listed
  8165. in this field and the ones selected
  8166. by namespaceSelector. null or empty
  8167. namespaces list and null namespaceSelector
  8168. means "this pod's namespace".
  8169. items:
  8170. type: string
  8171. type: array
  8172. topologyKey:
  8173. description: This pod should be co-located
  8174. (affinity) or not co-located (anti-affinity)
  8175. with the pods matching the labelSelector
  8176. in the specified namespaces, where
  8177. co-located is defined as running on
  8178. a node whose value of the label with
  8179. key topologyKey matches that of any
  8180. node on which any of the selected
  8181. pods is running. Empty topologyKey
  8182. is not allowed.
  8183. type: string
  8184. required:
  8185. - topologyKey
  8186. type: object
  8187. type: array
  8188. type: object
  8189. type: object
  8190. containers:
  8191. description: Containers is a list of calico-node containers.
  8192. If specified, this overrides the specified calico-node
  8193. DaemonSet containers. If omitted, the calico-node
  8194. DaemonSet will use its default values for its containers.
  8195. items:
  8196. description: CalicoNodeDaemonSetContainer is a calico-node
  8197. DaemonSet container.
  8198. properties:
  8199. name:
  8200. description: Name is an enum which identifies
  8201. the calico-node DaemonSet container by name.
  8202. enum:
  8203. - calico-node
  8204. type: string
  8205. resources:
  8206. description: Resources allows customization
  8207. of limits and requests for compute resources
  8208. such as cpu and memory. If specified, this
  8209. overrides the named calico-node DaemonSet
  8210. container's resources. If omitted, the calico-node
  8211. DaemonSet will use its default value for this
  8212. container's resources. If used in conjunction
  8213. with the deprecated ComponentResources, then
  8214. this value takes precedence.
  8215. properties:
  8216. limits:
  8217. additionalProperties:
  8218. anyOf:
  8219. - type: integer
  8220. - type: string
  8221. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8222. x-kubernetes-int-or-string: true
  8223. description: 'Limits describes the maximum
  8224. amount of compute resources allowed. More
  8225. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8226. type: object
  8227. requests:
  8228. additionalProperties:
  8229. anyOf:
  8230. - type: integer
  8231. - type: string
  8232. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8233. x-kubernetes-int-or-string: true
  8234. description: 'Requests describes the minimum
  8235. amount of compute resources required.
  8236. If Requests is omitted for a container,
  8237. it defaults to Limits if that is explicitly
  8238. specified, otherwise to an implementation-defined
  8239. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8240. type: object
  8241. type: object
  8242. required:
  8243. - name
  8244. type: object
  8245. type: array
  8246. initContainers:
  8247. description: InitContainers is a list of calico-node
  8248. init containers. If specified, this overrides the
  8249. specified calico-node DaemonSet init containers.
  8250. If omitted, the calico-node DaemonSet will use its
  8251. default values for its init containers.
  8252. items:
  8253. description: CalicoNodeDaemonSetInitContainer is
  8254. a calico-node DaemonSet init container.
  8255. properties:
  8256. name:
  8257. description: Name is an enum which identifies
  8258. the calico-node DaemonSet init container by
  8259. name.
  8260. enum:
  8261. - install-cni
  8262. - hostpath-init
  8263. - flexvol-driver
  8264. - mount-bpffs
  8265. - node-certs-key-cert-provisioner
  8266. - calico-node-prometheus-server-tls-key-cert-provisioner
  8267. type: string
  8268. resources:
  8269. description: Resources allows customization
  8270. of limits and requests for compute resources
  8271. such as cpu and memory. If specified, this
  8272. overrides the named calico-node DaemonSet
  8273. init container's resources. If omitted, the
  8274. calico-node DaemonSet will use its default
  8275. value for this container's resources. If used
  8276. in conjunction with the deprecated ComponentResources,
  8277. then this value takes precedence.
  8278. properties:
  8279. limits:
  8280. additionalProperties:
  8281. anyOf:
  8282. - type: integer
  8283. - type: string
  8284. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8285. x-kubernetes-int-or-string: true
  8286. description: 'Limits describes the maximum
  8287. amount of compute resources allowed. More
  8288. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8289. type: object
  8290. requests:
  8291. additionalProperties:
  8292. anyOf:
  8293. - type: integer
  8294. - type: string
  8295. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8296. x-kubernetes-int-or-string: true
  8297. description: 'Requests describes the minimum
  8298. amount of compute resources required.
  8299. If Requests is omitted for a container,
  8300. it defaults to Limits if that is explicitly
  8301. specified, otherwise to an implementation-defined
  8302. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  8303. type: object
  8304. type: object
  8305. required:
  8306. - name
  8307. type: object
  8308. type: array
  8309. nodeSelector:
  8310. additionalProperties:
  8311. type: string
  8312. description: 'NodeSelector is the calico-node pod''s
  8313. scheduling constraints. If specified, each of the
  8314. key/value pairs are added to the calico-node DaemonSet
  8315. nodeSelector provided the key does not already exist
  8316. in the object''s nodeSelector. If omitted, the calico-node
  8317. DaemonSet will use its default value for nodeSelector.
  8318. WARNING: Please note that this field will modify
  8319. the default calico-node DaemonSet nodeSelector.'
  8320. type: object
  8321. tolerations:
  8322. description: 'Tolerations is the calico-node pod''s
  8323. tolerations. If specified, this overrides any tolerations
  8324. that may be set on the calico-node DaemonSet. If
  8325. omitted, the calico-node DaemonSet will use its
  8326. default value for tolerations. WARNING: Please note
  8327. that this field will override the default calico-node
  8328. DaemonSet tolerations.'
  8329. items:
  8330. description: The pod this Toleration is attached
  8331. to tolerates any taint that matches the triple
  8332. <key,value,effect> using the matching operator
  8333. <operator>.
  8334. properties:
  8335. effect:
  8336. description: Effect indicates the taint effect
  8337. to match. Empty means match all taint effects.
  8338. When specified, allowed values are NoSchedule,
  8339. PreferNoSchedule and NoExecute.
  8340. type: string
  8341. key:
  8342. description: Key is the taint key that the toleration
  8343. applies to. Empty means match all taint keys.
  8344. If the key is empty, operator must be Exists;
  8345. this combination means to match all values
  8346. and all keys.
  8347. type: string
  8348. operator:
  8349. description: Operator represents a key's relationship
  8350. to the value. Valid operators are Exists and
  8351. Equal. Defaults to Equal. Exists is equivalent
  8352. to wildcard for value, so that a pod can tolerate
  8353. all taints of a particular category.
  8354. type: string
  8355. tolerationSeconds:
  8356. description: TolerationSeconds represents the
  8357. period of time the toleration (which must
  8358. be of effect NoExecute, otherwise this field
  8359. is ignored) tolerates the taint. By default,
  8360. it is not set, which means tolerate the taint
  8361. forever (do not evict). Zero and negative
  8362. values will be treated as 0 (evict immediately)
  8363. by the system.
  8364. format: int64
  8365. type: integer
  8366. value:
  8367. description: Value is the taint value the toleration
  8368. matches to. If the operator is Exists, the
  8369. value should be empty, otherwise just a regular
  8370. string.
  8371. type: string
  8372. type: object
  8373. type: array
  8374. type: object
  8375. type: object
  8376. type: object
  8377. type: object
  8378. calicoWindowsUpgradeDaemonSet:
  8379. description: CalicoWindowsUpgradeDaemonSet configures the calico-windows-upgrade
  8380. DaemonSet.
  8381. properties:
  8382. metadata:
  8383. description: Metadata is a subset of a Kubernetes object's metadata
  8384. that is added to the Deployment.
  8385. properties:
  8386. annotations:
  8387. additionalProperties:
  8388. type: string
  8389. description: Annotations is a map of arbitrary non-identifying
  8390. metadata. Each of these key/value pairs are added to the
  8391. object's annotations provided the key does not already exist
  8392. in the object's annotations.
  8393. type: object
  8394. labels:
  8395. additionalProperties:
  8396. type: string
  8397. description: Labels is a map of string keys and values that
  8398. may match replicaset and service selectors. Each of these
  8399. key/value pairs are added to the object's labels provided
  8400. the key does not already exist in the object's labels.
  8401. type: object
  8402. type: object
  8403. spec:
  8404. description: Spec is the specification of the calico-windows-upgrade
  8405. DaemonSet.
  8406. properties:
  8407. minReadySeconds:
  8408. description: MinReadySeconds is the minimum number of seconds
  8409. for which a newly created Deployment pod should be ready
  8410. without any of its container crashing, for it to be considered
  8411. available. If specified, this overrides any minReadySeconds
  8412. value that may be set on the calico-windows-upgrade DaemonSet.
  8413. If omitted, the calico-windows-upgrade DaemonSet will use
  8414. its default value for minReadySeconds.
  8415. format: int32
  8416. maximum: 2147483647
  8417. minimum: 0
  8418. type: integer
  8419. template:
  8420. description: Template describes the calico-windows-upgrade
  8421. DaemonSet pod that will be created.
  8422. properties:
  8423. metadata:
  8424. description: Metadata is a subset of a Kubernetes object's
  8425. metadata that is added to the pod's metadata.
  8426. properties:
  8427. annotations:
  8428. additionalProperties:
  8429. type: string
  8430. description: Annotations is a map of arbitrary non-identifying
  8431. metadata. Each of these key/value pairs are added
  8432. to the object's annotations provided the key does
  8433. not already exist in the object's annotations.
  8434. type: object
  8435. labels:
  8436. additionalProperties:
  8437. type: string
  8438. description: Labels is a map of string keys and values
  8439. that may match replicaset and service selectors.
  8440. Each of these key/value pairs are added to the object's
  8441. labels provided the key does not already exist in
  8442. the object's labels.
  8443. type: object
  8444. type: object
  8445. spec:
  8446. description: Spec is the calico-windows-upgrade DaemonSet's
  8447. PodSpec.
  8448. properties:
  8449. affinity:
  8450. description: 'Affinity is a group of affinity scheduling
  8451. rules for the calico-windows-upgrade pods. If specified,
  8452. this overrides any affinity that may be set on the
  8453. calico-windows-upgrade DaemonSet. If omitted, the
  8454. calico-windows-upgrade DaemonSet will use its default
  8455. value for affinity. WARNING: Please note that this
  8456. field will override the default calico-windows-upgrade
  8457. DaemonSet affinity.'
  8458. properties:
  8459. nodeAffinity:
  8460. description: Describes node affinity scheduling
  8461. rules for the pod.
  8462. properties:
  8463. preferredDuringSchedulingIgnoredDuringExecution:
  8464. description: The scheduler will prefer to
  8465. schedule pods to nodes that satisfy the
  8466. affinity expressions specified by this field,
  8467. but it may choose a node that violates one
  8468. or more of the expressions. The node that
  8469. is most preferred is the one with the greatest
  8470. sum of weights, i.e. for each node that
  8471. meets all of the scheduling requirements
  8472. (resource request, requiredDuringScheduling
  8473. affinity expressions, etc.), compute a sum
  8474. by iterating through the elements of this
  8475. field and adding "weight" to the sum if
  8476. the node matches the corresponding matchExpressions;
  8477. the node(s) with the highest sum are the
  8478. most preferred.
  8479. items:
  8480. description: An empty preferred scheduling
  8481. term matches all objects with implicit
  8482. weight 0 (i.e. it's a no-op). A null preferred
  8483. scheduling term matches no objects (i.e.
  8484. is also a no-op).
  8485. properties:
  8486. preference:
  8487. description: A node selector term, associated
  8488. with the corresponding weight.
  8489. properties:
  8490. matchExpressions:
  8491. description: A list of node selector
  8492. requirements by node's labels.
  8493. items:
  8494. description: A node selector requirement
  8495. is a selector that contains
  8496. values, a key, and an operator
  8497. that relates the key and values.
  8498. properties:
  8499. key:
  8500. description: The label key
  8501. that the selector applies
  8502. to.
  8503. type: string
  8504. operator:
  8505. description: Represents a
  8506. key's relationship to a
  8507. set of values. Valid operators
  8508. are In, NotIn, Exists, DoesNotExist.
  8509. Gt, and Lt.
  8510. type: string
  8511. values:
  8512. description: An array of string
  8513. values. If the operator
  8514. is In or NotIn, the values
  8515. array must be non-empty.
  8516. If the operator is Exists
  8517. or DoesNotExist, the values
  8518. array must be empty. If
  8519. the operator is Gt or Lt,
  8520. the values array must have
  8521. a single element, which
  8522. will be interpreted as an
  8523. integer. This array is replaced
  8524. during a strategic merge
  8525. patch.
  8526. items:
  8527. type: string
  8528. type: array
  8529. required:
  8530. - key
  8531. - operator
  8532. type: object
  8533. type: array
  8534. matchFields:
  8535. description: A list of node selector
  8536. requirements by node's fields.
  8537. items:
  8538. description: A node selector requirement
  8539. is a selector that contains
  8540. values, a key, and an operator
  8541. that relates the key and values.
  8542. properties:
  8543. key:
  8544. description: The label key
  8545. that the selector applies
  8546. to.
  8547. type: string
  8548. operator:
  8549. description: Represents a
  8550. key's relationship to a
  8551. set of values. Valid operators
  8552. are In, NotIn, Exists, DoesNotExist.
  8553. Gt, and Lt.
  8554. type: string
  8555. values:
  8556. description: An array of string
  8557. values. If the operator
  8558. is In or NotIn, the values
  8559. array must be non-empty.
  8560. If the operator is Exists
  8561. or DoesNotExist, the values
  8562. array must be empty. If
  8563. the operator is Gt or Lt,
  8564. the values array must have
  8565. a single element, which
  8566. will be interpreted as an
  8567. integer. This array is replaced
  8568. during a strategic merge
  8569. patch.
  8570. items:
  8571. type: string
  8572. type: array
  8573. required:
  8574. - key
  8575. - operator
  8576. type: object
  8577. type: array
  8578. type: object
  8579. x-kubernetes-map-type: atomic
  8580. weight:
  8581. description: Weight associated with
  8582. matching the corresponding nodeSelectorTerm,
  8583. in the range 1-100.
  8584. format: int32
  8585. type: integer
  8586. required:
  8587. - preference
  8588. - weight
  8589. type: object
  8590. type: array
  8591. requiredDuringSchedulingIgnoredDuringExecution:
  8592. description: If the affinity requirements
  8593. specified by this field are not met at scheduling
  8594. time, the pod will not be scheduled onto
  8595. the node. If the affinity requirements specified
  8596. by this field cease to be met at some point
  8597. during pod execution (e.g. due to an update),
  8598. the system may or may not try to eventually
  8599. evict the pod from its node.
  8600. properties:
  8601. nodeSelectorTerms:
  8602. description: Required. A list of node
  8603. selector terms. The terms are ORed.
  8604. items:
  8605. description: A null or empty node selector
  8606. term matches no objects. The requirements
  8607. of them are ANDed. The TopologySelectorTerm
  8608. type implements a subset of the NodeSelectorTerm.
  8609. properties:
  8610. matchExpressions:
  8611. description: A list of node selector
  8612. requirements by node's labels.
  8613. items:
  8614. description: A node selector requirement
  8615. is a selector that contains
  8616. values, a key, and an operator
  8617. that relates the key and values.
  8618. properties:
  8619. key:
  8620. description: The label key
  8621. that the selector applies
  8622. to.
  8623. type: string
  8624. operator:
  8625. description: Represents a
  8626. key's relationship to a
  8627. set of values. Valid operators
  8628. are In, NotIn, Exists, DoesNotExist.
  8629. Gt, and Lt.
  8630. type: string
  8631. values:
  8632. description: An array of string
  8633. values. If the operator
  8634. is In or NotIn, the values
  8635. array must be non-empty.
  8636. If the operator is Exists
  8637. or DoesNotExist, the values
  8638. array must be empty. If
  8639. the operator is Gt or Lt,
  8640. the values array must have
  8641. a single element, which
  8642. will be interpreted as an
  8643. integer. This array is replaced
  8644. during a strategic merge
  8645. patch.
  8646. items:
  8647. type: string
  8648. type: array
  8649. required:
  8650. - key
  8651. - operator
  8652. type: object
  8653. type: array
  8654. matchFields:
  8655. description: A list of node selector
  8656. requirements by node's fields.
  8657. items:
  8658. description: A node selector requirement
  8659. is a selector that contains
  8660. values, a key, and an operator
  8661. that relates the key and values.
  8662. properties:
  8663. key:
  8664. description: The label key
  8665. that the selector applies
  8666. to.
  8667. type: string
  8668. operator:
  8669. description: Represents a
  8670. key's relationship to a
  8671. set of values. Valid operators
  8672. are In, NotIn, Exists, DoesNotExist.
  8673. Gt, and Lt.
  8674. type: string
  8675. values:
  8676. description: An array of string
  8677. values. If the operator
  8678. is In or NotIn, the values
  8679. array must be non-empty.
  8680. If the operator is Exists
  8681. or DoesNotExist, the values
  8682. array must be empty. If
  8683. the operator is Gt or Lt,
  8684. the values array must have
  8685. a single element, which
  8686. will be interpreted as an
  8687. integer. This array is replaced
  8688. during a strategic merge
  8689. patch.
  8690. items:
  8691. type: string
  8692. type: array
  8693. required:
  8694. - key
  8695. - operator
  8696. type: object
  8697. type: array
  8698. type: object
  8699. x-kubernetes-map-type: atomic
  8700. type: array
  8701. required:
  8702. - nodeSelectorTerms
  8703. type: object
  8704. x-kubernetes-map-type: atomic
  8705. type: object
  8706. podAffinity:
  8707. description: Describes pod affinity scheduling
  8708. rules (e.g. co-locate this pod in the same node,
  8709. zone, etc. as some other pod(s)).
  8710. properties:
  8711. preferredDuringSchedulingIgnoredDuringExecution:
  8712. description: The scheduler will prefer to
  8713. schedule pods to nodes that satisfy the
  8714. affinity expressions specified by this field,
  8715. but it may choose a node that violates one
  8716. or more of the expressions. The node that
  8717. is most preferred is the one with the greatest
  8718. sum of weights, i.e. for each node that
  8719. meets all of the scheduling requirements
  8720. (resource request, requiredDuringScheduling
  8721. affinity expressions, etc.), compute a sum
  8722. by iterating through the elements of this
  8723. field and adding "weight" to the sum if
  8724. the node has pods which matches the corresponding
  8725. podAffinityTerm; the node(s) with the highest
  8726. sum are the most preferred.
  8727. items:
  8728. description: The weights of all of the matched
  8729. WeightedPodAffinityTerm fields are added
  8730. per-node to find the most preferred node(s)
  8731. properties:
  8732. podAffinityTerm:
  8733. description: Required. A pod affinity
  8734. term, associated with the corresponding
  8735. weight.
  8736. properties:
  8737. labelSelector:
  8738. description: A label query over
  8739. a set of resources, in this case
  8740. pods.
  8741. properties:
  8742. matchExpressions:
  8743. description: matchExpressions
  8744. is a list of label selector
  8745. requirements. The requirements
  8746. are ANDed.
  8747. items:
  8748. description: A label selector
  8749. requirement is a selector
  8750. that contains values, a
  8751. key, and an operator that
  8752. relates the key and values.
  8753. properties:
  8754. key:
  8755. description: key is the
  8756. label key that the selector
  8757. applies to.
  8758. type: string
  8759. operator:
  8760. description: operator
  8761. represents a key's relationship
  8762. to a set of values.
  8763. Valid operators are
  8764. In, NotIn, Exists and
  8765. DoesNotExist.
  8766. type: string
  8767. values:
  8768. description: values is
  8769. an array of string values.
  8770. If the operator is In
  8771. or NotIn, the values
  8772. array must be non-empty.
  8773. If the operator is Exists
  8774. or DoesNotExist, the
  8775. values array must be
  8776. empty. This array is
  8777. replaced during a strategic
  8778. merge patch.
  8779. items:
  8780. type: string
  8781. type: array
  8782. required:
  8783. - key
  8784. - operator
  8785. type: object
  8786. type: array
  8787. matchLabels:
  8788. additionalProperties:
  8789. type: string
  8790. description: matchLabels is
  8791. a map of {key,value} pairs.
  8792. A single {key,value} in the
  8793. matchLabels map is equivalent
  8794. to an element of matchExpressions,
  8795. whose key field is "key",
  8796. the operator is "In", and
  8797. the values array contains
  8798. only "value". The requirements
  8799. are ANDed.
  8800. type: object
  8801. type: object
  8802. x-kubernetes-map-type: atomic
  8803. namespaceSelector:
  8804. description: A label query over
  8805. the set of namespaces that the
  8806. term applies to. The term is applied
  8807. to the union of the namespaces
  8808. selected by this field and the
  8809. ones listed in the namespaces
  8810. field. null selector and null
  8811. or empty namespaces list means
  8812. "this pod's namespace". An empty
  8813. selector ({}) matches all namespaces.
  8814. properties:
  8815. matchExpressions:
  8816. description: matchExpressions
  8817. is a list of label selector
  8818. requirements. The requirements
  8819. are ANDed.
  8820. items:
  8821. description: A label selector
  8822. requirement is a selector
  8823. that contains values, a
  8824. key, and an operator that
  8825. relates the key and values.
  8826. properties:
  8827. key:
  8828. description: key is the
  8829. label key that the selector
  8830. applies to.
  8831. type: string
  8832. operator:
  8833. description: operator
  8834. represents a key's relationship
  8835. to a set of values.
  8836. Valid operators are
  8837. In, NotIn, Exists and
  8838. DoesNotExist.
  8839. type: string
  8840. values:
  8841. description: values is
  8842. an array of string values.
  8843. If the operator is In
  8844. or NotIn, the values
  8845. array must be non-empty.
  8846. If the operator is Exists
  8847. or DoesNotExist, the
  8848. values array must be
  8849. empty. This array is
  8850. replaced during a strategic
  8851. merge patch.
  8852. items:
  8853. type: string
  8854. type: array
  8855. required:
  8856. - key
  8857. - operator
  8858. type: object
  8859. type: array
  8860. matchLabels:
  8861. additionalProperties:
  8862. type: string
  8863. description: matchLabels is
  8864. a map of {key,value} pairs.
  8865. A single {key,value} in the
  8866. matchLabels map is equivalent
  8867. to an element of matchExpressions,
  8868. whose key field is "key",
  8869. the operator is "In", and
  8870. the values array contains
  8871. only "value". The requirements
  8872. are ANDed.
  8873. type: object
  8874. type: object
  8875. x-kubernetes-map-type: atomic
  8876. namespaces:
  8877. description: namespaces specifies
  8878. a static list of namespace names
  8879. that the term applies to. The
  8880. term is applied to the union of
  8881. the namespaces listed in this
  8882. field and the ones selected by
  8883. namespaceSelector. null or empty
  8884. namespaces list and null namespaceSelector
  8885. means "this pod's namespace".
  8886. items:
  8887. type: string
  8888. type: array
  8889. topologyKey:
  8890. description: This pod should be
  8891. co-located (affinity) or not co-located
  8892. (anti-affinity) with the pods
  8893. matching the labelSelector in
  8894. the specified namespaces, where
  8895. co-located is defined as running
  8896. on a node whose value of the label
  8897. with key topologyKey matches that
  8898. of any node on which any of the
  8899. selected pods is running. Empty
  8900. topologyKey is not allowed.
  8901. type: string
  8902. required:
  8903. - topologyKey
  8904. type: object
  8905. weight:
  8906. description: weight associated with
  8907. matching the corresponding podAffinityTerm,
  8908. in the range 1-100.
  8909. format: int32
  8910. type: integer
  8911. required:
  8912. - podAffinityTerm
  8913. - weight
  8914. type: object
  8915. type: array
  8916. requiredDuringSchedulingIgnoredDuringExecution:
  8917. description: If the affinity requirements
  8918. specified by this field are not met at scheduling
  8919. time, the pod will not be scheduled onto
  8920. the node. If the affinity requirements specified
  8921. by this field cease to be met at some point
  8922. during pod execution (e.g. due to a pod
  8923. label update), the system may or may not
  8924. try to eventually evict the pod from its
  8925. node. When there are multiple elements,
  8926. the lists of nodes corresponding to each
  8927. podAffinityTerm are intersected, i.e. all
  8928. terms must be satisfied.
  8929. items:
  8930. description: Defines a set of pods (namely
  8931. those matching the labelSelector relative
  8932. to the given namespace(s)) that this pod
  8933. should be co-located (affinity) or not
  8934. co-located (anti-affinity) with, where
  8935. co-located is defined as running on a
  8936. node whose value of the label with key
  8937. <topologyKey> matches that of any node
  8938. on which a pod of the set of pods is running
  8939. properties:
  8940. labelSelector:
  8941. description: A label query over a set
  8942. of resources, in this case pods.
  8943. properties:
  8944. matchExpressions:
  8945. description: matchExpressions is
  8946. a list of label selector requirements.
  8947. The requirements are ANDed.
  8948. items:
  8949. description: A label selector
  8950. requirement is a selector that
  8951. contains values, a key, and
  8952. an operator that relates the
  8953. key and values.
  8954. properties:
  8955. key:
  8956. description: key is the label
  8957. key that the selector applies
  8958. to.
  8959. type: string
  8960. operator:
  8961. description: operator represents
  8962. a key's relationship to
  8963. a set of values. Valid operators
  8964. are In, NotIn, Exists and
  8965. DoesNotExist.
  8966. type: string
  8967. values:
  8968. description: values is an
  8969. array of string values.
  8970. If the operator is In or
  8971. NotIn, the values array
  8972. must be non-empty. If the
  8973. operator is Exists or DoesNotExist,
  8974. the values array must be
  8975. empty. This array is replaced
  8976. during a strategic merge
  8977. patch.
  8978. items:
  8979. type: string
  8980. type: array
  8981. required:
  8982. - key
  8983. - operator
  8984. type: object
  8985. type: array
  8986. matchLabels:
  8987. additionalProperties:
  8988. type: string
  8989. description: matchLabels is a map
  8990. of {key,value} pairs. A single
  8991. {key,value} in the matchLabels
  8992. map is equivalent to an element
  8993. of matchExpressions, whose key
  8994. field is "key", the operator is
  8995. "In", and the values array contains
  8996. only "value". The requirements
  8997. are ANDed.
  8998. type: object
  8999. type: object
  9000. x-kubernetes-map-type: atomic
  9001. namespaceSelector:
  9002. description: A label query over the
  9003. set of namespaces that the term applies
  9004. to. The term is applied to the union
  9005. of the namespaces selected by this
  9006. field and the ones listed in the namespaces
  9007. field. null selector and null or empty
  9008. namespaces list means "this pod's
  9009. namespace". An empty selector ({})
  9010. matches all namespaces.
  9011. properties:
  9012. matchExpressions:
  9013. description: matchExpressions is
  9014. a list of label selector requirements.
  9015. The requirements are ANDed.
  9016. items:
  9017. description: A label selector
  9018. requirement is a selector that
  9019. contains values, a key, and
  9020. an operator that relates the
  9021. key and values.
  9022. properties:
  9023. key:
  9024. description: key is the label
  9025. key that the selector applies
  9026. to.
  9027. type: string
  9028. operator:
  9029. description: operator represents
  9030. a key's relationship to
  9031. a set of values. Valid operators
  9032. are In, NotIn, Exists and
  9033. DoesNotExist.
  9034. type: string
  9035. values:
  9036. description: values is an
  9037. array of string values.
  9038. If the operator is In or
  9039. NotIn, the values array
  9040. must be non-empty. If the
  9041. operator is Exists or DoesNotExist,
  9042. the values array must be
  9043. empty. This array is replaced
  9044. during a strategic merge
  9045. patch.
  9046. items:
  9047. type: string
  9048. type: array
  9049. required:
  9050. - key
  9051. - operator
  9052. type: object
  9053. type: array
  9054. matchLabels:
  9055. additionalProperties:
  9056. type: string
  9057. description: matchLabels is a map
  9058. of {key,value} pairs. A single
  9059. {key,value} in the matchLabels
  9060. map is equivalent to an element
  9061. of matchExpressions, whose key
  9062. field is "key", the operator is
  9063. "In", and the values array contains
  9064. only "value". The requirements
  9065. are ANDed.
  9066. type: object
  9067. type: object
  9068. x-kubernetes-map-type: atomic
  9069. namespaces:
  9070. description: namespaces specifies a
  9071. static list of namespace names that
  9072. the term applies to. The term is applied
  9073. to the union of the namespaces listed
  9074. in this field and the ones selected
  9075. by namespaceSelector. null or empty
  9076. namespaces list and null namespaceSelector
  9077. means "this pod's namespace".
  9078. items:
  9079. type: string
  9080. type: array
  9081. topologyKey:
  9082. description: This pod should be co-located
  9083. (affinity) or not co-located (anti-affinity)
  9084. with the pods matching the labelSelector
  9085. in the specified namespaces, where
  9086. co-located is defined as running on
  9087. a node whose value of the label with
  9088. key topologyKey matches that of any
  9089. node on which any of the selected
  9090. pods is running. Empty topologyKey
  9091. is not allowed.
  9092. type: string
  9093. required:
  9094. - topologyKey
  9095. type: object
  9096. type: array
  9097. type: object
  9098. podAntiAffinity:
  9099. description: Describes pod anti-affinity scheduling
  9100. rules (e.g. avoid putting this pod in the same
  9101. node, zone, etc. as some other pod(s)).
  9102. properties:
  9103. preferredDuringSchedulingIgnoredDuringExecution:
  9104. description: The scheduler will prefer to
  9105. schedule pods to nodes that satisfy the
  9106. anti-affinity expressions specified by this
  9107. field, but it may choose a node that violates
  9108. one or more of the expressions. The node
  9109. that is most preferred is the one with the
  9110. greatest sum of weights, i.e. for each node
  9111. that meets all of the scheduling requirements
  9112. (resource request, requiredDuringScheduling
  9113. anti-affinity expressions, etc.), compute
  9114. a sum by iterating through the elements
  9115. of this field and adding "weight" to the
  9116. sum if the node has pods which matches the
  9117. corresponding podAffinityTerm; the node(s)
  9118. with the highest sum are the most preferred.
  9119. items:
  9120. description: The weights of all of the matched
  9121. WeightedPodAffinityTerm fields are added
  9122. per-node to find the most preferred node(s)
  9123. properties:
  9124. podAffinityTerm:
  9125. description: Required. A pod affinity
  9126. term, associated with the corresponding
  9127. weight.
  9128. properties:
  9129. labelSelector:
  9130. description: A label query over
  9131. a set of resources, in this case
  9132. pods.
  9133. properties:
  9134. matchExpressions:
  9135. description: matchExpressions
  9136. is a list of label selector
  9137. requirements. The requirements
  9138. are ANDed.
  9139. items:
  9140. description: A label selector
  9141. requirement is a selector
  9142. that contains values, a
  9143. key, and an operator that
  9144. relates the key and values.
  9145. properties:
  9146. key:
  9147. description: key is the
  9148. label key that the selector
  9149. applies to.
  9150. type: string
  9151. operator:
  9152. description: operator
  9153. represents a key's relationship
  9154. to a set of values.
  9155. Valid operators are
  9156. In, NotIn, Exists and
  9157. DoesNotExist.
  9158. type: string
  9159. values:
  9160. description: values is
  9161. an array of string values.
  9162. If the operator is In
  9163. or NotIn, the values
  9164. array must be non-empty.
  9165. If the operator is Exists
  9166. or DoesNotExist, the
  9167. values array must be
  9168. empty. This array is
  9169. replaced during a strategic
  9170. merge patch.
  9171. items:
  9172. type: string
  9173. type: array
  9174. required:
  9175. - key
  9176. - operator
  9177. type: object
  9178. type: array
  9179. matchLabels:
  9180. additionalProperties:
  9181. type: string
  9182. description: matchLabels is
  9183. a map of {key,value} pairs.
  9184. A single {key,value} in the
  9185. matchLabels map is equivalent
  9186. to an element of matchExpressions,
  9187. whose key field is "key",
  9188. the operator is "In", and
  9189. the values array contains
  9190. only "value". The requirements
  9191. are ANDed.
  9192. type: object
  9193. type: object
  9194. x-kubernetes-map-type: atomic
  9195. namespaceSelector:
  9196. description: A label query over
  9197. the set of namespaces that the
  9198. term applies to. The term is applied
  9199. to the union of the namespaces
  9200. selected by this field and the
  9201. ones listed in the namespaces
  9202. field. null selector and null
  9203. or empty namespaces list means
  9204. "this pod's namespace". An empty
  9205. selector ({}) matches all namespaces.
  9206. properties:
  9207. matchExpressions:
  9208. description: matchExpressions
  9209. is a list of label selector
  9210. requirements. The requirements
  9211. are ANDed.
  9212. items:
  9213. description: A label selector
  9214. requirement is a selector
  9215. that contains values, a
  9216. key, and an operator that
  9217. relates the key and values.
  9218. properties:
  9219. key:
  9220. description: key is the
  9221. label key that the selector
  9222. applies to.
  9223. type: string
  9224. operator:
  9225. description: operator
  9226. represents a key's relationship
  9227. to a set of values.
  9228. Valid operators are
  9229. In, NotIn, Exists and
  9230. DoesNotExist.
  9231. type: string
  9232. values:
  9233. description: values is
  9234. an array of string values.
  9235. If the operator is In
  9236. or NotIn, the values
  9237. array must be non-empty.
  9238. If the operator is Exists
  9239. or DoesNotExist, the
  9240. values array must be
  9241. empty. This array is
  9242. replaced during a strategic
  9243. merge patch.
  9244. items:
  9245. type: string
  9246. type: array
  9247. required:
  9248. - key
  9249. - operator
  9250. type: object
  9251. type: array
  9252. matchLabels:
  9253. additionalProperties:
  9254. type: string
  9255. description: matchLabels is
  9256. a map of {key,value} pairs.
  9257. A single {key,value} in the
  9258. matchLabels map is equivalent
  9259. to an element of matchExpressions,
  9260. whose key field is "key",
  9261. the operator is "In", and
  9262. the values array contains
  9263. only "value". The requirements
  9264. are ANDed.
  9265. type: object
  9266. type: object
  9267. x-kubernetes-map-type: atomic
  9268. namespaces:
  9269. description: namespaces specifies
  9270. a static list of namespace names
  9271. that the term applies to. The
  9272. term is applied to the union of
  9273. the namespaces listed in this
  9274. field and the ones selected by
  9275. namespaceSelector. null or empty
  9276. namespaces list and null namespaceSelector
  9277. means "this pod's namespace".
  9278. items:
  9279. type: string
  9280. type: array
  9281. topologyKey:
  9282. description: This pod should be
  9283. co-located (affinity) or not co-located
  9284. (anti-affinity) with the pods
  9285. matching the labelSelector in
  9286. the specified namespaces, where
  9287. co-located is defined as running
  9288. on a node whose value of the label
  9289. with key topologyKey matches that
  9290. of any node on which any of the
  9291. selected pods is running. Empty
  9292. topologyKey is not allowed.
  9293. type: string
  9294. required:
  9295. - topologyKey
  9296. type: object
  9297. weight:
  9298. description: weight associated with
  9299. matching the corresponding podAffinityTerm,
  9300. in the range 1-100.
  9301. format: int32
  9302. type: integer
  9303. required:
  9304. - podAffinityTerm
  9305. - weight
  9306. type: object
  9307. type: array
  9308. requiredDuringSchedulingIgnoredDuringExecution:
  9309. description: If the anti-affinity requirements
  9310. specified by this field are not met at scheduling
  9311. time, the pod will not be scheduled onto
  9312. the node. If the anti-affinity requirements
  9313. specified by this field cease to be met
  9314. at some point during pod execution (e.g.
  9315. due to a pod label update), the system may
  9316. or may not try to eventually evict the pod
  9317. from its node. When there are multiple elements,
  9318. the lists of nodes corresponding to each
  9319. podAffinityTerm are intersected, i.e. all
  9320. terms must be satisfied.
  9321. items:
  9322. description: Defines a set of pods (namely
  9323. those matching the labelSelector relative
  9324. to the given namespace(s)) that this pod
  9325. should be co-located (affinity) or not
  9326. co-located (anti-affinity) with, where
  9327. co-located is defined as running on a
  9328. node whose value of the label with key
  9329. <topologyKey> matches that of any node
  9330. on which a pod of the set of pods is running
  9331. properties:
  9332. labelSelector:
  9333. description: A label query over a set
  9334. of resources, in this case pods.
  9335. properties:
  9336. matchExpressions:
  9337. description: matchExpressions is
  9338. a list of label selector requirements.
  9339. The requirements are ANDed.
  9340. items:
  9341. description: A label selector
  9342. requirement is a selector that
  9343. contains values, a key, and
  9344. an operator that relates the
  9345. key and values.
  9346. properties:
  9347. key:
  9348. description: key is the label
  9349. key that the selector applies
  9350. to.
  9351. type: string
  9352. operator:
  9353. description: operator represents
  9354. a key's relationship to
  9355. a set of values. Valid operators
  9356. are In, NotIn, Exists and
  9357. DoesNotExist.
  9358. type: string
  9359. values:
  9360. description: values is an
  9361. array of string values.
  9362. If the operator is In or
  9363. NotIn, the values array
  9364. must be non-empty. If the
  9365. operator is Exists or DoesNotExist,
  9366. the values array must be
  9367. empty. This array is replaced
  9368. during a strategic merge
  9369. patch.
  9370. items:
  9371. type: string
  9372. type: array
  9373. required:
  9374. - key
  9375. - operator
  9376. type: object
  9377. type: array
  9378. matchLabels:
  9379. additionalProperties:
  9380. type: string
  9381. description: matchLabels is a map
  9382. of {key,value} pairs. A single
  9383. {key,value} in the matchLabels
  9384. map is equivalent to an element
  9385. of matchExpressions, whose key
  9386. field is "key", the operator is
  9387. "In", and the values array contains
  9388. only "value". The requirements
  9389. are ANDed.
  9390. type: object
  9391. type: object
  9392. x-kubernetes-map-type: atomic
  9393. namespaceSelector:
  9394. description: A label query over the
  9395. set of namespaces that the term applies
  9396. to. The term is applied to the union
  9397. of the namespaces selected by this
  9398. field and the ones listed in the namespaces
  9399. field. null selector and null or empty
  9400. namespaces list means "this pod's
  9401. namespace". An empty selector ({})
  9402. matches all namespaces.
  9403. properties:
  9404. matchExpressions:
  9405. description: matchExpressions is
  9406. a list of label selector requirements.
  9407. The requirements are ANDed.
  9408. items:
  9409. description: A label selector
  9410. requirement is a selector that
  9411. contains values, a key, and
  9412. an operator that relates the
  9413. key and values.
  9414. properties:
  9415. key:
  9416. description: key is the label
  9417. key that the selector applies
  9418. to.
  9419. type: string
  9420. operator:
  9421. description: operator represents
  9422. a key's relationship to
  9423. a set of values. Valid operators
  9424. are In, NotIn, Exists and
  9425. DoesNotExist.
  9426. type: string
  9427. values:
  9428. description: values is an
  9429. array of string values.
  9430. If the operator is In or
  9431. NotIn, the values array
  9432. must be non-empty. If the
  9433. operator is Exists or DoesNotExist,
  9434. the values array must be
  9435. empty. This array is replaced
  9436. during a strategic merge
  9437. patch.
  9438. items:
  9439. type: string
  9440. type: array
  9441. required:
  9442. - key
  9443. - operator
  9444. type: object
  9445. type: array
  9446. matchLabels:
  9447. additionalProperties:
  9448. type: string
  9449. description: matchLabels is a map
  9450. of {key,value} pairs. A single
  9451. {key,value} in the matchLabels
  9452. map is equivalent to an element
  9453. of matchExpressions, whose key
  9454. field is "key", the operator is
  9455. "In", and the values array contains
  9456. only "value". The requirements
  9457. are ANDed.
  9458. type: object
  9459. type: object
  9460. x-kubernetes-map-type: atomic
  9461. namespaces:
  9462. description: namespaces specifies a
  9463. static list of namespace names that
  9464. the term applies to. The term is applied
  9465. to the union of the namespaces listed
  9466. in this field and the ones selected
  9467. by namespaceSelector. null or empty
  9468. namespaces list and null namespaceSelector
  9469. means "this pod's namespace".
  9470. items:
  9471. type: string
  9472. type: array
  9473. topologyKey:
  9474. description: This pod should be co-located
  9475. (affinity) or not co-located (anti-affinity)
  9476. with the pods matching the labelSelector
  9477. in the specified namespaces, where
  9478. co-located is defined as running on
  9479. a node whose value of the label with
  9480. key topologyKey matches that of any
  9481. node on which any of the selected
  9482. pods is running. Empty topologyKey
  9483. is not allowed.
  9484. type: string
  9485. required:
  9486. - topologyKey
  9487. type: object
  9488. type: array
  9489. type: object
  9490. type: object
  9491. containers:
  9492. description: Containers is a list of calico-windows-upgrade
  9493. containers. If specified, this overrides the specified
  9494. calico-windows-upgrade DaemonSet containers. If
  9495. omitted, the calico-windows-upgrade DaemonSet will
  9496. use its default values for its containers.
  9497. items:
  9498. description: CalicoWindowsUpgradeDaemonSetContainer
  9499. is a calico-windows-upgrade DaemonSet container.
  9500. properties:
  9501. name:
  9502. description: Name is an enum which identifies
  9503. the calico-windows-upgrade DaemonSet container
  9504. by name.
  9505. enum:
  9506. - calico-windows-upgrade
  9507. type: string
  9508. resources:
  9509. description: Resources allows customization
  9510. of limits and requests for compute resources
  9511. such as cpu and memory. If specified, this
  9512. overrides the named calico-windows-upgrade
  9513. DaemonSet container's resources. If omitted,
  9514. the calico-windows-upgrade DaemonSet will
  9515. use its default value for this container's
  9516. resources.
  9517. properties:
  9518. limits:
  9519. additionalProperties:
  9520. anyOf:
  9521. - type: integer
  9522. - type: string
  9523. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9524. x-kubernetes-int-or-string: true
  9525. description: 'Limits describes the maximum
  9526. amount of compute resources allowed. More
  9527. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9528. type: object
  9529. requests:
  9530. additionalProperties:
  9531. anyOf:
  9532. - type: integer
  9533. - type: string
  9534. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9535. x-kubernetes-int-or-string: true
  9536. description: 'Requests describes the minimum
  9537. amount of compute resources required.
  9538. If Requests is omitted for a container,
  9539. it defaults to Limits if that is explicitly
  9540. specified, otherwise to an implementation-defined
  9541. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9542. type: object
  9543. type: object
  9544. required:
  9545. - name
  9546. type: object
  9547. type: array
  9548. nodeSelector:
  9549. additionalProperties:
  9550. type: string
  9551. description: 'NodeSelector is the calico-windows-upgrade
  9552. pod''s scheduling constraints. If specified, each
  9553. of the key/value pairs are added to the calico-windows-upgrade
  9554. DaemonSet nodeSelector provided the key does not
  9555. already exist in the object''s nodeSelector. If
  9556. omitted, the calico-windows-upgrade DaemonSet will
  9557. use its default value for nodeSelector. WARNING:
  9558. Please note that this field will modify the default
  9559. calico-windows-upgrade DaemonSet nodeSelector.'
  9560. type: object
  9561. tolerations:
  9562. description: 'Tolerations is the calico-windows-upgrade
  9563. pod''s tolerations. If specified, this overrides
  9564. any tolerations that may be set on the calico-windows-upgrade
  9565. DaemonSet. If omitted, the calico-windows-upgrade
  9566. DaemonSet will use its default value for tolerations.
  9567. WARNING: Please note that this field will override
  9568. the default calico-windows-upgrade DaemonSet tolerations.'
  9569. items:
  9570. description: The pod this Toleration is attached
  9571. to tolerates any taint that matches the triple
  9572. <key,value,effect> using the matching operator
  9573. <operator>.
  9574. properties:
  9575. effect:
  9576. description: Effect indicates the taint effect
  9577. to match. Empty means match all taint effects.
  9578. When specified, allowed values are NoSchedule,
  9579. PreferNoSchedule and NoExecute.
  9580. type: string
  9581. key:
  9582. description: Key is the taint key that the toleration
  9583. applies to. Empty means match all taint keys.
  9584. If the key is empty, operator must be Exists;
  9585. this combination means to match all values
  9586. and all keys.
  9587. type: string
  9588. operator:
  9589. description: Operator represents a key's relationship
  9590. to the value. Valid operators are Exists and
  9591. Equal. Defaults to Equal. Exists is equivalent
  9592. to wildcard for value, so that a pod can tolerate
  9593. all taints of a particular category.
  9594. type: string
  9595. tolerationSeconds:
  9596. description: TolerationSeconds represents the
  9597. period of time the toleration (which must
  9598. be of effect NoExecute, otherwise this field
  9599. is ignored) tolerates the taint. By default,
  9600. it is not set, which means tolerate the taint
  9601. forever (do not evict). Zero and negative
  9602. values will be treated as 0 (evict immediately)
  9603. by the system.
  9604. format: int64
  9605. type: integer
  9606. value:
  9607. description: Value is the taint value the toleration
  9608. matches to. If the operator is Exists, the
  9609. value should be empty, otherwise just a regular
  9610. string.
  9611. type: string
  9612. type: object
  9613. type: array
  9614. type: object
  9615. type: object
  9616. type: object
  9617. type: object
  9618. certificateManagement:
  9619. description: CertificateManagement configures pods to submit a CertificateSigningRequest
  9620. to the certificates.k8s.io/v1beta1 API in order to obtain TLS certificates.
  9621. This feature requires that you bring your own CSR signing and approval
  9622. process, otherwise pods will be stuck during initialization.
  9623. properties:
  9624. caCert:
  9625. description: Certificate of the authority that signs the CertificateSigningRequests
  9626. in PEM format.
  9627. format: byte
  9628. type: string
  9629. keyAlgorithm:
  9630. description: 'Specify the algorithm used by pods to generate a
  9631. key pair that is associated with the X.509 certificate request.
  9632. Default: RSAWithSize2048'
  9633. enum:
  9634. - ""
  9635. - RSAWithSize2048
  9636. - RSAWithSize4096
  9637. - RSAWithSize8192
  9638. - ECDSAWithCurve256
  9639. - ECDSAWithCurve384
  9640. - ECDSAWithCurve521
  9641. type: string
  9642. signatureAlgorithm:
  9643. description: 'Specify the algorithm used for the signature of
  9644. the X.509 certificate request. Default: SHA256WithRSA'
  9645. enum:
  9646. - ""
  9647. - SHA256WithRSA
  9648. - SHA384WithRSA
  9649. - SHA512WithRSA
  9650. - ECDSAWithSHA256
  9651. - ECDSAWithSHA384
  9652. - ECDSAWithSHA512
  9653. type: string
  9654. signerName:
  9655. description: 'When a CSR is issued to the certificates.k8s.io
  9656. API, the signerName is added to the request in order to accommodate
  9657. for clusters with multiple signers. Must be formatted as: `<my-domain>/<my-signername>`.'
  9658. type: string
  9659. required:
  9660. - caCert
  9661. - signerName
  9662. type: object
  9663. cni:
  9664. description: CNI specifies the CNI that will be used by this installation.
  9665. properties:
  9666. ipam:
  9667. description: IPAM specifies the pod IP address management that
  9668. will be used in the Calico or Calico Enterprise installation.
  9669. properties:
  9670. type:
  9671. description: "Specifies the IPAM plugin that will be used
  9672. in the Calico or Calico Enterprise installation. * For CNI
  9673. Plugin Calico, this field defaults to Calico. * For CNI
  9674. Plugin GKE, this field defaults to HostLocal. * For CNI
  9675. Plugin AzureVNET, this field defaults to AzureVNET. * For
  9676. CNI Plugin AmazonVPC, this field defaults to AmazonVPC.
  9677. \n The IPAM plugin is installed and configured only if the
  9678. CNI plugin is set to Calico, for all other values of the
  9679. CNI plugin the plugin binaries and CNI config is a dependency
  9680. that is expected to be installed separately. \n Default:
  9681. Calico"
  9682. enum:
  9683. - Calico
  9684. - HostLocal
  9685. - AmazonVPC
  9686. - AzureVNET
  9687. type: string
  9688. required:
  9689. - type
  9690. type: object
  9691. type:
  9692. description: "Specifies the CNI plugin that will be used in the
  9693. Calico or Calico Enterprise installation. * For KubernetesProvider
  9694. GKE, this field defaults to GKE. * For KubernetesProvider AKS,
  9695. this field defaults to AzureVNET. * For KubernetesProvider EKS,
  9696. this field defaults to AmazonVPC. * If aws-node daemonset exists
  9697. in kube-system when the Installation resource is created, this
  9698. field defaults to AmazonVPC. * For all other cases this field
  9699. defaults to Calico. \n For the value Calico, the CNI plugin
  9700. binaries and CNI config will be installed as part of deployment,
  9701. for all other values the CNI plugin binaries and CNI config
  9702. is a dependency that is expected to be installed separately.
  9703. \n Default: Calico"
  9704. enum:
  9705. - Calico
  9706. - GKE
  9707. - AmazonVPC
  9708. - AzureVNET
  9709. type: string
  9710. required:
  9711. - type
  9712. type: object
  9713. componentResources:
  9714. description: Deprecated. Please use CalicoNodeDaemonSet, TyphaDeployment,
  9715. and KubeControllersDeployment. ComponentResources can be used to
  9716. customize the resource requirements for each component. Node, Typha,
  9717. and KubeControllers are supported for installations.
  9718. items:
  9719. description: Deprecated. Please use component resource config fields
  9720. in Installation.Spec instead. The ComponentResource struct associates
  9721. a ResourceRequirements with a component by name
  9722. properties:
  9723. componentName:
  9724. description: ComponentName is an enum which identifies the component
  9725. enum:
  9726. - Node
  9727. - Typha
  9728. - KubeControllers
  9729. type: string
  9730. resourceRequirements:
  9731. description: ResourceRequirements allows customization of limits
  9732. and requests for compute resources such as cpu and memory.
  9733. properties:
  9734. limits:
  9735. additionalProperties:
  9736. anyOf:
  9737. - type: integer
  9738. - type: string
  9739. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9740. x-kubernetes-int-or-string: true
  9741. description: 'Limits describes the maximum amount of compute
  9742. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9743. type: object
  9744. requests:
  9745. additionalProperties:
  9746. anyOf:
  9747. - type: integer
  9748. - type: string
  9749. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9750. x-kubernetes-int-or-string: true
  9751. description: 'Requests describes the minimum amount of compute
  9752. resources required. If Requests is omitted for a container,
  9753. it defaults to Limits if that is explicitly specified,
  9754. otherwise to an implementation-defined value. More info:
  9755. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  9756. type: object
  9757. type: object
  9758. required:
  9759. - componentName
  9760. - resourceRequirements
  9761. type: object
  9762. type: array
  9763. controlPlaneNodeSelector:
  9764. additionalProperties:
  9765. type: string
  9766. description: ControlPlaneNodeSelector is used to select control plane
  9767. nodes on which to run Calico components. This is globally applied
  9768. to all resources created by the operator excluding daemonsets.
  9769. type: object
  9770. controlPlaneReplicas:
  9771. description: ControlPlaneReplicas defines how many replicas of the
  9772. control plane core components will be deployed. This field applies
  9773. to all control plane components that support High Availability.
  9774. Defaults to 2.
  9775. format: int32
  9776. type: integer
  9777. controlPlaneTolerations:
  9778. description: ControlPlaneTolerations specify tolerations which are
  9779. then globally applied to all resources created by the operator.
  9780. items:
  9781. description: The pod this Toleration is attached to tolerates any
  9782. taint that matches the triple <key,value,effect> using the matching
  9783. operator <operator>.
  9784. properties:
  9785. effect:
  9786. description: Effect indicates the taint effect to match. Empty
  9787. means match all taint effects. When specified, allowed values
  9788. are NoSchedule, PreferNoSchedule and NoExecute.
  9789. type: string
  9790. key:
  9791. description: Key is the taint key that the toleration applies
  9792. to. Empty means match all taint keys. If the key is empty,
  9793. operator must be Exists; this combination means to match all
  9794. values and all keys.
  9795. type: string
  9796. operator:
  9797. description: Operator represents a key's relationship to the
  9798. value. Valid operators are Exists and Equal. Defaults to Equal.
  9799. Exists is equivalent to wildcard for value, so that a pod
  9800. can tolerate all taints of a particular category.
  9801. type: string
  9802. tolerationSeconds:
  9803. description: TolerationSeconds represents the period of time
  9804. the toleration (which must be of effect NoExecute, otherwise
  9805. this field is ignored) tolerates the taint. By default, it
  9806. is not set, which means tolerate the taint forever (do not
  9807. evict). Zero and negative values will be treated as 0 (evict
  9808. immediately) by the system.
  9809. format: int64
  9810. type: integer
  9811. value:
  9812. description: Value is the taint value the toleration matches
  9813. to. If the operator is Exists, the value should be empty,
  9814. otherwise just a regular string.
  9815. type: string
  9816. type: object
  9817. type: array
  9818. csiNodeDriverDaemonSet:
  9819. description: CSINodeDriverDaemonSet configures the csi-node-driver
  9820. DaemonSet.
  9821. properties:
  9822. metadata:
  9823. description: Metadata is a subset of a Kubernetes object's metadata
  9824. that is added to the DaemonSet.
  9825. properties:
  9826. annotations:
  9827. additionalProperties:
  9828. type: string
  9829. description: Annotations is a map of arbitrary non-identifying
  9830. metadata. Each of these key/value pairs are added to the
  9831. object's annotations provided the key does not already exist
  9832. in the object's annotations.
  9833. type: object
  9834. labels:
  9835. additionalProperties:
  9836. type: string
  9837. description: Labels is a map of string keys and values that
  9838. may match replicaset and service selectors. Each of these
  9839. key/value pairs are added to the object's labels provided
  9840. the key does not already exist in the object's labels.
  9841. type: object
  9842. type: object
  9843. spec:
  9844. description: Spec is the specification of the csi-node-driver
  9845. DaemonSet.
  9846. properties:
  9847. minReadySeconds:
  9848. description: MinReadySeconds is the minimum number of seconds
  9849. for which a newly created DaemonSet pod should be ready
  9850. without any of its container crashing, for it to be considered
  9851. available. If specified, this overrides any minReadySeconds
  9852. value that may be set on the csi-node-driver DaemonSet.
  9853. If omitted, the csi-node-driver DaemonSet will use its default
  9854. value for minReadySeconds.
  9855. format: int32
  9856. maximum: 2147483647
  9857. minimum: 0
  9858. type: integer
  9859. template:
  9860. description: Template describes the csi-node-driver DaemonSet
  9861. pod that will be created.
  9862. properties:
  9863. metadata:
  9864. description: Metadata is a subset of a Kubernetes object's
  9865. metadata that is added to the pod's metadata.
  9866. properties:
  9867. annotations:
  9868. additionalProperties:
  9869. type: string
  9870. description: Annotations is a map of arbitrary non-identifying
  9871. metadata. Each of these key/value pairs are added
  9872. to the object's annotations provided the key does
  9873. not already exist in the object's annotations.
  9874. type: object
  9875. labels:
  9876. additionalProperties:
  9877. type: string
  9878. description: Labels is a map of string keys and values
  9879. that may match replicaset and service selectors.
  9880. Each of these key/value pairs are added to the object's
  9881. labels provided the key does not already exist in
  9882. the object's labels.
  9883. type: object
  9884. type: object
  9885. spec:
  9886. description: Spec is the csi-node-driver DaemonSet's PodSpec.
  9887. properties:
  9888. affinity:
  9889. description: 'Affinity is a group of affinity scheduling
  9890. rules for the csi-node-driver pods. If specified,
  9891. this overrides any affinity that may be set on the
  9892. csi-node-driver DaemonSet. If omitted, the csi-node-driver
  9893. DaemonSet will use its default value for affinity.
  9894. WARNING: Please note that this field will override
  9895. the default csi-node-driver DaemonSet affinity.'
  9896. properties:
  9897. nodeAffinity:
  9898. description: Describes node affinity scheduling
  9899. rules for the pod.
  9900. properties:
  9901. preferredDuringSchedulingIgnoredDuringExecution:
  9902. description: The scheduler will prefer to
  9903. schedule pods to nodes that satisfy the
  9904. affinity expressions specified by this field,
  9905. but it may choose a node that violates one
  9906. or more of the expressions. The node that
  9907. is most preferred is the one with the greatest
  9908. sum of weights, i.e. for each node that
  9909. meets all of the scheduling requirements
  9910. (resource request, requiredDuringScheduling
  9911. affinity expressions, etc.), compute a sum
  9912. by iterating through the elements of this
  9913. field and adding "weight" to the sum if
  9914. the node matches the corresponding matchExpressions;
  9915. the node(s) with the highest sum are the
  9916. most preferred.
  9917. items:
  9918. description: An empty preferred scheduling
  9919. term matches all objects with implicit
  9920. weight 0 (i.e. it's a no-op). A null preferred
  9921. scheduling term matches no objects (i.e.
  9922. is also a no-op).
  9923. properties:
  9924. preference:
  9925. description: A node selector term, associated
  9926. with the corresponding weight.
  9927. properties:
  9928. matchExpressions:
  9929. description: A list of node selector
  9930. requirements by node's labels.
  9931. items:
  9932. description: A node selector requirement
  9933. is a selector that contains
  9934. values, a key, and an operator
  9935. that relates the key and values.
  9936. properties:
  9937. key:
  9938. description: The label key
  9939. that the selector applies
  9940. to.
  9941. type: string
  9942. operator:
  9943. description: Represents a
  9944. key's relationship to a
  9945. set of values. Valid operators
  9946. are In, NotIn, Exists, DoesNotExist.
  9947. Gt, and Lt.
  9948. type: string
  9949. values:
  9950. description: An array of string
  9951. values. If the operator
  9952. is In or NotIn, the values
  9953. array must be non-empty.
  9954. If the operator is Exists
  9955. or DoesNotExist, the values
  9956. array must be empty. If
  9957. the operator is Gt or Lt,
  9958. the values array must have
  9959. a single element, which
  9960. will be interpreted as an
  9961. integer. This array is replaced
  9962. during a strategic merge
  9963. patch.
  9964. items:
  9965. type: string
  9966. type: array
  9967. required:
  9968. - key
  9969. - operator
  9970. type: object
  9971. type: array
  9972. matchFields:
  9973. description: A list of node selector
  9974. requirements by node's fields.
  9975. items:
  9976. description: A node selector requirement
  9977. is a selector that contains
  9978. values, a key, and an operator
  9979. that relates the key and values.
  9980. properties:
  9981. key:
  9982. description: The label key
  9983. that the selector applies
  9984. to.
  9985. type: string
  9986. operator:
  9987. description: Represents a
  9988. key's relationship to a
  9989. set of values. Valid operators
  9990. are In, NotIn, Exists, DoesNotExist.
  9991. Gt, and Lt.
  9992. type: string
  9993. values:
  9994. description: An array of string
  9995. values. If the operator
  9996. is In or NotIn, the values
  9997. array must be non-empty.
  9998. If the operator is Exists
  9999. or DoesNotExist, the values
  10000. array must be empty. If
  10001. the operator is Gt or Lt,
  10002. the values array must have
  10003. a single element, which
  10004. will be interpreted as an
  10005. integer. This array is replaced
  10006. during a strategic merge
  10007. patch.
  10008. items:
  10009. type: string
  10010. type: array
  10011. required:
  10012. - key
  10013. - operator
  10014. type: object
  10015. type: array
  10016. type: object
  10017. x-kubernetes-map-type: atomic
  10018. weight:
  10019. description: Weight associated with
  10020. matching the corresponding nodeSelectorTerm,
  10021. in the range 1-100.
  10022. format: int32
  10023. type: integer
  10024. required:
  10025. - preference
  10026. - weight
  10027. type: object
  10028. type: array
  10029. requiredDuringSchedulingIgnoredDuringExecution:
  10030. description: If the affinity requirements
  10031. specified by this field are not met at scheduling
  10032. time, the pod will not be scheduled onto
  10033. the node. If the affinity requirements specified
  10034. by this field cease to be met at some point
  10035. during pod execution (e.g. due to an update),
  10036. the system may or may not try to eventually
  10037. evict the pod from its node.
  10038. properties:
  10039. nodeSelectorTerms:
  10040. description: Required. A list of node
  10041. selector terms. The terms are ORed.
  10042. items:
  10043. description: A null or empty node selector
  10044. term matches no objects. The requirements
  10045. of them are ANDed. The TopologySelectorTerm
  10046. type implements a subset of the NodeSelectorTerm.
  10047. properties:
  10048. matchExpressions:
  10049. description: A list of node selector
  10050. requirements by node's labels.
  10051. items:
  10052. description: A node selector requirement
  10053. is a selector that contains
  10054. values, a key, and an operator
  10055. that relates the key and values.
  10056. properties:
  10057. key:
  10058. description: The label key
  10059. that the selector applies
  10060. to.
  10061. type: string
  10062. operator:
  10063. description: Represents a
  10064. key's relationship to a
  10065. set of values. Valid operators
  10066. are In, NotIn, Exists, DoesNotExist.
  10067. Gt, and Lt.
  10068. type: string
  10069. values:
  10070. description: An array of string
  10071. values. If the operator
  10072. is In or NotIn, the values
  10073. array must be non-empty.
  10074. If the operator is Exists
  10075. or DoesNotExist, the values
  10076. array must be empty. If
  10077. the operator is Gt or Lt,
  10078. the values array must have
  10079. a single element, which
  10080. will be interpreted as an
  10081. integer. This array is replaced
  10082. during a strategic merge
  10083. patch.
  10084. items:
  10085. type: string
  10086. type: array
  10087. required:
  10088. - key
  10089. - operator
  10090. type: object
  10091. type: array
  10092. matchFields:
  10093. description: A list of node selector
  10094. requirements by node's fields.
  10095. items:
  10096. description: A node selector requirement
  10097. is a selector that contains
  10098. values, a key, and an operator
  10099. that relates the key and values.
  10100. properties:
  10101. key:
  10102. description: The label key
  10103. that the selector applies
  10104. to.
  10105. type: string
  10106. operator:
  10107. description: Represents a
  10108. key's relationship to a
  10109. set of values. Valid operators
  10110. are In, NotIn, Exists, DoesNotExist.
  10111. Gt, and Lt.
  10112. type: string
  10113. values:
  10114. description: An array of string
  10115. values. If the operator
  10116. is In or NotIn, the values
  10117. array must be non-empty.
  10118. If the operator is Exists
  10119. or DoesNotExist, the values
  10120. array must be empty. If
  10121. the operator is Gt or Lt,
  10122. the values array must have
  10123. a single element, which
  10124. will be interpreted as an
  10125. integer. This array is replaced
  10126. during a strategic merge
  10127. patch.
  10128. items:
  10129. type: string
  10130. type: array
  10131. required:
  10132. - key
  10133. - operator
  10134. type: object
  10135. type: array
  10136. type: object
  10137. x-kubernetes-map-type: atomic
  10138. type: array
  10139. required:
  10140. - nodeSelectorTerms
  10141. type: object
  10142. x-kubernetes-map-type: atomic
  10143. type: object
  10144. podAffinity:
  10145. description: Describes pod affinity scheduling
  10146. rules (e.g. co-locate this pod in the same node,
  10147. zone, etc. as some other pod(s)).
  10148. properties:
  10149. preferredDuringSchedulingIgnoredDuringExecution:
  10150. description: The scheduler will prefer to
  10151. schedule pods to nodes that satisfy the
  10152. affinity expressions specified by this field,
  10153. but it may choose a node that violates one
  10154. or more of the expressions. The node that
  10155. is most preferred is the one with the greatest
  10156. sum of weights, i.e. for each node that
  10157. meets all of the scheduling requirements
  10158. (resource request, requiredDuringScheduling
  10159. affinity expressions, etc.), compute a sum
  10160. by iterating through the elements of this
  10161. field and adding "weight" to the sum if
  10162. the node has pods which matches the corresponding
  10163. podAffinityTerm; the node(s) with the highest
  10164. sum are the most preferred.
  10165. items:
  10166. description: The weights of all of the matched
  10167. WeightedPodAffinityTerm fields are added
  10168. per-node to find the most preferred node(s)
  10169. properties:
  10170. podAffinityTerm:
  10171. description: Required. A pod affinity
  10172. term, associated with the corresponding
  10173. weight.
  10174. properties:
  10175. labelSelector:
  10176. description: A label query over
  10177. a set of resources, in this case
  10178. pods.
  10179. properties:
  10180. matchExpressions:
  10181. description: matchExpressions
  10182. is a list of label selector
  10183. requirements. The requirements
  10184. are ANDed.
  10185. items:
  10186. description: A label selector
  10187. requirement is a selector
  10188. that contains values, a
  10189. key, and an operator that
  10190. relates the key and values.
  10191. properties:
  10192. key:
  10193. description: key is the
  10194. label key that the selector
  10195. applies to.
  10196. type: string
  10197. operator:
  10198. description: operator
  10199. represents a key's relationship
  10200. to a set of values.
  10201. Valid operators are
  10202. In, NotIn, Exists and
  10203. DoesNotExist.
  10204. type: string
  10205. values:
  10206. description: values is
  10207. an array of string values.
  10208. If the operator is In
  10209. or NotIn, the values
  10210. array must be non-empty.
  10211. If the operator is Exists
  10212. or DoesNotExist, the
  10213. values array must be
  10214. empty. This array is
  10215. replaced during a strategic
  10216. merge patch.
  10217. items:
  10218. type: string
  10219. type: array
  10220. required:
  10221. - key
  10222. - operator
  10223. type: object
  10224. type: array
  10225. matchLabels:
  10226. additionalProperties:
  10227. type: string
  10228. description: matchLabels is
  10229. a map of {key,value} pairs.
  10230. A single {key,value} in the
  10231. matchLabels map is equivalent
  10232. to an element of matchExpressions,
  10233. whose key field is "key",
  10234. the operator is "In", and
  10235. the values array contains
  10236. only "value". The requirements
  10237. are ANDed.
  10238. type: object
  10239. type: object
  10240. x-kubernetes-map-type: atomic
  10241. namespaceSelector:
  10242. description: A label query over
  10243. the set of namespaces that the
  10244. term applies to. The term is applied
  10245. to the union of the namespaces
  10246. selected by this field and the
  10247. ones listed in the namespaces
  10248. field. null selector and null
  10249. or empty namespaces list means
  10250. "this pod's namespace". An empty
  10251. selector ({}) matches all namespaces.
  10252. properties:
  10253. matchExpressions:
  10254. description: matchExpressions
  10255. is a list of label selector
  10256. requirements. The requirements
  10257. are ANDed.
  10258. items:
  10259. description: A label selector
  10260. requirement is a selector
  10261. that contains values, a
  10262. key, and an operator that
  10263. relates the key and values.
  10264. properties:
  10265. key:
  10266. description: key is the
  10267. label key that the selector
  10268. applies to.
  10269. type: string
  10270. operator:
  10271. description: operator
  10272. represents a key's relationship
  10273. to a set of values.
  10274. Valid operators are
  10275. In, NotIn, Exists and
  10276. DoesNotExist.
  10277. type: string
  10278. values:
  10279. description: values is
  10280. an array of string values.
  10281. If the operator is In
  10282. or NotIn, the values
  10283. array must be non-empty.
  10284. If the operator is Exists
  10285. or DoesNotExist, the
  10286. values array must be
  10287. empty. This array is
  10288. replaced during a strategic
  10289. merge patch.
  10290. items:
  10291. type: string
  10292. type: array
  10293. required:
  10294. - key
  10295. - operator
  10296. type: object
  10297. type: array
  10298. matchLabels:
  10299. additionalProperties:
  10300. type: string
  10301. description: matchLabels is
  10302. a map of {key,value} pairs.
  10303. A single {key,value} in the
  10304. matchLabels map is equivalent
  10305. to an element of matchExpressions,
  10306. whose key field is "key",
  10307. the operator is "In", and
  10308. the values array contains
  10309. only "value". The requirements
  10310. are ANDed.
  10311. type: object
  10312. type: object
  10313. x-kubernetes-map-type: atomic
  10314. namespaces:
  10315. description: namespaces specifies
  10316. a static list of namespace names
  10317. that the term applies to. The
  10318. term is applied to the union of
  10319. the namespaces listed in this
  10320. field and the ones selected by
  10321. namespaceSelector. null or empty
  10322. namespaces list and null namespaceSelector
  10323. means "this pod's namespace".
  10324. items:
  10325. type: string
  10326. type: array
  10327. topologyKey:
  10328. description: This pod should be
  10329. co-located (affinity) or not co-located
  10330. (anti-affinity) with the pods
  10331. matching the labelSelector in
  10332. the specified namespaces, where
  10333. co-located is defined as running
  10334. on a node whose value of the label
  10335. with key topologyKey matches that
  10336. of any node on which any of the
  10337. selected pods is running. Empty
  10338. topologyKey is not allowed.
  10339. type: string
  10340. required:
  10341. - topologyKey
  10342. type: object
  10343. weight:
  10344. description: weight associated with
  10345. matching the corresponding podAffinityTerm,
  10346. in the range 1-100.
  10347. format: int32
  10348. type: integer
  10349. required:
  10350. - podAffinityTerm
  10351. - weight
  10352. type: object
  10353. type: array
  10354. requiredDuringSchedulingIgnoredDuringExecution:
  10355. description: If the affinity requirements
  10356. specified by this field are not met at scheduling
  10357. time, the pod will not be scheduled onto
  10358. the node. If the affinity requirements specified
  10359. by this field cease to be met at some point
  10360. during pod execution (e.g. due to a pod
  10361. label update), the system may or may not
  10362. try to eventually evict the pod from its
  10363. node. When there are multiple elements,
  10364. the lists of nodes corresponding to each
  10365. podAffinityTerm are intersected, i.e. all
  10366. terms must be satisfied.
  10367. items:
  10368. description: Defines a set of pods (namely
  10369. those matching the labelSelector relative
  10370. to the given namespace(s)) that this pod
  10371. should be co-located (affinity) or not
  10372. co-located (anti-affinity) with, where
  10373. co-located is defined as running on a
  10374. node whose value of the label with key
  10375. <topologyKey> matches that of any node
  10376. on which a pod of the set of pods is running
  10377. properties:
  10378. labelSelector:
  10379. description: A label query over a set
  10380. of resources, in this case pods.
  10381. properties:
  10382. matchExpressions:
  10383. description: matchExpressions is
  10384. a list of label selector requirements.
  10385. The requirements are ANDed.
  10386. items:
  10387. description: A label selector
  10388. requirement is a selector that
  10389. contains values, a key, and
  10390. an operator that relates the
  10391. key and values.
  10392. properties:
  10393. key:
  10394. description: key is the label
  10395. key that the selector applies
  10396. to.
  10397. type: string
  10398. operator:
  10399. description: operator represents
  10400. a key's relationship to
  10401. a set of values. Valid operators
  10402. are In, NotIn, Exists and
  10403. DoesNotExist.
  10404. type: string
  10405. values:
  10406. description: values is an
  10407. array of string values.
  10408. If the operator is In or
  10409. NotIn, the values array
  10410. must be non-empty. If the
  10411. operator is Exists or DoesNotExist,
  10412. the values array must be
  10413. empty. This array is replaced
  10414. during a strategic merge
  10415. patch.
  10416. items:
  10417. type: string
  10418. type: array
  10419. required:
  10420. - key
  10421. - operator
  10422. type: object
  10423. type: array
  10424. matchLabels:
  10425. additionalProperties:
  10426. type: string
  10427. description: matchLabels is a map
  10428. of {key,value} pairs. A single
  10429. {key,value} in the matchLabels
  10430. map is equivalent to an element
  10431. of matchExpressions, whose key
  10432. field is "key", the operator is
  10433. "In", and the values array contains
  10434. only "value". The requirements
  10435. are ANDed.
  10436. type: object
  10437. type: object
  10438. x-kubernetes-map-type: atomic
  10439. namespaceSelector:
  10440. description: A label query over the
  10441. set of namespaces that the term applies
  10442. to. The term is applied to the union
  10443. of the namespaces selected by this
  10444. field and the ones listed in the namespaces
  10445. field. null selector and null or empty
  10446. namespaces list means "this pod's
  10447. namespace". An empty selector ({})
  10448. matches all namespaces.
  10449. properties:
  10450. matchExpressions:
  10451. description: matchExpressions is
  10452. a list of label selector requirements.
  10453. The requirements are ANDed.
  10454. items:
  10455. description: A label selector
  10456. requirement is a selector that
  10457. contains values, a key, and
  10458. an operator that relates the
  10459. key and values.
  10460. properties:
  10461. key:
  10462. description: key is the label
  10463. key that the selector applies
  10464. to.
  10465. type: string
  10466. operator:
  10467. description: operator represents
  10468. a key's relationship to
  10469. a set of values. Valid operators
  10470. are In, NotIn, Exists and
  10471. DoesNotExist.
  10472. type: string
  10473. values:
  10474. description: values is an
  10475. array of string values.
  10476. If the operator is In or
  10477. NotIn, the values array
  10478. must be non-empty. If the
  10479. operator is Exists or DoesNotExist,
  10480. the values array must be
  10481. empty. This array is replaced
  10482. during a strategic merge
  10483. patch.
  10484. items:
  10485. type: string
  10486. type: array
  10487. required:
  10488. - key
  10489. - operator
  10490. type: object
  10491. type: array
  10492. matchLabels:
  10493. additionalProperties:
  10494. type: string
  10495. description: matchLabels is a map
  10496. of {key,value} pairs. A single
  10497. {key,value} in the matchLabels
  10498. map is equivalent to an element
  10499. of matchExpressions, whose key
  10500. field is "key", the operator is
  10501. "In", and the values array contains
  10502. only "value". The requirements
  10503. are ANDed.
  10504. type: object
  10505. type: object
  10506. x-kubernetes-map-type: atomic
  10507. namespaces:
  10508. description: namespaces specifies a
  10509. static list of namespace names that
  10510. the term applies to. The term is applied
  10511. to the union of the namespaces listed
  10512. in this field and the ones selected
  10513. by namespaceSelector. null or empty
  10514. namespaces list and null namespaceSelector
  10515. means "this pod's namespace".
  10516. items:
  10517. type: string
  10518. type: array
  10519. topologyKey:
  10520. description: This pod should be co-located
  10521. (affinity) or not co-located (anti-affinity)
  10522. with the pods matching the labelSelector
  10523. in the specified namespaces, where
  10524. co-located is defined as running on
  10525. a node whose value of the label with
  10526. key topologyKey matches that of any
  10527. node on which any of the selected
  10528. pods is running. Empty topologyKey
  10529. is not allowed.
  10530. type: string
  10531. required:
  10532. - topologyKey
  10533. type: object
  10534. type: array
  10535. type: object
  10536. podAntiAffinity:
  10537. description: Describes pod anti-affinity scheduling
  10538. rules (e.g. avoid putting this pod in the same
  10539. node, zone, etc. as some other pod(s)).
  10540. properties:
  10541. preferredDuringSchedulingIgnoredDuringExecution:
  10542. description: The scheduler will prefer to
  10543. schedule pods to nodes that satisfy the
  10544. anti-affinity expressions specified by this
  10545. field, but it may choose a node that violates
  10546. one or more of the expressions. The node
  10547. that is most preferred is the one with the
  10548. greatest sum of weights, i.e. for each node
  10549. that meets all of the scheduling requirements
  10550. (resource request, requiredDuringScheduling
  10551. anti-affinity expressions, etc.), compute
  10552. a sum by iterating through the elements
  10553. of this field and adding "weight" to the
  10554. sum if the node has pods which matches the
  10555. corresponding podAffinityTerm; the node(s)
  10556. with the highest sum are the most preferred.
  10557. items:
  10558. description: The weights of all of the matched
  10559. WeightedPodAffinityTerm fields are added
  10560. per-node to find the most preferred node(s)
  10561. properties:
  10562. podAffinityTerm:
  10563. description: Required. A pod affinity
  10564. term, associated with the corresponding
  10565. weight.
  10566. properties:
  10567. labelSelector:
  10568. description: A label query over
  10569. a set of resources, in this case
  10570. pods.
  10571. properties:
  10572. matchExpressions:
  10573. description: matchExpressions
  10574. is a list of label selector
  10575. requirements. The requirements
  10576. are ANDed.
  10577. items:
  10578. description: A label selector
  10579. requirement is a selector
  10580. that contains values, a
  10581. key, and an operator that
  10582. relates the key and values.
  10583. properties:
  10584. key:
  10585. description: key is the
  10586. label key that the selector
  10587. applies to.
  10588. type: string
  10589. operator:
  10590. description: operator
  10591. represents a key's relationship
  10592. to a set of values.
  10593. Valid operators are
  10594. In, NotIn, Exists and
  10595. DoesNotExist.
  10596. type: string
  10597. values:
  10598. description: values is
  10599. an array of string values.
  10600. If the operator is In
  10601. or NotIn, the values
  10602. array must be non-empty.
  10603. If the operator is Exists
  10604. or DoesNotExist, the
  10605. values array must be
  10606. empty. This array is
  10607. replaced during a strategic
  10608. merge patch.
  10609. items:
  10610. type: string
  10611. type: array
  10612. required:
  10613. - key
  10614. - operator
  10615. type: object
  10616. type: array
  10617. matchLabels:
  10618. additionalProperties:
  10619. type: string
  10620. description: matchLabels is
  10621. a map of {key,value} pairs.
  10622. A single {key,value} in the
  10623. matchLabels map is equivalent
  10624. to an element of matchExpressions,
  10625. whose key field is "key",
  10626. the operator is "In", and
  10627. the values array contains
  10628. only "value". The requirements
  10629. are ANDed.
  10630. type: object
  10631. type: object
  10632. x-kubernetes-map-type: atomic
  10633. namespaceSelector:
  10634. description: A label query over
  10635. the set of namespaces that the
  10636. term applies to. The term is applied
  10637. to the union of the namespaces
  10638. selected by this field and the
  10639. ones listed in the namespaces
  10640. field. null selector and null
  10641. or empty namespaces list means
  10642. "this pod's namespace". An empty
  10643. selector ({}) matches all namespaces.
  10644. properties:
  10645. matchExpressions:
  10646. description: matchExpressions
  10647. is a list of label selector
  10648. requirements. The requirements
  10649. are ANDed.
  10650. items:
  10651. description: A label selector
  10652. requirement is a selector
  10653. that contains values, a
  10654. key, and an operator that
  10655. relates the key and values.
  10656. properties:
  10657. key:
  10658. description: key is the
  10659. label key that the selector
  10660. applies to.
  10661. type: string
  10662. operator:
  10663. description: operator
  10664. represents a key's relationship
  10665. to a set of values.
  10666. Valid operators are
  10667. In, NotIn, Exists and
  10668. DoesNotExist.
  10669. type: string
  10670. values:
  10671. description: values is
  10672. an array of string values.
  10673. If the operator is In
  10674. or NotIn, the values
  10675. array must be non-empty.
  10676. If the operator is Exists
  10677. or DoesNotExist, the
  10678. values array must be
  10679. empty. This array is
  10680. replaced during a strategic
  10681. merge patch.
  10682. items:
  10683. type: string
  10684. type: array
  10685. required:
  10686. - key
  10687. - operator
  10688. type: object
  10689. type: array
  10690. matchLabels:
  10691. additionalProperties:
  10692. type: string
  10693. description: matchLabels is
  10694. a map of {key,value} pairs.
  10695. A single {key,value} in the
  10696. matchLabels map is equivalent
  10697. to an element of matchExpressions,
  10698. whose key field is "key",
  10699. the operator is "In", and
  10700. the values array contains
  10701. only "value". The requirements
  10702. are ANDed.
  10703. type: object
  10704. type: object
  10705. x-kubernetes-map-type: atomic
  10706. namespaces:
  10707. description: namespaces specifies
  10708. a static list of namespace names
  10709. that the term applies to. The
  10710. term is applied to the union of
  10711. the namespaces listed in this
  10712. field and the ones selected by
  10713. namespaceSelector. null or empty
  10714. namespaces list and null namespaceSelector
  10715. means "this pod's namespace".
  10716. items:
  10717. type: string
  10718. type: array
  10719. topologyKey:
  10720. description: This pod should be
  10721. co-located (affinity) or not co-located
  10722. (anti-affinity) with the pods
  10723. matching the labelSelector in
  10724. the specified namespaces, where
  10725. co-located is defined as running
  10726. on a node whose value of the label
  10727. with key topologyKey matches that
  10728. of any node on which any of the
  10729. selected pods is running. Empty
  10730. topologyKey is not allowed.
  10731. type: string
  10732. required:
  10733. - topologyKey
  10734. type: object
  10735. weight:
  10736. description: weight associated with
  10737. matching the corresponding podAffinityTerm,
  10738. in the range 1-100.
  10739. format: int32
  10740. type: integer
  10741. required:
  10742. - podAffinityTerm
  10743. - weight
  10744. type: object
  10745. type: array
  10746. requiredDuringSchedulingIgnoredDuringExecution:
  10747. description: If the anti-affinity requirements
  10748. specified by this field are not met at scheduling
  10749. time, the pod will not be scheduled onto
  10750. the node. If the anti-affinity requirements
  10751. specified by this field cease to be met
  10752. at some point during pod execution (e.g.
  10753. due to a pod label update), the system may
  10754. or may not try to eventually evict the pod
  10755. from its node. When there are multiple elements,
  10756. the lists of nodes corresponding to each
  10757. podAffinityTerm are intersected, i.e. all
  10758. terms must be satisfied.
  10759. items:
  10760. description: Defines a set of pods (namely
  10761. those matching the labelSelector relative
  10762. to the given namespace(s)) that this pod
  10763. should be co-located (affinity) or not
  10764. co-located (anti-affinity) with, where
  10765. co-located is defined as running on a
  10766. node whose value of the label with key
  10767. <topologyKey> matches that of any node
  10768. on which a pod of the set of pods is running
  10769. properties:
  10770. labelSelector:
  10771. description: A label query over a set
  10772. of resources, in this case pods.
  10773. properties:
  10774. matchExpressions:
  10775. description: matchExpressions is
  10776. a list of label selector requirements.
  10777. The requirements are ANDed.
  10778. items:
  10779. description: A label selector
  10780. requirement is a selector that
  10781. contains values, a key, and
  10782. an operator that relates the
  10783. key and values.
  10784. properties:
  10785. key:
  10786. description: key is the label
  10787. key that the selector applies
  10788. to.
  10789. type: string
  10790. operator:
  10791. description: operator represents
  10792. a key's relationship to
  10793. a set of values. Valid operators
  10794. are In, NotIn, Exists and
  10795. DoesNotExist.
  10796. type: string
  10797. values:
  10798. description: values is an
  10799. array of string values.
  10800. If the operator is In or
  10801. NotIn, the values array
  10802. must be non-empty. If the
  10803. operator is Exists or DoesNotExist,
  10804. the values array must be
  10805. empty. This array is replaced
  10806. during a strategic merge
  10807. patch.
  10808. items:
  10809. type: string
  10810. type: array
  10811. required:
  10812. - key
  10813. - operator
  10814. type: object
  10815. type: array
  10816. matchLabels:
  10817. additionalProperties:
  10818. type: string
  10819. description: matchLabels is a map
  10820. of {key,value} pairs. A single
  10821. {key,value} in the matchLabels
  10822. map is equivalent to an element
  10823. of matchExpressions, whose key
  10824. field is "key", the operator is
  10825. "In", and the values array contains
  10826. only "value". The requirements
  10827. are ANDed.
  10828. type: object
  10829. type: object
  10830. x-kubernetes-map-type: atomic
  10831. namespaceSelector:
  10832. description: A label query over the
  10833. set of namespaces that the term applies
  10834. to. The term is applied to the union
  10835. of the namespaces selected by this
  10836. field and the ones listed in the namespaces
  10837. field. null selector and null or empty
  10838. namespaces list means "this pod's
  10839. namespace". An empty selector ({})
  10840. matches all namespaces.
  10841. properties:
  10842. matchExpressions:
  10843. description: matchExpressions is
  10844. a list of label selector requirements.
  10845. The requirements are ANDed.
  10846. items:
  10847. description: A label selector
  10848. requirement is a selector that
  10849. contains values, a key, and
  10850. an operator that relates the
  10851. key and values.
  10852. properties:
  10853. key:
  10854. description: key is the label
  10855. key that the selector applies
  10856. to.
  10857. type: string
  10858. operator:
  10859. description: operator represents
  10860. a key's relationship to
  10861. a set of values. Valid operators
  10862. are In, NotIn, Exists and
  10863. DoesNotExist.
  10864. type: string
  10865. values:
  10866. description: values is an
  10867. array of string values.
  10868. If the operator is In or
  10869. NotIn, the values array
  10870. must be non-empty. If the
  10871. operator is Exists or DoesNotExist,
  10872. the values array must be
  10873. empty. This array is replaced
  10874. during a strategic merge
  10875. patch.
  10876. items:
  10877. type: string
  10878. type: array
  10879. required:
  10880. - key
  10881. - operator
  10882. type: object
  10883. type: array
  10884. matchLabels:
  10885. additionalProperties:
  10886. type: string
  10887. description: matchLabels is a map
  10888. of {key,value} pairs. A single
  10889. {key,value} in the matchLabels
  10890. map is equivalent to an element
  10891. of matchExpressions, whose key
  10892. field is "key", the operator is
  10893. "In", and the values array contains
  10894. only "value". The requirements
  10895. are ANDed.
  10896. type: object
  10897. type: object
  10898. x-kubernetes-map-type: atomic
  10899. namespaces:
  10900. description: namespaces specifies a
  10901. static list of namespace names that
  10902. the term applies to. The term is applied
  10903. to the union of the namespaces listed
  10904. in this field and the ones selected
  10905. by namespaceSelector. null or empty
  10906. namespaces list and null namespaceSelector
  10907. means "this pod's namespace".
  10908. items:
  10909. type: string
  10910. type: array
  10911. topologyKey:
  10912. description: This pod should be co-located
  10913. (affinity) or not co-located (anti-affinity)
  10914. with the pods matching the labelSelector
  10915. in the specified namespaces, where
  10916. co-located is defined as running on
  10917. a node whose value of the label with
  10918. key topologyKey matches that of any
  10919. node on which any of the selected
  10920. pods is running. Empty topologyKey
  10921. is not allowed.
  10922. type: string
  10923. required:
  10924. - topologyKey
  10925. type: object
  10926. type: array
  10927. type: object
  10928. type: object
  10929. containers:
  10930. description: Containers is a list of csi-node-driver
  10931. containers. If specified, this overrides the specified
  10932. csi-node-driver DaemonSet containers. If omitted,
  10933. the csi-node-driver DaemonSet will use its default
  10934. values for its containers.
  10935. items:
  10936. description: CSINodeDriverDaemonSetContainer is
  10937. a csi-node-driver DaemonSet container.
  10938. properties:
  10939. name:
  10940. description: Name is an enum which identifies
  10941. the csi-node-driver DaemonSet container by
  10942. name.
  10943. enum:
  10944. - csi-node-driver
  10945. type: string
  10946. resources:
  10947. description: Resources allows customization
  10948. of limits and requests for compute resources
  10949. such as cpu and memory. If specified, this
  10950. overrides the named csi-node-driver DaemonSet
  10951. container's resources. If omitted, the csi-node-driver
  10952. DaemonSet will use its default value for this
  10953. container's resources.
  10954. properties:
  10955. limits:
  10956. additionalProperties:
  10957. anyOf:
  10958. - type: integer
  10959. - type: string
  10960. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10961. x-kubernetes-int-or-string: true
  10962. description: 'Limits describes the maximum
  10963. amount of compute resources allowed. More
  10964. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  10965. type: object
  10966. requests:
  10967. additionalProperties:
  10968. anyOf:
  10969. - type: integer
  10970. - type: string
  10971. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10972. x-kubernetes-int-or-string: true
  10973. description: 'Requests describes the minimum
  10974. amount of compute resources required.
  10975. If Requests is omitted for a container,
  10976. it defaults to Limits if that is explicitly
  10977. specified, otherwise to an implementation-defined
  10978. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  10979. type: object
  10980. type: object
  10981. required:
  10982. - name
  10983. type: object
  10984. type: array
  10985. nodeSelector:
  10986. additionalProperties:
  10987. type: string
  10988. description: 'NodeSelector is the csi-node-driver
  10989. pod''s scheduling constraints. If specified, each
  10990. of the key/value pairs are added to the csi-node-driver
  10991. DaemonSet nodeSelector provided the key does not
  10992. already exist in the object''s nodeSelector. If
  10993. omitted, the csi-node-driver DaemonSet will use
  10994. its default value for nodeSelector. WARNING: Please
  10995. note that this field will modify the default csi-node-driver
  10996. DaemonSet nodeSelector.'
  10997. type: object
  10998. tolerations:
  10999. description: 'Tolerations is the csi-node-driver pod''s
  11000. tolerations. If specified, this overrides any tolerations
  11001. that may be set on the csi-node-driver DaemonSet.
  11002. If omitted, the csi-node-driver DaemonSet will use
  11003. its default value for tolerations. WARNING: Please
  11004. note that this field will override the default csi-node-driver
  11005. DaemonSet tolerations.'
  11006. items:
  11007. description: The pod this Toleration is attached
  11008. to tolerates any taint that matches the triple
  11009. <key,value,effect> using the matching operator
  11010. <operator>.
  11011. properties:
  11012. effect:
  11013. description: Effect indicates the taint effect
  11014. to match. Empty means match all taint effects.
  11015. When specified, allowed values are NoSchedule,
  11016. PreferNoSchedule and NoExecute.
  11017. type: string
  11018. key:
  11019. description: Key is the taint key that the toleration
  11020. applies to. Empty means match all taint keys.
  11021. If the key is empty, operator must be Exists;
  11022. this combination means to match all values
  11023. and all keys.
  11024. type: string
  11025. operator:
  11026. description: Operator represents a key's relationship
  11027. to the value. Valid operators are Exists and
  11028. Equal. Defaults to Equal. Exists is equivalent
  11029. to wildcard for value, so that a pod can tolerate
  11030. all taints of a particular category.
  11031. type: string
  11032. tolerationSeconds:
  11033. description: TolerationSeconds represents the
  11034. period of time the toleration (which must
  11035. be of effect NoExecute, otherwise this field
  11036. is ignored) tolerates the taint. By default,
  11037. it is not set, which means tolerate the taint
  11038. forever (do not evict). Zero and negative
  11039. values will be treated as 0 (evict immediately)
  11040. by the system.
  11041. format: int64
  11042. type: integer
  11043. value:
  11044. description: Value is the taint value the toleration
  11045. matches to. If the operator is Exists, the
  11046. value should be empty, otherwise just a regular
  11047. string.
  11048. type: string
  11049. type: object
  11050. type: array
  11051. type: object
  11052. type: object
  11053. type: object
  11054. type: object
  11055. fipsMode:
  11056. description: 'FIPSMode uses images and features only that are using
  11057. FIPS 140-2 validated cryptographic modules and standards. Default:
  11058. Disabled'
  11059. enum:
  11060. - Enabled
  11061. - Disabled
  11062. type: string
  11063. flexVolumePath:
  11064. description: FlexVolumePath optionally specifies a custom path for
  11065. FlexVolume. If not specified, FlexVolume will be enabled by default.
  11066. If set to 'None', FlexVolume will be disabled. The default is based
  11067. on the kubernetesProvider.
  11068. type: string
  11069. imagePath:
  11070. description: "ImagePath allows for the path part of an image to be
  11071. specified. If specified then the specified value will be used as
  11072. the image path for each image. If not specified or empty, the default
  11073. for each image will be used. A special case value, UseDefault, is
  11074. supported to explicitly specify the default image path will be used
  11075. for each image. \n Image format: `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
  11076. \n This option allows configuring the `<imagePath>` portion of the
  11077. above format."
  11078. type: string
  11079. imagePrefix:
  11080. description: "ImagePrefix allows for the prefix part of an image to
  11081. be specified. If specified then the given value will be used as
  11082. a prefix on each image. If not specified or empty, no prefix will
  11083. be used. A special case value, UseDefault, is supported to explicitly
  11084. specify the default image prefix will be used for each image. \n
  11085. Image format: `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
  11086. \n This option allows configuring the `<imagePrefix>` portion of
  11087. the above format."
  11088. type: string
  11089. imagePullSecrets:
  11090. description: ImagePullSecrets is an array of references to container
  11091. registry pull secrets to use. These are applied to all images to
  11092. be pulled.
  11093. items:
  11094. description: LocalObjectReference contains enough information to
  11095. let you locate the referenced object inside the same namespace.
  11096. properties:
  11097. name:
  11098. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  11099. TODO: Add other useful fields. apiVersion, kind, uid?'
  11100. type: string
  11101. type: object
  11102. x-kubernetes-map-type: atomic
  11103. type: array
  11104. kubeletVolumePluginPath:
  11105. description: 'KubeletVolumePluginPath optionally specifies enablement
  11106. of Calico CSI plugin. If not specified, CSI will be enabled by default.
  11107. If set to ''None'', CSI will be disabled. Default: /var/lib/kubelet'
  11108. type: string
  11109. kubernetesProvider:
  11110. description: KubernetesProvider specifies a particular provider of
  11111. the Kubernetes platform and enables provider-specific configuration.
  11112. If the specified value is empty, the Operator will attempt to automatically
  11113. determine the current provider. If the specified value is not empty,
  11114. the Operator will still attempt auto-detection, but will additionally
  11115. compare the auto-detected value to the specified value to confirm
  11116. they match.
  11117. enum:
  11118. - ""
  11119. - EKS
  11120. - GKE
  11121. - AKS
  11122. - OpenShift
  11123. - DockerEnterprise
  11124. - RKE2
  11125. type: string
  11126. logging:
  11127. description: Logging Configuration for Components
  11128. properties:
  11129. cni:
  11130. description: Customized logging specification for calico-cni plugin
  11131. properties:
  11132. logFileMaxAgeDays:
  11133. description: 'Default: 30 (days)'
  11134. format: int32
  11135. type: integer
  11136. logFileMaxCount:
  11137. description: 'Default: 10'
  11138. format: int32
  11139. type: integer
  11140. logFileMaxSize:
  11141. anyOf:
  11142. - type: integer
  11143. - type: string
  11144. description: 'Default: 100Mi'
  11145. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11146. x-kubernetes-int-or-string: true
  11147. logSeverity:
  11148. description: 'Default: Info'
  11149. enum:
  11150. - Error
  11151. - Warning
  11152. - Debug
  11153. - Info
  11154. type: string
  11155. type: object
  11156. type: object
  11157. nodeMetricsPort:
  11158. description: NodeMetricsPort specifies which port calico/node serves
  11159. prometheus metrics on. By default, metrics are not enabled. If specified,
  11160. this overrides any FelixConfiguration resources which may exist.
  11161. If omitted, then prometheus metrics may still be configured through
  11162. FelixConfiguration.
  11163. format: int32
  11164. type: integer
  11165. nodeUpdateStrategy:
  11166. description: NodeUpdateStrategy can be used to customize the desired
  11167. update strategy, such as the MaxUnavailable field.
  11168. properties:
  11169. rollingUpdate:
  11170. description: 'Rolling update config params. Present only if type
  11171. = "RollingUpdate". --- TODO: Update this to follow our convention
  11172. for oneOf, whatever we decide it to be. Same as Deployment `strategy.rollingUpdate`.
  11173. See https://github.com/kubernetes/kubernetes/issues/35345'
  11174. properties:
  11175. maxSurge:
  11176. anyOf:
  11177. - type: integer
  11178. - type: string
  11179. description: 'The maximum number of nodes with an existing
  11180. available DaemonSet pod that can have an updated DaemonSet
  11181. pod during during an update. Value can be an absolute number
  11182. (ex: 5) or a percentage of desired pods (ex: 10%). This
  11183. can not be 0 if MaxUnavailable is 0. Absolute number is
  11184. calculated from percentage by rounding up to a minimum of
  11185. 1. Default value is 0. Example: when this is set to 30%,
  11186. at most 30% of the total number of nodes that should be
  11187. running the daemon pod (i.e. status.desiredNumberScheduled)
  11188. can have their a new pod created before the old pod is marked
  11189. as deleted. The update starts by launching new pods on 30%
  11190. of nodes. Once an updated pod is available (Ready for at
  11191. least minReadySeconds) the old DaemonSet pod on that node
  11192. is marked deleted. If the old pod becomes unavailable for
  11193. any reason (Ready transitions to false, is evicted, or is
  11194. drained) an updated pod is immediatedly created on that
  11195. node without considering surge limits. Allowing surge implies
  11196. the possibility that the resources consumed by the daemonset
  11197. on any given node can double if the readiness check fails,
  11198. and so resource intensive daemonsets should take into account
  11199. that they may cause evictions during disruption.'
  11200. x-kubernetes-int-or-string: true
  11201. maxUnavailable:
  11202. anyOf:
  11203. - type: integer
  11204. - type: string
  11205. description: 'The maximum number of DaemonSet pods that can
  11206. be unavailable during the update. Value can be an absolute
  11207. number (ex: 5) or a percentage of total number of DaemonSet
  11208. pods at the start of the update (ex: 10%). Absolute number
  11209. is calculated from percentage by rounding up. This cannot
  11210. be 0 if MaxSurge is 0 Default value is 1. Example: when
  11211. this is set to 30%, at most 30% of the total number of nodes
  11212. that should be running the daemon pod (i.e. status.desiredNumberScheduled)
  11213. can have their pods stopped for an update at any given time.
  11214. The update starts by stopping at most 30% of those DaemonSet
  11215. pods and then brings up new DaemonSet pods in their place.
  11216. Once the new pods are available, it then proceeds onto other
  11217. DaemonSet pods, thus ensuring that at least 70% of original
  11218. number of DaemonSet pods are available at all times during
  11219. the update.'
  11220. x-kubernetes-int-or-string: true
  11221. type: object
  11222. type:
  11223. description: Type of daemon set update. Can be "RollingUpdate"
  11224. or "OnDelete". Default is RollingUpdate.
  11225. type: string
  11226. type: object
  11227. nonPrivileged:
  11228. description: NonPrivileged configures Calico to be run in non-privileged
  11229. containers as non-root users where possible.
  11230. type: string
  11231. registry:
  11232. description: "Registry is the default Docker registry used for component
  11233. Docker images. If specified then the given value must end with a
  11234. slash character (`/`) and all images will be pulled from this registry.
  11235. If not specified then the default registries will be used. A special
  11236. case value, UseDefault, is supported to explicitly specify the default
  11237. registries will be used. \n Image format: `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
  11238. \n This option allows configuring the `<registry>` portion of the
  11239. above format."
  11240. type: string
  11241. typhaAffinity:
  11242. description: Deprecated. Please use Installation.Spec.TyphaDeployment
  11243. instead. TyphaAffinity allows configuration of node affinity characteristics
  11244. for Typha pods.
  11245. properties:
  11246. nodeAffinity:
  11247. description: NodeAffinity describes node affinity scheduling rules
  11248. for typha.
  11249. properties:
  11250. preferredDuringSchedulingIgnoredDuringExecution:
  11251. description: The scheduler will prefer to schedule pods to
  11252. nodes that satisfy the affinity expressions specified by
  11253. this field, but it may choose a node that violates one or
  11254. more of the expressions.
  11255. items:
  11256. description: An empty preferred scheduling term matches
  11257. all objects with implicit weight 0 (i.e. it's a no-op).
  11258. A null preferred scheduling term matches no objects (i.e.
  11259. is also a no-op).
  11260. properties:
  11261. preference:
  11262. description: A node selector term, associated with the
  11263. corresponding weight.
  11264. properties:
  11265. matchExpressions:
  11266. description: A list of node selector requirements
  11267. by node's labels.
  11268. items:
  11269. description: A node selector requirement is a
  11270. selector that contains values, a key, and an
  11271. operator that relates the key and values.
  11272. properties:
  11273. key:
  11274. description: The label key that the selector
  11275. applies to.
  11276. type: string
  11277. operator:
  11278. description: Represents a key's relationship
  11279. to a set of values. Valid operators are
  11280. In, NotIn, Exists, DoesNotExist. Gt, and
  11281. Lt.
  11282. type: string
  11283. values:
  11284. description: An array of string values. If
  11285. the operator is In or NotIn, the values
  11286. array must be non-empty. If the operator
  11287. is Exists or DoesNotExist, the values array
  11288. must be empty. If the operator is Gt or
  11289. Lt, the values array must have a single
  11290. element, which will be interpreted as an
  11291. integer. This array is replaced during a
  11292. strategic merge patch.
  11293. items:
  11294. type: string
  11295. type: array
  11296. required:
  11297. - key
  11298. - operator
  11299. type: object
  11300. type: array
  11301. matchFields:
  11302. description: A list of node selector requirements
  11303. by node's fields.
  11304. items:
  11305. description: A node selector requirement is a
  11306. selector that contains values, a key, and an
  11307. operator that relates the key and values.
  11308. properties:
  11309. key:
  11310. description: The label key that the selector
  11311. applies to.
  11312. type: string
  11313. operator:
  11314. description: Represents a key's relationship
  11315. to a set of values. Valid operators are
  11316. In, NotIn, Exists, DoesNotExist. Gt, and
  11317. Lt.
  11318. type: string
  11319. values:
  11320. description: An array of string values. If
  11321. the operator is In or NotIn, the values
  11322. array must be non-empty. If the operator
  11323. is Exists or DoesNotExist, the values array
  11324. must be empty. If the operator is Gt or
  11325. Lt, the values array must have a single
  11326. element, which will be interpreted as an
  11327. integer. This array is replaced during a
  11328. strategic merge patch.
  11329. items:
  11330. type: string
  11331. type: array
  11332. required:
  11333. - key
  11334. - operator
  11335. type: object
  11336. type: array
  11337. type: object
  11338. x-kubernetes-map-type: atomic
  11339. weight:
  11340. description: Weight associated with matching the corresponding
  11341. nodeSelectorTerm, in the range 1-100.
  11342. format: int32
  11343. type: integer
  11344. required:
  11345. - preference
  11346. - weight
  11347. type: object
  11348. type: array
  11349. requiredDuringSchedulingIgnoredDuringExecution:
  11350. description: 'WARNING: Please note that if the affinity requirements
  11351. specified by this field are not met at scheduling time,
  11352. the pod will NOT be scheduled onto the node. There is no
  11353. fallback to another affinity rules with this setting. This
  11354. may cause networking disruption or even catastrophic failure!
  11355. PreferredDuringSchedulingIgnoredDuringExecution should be
  11356. used for affinity unless there is a specific well understood
  11357. reason to use RequiredDuringSchedulingIgnoredDuringExecution
  11358. and you can guarantee that the RequiredDuringSchedulingIgnoredDuringExecution
  11359. will always have sufficient nodes to satisfy the requirement.
  11360. NOTE: RequiredDuringSchedulingIgnoredDuringExecution is
  11361. set by default for AKS nodes, to avoid scheduling Typhas
  11362. on virtual-nodes. If the affinity requirements specified
  11363. by this field cease to be met at some point during pod execution
  11364. (e.g. due to an update), the system may or may not try to
  11365. eventually evict the pod from its node.'
  11366. properties:
  11367. nodeSelectorTerms:
  11368. description: Required. A list of node selector terms.
  11369. The terms are ORed.
  11370. items:
  11371. description: A null or empty node selector term matches
  11372. no objects. The requirements of them are ANDed. The
  11373. TopologySelectorTerm type implements a subset of the
  11374. NodeSelectorTerm.
  11375. properties:
  11376. matchExpressions:
  11377. description: A list of node selector requirements
  11378. by node's labels.
  11379. items:
  11380. description: A node selector requirement is a
  11381. selector that contains values, a key, and an
  11382. operator that relates the key and values.
  11383. properties:
  11384. key:
  11385. description: The label key that the selector
  11386. applies to.
  11387. type: string
  11388. operator:
  11389. description: Represents a key's relationship
  11390. to a set of values. Valid operators are
  11391. In, NotIn, Exists, DoesNotExist. Gt, and
  11392. Lt.
  11393. type: string
  11394. values:
  11395. description: An array of string values. If
  11396. the operator is In or NotIn, the values
  11397. array must be non-empty. If the operator
  11398. is Exists or DoesNotExist, the values array
  11399. must be empty. If the operator is Gt or
  11400. Lt, the values array must have a single
  11401. element, which will be interpreted as an
  11402. integer. This array is replaced during a
  11403. strategic merge patch.
  11404. items:
  11405. type: string
  11406. type: array
  11407. required:
  11408. - key
  11409. - operator
  11410. type: object
  11411. type: array
  11412. matchFields:
  11413. description: A list of node selector requirements
  11414. by node's fields.
  11415. items:
  11416. description: A node selector requirement is a
  11417. selector that contains values, a key, and an
  11418. operator that relates the key and values.
  11419. properties:
  11420. key:
  11421. description: The label key that the selector
  11422. applies to.
  11423. type: string
  11424. operator:
  11425. description: Represents a key's relationship
  11426. to a set of values. Valid operators are
  11427. In, NotIn, Exists, DoesNotExist. Gt, and
  11428. Lt.
  11429. type: string
  11430. values:
  11431. description: An array of string values. If
  11432. the operator is In or NotIn, the values
  11433. array must be non-empty. If the operator
  11434. is Exists or DoesNotExist, the values array
  11435. must be empty. If the operator is Gt or
  11436. Lt, the values array must have a single
  11437. element, which will be interpreted as an
  11438. integer. This array is replaced during a
  11439. strategic merge patch.
  11440. items:
  11441. type: string
  11442. type: array
  11443. required:
  11444. - key
  11445. - operator
  11446. type: object
  11447. type: array
  11448. type: object
  11449. x-kubernetes-map-type: atomic
  11450. type: array
  11451. required:
  11452. - nodeSelectorTerms
  11453. type: object
  11454. x-kubernetes-map-type: atomic
  11455. type: object
  11456. type: object
  11457. typhaDeployment:
  11458. description: TyphaDeployment configures the typha Deployment. If used
  11459. in conjunction with the deprecated ComponentResources or TyphaAffinity,
  11460. then these overrides take precedence.
  11461. properties:
  11462. metadata:
  11463. description: Metadata is a subset of a Kubernetes object's metadata
  11464. that is added to the Deployment.
  11465. properties:
  11466. annotations:
  11467. additionalProperties:
  11468. type: string
  11469. description: Annotations is a map of arbitrary non-identifying
  11470. metadata. Each of these key/value pairs are added to the
  11471. object's annotations provided the key does not already exist
  11472. in the object's annotations.
  11473. type: object
  11474. labels:
  11475. additionalProperties:
  11476. type: string
  11477. description: Labels is a map of string keys and values that
  11478. may match replicaset and service selectors. Each of these
  11479. key/value pairs are added to the object's labels provided
  11480. the key does not already exist in the object's labels.
  11481. type: object
  11482. type: object
  11483. spec:
  11484. description: Spec is the specification of the typha Deployment.
  11485. properties:
  11486. minReadySeconds:
  11487. description: MinReadySeconds is the minimum number of seconds
  11488. for which a newly created Deployment pod should be ready
  11489. without any of its container crashing, for it to be considered
  11490. available. If specified, this overrides any minReadySeconds
  11491. value that may be set on the typha Deployment. If omitted,
  11492. the typha Deployment will use its default value for minReadySeconds.
  11493. format: int32
  11494. maximum: 2147483647
  11495. minimum: 0
  11496. type: integer
  11497. strategy:
  11498. description: The deployment strategy to use to replace existing
  11499. pods with new ones.
  11500. properties:
  11501. rollingUpdate:
  11502. description: Rolling update config params. Present only
  11503. if DeploymentStrategyType = RollingUpdate. to be.
  11504. properties:
  11505. maxSurge:
  11506. anyOf:
  11507. - type: integer
  11508. - type: string
  11509. description: 'The maximum number of pods that can
  11510. be scheduled above the desired number of pods. Value
  11511. can be an absolute number (ex: 5) or a percentage
  11512. of desired pods (ex: 10%). This can not be 0 if
  11513. MaxUnavailable is 0. Absolute number is calculated
  11514. from percentage by rounding up. Defaults to 25%.
  11515. Example: when this is set to 30%, the new ReplicaSet
  11516. can be scaled up immediately when the rolling update
  11517. starts, such that the total number of old and new
  11518. pods do not exceed 130% of desired pods. Once old
  11519. pods have been killed, new ReplicaSet can be scaled
  11520. up further, ensuring that total number of pods running
  11521. at any time during the update is at most 130% of
  11522. desired pods.'
  11523. x-kubernetes-int-or-string: true
  11524. maxUnavailable:
  11525. anyOf:
  11526. - type: integer
  11527. - type: string
  11528. description: 'The maximum number of pods that can
  11529. be unavailable during the update. Value can be an
  11530. absolute number (ex: 5) or a percentage of desired
  11531. pods (ex: 10%). Absolute number is calculated from
  11532. percentage by rounding down. This can not be 0 if
  11533. MaxSurge is 0. Defaults to 25%. Example: when this
  11534. is set to 30%, the old ReplicaSet can be scaled
  11535. down to 70% of desired pods immediately when the
  11536. rolling update starts. Once new pods are ready,
  11537. old ReplicaSet can be scaled down further, followed
  11538. by scaling up the new ReplicaSet, ensuring that
  11539. the total number of pods available at all times
  11540. during the update is at least 70% of desired pods.'
  11541. x-kubernetes-int-or-string: true
  11542. type: object
  11543. type: object
  11544. template:
  11545. description: Template describes the typha Deployment pod that
  11546. will be created.
  11547. properties:
  11548. metadata:
  11549. description: Metadata is a subset of a Kubernetes object's
  11550. metadata that is added to the pod's metadata.
  11551. properties:
  11552. annotations:
  11553. additionalProperties:
  11554. type: string
  11555. description: Annotations is a map of arbitrary non-identifying
  11556. metadata. Each of these key/value pairs are added
  11557. to the object's annotations provided the key does
  11558. not already exist in the object's annotations.
  11559. type: object
  11560. labels:
  11561. additionalProperties:
  11562. type: string
  11563. description: Labels is a map of string keys and values
  11564. that may match replicaset and service selectors.
  11565. Each of these key/value pairs are added to the object's
  11566. labels provided the key does not already exist in
  11567. the object's labels.
  11568. type: object
  11569. type: object
  11570. spec:
  11571. description: Spec is the typha Deployment's PodSpec.
  11572. properties:
  11573. affinity:
  11574. description: 'Affinity is a group of affinity scheduling
  11575. rules for the typha pods. If specified, this overrides
  11576. any affinity that may be set on the typha Deployment.
  11577. If omitted, the typha Deployment will use its default
  11578. value for affinity. If used in conjunction with
  11579. the deprecated TyphaAffinity, then this value takes
  11580. precedence. WARNING: Please note that this field
  11581. will override the default calico-typha Deployment
  11582. affinity.'
  11583. properties:
  11584. nodeAffinity:
  11585. description: Describes node affinity scheduling
  11586. rules for the pod.
  11587. properties:
  11588. preferredDuringSchedulingIgnoredDuringExecution:
  11589. description: The scheduler will prefer to
  11590. schedule pods to nodes that satisfy the
  11591. affinity expressions specified by this field,
  11592. but it may choose a node that violates one
  11593. or more of the expressions. The node that
  11594. is most preferred is the one with the greatest
  11595. sum of weights, i.e. for each node that
  11596. meets all of the scheduling requirements
  11597. (resource request, requiredDuringScheduling
  11598. affinity expressions, etc.), compute a sum
  11599. by iterating through the elements of this
  11600. field and adding "weight" to the sum if
  11601. the node matches the corresponding matchExpressions;
  11602. the node(s) with the highest sum are the
  11603. most preferred.
  11604. items:
  11605. description: An empty preferred scheduling
  11606. term matches all objects with implicit
  11607. weight 0 (i.e. it's a no-op). A null preferred
  11608. scheduling term matches no objects (i.e.
  11609. is also a no-op).
  11610. properties:
  11611. preference:
  11612. description: A node selector term, associated
  11613. with the corresponding weight.
  11614. properties:
  11615. matchExpressions:
  11616. description: A list of node selector
  11617. requirements by node's labels.
  11618. items:
  11619. description: A node selector requirement
  11620. is a selector that contains
  11621. values, a key, and an operator
  11622. that relates the key and values.
  11623. properties:
  11624. key:
  11625. description: The label key
  11626. that the selector applies
  11627. to.
  11628. type: string
  11629. operator:
  11630. description: Represents a
  11631. key's relationship to a
  11632. set of values. Valid operators
  11633. are In, NotIn, Exists, DoesNotExist.
  11634. Gt, and Lt.
  11635. type: string
  11636. values:
  11637. description: An array of string
  11638. values. If the operator
  11639. is In or NotIn, the values
  11640. array must be non-empty.
  11641. If the operator is Exists
  11642. or DoesNotExist, the values
  11643. array must be empty. If
  11644. the operator is Gt or Lt,
  11645. the values array must have
  11646. a single element, which
  11647. will be interpreted as an
  11648. integer. This array is replaced
  11649. during a strategic merge
  11650. patch.
  11651. items:
  11652. type: string
  11653. type: array
  11654. required:
  11655. - key
  11656. - operator
  11657. type: object
  11658. type: array
  11659. matchFields:
  11660. description: A list of node selector
  11661. requirements by node's fields.
  11662. items:
  11663. description: A node selector requirement
  11664. is a selector that contains
  11665. values, a key, and an operator
  11666. that relates the key and values.
  11667. properties:
  11668. key:
  11669. description: The label key
  11670. that the selector applies
  11671. to.
  11672. type: string
  11673. operator:
  11674. description: Represents a
  11675. key's relationship to a
  11676. set of values. Valid operators
  11677. are In, NotIn, Exists, DoesNotExist.
  11678. Gt, and Lt.
  11679. type: string
  11680. values:
  11681. description: An array of string
  11682. values. If the operator
  11683. is In or NotIn, the values
  11684. array must be non-empty.
  11685. If the operator is Exists
  11686. or DoesNotExist, the values
  11687. array must be empty. If
  11688. the operator is Gt or Lt,
  11689. the values array must have
  11690. a single element, which
  11691. will be interpreted as an
  11692. integer. This array is replaced
  11693. during a strategic merge
  11694. patch.
  11695. items:
  11696. type: string
  11697. type: array
  11698. required:
  11699. - key
  11700. - operator
  11701. type: object
  11702. type: array
  11703. type: object
  11704. x-kubernetes-map-type: atomic
  11705. weight:
  11706. description: Weight associated with
  11707. matching the corresponding nodeSelectorTerm,
  11708. in the range 1-100.
  11709. format: int32
  11710. type: integer
  11711. required:
  11712. - preference
  11713. - weight
  11714. type: object
  11715. type: array
  11716. requiredDuringSchedulingIgnoredDuringExecution:
  11717. description: If the affinity requirements
  11718. specified by this field are not met at scheduling
  11719. time, the pod will not be scheduled onto
  11720. the node. If the affinity requirements specified
  11721. by this field cease to be met at some point
  11722. during pod execution (e.g. due to an update),
  11723. the system may or may not try to eventually
  11724. evict the pod from its node.
  11725. properties:
  11726. nodeSelectorTerms:
  11727. description: Required. A list of node
  11728. selector terms. The terms are ORed.
  11729. items:
  11730. description: A null or empty node selector
  11731. term matches no objects. The requirements
  11732. of them are ANDed. The TopologySelectorTerm
  11733. type implements a subset of the NodeSelectorTerm.
  11734. properties:
  11735. matchExpressions:
  11736. description: A list of node selector
  11737. requirements by node's labels.
  11738. items:
  11739. description: A node selector requirement
  11740. is a selector that contains
  11741. values, a key, and an operator
  11742. that relates the key and values.
  11743. properties:
  11744. key:
  11745. description: The label key
  11746. that the selector applies
  11747. to.
  11748. type: string
  11749. operator:
  11750. description: Represents a
  11751. key's relationship to a
  11752. set of values. Valid operators
  11753. are In, NotIn, Exists, DoesNotExist.
  11754. Gt, and Lt.
  11755. type: string
  11756. values:
  11757. description: An array of string
  11758. values. If the operator
  11759. is In or NotIn, the values
  11760. array must be non-empty.
  11761. If the operator is Exists
  11762. or DoesNotExist, the values
  11763. array must be empty. If
  11764. the operator is Gt or Lt,
  11765. the values array must have
  11766. a single element, which
  11767. will be interpreted as an
  11768. integer. This array is replaced
  11769. during a strategic merge
  11770. patch.
  11771. items:
  11772. type: string
  11773. type: array
  11774. required:
  11775. - key
  11776. - operator
  11777. type: object
  11778. type: array
  11779. matchFields:
  11780. description: A list of node selector
  11781. requirements by node's fields.
  11782. items:
  11783. description: A node selector requirement
  11784. is a selector that contains
  11785. values, a key, and an operator
  11786. that relates the key and values.
  11787. properties:
  11788. key:
  11789. description: The label key
  11790. that the selector applies
  11791. to.
  11792. type: string
  11793. operator:
  11794. description: Represents a
  11795. key's relationship to a
  11796. set of values. Valid operators
  11797. are In, NotIn, Exists, DoesNotExist.
  11798. Gt, and Lt.
  11799. type: string
  11800. values:
  11801. description: An array of string
  11802. values. If the operator
  11803. is In or NotIn, the values
  11804. array must be non-empty.
  11805. If the operator is Exists
  11806. or DoesNotExist, the values
  11807. array must be empty. If
  11808. the operator is Gt or Lt,
  11809. the values array must have
  11810. a single element, which
  11811. will be interpreted as an
  11812. integer. This array is replaced
  11813. during a strategic merge
  11814. patch.
  11815. items:
  11816. type: string
  11817. type: array
  11818. required:
  11819. - key
  11820. - operator
  11821. type: object
  11822. type: array
  11823. type: object
  11824. x-kubernetes-map-type: atomic
  11825. type: array
  11826. required:
  11827. - nodeSelectorTerms
  11828. type: object
  11829. x-kubernetes-map-type: atomic
  11830. type: object
  11831. podAffinity:
  11832. description: Describes pod affinity scheduling
  11833. rules (e.g. co-locate this pod in the same node,
  11834. zone, etc. as some other pod(s)).
  11835. properties:
  11836. preferredDuringSchedulingIgnoredDuringExecution:
  11837. description: The scheduler will prefer to
  11838. schedule pods to nodes that satisfy the
  11839. affinity expressions specified by this field,
  11840. but it may choose a node that violates one
  11841. or more of the expressions. The node that
  11842. is most preferred is the one with the greatest
  11843. sum of weights, i.e. for each node that
  11844. meets all of the scheduling requirements
  11845. (resource request, requiredDuringScheduling
  11846. affinity expressions, etc.), compute a sum
  11847. by iterating through the elements of this
  11848. field and adding "weight" to the sum if
  11849. the node has pods which matches the corresponding
  11850. podAffinityTerm; the node(s) with the highest
  11851. sum are the most preferred.
  11852. items:
  11853. description: The weights of all of the matched
  11854. WeightedPodAffinityTerm fields are added
  11855. per-node to find the most preferred node(s)
  11856. properties:
  11857. podAffinityTerm:
  11858. description: Required. A pod affinity
  11859. term, associated with the corresponding
  11860. weight.
  11861. properties:
  11862. labelSelector:
  11863. description: A label query over
  11864. a set of resources, in this case
  11865. pods.
  11866. properties:
  11867. matchExpressions:
  11868. description: matchExpressions
  11869. is a list of label selector
  11870. requirements. The requirements
  11871. are ANDed.
  11872. items:
  11873. description: A label selector
  11874. requirement is a selector
  11875. that contains values, a
  11876. key, and an operator that
  11877. relates the key and values.
  11878. properties:
  11879. key:
  11880. description: key is the
  11881. label key that the selector
  11882. applies to.
  11883. type: string
  11884. operator:
  11885. description: operator
  11886. represents a key's relationship
  11887. to a set of values.
  11888. Valid operators are
  11889. In, NotIn, Exists and
  11890. DoesNotExist.
  11891. type: string
  11892. values:
  11893. description: values is
  11894. an array of string values.
  11895. If the operator is In
  11896. or NotIn, the values
  11897. array must be non-empty.
  11898. If the operator is Exists
  11899. or DoesNotExist, the
  11900. values array must be
  11901. empty. This array is
  11902. replaced during a strategic
  11903. merge patch.
  11904. items:
  11905. type: string
  11906. type: array
  11907. required:
  11908. - key
  11909. - operator
  11910. type: object
  11911. type: array
  11912. matchLabels:
  11913. additionalProperties:
  11914. type: string
  11915. description: matchLabels is
  11916. a map of {key,value} pairs.
  11917. A single {key,value} in the
  11918. matchLabels map is equivalent
  11919. to an element of matchExpressions,
  11920. whose key field is "key",
  11921. the operator is "In", and
  11922. the values array contains
  11923. only "value". The requirements
  11924. are ANDed.
  11925. type: object
  11926. type: object
  11927. x-kubernetes-map-type: atomic
  11928. namespaceSelector:
  11929. description: A label query over
  11930. the set of namespaces that the
  11931. term applies to. The term is applied
  11932. to the union of the namespaces
  11933. selected by this field and the
  11934. ones listed in the namespaces
  11935. field. null selector and null
  11936. or empty namespaces list means
  11937. "this pod's namespace". An empty
  11938. selector ({}) matches all namespaces.
  11939. properties:
  11940. matchExpressions:
  11941. description: matchExpressions
  11942. is a list of label selector
  11943. requirements. The requirements
  11944. are ANDed.
  11945. items:
  11946. description: A label selector
  11947. requirement is a selector
  11948. that contains values, a
  11949. key, and an operator that
  11950. relates the key and values.
  11951. properties:
  11952. key:
  11953. description: key is the
  11954. label key that the selector
  11955. applies to.
  11956. type: string
  11957. operator:
  11958. description: operator
  11959. represents a key's relationship
  11960. to a set of values.
  11961. Valid operators are
  11962. In, NotIn, Exists and
  11963. DoesNotExist.
  11964. type: string
  11965. values:
  11966. description: values is
  11967. an array of string values.
  11968. If the operator is In
  11969. or NotIn, the values
  11970. array must be non-empty.
  11971. If the operator is Exists
  11972. or DoesNotExist, the
  11973. values array must be
  11974. empty. This array is
  11975. replaced during a strategic
  11976. merge patch.
  11977. items:
  11978. type: string
  11979. type: array
  11980. required:
  11981. - key
  11982. - operator
  11983. type: object
  11984. type: array
  11985. matchLabels:
  11986. additionalProperties:
  11987. type: string
  11988. description: matchLabels is
  11989. a map of {key,value} pairs.
  11990. A single {key,value} in the
  11991. matchLabels map is equivalent
  11992. to an element of matchExpressions,
  11993. whose key field is "key",
  11994. the operator is "In", and
  11995. the values array contains
  11996. only "value". The requirements
  11997. are ANDed.
  11998. type: object
  11999. type: object
  12000. x-kubernetes-map-type: atomic
  12001. namespaces:
  12002. description: namespaces specifies
  12003. a static list of namespace names
  12004. that the term applies to. The
  12005. term is applied to the union of
  12006. the namespaces listed in this
  12007. field and the ones selected by
  12008. namespaceSelector. null or empty
  12009. namespaces list and null namespaceSelector
  12010. means "this pod's namespace".
  12011. items:
  12012. type: string
  12013. type: array
  12014. topologyKey:
  12015. description: This pod should be
  12016. co-located (affinity) or not co-located
  12017. (anti-affinity) with the pods
  12018. matching the labelSelector in
  12019. the specified namespaces, where
  12020. co-located is defined as running
  12021. on a node whose value of the label
  12022. with key topologyKey matches that
  12023. of any node on which any of the
  12024. selected pods is running. Empty
  12025. topologyKey is not allowed.
  12026. type: string
  12027. required:
  12028. - topologyKey
  12029. type: object
  12030. weight:
  12031. description: weight associated with
  12032. matching the corresponding podAffinityTerm,
  12033. in the range 1-100.
  12034. format: int32
  12035. type: integer
  12036. required:
  12037. - podAffinityTerm
  12038. - weight
  12039. type: object
  12040. type: array
  12041. requiredDuringSchedulingIgnoredDuringExecution:
  12042. description: If the affinity requirements
  12043. specified by this field are not met at scheduling
  12044. time, the pod will not be scheduled onto
  12045. the node. If the affinity requirements specified
  12046. by this field cease to be met at some point
  12047. during pod execution (e.g. due to a pod
  12048. label update), the system may or may not
  12049. try to eventually evict the pod from its
  12050. node. When there are multiple elements,
  12051. the lists of nodes corresponding to each
  12052. podAffinityTerm are intersected, i.e. all
  12053. terms must be satisfied.
  12054. items:
  12055. description: Defines a set of pods (namely
  12056. those matching the labelSelector relative
  12057. to the given namespace(s)) that this pod
  12058. should be co-located (affinity) or not
  12059. co-located (anti-affinity) with, where
  12060. co-located is defined as running on a
  12061. node whose value of the label with key
  12062. <topologyKey> matches that of any node
  12063. on which a pod of the set of pods is running
  12064. properties:
  12065. labelSelector:
  12066. description: A label query over a set
  12067. of resources, in this case pods.
  12068. properties:
  12069. matchExpressions:
  12070. description: matchExpressions is
  12071. a list of label selector requirements.
  12072. The requirements are ANDed.
  12073. items:
  12074. description: A label selector
  12075. requirement is a selector that
  12076. contains values, a key, and
  12077. an operator that relates the
  12078. key and values.
  12079. properties:
  12080. key:
  12081. description: key is the label
  12082. key that the selector applies
  12083. to.
  12084. type: string
  12085. operator:
  12086. description: operator represents
  12087. a key's relationship to
  12088. a set of values. Valid operators
  12089. are In, NotIn, Exists and
  12090. DoesNotExist.
  12091. type: string
  12092. values:
  12093. description: values is an
  12094. array of string values.
  12095. If the operator is In or
  12096. NotIn, the values array
  12097. must be non-empty. If the
  12098. operator is Exists or DoesNotExist,
  12099. the values array must be
  12100. empty. This array is replaced
  12101. during a strategic merge
  12102. patch.
  12103. items:
  12104. type: string
  12105. type: array
  12106. required:
  12107. - key
  12108. - operator
  12109. type: object
  12110. type: array
  12111. matchLabels:
  12112. additionalProperties:
  12113. type: string
  12114. description: matchLabels is a map
  12115. of {key,value} pairs. A single
  12116. {key,value} in the matchLabels
  12117. map is equivalent to an element
  12118. of matchExpressions, whose key
  12119. field is "key", the operator is
  12120. "In", and the values array contains
  12121. only "value". The requirements
  12122. are ANDed.
  12123. type: object
  12124. type: object
  12125. x-kubernetes-map-type: atomic
  12126. namespaceSelector:
  12127. description: A label query over the
  12128. set of namespaces that the term applies
  12129. to. The term is applied to the union
  12130. of the namespaces selected by this
  12131. field and the ones listed in the namespaces
  12132. field. null selector and null or empty
  12133. namespaces list means "this pod's
  12134. namespace". An empty selector ({})
  12135. matches all namespaces.
  12136. properties:
  12137. matchExpressions:
  12138. description: matchExpressions is
  12139. a list of label selector requirements.
  12140. The requirements are ANDed.
  12141. items:
  12142. description: A label selector
  12143. requirement is a selector that
  12144. contains values, a key, and
  12145. an operator that relates the
  12146. key and values.
  12147. properties:
  12148. key:
  12149. description: key is the label
  12150. key that the selector applies
  12151. to.
  12152. type: string
  12153. operator:
  12154. description: operator represents
  12155. a key's relationship to
  12156. a set of values. Valid operators
  12157. are In, NotIn, Exists and
  12158. DoesNotExist.
  12159. type: string
  12160. values:
  12161. description: values is an
  12162. array of string values.
  12163. If the operator is In or
  12164. NotIn, the values array
  12165. must be non-empty. If the
  12166. operator is Exists or DoesNotExist,
  12167. the values array must be
  12168. empty. This array is replaced
  12169. during a strategic merge
  12170. patch.
  12171. items:
  12172. type: string
  12173. type: array
  12174. required:
  12175. - key
  12176. - operator
  12177. type: object
  12178. type: array
  12179. matchLabels:
  12180. additionalProperties:
  12181. type: string
  12182. description: matchLabels is a map
  12183. of {key,value} pairs. A single
  12184. {key,value} in the matchLabels
  12185. map is equivalent to an element
  12186. of matchExpressions, whose key
  12187. field is "key", the operator is
  12188. "In", and the values array contains
  12189. only "value". The requirements
  12190. are ANDed.
  12191. type: object
  12192. type: object
  12193. x-kubernetes-map-type: atomic
  12194. namespaces:
  12195. description: namespaces specifies a
  12196. static list of namespace names that
  12197. the term applies to. The term is applied
  12198. to the union of the namespaces listed
  12199. in this field and the ones selected
  12200. by namespaceSelector. null or empty
  12201. namespaces list and null namespaceSelector
  12202. means "this pod's namespace".
  12203. items:
  12204. type: string
  12205. type: array
  12206. topologyKey:
  12207. description: This pod should be co-located
  12208. (affinity) or not co-located (anti-affinity)
  12209. with the pods matching the labelSelector
  12210. in the specified namespaces, where
  12211. co-located is defined as running on
  12212. a node whose value of the label with
  12213. key topologyKey matches that of any
  12214. node on which any of the selected
  12215. pods is running. Empty topologyKey
  12216. is not allowed.
  12217. type: string
  12218. required:
  12219. - topologyKey
  12220. type: object
  12221. type: array
  12222. type: object
  12223. podAntiAffinity:
  12224. description: Describes pod anti-affinity scheduling
  12225. rules (e.g. avoid putting this pod in the same
  12226. node, zone, etc. as some other pod(s)).
  12227. properties:
  12228. preferredDuringSchedulingIgnoredDuringExecution:
  12229. description: The scheduler will prefer to
  12230. schedule pods to nodes that satisfy the
  12231. anti-affinity expressions specified by this
  12232. field, but it may choose a node that violates
  12233. one or more of the expressions. The node
  12234. that is most preferred is the one with the
  12235. greatest sum of weights, i.e. for each node
  12236. that meets all of the scheduling requirements
  12237. (resource request, requiredDuringScheduling
  12238. anti-affinity expressions, etc.), compute
  12239. a sum by iterating through the elements
  12240. of this field and adding "weight" to the
  12241. sum if the node has pods which matches the
  12242. corresponding podAffinityTerm; the node(s)
  12243. with the highest sum are the most preferred.
  12244. items:
  12245. description: The weights of all of the matched
  12246. WeightedPodAffinityTerm fields are added
  12247. per-node to find the most preferred node(s)
  12248. properties:
  12249. podAffinityTerm:
  12250. description: Required. A pod affinity
  12251. term, associated with the corresponding
  12252. weight.
  12253. properties:
  12254. labelSelector:
  12255. description: A label query over
  12256. a set of resources, in this case
  12257. pods.
  12258. properties:
  12259. matchExpressions:
  12260. description: matchExpressions
  12261. is a list of label selector
  12262. requirements. The requirements
  12263. are ANDed.
  12264. items:
  12265. description: A label selector
  12266. requirement is a selector
  12267. that contains values, a
  12268. key, and an operator that
  12269. relates the key and values.
  12270. properties:
  12271. key:
  12272. description: key is the
  12273. label key that the selector
  12274. applies to.
  12275. type: string
  12276. operator:
  12277. description: operator
  12278. represents a key's relationship
  12279. to a set of values.
  12280. Valid operators are
  12281. In, NotIn, Exists and
  12282. DoesNotExist.
  12283. type: string
  12284. values:
  12285. description: values is
  12286. an array of string values.
  12287. If the operator is In
  12288. or NotIn, the values
  12289. array must be non-empty.
  12290. If the operator is Exists
  12291. or DoesNotExist, the
  12292. values array must be
  12293. empty. This array is
  12294. replaced during a strategic
  12295. merge patch.
  12296. items:
  12297. type: string
  12298. type: array
  12299. required:
  12300. - key
  12301. - operator
  12302. type: object
  12303. type: array
  12304. matchLabels:
  12305. additionalProperties:
  12306. type: string
  12307. description: matchLabels is
  12308. a map of {key,value} pairs.
  12309. A single {key,value} in the
  12310. matchLabels map is equivalent
  12311. to an element of matchExpressions,
  12312. whose key field is "key",
  12313. the operator is "In", and
  12314. the values array contains
  12315. only "value". The requirements
  12316. are ANDed.
  12317. type: object
  12318. type: object
  12319. x-kubernetes-map-type: atomic
  12320. namespaceSelector:
  12321. description: A label query over
  12322. the set of namespaces that the
  12323. term applies to. The term is applied
  12324. to the union of the namespaces
  12325. selected by this field and the
  12326. ones listed in the namespaces
  12327. field. null selector and null
  12328. or empty namespaces list means
  12329. "this pod's namespace". An empty
  12330. selector ({}) matches all namespaces.
  12331. properties:
  12332. matchExpressions:
  12333. description: matchExpressions
  12334. is a list of label selector
  12335. requirements. The requirements
  12336. are ANDed.
  12337. items:
  12338. description: A label selector
  12339. requirement is a selector
  12340. that contains values, a
  12341. key, and an operator that
  12342. relates the key and values.
  12343. properties:
  12344. key:
  12345. description: key is the
  12346. label key that the selector
  12347. applies to.
  12348. type: string
  12349. operator:
  12350. description: operator
  12351. represents a key's relationship
  12352. to a set of values.
  12353. Valid operators are
  12354. In, NotIn, Exists and
  12355. DoesNotExist.
  12356. type: string
  12357. values:
  12358. description: values is
  12359. an array of string values.
  12360. If the operator is In
  12361. or NotIn, the values
  12362. array must be non-empty.
  12363. If the operator is Exists
  12364. or DoesNotExist, the
  12365. values array must be
  12366. empty. This array is
  12367. replaced during a strategic
  12368. merge patch.
  12369. items:
  12370. type: string
  12371. type: array
  12372. required:
  12373. - key
  12374. - operator
  12375. type: object
  12376. type: array
  12377. matchLabels:
  12378. additionalProperties:
  12379. type: string
  12380. description: matchLabels is
  12381. a map of {key,value} pairs.
  12382. A single {key,value} in the
  12383. matchLabels map is equivalent
  12384. to an element of matchExpressions,
  12385. whose key field is "key",
  12386. the operator is "In", and
  12387. the values array contains
  12388. only "value". The requirements
  12389. are ANDed.
  12390. type: object
  12391. type: object
  12392. x-kubernetes-map-type: atomic
  12393. namespaces:
  12394. description: namespaces specifies
  12395. a static list of namespace names
  12396. that the term applies to. The
  12397. term is applied to the union of
  12398. the namespaces listed in this
  12399. field and the ones selected by
  12400. namespaceSelector. null or empty
  12401. namespaces list and null namespaceSelector
  12402. means "this pod's namespace".
  12403. items:
  12404. type: string
  12405. type: array
  12406. topologyKey:
  12407. description: This pod should be
  12408. co-located (affinity) or not co-located
  12409. (anti-affinity) with the pods
  12410. matching the labelSelector in
  12411. the specified namespaces, where
  12412. co-located is defined as running
  12413. on a node whose value of the label
  12414. with key topologyKey matches that
  12415. of any node on which any of the
  12416. selected pods is running. Empty
  12417. topologyKey is not allowed.
  12418. type: string
  12419. required:
  12420. - topologyKey
  12421. type: object
  12422. weight:
  12423. description: weight associated with
  12424. matching the corresponding podAffinityTerm,
  12425. in the range 1-100.
  12426. format: int32
  12427. type: integer
  12428. required:
  12429. - podAffinityTerm
  12430. - weight
  12431. type: object
  12432. type: array
  12433. requiredDuringSchedulingIgnoredDuringExecution:
  12434. description: If the anti-affinity requirements
  12435. specified by this field are not met at scheduling
  12436. time, the pod will not be scheduled onto
  12437. the node. If the anti-affinity requirements
  12438. specified by this field cease to be met
  12439. at some point during pod execution (e.g.
  12440. due to a pod label update), the system may
  12441. or may not try to eventually evict the pod
  12442. from its node. When there are multiple elements,
  12443. the lists of nodes corresponding to each
  12444. podAffinityTerm are intersected, i.e. all
  12445. terms must be satisfied.
  12446. items:
  12447. description: Defines a set of pods (namely
  12448. those matching the labelSelector relative
  12449. to the given namespace(s)) that this pod
  12450. should be co-located (affinity) or not
  12451. co-located (anti-affinity) with, where
  12452. co-located is defined as running on a
  12453. node whose value of the label with key
  12454. <topologyKey> matches that of any node
  12455. on which a pod of the set of pods is running
  12456. properties:
  12457. labelSelector:
  12458. description: A label query over a set
  12459. of resources, in this case pods.
  12460. properties:
  12461. matchExpressions:
  12462. description: matchExpressions is
  12463. a list of label selector requirements.
  12464. The requirements are ANDed.
  12465. items:
  12466. description: A label selector
  12467. requirement is a selector that
  12468. contains values, a key, and
  12469. an operator that relates the
  12470. key and values.
  12471. properties:
  12472. key:
  12473. description: key is the label
  12474. key that the selector applies
  12475. to.
  12476. type: string
  12477. operator:
  12478. description: operator represents
  12479. a key's relationship to
  12480. a set of values. Valid operators
  12481. are In, NotIn, Exists and
  12482. DoesNotExist.
  12483. type: string
  12484. values:
  12485. description: values is an
  12486. array of string values.
  12487. If the operator is In or
  12488. NotIn, the values array
  12489. must be non-empty. If the
  12490. operator is Exists or DoesNotExist,
  12491. the values array must be
  12492. empty. This array is replaced
  12493. during a strategic merge
  12494. patch.
  12495. items:
  12496. type: string
  12497. type: array
  12498. required:
  12499. - key
  12500. - operator
  12501. type: object
  12502. type: array
  12503. matchLabels:
  12504. additionalProperties:
  12505. type: string
  12506. description: matchLabels is a map
  12507. of {key,value} pairs. A single
  12508. {key,value} in the matchLabels
  12509. map is equivalent to an element
  12510. of matchExpressions, whose key
  12511. field is "key", the operator is
  12512. "In", and the values array contains
  12513. only "value". The requirements
  12514. are ANDed.
  12515. type: object
  12516. type: object
  12517. x-kubernetes-map-type: atomic
  12518. namespaceSelector:
  12519. description: A label query over the
  12520. set of namespaces that the term applies
  12521. to. The term is applied to the union
  12522. of the namespaces selected by this
  12523. field and the ones listed in the namespaces
  12524. field. null selector and null or empty
  12525. namespaces list means "this pod's
  12526. namespace". An empty selector ({})
  12527. matches all namespaces.
  12528. properties:
  12529. matchExpressions:
  12530. description: matchExpressions is
  12531. a list of label selector requirements.
  12532. The requirements are ANDed.
  12533. items:
  12534. description: A label selector
  12535. requirement is a selector that
  12536. contains values, a key, and
  12537. an operator that relates the
  12538. key and values.
  12539. properties:
  12540. key:
  12541. description: key is the label
  12542. key that the selector applies
  12543. to.
  12544. type: string
  12545. operator:
  12546. description: operator represents
  12547. a key's relationship to
  12548. a set of values. Valid operators
  12549. are In, NotIn, Exists and
  12550. DoesNotExist.
  12551. type: string
  12552. values:
  12553. description: values is an
  12554. array of string values.
  12555. If the operator is In or
  12556. NotIn, the values array
  12557. must be non-empty. If the
  12558. operator is Exists or DoesNotExist,
  12559. the values array must be
  12560. empty. This array is replaced
  12561. during a strategic merge
  12562. patch.
  12563. items:
  12564. type: string
  12565. type: array
  12566. required:
  12567. - key
  12568. - operator
  12569. type: object
  12570. type: array
  12571. matchLabels:
  12572. additionalProperties:
  12573. type: string
  12574. description: matchLabels is a map
  12575. of {key,value} pairs. A single
  12576. {key,value} in the matchLabels
  12577. map is equivalent to an element
  12578. of matchExpressions, whose key
  12579. field is "key", the operator is
  12580. "In", and the values array contains
  12581. only "value". The requirements
  12582. are ANDed.
  12583. type: object
  12584. type: object
  12585. x-kubernetes-map-type: atomic
  12586. namespaces:
  12587. description: namespaces specifies a
  12588. static list of namespace names that
  12589. the term applies to. The term is applied
  12590. to the union of the namespaces listed
  12591. in this field and the ones selected
  12592. by namespaceSelector. null or empty
  12593. namespaces list and null namespaceSelector
  12594. means "this pod's namespace".
  12595. items:
  12596. type: string
  12597. type: array
  12598. topologyKey:
  12599. description: This pod should be co-located
  12600. (affinity) or not co-located (anti-affinity)
  12601. with the pods matching the labelSelector
  12602. in the specified namespaces, where
  12603. co-located is defined as running on
  12604. a node whose value of the label with
  12605. key topologyKey matches that of any
  12606. node on which any of the selected
  12607. pods is running. Empty topologyKey
  12608. is not allowed.
  12609. type: string
  12610. required:
  12611. - topologyKey
  12612. type: object
  12613. type: array
  12614. type: object
  12615. type: object
  12616. containers:
  12617. description: Containers is a list of typha containers.
  12618. If specified, this overrides the specified typha
  12619. Deployment containers. If omitted, the typha Deployment
  12620. will use its default values for its containers.
  12621. items:
  12622. description: TyphaDeploymentContainer is a typha
  12623. Deployment container.
  12624. properties:
  12625. name:
  12626. description: Name is an enum which identifies
  12627. the typha Deployment container by name.
  12628. enum:
  12629. - calico-typha
  12630. type: string
  12631. resources:
  12632. description: Resources allows customization
  12633. of limits and requests for compute resources
  12634. such as cpu and memory. If specified, this
  12635. overrides the named typha Deployment container's
  12636. resources. If omitted, the typha Deployment
  12637. will use its default value for this container's
  12638. resources. If used in conjunction with the
  12639. deprecated ComponentResources, then this value
  12640. takes precedence.
  12641. properties:
  12642. limits:
  12643. additionalProperties:
  12644. anyOf:
  12645. - type: integer
  12646. - type: string
  12647. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12648. x-kubernetes-int-or-string: true
  12649. description: 'Limits describes the maximum
  12650. amount of compute resources allowed. More
  12651. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12652. type: object
  12653. requests:
  12654. additionalProperties:
  12655. anyOf:
  12656. - type: integer
  12657. - type: string
  12658. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12659. x-kubernetes-int-or-string: true
  12660. description: 'Requests describes the minimum
  12661. amount of compute resources required.
  12662. If Requests is omitted for a container,
  12663. it defaults to Limits if that is explicitly
  12664. specified, otherwise to an implementation-defined
  12665. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12666. type: object
  12667. type: object
  12668. required:
  12669. - name
  12670. type: object
  12671. type: array
  12672. initContainers:
  12673. description: InitContainers is a list of typha init
  12674. containers. If specified, this overrides the specified
  12675. typha Deployment init containers. If omitted, the
  12676. typha Deployment will use its default values for
  12677. its init containers.
  12678. items:
  12679. description: TyphaDeploymentInitContainer is a typha
  12680. Deployment init container.
  12681. properties:
  12682. name:
  12683. description: Name is an enum which identifies
  12684. the typha Deployment init container by name.
  12685. enum:
  12686. - typha-certs-key-cert-provisioner
  12687. type: string
  12688. resources:
  12689. description: Resources allows customization
  12690. of limits and requests for compute resources
  12691. such as cpu and memory. If specified, this
  12692. overrides the named typha Deployment init
  12693. container's resources. If omitted, the typha
  12694. Deployment will use its default value for
  12695. this init container's resources. If used in
  12696. conjunction with the deprecated ComponentResources,
  12697. then this value takes precedence.
  12698. properties:
  12699. limits:
  12700. additionalProperties:
  12701. anyOf:
  12702. - type: integer
  12703. - type: string
  12704. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12705. x-kubernetes-int-or-string: true
  12706. description: 'Limits describes the maximum
  12707. amount of compute resources allowed. More
  12708. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12709. type: object
  12710. requests:
  12711. additionalProperties:
  12712. anyOf:
  12713. - type: integer
  12714. - type: string
  12715. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  12716. x-kubernetes-int-or-string: true
  12717. description: 'Requests describes the minimum
  12718. amount of compute resources required.
  12719. If Requests is omitted for a container,
  12720. it defaults to Limits if that is explicitly
  12721. specified, otherwise to an implementation-defined
  12722. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  12723. type: object
  12724. type: object
  12725. required:
  12726. - name
  12727. type: object
  12728. type: array
  12729. nodeSelector:
  12730. additionalProperties:
  12731. type: string
  12732. description: 'NodeSelector is the calico-typha pod''s
  12733. scheduling constraints. If specified, each of the
  12734. key/value pairs are added to the calico-typha Deployment
  12735. nodeSelector provided the key does not already exist
  12736. in the object''s nodeSelector. If omitted, the calico-typha
  12737. Deployment will use its default value for nodeSelector.
  12738. WARNING: Please note that this field will modify
  12739. the default calico-typha Deployment nodeSelector.'
  12740. type: object
  12741. terminationGracePeriodSeconds:
  12742. description: Optional duration in seconds the pod
  12743. needs to terminate gracefully. May be decreased
  12744. in delete request. Value must be non-negative integer.
  12745. The value zero indicates stop immediately via the
  12746. kill signal (no opportunity to shut down). If this
  12747. value is nil, the default grace period will be used
  12748. instead. The grace period is the duration in seconds
  12749. after the processes running in the pod are sent
  12750. a termination signal and the time when the processes
  12751. are forcibly halted with a kill signal. Set this
  12752. value longer than the expected cleanup time for
  12753. your process. Defaults to 30 seconds.
  12754. format: int64
  12755. type: integer
  12756. tolerations:
  12757. description: 'Tolerations is the typha pod''s tolerations.
  12758. If specified, this overrides any tolerations that
  12759. may be set on the typha Deployment. If omitted,
  12760. the typha Deployment will use its default value
  12761. for tolerations. WARNING: Please note that this
  12762. field will override the default calico-typha Deployment
  12763. tolerations.'
  12764. items:
  12765. description: The pod this Toleration is attached
  12766. to tolerates any taint that matches the triple
  12767. <key,value,effect> using the matching operator
  12768. <operator>.
  12769. properties:
  12770. effect:
  12771. description: Effect indicates the taint effect
  12772. to match. Empty means match all taint effects.
  12773. When specified, allowed values are NoSchedule,
  12774. PreferNoSchedule and NoExecute.
  12775. type: string
  12776. key:
  12777. description: Key is the taint key that the toleration
  12778. applies to. Empty means match all taint keys.
  12779. If the key is empty, operator must be Exists;
  12780. this combination means to match all values
  12781. and all keys.
  12782. type: string
  12783. operator:
  12784. description: Operator represents a key's relationship
  12785. to the value. Valid operators are Exists and
  12786. Equal. Defaults to Equal. Exists is equivalent
  12787. to wildcard for value, so that a pod can tolerate
  12788. all taints of a particular category.
  12789. type: string
  12790. tolerationSeconds:
  12791. description: TolerationSeconds represents the
  12792. period of time the toleration (which must
  12793. be of effect NoExecute, otherwise this field
  12794. is ignored) tolerates the taint. By default,
  12795. it is not set, which means tolerate the taint
  12796. forever (do not evict). Zero and negative
  12797. values will be treated as 0 (evict immediately)
  12798. by the system.
  12799. format: int64
  12800. type: integer
  12801. value:
  12802. description: Value is the taint value the toleration
  12803. matches to. If the operator is Exists, the
  12804. value should be empty, otherwise just a regular
  12805. string.
  12806. type: string
  12807. type: object
  12808. type: array
  12809. topologySpreadConstraints:
  12810. description: TopologySpreadConstraints describes how
  12811. a group of pods ought to spread across topology
  12812. domains. Scheduler will schedule pods in a way which
  12813. abides by the constraints. All topologySpreadConstraints
  12814. are ANDed.
  12815. items:
  12816. description: TopologySpreadConstraint specifies
  12817. how to spread matching pods among the given topology.
  12818. properties:
  12819. labelSelector:
  12820. description: LabelSelector is used to find matching
  12821. pods. Pods that match this label selector
  12822. are counted to determine the number of pods
  12823. in their corresponding topology domain.
  12824. properties:
  12825. matchExpressions:
  12826. description: matchExpressions is a list
  12827. of label selector requirements. The requirements
  12828. are ANDed.
  12829. items:
  12830. description: A label selector requirement
  12831. is a selector that contains values,
  12832. a key, and an operator that relates
  12833. the key and values.
  12834. properties:
  12835. key:
  12836. description: key is the label key
  12837. that the selector applies to.
  12838. type: string
  12839. operator:
  12840. description: operator represents a
  12841. key's relationship to a set of values.
  12842. Valid operators are In, NotIn, Exists
  12843. and DoesNotExist.
  12844. type: string
  12845. values:
  12846. description: values is an array of
  12847. string values. If the operator is
  12848. In or NotIn, the values array must
  12849. be non-empty. If the operator is
  12850. Exists or DoesNotExist, the values
  12851. array must be empty. This array
  12852. is replaced during a strategic merge
  12853. patch.
  12854. items:
  12855. type: string
  12856. type: array
  12857. required:
  12858. - key
  12859. - operator
  12860. type: object
  12861. type: array
  12862. matchLabels:
  12863. additionalProperties:
  12864. type: string
  12865. description: matchLabels is a map of {key,value}
  12866. pairs. A single {key,value} in the matchLabels
  12867. map is equivalent to an element of matchExpressions,
  12868. whose key field is "key", the operator
  12869. is "In", and the values array contains
  12870. only "value". The requirements are ANDed.
  12871. type: object
  12872. type: object
  12873. x-kubernetes-map-type: atomic
  12874. matchLabelKeys:
  12875. description: MatchLabelKeys is a set of pod
  12876. label keys to select the pods over which spreading
  12877. will be calculated. The keys are used to lookup
  12878. values from the incoming pod labels, those
  12879. key-value labels are ANDed with labelSelector
  12880. to select the group of existing pods over
  12881. which spreading will be calculated for the
  12882. incoming pod. Keys that don't exist in the
  12883. incoming pod labels will be ignored. A null
  12884. or empty list means only match against labelSelector.
  12885. items:
  12886. type: string
  12887. type: array
  12888. x-kubernetes-list-type: atomic
  12889. maxSkew:
  12890. description: 'MaxSkew describes the degree to
  12891. which pods may be unevenly distributed. When
  12892. `whenUnsatisfiable=DoNotSchedule`, it is the
  12893. maximum permitted difference between the number
  12894. of matching pods in the target topology and
  12895. the global minimum. The global minimum is
  12896. the minimum number of matching pods in an
  12897. eligible domain or zero if the number of eligible
  12898. domains is less than MinDomains. For example,
  12899. in a 3-zone cluster, MaxSkew is set to 1,
  12900. and pods with the same labelSelector spread
  12901. as 2/2/1: In this case, the global minimum
  12902. is 1. | zone1 | zone2 | zone3 | | P P | P
  12903. P | P | - if MaxSkew is 1, incoming pod
  12904. can only be scheduled to zone3 to become 2/2/2;
  12905. scheduling it onto zone1(zone2) would make
  12906. the ActualSkew(3-1) on zone1(zone2) violate
  12907. MaxSkew(1). - if MaxSkew is 2, incoming pod
  12908. can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  12909. it is used to give higher precedence to topologies
  12910. that satisfy it. It''s a required field. Default
  12911. value is 1 and 0 is not allowed.'
  12912. format: int32
  12913. type: integer
  12914. minDomains:
  12915. description: "MinDomains indicates a minimum
  12916. number of eligible domains. When the number
  12917. of eligible domains with matching topology
  12918. keys is less than minDomains, Pod Topology
  12919. Spread treats \"global minimum\" as 0, and
  12920. then the calculation of Skew is performed.
  12921. And when the number of eligible domains with
  12922. matching topology keys equals or greater than
  12923. minDomains, this value has no effect on scheduling.
  12924. As a result, when the number of eligible domains
  12925. is less than minDomains, scheduler won't schedule
  12926. more than maxSkew Pods to those domains. If
  12927. value is nil, the constraint behaves as if
  12928. MinDomains is equal to 1. Valid values are
  12929. integers greater than 0. When value is not
  12930. nil, WhenUnsatisfiable must be DoNotSchedule.
  12931. \n For example, in a 3-zone cluster, MaxSkew
  12932. is set to 2, MinDomains is set to 5 and pods
  12933. with the same labelSelector spread as 2/2/2:
  12934. | zone1 | zone2 | zone3 | | P P | P P |
  12935. \ P P | The number of domains is less than
  12936. 5(MinDomains), so \"global minimum\" is treated
  12937. as 0. In this situation, new pod with the
  12938. same labelSelector cannot be scheduled, because
  12939. computed skew will be 3(3 - 0) if new Pod
  12940. is scheduled to any of the three zones, it
  12941. will violate MaxSkew. \n This is a beta field
  12942. and requires the MinDomainsInPodTopologySpread
  12943. feature gate to be enabled (enabled by default)."
  12944. format: int32
  12945. type: integer
  12946. nodeAffinityPolicy:
  12947. description: "NodeAffinityPolicy indicates how
  12948. we will treat Pod's nodeAffinity/nodeSelector
  12949. when calculating pod topology spread skew.
  12950. Options are: - Honor: only nodes matching
  12951. nodeAffinity/nodeSelector are included in
  12952. the calculations. - Ignore: nodeAffinity/nodeSelector
  12953. are ignored. All nodes are included in the
  12954. calculations. \n If this value is nil, the
  12955. behavior is equivalent to the Honor policy.
  12956. This is a alpha-level feature enabled by the
  12957. NodeInclusionPolicyInPodTopologySpread feature
  12958. flag."
  12959. type: string
  12960. nodeTaintsPolicy:
  12961. description: "NodeTaintsPolicy indicates how
  12962. we will treat node taints when calculating
  12963. pod topology spread skew. Options are: - Honor:
  12964. nodes without taints, along with tainted nodes
  12965. for which the incoming pod has a toleration,
  12966. are included. - Ignore: node taints are ignored.
  12967. All nodes are included. \n If this value is
  12968. nil, the behavior is equivalent to the Ignore
  12969. policy. This is a alpha-level feature enabled
  12970. by the NodeInclusionPolicyInPodTopologySpread
  12971. feature flag."
  12972. type: string
  12973. topologyKey:
  12974. description: TopologyKey is the key of node
  12975. labels. Nodes that have a label with this
  12976. key and identical values are considered to
  12977. be in the same topology. We consider each
  12978. <key, value> as a "bucket", and try to put
  12979. balanced number of pods into each bucket.
  12980. We define a domain as a particular instance
  12981. of a topology. Also, we define an eligible
  12982. domain as a domain whose nodes meet the requirements
  12983. of nodeAffinityPolicy and nodeTaintsPolicy.
  12984. e.g. If TopologyKey is "kubernetes.io/hostname",
  12985. each Node is a domain of that topology. And,
  12986. if TopologyKey is "topology.kubernetes.io/zone",
  12987. each zone is a domain of that topology. It's
  12988. a required field.
  12989. type: string
  12990. whenUnsatisfiable:
  12991. description: 'WhenUnsatisfiable indicates how
  12992. to deal with a pod if it doesn''t satisfy
  12993. the spread constraint. - DoNotSchedule (default)
  12994. tells the scheduler not to schedule it. -
  12995. ScheduleAnyway tells the scheduler to schedule
  12996. the pod in any location, but giving higher
  12997. precedence to topologies that would help reduce
  12998. the skew. A constraint is considered "Unsatisfiable"
  12999. for an incoming pod if and only if every possible
  13000. node assignment for that pod would violate
  13001. "MaxSkew" on some topology. For example, in
  13002. a 3-zone cluster, MaxSkew is set to 1, and
  13003. pods with the same labelSelector spread as
  13004. 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
  13005. If WhenUnsatisfiable is set to DoNotSchedule,
  13006. incoming pod can only be scheduled to zone2(zone3)
  13007. to become 3/2/1(3/1/2) as ActualSkew(2-1)
  13008. on zone2(zone3) satisfies MaxSkew(1). In other
  13009. words, the cluster can still be imbalanced,
  13010. but scheduler won''t make it *more* imbalanced.
  13011. It''s a required field.'
  13012. type: string
  13013. required:
  13014. - maxSkew
  13015. - topologyKey
  13016. - whenUnsatisfiable
  13017. type: object
  13018. type: array
  13019. type: object
  13020. type: object
  13021. type: object
  13022. type: object
  13023. typhaMetricsPort:
  13024. description: TyphaMetricsPort specifies which port calico/typha serves
  13025. prometheus metrics on. By default, metrics are not enabled.
  13026. format: int32
  13027. type: integer
  13028. variant:
  13029. description: 'Variant is the product to install - one of Calico or
  13030. TigeraSecureEnterprise Default: Calico'
  13031. enum:
  13032. - Calico
  13033. - TigeraSecureEnterprise
  13034. type: string
  13035. type: object
  13036. status:
  13037. description: Most recently observed state for the Calico or Calico Enterprise
  13038. installation.
  13039. properties:
  13040. calicoVersion:
  13041. description: CalicoVersion shows the current running version of calico.
  13042. CalicoVersion along with Variant is needed to know the exact version
  13043. deployed.
  13044. type: string
  13045. computed:
  13046. description: Computed is the final installation including overlaid
  13047. resources.
  13048. properties:
  13049. calicoKubeControllersDeployment:
  13050. description: CalicoKubeControllersDeployment configures the calico-kube-controllers
  13051. Deployment. If used in conjunction with the deprecated ComponentResources,
  13052. then these overrides take precedence.
  13053. properties:
  13054. metadata:
  13055. description: Metadata is a subset of a Kubernetes object's
  13056. metadata that is added to the Deployment.
  13057. properties:
  13058. annotations:
  13059. additionalProperties:
  13060. type: string
  13061. description: Annotations is a map of arbitrary non-identifying
  13062. metadata. Each of these key/value pairs are added to
  13063. the object's annotations provided the key does not already
  13064. exist in the object's annotations.
  13065. type: object
  13066. labels:
  13067. additionalProperties:
  13068. type: string
  13069. description: Labels is a map of string keys and values
  13070. that may match replicaset and service selectors. Each
  13071. of these key/value pairs are added to the object's labels
  13072. provided the key does not already exist in the object's
  13073. labels.
  13074. type: object
  13075. type: object
  13076. spec:
  13077. description: Spec is the specification of the calico-kube-controllers
  13078. Deployment.
  13079. properties:
  13080. minReadySeconds:
  13081. description: MinReadySeconds is the minimum number of
  13082. seconds for which a newly created Deployment pod should
  13083. be ready without any of its container crashing, for
  13084. it to be considered available. If specified, this overrides
  13085. any minReadySeconds value that may be set on the calico-kube-controllers
  13086. Deployment. If omitted, the calico-kube-controllers
  13087. Deployment will use its default value for minReadySeconds.
  13088. format: int32
  13089. maximum: 2147483647
  13090. minimum: 0
  13091. type: integer
  13092. template:
  13093. description: Template describes the calico-kube-controllers
  13094. Deployment pod that will be created.
  13095. properties:
  13096. metadata:
  13097. description: Metadata is a subset of a Kubernetes
  13098. object's metadata that is added to the pod's metadata.
  13099. properties:
  13100. annotations:
  13101. additionalProperties:
  13102. type: string
  13103. description: Annotations is a map of arbitrary
  13104. non-identifying metadata. Each of these key/value
  13105. pairs are added to the object's annotations
  13106. provided the key does not already exist in the
  13107. object's annotations.
  13108. type: object
  13109. labels:
  13110. additionalProperties:
  13111. type: string
  13112. description: Labels is a map of string keys and
  13113. values that may match replicaset and service
  13114. selectors. Each of these key/value pairs are
  13115. added to the object's labels provided the key
  13116. does not already exist in the object's labels.
  13117. type: object
  13118. type: object
  13119. spec:
  13120. description: Spec is the calico-kube-controllers Deployment's
  13121. PodSpec.
  13122. properties:
  13123. affinity:
  13124. description: 'Affinity is a group of affinity
  13125. scheduling rules for the calico-kube-controllers
  13126. pods. If specified, this overrides any affinity
  13127. that may be set on the calico-kube-controllers
  13128. Deployment. If omitted, the calico-kube-controllers
  13129. Deployment will use its default value for affinity.
  13130. WARNING: Please note that this field will override
  13131. the default calico-kube-controllers Deployment
  13132. affinity.'
  13133. properties:
  13134. nodeAffinity:
  13135. description: Describes node affinity scheduling
  13136. rules for the pod.
  13137. properties:
  13138. preferredDuringSchedulingIgnoredDuringExecution:
  13139. description: The scheduler will prefer
  13140. to schedule pods to nodes that satisfy
  13141. the affinity expressions specified by
  13142. this field, but it may choose a node
  13143. that violates one or more of the expressions.
  13144. The node that is most preferred is the
  13145. one with the greatest sum of weights,
  13146. i.e. for each node that meets all of
  13147. the scheduling requirements (resource
  13148. request, requiredDuringScheduling affinity
  13149. expressions, etc.), compute a sum by
  13150. iterating through the elements of this
  13151. field and adding "weight" to the sum
  13152. if the node matches the corresponding
  13153. matchExpressions; the node(s) with the
  13154. highest sum are the most preferred.
  13155. items:
  13156. description: An empty preferred scheduling
  13157. term matches all objects with implicit
  13158. weight 0 (i.e. it's a no-op). A null
  13159. preferred scheduling term matches
  13160. no objects (i.e. is also a no-op).
  13161. properties:
  13162. preference:
  13163. description: A node selector term,
  13164. associated with the corresponding
  13165. weight.
  13166. properties:
  13167. matchExpressions:
  13168. description: A list of node
  13169. selector requirements by node's
  13170. labels.
  13171. items:
  13172. description: A node selector
  13173. requirement is a selector
  13174. that contains values, a
  13175. key, and an operator that
  13176. relates the key and values.
  13177. properties:
  13178. key:
  13179. description: The label
  13180. key that the selector
  13181. applies to.
  13182. type: string
  13183. operator:
  13184. description: Represents
  13185. a key's relationship
  13186. to a set of values.
  13187. Valid operators are
  13188. In, NotIn, Exists, DoesNotExist.
  13189. Gt, and Lt.
  13190. type: string
  13191. values:
  13192. description: An array
  13193. of string values. If
  13194. the operator is In or
  13195. NotIn, the values array
  13196. must be non-empty. If
  13197. the operator is Exists
  13198. or DoesNotExist, the
  13199. values array must be
  13200. empty. If the operator
  13201. is Gt or Lt, the values
  13202. array must have a single
  13203. element, which will
  13204. be interpreted as an
  13205. integer. This array
  13206. is replaced during a
  13207. strategic merge patch.
  13208. items:
  13209. type: string
  13210. type: array
  13211. required:
  13212. - key
  13213. - operator
  13214. type: object
  13215. type: array
  13216. matchFields:
  13217. description: A list of node
  13218. selector requirements by node's
  13219. fields.
  13220. items:
  13221. description: A node selector
  13222. requirement is a selector
  13223. that contains values, a
  13224. key, and an operator that
  13225. relates the key and values.
  13226. properties:
  13227. key:
  13228. description: The label
  13229. key that the selector
  13230. applies to.
  13231. type: string
  13232. operator:
  13233. description: Represents
  13234. a key's relationship
  13235. to a set of values.
  13236. Valid operators are
  13237. In, NotIn, Exists, DoesNotExist.
  13238. Gt, and Lt.
  13239. type: string
  13240. values:
  13241. description: An array
  13242. of string values. If
  13243. the operator is In or
  13244. NotIn, the values array
  13245. must be non-empty. If
  13246. the operator is Exists
  13247. or DoesNotExist, the
  13248. values array must be
  13249. empty. If the operator
  13250. is Gt or Lt, the values
  13251. array must have a single
  13252. element, which will
  13253. be interpreted as an
  13254. integer. This array
  13255. is replaced during a
  13256. strategic merge patch.
  13257. items:
  13258. type: string
  13259. type: array
  13260. required:
  13261. - key
  13262. - operator
  13263. type: object
  13264. type: array
  13265. type: object
  13266. x-kubernetes-map-type: atomic
  13267. weight:
  13268. description: Weight associated with
  13269. matching the corresponding nodeSelectorTerm,
  13270. in the range 1-100.
  13271. format: int32
  13272. type: integer
  13273. required:
  13274. - preference
  13275. - weight
  13276. type: object
  13277. type: array
  13278. requiredDuringSchedulingIgnoredDuringExecution:
  13279. description: If the affinity requirements
  13280. specified by this field are not met
  13281. at scheduling time, the pod will not
  13282. be scheduled onto the node. If the affinity
  13283. requirements specified by this field
  13284. cease to be met at some point during
  13285. pod execution (e.g. due to an update),
  13286. the system may or may not try to eventually
  13287. evict the pod from its node.
  13288. properties:
  13289. nodeSelectorTerms:
  13290. description: Required. A list of node
  13291. selector terms. The terms are ORed.
  13292. items:
  13293. description: A null or empty node
  13294. selector term matches no objects.
  13295. The requirements of them are ANDed.
  13296. The TopologySelectorTerm type
  13297. implements a subset of the NodeSelectorTerm.
  13298. properties:
  13299. matchExpressions:
  13300. description: A list of node
  13301. selector requirements by node's
  13302. labels.
  13303. items:
  13304. description: A node selector
  13305. requirement is a selector
  13306. that contains values, a
  13307. key, and an operator that
  13308. relates the key and values.
  13309. properties:
  13310. key:
  13311. description: The label
  13312. key that the selector
  13313. applies to.
  13314. type: string
  13315. operator:
  13316. description: Represents
  13317. a key's relationship
  13318. to a set of values.
  13319. Valid operators are
  13320. In, NotIn, Exists, DoesNotExist.
  13321. Gt, and Lt.
  13322. type: string
  13323. values:
  13324. description: An array
  13325. of string values. If
  13326. the operator is In or
  13327. NotIn, the values array
  13328. must be non-empty. If
  13329. the operator is Exists
  13330. or DoesNotExist, the
  13331. values array must be
  13332. empty. If the operator
  13333. is Gt or Lt, the values
  13334. array must have a single
  13335. element, which will
  13336. be interpreted as an
  13337. integer. This array
  13338. is replaced during a
  13339. strategic merge patch.
  13340. items:
  13341. type: string
  13342. type: array
  13343. required:
  13344. - key
  13345. - operator
  13346. type: object
  13347. type: array
  13348. matchFields:
  13349. description: A list of node
  13350. selector requirements by node's
  13351. fields.
  13352. items:
  13353. description: A node selector
  13354. requirement is a selector
  13355. that contains values, a
  13356. key, and an operator that
  13357. relates the key and values.
  13358. properties:
  13359. key:
  13360. description: The label
  13361. key that the selector
  13362. applies to.
  13363. type: string
  13364. operator:
  13365. description: Represents
  13366. a key's relationship
  13367. to a set of values.
  13368. Valid operators are
  13369. In, NotIn, Exists, DoesNotExist.
  13370. Gt, and Lt.
  13371. type: string
  13372. values:
  13373. description: An array
  13374. of string values. If
  13375. the operator is In or
  13376. NotIn, the values array
  13377. must be non-empty. If
  13378. the operator is Exists
  13379. or DoesNotExist, the
  13380. values array must be
  13381. empty. If the operator
  13382. is Gt or Lt, the values
  13383. array must have a single
  13384. element, which will
  13385. be interpreted as an
  13386. integer. This array
  13387. is replaced during a
  13388. strategic merge patch.
  13389. items:
  13390. type: string
  13391. type: array
  13392. required:
  13393. - key
  13394. - operator
  13395. type: object
  13396. type: array
  13397. type: object
  13398. x-kubernetes-map-type: atomic
  13399. type: array
  13400. required:
  13401. - nodeSelectorTerms
  13402. type: object
  13403. x-kubernetes-map-type: atomic
  13404. type: object
  13405. podAffinity:
  13406. description: Describes pod affinity scheduling
  13407. rules (e.g. co-locate this pod in the same
  13408. node, zone, etc. as some other pod(s)).
  13409. properties:
  13410. preferredDuringSchedulingIgnoredDuringExecution:
  13411. description: The scheduler will prefer
  13412. to schedule pods to nodes that satisfy
  13413. the affinity expressions specified by
  13414. this field, but it may choose a node
  13415. that violates one or more of the expressions.
  13416. The node that is most preferred is the
  13417. one with the greatest sum of weights,
  13418. i.e. for each node that meets all of
  13419. the scheduling requirements (resource
  13420. request, requiredDuringScheduling affinity
  13421. expressions, etc.), compute a sum by
  13422. iterating through the elements of this
  13423. field and adding "weight" to the sum
  13424. if the node has pods which matches the
  13425. corresponding podAffinityTerm; the node(s)
  13426. with the highest sum are the most preferred.
  13427. items:
  13428. description: The weights of all of the
  13429. matched WeightedPodAffinityTerm fields
  13430. are added per-node to find the most
  13431. preferred node(s)
  13432. properties:
  13433. podAffinityTerm:
  13434. description: Required. A pod affinity
  13435. term, associated with the corresponding
  13436. weight.
  13437. properties:
  13438. labelSelector:
  13439. description: A label query over
  13440. a set of resources, in this
  13441. case pods.
  13442. properties:
  13443. matchExpressions:
  13444. description: matchExpressions
  13445. is a list of label selector
  13446. requirements. The requirements
  13447. are ANDed.
  13448. items:
  13449. description: A label selector
  13450. requirement is a selector
  13451. that contains values,
  13452. a key, and an operator
  13453. that relates the key
  13454. and values.
  13455. properties:
  13456. key:
  13457. description: key is
  13458. the label key that
  13459. the selector applies
  13460. to.
  13461. type: string
  13462. operator:
  13463. description: operator
  13464. represents a key's
  13465. relationship to
  13466. a set of values.
  13467. Valid operators
  13468. are In, NotIn, Exists
  13469. and DoesNotExist.
  13470. type: string
  13471. values:
  13472. description: values
  13473. is an array of string
  13474. values. If the operator
  13475. is In or NotIn,
  13476. the values array
  13477. must be non-empty.
  13478. If the operator
  13479. is Exists or DoesNotExist,
  13480. the values array
  13481. must be empty. This
  13482. array is replaced
  13483. during a strategic
  13484. merge patch.
  13485. items:
  13486. type: string
  13487. type: array
  13488. required:
  13489. - key
  13490. - operator
  13491. type: object
  13492. type: array
  13493. matchLabels:
  13494. additionalProperties:
  13495. type: string
  13496. description: matchLabels
  13497. is a map of {key,value}
  13498. pairs. A single {key,value}
  13499. in the matchLabels map
  13500. is equivalent to an element
  13501. of matchExpressions, whose
  13502. key field is "key", the
  13503. operator is "In", and
  13504. the values array contains
  13505. only "value". The requirements
  13506. are ANDed.
  13507. type: object
  13508. type: object
  13509. x-kubernetes-map-type: atomic
  13510. namespaceSelector:
  13511. description: A label query over
  13512. the set of namespaces that
  13513. the term applies to. The term
  13514. is applied to the union of
  13515. the namespaces selected by
  13516. this field and the ones listed
  13517. in the namespaces field. null
  13518. selector and null or empty
  13519. namespaces list means "this
  13520. pod's namespace". An empty
  13521. selector ({}) matches all
  13522. namespaces.
  13523. properties:
  13524. matchExpressions:
  13525. description: matchExpressions
  13526. is a list of label selector
  13527. requirements. The requirements
  13528. are ANDed.
  13529. items:
  13530. description: A label selector
  13531. requirement is a selector
  13532. that contains values,
  13533. a key, and an operator
  13534. that relates the key
  13535. and values.
  13536. properties:
  13537. key:
  13538. description: key is
  13539. the label key that
  13540. the selector applies
  13541. to.
  13542. type: string
  13543. operator:
  13544. description: operator
  13545. represents a key's
  13546. relationship to
  13547. a set of values.
  13548. Valid operators
  13549. are In, NotIn, Exists
  13550. and DoesNotExist.
  13551. type: string
  13552. values:
  13553. description: values
  13554. is an array of string
  13555. values. If the operator
  13556. is In or NotIn,
  13557. the values array
  13558. must be non-empty.
  13559. If the operator
  13560. is Exists or DoesNotExist,
  13561. the values array
  13562. must be empty. This
  13563. array is replaced
  13564. during a strategic
  13565. merge patch.
  13566. items:
  13567. type: string
  13568. type: array
  13569. required:
  13570. - key
  13571. - operator
  13572. type: object
  13573. type: array
  13574. matchLabels:
  13575. additionalProperties:
  13576. type: string
  13577. description: matchLabels
  13578. is a map of {key,value}
  13579. pairs. A single {key,value}
  13580. in the matchLabels map
  13581. is equivalent to an element
  13582. of matchExpressions, whose
  13583. key field is "key", the
  13584. operator is "In", and
  13585. the values array contains
  13586. only "value". The requirements
  13587. are ANDed.
  13588. type: object
  13589. type: object
  13590. x-kubernetes-map-type: atomic
  13591. namespaces:
  13592. description: namespaces specifies
  13593. a static list of namespace
  13594. names that the term applies
  13595. to. The term is applied to
  13596. the union of the namespaces
  13597. listed in this field and the
  13598. ones selected by namespaceSelector.
  13599. null or empty namespaces list
  13600. and null namespaceSelector
  13601. means "this pod's namespace".
  13602. items:
  13603. type: string
  13604. type: array
  13605. topologyKey:
  13606. description: This pod should
  13607. be co-located (affinity) or
  13608. not co-located (anti-affinity)
  13609. with the pods matching the
  13610. labelSelector in the specified
  13611. namespaces, where co-located
  13612. is defined as running on a
  13613. node whose value of the label
  13614. with key topologyKey matches
  13615. that of any node on which
  13616. any of the selected pods is
  13617. running. Empty topologyKey
  13618. is not allowed.
  13619. type: string
  13620. required:
  13621. - topologyKey
  13622. type: object
  13623. weight:
  13624. description: weight associated with
  13625. matching the corresponding podAffinityTerm,
  13626. in the range 1-100.
  13627. format: int32
  13628. type: integer
  13629. required:
  13630. - podAffinityTerm
  13631. - weight
  13632. type: object
  13633. type: array
  13634. requiredDuringSchedulingIgnoredDuringExecution:
  13635. description: If the affinity requirements
  13636. specified by this field are not met
  13637. at scheduling time, the pod will not
  13638. be scheduled onto the node. If the affinity
  13639. requirements specified by this field
  13640. cease to be met at some point during
  13641. pod execution (e.g. due to a pod label
  13642. update), the system may or may not try
  13643. to eventually evict the pod from its
  13644. node. When there are multiple elements,
  13645. the lists of nodes corresponding to
  13646. each podAffinityTerm are intersected,
  13647. i.e. all terms must be satisfied.
  13648. items:
  13649. description: Defines a set of pods (namely
  13650. those matching the labelSelector relative
  13651. to the given namespace(s)) that this
  13652. pod should be co-located (affinity)
  13653. or not co-located (anti-affinity)
  13654. with, where co-located is defined
  13655. as running on a node whose value of
  13656. the label with key <topologyKey> matches
  13657. that of any node on which a pod of
  13658. the set of pods is running
  13659. properties:
  13660. labelSelector:
  13661. description: A label query over
  13662. a set of resources, in this case
  13663. pods.
  13664. properties:
  13665. matchExpressions:
  13666. description: matchExpressions
  13667. is a list of label selector
  13668. requirements. The requirements
  13669. are ANDed.
  13670. items:
  13671. description: A label selector
  13672. requirement is a selector
  13673. that contains values, a
  13674. key, and an operator that
  13675. relates the key and values.
  13676. properties:
  13677. key:
  13678. description: key is the
  13679. label key that the selector
  13680. applies to.
  13681. type: string
  13682. operator:
  13683. description: operator
  13684. represents a key's relationship
  13685. to a set of values.
  13686. Valid operators are
  13687. In, NotIn, Exists and
  13688. DoesNotExist.
  13689. type: string
  13690. values:
  13691. description: values is
  13692. an array of string values.
  13693. If the operator is In
  13694. or NotIn, the values
  13695. array must be non-empty.
  13696. If the operator is Exists
  13697. or DoesNotExist, the
  13698. values array must be
  13699. empty. This array is
  13700. replaced during a strategic
  13701. merge patch.
  13702. items:
  13703. type: string
  13704. type: array
  13705. required:
  13706. - key
  13707. - operator
  13708. type: object
  13709. type: array
  13710. matchLabels:
  13711. additionalProperties:
  13712. type: string
  13713. description: matchLabels is
  13714. a map of {key,value} pairs.
  13715. A single {key,value} in the
  13716. matchLabels map is equivalent
  13717. to an element of matchExpressions,
  13718. whose key field is "key",
  13719. the operator is "In", and
  13720. the values array contains
  13721. only "value". The requirements
  13722. are ANDed.
  13723. type: object
  13724. type: object
  13725. x-kubernetes-map-type: atomic
  13726. namespaceSelector:
  13727. description: A label query over
  13728. the set of namespaces that the
  13729. term applies to. The term is applied
  13730. to the union of the namespaces
  13731. selected by this field and the
  13732. ones listed in the namespaces
  13733. field. null selector and null
  13734. or empty namespaces list means
  13735. "this pod's namespace". An empty
  13736. selector ({}) matches all namespaces.
  13737. properties:
  13738. matchExpressions:
  13739. description: matchExpressions
  13740. is a list of label selector
  13741. requirements. The requirements
  13742. are ANDed.
  13743. items:
  13744. description: A label selector
  13745. requirement is a selector
  13746. that contains values, a
  13747. key, and an operator that
  13748. relates the key and values.
  13749. properties:
  13750. key:
  13751. description: key is the
  13752. label key that the selector
  13753. applies to.
  13754. type: string
  13755. operator:
  13756. description: operator
  13757. represents a key's relationship
  13758. to a set of values.
  13759. Valid operators are
  13760. In, NotIn, Exists and
  13761. DoesNotExist.
  13762. type: string
  13763. values:
  13764. description: values is
  13765. an array of string values.
  13766. If the operator is In
  13767. or NotIn, the values
  13768. array must be non-empty.
  13769. If the operator is Exists
  13770. or DoesNotExist, the
  13771. values array must be
  13772. empty. This array is
  13773. replaced during a strategic
  13774. merge patch.
  13775. items:
  13776. type: string
  13777. type: array
  13778. required:
  13779. - key
  13780. - operator
  13781. type: object
  13782. type: array
  13783. matchLabels:
  13784. additionalProperties:
  13785. type: string
  13786. description: matchLabels is
  13787. a map of {key,value} pairs.
  13788. A single {key,value} in the
  13789. matchLabels map is equivalent
  13790. to an element of matchExpressions,
  13791. whose key field is "key",
  13792. the operator is "In", and
  13793. the values array contains
  13794. only "value". The requirements
  13795. are ANDed.
  13796. type: object
  13797. type: object
  13798. x-kubernetes-map-type: atomic
  13799. namespaces:
  13800. description: namespaces specifies
  13801. a static list of namespace names
  13802. that the term applies to. The
  13803. term is applied to the union of
  13804. the namespaces listed in this
  13805. field and the ones selected by
  13806. namespaceSelector. null or empty
  13807. namespaces list and null namespaceSelector
  13808. means "this pod's namespace".
  13809. items:
  13810. type: string
  13811. type: array
  13812. topologyKey:
  13813. description: This pod should be
  13814. co-located (affinity) or not co-located
  13815. (anti-affinity) with the pods
  13816. matching the labelSelector in
  13817. the specified namespaces, where
  13818. co-located is defined as running
  13819. on a node whose value of the label
  13820. with key topologyKey matches that
  13821. of any node on which any of the
  13822. selected pods is running. Empty
  13823. topologyKey is not allowed.
  13824. type: string
  13825. required:
  13826. - topologyKey
  13827. type: object
  13828. type: array
  13829. type: object
  13830. podAntiAffinity:
  13831. description: Describes pod anti-affinity scheduling
  13832. rules (e.g. avoid putting this pod in the
  13833. same node, zone, etc. as some other pod(s)).
  13834. properties:
  13835. preferredDuringSchedulingIgnoredDuringExecution:
  13836. description: The scheduler will prefer
  13837. to schedule pods to nodes that satisfy
  13838. the anti-affinity expressions specified
  13839. by this field, but it may choose a node
  13840. that violates one or more of the expressions.
  13841. The node that is most preferred is the
  13842. one with the greatest sum of weights,
  13843. i.e. for each node that meets all of
  13844. the scheduling requirements (resource
  13845. request, requiredDuringScheduling anti-affinity
  13846. expressions, etc.), compute a sum by
  13847. iterating through the elements of this
  13848. field and adding "weight" to the sum
  13849. if the node has pods which matches the
  13850. corresponding podAffinityTerm; the node(s)
  13851. with the highest sum are the most preferred.
  13852. items:
  13853. description: The weights of all of the
  13854. matched WeightedPodAffinityTerm fields
  13855. are added per-node to find the most
  13856. preferred node(s)
  13857. properties:
  13858. podAffinityTerm:
  13859. description: Required. A pod affinity
  13860. term, associated with the corresponding
  13861. weight.
  13862. properties:
  13863. labelSelector:
  13864. description: A label query over
  13865. a set of resources, in this
  13866. case pods.
  13867. properties:
  13868. matchExpressions:
  13869. description: matchExpressions
  13870. is a list of label selector
  13871. requirements. The requirements
  13872. are ANDed.
  13873. items:
  13874. description: A label selector
  13875. requirement is a selector
  13876. that contains values,
  13877. a key, and an operator
  13878. that relates the key
  13879. and values.
  13880. properties:
  13881. key:
  13882. description: key is
  13883. the label key that
  13884. the selector applies
  13885. to.
  13886. type: string
  13887. operator:
  13888. description: operator
  13889. represents a key's
  13890. relationship to
  13891. a set of values.
  13892. Valid operators
  13893. are In, NotIn, Exists
  13894. and DoesNotExist.
  13895. type: string
  13896. values:
  13897. description: values
  13898. is an array of string
  13899. values. If the operator
  13900. is In or NotIn,
  13901. the values array
  13902. must be non-empty.
  13903. If the operator
  13904. is Exists or DoesNotExist,
  13905. the values array
  13906. must be empty. This
  13907. array is replaced
  13908. during a strategic
  13909. merge patch.
  13910. items:
  13911. type: string
  13912. type: array
  13913. required:
  13914. - key
  13915. - operator
  13916. type: object
  13917. type: array
  13918. matchLabels:
  13919. additionalProperties:
  13920. type: string
  13921. description: matchLabels
  13922. is a map of {key,value}
  13923. pairs. A single {key,value}
  13924. in the matchLabels map
  13925. is equivalent to an element
  13926. of matchExpressions, whose
  13927. key field is "key", the
  13928. operator is "In", and
  13929. the values array contains
  13930. only "value". The requirements
  13931. are ANDed.
  13932. type: object
  13933. type: object
  13934. x-kubernetes-map-type: atomic
  13935. namespaceSelector:
  13936. description: A label query over
  13937. the set of namespaces that
  13938. the term applies to. The term
  13939. is applied to the union of
  13940. the namespaces selected by
  13941. this field and the ones listed
  13942. in the namespaces field. null
  13943. selector and null or empty
  13944. namespaces list means "this
  13945. pod's namespace". An empty
  13946. selector ({}) matches all
  13947. namespaces.
  13948. properties:
  13949. matchExpressions:
  13950. description: matchExpressions
  13951. is a list of label selector
  13952. requirements. The requirements
  13953. are ANDed.
  13954. items:
  13955. description: A label selector
  13956. requirement is a selector
  13957. that contains values,
  13958. a key, and an operator
  13959. that relates the key
  13960. and values.
  13961. properties:
  13962. key:
  13963. description: key is
  13964. the label key that
  13965. the selector applies
  13966. to.
  13967. type: string
  13968. operator:
  13969. description: operator
  13970. represents a key's
  13971. relationship to
  13972. a set of values.
  13973. Valid operators
  13974. are In, NotIn, Exists
  13975. and DoesNotExist.
  13976. type: string
  13977. values:
  13978. description: values
  13979. is an array of string
  13980. values. If the operator
  13981. is In or NotIn,
  13982. the values array
  13983. must be non-empty.
  13984. If the operator
  13985. is Exists or DoesNotExist,
  13986. the values array
  13987. must be empty. This
  13988. array is replaced
  13989. during a strategic
  13990. merge patch.
  13991. items:
  13992. type: string
  13993. type: array
  13994. required:
  13995. - key
  13996. - operator
  13997. type: object
  13998. type: array
  13999. matchLabels:
  14000. additionalProperties:
  14001. type: string
  14002. description: matchLabels
  14003. is a map of {key,value}
  14004. pairs. A single {key,value}
  14005. in the matchLabels map
  14006. is equivalent to an element
  14007. of matchExpressions, whose
  14008. key field is "key", the
  14009. operator is "In", and
  14010. the values array contains
  14011. only "value". The requirements
  14012. are ANDed.
  14013. type: object
  14014. type: object
  14015. x-kubernetes-map-type: atomic
  14016. namespaces:
  14017. description: namespaces specifies
  14018. a static list of namespace
  14019. names that the term applies
  14020. to. The term is applied to
  14021. the union of the namespaces
  14022. listed in this field and the
  14023. ones selected by namespaceSelector.
  14024. null or empty namespaces list
  14025. and null namespaceSelector
  14026. means "this pod's namespace".
  14027. items:
  14028. type: string
  14029. type: array
  14030. topologyKey:
  14031. description: This pod should
  14032. be co-located (affinity) or
  14033. not co-located (anti-affinity)
  14034. with the pods matching the
  14035. labelSelector in the specified
  14036. namespaces, where co-located
  14037. is defined as running on a
  14038. node whose value of the label
  14039. with key topologyKey matches
  14040. that of any node on which
  14041. any of the selected pods is
  14042. running. Empty topologyKey
  14043. is not allowed.
  14044. type: string
  14045. required:
  14046. - topologyKey
  14047. type: object
  14048. weight:
  14049. description: weight associated with
  14050. matching the corresponding podAffinityTerm,
  14051. in the range 1-100.
  14052. format: int32
  14053. type: integer
  14054. required:
  14055. - podAffinityTerm
  14056. - weight
  14057. type: object
  14058. type: array
  14059. requiredDuringSchedulingIgnoredDuringExecution:
  14060. description: If the anti-affinity requirements
  14061. specified by this field are not met
  14062. at scheduling time, the pod will not
  14063. be scheduled onto the node. If the anti-affinity
  14064. requirements specified by this field
  14065. cease to be met at some point during
  14066. pod execution (e.g. due to a pod label
  14067. update), the system may or may not try
  14068. to eventually evict the pod from its
  14069. node. When there are multiple elements,
  14070. the lists of nodes corresponding to
  14071. each podAffinityTerm are intersected,
  14072. i.e. all terms must be satisfied.
  14073. items:
  14074. description: Defines a set of pods (namely
  14075. those matching the labelSelector relative
  14076. to the given namespace(s)) that this
  14077. pod should be co-located (affinity)
  14078. or not co-located (anti-affinity)
  14079. with, where co-located is defined
  14080. as running on a node whose value of
  14081. the label with key <topologyKey> matches
  14082. that of any node on which a pod of
  14083. the set of pods is running
  14084. properties:
  14085. labelSelector:
  14086. description: A label query over
  14087. a set of resources, in this case
  14088. pods.
  14089. properties:
  14090. matchExpressions:
  14091. description: matchExpressions
  14092. is a list of label selector
  14093. requirements. The requirements
  14094. are ANDed.
  14095. items:
  14096. description: A label selector
  14097. requirement is a selector
  14098. that contains values, a
  14099. key, and an operator that
  14100. relates the key and values.
  14101. properties:
  14102. key:
  14103. description: key is the
  14104. label key that the selector
  14105. applies to.
  14106. type: string
  14107. operator:
  14108. description: operator
  14109. represents a key's relationship
  14110. to a set of values.
  14111. Valid operators are
  14112. In, NotIn, Exists and
  14113. DoesNotExist.
  14114. type: string
  14115. values:
  14116. description: values is
  14117. an array of string values.
  14118. If the operator is In
  14119. or NotIn, the values
  14120. array must be non-empty.
  14121. If the operator is Exists
  14122. or DoesNotExist, the
  14123. values array must be
  14124. empty. This array is
  14125. replaced during a strategic
  14126. merge patch.
  14127. items:
  14128. type: string
  14129. type: array
  14130. required:
  14131. - key
  14132. - operator
  14133. type: object
  14134. type: array
  14135. matchLabels:
  14136. additionalProperties:
  14137. type: string
  14138. description: matchLabels is
  14139. a map of {key,value} pairs.
  14140. A single {key,value} in the
  14141. matchLabels map is equivalent
  14142. to an element of matchExpressions,
  14143. whose key field is "key",
  14144. the operator is "In", and
  14145. the values array contains
  14146. only "value". The requirements
  14147. are ANDed.
  14148. type: object
  14149. type: object
  14150. x-kubernetes-map-type: atomic
  14151. namespaceSelector:
  14152. description: A label query over
  14153. the set of namespaces that the
  14154. term applies to. The term is applied
  14155. to the union of the namespaces
  14156. selected by this field and the
  14157. ones listed in the namespaces
  14158. field. null selector and null
  14159. or empty namespaces list means
  14160. "this pod's namespace". An empty
  14161. selector ({}) matches all namespaces.
  14162. properties:
  14163. matchExpressions:
  14164. description: matchExpressions
  14165. is a list of label selector
  14166. requirements. The requirements
  14167. are ANDed.
  14168. items:
  14169. description: A label selector
  14170. requirement is a selector
  14171. that contains values, a
  14172. key, and an operator that
  14173. relates the key and values.
  14174. properties:
  14175. key:
  14176. description: key is the
  14177. label key that the selector
  14178. applies to.
  14179. type: string
  14180. operator:
  14181. description: operator
  14182. represents a key's relationship
  14183. to a set of values.
  14184. Valid operators are
  14185. In, NotIn, Exists and
  14186. DoesNotExist.
  14187. type: string
  14188. values:
  14189. description: values is
  14190. an array of string values.
  14191. If the operator is In
  14192. or NotIn, the values
  14193. array must be non-empty.
  14194. If the operator is Exists
  14195. or DoesNotExist, the
  14196. values array must be
  14197. empty. This array is
  14198. replaced during a strategic
  14199. merge patch.
  14200. items:
  14201. type: string
  14202. type: array
  14203. required:
  14204. - key
  14205. - operator
  14206. type: object
  14207. type: array
  14208. matchLabels:
  14209. additionalProperties:
  14210. type: string
  14211. description: matchLabels is
  14212. a map of {key,value} pairs.
  14213. A single {key,value} in the
  14214. matchLabels map is equivalent
  14215. to an element of matchExpressions,
  14216. whose key field is "key",
  14217. the operator is "In", and
  14218. the values array contains
  14219. only "value". The requirements
  14220. are ANDed.
  14221. type: object
  14222. type: object
  14223. x-kubernetes-map-type: atomic
  14224. namespaces:
  14225. description: namespaces specifies
  14226. a static list of namespace names
  14227. that the term applies to. The
  14228. term is applied to the union of
  14229. the namespaces listed in this
  14230. field and the ones selected by
  14231. namespaceSelector. null or empty
  14232. namespaces list and null namespaceSelector
  14233. means "this pod's namespace".
  14234. items:
  14235. type: string
  14236. type: array
  14237. topologyKey:
  14238. description: This pod should be
  14239. co-located (affinity) or not co-located
  14240. (anti-affinity) with the pods
  14241. matching the labelSelector in
  14242. the specified namespaces, where
  14243. co-located is defined as running
  14244. on a node whose value of the label
  14245. with key topologyKey matches that
  14246. of any node on which any of the
  14247. selected pods is running. Empty
  14248. topologyKey is not allowed.
  14249. type: string
  14250. required:
  14251. - topologyKey
  14252. type: object
  14253. type: array
  14254. type: object
  14255. type: object
  14256. containers:
  14257. description: Containers is a list of calico-kube-controllers
  14258. containers. If specified, this overrides the
  14259. specified calico-kube-controllers Deployment
  14260. containers. If omitted, the calico-kube-controllers
  14261. Deployment will use its default values for its
  14262. containers.
  14263. items:
  14264. description: CalicoKubeControllersDeploymentContainer
  14265. is a calico-kube-controllers Deployment container.
  14266. properties:
  14267. name:
  14268. description: Name is an enum which identifies
  14269. the calico-kube-controllers Deployment
  14270. container by name.
  14271. enum:
  14272. - calico-kube-controllers
  14273. type: string
  14274. resources:
  14275. description: Resources allows customization
  14276. of limits and requests for compute resources
  14277. such as cpu and memory. If specified,
  14278. this overrides the named calico-kube-controllers
  14279. Deployment container's resources. If omitted,
  14280. the calico-kube-controllers Deployment
  14281. will use its default value for this container's
  14282. resources. If used in conjunction with
  14283. the deprecated ComponentResources, then
  14284. this value takes precedence.
  14285. properties:
  14286. limits:
  14287. additionalProperties:
  14288. anyOf:
  14289. - type: integer
  14290. - type: string
  14291. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  14292. x-kubernetes-int-or-string: true
  14293. description: 'Limits describes the maximum
  14294. amount of compute resources allowed.
  14295. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  14296. type: object
  14297. requests:
  14298. additionalProperties:
  14299. anyOf:
  14300. - type: integer
  14301. - type: string
  14302. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  14303. x-kubernetes-int-or-string: true
  14304. description: 'Requests describes the
  14305. minimum amount of compute resources
  14306. required. If Requests is omitted for
  14307. a container, it defaults to Limits
  14308. if that is explicitly specified, otherwise
  14309. to an implementation-defined value.
  14310. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  14311. type: object
  14312. type: object
  14313. required:
  14314. - name
  14315. type: object
  14316. type: array
  14317. nodeSelector:
  14318. additionalProperties:
  14319. type: string
  14320. description: 'NodeSelector is the calico-kube-controllers
  14321. pod''s scheduling constraints. If specified,
  14322. each of the key/value pairs are added to the
  14323. calico-kube-controllers Deployment nodeSelector
  14324. provided the key does not already exist in the
  14325. object''s nodeSelector. If used in conjunction
  14326. with ControlPlaneNodeSelector, that nodeSelector
  14327. is set on the calico-kube-controllers Deployment
  14328. and each of this field''s key/value pairs are
  14329. added to the calico-kube-controllers Deployment
  14330. nodeSelector provided the key does not already
  14331. exist in the object''s nodeSelector. If omitted,
  14332. the calico-kube-controllers Deployment will
  14333. use its default value for nodeSelector. WARNING:
  14334. Please note that this field will modify the
  14335. default calico-kube-controllers Deployment nodeSelector.'
  14336. type: object
  14337. tolerations:
  14338. description: 'Tolerations is the calico-kube-controllers
  14339. pod''s tolerations. If specified, this overrides
  14340. any tolerations that may be set on the calico-kube-controllers
  14341. Deployment. If omitted, the calico-kube-controllers
  14342. Deployment will use its default value for tolerations.
  14343. WARNING: Please note that this field will override
  14344. the default calico-kube-controllers Deployment
  14345. tolerations.'
  14346. items:
  14347. description: The pod this Toleration is attached
  14348. to tolerates any taint that matches the triple
  14349. <key,value,effect> using the matching operator
  14350. <operator>.
  14351. properties:
  14352. effect:
  14353. description: Effect indicates the taint
  14354. effect to match. Empty means match all
  14355. taint effects. When specified, allowed
  14356. values are NoSchedule, PreferNoSchedule
  14357. and NoExecute.
  14358. type: string
  14359. key:
  14360. description: Key is the taint key that the
  14361. toleration applies to. Empty means match
  14362. all taint keys. If the key is empty, operator
  14363. must be Exists; this combination means
  14364. to match all values and all keys.
  14365. type: string
  14366. operator:
  14367. description: Operator represents a key's
  14368. relationship to the value. Valid operators
  14369. are Exists and Equal. Defaults to Equal.
  14370. Exists is equivalent to wildcard for value,
  14371. so that a pod can tolerate all taints
  14372. of a particular category.
  14373. type: string
  14374. tolerationSeconds:
  14375. description: TolerationSeconds represents
  14376. the period of time the toleration (which
  14377. must be of effect NoExecute, otherwise
  14378. this field is ignored) tolerates the taint.
  14379. By default, it is not set, which means
  14380. tolerate the taint forever (do not evict).
  14381. Zero and negative values will be treated
  14382. as 0 (evict immediately) by the system.
  14383. format: int64
  14384. type: integer
  14385. value:
  14386. description: Value is the taint value the
  14387. toleration matches to. If the operator
  14388. is Exists, the value should be empty,
  14389. otherwise just a regular string.
  14390. type: string
  14391. type: object
  14392. type: array
  14393. type: object
  14394. type: object
  14395. type: object
  14396. type: object
  14397. calicoNetwork:
  14398. description: CalicoNetwork specifies networking configuration
  14399. options for Calico.
  14400. properties:
  14401. bgp:
  14402. description: BGP configures whether or not to enable Calico's
  14403. BGP capabilities.
  14404. enum:
  14405. - Enabled
  14406. - Disabled
  14407. type: string
  14408. containerIPForwarding:
  14409. description: 'ContainerIPForwarding configures whether ip
  14410. forwarding will be enabled for containers in the CNI configuration.
  14411. Default: Disabled'
  14412. enum:
  14413. - Enabled
  14414. - Disabled
  14415. type: string
  14416. hostPorts:
  14417. description: 'HostPorts configures whether or not Calico will
  14418. support Kubernetes HostPorts. Valid only when using the
  14419. Calico CNI plugin. Default: Enabled'
  14420. enum:
  14421. - Enabled
  14422. - Disabled
  14423. type: string
  14424. ipPools:
  14425. description: IPPools contains a list of IP pools to create
  14426. if none exist. At most one IP pool of each address family
  14427. may be specified. If omitted, a single pool will be configured
  14428. if needed.
  14429. items:
  14430. properties:
  14431. blockSize:
  14432. description: 'BlockSize specifies the CIDR prefex length
  14433. to use when allocating per-node IP blocks from the
  14434. main IP pool CIDR. Default: 26 (IPv4), 122 (IPv6)'
  14435. format: int32
  14436. type: integer
  14437. cidr:
  14438. description: CIDR contains the address range for the
  14439. IP Pool in classless inter-domain routing format.
  14440. type: string
  14441. disableBGPExport:
  14442. default: false
  14443. description: 'DisableBGPExport specifies whether routes
  14444. from this IP pool''s CIDR are exported over BGP. Default:
  14445. false'
  14446. type: boolean
  14447. encapsulation:
  14448. description: 'Encapsulation specifies the encapsulation
  14449. type that will be used with the IP Pool. Default:
  14450. IPIP'
  14451. enum:
  14452. - IPIPCrossSubnet
  14453. - IPIP
  14454. - VXLAN
  14455. - VXLANCrossSubnet
  14456. - None
  14457. type: string
  14458. natOutgoing:
  14459. description: 'NATOutgoing specifies if NAT will be enabled
  14460. or disabled for outgoing traffic. Default: Enabled'
  14461. enum:
  14462. - Enabled
  14463. - Disabled
  14464. type: string
  14465. nodeSelector:
  14466. description: 'NodeSelector specifies the node selector
  14467. that will be set for the IP Pool. Default: ''all()'''
  14468. type: string
  14469. required:
  14470. - cidr
  14471. type: object
  14472. type: array
  14473. linuxDataplane:
  14474. description: 'LinuxDataplane is used to select the dataplane
  14475. used for Linux nodes. In particular, it causes the operator
  14476. to add required mounts and environment variables for the
  14477. particular dataplane. If not specified, iptables mode is
  14478. used. Default: Iptables'
  14479. enum:
  14480. - Iptables
  14481. - BPF
  14482. - VPP
  14483. type: string
  14484. mtu:
  14485. description: MTU specifies the maximum transmission unit to
  14486. use on the pod network. If not specified, Calico will perform
  14487. MTU auto-detection based on the cluster network.
  14488. format: int32
  14489. type: integer
  14490. multiInterfaceMode:
  14491. description: 'MultiInterfaceMode configures what will configure
  14492. multiple interface per pod. Only valid for Calico Enterprise
  14493. installations using the Calico CNI plugin. Default: None'
  14494. enum:
  14495. - None
  14496. - Multus
  14497. type: string
  14498. nodeAddressAutodetectionV4:
  14499. description: NodeAddressAutodetectionV4 specifies an approach
  14500. to automatically detect node IPv4 addresses. If not specified,
  14501. will use default auto-detection settings to acquire an IPv4
  14502. address for each node.
  14503. properties:
  14504. canReach:
  14505. description: CanReach enables IP auto-detection based
  14506. on which source address on the node is used to reach
  14507. the specified IP or domain.
  14508. type: string
  14509. cidrs:
  14510. description: CIDRS enables IP auto-detection based on
  14511. which addresses on the nodes are within one of the provided
  14512. CIDRs.
  14513. items:
  14514. type: string
  14515. type: array
  14516. firstFound:
  14517. description: FirstFound uses default interface matching
  14518. parameters to select an interface, performing best-effort
  14519. filtering based on well-known interface names.
  14520. type: boolean
  14521. interface:
  14522. description: Interface enables IP auto-detection based
  14523. on interfaces that match the given regex.
  14524. type: string
  14525. kubernetes:
  14526. description: Kubernetes configures Calico to detect node
  14527. addresses based on the Kubernetes API.
  14528. enum:
  14529. - NodeInternalIP
  14530. type: string
  14531. skipInterface:
  14532. description: SkipInterface enables IP auto-detection based
  14533. on interfaces that do not match the given regex.
  14534. type: string
  14535. type: object
  14536. nodeAddressAutodetectionV6:
  14537. description: NodeAddressAutodetectionV6 specifies an approach
  14538. to automatically detect node IPv6 addresses. If not specified,
  14539. IPv6 addresses will not be auto-detected.
  14540. properties:
  14541. canReach:
  14542. description: CanReach enables IP auto-detection based
  14543. on which source address on the node is used to reach
  14544. the specified IP or domain.
  14545. type: string
  14546. cidrs:
  14547. description: CIDRS enables IP auto-detection based on
  14548. which addresses on the nodes are within one of the provided
  14549. CIDRs.
  14550. items:
  14551. type: string
  14552. type: array
  14553. firstFound:
  14554. description: FirstFound uses default interface matching
  14555. parameters to select an interface, performing best-effort
  14556. filtering based on well-known interface names.
  14557. type: boolean
  14558. interface:
  14559. description: Interface enables IP auto-detection based
  14560. on interfaces that match the given regex.
  14561. type: string
  14562. kubernetes:
  14563. description: Kubernetes configures Calico to detect node
  14564. addresses based on the Kubernetes API.
  14565. enum:
  14566. - NodeInternalIP
  14567. type: string
  14568. skipInterface:
  14569. description: SkipInterface enables IP auto-detection based
  14570. on interfaces that do not match the given regex.
  14571. type: string
  14572. type: object
  14573. type: object
  14574. calicoNodeDaemonSet:
  14575. description: CalicoNodeDaemonSet configures the calico-node DaemonSet.
  14576. If used in conjunction with the deprecated ComponentResources,
  14577. then these overrides take precedence.
  14578. properties:
  14579. metadata:
  14580. description: Metadata is a subset of a Kubernetes object's
  14581. metadata that is added to the DaemonSet.
  14582. properties:
  14583. annotations:
  14584. additionalProperties:
  14585. type: string
  14586. description: Annotations is a map of arbitrary non-identifying
  14587. metadata. Each of these key/value pairs are added to
  14588. the object's annotations provided the key does not already
  14589. exist in the object's annotations.
  14590. type: object
  14591. labels:
  14592. additionalProperties:
  14593. type: string
  14594. description: Labels is a map of string keys and values
  14595. that may match replicaset and service selectors. Each
  14596. of these key/value pairs are added to the object's labels
  14597. provided the key does not already exist in the object's
  14598. labels.
  14599. type: object
  14600. type: object
  14601. spec:
  14602. description: Spec is the specification of the calico-node
  14603. DaemonSet.
  14604. properties:
  14605. minReadySeconds:
  14606. description: MinReadySeconds is the minimum number of
  14607. seconds for which a newly created DaemonSet pod should
  14608. be ready without any of its container crashing, for
  14609. it to be considered available. If specified, this overrides
  14610. any minReadySeconds value that may be set on the calico-node
  14611. DaemonSet. If omitted, the calico-node DaemonSet will
  14612. use its default value for minReadySeconds.
  14613. format: int32
  14614. maximum: 2147483647
  14615. minimum: 0
  14616. type: integer
  14617. template:
  14618. description: Template describes the calico-node DaemonSet
  14619. pod that will be created.
  14620. properties:
  14621. metadata:
  14622. description: Metadata is a subset of a Kubernetes
  14623. object's metadata that is added to the pod's metadata.
  14624. properties:
  14625. annotations:
  14626. additionalProperties:
  14627. type: string
  14628. description: Annotations is a map of arbitrary
  14629. non-identifying metadata. Each of these key/value
  14630. pairs are added to the object's annotations
  14631. provided the key does not already exist in the
  14632. object's annotations.
  14633. type: object
  14634. labels:
  14635. additionalProperties:
  14636. type: string
  14637. description: Labels is a map of string keys and
  14638. values that may match replicaset and service
  14639. selectors. Each of these key/value pairs are
  14640. added to the object's labels provided the key
  14641. does not already exist in the object's labels.
  14642. type: object
  14643. type: object
  14644. spec:
  14645. description: Spec is the calico-node DaemonSet's PodSpec.
  14646. properties:
  14647. affinity:
  14648. description: 'Affinity is a group of affinity
  14649. scheduling rules for the calico-node pods. If
  14650. specified, this overrides any affinity that
  14651. may be set on the calico-node DaemonSet. If
  14652. omitted, the calico-node DaemonSet will use
  14653. its default value for affinity. WARNING: Please
  14654. note that this field will override the default
  14655. calico-node DaemonSet affinity.'
  14656. properties:
  14657. nodeAffinity:
  14658. description: Describes node affinity scheduling
  14659. rules for the pod.
  14660. properties:
  14661. preferredDuringSchedulingIgnoredDuringExecution:
  14662. description: The scheduler will prefer
  14663. to schedule pods to nodes that satisfy
  14664. the affinity expressions specified by
  14665. this field, but it may choose a node
  14666. that violates one or more of the expressions.
  14667. The node that is most preferred is the
  14668. one with the greatest sum of weights,
  14669. i.e. for each node that meets all of
  14670. the scheduling requirements (resource
  14671. request, requiredDuringScheduling affinity
  14672. expressions, etc.), compute a sum by
  14673. iterating through the elements of this
  14674. field and adding "weight" to the sum
  14675. if the node matches the corresponding
  14676. matchExpressions; the node(s) with the
  14677. highest sum are the most preferred.
  14678. items:
  14679. description: An empty preferred scheduling
  14680. term matches all objects with implicit
  14681. weight 0 (i.e. it's a no-op). A null
  14682. preferred scheduling term matches
  14683. no objects (i.e. is also a no-op).
  14684. properties:
  14685. preference:
  14686. description: A node selector term,
  14687. associated with the corresponding
  14688. weight.
  14689. properties:
  14690. matchExpressions:
  14691. description: A list of node
  14692. selector requirements by node's
  14693. labels.
  14694. items:
  14695. description: A node selector
  14696. requirement is a selector
  14697. that contains values, a
  14698. key, and an operator that
  14699. relates the key and values.
  14700. properties:
  14701. key:
  14702. description: The label
  14703. key that the selector
  14704. applies to.
  14705. type: string
  14706. operator:
  14707. description: Represents
  14708. a key's relationship
  14709. to a set of values.
  14710. Valid operators are
  14711. In, NotIn, Exists, DoesNotExist.
  14712. Gt, and Lt.
  14713. type: string
  14714. values:
  14715. description: An array
  14716. of string values. If
  14717. the operator is In or
  14718. NotIn, the values array
  14719. must be non-empty. If
  14720. the operator is Exists
  14721. or DoesNotExist, the
  14722. values array must be
  14723. empty. If the operator
  14724. is Gt or Lt, the values
  14725. array must have a single
  14726. element, which will
  14727. be interpreted as an
  14728. integer. This array
  14729. is replaced during a
  14730. strategic merge patch.
  14731. items:
  14732. type: string
  14733. type: array
  14734. required:
  14735. - key
  14736. - operator
  14737. type: object
  14738. type: array
  14739. matchFields:
  14740. description: A list of node
  14741. selector requirements by node's
  14742. fields.
  14743. items:
  14744. description: A node selector
  14745. requirement is a selector
  14746. that contains values, a
  14747. key, and an operator that
  14748. relates the key and values.
  14749. properties:
  14750. key:
  14751. description: The label
  14752. key that the selector
  14753. applies to.
  14754. type: string
  14755. operator:
  14756. description: Represents
  14757. a key's relationship
  14758. to a set of values.
  14759. Valid operators are
  14760. In, NotIn, Exists, DoesNotExist.
  14761. Gt, and Lt.
  14762. type: string
  14763. values:
  14764. description: An array
  14765. of string values. If
  14766. the operator is In or
  14767. NotIn, the values array
  14768. must be non-empty. If
  14769. the operator is Exists
  14770. or DoesNotExist, the
  14771. values array must be
  14772. empty. If the operator
  14773. is Gt or Lt, the values
  14774. array must have a single
  14775. element, which will
  14776. be interpreted as an
  14777. integer. This array
  14778. is replaced during a
  14779. strategic merge patch.
  14780. items:
  14781. type: string
  14782. type: array
  14783. required:
  14784. - key
  14785. - operator
  14786. type: object
  14787. type: array
  14788. type: object
  14789. x-kubernetes-map-type: atomic
  14790. weight:
  14791. description: Weight associated with
  14792. matching the corresponding nodeSelectorTerm,
  14793. in the range 1-100.
  14794. format: int32
  14795. type: integer
  14796. required:
  14797. - preference
  14798. - weight
  14799. type: object
  14800. type: array
  14801. requiredDuringSchedulingIgnoredDuringExecution:
  14802. description: If the affinity requirements
  14803. specified by this field are not met
  14804. at scheduling time, the pod will not
  14805. be scheduled onto the node. If the affinity
  14806. requirements specified by this field
  14807. cease to be met at some point during
  14808. pod execution (e.g. due to an update),
  14809. the system may or may not try to eventually
  14810. evict the pod from its node.
  14811. properties:
  14812. nodeSelectorTerms:
  14813. description: Required. A list of node
  14814. selector terms. The terms are ORed.
  14815. items:
  14816. description: A null or empty node
  14817. selector term matches no objects.
  14818. The requirements of them are ANDed.
  14819. The TopologySelectorTerm type
  14820. implements a subset of the NodeSelectorTerm.
  14821. properties:
  14822. matchExpressions:
  14823. description: A list of node
  14824. selector requirements by node's
  14825. labels.
  14826. items:
  14827. description: A node selector
  14828. requirement is a selector
  14829. that contains values, a
  14830. key, and an operator that
  14831. relates the key and values.
  14832. properties:
  14833. key:
  14834. description: The label
  14835. key that the selector
  14836. applies to.
  14837. type: string
  14838. operator:
  14839. description: Represents
  14840. a key's relationship
  14841. to a set of values.
  14842. Valid operators are
  14843. In, NotIn, Exists, DoesNotExist.
  14844. Gt, and Lt.
  14845. type: string
  14846. values:
  14847. description: An array
  14848. of string values. If
  14849. the operator is In or
  14850. NotIn, the values array
  14851. must be non-empty. If
  14852. the operator is Exists
  14853. or DoesNotExist, the
  14854. values array must be
  14855. empty. If the operator
  14856. is Gt or Lt, the values
  14857. array must have a single
  14858. element, which will
  14859. be interpreted as an
  14860. integer. This array
  14861. is replaced during a
  14862. strategic merge patch.
  14863. items:
  14864. type: string
  14865. type: array
  14866. required:
  14867. - key
  14868. - operator
  14869. type: object
  14870. type: array
  14871. matchFields:
  14872. description: A list of node
  14873. selector requirements by node's
  14874. fields.
  14875. items:
  14876. description: A node selector
  14877. requirement is a selector
  14878. that contains values, a
  14879. key, and an operator that
  14880. relates the key and values.
  14881. properties:
  14882. key:
  14883. description: The label
  14884. key that the selector
  14885. applies to.
  14886. type: string
  14887. operator:
  14888. description: Represents
  14889. a key's relationship
  14890. to a set of values.
  14891. Valid operators are
  14892. In, NotIn, Exists, DoesNotExist.
  14893. Gt, and Lt.
  14894. type: string
  14895. values:
  14896. description: An array
  14897. of string values. If
  14898. the operator is In or
  14899. NotIn, the values array
  14900. must be non-empty. If
  14901. the operator is Exists
  14902. or DoesNotExist, the
  14903. values array must be
  14904. empty. If the operator
  14905. is Gt or Lt, the values
  14906. array must have a single
  14907. element, which will
  14908. be interpreted as an
  14909. integer. This array
  14910. is replaced during a
  14911. strategic merge patch.
  14912. items:
  14913. type: string
  14914. type: array
  14915. required:
  14916. - key
  14917. - operator
  14918. type: object
  14919. type: array
  14920. type: object
  14921. x-kubernetes-map-type: atomic
  14922. type: array
  14923. required:
  14924. - nodeSelectorTerms
  14925. type: object
  14926. x-kubernetes-map-type: atomic
  14927. type: object
  14928. podAffinity:
  14929. description: Describes pod affinity scheduling
  14930. rules (e.g. co-locate this pod in the same
  14931. node, zone, etc. as some other pod(s)).
  14932. properties:
  14933. preferredDuringSchedulingIgnoredDuringExecution:
  14934. description: The scheduler will prefer
  14935. to schedule pods to nodes that satisfy
  14936. the affinity expressions specified by
  14937. this field, but it may choose a node
  14938. that violates one or more of the expressions.
  14939. The node that is most preferred is the
  14940. one with the greatest sum of weights,
  14941. i.e. for each node that meets all of
  14942. the scheduling requirements (resource
  14943. request, requiredDuringScheduling affinity
  14944. expressions, etc.), compute a sum by
  14945. iterating through the elements of this
  14946. field and adding "weight" to the sum
  14947. if the node has pods which matches the
  14948. corresponding podAffinityTerm; the node(s)
  14949. with the highest sum are the most preferred.
  14950. items:
  14951. description: The weights of all of the
  14952. matched WeightedPodAffinityTerm fields
  14953. are added per-node to find the most
  14954. preferred node(s)
  14955. properties:
  14956. podAffinityTerm:
  14957. description: Required. A pod affinity
  14958. term, associated with the corresponding
  14959. weight.
  14960. properties:
  14961. labelSelector:
  14962. description: A label query over
  14963. a set of resources, in this
  14964. case pods.
  14965. properties:
  14966. matchExpressions:
  14967. description: matchExpressions
  14968. is a list of label selector
  14969. requirements. The requirements
  14970. are ANDed.
  14971. items:
  14972. description: A label selector
  14973. requirement is a selector
  14974. that contains values,
  14975. a key, and an operator
  14976. that relates the key
  14977. and values.
  14978. properties:
  14979. key:
  14980. description: key is
  14981. the label key that
  14982. the selector applies
  14983. to.
  14984. type: string
  14985. operator:
  14986. description: operator
  14987. represents a key's
  14988. relationship to
  14989. a set of values.
  14990. Valid operators
  14991. are In, NotIn, Exists
  14992. and DoesNotExist.
  14993. type: string
  14994. values:
  14995. description: values
  14996. is an array of string
  14997. values. If the operator
  14998. is In or NotIn,
  14999. the values array
  15000. must be non-empty.
  15001. If the operator
  15002. is Exists or DoesNotExist,
  15003. the values array
  15004. must be empty. This
  15005. array is replaced
  15006. during a strategic
  15007. merge patch.
  15008. items:
  15009. type: string
  15010. type: array
  15011. required:
  15012. - key
  15013. - operator
  15014. type: object
  15015. type: array
  15016. matchLabels:
  15017. additionalProperties:
  15018. type: string
  15019. description: matchLabels
  15020. is a map of {key,value}
  15021. pairs. A single {key,value}
  15022. in the matchLabels map
  15023. is equivalent to an element
  15024. of matchExpressions, whose
  15025. key field is "key", the
  15026. operator is "In", and
  15027. the values array contains
  15028. only "value". The requirements
  15029. are ANDed.
  15030. type: object
  15031. type: object
  15032. x-kubernetes-map-type: atomic
  15033. namespaceSelector:
  15034. description: A label query over
  15035. the set of namespaces that
  15036. the term applies to. The term
  15037. is applied to the union of
  15038. the namespaces selected by
  15039. this field and the ones listed
  15040. in the namespaces field. null
  15041. selector and null or empty
  15042. namespaces list means "this
  15043. pod's namespace". An empty
  15044. selector ({}) matches all
  15045. namespaces.
  15046. properties:
  15047. matchExpressions:
  15048. description: matchExpressions
  15049. is a list of label selector
  15050. requirements. The requirements
  15051. are ANDed.
  15052. items:
  15053. description: A label selector
  15054. requirement is a selector
  15055. that contains values,
  15056. a key, and an operator
  15057. that relates the key
  15058. and values.
  15059. properties:
  15060. key:
  15061. description: key is
  15062. the label key that
  15063. the selector applies
  15064. to.
  15065. type: string
  15066. operator:
  15067. description: operator
  15068. represents a key's
  15069. relationship to
  15070. a set of values.
  15071. Valid operators
  15072. are In, NotIn, Exists
  15073. and DoesNotExist.
  15074. type: string
  15075. values:
  15076. description: values
  15077. is an array of string
  15078. values. If the operator
  15079. is In or NotIn,
  15080. the values array
  15081. must be non-empty.
  15082. If the operator
  15083. is Exists or DoesNotExist,
  15084. the values array
  15085. must be empty. This
  15086. array is replaced
  15087. during a strategic
  15088. merge patch.
  15089. items:
  15090. type: string
  15091. type: array
  15092. required:
  15093. - key
  15094. - operator
  15095. type: object
  15096. type: array
  15097. matchLabels:
  15098. additionalProperties:
  15099. type: string
  15100. description: matchLabels
  15101. is a map of {key,value}
  15102. pairs. A single {key,value}
  15103. in the matchLabels map
  15104. is equivalent to an element
  15105. of matchExpressions, whose
  15106. key field is "key", the
  15107. operator is "In", and
  15108. the values array contains
  15109. only "value". The requirements
  15110. are ANDed.
  15111. type: object
  15112. type: object
  15113. x-kubernetes-map-type: atomic
  15114. namespaces:
  15115. description: namespaces specifies
  15116. a static list of namespace
  15117. names that the term applies
  15118. to. The term is applied to
  15119. the union of the namespaces
  15120. listed in this field and the
  15121. ones selected by namespaceSelector.
  15122. null or empty namespaces list
  15123. and null namespaceSelector
  15124. means "this pod's namespace".
  15125. items:
  15126. type: string
  15127. type: array
  15128. topologyKey:
  15129. description: This pod should
  15130. be co-located (affinity) or
  15131. not co-located (anti-affinity)
  15132. with the pods matching the
  15133. labelSelector in the specified
  15134. namespaces, where co-located
  15135. is defined as running on a
  15136. node whose value of the label
  15137. with key topologyKey matches
  15138. that of any node on which
  15139. any of the selected pods is
  15140. running. Empty topologyKey
  15141. is not allowed.
  15142. type: string
  15143. required:
  15144. - topologyKey
  15145. type: object
  15146. weight:
  15147. description: weight associated with
  15148. matching the corresponding podAffinityTerm,
  15149. in the range 1-100.
  15150. format: int32
  15151. type: integer
  15152. required:
  15153. - podAffinityTerm
  15154. - weight
  15155. type: object
  15156. type: array
  15157. requiredDuringSchedulingIgnoredDuringExecution:
  15158. description: If the affinity requirements
  15159. specified by this field are not met
  15160. at scheduling time, the pod will not
  15161. be scheduled onto the node. If the affinity
  15162. requirements specified by this field
  15163. cease to be met at some point during
  15164. pod execution (e.g. due to a pod label
  15165. update), the system may or may not try
  15166. to eventually evict the pod from its
  15167. node. When there are multiple elements,
  15168. the lists of nodes corresponding to
  15169. each podAffinityTerm are intersected,
  15170. i.e. all terms must be satisfied.
  15171. items:
  15172. description: Defines a set of pods (namely
  15173. those matching the labelSelector relative
  15174. to the given namespace(s)) that this
  15175. pod should be co-located (affinity)
  15176. or not co-located (anti-affinity)
  15177. with, where co-located is defined
  15178. as running on a node whose value of
  15179. the label with key <topologyKey> matches
  15180. that of any node on which a pod of
  15181. the set of pods is running
  15182. properties:
  15183. labelSelector:
  15184. description: A label query over
  15185. a set of resources, in this case
  15186. pods.
  15187. properties:
  15188. matchExpressions:
  15189. description: matchExpressions
  15190. is a list of label selector
  15191. requirements. The requirements
  15192. are ANDed.
  15193. items:
  15194. description: A label selector
  15195. requirement is a selector
  15196. that contains values, a
  15197. key, and an operator that
  15198. relates the key and values.
  15199. properties:
  15200. key:
  15201. description: key is the
  15202. label key that the selector
  15203. applies to.
  15204. type: string
  15205. operator:
  15206. description: operator
  15207. represents a key's relationship
  15208. to a set of values.
  15209. Valid operators are
  15210. In, NotIn, Exists and
  15211. DoesNotExist.
  15212. type: string
  15213. values:
  15214. description: values is
  15215. an array of string values.
  15216. If the operator is In
  15217. or NotIn, the values
  15218. array must be non-empty.
  15219. If the operator is Exists
  15220. or DoesNotExist, the
  15221. values array must be
  15222. empty. This array is
  15223. replaced during a strategic
  15224. merge patch.
  15225. items:
  15226. type: string
  15227. type: array
  15228. required:
  15229. - key
  15230. - operator
  15231. type: object
  15232. type: array
  15233. matchLabels:
  15234. additionalProperties:
  15235. type: string
  15236. description: matchLabels is
  15237. a map of {key,value} pairs.
  15238. A single {key,value} in the
  15239. matchLabels map is equivalent
  15240. to an element of matchExpressions,
  15241. whose key field is "key",
  15242. the operator is "In", and
  15243. the values array contains
  15244. only "value". The requirements
  15245. are ANDed.
  15246. type: object
  15247. type: object
  15248. x-kubernetes-map-type: atomic
  15249. namespaceSelector:
  15250. description: A label query over
  15251. the set of namespaces that the
  15252. term applies to. The term is applied
  15253. to the union of the namespaces
  15254. selected by this field and the
  15255. ones listed in the namespaces
  15256. field. null selector and null
  15257. or empty namespaces list means
  15258. "this pod's namespace". An empty
  15259. selector ({}) matches all namespaces.
  15260. properties:
  15261. matchExpressions:
  15262. description: matchExpressions
  15263. is a list of label selector
  15264. requirements. The requirements
  15265. are ANDed.
  15266. items:
  15267. description: A label selector
  15268. requirement is a selector
  15269. that contains values, a
  15270. key, and an operator that
  15271. relates the key and values.
  15272. properties:
  15273. key:
  15274. description: key is the
  15275. label key that the selector
  15276. applies to.
  15277. type: string
  15278. operator:
  15279. description: operator
  15280. represents a key's relationship
  15281. to a set of values.
  15282. Valid operators are
  15283. In, NotIn, Exists and
  15284. DoesNotExist.
  15285. type: string
  15286. values:
  15287. description: values is
  15288. an array of string values.
  15289. If the operator is In
  15290. or NotIn, the values
  15291. array must be non-empty.
  15292. If the operator is Exists
  15293. or DoesNotExist, the
  15294. values array must be
  15295. empty. This array is
  15296. replaced during a strategic
  15297. merge patch.
  15298. items:
  15299. type: string
  15300. type: array
  15301. required:
  15302. - key
  15303. - operator
  15304. type: object
  15305. type: array
  15306. matchLabels:
  15307. additionalProperties:
  15308. type: string
  15309. description: matchLabels is
  15310. a map of {key,value} pairs.
  15311. A single {key,value} in the
  15312. matchLabels map is equivalent
  15313. to an element of matchExpressions,
  15314. whose key field is "key",
  15315. the operator is "In", and
  15316. the values array contains
  15317. only "value". The requirements
  15318. are ANDed.
  15319. type: object
  15320. type: object
  15321. x-kubernetes-map-type: atomic
  15322. namespaces:
  15323. description: namespaces specifies
  15324. a static list of namespace names
  15325. that the term applies to. The
  15326. term is applied to the union of
  15327. the namespaces listed in this
  15328. field and the ones selected by
  15329. namespaceSelector. null or empty
  15330. namespaces list and null namespaceSelector
  15331. means "this pod's namespace".
  15332. items:
  15333. type: string
  15334. type: array
  15335. topologyKey:
  15336. description: This pod should be
  15337. co-located (affinity) or not co-located
  15338. (anti-affinity) with the pods
  15339. matching the labelSelector in
  15340. the specified namespaces, where
  15341. co-located is defined as running
  15342. on a node whose value of the label
  15343. with key topologyKey matches that
  15344. of any node on which any of the
  15345. selected pods is running. Empty
  15346. topologyKey is not allowed.
  15347. type: string
  15348. required:
  15349. - topologyKey
  15350. type: object
  15351. type: array
  15352. type: object
  15353. podAntiAffinity:
  15354. description: Describes pod anti-affinity scheduling
  15355. rules (e.g. avoid putting this pod in the
  15356. same node, zone, etc. as some other pod(s)).
  15357. properties:
  15358. preferredDuringSchedulingIgnoredDuringExecution:
  15359. description: The scheduler will prefer
  15360. to schedule pods to nodes that satisfy
  15361. the anti-affinity expressions specified
  15362. by this field, but it may choose a node
  15363. that violates one or more of the expressions.
  15364. The node that is most preferred is the
  15365. one with the greatest sum of weights,
  15366. i.e. for each node that meets all of
  15367. the scheduling requirements (resource
  15368. request, requiredDuringScheduling anti-affinity
  15369. expressions, etc.), compute a sum by
  15370. iterating through the elements of this
  15371. field and adding "weight" to the sum
  15372. if the node has pods which matches the
  15373. corresponding podAffinityTerm; the node(s)
  15374. with the highest sum are the most preferred.
  15375. items:
  15376. description: The weights of all of the
  15377. matched WeightedPodAffinityTerm fields
  15378. are added per-node to find the most
  15379. preferred node(s)
  15380. properties:
  15381. podAffinityTerm:
  15382. description: Required. A pod affinity
  15383. term, associated with the corresponding
  15384. weight.
  15385. properties:
  15386. labelSelector:
  15387. description: A label query over
  15388. a set of resources, in this
  15389. case pods.
  15390. properties:
  15391. matchExpressions:
  15392. description: matchExpressions
  15393. is a list of label selector
  15394. requirements. The requirements
  15395. are ANDed.
  15396. items:
  15397. description: A label selector
  15398. requirement is a selector
  15399. that contains values,
  15400. a key, and an operator
  15401. that relates the key
  15402. and values.
  15403. properties:
  15404. key:
  15405. description: key is
  15406. the label key that
  15407. the selector applies
  15408. to.
  15409. type: string
  15410. operator:
  15411. description: operator
  15412. represents a key's
  15413. relationship to
  15414. a set of values.
  15415. Valid operators
  15416. are In, NotIn, Exists
  15417. and DoesNotExist.
  15418. type: string
  15419. values:
  15420. description: values
  15421. is an array of string
  15422. values. If the operator
  15423. is In or NotIn,
  15424. the values array
  15425. must be non-empty.
  15426. If the operator
  15427. is Exists or DoesNotExist,
  15428. the values array
  15429. must be empty. This
  15430. array is replaced
  15431. during a strategic
  15432. merge patch.
  15433. items:
  15434. type: string
  15435. type: array
  15436. required:
  15437. - key
  15438. - operator
  15439. type: object
  15440. type: array
  15441. matchLabels:
  15442. additionalProperties:
  15443. type: string
  15444. description: matchLabels
  15445. is a map of {key,value}
  15446. pairs. A single {key,value}
  15447. in the matchLabels map
  15448. is equivalent to an element
  15449. of matchExpressions, whose
  15450. key field is "key", the
  15451. operator is "In", and
  15452. the values array contains
  15453. only "value". The requirements
  15454. are ANDed.
  15455. type: object
  15456. type: object
  15457. x-kubernetes-map-type: atomic
  15458. namespaceSelector:
  15459. description: A label query over
  15460. the set of namespaces that
  15461. the term applies to. The term
  15462. is applied to the union of
  15463. the namespaces selected by
  15464. this field and the ones listed
  15465. in the namespaces field. null
  15466. selector and null or empty
  15467. namespaces list means "this
  15468. pod's namespace". An empty
  15469. selector ({}) matches all
  15470. namespaces.
  15471. properties:
  15472. matchExpressions:
  15473. description: matchExpressions
  15474. is a list of label selector
  15475. requirements. The requirements
  15476. are ANDed.
  15477. items:
  15478. description: A label selector
  15479. requirement is a selector
  15480. that contains values,
  15481. a key, and an operator
  15482. that relates the key
  15483. and values.
  15484. properties:
  15485. key:
  15486. description: key is
  15487. the label key that
  15488. the selector applies
  15489. to.
  15490. type: string
  15491. operator:
  15492. description: operator
  15493. represents a key's
  15494. relationship to
  15495. a set of values.
  15496. Valid operators
  15497. are In, NotIn, Exists
  15498. and DoesNotExist.
  15499. type: string
  15500. values:
  15501. description: values
  15502. is an array of string
  15503. values. If the operator
  15504. is In or NotIn,
  15505. the values array
  15506. must be non-empty.
  15507. If the operator
  15508. is Exists or DoesNotExist,
  15509. the values array
  15510. must be empty. This
  15511. array is replaced
  15512. during a strategic
  15513. merge patch.
  15514. items:
  15515. type: string
  15516. type: array
  15517. required:
  15518. - key
  15519. - operator
  15520. type: object
  15521. type: array
  15522. matchLabels:
  15523. additionalProperties:
  15524. type: string
  15525. description: matchLabels
  15526. is a map of {key,value}
  15527. pairs. A single {key,value}
  15528. in the matchLabels map
  15529. is equivalent to an element
  15530. of matchExpressions, whose
  15531. key field is "key", the
  15532. operator is "In", and
  15533. the values array contains
  15534. only "value". The requirements
  15535. are ANDed.
  15536. type: object
  15537. type: object
  15538. x-kubernetes-map-type: atomic
  15539. namespaces:
  15540. description: namespaces specifies
  15541. a static list of namespace
  15542. names that the term applies
  15543. to. The term is applied to
  15544. the union of the namespaces
  15545. listed in this field and the
  15546. ones selected by namespaceSelector.
  15547. null or empty namespaces list
  15548. and null namespaceSelector
  15549. means "this pod's namespace".
  15550. items:
  15551. type: string
  15552. type: array
  15553. topologyKey:
  15554. description: This pod should
  15555. be co-located (affinity) or
  15556. not co-located (anti-affinity)
  15557. with the pods matching the
  15558. labelSelector in the specified
  15559. namespaces, where co-located
  15560. is defined as running on a
  15561. node whose value of the label
  15562. with key topologyKey matches
  15563. that of any node on which
  15564. any of the selected pods is
  15565. running. Empty topologyKey
  15566. is not allowed.
  15567. type: string
  15568. required:
  15569. - topologyKey
  15570. type: object
  15571. weight:
  15572. description: weight associated with
  15573. matching the corresponding podAffinityTerm,
  15574. in the range 1-100.
  15575. format: int32
  15576. type: integer
  15577. required:
  15578. - podAffinityTerm
  15579. - weight
  15580. type: object
  15581. type: array
  15582. requiredDuringSchedulingIgnoredDuringExecution:
  15583. description: If the anti-affinity requirements
  15584. specified by this field are not met
  15585. at scheduling time, the pod will not
  15586. be scheduled onto the node. If the anti-affinity
  15587. requirements specified by this field
  15588. cease to be met at some point during
  15589. pod execution (e.g. due to a pod label
  15590. update), the system may or may not try
  15591. to eventually evict the pod from its
  15592. node. When there are multiple elements,
  15593. the lists of nodes corresponding to
  15594. each podAffinityTerm are intersected,
  15595. i.e. all terms must be satisfied.
  15596. items:
  15597. description: Defines a set of pods (namely
  15598. those matching the labelSelector relative
  15599. to the given namespace(s)) that this
  15600. pod should be co-located (affinity)
  15601. or not co-located (anti-affinity)
  15602. with, where co-located is defined
  15603. as running on a node whose value of
  15604. the label with key <topologyKey> matches
  15605. that of any node on which a pod of
  15606. the set of pods is running
  15607. properties:
  15608. labelSelector:
  15609. description: A label query over
  15610. a set of resources, in this case
  15611. pods.
  15612. properties:
  15613. matchExpressions:
  15614. description: matchExpressions
  15615. is a list of label selector
  15616. requirements. The requirements
  15617. are ANDed.
  15618. items:
  15619. description: A label selector
  15620. requirement is a selector
  15621. that contains values, a
  15622. key, and an operator that
  15623. relates the key and values.
  15624. properties:
  15625. key:
  15626. description: key is the
  15627. label key that the selector
  15628. applies to.
  15629. type: string
  15630. operator:
  15631. description: operator
  15632. represents a key's relationship
  15633. to a set of values.
  15634. Valid operators are
  15635. In, NotIn, Exists and
  15636. DoesNotExist.
  15637. type: string
  15638. values:
  15639. description: values is
  15640. an array of string values.
  15641. If the operator is In
  15642. or NotIn, the values
  15643. array must be non-empty.
  15644. If the operator is Exists
  15645. or DoesNotExist, the
  15646. values array must be
  15647. empty. This array is
  15648. replaced during a strategic
  15649. merge patch.
  15650. items:
  15651. type: string
  15652. type: array
  15653. required:
  15654. - key
  15655. - operator
  15656. type: object
  15657. type: array
  15658. matchLabels:
  15659. additionalProperties:
  15660. type: string
  15661. description: matchLabels is
  15662. a map of {key,value} pairs.
  15663. A single {key,value} in the
  15664. matchLabels map is equivalent
  15665. to an element of matchExpressions,
  15666. whose key field is "key",
  15667. the operator is "In", and
  15668. the values array contains
  15669. only "value". The requirements
  15670. are ANDed.
  15671. type: object
  15672. type: object
  15673. x-kubernetes-map-type: atomic
  15674. namespaceSelector:
  15675. description: A label query over
  15676. the set of namespaces that the
  15677. term applies to. The term is applied
  15678. to the union of the namespaces
  15679. selected by this field and the
  15680. ones listed in the namespaces
  15681. field. null selector and null
  15682. or empty namespaces list means
  15683. "this pod's namespace". An empty
  15684. selector ({}) matches all namespaces.
  15685. properties:
  15686. matchExpressions:
  15687. description: matchExpressions
  15688. is a list of label selector
  15689. requirements. The requirements
  15690. are ANDed.
  15691. items:
  15692. description: A label selector
  15693. requirement is a selector
  15694. that contains values, a
  15695. key, and an operator that
  15696. relates the key and values.
  15697. properties:
  15698. key:
  15699. description: key is the
  15700. label key that the selector
  15701. applies to.
  15702. type: string
  15703. operator:
  15704. description: operator
  15705. represents a key's relationship
  15706. to a set of values.
  15707. Valid operators are
  15708. In, NotIn, Exists and
  15709. DoesNotExist.
  15710. type: string
  15711. values:
  15712. description: values is
  15713. an array of string values.
  15714. If the operator is In
  15715. or NotIn, the values
  15716. array must be non-empty.
  15717. If the operator is Exists
  15718. or DoesNotExist, the
  15719. values array must be
  15720. empty. This array is
  15721. replaced during a strategic
  15722. merge patch.
  15723. items:
  15724. type: string
  15725. type: array
  15726. required:
  15727. - key
  15728. - operator
  15729. type: object
  15730. type: array
  15731. matchLabels:
  15732. additionalProperties:
  15733. type: string
  15734. description: matchLabels is
  15735. a map of {key,value} pairs.
  15736. A single {key,value} in the
  15737. matchLabels map is equivalent
  15738. to an element of matchExpressions,
  15739. whose key field is "key",
  15740. the operator is "In", and
  15741. the values array contains
  15742. only "value". The requirements
  15743. are ANDed.
  15744. type: object
  15745. type: object
  15746. x-kubernetes-map-type: atomic
  15747. namespaces:
  15748. description: namespaces specifies
  15749. a static list of namespace names
  15750. that the term applies to. The
  15751. term is applied to the union of
  15752. the namespaces listed in this
  15753. field and the ones selected by
  15754. namespaceSelector. null or empty
  15755. namespaces list and null namespaceSelector
  15756. means "this pod's namespace".
  15757. items:
  15758. type: string
  15759. type: array
  15760. topologyKey:
  15761. description: This pod should be
  15762. co-located (affinity) or not co-located
  15763. (anti-affinity) with the pods
  15764. matching the labelSelector in
  15765. the specified namespaces, where
  15766. co-located is defined as running
  15767. on a node whose value of the label
  15768. with key topologyKey matches that
  15769. of any node on which any of the
  15770. selected pods is running. Empty
  15771. topologyKey is not allowed.
  15772. type: string
  15773. required:
  15774. - topologyKey
  15775. type: object
  15776. type: array
  15777. type: object
  15778. type: object
  15779. containers:
  15780. description: Containers is a list of calico-node
  15781. containers. If specified, this overrides the
  15782. specified calico-node DaemonSet containers.
  15783. If omitted, the calico-node DaemonSet will use
  15784. its default values for its containers.
  15785. items:
  15786. description: CalicoNodeDaemonSetContainer is
  15787. a calico-node DaemonSet container.
  15788. properties:
  15789. name:
  15790. description: Name is an enum which identifies
  15791. the calico-node DaemonSet container by
  15792. name.
  15793. enum:
  15794. - calico-node
  15795. type: string
  15796. resources:
  15797. description: Resources allows customization
  15798. of limits and requests for compute resources
  15799. such as cpu and memory. If specified,
  15800. this overrides the named calico-node DaemonSet
  15801. container's resources. If omitted, the
  15802. calico-node DaemonSet will use its default
  15803. value for this container's resources.
  15804. If used in conjunction with the deprecated
  15805. ComponentResources, then this value takes
  15806. precedence.
  15807. properties:
  15808. limits:
  15809. additionalProperties:
  15810. anyOf:
  15811. - type: integer
  15812. - type: string
  15813. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  15814. x-kubernetes-int-or-string: true
  15815. description: 'Limits describes the maximum
  15816. amount of compute resources allowed.
  15817. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  15818. type: object
  15819. requests:
  15820. additionalProperties:
  15821. anyOf:
  15822. - type: integer
  15823. - type: string
  15824. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  15825. x-kubernetes-int-or-string: true
  15826. description: 'Requests describes the
  15827. minimum amount of compute resources
  15828. required. If Requests is omitted for
  15829. a container, it defaults to Limits
  15830. if that is explicitly specified, otherwise
  15831. to an implementation-defined value.
  15832. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  15833. type: object
  15834. type: object
  15835. required:
  15836. - name
  15837. type: object
  15838. type: array
  15839. initContainers:
  15840. description: InitContainers is a list of calico-node
  15841. init containers. If specified, this overrides
  15842. the specified calico-node DaemonSet init containers.
  15843. If omitted, the calico-node DaemonSet will use
  15844. its default values for its init containers.
  15845. items:
  15846. description: CalicoNodeDaemonSetInitContainer
  15847. is a calico-node DaemonSet init container.
  15848. properties:
  15849. name:
  15850. description: Name is an enum which identifies
  15851. the calico-node DaemonSet init container
  15852. by name.
  15853. enum:
  15854. - install-cni
  15855. - hostpath-init
  15856. - flexvol-driver
  15857. - mount-bpffs
  15858. - node-certs-key-cert-provisioner
  15859. - calico-node-prometheus-server-tls-key-cert-provisioner
  15860. type: string
  15861. resources:
  15862. description: Resources allows customization
  15863. of limits and requests for compute resources
  15864. such as cpu and memory. If specified,
  15865. this overrides the named calico-node DaemonSet
  15866. init container's resources. If omitted,
  15867. the calico-node DaemonSet will use its
  15868. default value for this container's resources.
  15869. If used in conjunction with the deprecated
  15870. ComponentResources, then this value takes
  15871. precedence.
  15872. properties:
  15873. limits:
  15874. additionalProperties:
  15875. anyOf:
  15876. - type: integer
  15877. - type: string
  15878. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  15879. x-kubernetes-int-or-string: true
  15880. description: 'Limits describes the maximum
  15881. amount of compute resources allowed.
  15882. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  15883. type: object
  15884. requests:
  15885. additionalProperties:
  15886. anyOf:
  15887. - type: integer
  15888. - type: string
  15889. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  15890. x-kubernetes-int-or-string: true
  15891. description: 'Requests describes the
  15892. minimum amount of compute resources
  15893. required. If Requests is omitted for
  15894. a container, it defaults to Limits
  15895. if that is explicitly specified, otherwise
  15896. to an implementation-defined value.
  15897. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  15898. type: object
  15899. type: object
  15900. required:
  15901. - name
  15902. type: object
  15903. type: array
  15904. nodeSelector:
  15905. additionalProperties:
  15906. type: string
  15907. description: 'NodeSelector is the calico-node
  15908. pod''s scheduling constraints. If specified,
  15909. each of the key/value pairs are added to the
  15910. calico-node DaemonSet nodeSelector provided
  15911. the key does not already exist in the object''s
  15912. nodeSelector. If omitted, the calico-node DaemonSet
  15913. will use its default value for nodeSelector.
  15914. WARNING: Please note that this field will modify
  15915. the default calico-node DaemonSet nodeSelector.'
  15916. type: object
  15917. tolerations:
  15918. description: 'Tolerations is the calico-node pod''s
  15919. tolerations. If specified, this overrides any
  15920. tolerations that may be set on the calico-node
  15921. DaemonSet. If omitted, the calico-node DaemonSet
  15922. will use its default value for tolerations.
  15923. WARNING: Please note that this field will override
  15924. the default calico-node DaemonSet tolerations.'
  15925. items:
  15926. description: The pod this Toleration is attached
  15927. to tolerates any taint that matches the triple
  15928. <key,value,effect> using the matching operator
  15929. <operator>.
  15930. properties:
  15931. effect:
  15932. description: Effect indicates the taint
  15933. effect to match. Empty means match all
  15934. taint effects. When specified, allowed
  15935. values are NoSchedule, PreferNoSchedule
  15936. and NoExecute.
  15937. type: string
  15938. key:
  15939. description: Key is the taint key that the
  15940. toleration applies to. Empty means match
  15941. all taint keys. If the key is empty, operator
  15942. must be Exists; this combination means
  15943. to match all values and all keys.
  15944. type: string
  15945. operator:
  15946. description: Operator represents a key's
  15947. relationship to the value. Valid operators
  15948. are Exists and Equal. Defaults to Equal.
  15949. Exists is equivalent to wildcard for value,
  15950. so that a pod can tolerate all taints
  15951. of a particular category.
  15952. type: string
  15953. tolerationSeconds:
  15954. description: TolerationSeconds represents
  15955. the period of time the toleration (which
  15956. must be of effect NoExecute, otherwise
  15957. this field is ignored) tolerates the taint.
  15958. By default, it is not set, which means
  15959. tolerate the taint forever (do not evict).
  15960. Zero and negative values will be treated
  15961. as 0 (evict immediately) by the system.
  15962. format: int64
  15963. type: integer
  15964. value:
  15965. description: Value is the taint value the
  15966. toleration matches to. If the operator
  15967. is Exists, the value should be empty,
  15968. otherwise just a regular string.
  15969. type: string
  15970. type: object
  15971. type: array
  15972. type: object
  15973. type: object
  15974. type: object
  15975. type: object
  15976. calicoWindowsUpgradeDaemonSet:
  15977. description: CalicoWindowsUpgradeDaemonSet configures the calico-windows-upgrade
  15978. DaemonSet.
  15979. properties:
  15980. metadata:
  15981. description: Metadata is a subset of a Kubernetes object's
  15982. metadata that is added to the Deployment.
  15983. properties:
  15984. annotations:
  15985. additionalProperties:
  15986. type: string
  15987. description: Annotations is a map of arbitrary non-identifying
  15988. metadata. Each of these key/value pairs are added to
  15989. the object's annotations provided the key does not already
  15990. exist in the object's annotations.
  15991. type: object
  15992. labels:
  15993. additionalProperties:
  15994. type: string
  15995. description: Labels is a map of string keys and values
  15996. that may match replicaset and service selectors. Each
  15997. of these key/value pairs are added to the object's labels
  15998. provided the key does not already exist in the object's
  15999. labels.
  16000. type: object
  16001. type: object
  16002. spec:
  16003. description: Spec is the specification of the calico-windows-upgrade
  16004. DaemonSet.
  16005. properties:
  16006. minReadySeconds:
  16007. description: MinReadySeconds is the minimum number of
  16008. seconds for which a newly created Deployment pod should
  16009. be ready without any of its container crashing, for
  16010. it to be considered available. If specified, this overrides
  16011. any minReadySeconds value that may be set on the calico-windows-upgrade
  16012. DaemonSet. If omitted, the calico-windows-upgrade DaemonSet
  16013. will use its default value for minReadySeconds.
  16014. format: int32
  16015. maximum: 2147483647
  16016. minimum: 0
  16017. type: integer
  16018. template:
  16019. description: Template describes the calico-windows-upgrade
  16020. DaemonSet pod that will be created.
  16021. properties:
  16022. metadata:
  16023. description: Metadata is a subset of a Kubernetes
  16024. object's metadata that is added to the pod's metadata.
  16025. properties:
  16026. annotations:
  16027. additionalProperties:
  16028. type: string
  16029. description: Annotations is a map of arbitrary
  16030. non-identifying metadata. Each of these key/value
  16031. pairs are added to the object's annotations
  16032. provided the key does not already exist in the
  16033. object's annotations.
  16034. type: object
  16035. labels:
  16036. additionalProperties:
  16037. type: string
  16038. description: Labels is a map of string keys and
  16039. values that may match replicaset and service
  16040. selectors. Each of these key/value pairs are
  16041. added to the object's labels provided the key
  16042. does not already exist in the object's labels.
  16043. type: object
  16044. type: object
  16045. spec:
  16046. description: Spec is the calico-windows-upgrade DaemonSet's
  16047. PodSpec.
  16048. properties:
  16049. affinity:
  16050. description: 'Affinity is a group of affinity
  16051. scheduling rules for the calico-windows-upgrade
  16052. pods. If specified, this overrides any affinity
  16053. that may be set on the calico-windows-upgrade
  16054. DaemonSet. If omitted, the calico-windows-upgrade
  16055. DaemonSet will use its default value for affinity.
  16056. WARNING: Please note that this field will override
  16057. the default calico-windows-upgrade DaemonSet
  16058. affinity.'
  16059. properties:
  16060. nodeAffinity:
  16061. description: Describes node affinity scheduling
  16062. rules for the pod.
  16063. properties:
  16064. preferredDuringSchedulingIgnoredDuringExecution:
  16065. description: The scheduler will prefer
  16066. to schedule pods to nodes that satisfy
  16067. the affinity expressions specified by
  16068. this field, but it may choose a node
  16069. that violates one or more of the expressions.
  16070. The node that is most preferred is the
  16071. one with the greatest sum of weights,
  16072. i.e. for each node that meets all of
  16073. the scheduling requirements (resource
  16074. request, requiredDuringScheduling affinity
  16075. expressions, etc.), compute a sum by
  16076. iterating through the elements of this
  16077. field and adding "weight" to the sum
  16078. if the node matches the corresponding
  16079. matchExpressions; the node(s) with the
  16080. highest sum are the most preferred.
  16081. items:
  16082. description: An empty preferred scheduling
  16083. term matches all objects with implicit
  16084. weight 0 (i.e. it's a no-op). A null
  16085. preferred scheduling term matches
  16086. no objects (i.e. is also a no-op).
  16087. properties:
  16088. preference:
  16089. description: A node selector term,
  16090. associated with the corresponding
  16091. weight.
  16092. properties:
  16093. matchExpressions:
  16094. description: A list of node
  16095. selector requirements by node's
  16096. labels.
  16097. items:
  16098. description: A node selector
  16099. requirement is a selector
  16100. that contains values, a
  16101. key, and an operator that
  16102. relates the key and values.
  16103. properties:
  16104. key:
  16105. description: The label
  16106. key that the selector
  16107. applies to.
  16108. type: string
  16109. operator:
  16110. description: Represents
  16111. a key's relationship
  16112. to a set of values.
  16113. Valid operators are
  16114. In, NotIn, Exists, DoesNotExist.
  16115. Gt, and Lt.
  16116. type: string
  16117. values:
  16118. description: An array
  16119. of string values. If
  16120. the operator is In or
  16121. NotIn, the values array
  16122. must be non-empty. If
  16123. the operator is Exists
  16124. or DoesNotExist, the
  16125. values array must be
  16126. empty. If the operator
  16127. is Gt or Lt, the values
  16128. array must have a single
  16129. element, which will
  16130. be interpreted as an
  16131. integer. This array
  16132. is replaced during a
  16133. strategic merge patch.
  16134. items:
  16135. type: string
  16136. type: array
  16137. required:
  16138. - key
  16139. - operator
  16140. type: object
  16141. type: array
  16142. matchFields:
  16143. description: A list of node
  16144. selector requirements by node's
  16145. fields.
  16146. items:
  16147. description: A node selector
  16148. requirement is a selector
  16149. that contains values, a
  16150. key, and an operator that
  16151. relates the key and values.
  16152. properties:
  16153. key:
  16154. description: The label
  16155. key that the selector
  16156. applies to.
  16157. type: string
  16158. operator:
  16159. description: Represents
  16160. a key's relationship
  16161. to a set of values.
  16162. Valid operators are
  16163. In, NotIn, Exists, DoesNotExist.
  16164. Gt, and Lt.
  16165. type: string
  16166. values:
  16167. description: An array
  16168. of string values. If
  16169. the operator is In or
  16170. NotIn, the values array
  16171. must be non-empty. If
  16172. the operator is Exists
  16173. or DoesNotExist, the
  16174. values array must be
  16175. empty. If the operator
  16176. is Gt or Lt, the values
  16177. array must have a single
  16178. element, which will
  16179. be interpreted as an
  16180. integer. This array
  16181. is replaced during a
  16182. strategic merge patch.
  16183. items:
  16184. type: string
  16185. type: array
  16186. required:
  16187. - key
  16188. - operator
  16189. type: object
  16190. type: array
  16191. type: object
  16192. x-kubernetes-map-type: atomic
  16193. weight:
  16194. description: Weight associated with
  16195. matching the corresponding nodeSelectorTerm,
  16196. in the range 1-100.
  16197. format: int32
  16198. type: integer
  16199. required:
  16200. - preference
  16201. - weight
  16202. type: object
  16203. type: array
  16204. requiredDuringSchedulingIgnoredDuringExecution:
  16205. description: If the affinity requirements
  16206. specified by this field are not met
  16207. at scheduling time, the pod will not
  16208. be scheduled onto the node. If the affinity
  16209. requirements specified by this field
  16210. cease to be met at some point during
  16211. pod execution (e.g. due to an update),
  16212. the system may or may not try to eventually
  16213. evict the pod from its node.
  16214. properties:
  16215. nodeSelectorTerms:
  16216. description: Required. A list of node
  16217. selector terms. The terms are ORed.
  16218. items:
  16219. description: A null or empty node
  16220. selector term matches no objects.
  16221. The requirements of them are ANDed.
  16222. The TopologySelectorTerm type
  16223. implements a subset of the NodeSelectorTerm.
  16224. properties:
  16225. matchExpressions:
  16226. description: A list of node
  16227. selector requirements by node's
  16228. labels.
  16229. items:
  16230. description: A node selector
  16231. requirement is a selector
  16232. that contains values, a
  16233. key, and an operator that
  16234. relates the key and values.
  16235. properties:
  16236. key:
  16237. description: The label
  16238. key that the selector
  16239. applies to.
  16240. type: string
  16241. operator:
  16242. description: Represents
  16243. a key's relationship
  16244. to a set of values.
  16245. Valid operators are
  16246. In, NotIn, Exists, DoesNotExist.
  16247. Gt, and Lt.
  16248. type: string
  16249. values:
  16250. description: An array
  16251. of string values. If
  16252. the operator is In or
  16253. NotIn, the values array
  16254. must be non-empty. If
  16255. the operator is Exists
  16256. or DoesNotExist, the
  16257. values array must be
  16258. empty. If the operator
  16259. is Gt or Lt, the values
  16260. array must have a single
  16261. element, which will
  16262. be interpreted as an
  16263. integer. This array
  16264. is replaced during a
  16265. strategic merge patch.
  16266. items:
  16267. type: string
  16268. type: array
  16269. required:
  16270. - key
  16271. - operator
  16272. type: object
  16273. type: array
  16274. matchFields:
  16275. description: A list of node
  16276. selector requirements by node's
  16277. fields.
  16278. items:
  16279. description: A node selector
  16280. requirement is a selector
  16281. that contains values, a
  16282. key, and an operator that
  16283. relates the key and values.
  16284. properties:
  16285. key:
  16286. description: The label
  16287. key that the selector
  16288. applies to.
  16289. type: string
  16290. operator:
  16291. description: Represents
  16292. a key's relationship
  16293. to a set of values.
  16294. Valid operators are
  16295. In, NotIn, Exists, DoesNotExist.
  16296. Gt, and Lt.
  16297. type: string
  16298. values:
  16299. description: An array
  16300. of string values. If
  16301. the operator is In or
  16302. NotIn, the values array
  16303. must be non-empty. If
  16304. the operator is Exists
  16305. or DoesNotExist, the
  16306. values array must be
  16307. empty. If the operator
  16308. is Gt or Lt, the values
  16309. array must have a single
  16310. element, which will
  16311. be interpreted as an
  16312. integer. This array
  16313. is replaced during a
  16314. strategic merge patch.
  16315. items:
  16316. type: string
  16317. type: array
  16318. required:
  16319. - key
  16320. - operator
  16321. type: object
  16322. type: array
  16323. type: object
  16324. x-kubernetes-map-type: atomic
  16325. type: array
  16326. required:
  16327. - nodeSelectorTerms
  16328. type: object
  16329. x-kubernetes-map-type: atomic
  16330. type: object
  16331. podAffinity:
  16332. description: Describes pod affinity scheduling
  16333. rules (e.g. co-locate this pod in the same
  16334. node, zone, etc. as some other pod(s)).
  16335. properties:
  16336. preferredDuringSchedulingIgnoredDuringExecution:
  16337. description: The scheduler will prefer
  16338. to schedule pods to nodes that satisfy
  16339. the affinity expressions specified by
  16340. this field, but it may choose a node
  16341. that violates one or more of the expressions.
  16342. The node that is most preferred is the
  16343. one with the greatest sum of weights,
  16344. i.e. for each node that meets all of
  16345. the scheduling requirements (resource
  16346. request, requiredDuringScheduling affinity
  16347. expressions, etc.), compute a sum by
  16348. iterating through the elements of this
  16349. field and adding "weight" to the sum
  16350. if the node has pods which matches the
  16351. corresponding podAffinityTerm; the node(s)
  16352. with the highest sum are the most preferred.
  16353. items:
  16354. description: The weights of all of the
  16355. matched WeightedPodAffinityTerm fields
  16356. are added per-node to find the most
  16357. preferred node(s)
  16358. properties:
  16359. podAffinityTerm:
  16360. description: Required. A pod affinity
  16361. term, associated with the corresponding
  16362. weight.
  16363. properties:
  16364. labelSelector:
  16365. description: A label query over
  16366. a set of resources, in this
  16367. case pods.
  16368. properties:
  16369. matchExpressions:
  16370. description: matchExpressions
  16371. is a list of label selector
  16372. requirements. The requirements
  16373. are ANDed.
  16374. items:
  16375. description: A label selector
  16376. requirement is a selector
  16377. that contains values,
  16378. a key, and an operator
  16379. that relates the key
  16380. and values.
  16381. properties:
  16382. key:
  16383. description: key is
  16384. the label key that
  16385. the selector applies
  16386. to.
  16387. type: string
  16388. operator:
  16389. description: operator
  16390. represents a key's
  16391. relationship to
  16392. a set of values.
  16393. Valid operators
  16394. are In, NotIn, Exists
  16395. and DoesNotExist.
  16396. type: string
  16397. values:
  16398. description: values
  16399. is an array of string
  16400. values. If the operator
  16401. is In or NotIn,
  16402. the values array
  16403. must be non-empty.
  16404. If the operator
  16405. is Exists or DoesNotExist,
  16406. the values array
  16407. must be empty. This
  16408. array is replaced
  16409. during a strategic
  16410. merge patch.
  16411. items:
  16412. type: string
  16413. type: array
  16414. required:
  16415. - key
  16416. - operator
  16417. type: object
  16418. type: array
  16419. matchLabels:
  16420. additionalProperties:
  16421. type: string
  16422. description: matchLabels
  16423. is a map of {key,value}
  16424. pairs. A single {key,value}
  16425. in the matchLabels map
  16426. is equivalent to an element
  16427. of matchExpressions, whose
  16428. key field is "key", the
  16429. operator is "In", and
  16430. the values array contains
  16431. only "value". The requirements
  16432. are ANDed.
  16433. type: object
  16434. type: object
  16435. x-kubernetes-map-type: atomic
  16436. namespaceSelector:
  16437. description: A label query over
  16438. the set of namespaces that
  16439. the term applies to. The term
  16440. is applied to the union of
  16441. the namespaces selected by
  16442. this field and the ones listed
  16443. in the namespaces field. null
  16444. selector and null or empty
  16445. namespaces list means "this
  16446. pod's namespace". An empty
  16447. selector ({}) matches all
  16448. namespaces.
  16449. properties:
  16450. matchExpressions:
  16451. description: matchExpressions
  16452. is a list of label selector
  16453. requirements. The requirements
  16454. are ANDed.
  16455. items:
  16456. description: A label selector
  16457. requirement is a selector
  16458. that contains values,
  16459. a key, and an operator
  16460. that relates the key
  16461. and values.
  16462. properties:
  16463. key:
  16464. description: key is
  16465. the label key that
  16466. the selector applies
  16467. to.
  16468. type: string
  16469. operator:
  16470. description: operator
  16471. represents a key's
  16472. relationship to
  16473. a set of values.
  16474. Valid operators
  16475. are In, NotIn, Exists
  16476. and DoesNotExist.
  16477. type: string
  16478. values:
  16479. description: values
  16480. is an array of string
  16481. values. If the operator
  16482. is In or NotIn,
  16483. the values array
  16484. must be non-empty.
  16485. If the operator
  16486. is Exists or DoesNotExist,
  16487. the values array
  16488. must be empty. This
  16489. array is replaced
  16490. during a strategic
  16491. merge patch.
  16492. items:
  16493. type: string
  16494. type: array
  16495. required:
  16496. - key
  16497. - operator
  16498. type: object
  16499. type: array
  16500. matchLabels:
  16501. additionalProperties:
  16502. type: string
  16503. description: matchLabels
  16504. is a map of {key,value}
  16505. pairs. A single {key,value}
  16506. in the matchLabels map
  16507. is equivalent to an element
  16508. of matchExpressions, whose
  16509. key field is "key", the
  16510. operator is "In", and
  16511. the values array contains
  16512. only "value". The requirements
  16513. are ANDed.
  16514. type: object
  16515. type: object
  16516. x-kubernetes-map-type: atomic
  16517. namespaces:
  16518. description: namespaces specifies
  16519. a static list of namespace
  16520. names that the term applies
  16521. to. The term is applied to
  16522. the union of the namespaces
  16523. listed in this field and the
  16524. ones selected by namespaceSelector.
  16525. null or empty namespaces list
  16526. and null namespaceSelector
  16527. means "this pod's namespace".
  16528. items:
  16529. type: string
  16530. type: array
  16531. topologyKey:
  16532. description: This pod should
  16533. be co-located (affinity) or
  16534. not co-located (anti-affinity)
  16535. with the pods matching the
  16536. labelSelector in the specified
  16537. namespaces, where co-located
  16538. is defined as running on a
  16539. node whose value of the label
  16540. with key topologyKey matches
  16541. that of any node on which
  16542. any of the selected pods is
  16543. running. Empty topologyKey
  16544. is not allowed.
  16545. type: string
  16546. required:
  16547. - topologyKey
  16548. type: object
  16549. weight:
  16550. description: weight associated with
  16551. matching the corresponding podAffinityTerm,
  16552. in the range 1-100.
  16553. format: int32
  16554. type: integer
  16555. required:
  16556. - podAffinityTerm
  16557. - weight
  16558. type: object
  16559. type: array
  16560. requiredDuringSchedulingIgnoredDuringExecution:
  16561. description: If the affinity requirements
  16562. specified by this field are not met
  16563. at scheduling time, the pod will not
  16564. be scheduled onto the node. If the affinity
  16565. requirements specified by this field
  16566. cease to be met at some point during
  16567. pod execution (e.g. due to a pod label
  16568. update), the system may or may not try
  16569. to eventually evict the pod from its
  16570. node. When there are multiple elements,
  16571. the lists of nodes corresponding to
  16572. each podAffinityTerm are intersected,
  16573. i.e. all terms must be satisfied.
  16574. items:
  16575. description: Defines a set of pods (namely
  16576. those matching the labelSelector relative
  16577. to the given namespace(s)) that this
  16578. pod should be co-located (affinity)
  16579. or not co-located (anti-affinity)
  16580. with, where co-located is defined
  16581. as running on a node whose value of
  16582. the label with key <topologyKey> matches
  16583. that of any node on which a pod of
  16584. the set of pods is running
  16585. properties:
  16586. labelSelector:
  16587. description: A label query over
  16588. a set of resources, in this case
  16589. pods.
  16590. properties:
  16591. matchExpressions:
  16592. description: matchExpressions
  16593. is a list of label selector
  16594. requirements. The requirements
  16595. are ANDed.
  16596. items:
  16597. description: A label selector
  16598. requirement is a selector
  16599. that contains values, a
  16600. key, and an operator that
  16601. relates the key and values.
  16602. properties:
  16603. key:
  16604. description: key is the
  16605. label key that the selector
  16606. applies to.
  16607. type: string
  16608. operator:
  16609. description: operator
  16610. represents a key's relationship
  16611. to a set of values.
  16612. Valid operators are
  16613. In, NotIn, Exists and
  16614. DoesNotExist.
  16615. type: string
  16616. values:
  16617. description: values is
  16618. an array of string values.
  16619. If the operator is In
  16620. or NotIn, the values
  16621. array must be non-empty.
  16622. If the operator is Exists
  16623. or DoesNotExist, the
  16624. values array must be
  16625. empty. This array is
  16626. replaced during a strategic
  16627. merge patch.
  16628. items:
  16629. type: string
  16630. type: array
  16631. required:
  16632. - key
  16633. - operator
  16634. type: object
  16635. type: array
  16636. matchLabels:
  16637. additionalProperties:
  16638. type: string
  16639. description: matchLabels is
  16640. a map of {key,value} pairs.
  16641. A single {key,value} in the
  16642. matchLabels map is equivalent
  16643. to an element of matchExpressions,
  16644. whose key field is "key",
  16645. the operator is "In", and
  16646. the values array contains
  16647. only "value". The requirements
  16648. are ANDed.
  16649. type: object
  16650. type: object
  16651. x-kubernetes-map-type: atomic
  16652. namespaceSelector:
  16653. description: A label query over
  16654. the set of namespaces that the
  16655. term applies to. The term is applied
  16656. to the union of the namespaces
  16657. selected by this field and the
  16658. ones listed in the namespaces
  16659. field. null selector and null
  16660. or empty namespaces list means
  16661. "this pod's namespace". An empty
  16662. selector ({}) matches all namespaces.
  16663. properties:
  16664. matchExpressions:
  16665. description: matchExpressions
  16666. is a list of label selector
  16667. requirements. The requirements
  16668. are ANDed.
  16669. items:
  16670. description: A label selector
  16671. requirement is a selector
  16672. that contains values, a
  16673. key, and an operator that
  16674. relates the key and values.
  16675. properties:
  16676. key:
  16677. description: key is the
  16678. label key that the selector
  16679. applies to.
  16680. type: string
  16681. operator:
  16682. description: operator
  16683. represents a key's relationship
  16684. to a set of values.
  16685. Valid operators are
  16686. In, NotIn, Exists and
  16687. DoesNotExist.
  16688. type: string
  16689. values:
  16690. description: values is
  16691. an array of string values.
  16692. If the operator is In
  16693. or NotIn, the values
  16694. array must be non-empty.
  16695. If the operator is Exists
  16696. or DoesNotExist, the
  16697. values array must be
  16698. empty. This array is
  16699. replaced during a strategic
  16700. merge patch.
  16701. items:
  16702. type: string
  16703. type: array
  16704. required:
  16705. - key
  16706. - operator
  16707. type: object
  16708. type: array
  16709. matchLabels:
  16710. additionalProperties:
  16711. type: string
  16712. description: matchLabels is
  16713. a map of {key,value} pairs.
  16714. A single {key,value} in the
  16715. matchLabels map is equivalent
  16716. to an element of matchExpressions,
  16717. whose key field is "key",
  16718. the operator is "In", and
  16719. the values array contains
  16720. only "value". The requirements
  16721. are ANDed.
  16722. type: object
  16723. type: object
  16724. x-kubernetes-map-type: atomic
  16725. namespaces:
  16726. description: namespaces specifies
  16727. a static list of namespace names
  16728. that the term applies to. The
  16729. term is applied to the union of
  16730. the namespaces listed in this
  16731. field and the ones selected by
  16732. namespaceSelector. null or empty
  16733. namespaces list and null namespaceSelector
  16734. means "this pod's namespace".
  16735. items:
  16736. type: string
  16737. type: array
  16738. topologyKey:
  16739. description: This pod should be
  16740. co-located (affinity) or not co-located
  16741. (anti-affinity) with the pods
  16742. matching the labelSelector in
  16743. the specified namespaces, where
  16744. co-located is defined as running
  16745. on a node whose value of the label
  16746. with key topologyKey matches that
  16747. of any node on which any of the
  16748. selected pods is running. Empty
  16749. topologyKey is not allowed.
  16750. type: string
  16751. required:
  16752. - topologyKey
  16753. type: object
  16754. type: array
  16755. type: object
  16756. podAntiAffinity:
  16757. description: Describes pod anti-affinity scheduling
  16758. rules (e.g. avoid putting this pod in the
  16759. same node, zone, etc. as some other pod(s)).
  16760. properties:
  16761. preferredDuringSchedulingIgnoredDuringExecution:
  16762. description: The scheduler will prefer
  16763. to schedule pods to nodes that satisfy
  16764. the anti-affinity expressions specified
  16765. by this field, but it may choose a node
  16766. that violates one or more of the expressions.
  16767. The node that is most preferred is the
  16768. one with the greatest sum of weights,
  16769. i.e. for each node that meets all of
  16770. the scheduling requirements (resource
  16771. request, requiredDuringScheduling anti-affinity
  16772. expressions, etc.), compute a sum by
  16773. iterating through the elements of this
  16774. field and adding "weight" to the sum
  16775. if the node has pods which matches the
  16776. corresponding podAffinityTerm; the node(s)
  16777. with the highest sum are the most preferred.
  16778. items:
  16779. description: The weights of all of the
  16780. matched WeightedPodAffinityTerm fields
  16781. are added per-node to find the most
  16782. preferred node(s)
  16783. properties:
  16784. podAffinityTerm:
  16785. description: Required. A pod affinity
  16786. term, associated with the corresponding
  16787. weight.
  16788. properties:
  16789. labelSelector:
  16790. description: A label query over
  16791. a set of resources, in this
  16792. case pods.
  16793. properties:
  16794. matchExpressions:
  16795. description: matchExpressions
  16796. is a list of label selector
  16797. requirements. The requirements
  16798. are ANDed.
  16799. items:
  16800. description: A label selector
  16801. requirement is a selector
  16802. that contains values,
  16803. a key, and an operator
  16804. that relates the key
  16805. and values.
  16806. properties:
  16807. key:
  16808. description: key is
  16809. the label key that
  16810. the selector applies
  16811. to.
  16812. type: string
  16813. operator:
  16814. description: operator
  16815. represents a key's
  16816. relationship to
  16817. a set of values.
  16818. Valid operators
  16819. are In, NotIn, Exists
  16820. and DoesNotExist.
  16821. type: string
  16822. values:
  16823. description: values
  16824. is an array of string
  16825. values. If the operator
  16826. is In or NotIn,
  16827. the values array
  16828. must be non-empty.
  16829. If the operator
  16830. is Exists or DoesNotExist,
  16831. the values array
  16832. must be empty. This
  16833. array is replaced
  16834. during a strategic
  16835. merge patch.
  16836. items:
  16837. type: string
  16838. type: array
  16839. required:
  16840. - key
  16841. - operator
  16842. type: object
  16843. type: array
  16844. matchLabels:
  16845. additionalProperties:
  16846. type: string
  16847. description: matchLabels
  16848. is a map of {key,value}
  16849. pairs. A single {key,value}
  16850. in the matchLabels map
  16851. is equivalent to an element
  16852. of matchExpressions, whose
  16853. key field is "key", the
  16854. operator is "In", and
  16855. the values array contains
  16856. only "value". The requirements
  16857. are ANDed.
  16858. type: object
  16859. type: object
  16860. x-kubernetes-map-type: atomic
  16861. namespaceSelector:
  16862. description: A label query over
  16863. the set of namespaces that
  16864. the term applies to. The term
  16865. is applied to the union of
  16866. the namespaces selected by
  16867. this field and the ones listed
  16868. in the namespaces field. null
  16869. selector and null or empty
  16870. namespaces list means "this
  16871. pod's namespace". An empty
  16872. selector ({}) matches all
  16873. namespaces.
  16874. properties:
  16875. matchExpressions:
  16876. description: matchExpressions
  16877. is a list of label selector
  16878. requirements. The requirements
  16879. are ANDed.
  16880. items:
  16881. description: A label selector
  16882. requirement is a selector
  16883. that contains values,
  16884. a key, and an operator
  16885. that relates the key
  16886. and values.
  16887. properties:
  16888. key:
  16889. description: key is
  16890. the label key that
  16891. the selector applies
  16892. to.
  16893. type: string
  16894. operator:
  16895. description: operator
  16896. represents a key's
  16897. relationship to
  16898. a set of values.
  16899. Valid operators
  16900. are In, NotIn, Exists
  16901. and DoesNotExist.
  16902. type: string
  16903. values:
  16904. description: values
  16905. is an array of string
  16906. values. If the operator
  16907. is In or NotIn,
  16908. the values array
  16909. must be non-empty.
  16910. If the operator
  16911. is Exists or DoesNotExist,
  16912. the values array
  16913. must be empty. This
  16914. array is replaced
  16915. during a strategic
  16916. merge patch.
  16917. items:
  16918. type: string
  16919. type: array
  16920. required:
  16921. - key
  16922. - operator
  16923. type: object
  16924. type: array
  16925. matchLabels:
  16926. additionalProperties:
  16927. type: string
  16928. description: matchLabels
  16929. is a map of {key,value}
  16930. pairs. A single {key,value}
  16931. in the matchLabels map
  16932. is equivalent to an element
  16933. of matchExpressions, whose
  16934. key field is "key", the
  16935. operator is "In", and
  16936. the values array contains
  16937. only "value". The requirements
  16938. are ANDed.
  16939. type: object
  16940. type: object
  16941. x-kubernetes-map-type: atomic
  16942. namespaces:
  16943. description: namespaces specifies
  16944. a static list of namespace
  16945. names that the term applies
  16946. to. The term is applied to
  16947. the union of the namespaces
  16948. listed in this field and the
  16949. ones selected by namespaceSelector.
  16950. null or empty namespaces list
  16951. and null namespaceSelector
  16952. means "this pod's namespace".
  16953. items:
  16954. type: string
  16955. type: array
  16956. topologyKey:
  16957. description: This pod should
  16958. be co-located (affinity) or
  16959. not co-located (anti-affinity)
  16960. with the pods matching the
  16961. labelSelector in the specified
  16962. namespaces, where co-located
  16963. is defined as running on a
  16964. node whose value of the label
  16965. with key topologyKey matches
  16966. that of any node on which
  16967. any of the selected pods is
  16968. running. Empty topologyKey
  16969. is not allowed.
  16970. type: string
  16971. required:
  16972. - topologyKey
  16973. type: object
  16974. weight:
  16975. description: weight associated with
  16976. matching the corresponding podAffinityTerm,
  16977. in the range 1-100.
  16978. format: int32
  16979. type: integer
  16980. required:
  16981. - podAffinityTerm
  16982. - weight
  16983. type: object
  16984. type: array
  16985. requiredDuringSchedulingIgnoredDuringExecution:
  16986. description: If the anti-affinity requirements
  16987. specified by this field are not met
  16988. at scheduling time, the pod will not
  16989. be scheduled onto the node. If the anti-affinity
  16990. requirements specified by this field
  16991. cease to be met at some point during
  16992. pod execution (e.g. due to a pod label
  16993. update), the system may or may not try
  16994. to eventually evict the pod from its
  16995. node. When there are multiple elements,
  16996. the lists of nodes corresponding to
  16997. each podAffinityTerm are intersected,
  16998. i.e. all terms must be satisfied.
  16999. items:
  17000. description: Defines a set of pods (namely
  17001. those matching the labelSelector relative
  17002. to the given namespace(s)) that this
  17003. pod should be co-located (affinity)
  17004. or not co-located (anti-affinity)
  17005. with, where co-located is defined
  17006. as running on a node whose value of
  17007. the label with key <topologyKey> matches
  17008. that of any node on which a pod of
  17009. the set of pods is running
  17010. properties:
  17011. labelSelector:
  17012. description: A label query over
  17013. a set of resources, in this case
  17014. pods.
  17015. properties:
  17016. matchExpressions:
  17017. description: matchExpressions
  17018. is a list of label selector
  17019. requirements. The requirements
  17020. are ANDed.
  17021. items:
  17022. description: A label selector
  17023. requirement is a selector
  17024. that contains values, a
  17025. key, and an operator that
  17026. relates the key and values.
  17027. properties:
  17028. key:
  17029. description: key is the
  17030. label key that the selector
  17031. applies to.
  17032. type: string
  17033. operator:
  17034. description: operator
  17035. represents a key's relationship
  17036. to a set of values.
  17037. Valid operators are
  17038. In, NotIn, Exists and
  17039. DoesNotExist.
  17040. type: string
  17041. values:
  17042. description: values is
  17043. an array of string values.
  17044. If the operator is In
  17045. or NotIn, the values
  17046. array must be non-empty.
  17047. If the operator is Exists
  17048. or DoesNotExist, the
  17049. values array must be
  17050. empty. This array is
  17051. replaced during a strategic
  17052. merge patch.
  17053. items:
  17054. type: string
  17055. type: array
  17056. required:
  17057. - key
  17058. - operator
  17059. type: object
  17060. type: array
  17061. matchLabels:
  17062. additionalProperties:
  17063. type: string
  17064. description: matchLabels is
  17065. a map of {key,value} pairs.
  17066. A single {key,value} in the
  17067. matchLabels map is equivalent
  17068. to an element of matchExpressions,
  17069. whose key field is "key",
  17070. the operator is "In", and
  17071. the values array contains
  17072. only "value". The requirements
  17073. are ANDed.
  17074. type: object
  17075. type: object
  17076. x-kubernetes-map-type: atomic
  17077. namespaceSelector:
  17078. description: A label query over
  17079. the set of namespaces that the
  17080. term applies to. The term is applied
  17081. to the union of the namespaces
  17082. selected by this field and the
  17083. ones listed in the namespaces
  17084. field. null selector and null
  17085. or empty namespaces list means
  17086. "this pod's namespace". An empty
  17087. selector ({}) matches all namespaces.
  17088. properties:
  17089. matchExpressions:
  17090. description: matchExpressions
  17091. is a list of label selector
  17092. requirements. The requirements
  17093. are ANDed.
  17094. items:
  17095. description: A label selector
  17096. requirement is a selector
  17097. that contains values, a
  17098. key, and an operator that
  17099. relates the key and values.
  17100. properties:
  17101. key:
  17102. description: key is the
  17103. label key that the selector
  17104. applies to.
  17105. type: string
  17106. operator:
  17107. description: operator
  17108. represents a key's relationship
  17109. to a set of values.
  17110. Valid operators are
  17111. In, NotIn, Exists and
  17112. DoesNotExist.
  17113. type: string
  17114. values:
  17115. description: values is
  17116. an array of string values.
  17117. If the operator is In
  17118. or NotIn, the values
  17119. array must be non-empty.
  17120. If the operator is Exists
  17121. or DoesNotExist, the
  17122. values array must be
  17123. empty. This array is
  17124. replaced during a strategic
  17125. merge patch.
  17126. items:
  17127. type: string
  17128. type: array
  17129. required:
  17130. - key
  17131. - operator
  17132. type: object
  17133. type: array
  17134. matchLabels:
  17135. additionalProperties:
  17136. type: string
  17137. description: matchLabels is
  17138. a map of {key,value} pairs.
  17139. A single {key,value} in the
  17140. matchLabels map is equivalent
  17141. to an element of matchExpressions,
  17142. whose key field is "key",
  17143. the operator is "In", and
  17144. the values array contains
  17145. only "value". The requirements
  17146. are ANDed.
  17147. type: object
  17148. type: object
  17149. x-kubernetes-map-type: atomic
  17150. namespaces:
  17151. description: namespaces specifies
  17152. a static list of namespace names
  17153. that the term applies to. The
  17154. term is applied to the union of
  17155. the namespaces listed in this
  17156. field and the ones selected by
  17157. namespaceSelector. null or empty
  17158. namespaces list and null namespaceSelector
  17159. means "this pod's namespace".
  17160. items:
  17161. type: string
  17162. type: array
  17163. topologyKey:
  17164. description: This pod should be
  17165. co-located (affinity) or not co-located
  17166. (anti-affinity) with the pods
  17167. matching the labelSelector in
  17168. the specified namespaces, where
  17169. co-located is defined as running
  17170. on a node whose value of the label
  17171. with key topologyKey matches that
  17172. of any node on which any of the
  17173. selected pods is running. Empty
  17174. topologyKey is not allowed.
  17175. type: string
  17176. required:
  17177. - topologyKey
  17178. type: object
  17179. type: array
  17180. type: object
  17181. type: object
  17182. containers:
  17183. description: Containers is a list of calico-windows-upgrade
  17184. containers. If specified, this overrides the
  17185. specified calico-windows-upgrade DaemonSet containers.
  17186. If omitted, the calico-windows-upgrade DaemonSet
  17187. will use its default values for its containers.
  17188. items:
  17189. description: CalicoWindowsUpgradeDaemonSetContainer
  17190. is a calico-windows-upgrade DaemonSet container.
  17191. properties:
  17192. name:
  17193. description: Name is an enum which identifies
  17194. the calico-windows-upgrade DaemonSet container
  17195. by name.
  17196. enum:
  17197. - calico-windows-upgrade
  17198. type: string
  17199. resources:
  17200. description: Resources allows customization
  17201. of limits and requests for compute resources
  17202. such as cpu and memory. If specified,
  17203. this overrides the named calico-windows-upgrade
  17204. DaemonSet container's resources. If omitted,
  17205. the calico-windows-upgrade DaemonSet will
  17206. use its default value for this container's
  17207. resources.
  17208. properties:
  17209. limits:
  17210. additionalProperties:
  17211. anyOf:
  17212. - type: integer
  17213. - type: string
  17214. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  17215. x-kubernetes-int-or-string: true
  17216. description: 'Limits describes the maximum
  17217. amount of compute resources allowed.
  17218. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  17219. type: object
  17220. requests:
  17221. additionalProperties:
  17222. anyOf:
  17223. - type: integer
  17224. - type: string
  17225. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  17226. x-kubernetes-int-or-string: true
  17227. description: 'Requests describes the
  17228. minimum amount of compute resources
  17229. required. If Requests is omitted for
  17230. a container, it defaults to Limits
  17231. if that is explicitly specified, otherwise
  17232. to an implementation-defined value.
  17233. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  17234. type: object
  17235. type: object
  17236. required:
  17237. - name
  17238. type: object
  17239. type: array
  17240. nodeSelector:
  17241. additionalProperties:
  17242. type: string
  17243. description: 'NodeSelector is the calico-windows-upgrade
  17244. pod''s scheduling constraints. If specified,
  17245. each of the key/value pairs are added to the
  17246. calico-windows-upgrade DaemonSet nodeSelector
  17247. provided the key does not already exist in the
  17248. object''s nodeSelector. If omitted, the calico-windows-upgrade
  17249. DaemonSet will use its default value for nodeSelector.
  17250. WARNING: Please note that this field will modify
  17251. the default calico-windows-upgrade DaemonSet
  17252. nodeSelector.'
  17253. type: object
  17254. tolerations:
  17255. description: 'Tolerations is the calico-windows-upgrade
  17256. pod''s tolerations. If specified, this overrides
  17257. any tolerations that may be set on the calico-windows-upgrade
  17258. DaemonSet. If omitted, the calico-windows-upgrade
  17259. DaemonSet will use its default value for tolerations.
  17260. WARNING: Please note that this field will override
  17261. the default calico-windows-upgrade DaemonSet
  17262. tolerations.'
  17263. items:
  17264. description: The pod this Toleration is attached
  17265. to tolerates any taint that matches the triple
  17266. <key,value,effect> using the matching operator
  17267. <operator>.
  17268. properties:
  17269. effect:
  17270. description: Effect indicates the taint
  17271. effect to match. Empty means match all
  17272. taint effects. When specified, allowed
  17273. values are NoSchedule, PreferNoSchedule
  17274. and NoExecute.
  17275. type: string
  17276. key:
  17277. description: Key is the taint key that the
  17278. toleration applies to. Empty means match
  17279. all taint keys. If the key is empty, operator
  17280. must be Exists; this combination means
  17281. to match all values and all keys.
  17282. type: string
  17283. operator:
  17284. description: Operator represents a key's
  17285. relationship to the value. Valid operators
  17286. are Exists and Equal. Defaults to Equal.
  17287. Exists is equivalent to wildcard for value,
  17288. so that a pod can tolerate all taints
  17289. of a particular category.
  17290. type: string
  17291. tolerationSeconds:
  17292. description: TolerationSeconds represents
  17293. the period of time the toleration (which
  17294. must be of effect NoExecute, otherwise
  17295. this field is ignored) tolerates the taint.
  17296. By default, it is not set, which means
  17297. tolerate the taint forever (do not evict).
  17298. Zero and negative values will be treated
  17299. as 0 (evict immediately) by the system.
  17300. format: int64
  17301. type: integer
  17302. value:
  17303. description: Value is the taint value the
  17304. toleration matches to. If the operator
  17305. is Exists, the value should be empty,
  17306. otherwise just a regular string.
  17307. type: string
  17308. type: object
  17309. type: array
  17310. type: object
  17311. type: object
  17312. type: object
  17313. type: object
  17314. certificateManagement:
  17315. description: CertificateManagement configures pods to submit a
  17316. CertificateSigningRequest to the certificates.k8s.io/v1beta1
  17317. API in order to obtain TLS certificates. This feature requires
  17318. that you bring your own CSR signing and approval process, otherwise
  17319. pods will be stuck during initialization.
  17320. properties:
  17321. caCert:
  17322. description: Certificate of the authority that signs the CertificateSigningRequests
  17323. in PEM format.
  17324. format: byte
  17325. type: string
  17326. keyAlgorithm:
  17327. description: 'Specify the algorithm used by pods to generate
  17328. a key pair that is associated with the X.509 certificate
  17329. request. Default: RSAWithSize2048'
  17330. enum:
  17331. - ""
  17332. - RSAWithSize2048
  17333. - RSAWithSize4096
  17334. - RSAWithSize8192
  17335. - ECDSAWithCurve256
  17336. - ECDSAWithCurve384
  17337. - ECDSAWithCurve521
  17338. type: string
  17339. signatureAlgorithm:
  17340. description: 'Specify the algorithm used for the signature
  17341. of the X.509 certificate request. Default: SHA256WithRSA'
  17342. enum:
  17343. - ""
  17344. - SHA256WithRSA
  17345. - SHA384WithRSA
  17346. - SHA512WithRSA
  17347. - ECDSAWithSHA256
  17348. - ECDSAWithSHA384
  17349. - ECDSAWithSHA512
  17350. type: string
  17351. signerName:
  17352. description: 'When a CSR is issued to the certificates.k8s.io
  17353. API, the signerName is added to the request in order to
  17354. accommodate for clusters with multiple signers. Must be
  17355. formatted as: `<my-domain>/<my-signername>`.'
  17356. type: string
  17357. required:
  17358. - caCert
  17359. - signerName
  17360. type: object
  17361. cni:
  17362. description: CNI specifies the CNI that will be used by this installation.
  17363. properties:
  17364. ipam:
  17365. description: IPAM specifies the pod IP address management
  17366. that will be used in the Calico or Calico Enterprise installation.
  17367. properties:
  17368. type:
  17369. description: "Specifies the IPAM plugin that will be used
  17370. in the Calico or Calico Enterprise installation. * For
  17371. CNI Plugin Calico, this field defaults to Calico. *
  17372. For CNI Plugin GKE, this field defaults to HostLocal.
  17373. * For CNI Plugin AzureVNET, this field defaults to AzureVNET.
  17374. * For CNI Plugin AmazonVPC, this field defaults to AmazonVPC.
  17375. \n The IPAM plugin is installed and configured only
  17376. if the CNI plugin is set to Calico, for all other values
  17377. of the CNI plugin the plugin binaries and CNI config
  17378. is a dependency that is expected to be installed separately.
  17379. \n Default: Calico"
  17380. enum:
  17381. - Calico
  17382. - HostLocal
  17383. - AmazonVPC
  17384. - AzureVNET
  17385. type: string
  17386. required:
  17387. - type
  17388. type: object
  17389. type:
  17390. description: "Specifies the CNI plugin that will be used in
  17391. the Calico or Calico Enterprise installation. * For KubernetesProvider
  17392. GKE, this field defaults to GKE. * For KubernetesProvider
  17393. AKS, this field defaults to AzureVNET. * For KubernetesProvider
  17394. EKS, this field defaults to AmazonVPC. * If aws-node daemonset
  17395. exists in kube-system when the Installation resource is
  17396. created, this field defaults to AmazonVPC. * For all other
  17397. cases this field defaults to Calico. \n For the value Calico,
  17398. the CNI plugin binaries and CNI config will be installed
  17399. as part of deployment, for all other values the CNI plugin
  17400. binaries and CNI config is a dependency that is expected
  17401. to be installed separately. \n Default: Calico"
  17402. enum:
  17403. - Calico
  17404. - GKE
  17405. - AmazonVPC
  17406. - AzureVNET
  17407. type: string
  17408. required:
  17409. - type
  17410. type: object
  17411. componentResources:
  17412. description: Deprecated. Please use CalicoNodeDaemonSet, TyphaDeployment,
  17413. and KubeControllersDeployment. ComponentResources can be used
  17414. to customize the resource requirements for each component. Node,
  17415. Typha, and KubeControllers are supported for installations.
  17416. items:
  17417. description: Deprecated. Please use component resource config
  17418. fields in Installation.Spec instead. The ComponentResource
  17419. struct associates a ResourceRequirements with a component
  17420. by name
  17421. properties:
  17422. componentName:
  17423. description: ComponentName is an enum which identifies the
  17424. component
  17425. enum:
  17426. - Node
  17427. - Typha
  17428. - KubeControllers
  17429. type: string
  17430. resourceRequirements:
  17431. description: ResourceRequirements allows customization of
  17432. limits and requests for compute resources such as cpu
  17433. and memory.
  17434. properties:
  17435. limits:
  17436. additionalProperties:
  17437. anyOf:
  17438. - type: integer
  17439. - type: string
  17440. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  17441. x-kubernetes-int-or-string: true
  17442. description: 'Limits describes the maximum amount of
  17443. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  17444. type: object
  17445. requests:
  17446. additionalProperties:
  17447. anyOf:
  17448. - type: integer
  17449. - type: string
  17450. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  17451. x-kubernetes-int-or-string: true
  17452. description: 'Requests describes the minimum amount
  17453. of compute resources required. If Requests is omitted
  17454. for a container, it defaults to Limits if that is
  17455. explicitly specified, otherwise to an implementation-defined
  17456. value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  17457. type: object
  17458. type: object
  17459. required:
  17460. - componentName
  17461. - resourceRequirements
  17462. type: object
  17463. type: array
  17464. controlPlaneNodeSelector:
  17465. additionalProperties:
  17466. type: string
  17467. description: ControlPlaneNodeSelector is used to select control
  17468. plane nodes on which to run Calico components. This is globally
  17469. applied to all resources created by the operator excluding daemonsets.
  17470. type: object
  17471. controlPlaneReplicas:
  17472. description: ControlPlaneReplicas defines how many replicas of
  17473. the control plane core components will be deployed. This field
  17474. applies to all control plane components that support High Availability.
  17475. Defaults to 2.
  17476. format: int32
  17477. type: integer
  17478. controlPlaneTolerations:
  17479. description: ControlPlaneTolerations specify tolerations which
  17480. are then globally applied to all resources created by the operator.
  17481. items:
  17482. description: The pod this Toleration is attached to tolerates
  17483. any taint that matches the triple <key,value,effect> using
  17484. the matching operator <operator>.
  17485. properties:
  17486. effect:
  17487. description: Effect indicates the taint effect to match.
  17488. Empty means match all taint effects. When specified, allowed
  17489. values are NoSchedule, PreferNoSchedule and NoExecute.
  17490. type: string
  17491. key:
  17492. description: Key is the taint key that the toleration applies
  17493. to. Empty means match all taint keys. If the key is empty,
  17494. operator must be Exists; this combination means to match
  17495. all values and all keys.
  17496. type: string
  17497. operator:
  17498. description: Operator represents a key's relationship to
  17499. the value. Valid operators are Exists and Equal. Defaults
  17500. to Equal. Exists is equivalent to wildcard for value,
  17501. so that a pod can tolerate all taints of a particular
  17502. category.
  17503. type: string
  17504. tolerationSeconds:
  17505. description: TolerationSeconds represents the period of
  17506. time the toleration (which must be of effect NoExecute,
  17507. otherwise this field is ignored) tolerates the taint.
  17508. By default, it is not set, which means tolerate the taint
  17509. forever (do not evict). Zero and negative values will
  17510. be treated as 0 (evict immediately) by the system.
  17511. format: int64
  17512. type: integer
  17513. value:
  17514. description: Value is the taint value the toleration matches
  17515. to. If the operator is Exists, the value should be empty,
  17516. otherwise just a regular string.
  17517. type: string
  17518. type: object
  17519. type: array
  17520. csiNodeDriverDaemonSet:
  17521. description: CSINodeDriverDaemonSet configures the csi-node-driver
  17522. DaemonSet.
  17523. properties:
  17524. metadata:
  17525. description: Metadata is a subset of a Kubernetes object's
  17526. metadata that is added to the DaemonSet.
  17527. properties:
  17528. annotations:
  17529. additionalProperties:
  17530. type: string
  17531. description: Annotations is a map of arbitrary non-identifying
  17532. metadata. Each of these key/value pairs are added to
  17533. the object's annotations provided the key does not already
  17534. exist in the object's annotations.
  17535. type: object
  17536. labels:
  17537. additionalProperties:
  17538. type: string
  17539. description: Labels is a map of string keys and values
  17540. that may match replicaset and service selectors. Each
  17541. of these key/value pairs are added to the object's labels
  17542. provided the key does not already exist in the object's
  17543. labels.
  17544. type: object
  17545. type: object
  17546. spec:
  17547. description: Spec is the specification of the csi-node-driver
  17548. DaemonSet.
  17549. properties:
  17550. minReadySeconds:
  17551. description: MinReadySeconds is the minimum number of
  17552. seconds for which a newly created DaemonSet pod should
  17553. be ready without any of its container crashing, for
  17554. it to be considered available. If specified, this overrides
  17555. any minReadySeconds value that may be set on the csi-node-driver
  17556. DaemonSet. If omitted, the csi-node-driver DaemonSet
  17557. will use its default value for minReadySeconds.
  17558. format: int32
  17559. maximum: 2147483647
  17560. minimum: 0
  17561. type: integer
  17562. template:
  17563. description: Template describes the csi-node-driver DaemonSet
  17564. pod that will be created.
  17565. properties:
  17566. metadata:
  17567. description: Metadata is a subset of a Kubernetes
  17568. object's metadata that is added to the pod's metadata.
  17569. properties:
  17570. annotations:
  17571. additionalProperties:
  17572. type: string
  17573. description: Annotations is a map of arbitrary
  17574. non-identifying metadata. Each of these key/value
  17575. pairs are added to the object's annotations
  17576. provided the key does not already exist in the
  17577. object's annotations.
  17578. type: object
  17579. labels:
  17580. additionalProperties:
  17581. type: string
  17582. description: Labels is a map of string keys and
  17583. values that may match replicaset and service
  17584. selectors. Each of these key/value pairs are
  17585. added to the object's labels provided the key
  17586. does not already exist in the object's labels.
  17587. type: object
  17588. type: object
  17589. spec:
  17590. description: Spec is the csi-node-driver DaemonSet's
  17591. PodSpec.
  17592. properties:
  17593. affinity:
  17594. description: 'Affinity is a group of affinity
  17595. scheduling rules for the csi-node-driver pods.
  17596. If specified, this overrides any affinity that
  17597. may be set on the csi-node-driver DaemonSet.
  17598. If omitted, the csi-node-driver DaemonSet will
  17599. use its default value for affinity. WARNING:
  17600. Please note that this field will override the
  17601. default csi-node-driver DaemonSet affinity.'
  17602. properties:
  17603. nodeAffinity:
  17604. description: Describes node affinity scheduling
  17605. rules for the pod.
  17606. properties:
  17607. preferredDuringSchedulingIgnoredDuringExecution:
  17608. description: The scheduler will prefer
  17609. to schedule pods to nodes that satisfy
  17610. the affinity expressions specified by
  17611. this field, but it may choose a node
  17612. that violates one or more of the expressions.
  17613. The node that is most preferred is the
  17614. one with the greatest sum of weights,
  17615. i.e. for each node that meets all of
  17616. the scheduling requirements (resource
  17617. request, requiredDuringScheduling affinity
  17618. expressions, etc.), compute a sum by
  17619. iterating through the elements of this
  17620. field and adding "weight" to the sum
  17621. if the node matches the corresponding
  17622. matchExpressions; the node(s) with the
  17623. highest sum are the most preferred.
  17624. items:
  17625. description: An empty preferred scheduling
  17626. term matches all objects with implicit
  17627. weight 0 (i.e. it's a no-op). A null
  17628. preferred scheduling term matches
  17629. no objects (i.e. is also a no-op).
  17630. properties:
  17631. preference:
  17632. description: A node selector term,
  17633. associated with the corresponding
  17634. weight.
  17635. properties:
  17636. matchExpressions:
  17637. description: A list of node
  17638. selector requirements by node's
  17639. labels.
  17640. items:
  17641. description: A node selector
  17642. requirement is a selector
  17643. that contains values, a
  17644. key, and an operator that
  17645. relates the key and values.
  17646. properties:
  17647. key:
  17648. description: The label
  17649. key that the selector
  17650. applies to.
  17651. type: string
  17652. operator:
  17653. description: Represents
  17654. a key's relationship
  17655. to a set of values.
  17656. Valid operators are
  17657. In, NotIn, Exists, DoesNotExist.
  17658. Gt, and Lt.
  17659. type: string
  17660. values:
  17661. description: An array
  17662. of string values. If
  17663. the operator is In or
  17664. NotIn, the values array
  17665. must be non-empty. If
  17666. the operator is Exists
  17667. or DoesNotExist, the
  17668. values array must be
  17669. empty. If the operator
  17670. is Gt or Lt, the values
  17671. array must have a single
  17672. element, which will
  17673. be interpreted as an
  17674. integer. This array
  17675. is replaced during a
  17676. strategic merge patch.
  17677. items:
  17678. type: string
  17679. type: array
  17680. required:
  17681. - key
  17682. - operator
  17683. type: object
  17684. type: array
  17685. matchFields:
  17686. description: A list of node
  17687. selector requirements by node's
  17688. fields.
  17689. items:
  17690. description: A node selector
  17691. requirement is a selector
  17692. that contains values, a
  17693. key, and an operator that
  17694. relates the key and values.
  17695. properties:
  17696. key:
  17697. description: The label
  17698. key that the selector
  17699. applies to.
  17700. type: string
  17701. operator:
  17702. description: Represents
  17703. a key's relationship
  17704. to a set of values.
  17705. Valid operators are
  17706. In, NotIn, Exists, DoesNotExist.
  17707. Gt, and Lt.
  17708. type: string
  17709. values:
  17710. description: An array
  17711. of string values. If
  17712. the operator is In or
  17713. NotIn, the values array
  17714. must be non-empty. If
  17715. the operator is Exists
  17716. or DoesNotExist, the
  17717. values array must be
  17718. empty. If the operator
  17719. is Gt or Lt, the values
  17720. array must have a single
  17721. element, which will
  17722. be interpreted as an
  17723. integer. This array
  17724. is replaced during a
  17725. strategic merge patch.
  17726. items:
  17727. type: string
  17728. type: array
  17729. required:
  17730. - key
  17731. - operator
  17732. type: object
  17733. type: array
  17734. type: object
  17735. x-kubernetes-map-type: atomic
  17736. weight:
  17737. description: Weight associated with
  17738. matching the corresponding nodeSelectorTerm,
  17739. in the range 1-100.
  17740. format: int32
  17741. type: integer
  17742. required:
  17743. - preference
  17744. - weight
  17745. type: object
  17746. type: array
  17747. requiredDuringSchedulingIgnoredDuringExecution:
  17748. description: If the affinity requirements
  17749. specified by this field are not met
  17750. at scheduling time, the pod will not
  17751. be scheduled onto the node. If the affinity
  17752. requirements specified by this field
  17753. cease to be met at some point during
  17754. pod execution (e.g. due to an update),
  17755. the system may or may not try to eventually
  17756. evict the pod from its node.
  17757. properties:
  17758. nodeSelectorTerms:
  17759. description: Required. A list of node
  17760. selector terms. The terms are ORed.
  17761. items:
  17762. description: A null or empty node
  17763. selector term matches no objects.
  17764. The requirements of them are ANDed.
  17765. The TopologySelectorTerm type
  17766. implements a subset of the NodeSelectorTerm.
  17767. properties:
  17768. matchExpressions:
  17769. description: A list of node
  17770. selector requirements by node's
  17771. labels.
  17772. items:
  17773. description: A node selector
  17774. requirement is a selector
  17775. that contains values, a
  17776. key, and an operator that
  17777. relates the key and values.
  17778. properties:
  17779. key:
  17780. description: The label
  17781. key that the selector
  17782. applies to.
  17783. type: string
  17784. operator:
  17785. description: Represents
  17786. a key's relationship
  17787. to a set of values.
  17788. Valid operators are
  17789. In, NotIn, Exists, DoesNotExist.
  17790. Gt, and Lt.
  17791. type: string
  17792. values:
  17793. description: An array
  17794. of string values. If
  17795. the operator is In or
  17796. NotIn, the values array
  17797. must be non-empty. If
  17798. the operator is Exists
  17799. or DoesNotExist, the
  17800. values array must be
  17801. empty. If the operator
  17802. is Gt or Lt, the values
  17803. array must have a single
  17804. element, which will
  17805. be interpreted as an
  17806. integer. This array
  17807. is replaced during a
  17808. strategic merge patch.
  17809. items:
  17810. type: string
  17811. type: array
  17812. required:
  17813. - key
  17814. - operator
  17815. type: object
  17816. type: array
  17817. matchFields:
  17818. description: A list of node
  17819. selector requirements by node's
  17820. fields.
  17821. items:
  17822. description: A node selector
  17823. requirement is a selector
  17824. that contains values, a
  17825. key, and an operator that
  17826. relates the key and values.
  17827. properties:
  17828. key:
  17829. description: The label
  17830. key that the selector
  17831. applies to.
  17832. type: string
  17833. operator:
  17834. description: Represents
  17835. a key's relationship
  17836. to a set of values.
  17837. Valid operators are
  17838. In, NotIn, Exists, DoesNotExist.
  17839. Gt, and Lt.
  17840. type: string
  17841. values:
  17842. description: An array
  17843. of string values. If
  17844. the operator is In or
  17845. NotIn, the values array
  17846. must be non-empty. If
  17847. the operator is Exists
  17848. or DoesNotExist, the
  17849. values array must be
  17850. empty. If the operator
  17851. is Gt or Lt, the values
  17852. array must have a single
  17853. element, which will
  17854. be interpreted as an
  17855. integer. This array
  17856. is replaced during a
  17857. strategic merge patch.
  17858. items:
  17859. type: string
  17860. type: array
  17861. required:
  17862. - key
  17863. - operator
  17864. type: object
  17865. type: array
  17866. type: object
  17867. x-kubernetes-map-type: atomic
  17868. type: array
  17869. required:
  17870. - nodeSelectorTerms
  17871. type: object
  17872. x-kubernetes-map-type: atomic
  17873. type: object
  17874. podAffinity:
  17875. description: Describes pod affinity scheduling
  17876. rules (e.g. co-locate this pod in the same
  17877. node, zone, etc. as some other pod(s)).
  17878. properties:
  17879. preferredDuringSchedulingIgnoredDuringExecution:
  17880. description: The scheduler will prefer
  17881. to schedule pods to nodes that satisfy
  17882. the affinity expressions specified by
  17883. this field, but it may choose a node
  17884. that violates one or more of the expressions.
  17885. The node that is most preferred is the
  17886. one with the greatest sum of weights,
  17887. i.e. for each node that meets all of
  17888. the scheduling requirements (resource
  17889. request, requiredDuringScheduling affinity
  17890. expressions, etc.), compute a sum by
  17891. iterating through the elements of this
  17892. field and adding "weight" to the sum
  17893. if the node has pods which matches the
  17894. corresponding podAffinityTerm; the node(s)
  17895. with the highest sum are the most preferred.
  17896. items:
  17897. description: The weights of all of the
  17898. matched WeightedPodAffinityTerm fields
  17899. are added per-node to find the most
  17900. preferred node(s)
  17901. properties:
  17902. podAffinityTerm:
  17903. description: Required. A pod affinity
  17904. term, associated with the corresponding
  17905. weight.
  17906. properties:
  17907. labelSelector:
  17908. description: A label query over
  17909. a set of resources, in this
  17910. case pods.
  17911. properties:
  17912. matchExpressions:
  17913. description: matchExpressions
  17914. is a list of label selector
  17915. requirements. The requirements
  17916. are ANDed.
  17917. items:
  17918. description: A label selector
  17919. requirement is a selector
  17920. that contains values,
  17921. a key, and an operator
  17922. that relates the key
  17923. and values.
  17924. properties:
  17925. key:
  17926. description: key is
  17927. the label key that
  17928. the selector applies
  17929. to.
  17930. type: string
  17931. operator:
  17932. description: operator
  17933. represents a key's
  17934. relationship to
  17935. a set of values.
  17936. Valid operators
  17937. are In, NotIn, Exists
  17938. and DoesNotExist.
  17939. type: string
  17940. values:
  17941. description: values
  17942. is an array of string
  17943. values. If the operator
  17944. is In or NotIn,
  17945. the values array
  17946. must be non-empty.
  17947. If the operator
  17948. is Exists or DoesNotExist,
  17949. the values array
  17950. must be empty. This
  17951. array is replaced
  17952. during a strategic
  17953. merge patch.
  17954. items:
  17955. type: string
  17956. type: array
  17957. required:
  17958. - key
  17959. - operator
  17960. type: object
  17961. type: array
  17962. matchLabels:
  17963. additionalProperties:
  17964. type: string
  17965. description: matchLabels
  17966. is a map of {key,value}
  17967. pairs. A single {key,value}
  17968. in the matchLabels map
  17969. is equivalent to an element
  17970. of matchExpressions, whose
  17971. key field is "key", the
  17972. operator is "In", and
  17973. the values array contains
  17974. only "value". The requirements
  17975. are ANDed.
  17976. type: object
  17977. type: object
  17978. x-kubernetes-map-type: atomic
  17979. namespaceSelector:
  17980. description: A label query over
  17981. the set of namespaces that
  17982. the term applies to. The term
  17983. is applied to the union of
  17984. the namespaces selected by
  17985. this field and the ones listed
  17986. in the namespaces field. null
  17987. selector and null or empty
  17988. namespaces list means "this
  17989. pod's namespace". An empty
  17990. selector ({}) matches all
  17991. namespaces.
  17992. properties:
  17993. matchExpressions:
  17994. description: matchExpressions
  17995. is a list of label selector
  17996. requirements. The requirements
  17997. are ANDed.
  17998. items:
  17999. description: A label selector
  18000. requirement is a selector
  18001. that contains values,
  18002. a key, and an operator
  18003. that relates the key
  18004. and values.
  18005. properties:
  18006. key:
  18007. description: key is
  18008. the label key that
  18009. the selector applies
  18010. to.
  18011. type: string
  18012. operator:
  18013. description: operator
  18014. represents a key's
  18015. relationship to
  18016. a set of values.
  18017. Valid operators
  18018. are In, NotIn, Exists
  18019. and DoesNotExist.
  18020. type: string
  18021. values:
  18022. description: values
  18023. is an array of string
  18024. values. If the operator
  18025. is In or NotIn,
  18026. the values array
  18027. must be non-empty.
  18028. If the operator
  18029. is Exists or DoesNotExist,
  18030. the values array
  18031. must be empty. This
  18032. array is replaced
  18033. during a strategic
  18034. merge patch.
  18035. items:
  18036. type: string
  18037. type: array
  18038. required:
  18039. - key
  18040. - operator
  18041. type: object
  18042. type: array
  18043. matchLabels:
  18044. additionalProperties:
  18045. type: string
  18046. description: matchLabels
  18047. is a map of {key,value}
  18048. pairs. A single {key,value}
  18049. in the matchLabels map
  18050. is equivalent to an element
  18051. of matchExpressions, whose
  18052. key field is "key", the
  18053. operator is "In", and
  18054. the values array contains
  18055. only "value". The requirements
  18056. are ANDed.
  18057. type: object
  18058. type: object
  18059. x-kubernetes-map-type: atomic
  18060. namespaces:
  18061. description: namespaces specifies
  18062. a static list of namespace
  18063. names that the term applies
  18064. to. The term is applied to
  18065. the union of the namespaces
  18066. listed in this field and the
  18067. ones selected by namespaceSelector.
  18068. null or empty namespaces list
  18069. and null namespaceSelector
  18070. means "this pod's namespace".
  18071. items:
  18072. type: string
  18073. type: array
  18074. topologyKey:
  18075. description: This pod should
  18076. be co-located (affinity) or
  18077. not co-located (anti-affinity)
  18078. with the pods matching the
  18079. labelSelector in the specified
  18080. namespaces, where co-located
  18081. is defined as running on a
  18082. node whose value of the label
  18083. with key topologyKey matches
  18084. that of any node on which
  18085. any of the selected pods is
  18086. running. Empty topologyKey
  18087. is not allowed.
  18088. type: string
  18089. required:
  18090. - topologyKey
  18091. type: object
  18092. weight:
  18093. description: weight associated with
  18094. matching the corresponding podAffinityTerm,
  18095. in the range 1-100.
  18096. format: int32
  18097. type: integer
  18098. required:
  18099. - podAffinityTerm
  18100. - weight
  18101. type: object
  18102. type: array
  18103. requiredDuringSchedulingIgnoredDuringExecution:
  18104. description: If the affinity requirements
  18105. specified by this field are not met
  18106. at scheduling time, the pod will not
  18107. be scheduled onto the node. If the affinity
  18108. requirements specified by this field
  18109. cease to be met at some point during
  18110. pod execution (e.g. due to a pod label
  18111. update), the system may or may not try
  18112. to eventually evict the pod from its
  18113. node. When there are multiple elements,
  18114. the lists of nodes corresponding to
  18115. each podAffinityTerm are intersected,
  18116. i.e. all terms must be satisfied.
  18117. items:
  18118. description: Defines a set of pods (namely
  18119. those matching the labelSelector relative
  18120. to the given namespace(s)) that this
  18121. pod should be co-located (affinity)
  18122. or not co-located (anti-affinity)
  18123. with, where co-located is defined
  18124. as running on a node whose value of
  18125. the label with key <topologyKey> matches
  18126. that of any node on which a pod of
  18127. the set of pods is running
  18128. properties:
  18129. labelSelector:
  18130. description: A label query over
  18131. a set of resources, in this case
  18132. pods.
  18133. properties:
  18134. matchExpressions:
  18135. description: matchExpressions
  18136. is a list of label selector
  18137. requirements. The requirements
  18138. are ANDed.
  18139. items:
  18140. description: A label selector
  18141. requirement is a selector
  18142. that contains values, a
  18143. key, and an operator that
  18144. relates the key and values.
  18145. properties:
  18146. key:
  18147. description: key is the
  18148. label key that the selector
  18149. applies to.
  18150. type: string
  18151. operator:
  18152. description: operator
  18153. represents a key's relationship
  18154. to a set of values.
  18155. Valid operators are
  18156. In, NotIn, Exists and
  18157. DoesNotExist.
  18158. type: string
  18159. values:
  18160. description: values is
  18161. an array of string values.
  18162. If the operator is In
  18163. or NotIn, the values
  18164. array must be non-empty.
  18165. If the operator is Exists
  18166. or DoesNotExist, the
  18167. values array must be
  18168. empty. This array is
  18169. replaced during a strategic
  18170. merge patch.
  18171. items:
  18172. type: string
  18173. type: array
  18174. required:
  18175. - key
  18176. - operator
  18177. type: object
  18178. type: array
  18179. matchLabels:
  18180. additionalProperties:
  18181. type: string
  18182. description: matchLabels is
  18183. a map of {key,value} pairs.
  18184. A single {key,value} in the
  18185. matchLabels map is equivalent
  18186. to an element of matchExpressions,
  18187. whose key field is "key",
  18188. the operator is "In", and
  18189. the values array contains
  18190. only "value". The requirements
  18191. are ANDed.
  18192. type: object
  18193. type: object
  18194. x-kubernetes-map-type: atomic
  18195. namespaceSelector:
  18196. description: A label query over
  18197. the set of namespaces that the
  18198. term applies to. The term is applied
  18199. to the union of the namespaces
  18200. selected by this field and the
  18201. ones listed in the namespaces
  18202. field. null selector and null
  18203. or empty namespaces list means
  18204. "this pod's namespace". An empty
  18205. selector ({}) matches all namespaces.
  18206. properties:
  18207. matchExpressions:
  18208. description: matchExpressions
  18209. is a list of label selector
  18210. requirements. The requirements
  18211. are ANDed.
  18212. items:
  18213. description: A label selector
  18214. requirement is a selector
  18215. that contains values, a
  18216. key, and an operator that
  18217. relates the key and values.
  18218. properties:
  18219. key:
  18220. description: key is the
  18221. label key that the selector
  18222. applies to.
  18223. type: string
  18224. operator:
  18225. description: operator
  18226. represents a key's relationship
  18227. to a set of values.
  18228. Valid operators are
  18229. In, NotIn, Exists and
  18230. DoesNotExist.
  18231. type: string
  18232. values:
  18233. description: values is
  18234. an array of string values.
  18235. If the operator is In
  18236. or NotIn, the values
  18237. array must be non-empty.
  18238. If the operator is Exists
  18239. or DoesNotExist, the
  18240. values array must be
  18241. empty. This array is
  18242. replaced during a strategic
  18243. merge patch.
  18244. items:
  18245. type: string
  18246. type: array
  18247. required:
  18248. - key
  18249. - operator
  18250. type: object
  18251. type: array
  18252. matchLabels:
  18253. additionalProperties:
  18254. type: string
  18255. description: matchLabels is
  18256. a map of {key,value} pairs.
  18257. A single {key,value} in the
  18258. matchLabels map is equivalent
  18259. to an element of matchExpressions,
  18260. whose key field is "key",
  18261. the operator is "In", and
  18262. the values array contains
  18263. only "value". The requirements
  18264. are ANDed.
  18265. type: object
  18266. type: object
  18267. x-kubernetes-map-type: atomic
  18268. namespaces:
  18269. description: namespaces specifies
  18270. a static list of namespace names
  18271. that the term applies to. The
  18272. term is applied to the union of
  18273. the namespaces listed in this
  18274. field and the ones selected by
  18275. namespaceSelector. null or empty
  18276. namespaces list and null namespaceSelector
  18277. means "this pod's namespace".
  18278. items:
  18279. type: string
  18280. type: array
  18281. topologyKey:
  18282. description: This pod should be
  18283. co-located (affinity) or not co-located
  18284. (anti-affinity) with the pods
  18285. matching the labelSelector in
  18286. the specified namespaces, where
  18287. co-located is defined as running
  18288. on a node whose value of the label
  18289. with key topologyKey matches that
  18290. of any node on which any of the
  18291. selected pods is running. Empty
  18292. topologyKey is not allowed.
  18293. type: string
  18294. required:
  18295. - topologyKey
  18296. type: object
  18297. type: array
  18298. type: object
  18299. podAntiAffinity:
  18300. description: Describes pod anti-affinity scheduling
  18301. rules (e.g. avoid putting this pod in the
  18302. same node, zone, etc. as some other pod(s)).
  18303. properties:
  18304. preferredDuringSchedulingIgnoredDuringExecution:
  18305. description: The scheduler will prefer
  18306. to schedule pods to nodes that satisfy
  18307. the anti-affinity expressions specified
  18308. by this field, but it may choose a node
  18309. that violates one or more of the expressions.
  18310. The node that is most preferred is the
  18311. one with the greatest sum of weights,
  18312. i.e. for each node that meets all of
  18313. the scheduling requirements (resource
  18314. request, requiredDuringScheduling anti-affinity
  18315. expressions, etc.), compute a sum by
  18316. iterating through the elements of this
  18317. field and adding "weight" to the sum
  18318. if the node has pods which matches the
  18319. corresponding podAffinityTerm; the node(s)
  18320. with the highest sum are the most preferred.
  18321. items:
  18322. description: The weights of all of the
  18323. matched WeightedPodAffinityTerm fields
  18324. are added per-node to find the most
  18325. preferred node(s)
  18326. properties:
  18327. podAffinityTerm:
  18328. description: Required. A pod affinity
  18329. term, associated with the corresponding
  18330. weight.
  18331. properties:
  18332. labelSelector:
  18333. description: A label query over
  18334. a set of resources, in this
  18335. case pods.
  18336. properties:
  18337. matchExpressions:
  18338. description: matchExpressions
  18339. is a list of label selector
  18340. requirements. The requirements
  18341. are ANDed.
  18342. items:
  18343. description: A label selector
  18344. requirement is a selector
  18345. that contains values,
  18346. a key, and an operator
  18347. that relates the key
  18348. and values.
  18349. properties:
  18350. key:
  18351. description: key is
  18352. the label key that
  18353. the selector applies
  18354. to.
  18355. type: string
  18356. operator:
  18357. description: operator
  18358. represents a key's
  18359. relationship to
  18360. a set of values.
  18361. Valid operators
  18362. are In, NotIn, Exists
  18363. and DoesNotExist.
  18364. type: string
  18365. values:
  18366. description: values
  18367. is an array of string
  18368. values. If the operator
  18369. is In or NotIn,
  18370. the values array
  18371. must be non-empty.
  18372. If the operator
  18373. is Exists or DoesNotExist,
  18374. the values array
  18375. must be empty. This
  18376. array is replaced
  18377. during a strategic
  18378. merge patch.
  18379. items:
  18380. type: string
  18381. type: array
  18382. required:
  18383. - key
  18384. - operator
  18385. type: object
  18386. type: array
  18387. matchLabels:
  18388. additionalProperties:
  18389. type: string
  18390. description: matchLabels
  18391. is a map of {key,value}
  18392. pairs. A single {key,value}
  18393. in the matchLabels map
  18394. is equivalent to an element
  18395. of matchExpressions, whose
  18396. key field is "key", the
  18397. operator is "In", and
  18398. the values array contains
  18399. only "value". The requirements
  18400. are ANDed.
  18401. type: object
  18402. type: object
  18403. x-kubernetes-map-type: atomic
  18404. namespaceSelector:
  18405. description: A label query over
  18406. the set of namespaces that
  18407. the term applies to. The term
  18408. is applied to the union of
  18409. the namespaces selected by
  18410. this field and the ones listed
  18411. in the namespaces field. null
  18412. selector and null or empty
  18413. namespaces list means "this
  18414. pod's namespace". An empty
  18415. selector ({}) matches all
  18416. namespaces.
  18417. properties:
  18418. matchExpressions:
  18419. description: matchExpressions
  18420. is a list of label selector
  18421. requirements. The requirements
  18422. are ANDed.
  18423. items:
  18424. description: A label selector
  18425. requirement is a selector
  18426. that contains values,
  18427. a key, and an operator
  18428. that relates the key
  18429. and values.
  18430. properties:
  18431. key:
  18432. description: key is
  18433. the label key that
  18434. the selector applies
  18435. to.
  18436. type: string
  18437. operator:
  18438. description: operator
  18439. represents a key's
  18440. relationship to
  18441. a set of values.
  18442. Valid operators
  18443. are In, NotIn, Exists
  18444. and DoesNotExist.
  18445. type: string
  18446. values:
  18447. description: values
  18448. is an array of string
  18449. values. If the operator
  18450. is In or NotIn,
  18451. the values array
  18452. must be non-empty.
  18453. If the operator
  18454. is Exists or DoesNotExist,
  18455. the values array
  18456. must be empty. This
  18457. array is replaced
  18458. during a strategic
  18459. merge patch.
  18460. items:
  18461. type: string
  18462. type: array
  18463. required:
  18464. - key
  18465. - operator
  18466. type: object
  18467. type: array
  18468. matchLabels:
  18469. additionalProperties:
  18470. type: string
  18471. description: matchLabels
  18472. is a map of {key,value}
  18473. pairs. A single {key,value}
  18474. in the matchLabels map
  18475. is equivalent to an element
  18476. of matchExpressions, whose
  18477. key field is "key", the
  18478. operator is "In", and
  18479. the values array contains
  18480. only "value". The requirements
  18481. are ANDed.
  18482. type: object
  18483. type: object
  18484. x-kubernetes-map-type: atomic
  18485. namespaces:
  18486. description: namespaces specifies
  18487. a static list of namespace
  18488. names that the term applies
  18489. to. The term is applied to
  18490. the union of the namespaces
  18491. listed in this field and the
  18492. ones selected by namespaceSelector.
  18493. null or empty namespaces list
  18494. and null namespaceSelector
  18495. means "this pod's namespace".
  18496. items:
  18497. type: string
  18498. type: array
  18499. topologyKey:
  18500. description: This pod should
  18501. be co-located (affinity) or
  18502. not co-located (anti-affinity)
  18503. with the pods matching the
  18504. labelSelector in the specified
  18505. namespaces, where co-located
  18506. is defined as running on a
  18507. node whose value of the label
  18508. with key topologyKey matches
  18509. that of any node on which
  18510. any of the selected pods is
  18511. running. Empty topologyKey
  18512. is not allowed.
  18513. type: string
  18514. required:
  18515. - topologyKey
  18516. type: object
  18517. weight:
  18518. description: weight associated with
  18519. matching the corresponding podAffinityTerm,
  18520. in the range 1-100.
  18521. format: int32
  18522. type: integer
  18523. required:
  18524. - podAffinityTerm
  18525. - weight
  18526. type: object
  18527. type: array
  18528. requiredDuringSchedulingIgnoredDuringExecution:
  18529. description: If the anti-affinity requirements
  18530. specified by this field are not met
  18531. at scheduling time, the pod will not
  18532. be scheduled onto the node. If the anti-affinity
  18533. requirements specified by this field
  18534. cease to be met at some point during
  18535. pod execution (e.g. due to a pod label
  18536. update), the system may or may not try
  18537. to eventually evict the pod from its
  18538. node. When there are multiple elements,
  18539. the lists of nodes corresponding to
  18540. each podAffinityTerm are intersected,
  18541. i.e. all terms must be satisfied.
  18542. items:
  18543. description: Defines a set of pods (namely
  18544. those matching the labelSelector relative
  18545. to the given namespace(s)) that this
  18546. pod should be co-located (affinity)
  18547. or not co-located (anti-affinity)
  18548. with, where co-located is defined
  18549. as running on a node whose value of
  18550. the label with key <topologyKey> matches
  18551. that of any node on which a pod of
  18552. the set of pods is running
  18553. properties:
  18554. labelSelector:
  18555. description: A label query over
  18556. a set of resources, in this case
  18557. pods.
  18558. properties:
  18559. matchExpressions:
  18560. description: matchExpressions
  18561. is a list of label selector
  18562. requirements. The requirements
  18563. are ANDed.
  18564. items:
  18565. description: A label selector
  18566. requirement is a selector
  18567. that contains values, a
  18568. key, and an operator that
  18569. relates the key and values.
  18570. properties:
  18571. key:
  18572. description: key is the
  18573. label key that the selector
  18574. applies to.
  18575. type: string
  18576. operator:
  18577. description: operator
  18578. represents a key's relationship
  18579. to a set of values.
  18580. Valid operators are
  18581. In, NotIn, Exists and
  18582. DoesNotExist.
  18583. type: string
  18584. values:
  18585. description: values is
  18586. an array of string values.
  18587. If the operator is In
  18588. or NotIn, the values
  18589. array must be non-empty.
  18590. If the operator is Exists
  18591. or DoesNotExist, the
  18592. values array must be
  18593. empty. This array is
  18594. replaced during a strategic
  18595. merge patch.
  18596. items:
  18597. type: string
  18598. type: array
  18599. required:
  18600. - key
  18601. - operator
  18602. type: object
  18603. type: array
  18604. matchLabels:
  18605. additionalProperties:
  18606. type: string
  18607. description: matchLabels is
  18608. a map of {key,value} pairs.
  18609. A single {key,value} in the
  18610. matchLabels map is equivalent
  18611. to an element of matchExpressions,
  18612. whose key field is "key",
  18613. the operator is "In", and
  18614. the values array contains
  18615. only "value". The requirements
  18616. are ANDed.
  18617. type: object
  18618. type: object
  18619. x-kubernetes-map-type: atomic
  18620. namespaceSelector:
  18621. description: A label query over
  18622. the set of namespaces that the
  18623. term applies to. The term is applied
  18624. to the union of the namespaces
  18625. selected by this field and the
  18626. ones listed in the namespaces
  18627. field. null selector and null
  18628. or empty namespaces list means
  18629. "this pod's namespace". An empty
  18630. selector ({}) matches all namespaces.
  18631. properties:
  18632. matchExpressions:
  18633. description: matchExpressions
  18634. is a list of label selector
  18635. requirements. The requirements
  18636. are ANDed.
  18637. items:
  18638. description: A label selector
  18639. requirement is a selector
  18640. that contains values, a
  18641. key, and an operator that
  18642. relates the key and values.
  18643. properties:
  18644. key:
  18645. description: key is the
  18646. label key that the selector
  18647. applies to.
  18648. type: string
  18649. operator:
  18650. description: operator
  18651. represents a key's relationship
  18652. to a set of values.
  18653. Valid operators are
  18654. In, NotIn, Exists and
  18655. DoesNotExist.
  18656. type: string
  18657. values:
  18658. description: values is
  18659. an array of string values.
  18660. If the operator is In
  18661. or NotIn, the values
  18662. array must be non-empty.
  18663. If the operator is Exists
  18664. or DoesNotExist, the
  18665. values array must be
  18666. empty. This array is
  18667. replaced during a strategic
  18668. merge patch.
  18669. items:
  18670. type: string
  18671. type: array
  18672. required:
  18673. - key
  18674. - operator
  18675. type: object
  18676. type: array
  18677. matchLabels:
  18678. additionalProperties:
  18679. type: string
  18680. description: matchLabels is
  18681. a map of {key,value} pairs.
  18682. A single {key,value} in the
  18683. matchLabels map is equivalent
  18684. to an element of matchExpressions,
  18685. whose key field is "key",
  18686. the operator is "In", and
  18687. the values array contains
  18688. only "value". The requirements
  18689. are ANDed.
  18690. type: object
  18691. type: object
  18692. x-kubernetes-map-type: atomic
  18693. namespaces:
  18694. description: namespaces specifies
  18695. a static list of namespace names
  18696. that the term applies to. The
  18697. term is applied to the union of
  18698. the namespaces listed in this
  18699. field and the ones selected by
  18700. namespaceSelector. null or empty
  18701. namespaces list and null namespaceSelector
  18702. means "this pod's namespace".
  18703. items:
  18704. type: string
  18705. type: array
  18706. topologyKey:
  18707. description: This pod should be
  18708. co-located (affinity) or not co-located
  18709. (anti-affinity) with the pods
  18710. matching the labelSelector in
  18711. the specified namespaces, where
  18712. co-located is defined as running
  18713. on a node whose value of the label
  18714. with key topologyKey matches that
  18715. of any node on which any of the
  18716. selected pods is running. Empty
  18717. topologyKey is not allowed.
  18718. type: string
  18719. required:
  18720. - topologyKey
  18721. type: object
  18722. type: array
  18723. type: object
  18724. type: object
  18725. containers:
  18726. description: Containers is a list of csi-node-driver
  18727. containers. If specified, this overrides the
  18728. specified csi-node-driver DaemonSet containers.
  18729. If omitted, the csi-node-driver DaemonSet will
  18730. use its default values for its containers.
  18731. items:
  18732. description: CSINodeDriverDaemonSetContainer
  18733. is a csi-node-driver DaemonSet container.
  18734. properties:
  18735. name:
  18736. description: Name is an enum which identifies
  18737. the csi-node-driver DaemonSet container
  18738. by name.
  18739. enum:
  18740. - csi-node-driver
  18741. type: string
  18742. resources:
  18743. description: Resources allows customization
  18744. of limits and requests for compute resources
  18745. such as cpu and memory. If specified,
  18746. this overrides the named csi-node-driver
  18747. DaemonSet container's resources. If omitted,
  18748. the csi-node-driver DaemonSet will use
  18749. its default value for this container's
  18750. resources.
  18751. properties:
  18752. limits:
  18753. additionalProperties:
  18754. anyOf:
  18755. - type: integer
  18756. - type: string
  18757. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18758. x-kubernetes-int-or-string: true
  18759. description: 'Limits describes the maximum
  18760. amount of compute resources allowed.
  18761. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  18762. type: object
  18763. requests:
  18764. additionalProperties:
  18765. anyOf:
  18766. - type: integer
  18767. - type: string
  18768. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18769. x-kubernetes-int-or-string: true
  18770. description: 'Requests describes the
  18771. minimum amount of compute resources
  18772. required. If Requests is omitted for
  18773. a container, it defaults to Limits
  18774. if that is explicitly specified, otherwise
  18775. to an implementation-defined value.
  18776. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  18777. type: object
  18778. type: object
  18779. required:
  18780. - name
  18781. type: object
  18782. type: array
  18783. nodeSelector:
  18784. additionalProperties:
  18785. type: string
  18786. description: 'NodeSelector is the csi-node-driver
  18787. pod''s scheduling constraints. If specified,
  18788. each of the key/value pairs are added to the
  18789. csi-node-driver DaemonSet nodeSelector provided
  18790. the key does not already exist in the object''s
  18791. nodeSelector. If omitted, the csi-node-driver
  18792. DaemonSet will use its default value for nodeSelector.
  18793. WARNING: Please note that this field will modify
  18794. the default csi-node-driver DaemonSet nodeSelector.'
  18795. type: object
  18796. tolerations:
  18797. description: 'Tolerations is the csi-node-driver
  18798. pod''s tolerations. If specified, this overrides
  18799. any tolerations that may be set on the csi-node-driver
  18800. DaemonSet. If omitted, the csi-node-driver DaemonSet
  18801. will use its default value for tolerations.
  18802. WARNING: Please note that this field will override
  18803. the default csi-node-driver DaemonSet tolerations.'
  18804. items:
  18805. description: The pod this Toleration is attached
  18806. to tolerates any taint that matches the triple
  18807. <key,value,effect> using the matching operator
  18808. <operator>.
  18809. properties:
  18810. effect:
  18811. description: Effect indicates the taint
  18812. effect to match. Empty means match all
  18813. taint effects. When specified, allowed
  18814. values are NoSchedule, PreferNoSchedule
  18815. and NoExecute.
  18816. type: string
  18817. key:
  18818. description: Key is the taint key that the
  18819. toleration applies to. Empty means match
  18820. all taint keys. If the key is empty, operator
  18821. must be Exists; this combination means
  18822. to match all values and all keys.
  18823. type: string
  18824. operator:
  18825. description: Operator represents a key's
  18826. relationship to the value. Valid operators
  18827. are Exists and Equal. Defaults to Equal.
  18828. Exists is equivalent to wildcard for value,
  18829. so that a pod can tolerate all taints
  18830. of a particular category.
  18831. type: string
  18832. tolerationSeconds:
  18833. description: TolerationSeconds represents
  18834. the period of time the toleration (which
  18835. must be of effect NoExecute, otherwise
  18836. this field is ignored) tolerates the taint.
  18837. By default, it is not set, which means
  18838. tolerate the taint forever (do not evict).
  18839. Zero and negative values will be treated
  18840. as 0 (evict immediately) by the system.
  18841. format: int64
  18842. type: integer
  18843. value:
  18844. description: Value is the taint value the
  18845. toleration matches to. If the operator
  18846. is Exists, the value should be empty,
  18847. otherwise just a regular string.
  18848. type: string
  18849. type: object
  18850. type: array
  18851. type: object
  18852. type: object
  18853. type: object
  18854. type: object
  18855. fipsMode:
  18856. description: 'FIPSMode uses images and features only that are
  18857. using FIPS 140-2 validated cryptographic modules and standards.
  18858. Default: Disabled'
  18859. enum:
  18860. - Enabled
  18861. - Disabled
  18862. type: string
  18863. flexVolumePath:
  18864. description: FlexVolumePath optionally specifies a custom path
  18865. for FlexVolume. If not specified, FlexVolume will be enabled
  18866. by default. If set to 'None', FlexVolume will be disabled. The
  18867. default is based on the kubernetesProvider.
  18868. type: string
  18869. imagePath:
  18870. description: "ImagePath allows for the path part of an image to
  18871. be specified. If specified then the specified value will be
  18872. used as the image path for each image. If not specified or empty,
  18873. the default for each image will be used. A special case value,
  18874. UseDefault, is supported to explicitly specify the default image
  18875. path will be used for each image. \n Image format: `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
  18876. \n This option allows configuring the `<imagePath>` portion
  18877. of the above format."
  18878. type: string
  18879. imagePrefix:
  18880. description: "ImagePrefix allows for the prefix part of an image
  18881. to be specified. If specified then the given value will be used
  18882. as a prefix on each image. If not specified or empty, no prefix
  18883. will be used. A special case value, UseDefault, is supported
  18884. to explicitly specify the default image prefix will be used
  18885. for each image. \n Image format: `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
  18886. \n This option allows configuring the `<imagePrefix>` portion
  18887. of the above format."
  18888. type: string
  18889. imagePullSecrets:
  18890. description: ImagePullSecrets is an array of references to container
  18891. registry pull secrets to use. These are applied to all images
  18892. to be pulled.
  18893. items:
  18894. description: LocalObjectReference contains enough information
  18895. to let you locate the referenced object inside the same namespace.
  18896. properties:
  18897. name:
  18898. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  18899. TODO: Add other useful fields. apiVersion, kind, uid?'
  18900. type: string
  18901. type: object
  18902. x-kubernetes-map-type: atomic
  18903. type: array
  18904. kubeletVolumePluginPath:
  18905. description: 'KubeletVolumePluginPath optionally specifies enablement
  18906. of Calico CSI plugin. If not specified, CSI will be enabled
  18907. by default. If set to ''None'', CSI will be disabled. Default:
  18908. /var/lib/kubelet'
  18909. type: string
  18910. kubernetesProvider:
  18911. description: KubernetesProvider specifies a particular provider
  18912. of the Kubernetes platform and enables provider-specific configuration.
  18913. If the specified value is empty, the Operator will attempt to
  18914. automatically determine the current provider. If the specified
  18915. value is not empty, the Operator will still attempt auto-detection,
  18916. but will additionally compare the auto-detected value to the
  18917. specified value to confirm they match.
  18918. enum:
  18919. - ""
  18920. - EKS
  18921. - GKE
  18922. - AKS
  18923. - OpenShift
  18924. - DockerEnterprise
  18925. - RKE2
  18926. type: string
  18927. logging:
  18928. description: Logging Configuration for Components
  18929. properties:
  18930. cni:
  18931. description: Customized logging specification for calico-cni
  18932. plugin
  18933. properties:
  18934. logFileMaxAgeDays:
  18935. description: 'Default: 30 (days)'
  18936. format: int32
  18937. type: integer
  18938. logFileMaxCount:
  18939. description: 'Default: 10'
  18940. format: int32
  18941. type: integer
  18942. logFileMaxSize:
  18943. anyOf:
  18944. - type: integer
  18945. - type: string
  18946. description: 'Default: 100Mi'
  18947. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  18948. x-kubernetes-int-or-string: true
  18949. logSeverity:
  18950. description: 'Default: Info'
  18951. enum:
  18952. - Error
  18953. - Warning
  18954. - Debug
  18955. - Info
  18956. type: string
  18957. type: object
  18958. type: object
  18959. nodeMetricsPort:
  18960. description: NodeMetricsPort specifies which port calico/node
  18961. serves prometheus metrics on. By default, metrics are not enabled.
  18962. If specified, this overrides any FelixConfiguration resources
  18963. which may exist. If omitted, then prometheus metrics may still
  18964. be configured through FelixConfiguration.
  18965. format: int32
  18966. type: integer
  18967. nodeUpdateStrategy:
  18968. description: NodeUpdateStrategy can be used to customize the desired
  18969. update strategy, such as the MaxUnavailable field.
  18970. properties:
  18971. rollingUpdate:
  18972. description: 'Rolling update config params. Present only if
  18973. type = "RollingUpdate". --- TODO: Update this to follow
  18974. our convention for oneOf, whatever we decide it to be. Same
  18975. as Deployment `strategy.rollingUpdate`. See https://github.com/kubernetes/kubernetes/issues/35345'
  18976. properties:
  18977. maxSurge:
  18978. anyOf:
  18979. - type: integer
  18980. - type: string
  18981. description: 'The maximum number of nodes with an existing
  18982. available DaemonSet pod that can have an updated DaemonSet
  18983. pod during during an update. Value can be an absolute
  18984. number (ex: 5) or a percentage of desired pods (ex:
  18985. 10%). This can not be 0 if MaxUnavailable is 0. Absolute
  18986. number is calculated from percentage by rounding up
  18987. to a minimum of 1. Default value is 0. Example: when
  18988. this is set to 30%, at most 30% of the total number
  18989. of nodes that should be running the daemon pod (i.e.
  18990. status.desiredNumberScheduled) can have their a new
  18991. pod created before the old pod is marked as deleted.
  18992. The update starts by launching new pods on 30% of nodes.
  18993. Once an updated pod is available (Ready for at least
  18994. minReadySeconds) the old DaemonSet pod on that node
  18995. is marked deleted. If the old pod becomes unavailable
  18996. for any reason (Ready transitions to false, is evicted,
  18997. or is drained) an updated pod is immediatedly created
  18998. on that node without considering surge limits. Allowing
  18999. surge implies the possibility that the resources consumed
  19000. by the daemonset on any given node can double if the
  19001. readiness check fails, and so resource intensive daemonsets
  19002. should take into account that they may cause evictions
  19003. during disruption.'
  19004. x-kubernetes-int-or-string: true
  19005. maxUnavailable:
  19006. anyOf:
  19007. - type: integer
  19008. - type: string
  19009. description: 'The maximum number of DaemonSet pods that
  19010. can be unavailable during the update. Value can be an
  19011. absolute number (ex: 5) or a percentage of total number
  19012. of DaemonSet pods at the start of the update (ex: 10%).
  19013. Absolute number is calculated from percentage by rounding
  19014. up. This cannot be 0 if MaxSurge is 0 Default value
  19015. is 1. Example: when this is set to 30%, at most 30%
  19016. of the total number of nodes that should be running
  19017. the daemon pod (i.e. status.desiredNumberScheduled)
  19018. can have their pods stopped for an update at any given
  19019. time. The update starts by stopping at most 30% of those
  19020. DaemonSet pods and then brings up new DaemonSet pods
  19021. in their place. Once the new pods are available, it
  19022. then proceeds onto other DaemonSet pods, thus ensuring
  19023. that at least 70% of original number of DaemonSet pods
  19024. are available at all times during the update.'
  19025. x-kubernetes-int-or-string: true
  19026. type: object
  19027. type:
  19028. description: Type of daemon set update. Can be "RollingUpdate"
  19029. or "OnDelete". Default is RollingUpdate.
  19030. type: string
  19031. type: object
  19032. nonPrivileged:
  19033. description: NonPrivileged configures Calico to be run in non-privileged
  19034. containers as non-root users where possible.
  19035. type: string
  19036. registry:
  19037. description: "Registry is the default Docker registry used for
  19038. component Docker images. If specified then the given value must
  19039. end with a slash character (`/`) and all images will be pulled
  19040. from this registry. If not specified then the default registries
  19041. will be used. A special case value, UseDefault, is supported
  19042. to explicitly specify the default registries will be used. \n
  19043. Image format: `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
  19044. \n This option allows configuring the `<registry>` portion of
  19045. the above format."
  19046. type: string
  19047. typhaAffinity:
  19048. description: Deprecated. Please use Installation.Spec.TyphaDeployment
  19049. instead. TyphaAffinity allows configuration of node affinity
  19050. characteristics for Typha pods.
  19051. properties:
  19052. nodeAffinity:
  19053. description: NodeAffinity describes node affinity scheduling
  19054. rules for typha.
  19055. properties:
  19056. preferredDuringSchedulingIgnoredDuringExecution:
  19057. description: The scheduler will prefer to schedule pods
  19058. to nodes that satisfy the affinity expressions specified
  19059. by this field, but it may choose a node that violates
  19060. one or more of the expressions.
  19061. items:
  19062. description: An empty preferred scheduling term matches
  19063. all objects with implicit weight 0 (i.e. it's a no-op).
  19064. A null preferred scheduling term matches no objects
  19065. (i.e. is also a no-op).
  19066. properties:
  19067. preference:
  19068. description: A node selector term, associated with
  19069. the corresponding weight.
  19070. properties:
  19071. matchExpressions:
  19072. description: A list of node selector requirements
  19073. by node's labels.
  19074. items:
  19075. description: A node selector requirement is
  19076. a selector that contains values, a key,
  19077. and an operator that relates the key and
  19078. values.
  19079. properties:
  19080. key:
  19081. description: The label key that the selector
  19082. applies to.
  19083. type: string
  19084. operator:
  19085. description: Represents a key's relationship
  19086. to a set of values. Valid operators
  19087. are In, NotIn, Exists, DoesNotExist.
  19088. Gt, and Lt.
  19089. type: string
  19090. values:
  19091. description: An array of string values.
  19092. If the operator is In or NotIn, the
  19093. values array must be non-empty. If the
  19094. operator is Exists or DoesNotExist,
  19095. the values array must be empty. If the
  19096. operator is Gt or Lt, the values array
  19097. must have a single element, which will
  19098. be interpreted as an integer. This array
  19099. is replaced during a strategic merge
  19100. patch.
  19101. items:
  19102. type: string
  19103. type: array
  19104. required:
  19105. - key
  19106. - operator
  19107. type: object
  19108. type: array
  19109. matchFields:
  19110. description: A list of node selector requirements
  19111. by node's fields.
  19112. items:
  19113. description: A node selector requirement is
  19114. a selector that contains values, a key,
  19115. and an operator that relates the key and
  19116. values.
  19117. properties:
  19118. key:
  19119. description: The label key that the selector
  19120. applies to.
  19121. type: string
  19122. operator:
  19123. description: Represents a key's relationship
  19124. to a set of values. Valid operators
  19125. are In, NotIn, Exists, DoesNotExist.
  19126. Gt, and Lt.
  19127. type: string
  19128. values:
  19129. description: An array of string values.
  19130. If the operator is In or NotIn, the
  19131. values array must be non-empty. If the
  19132. operator is Exists or DoesNotExist,
  19133. the values array must be empty. If the
  19134. operator is Gt or Lt, the values array
  19135. must have a single element, which will
  19136. be interpreted as an integer. This array
  19137. is replaced during a strategic merge
  19138. patch.
  19139. items:
  19140. type: string
  19141. type: array
  19142. required:
  19143. - key
  19144. - operator
  19145. type: object
  19146. type: array
  19147. type: object
  19148. x-kubernetes-map-type: atomic
  19149. weight:
  19150. description: Weight associated with matching the
  19151. corresponding nodeSelectorTerm, in the range 1-100.
  19152. format: int32
  19153. type: integer
  19154. required:
  19155. - preference
  19156. - weight
  19157. type: object
  19158. type: array
  19159. requiredDuringSchedulingIgnoredDuringExecution:
  19160. description: 'WARNING: Please note that if the affinity
  19161. requirements specified by this field are not met at
  19162. scheduling time, the pod will NOT be scheduled onto
  19163. the node. There is no fallback to another affinity rules
  19164. with this setting. This may cause networking disruption
  19165. or even catastrophic failure! PreferredDuringSchedulingIgnoredDuringExecution
  19166. should be used for affinity unless there is a specific
  19167. well understood reason to use RequiredDuringSchedulingIgnoredDuringExecution
  19168. and you can guarantee that the RequiredDuringSchedulingIgnoredDuringExecution
  19169. will always have sufficient nodes to satisfy the requirement.
  19170. NOTE: RequiredDuringSchedulingIgnoredDuringExecution
  19171. is set by default for AKS nodes, to avoid scheduling
  19172. Typhas on virtual-nodes. If the affinity requirements
  19173. specified by this field cease to be met at some point
  19174. during pod execution (e.g. due to an update), the system
  19175. may or may not try to eventually evict the pod from
  19176. its node.'
  19177. properties:
  19178. nodeSelectorTerms:
  19179. description: Required. A list of node selector terms.
  19180. The terms are ORed.
  19181. items:
  19182. description: A null or empty node selector term
  19183. matches no objects. The requirements of them are
  19184. ANDed. The TopologySelectorTerm type implements
  19185. a subset of the NodeSelectorTerm.
  19186. properties:
  19187. matchExpressions:
  19188. description: A list of node selector requirements
  19189. by node's labels.
  19190. items:
  19191. description: A node selector requirement is
  19192. a selector that contains values, a key,
  19193. and an operator that relates the key and
  19194. values.
  19195. properties:
  19196. key:
  19197. description: The label key that the selector
  19198. applies to.
  19199. type: string
  19200. operator:
  19201. description: Represents a key's relationship
  19202. to a set of values. Valid operators
  19203. are In, NotIn, Exists, DoesNotExist.
  19204. Gt, and Lt.
  19205. type: string
  19206. values:
  19207. description: An array of string values.
  19208. If the operator is In or NotIn, the
  19209. values array must be non-empty. If the
  19210. operator is Exists or DoesNotExist,
  19211. the values array must be empty. If the
  19212. operator is Gt or Lt, the values array
  19213. must have a single element, which will
  19214. be interpreted as an integer. This array
  19215. is replaced during a strategic merge
  19216. patch.
  19217. items:
  19218. type: string
  19219. type: array
  19220. required:
  19221. - key
  19222. - operator
  19223. type: object
  19224. type: array
  19225. matchFields:
  19226. description: A list of node selector requirements
  19227. by node's fields.
  19228. items:
  19229. description: A node selector requirement is
  19230. a selector that contains values, a key,
  19231. and an operator that relates the key and
  19232. values.
  19233. properties:
  19234. key:
  19235. description: The label key that the selector
  19236. applies to.
  19237. type: string
  19238. operator:
  19239. description: Represents a key's relationship
  19240. to a set of values. Valid operators
  19241. are In, NotIn, Exists, DoesNotExist.
  19242. Gt, and Lt.
  19243. type: string
  19244. values:
  19245. description: An array of string values.
  19246. If the operator is In or NotIn, the
  19247. values array must be non-empty. If the
  19248. operator is Exists or DoesNotExist,
  19249. the values array must be empty. If the
  19250. operator is Gt or Lt, the values array
  19251. must have a single element, which will
  19252. be interpreted as an integer. This array
  19253. is replaced during a strategic merge
  19254. patch.
  19255. items:
  19256. type: string
  19257. type: array
  19258. required:
  19259. - key
  19260. - operator
  19261. type: object
  19262. type: array
  19263. type: object
  19264. x-kubernetes-map-type: atomic
  19265. type: array
  19266. required:
  19267. - nodeSelectorTerms
  19268. type: object
  19269. x-kubernetes-map-type: atomic
  19270. type: object
  19271. type: object
  19272. typhaDeployment:
  19273. description: TyphaDeployment configures the typha Deployment.
  19274. If used in conjunction with the deprecated ComponentResources
  19275. or TyphaAffinity, then these overrides take precedence.
  19276. properties:
  19277. metadata:
  19278. description: Metadata is a subset of a Kubernetes object's
  19279. metadata that is added to the Deployment.
  19280. properties:
  19281. annotations:
  19282. additionalProperties:
  19283. type: string
  19284. description: Annotations is a map of arbitrary non-identifying
  19285. metadata. Each of these key/value pairs are added to
  19286. the object's annotations provided the key does not already
  19287. exist in the object's annotations.
  19288. type: object
  19289. labels:
  19290. additionalProperties:
  19291. type: string
  19292. description: Labels is a map of string keys and values
  19293. that may match replicaset and service selectors. Each
  19294. of these key/value pairs are added to the object's labels
  19295. provided the key does not already exist in the object's
  19296. labels.
  19297. type: object
  19298. type: object
  19299. spec:
  19300. description: Spec is the specification of the typha Deployment.
  19301. properties:
  19302. minReadySeconds:
  19303. description: MinReadySeconds is the minimum number of
  19304. seconds for which a newly created Deployment pod should
  19305. be ready without any of its container crashing, for
  19306. it to be considered available. If specified, this overrides
  19307. any minReadySeconds value that may be set on the typha
  19308. Deployment. If omitted, the typha Deployment will use
  19309. its default value for minReadySeconds.
  19310. format: int32
  19311. maximum: 2147483647
  19312. minimum: 0
  19313. type: integer
  19314. strategy:
  19315. description: The deployment strategy to use to replace
  19316. existing pods with new ones.
  19317. properties:
  19318. rollingUpdate:
  19319. description: Rolling update config params. Present
  19320. only if DeploymentStrategyType = RollingUpdate.
  19321. to be.
  19322. properties:
  19323. maxSurge:
  19324. anyOf:
  19325. - type: integer
  19326. - type: string
  19327. description: 'The maximum number of pods that
  19328. can be scheduled above the desired number of
  19329. pods. Value can be an absolute number (ex: 5)
  19330. or a percentage of desired pods (ex: 10%). This
  19331. can not be 0 if MaxUnavailable is 0. Absolute
  19332. number is calculated from percentage by rounding
  19333. up. Defaults to 25%. Example: when this is set
  19334. to 30%, the new ReplicaSet can be scaled up
  19335. immediately when the rolling update starts,
  19336. such that the total number of old and new pods
  19337. do not exceed 130% of desired pods. Once old
  19338. pods have been killed, new ReplicaSet can be
  19339. scaled up further, ensuring that total number
  19340. of pods running at any time during the update
  19341. is at most 130% of desired pods.'
  19342. x-kubernetes-int-or-string: true
  19343. maxUnavailable:
  19344. anyOf:
  19345. - type: integer
  19346. - type: string
  19347. description: 'The maximum number of pods that
  19348. can be unavailable during the update. Value
  19349. can be an absolute number (ex: 5) or a percentage
  19350. of desired pods (ex: 10%). Absolute number is
  19351. calculated from percentage by rounding down.
  19352. This can not be 0 if MaxSurge is 0. Defaults
  19353. to 25%. Example: when this is set to 30%, the
  19354. old ReplicaSet can be scaled down to 70% of
  19355. desired pods immediately when the rolling update
  19356. starts. Once new pods are ready, old ReplicaSet
  19357. can be scaled down further, followed by scaling
  19358. up the new ReplicaSet, ensuring that the total
  19359. number of pods available at all times during
  19360. the update is at least 70% of desired pods.'
  19361. x-kubernetes-int-or-string: true
  19362. type: object
  19363. type: object
  19364. template:
  19365. description: Template describes the typha Deployment pod
  19366. that will be created.
  19367. properties:
  19368. metadata:
  19369. description: Metadata is a subset of a Kubernetes
  19370. object's metadata that is added to the pod's metadata.
  19371. properties:
  19372. annotations:
  19373. additionalProperties:
  19374. type: string
  19375. description: Annotations is a map of arbitrary
  19376. non-identifying metadata. Each of these key/value
  19377. pairs are added to the object's annotations
  19378. provided the key does not already exist in the
  19379. object's annotations.
  19380. type: object
  19381. labels:
  19382. additionalProperties:
  19383. type: string
  19384. description: Labels is a map of string keys and
  19385. values that may match replicaset and service
  19386. selectors. Each of these key/value pairs are
  19387. added to the object's labels provided the key
  19388. does not already exist in the object's labels.
  19389. type: object
  19390. type: object
  19391. spec:
  19392. description: Spec is the typha Deployment's PodSpec.
  19393. properties:
  19394. affinity:
  19395. description: 'Affinity is a group of affinity
  19396. scheduling rules for the typha pods. If specified,
  19397. this overrides any affinity that may be set
  19398. on the typha Deployment. If omitted, the typha
  19399. Deployment will use its default value for affinity.
  19400. If used in conjunction with the deprecated TyphaAffinity,
  19401. then this value takes precedence. WARNING: Please
  19402. note that this field will override the default
  19403. calico-typha Deployment affinity.'
  19404. properties:
  19405. nodeAffinity:
  19406. description: Describes node affinity scheduling
  19407. rules for the pod.
  19408. properties:
  19409. preferredDuringSchedulingIgnoredDuringExecution:
  19410. description: The scheduler will prefer
  19411. to schedule pods to nodes that satisfy
  19412. the affinity expressions specified by
  19413. this field, but it may choose a node
  19414. that violates one or more of the expressions.
  19415. The node that is most preferred is the
  19416. one with the greatest sum of weights,
  19417. i.e. for each node that meets all of
  19418. the scheduling requirements (resource
  19419. request, requiredDuringScheduling affinity
  19420. expressions, etc.), compute a sum by
  19421. iterating through the elements of this
  19422. field and adding "weight" to the sum
  19423. if the node matches the corresponding
  19424. matchExpressions; the node(s) with the
  19425. highest sum are the most preferred.
  19426. items:
  19427. description: An empty preferred scheduling
  19428. term matches all objects with implicit
  19429. weight 0 (i.e. it's a no-op). A null
  19430. preferred scheduling term matches
  19431. no objects (i.e. is also a no-op).
  19432. properties:
  19433. preference:
  19434. description: A node selector term,
  19435. associated with the corresponding
  19436. weight.
  19437. properties:
  19438. matchExpressions:
  19439. description: A list of node
  19440. selector requirements by node's
  19441. labels.
  19442. items:
  19443. description: A node selector
  19444. requirement is a selector
  19445. that contains values, a
  19446. key, and an operator that
  19447. relates the key and values.
  19448. properties:
  19449. key:
  19450. description: The label
  19451. key that the selector
  19452. applies to.
  19453. type: string
  19454. operator:
  19455. description: Represents
  19456. a key's relationship
  19457. to a set of values.
  19458. Valid operators are
  19459. In, NotIn, Exists, DoesNotExist.
  19460. Gt, and Lt.
  19461. type: string
  19462. values:
  19463. description: An array
  19464. of string values. If
  19465. the operator is In or
  19466. NotIn, the values array
  19467. must be non-empty. If
  19468. the operator is Exists
  19469. or DoesNotExist, the
  19470. values array must be
  19471. empty. If the operator
  19472. is Gt or Lt, the values
  19473. array must have a single
  19474. element, which will
  19475. be interpreted as an
  19476. integer. This array
  19477. is replaced during a
  19478. strategic merge patch.
  19479. items:
  19480. type: string
  19481. type: array
  19482. required:
  19483. - key
  19484. - operator
  19485. type: object
  19486. type: array
  19487. matchFields:
  19488. description: A list of node
  19489. selector requirements by node's
  19490. fields.
  19491. items:
  19492. description: A node selector
  19493. requirement is a selector
  19494. that contains values, a
  19495. key, and an operator that
  19496. relates the key and values.
  19497. properties:
  19498. key:
  19499. description: The label
  19500. key that the selector
  19501. applies to.
  19502. type: string
  19503. operator:
  19504. description: Represents
  19505. a key's relationship
  19506. to a set of values.
  19507. Valid operators are
  19508. In, NotIn, Exists, DoesNotExist.
  19509. Gt, and Lt.
  19510. type: string
  19511. values:
  19512. description: An array
  19513. of string values. If
  19514. the operator is In or
  19515. NotIn, the values array
  19516. must be non-empty. If
  19517. the operator is Exists
  19518. or DoesNotExist, the
  19519. values array must be
  19520. empty. If the operator
  19521. is Gt or Lt, the values
  19522. array must have a single
  19523. element, which will
  19524. be interpreted as an
  19525. integer. This array
  19526. is replaced during a
  19527. strategic merge patch.
  19528. items:
  19529. type: string
  19530. type: array
  19531. required:
  19532. - key
  19533. - operator
  19534. type: object
  19535. type: array
  19536. type: object
  19537. x-kubernetes-map-type: atomic
  19538. weight:
  19539. description: Weight associated with
  19540. matching the corresponding nodeSelectorTerm,
  19541. in the range 1-100.
  19542. format: int32
  19543. type: integer
  19544. required:
  19545. - preference
  19546. - weight
  19547. type: object
  19548. type: array
  19549. requiredDuringSchedulingIgnoredDuringExecution:
  19550. description: If the affinity requirements
  19551. specified by this field are not met
  19552. at scheduling time, the pod will not
  19553. be scheduled onto the node. If the affinity
  19554. requirements specified by this field
  19555. cease to be met at some point during
  19556. pod execution (e.g. due to an update),
  19557. the system may or may not try to eventually
  19558. evict the pod from its node.
  19559. properties:
  19560. nodeSelectorTerms:
  19561. description: Required. A list of node
  19562. selector terms. The terms are ORed.
  19563. items:
  19564. description: A null or empty node
  19565. selector term matches no objects.
  19566. The requirements of them are ANDed.
  19567. The TopologySelectorTerm type
  19568. implements a subset of the NodeSelectorTerm.
  19569. properties:
  19570. matchExpressions:
  19571. description: A list of node
  19572. selector requirements by node's
  19573. labels.
  19574. items:
  19575. description: A node selector
  19576. requirement is a selector
  19577. that contains values, a
  19578. key, and an operator that
  19579. relates the key and values.
  19580. properties:
  19581. key:
  19582. description: The label
  19583. key that the selector
  19584. applies to.
  19585. type: string
  19586. operator:
  19587. description: Represents
  19588. a key's relationship
  19589. to a set of values.
  19590. Valid operators are
  19591. In, NotIn, Exists, DoesNotExist.
  19592. Gt, and Lt.
  19593. type: string
  19594. values:
  19595. description: An array
  19596. of string values. If
  19597. the operator is In or
  19598. NotIn, the values array
  19599. must be non-empty. If
  19600. the operator is Exists
  19601. or DoesNotExist, the
  19602. values array must be
  19603. empty. If the operator
  19604. is Gt or Lt, the values
  19605. array must have a single
  19606. element, which will
  19607. be interpreted as an
  19608. integer. This array
  19609. is replaced during a
  19610. strategic merge patch.
  19611. items:
  19612. type: string
  19613. type: array
  19614. required:
  19615. - key
  19616. - operator
  19617. type: object
  19618. type: array
  19619. matchFields:
  19620. description: A list of node
  19621. selector requirements by node's
  19622. fields.
  19623. items:
  19624. description: A node selector
  19625. requirement is a selector
  19626. that contains values, a
  19627. key, and an operator that
  19628. relates the key and values.
  19629. properties:
  19630. key:
  19631. description: The label
  19632. key that the selector
  19633. applies to.
  19634. type: string
  19635. operator:
  19636. description: Represents
  19637. a key's relationship
  19638. to a set of values.
  19639. Valid operators are
  19640. In, NotIn, Exists, DoesNotExist.
  19641. Gt, and Lt.
  19642. type: string
  19643. values:
  19644. description: An array
  19645. of string values. If
  19646. the operator is In or
  19647. NotIn, the values array
  19648. must be non-empty. If
  19649. the operator is Exists
  19650. or DoesNotExist, the
  19651. values array must be
  19652. empty. If the operator
  19653. is Gt or Lt, the values
  19654. array must have a single
  19655. element, which will
  19656. be interpreted as an
  19657. integer. This array
  19658. is replaced during a
  19659. strategic merge patch.
  19660. items:
  19661. type: string
  19662. type: array
  19663. required:
  19664. - key
  19665. - operator
  19666. type: object
  19667. type: array
  19668. type: object
  19669. x-kubernetes-map-type: atomic
  19670. type: array
  19671. required:
  19672. - nodeSelectorTerms
  19673. type: object
  19674. x-kubernetes-map-type: atomic
  19675. type: object
  19676. podAffinity:
  19677. description: Describes pod affinity scheduling
  19678. rules (e.g. co-locate this pod in the same
  19679. node, zone, etc. as some other pod(s)).
  19680. properties:
  19681. preferredDuringSchedulingIgnoredDuringExecution:
  19682. description: The scheduler will prefer
  19683. to schedule pods to nodes that satisfy
  19684. the affinity expressions specified by
  19685. this field, but it may choose a node
  19686. that violates one or more of the expressions.
  19687. The node that is most preferred is the
  19688. one with the greatest sum of weights,
  19689. i.e. for each node that meets all of
  19690. the scheduling requirements (resource
  19691. request, requiredDuringScheduling affinity
  19692. expressions, etc.), compute a sum by
  19693. iterating through the elements of this
  19694. field and adding "weight" to the sum
  19695. if the node has pods which matches the
  19696. corresponding podAffinityTerm; the node(s)
  19697. with the highest sum are the most preferred.
  19698. items:
  19699. description: The weights of all of the
  19700. matched WeightedPodAffinityTerm fields
  19701. are added per-node to find the most
  19702. preferred node(s)
  19703. properties:
  19704. podAffinityTerm:
  19705. description: Required. A pod affinity
  19706. term, associated with the corresponding
  19707. weight.
  19708. properties:
  19709. labelSelector:
  19710. description: A label query over
  19711. a set of resources, in this
  19712. case pods.
  19713. properties:
  19714. matchExpressions:
  19715. description: matchExpressions
  19716. is a list of label selector
  19717. requirements. The requirements
  19718. are ANDed.
  19719. items:
  19720. description: A label selector
  19721. requirement is a selector
  19722. that contains values,
  19723. a key, and an operator
  19724. that relates the key
  19725. and values.
  19726. properties:
  19727. key:
  19728. description: key is
  19729. the label key that
  19730. the selector applies
  19731. to.
  19732. type: string
  19733. operator:
  19734. description: operator
  19735. represents a key's
  19736. relationship to
  19737. a set of values.
  19738. Valid operators
  19739. are In, NotIn, Exists
  19740. and DoesNotExist.
  19741. type: string
  19742. values:
  19743. description: values
  19744. is an array of string
  19745. values. If the operator
  19746. is In or NotIn,
  19747. the values array
  19748. must be non-empty.
  19749. If the operator
  19750. is Exists or DoesNotExist,
  19751. the values array
  19752. must be empty. This
  19753. array is replaced
  19754. during a strategic
  19755. merge patch.
  19756. items:
  19757. type: string
  19758. type: array
  19759. required:
  19760. - key
  19761. - operator
  19762. type: object
  19763. type: array
  19764. matchLabels:
  19765. additionalProperties:
  19766. type: string
  19767. description: matchLabels
  19768. is a map of {key,value}
  19769. pairs. A single {key,value}
  19770. in the matchLabels map
  19771. is equivalent to an element
  19772. of matchExpressions, whose
  19773. key field is "key", the
  19774. operator is "In", and
  19775. the values array contains
  19776. only "value". The requirements
  19777. are ANDed.
  19778. type: object
  19779. type: object
  19780. x-kubernetes-map-type: atomic
  19781. namespaceSelector:
  19782. description: A label query over
  19783. the set of namespaces that
  19784. the term applies to. The term
  19785. is applied to the union of
  19786. the namespaces selected by
  19787. this field and the ones listed
  19788. in the namespaces field. null
  19789. selector and null or empty
  19790. namespaces list means "this
  19791. pod's namespace". An empty
  19792. selector ({}) matches all
  19793. namespaces.
  19794. properties:
  19795. matchExpressions:
  19796. description: matchExpressions
  19797. is a list of label selector
  19798. requirements. The requirements
  19799. are ANDed.
  19800. items:
  19801. description: A label selector
  19802. requirement is a selector
  19803. that contains values,
  19804. a key, and an operator
  19805. that relates the key
  19806. and values.
  19807. properties:
  19808. key:
  19809. description: key is
  19810. the label key that
  19811. the selector applies
  19812. to.
  19813. type: string
  19814. operator:
  19815. description: operator
  19816. represents a key's
  19817. relationship to
  19818. a set of values.
  19819. Valid operators
  19820. are In, NotIn, Exists
  19821. and DoesNotExist.
  19822. type: string
  19823. values:
  19824. description: values
  19825. is an array of string
  19826. values. If the operator
  19827. is In or NotIn,
  19828. the values array
  19829. must be non-empty.
  19830. If the operator
  19831. is Exists or DoesNotExist,
  19832. the values array
  19833. must be empty. This
  19834. array is replaced
  19835. during a strategic
  19836. merge patch.
  19837. items:
  19838. type: string
  19839. type: array
  19840. required:
  19841. - key
  19842. - operator
  19843. type: object
  19844. type: array
  19845. matchLabels:
  19846. additionalProperties:
  19847. type: string
  19848. description: matchLabels
  19849. is a map of {key,value}
  19850. pairs. A single {key,value}
  19851. in the matchLabels map
  19852. is equivalent to an element
  19853. of matchExpressions, whose
  19854. key field is "key", the
  19855. operator is "In", and
  19856. the values array contains
  19857. only "value". The requirements
  19858. are ANDed.
  19859. type: object
  19860. type: object
  19861. x-kubernetes-map-type: atomic
  19862. namespaces:
  19863. description: namespaces specifies
  19864. a static list of namespace
  19865. names that the term applies
  19866. to. The term is applied to
  19867. the union of the namespaces
  19868. listed in this field and the
  19869. ones selected by namespaceSelector.
  19870. null or empty namespaces list
  19871. and null namespaceSelector
  19872. means "this pod's namespace".
  19873. items:
  19874. type: string
  19875. type: array
  19876. topologyKey:
  19877. description: This pod should
  19878. be co-located (affinity) or
  19879. not co-located (anti-affinity)
  19880. with the pods matching the
  19881. labelSelector in the specified
  19882. namespaces, where co-located
  19883. is defined as running on a
  19884. node whose value of the label
  19885. with key topologyKey matches
  19886. that of any node on which
  19887. any of the selected pods is
  19888. running. Empty topologyKey
  19889. is not allowed.
  19890. type: string
  19891. required:
  19892. - topologyKey
  19893. type: object
  19894. weight:
  19895. description: weight associated with
  19896. matching the corresponding podAffinityTerm,
  19897. in the range 1-100.
  19898. format: int32
  19899. type: integer
  19900. required:
  19901. - podAffinityTerm
  19902. - weight
  19903. type: object
  19904. type: array
  19905. requiredDuringSchedulingIgnoredDuringExecution:
  19906. description: If the affinity requirements
  19907. specified by this field are not met
  19908. at scheduling time, the pod will not
  19909. be scheduled onto the node. If the affinity
  19910. requirements specified by this field
  19911. cease to be met at some point during
  19912. pod execution (e.g. due to a pod label
  19913. update), the system may or may not try
  19914. to eventually evict the pod from its
  19915. node. When there are multiple elements,
  19916. the lists of nodes corresponding to
  19917. each podAffinityTerm are intersected,
  19918. i.e. all terms must be satisfied.
  19919. items:
  19920. description: Defines a set of pods (namely
  19921. those matching the labelSelector relative
  19922. to the given namespace(s)) that this
  19923. pod should be co-located (affinity)
  19924. or not co-located (anti-affinity)
  19925. with, where co-located is defined
  19926. as running on a node whose value of
  19927. the label with key <topologyKey> matches
  19928. that of any node on which a pod of
  19929. the set of pods is running
  19930. properties:
  19931. labelSelector:
  19932. description: A label query over
  19933. a set of resources, in this case
  19934. pods.
  19935. properties:
  19936. matchExpressions:
  19937. description: matchExpressions
  19938. is a list of label selector
  19939. requirements. The requirements
  19940. are ANDed.
  19941. items:
  19942. description: A label selector
  19943. requirement is a selector
  19944. that contains values, a
  19945. key, and an operator that
  19946. relates the key and values.
  19947. properties:
  19948. key:
  19949. description: key is the
  19950. label key that the selector
  19951. applies to.
  19952. type: string
  19953. operator:
  19954. description: operator
  19955. represents a key's relationship
  19956. to a set of values.
  19957. Valid operators are
  19958. In, NotIn, Exists and
  19959. DoesNotExist.
  19960. type: string
  19961. values:
  19962. description: values is
  19963. an array of string values.
  19964. If the operator is In
  19965. or NotIn, the values
  19966. array must be non-empty.
  19967. If the operator is Exists
  19968. or DoesNotExist, the
  19969. values array must be
  19970. empty. This array is
  19971. replaced during a strategic
  19972. merge patch.
  19973. items:
  19974. type: string
  19975. type: array
  19976. required:
  19977. - key
  19978. - operator
  19979. type: object
  19980. type: array
  19981. matchLabels:
  19982. additionalProperties:
  19983. type: string
  19984. description: matchLabels is
  19985. a map of {key,value} pairs.
  19986. A single {key,value} in the
  19987. matchLabels map is equivalent
  19988. to an element of matchExpressions,
  19989. whose key field is "key",
  19990. the operator is "In", and
  19991. the values array contains
  19992. only "value". The requirements
  19993. are ANDed.
  19994. type: object
  19995. type: object
  19996. x-kubernetes-map-type: atomic
  19997. namespaceSelector:
  19998. description: A label query over
  19999. the set of namespaces that the
  20000. term applies to. The term is applied
  20001. to the union of the namespaces
  20002. selected by this field and the
  20003. ones listed in the namespaces
  20004. field. null selector and null
  20005. or empty namespaces list means
  20006. "this pod's namespace". An empty
  20007. selector ({}) matches all namespaces.
  20008. properties:
  20009. matchExpressions:
  20010. description: matchExpressions
  20011. is a list of label selector
  20012. requirements. The requirements
  20013. are ANDed.
  20014. items:
  20015. description: A label selector
  20016. requirement is a selector
  20017. that contains values, a
  20018. key, and an operator that
  20019. relates the key and values.
  20020. properties:
  20021. key:
  20022. description: key is the
  20023. label key that the selector
  20024. applies to.
  20025. type: string
  20026. operator:
  20027. description: operator
  20028. represents a key's relationship
  20029. to a set of values.
  20030. Valid operators are
  20031. In, NotIn, Exists and
  20032. DoesNotExist.
  20033. type: string
  20034. values:
  20035. description: values is
  20036. an array of string values.
  20037. If the operator is In
  20038. or NotIn, the values
  20039. array must be non-empty.
  20040. If the operator is Exists
  20041. or DoesNotExist, the
  20042. values array must be
  20043. empty. This array is
  20044. replaced during a strategic
  20045. merge patch.
  20046. items:
  20047. type: string
  20048. type: array
  20049. required:
  20050. - key
  20051. - operator
  20052. type: object
  20053. type: array
  20054. matchLabels:
  20055. additionalProperties:
  20056. type: string
  20057. description: matchLabels is
  20058. a map of {key,value} pairs.
  20059. A single {key,value} in the
  20060. matchLabels map is equivalent
  20061. to an element of matchExpressions,
  20062. whose key field is "key",
  20063. the operator is "In", and
  20064. the values array contains
  20065. only "value". The requirements
  20066. are ANDed.
  20067. type: object
  20068. type: object
  20069. x-kubernetes-map-type: atomic
  20070. namespaces:
  20071. description: namespaces specifies
  20072. a static list of namespace names
  20073. that the term applies to. The
  20074. term is applied to the union of
  20075. the namespaces listed in this
  20076. field and the ones selected by
  20077. namespaceSelector. null or empty
  20078. namespaces list and null namespaceSelector
  20079. means "this pod's namespace".
  20080. items:
  20081. type: string
  20082. type: array
  20083. topologyKey:
  20084. description: This pod should be
  20085. co-located (affinity) or not co-located
  20086. (anti-affinity) with the pods
  20087. matching the labelSelector in
  20088. the specified namespaces, where
  20089. co-located is defined as running
  20090. on a node whose value of the label
  20091. with key topologyKey matches that
  20092. of any node on which any of the
  20093. selected pods is running. Empty
  20094. topologyKey is not allowed.
  20095. type: string
  20096. required:
  20097. - topologyKey
  20098. type: object
  20099. type: array
  20100. type: object
  20101. podAntiAffinity:
  20102. description: Describes pod anti-affinity scheduling
  20103. rules (e.g. avoid putting this pod in the
  20104. same node, zone, etc. as some other pod(s)).
  20105. properties:
  20106. preferredDuringSchedulingIgnoredDuringExecution:
  20107. description: The scheduler will prefer
  20108. to schedule pods to nodes that satisfy
  20109. the anti-affinity expressions specified
  20110. by this field, but it may choose a node
  20111. that violates one or more of the expressions.
  20112. The node that is most preferred is the
  20113. one with the greatest sum of weights,
  20114. i.e. for each node that meets all of
  20115. the scheduling requirements (resource
  20116. request, requiredDuringScheduling anti-affinity
  20117. expressions, etc.), compute a sum by
  20118. iterating through the elements of this
  20119. field and adding "weight" to the sum
  20120. if the node has pods which matches the
  20121. corresponding podAffinityTerm; the node(s)
  20122. with the highest sum are the most preferred.
  20123. items:
  20124. description: The weights of all of the
  20125. matched WeightedPodAffinityTerm fields
  20126. are added per-node to find the most
  20127. preferred node(s)
  20128. properties:
  20129. podAffinityTerm:
  20130. description: Required. A pod affinity
  20131. term, associated with the corresponding
  20132. weight.
  20133. properties:
  20134. labelSelector:
  20135. description: A label query over
  20136. a set of resources, in this
  20137. case pods.
  20138. properties:
  20139. matchExpressions:
  20140. description: matchExpressions
  20141. is a list of label selector
  20142. requirements. The requirements
  20143. are ANDed.
  20144. items:
  20145. description: A label selector
  20146. requirement is a selector
  20147. that contains values,
  20148. a key, and an operator
  20149. that relates the key
  20150. and values.
  20151. properties:
  20152. key:
  20153. description: key is
  20154. the label key that
  20155. the selector applies
  20156. to.
  20157. type: string
  20158. operator:
  20159. description: operator
  20160. represents a key's
  20161. relationship to
  20162. a set of values.
  20163. Valid operators
  20164. are In, NotIn, Exists
  20165. and DoesNotExist.
  20166. type: string
  20167. values:
  20168. description: values
  20169. is an array of string
  20170. values. If the operator
  20171. is In or NotIn,
  20172. the values array
  20173. must be non-empty.
  20174. If the operator
  20175. is Exists or DoesNotExist,
  20176. the values array
  20177. must be empty. This
  20178. array is replaced
  20179. during a strategic
  20180. merge patch.
  20181. items:
  20182. type: string
  20183. type: array
  20184. required:
  20185. - key
  20186. - operator
  20187. type: object
  20188. type: array
  20189. matchLabels:
  20190. additionalProperties:
  20191. type: string
  20192. description: matchLabels
  20193. is a map of {key,value}
  20194. pairs. A single {key,value}
  20195. in the matchLabels map
  20196. is equivalent to an element
  20197. of matchExpressions, whose
  20198. key field is "key", the
  20199. operator is "In", and
  20200. the values array contains
  20201. only "value". The requirements
  20202. are ANDed.
  20203. type: object
  20204. type: object
  20205. x-kubernetes-map-type: atomic
  20206. namespaceSelector:
  20207. description: A label query over
  20208. the set of namespaces that
  20209. the term applies to. The term
  20210. is applied to the union of
  20211. the namespaces selected by
  20212. this field and the ones listed
  20213. in the namespaces field. null
  20214. selector and null or empty
  20215. namespaces list means "this
  20216. pod's namespace". An empty
  20217. selector ({}) matches all
  20218. namespaces.
  20219. properties:
  20220. matchExpressions:
  20221. description: matchExpressions
  20222. is a list of label selector
  20223. requirements. The requirements
  20224. are ANDed.
  20225. items:
  20226. description: A label selector
  20227. requirement is a selector
  20228. that contains values,
  20229. a key, and an operator
  20230. that relates the key
  20231. and values.
  20232. properties:
  20233. key:
  20234. description: key is
  20235. the label key that
  20236. the selector applies
  20237. to.
  20238. type: string
  20239. operator:
  20240. description: operator
  20241. represents a key's
  20242. relationship to
  20243. a set of values.
  20244. Valid operators
  20245. are In, NotIn, Exists
  20246. and DoesNotExist.
  20247. type: string
  20248. values:
  20249. description: values
  20250. is an array of string
  20251. values. If the operator
  20252. is In or NotIn,
  20253. the values array
  20254. must be non-empty.
  20255. If the operator
  20256. is Exists or DoesNotExist,
  20257. the values array
  20258. must be empty. This
  20259. array is replaced
  20260. during a strategic
  20261. merge patch.
  20262. items:
  20263. type: string
  20264. type: array
  20265. required:
  20266. - key
  20267. - operator
  20268. type: object
  20269. type: array
  20270. matchLabels:
  20271. additionalProperties:
  20272. type: string
  20273. description: matchLabels
  20274. is a map of {key,value}
  20275. pairs. A single {key,value}
  20276. in the matchLabels map
  20277. is equivalent to an element
  20278. of matchExpressions, whose
  20279. key field is "key", the
  20280. operator is "In", and
  20281. the values array contains
  20282. only "value". The requirements
  20283. are ANDed.
  20284. type: object
  20285. type: object
  20286. x-kubernetes-map-type: atomic
  20287. namespaces:
  20288. description: namespaces specifies
  20289. a static list of namespace
  20290. names that the term applies
  20291. to. The term is applied to
  20292. the union of the namespaces
  20293. listed in this field and the
  20294. ones selected by namespaceSelector.
  20295. null or empty namespaces list
  20296. and null namespaceSelector
  20297. means "this pod's namespace".
  20298. items:
  20299. type: string
  20300. type: array
  20301. topologyKey:
  20302. description: This pod should
  20303. be co-located (affinity) or
  20304. not co-located (anti-affinity)
  20305. with the pods matching the
  20306. labelSelector in the specified
  20307. namespaces, where co-located
  20308. is defined as running on a
  20309. node whose value of the label
  20310. with key topologyKey matches
  20311. that of any node on which
  20312. any of the selected pods is
  20313. running. Empty topologyKey
  20314. is not allowed.
  20315. type: string
  20316. required:
  20317. - topologyKey
  20318. type: object
  20319. weight:
  20320. description: weight associated with
  20321. matching the corresponding podAffinityTerm,
  20322. in the range 1-100.
  20323. format: int32
  20324. type: integer
  20325. required:
  20326. - podAffinityTerm
  20327. - weight
  20328. type: object
  20329. type: array
  20330. requiredDuringSchedulingIgnoredDuringExecution:
  20331. description: If the anti-affinity requirements
  20332. specified by this field are not met
  20333. at scheduling time, the pod will not
  20334. be scheduled onto the node. If the anti-affinity
  20335. requirements specified by this field
  20336. cease to be met at some point during
  20337. pod execution (e.g. due to a pod label
  20338. update), the system may or may not try
  20339. to eventually evict the pod from its
  20340. node. When there are multiple elements,
  20341. the lists of nodes corresponding to
  20342. each podAffinityTerm are intersected,
  20343. i.e. all terms must be satisfied.
  20344. items:
  20345. description: Defines a set of pods (namely
  20346. those matching the labelSelector relative
  20347. to the given namespace(s)) that this
  20348. pod should be co-located (affinity)
  20349. or not co-located (anti-affinity)
  20350. with, where co-located is defined
  20351. as running on a node whose value of
  20352. the label with key <topologyKey> matches
  20353. that of any node on which a pod of
  20354. the set of pods is running
  20355. properties:
  20356. labelSelector:
  20357. description: A label query over
  20358. a set of resources, in this case
  20359. pods.
  20360. properties:
  20361. matchExpressions:
  20362. description: matchExpressions
  20363. is a list of label selector
  20364. requirements. The requirements
  20365. are ANDed.
  20366. items:
  20367. description: A label selector
  20368. requirement is a selector
  20369. that contains values, a
  20370. key, and an operator that
  20371. relates the key and values.
  20372. properties:
  20373. key:
  20374. description: key is the
  20375. label key that the selector
  20376. applies to.
  20377. type: string
  20378. operator:
  20379. description: operator
  20380. represents a key's relationship
  20381. to a set of values.
  20382. Valid operators are
  20383. In, NotIn, Exists and
  20384. DoesNotExist.
  20385. type: string
  20386. values:
  20387. description: values is
  20388. an array of string values.
  20389. If the operator is In
  20390. or NotIn, the values
  20391. array must be non-empty.
  20392. If the operator is Exists
  20393. or DoesNotExist, the
  20394. values array must be
  20395. empty. This array is
  20396. replaced during a strategic
  20397. merge patch.
  20398. items:
  20399. type: string
  20400. type: array
  20401. required:
  20402. - key
  20403. - operator
  20404. type: object
  20405. type: array
  20406. matchLabels:
  20407. additionalProperties:
  20408. type: string
  20409. description: matchLabels is
  20410. a map of {key,value} pairs.
  20411. A single {key,value} in the
  20412. matchLabels map is equivalent
  20413. to an element of matchExpressions,
  20414. whose key field is "key",
  20415. the operator is "In", and
  20416. the values array contains
  20417. only "value". The requirements
  20418. are ANDed.
  20419. type: object
  20420. type: object
  20421. x-kubernetes-map-type: atomic
  20422. namespaceSelector:
  20423. description: A label query over
  20424. the set of namespaces that the
  20425. term applies to. The term is applied
  20426. to the union of the namespaces
  20427. selected by this field and the
  20428. ones listed in the namespaces
  20429. field. null selector and null
  20430. or empty namespaces list means
  20431. "this pod's namespace". An empty
  20432. selector ({}) matches all namespaces.
  20433. properties:
  20434. matchExpressions:
  20435. description: matchExpressions
  20436. is a list of label selector
  20437. requirements. The requirements
  20438. are ANDed.
  20439. items:
  20440. description: A label selector
  20441. requirement is a selector
  20442. that contains values, a
  20443. key, and an operator that
  20444. relates the key and values.
  20445. properties:
  20446. key:
  20447. description: key is the
  20448. label key that the selector
  20449. applies to.
  20450. type: string
  20451. operator:
  20452. description: operator
  20453. represents a key's relationship
  20454. to a set of values.
  20455. Valid operators are
  20456. In, NotIn, Exists and
  20457. DoesNotExist.
  20458. type: string
  20459. values:
  20460. description: values is
  20461. an array of string values.
  20462. If the operator is In
  20463. or NotIn, the values
  20464. array must be non-empty.
  20465. If the operator is Exists
  20466. or DoesNotExist, the
  20467. values array must be
  20468. empty. This array is
  20469. replaced during a strategic
  20470. merge patch.
  20471. items:
  20472. type: string
  20473. type: array
  20474. required:
  20475. - key
  20476. - operator
  20477. type: object
  20478. type: array
  20479. matchLabels:
  20480. additionalProperties:
  20481. type: string
  20482. description: matchLabels is
  20483. a map of {key,value} pairs.
  20484. A single {key,value} in the
  20485. matchLabels map is equivalent
  20486. to an element of matchExpressions,
  20487. whose key field is "key",
  20488. the operator is "In", and
  20489. the values array contains
  20490. only "value". The requirements
  20491. are ANDed.
  20492. type: object
  20493. type: object
  20494. x-kubernetes-map-type: atomic
  20495. namespaces:
  20496. description: namespaces specifies
  20497. a static list of namespace names
  20498. that the term applies to. The
  20499. term is applied to the union of
  20500. the namespaces listed in this
  20501. field and the ones selected by
  20502. namespaceSelector. null or empty
  20503. namespaces list and null namespaceSelector
  20504. means "this pod's namespace".
  20505. items:
  20506. type: string
  20507. type: array
  20508. topologyKey:
  20509. description: This pod should be
  20510. co-located (affinity) or not co-located
  20511. (anti-affinity) with the pods
  20512. matching the labelSelector in
  20513. the specified namespaces, where
  20514. co-located is defined as running
  20515. on a node whose value of the label
  20516. with key topologyKey matches that
  20517. of any node on which any of the
  20518. selected pods is running. Empty
  20519. topologyKey is not allowed.
  20520. type: string
  20521. required:
  20522. - topologyKey
  20523. type: object
  20524. type: array
  20525. type: object
  20526. type: object
  20527. containers:
  20528. description: Containers is a list of typha containers.
  20529. If specified, this overrides the specified typha
  20530. Deployment containers. If omitted, the typha
  20531. Deployment will use its default values for its
  20532. containers.
  20533. items:
  20534. description: TyphaDeploymentContainer is a typha
  20535. Deployment container.
  20536. properties:
  20537. name:
  20538. description: Name is an enum which identifies
  20539. the typha Deployment container by name.
  20540. enum:
  20541. - calico-typha
  20542. type: string
  20543. resources:
  20544. description: Resources allows customization
  20545. of limits and requests for compute resources
  20546. such as cpu and memory. If specified,
  20547. this overrides the named typha Deployment
  20548. container's resources. If omitted, the
  20549. typha Deployment will use its default
  20550. value for this container's resources.
  20551. If used in conjunction with the deprecated
  20552. ComponentResources, then this value takes
  20553. precedence.
  20554. properties:
  20555. limits:
  20556. additionalProperties:
  20557. anyOf:
  20558. - type: integer
  20559. - type: string
  20560. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  20561. x-kubernetes-int-or-string: true
  20562. description: 'Limits describes the maximum
  20563. amount of compute resources allowed.
  20564. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  20565. type: object
  20566. requests:
  20567. additionalProperties:
  20568. anyOf:
  20569. - type: integer
  20570. - type: string
  20571. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  20572. x-kubernetes-int-or-string: true
  20573. description: 'Requests describes the
  20574. minimum amount of compute resources
  20575. required. If Requests is omitted for
  20576. a container, it defaults to Limits
  20577. if that is explicitly specified, otherwise
  20578. to an implementation-defined value.
  20579. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  20580. type: object
  20581. type: object
  20582. required:
  20583. - name
  20584. type: object
  20585. type: array
  20586. initContainers:
  20587. description: InitContainers is a list of typha
  20588. init containers. If specified, this overrides
  20589. the specified typha Deployment init containers.
  20590. If omitted, the typha Deployment will use its
  20591. default values for its init containers.
  20592. items:
  20593. description: TyphaDeploymentInitContainer is
  20594. a typha Deployment init container.
  20595. properties:
  20596. name:
  20597. description: Name is an enum which identifies
  20598. the typha Deployment init container by
  20599. name.
  20600. enum:
  20601. - typha-certs-key-cert-provisioner
  20602. type: string
  20603. resources:
  20604. description: Resources allows customization
  20605. of limits and requests for compute resources
  20606. such as cpu and memory. If specified,
  20607. this overrides the named typha Deployment
  20608. init container's resources. If omitted,
  20609. the typha Deployment will use its default
  20610. value for this init container's resources.
  20611. If used in conjunction with the deprecated
  20612. ComponentResources, then this value takes
  20613. precedence.
  20614. properties:
  20615. limits:
  20616. additionalProperties:
  20617. anyOf:
  20618. - type: integer
  20619. - type: string
  20620. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  20621. x-kubernetes-int-or-string: true
  20622. description: 'Limits describes the maximum
  20623. amount of compute resources allowed.
  20624. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  20625. type: object
  20626. requests:
  20627. additionalProperties:
  20628. anyOf:
  20629. - type: integer
  20630. - type: string
  20631. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  20632. x-kubernetes-int-or-string: true
  20633. description: 'Requests describes the
  20634. minimum amount of compute resources
  20635. required. If Requests is omitted for
  20636. a container, it defaults to Limits
  20637. if that is explicitly specified, otherwise
  20638. to an implementation-defined value.
  20639. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  20640. type: object
  20641. type: object
  20642. required:
  20643. - name
  20644. type: object
  20645. type: array
  20646. nodeSelector:
  20647. additionalProperties:
  20648. type: string
  20649. description: 'NodeSelector is the calico-typha
  20650. pod''s scheduling constraints. If specified,
  20651. each of the key/value pairs are added to the
  20652. calico-typha Deployment nodeSelector provided
  20653. the key does not already exist in the object''s
  20654. nodeSelector. If omitted, the calico-typha Deployment
  20655. will use its default value for nodeSelector.
  20656. WARNING: Please note that this field will modify
  20657. the default calico-typha Deployment nodeSelector.'
  20658. type: object
  20659. terminationGracePeriodSeconds:
  20660. description: Optional duration in seconds the
  20661. pod needs to terminate gracefully. May be decreased
  20662. in delete request. Value must be non-negative
  20663. integer. The value zero indicates stop immediately
  20664. via the kill signal (no opportunity to shut
  20665. down). If this value is nil, the default grace
  20666. period will be used instead. The grace period
  20667. is the duration in seconds after the processes
  20668. running in the pod are sent a termination signal
  20669. and the time when the processes are forcibly
  20670. halted with a kill signal. Set this value longer
  20671. than the expected cleanup time for your process.
  20672. Defaults to 30 seconds.
  20673. format: int64
  20674. type: integer
  20675. tolerations:
  20676. description: 'Tolerations is the typha pod''s
  20677. tolerations. If specified, this overrides any
  20678. tolerations that may be set on the typha Deployment.
  20679. If omitted, the typha Deployment will use its
  20680. default value for tolerations. WARNING: Please
  20681. note that this field will override the default
  20682. calico-typha Deployment tolerations.'
  20683. items:
  20684. description: The pod this Toleration is attached
  20685. to tolerates any taint that matches the triple
  20686. <key,value,effect> using the matching operator
  20687. <operator>.
  20688. properties:
  20689. effect:
  20690. description: Effect indicates the taint
  20691. effect to match. Empty means match all
  20692. taint effects. When specified, allowed
  20693. values are NoSchedule, PreferNoSchedule
  20694. and NoExecute.
  20695. type: string
  20696. key:
  20697. description: Key is the taint key that the
  20698. toleration applies to. Empty means match
  20699. all taint keys. If the key is empty, operator
  20700. must be Exists; this combination means
  20701. to match all values and all keys.
  20702. type: string
  20703. operator:
  20704. description: Operator represents a key's
  20705. relationship to the value. Valid operators
  20706. are Exists and Equal. Defaults to Equal.
  20707. Exists is equivalent to wildcard for value,
  20708. so that a pod can tolerate all taints
  20709. of a particular category.
  20710. type: string
  20711. tolerationSeconds:
  20712. description: TolerationSeconds represents
  20713. the period of time the toleration (which
  20714. must be of effect NoExecute, otherwise
  20715. this field is ignored) tolerates the taint.
  20716. By default, it is not set, which means
  20717. tolerate the taint forever (do not evict).
  20718. Zero and negative values will be treated
  20719. as 0 (evict immediately) by the system.
  20720. format: int64
  20721. type: integer
  20722. value:
  20723. description: Value is the taint value the
  20724. toleration matches to. If the operator
  20725. is Exists, the value should be empty,
  20726. otherwise just a regular string.
  20727. type: string
  20728. type: object
  20729. type: array
  20730. topologySpreadConstraints:
  20731. description: TopologySpreadConstraints describes
  20732. how a group of pods ought to spread across topology
  20733. domains. Scheduler will schedule pods in a way
  20734. which abides by the constraints. All topologySpreadConstraints
  20735. are ANDed.
  20736. items:
  20737. description: TopologySpreadConstraint specifies
  20738. how to spread matching pods among the given
  20739. topology.
  20740. properties:
  20741. labelSelector:
  20742. description: LabelSelector is used to find
  20743. matching pods. Pods that match this label
  20744. selector are counted to determine the
  20745. number of pods in their corresponding
  20746. topology domain.
  20747. properties:
  20748. matchExpressions:
  20749. description: matchExpressions is a list
  20750. of label selector requirements. The
  20751. requirements are ANDed.
  20752. items:
  20753. description: A label selector requirement
  20754. is a selector that contains values,
  20755. a key, and an operator that relates
  20756. the key and values.
  20757. properties:
  20758. key:
  20759. description: key is the label
  20760. key that the selector applies
  20761. to.
  20762. type: string
  20763. operator:
  20764. description: operator represents
  20765. a key's relationship to a set
  20766. of values. Valid operators are
  20767. In, NotIn, Exists and DoesNotExist.
  20768. type: string
  20769. values:
  20770. description: values is an array
  20771. of string values. If the operator
  20772. is In or NotIn, the values array
  20773. must be non-empty. If the operator
  20774. is Exists or DoesNotExist, the
  20775. values array must be empty.
  20776. This array is replaced during
  20777. a strategic merge patch.
  20778. items:
  20779. type: string
  20780. type: array
  20781. required:
  20782. - key
  20783. - operator
  20784. type: object
  20785. type: array
  20786. matchLabels:
  20787. additionalProperties:
  20788. type: string
  20789. description: matchLabels is a map of
  20790. {key,value} pairs. A single {key,value}
  20791. in the matchLabels map is equivalent
  20792. to an element of matchExpressions,
  20793. whose key field is "key", the operator
  20794. is "In", and the values array contains
  20795. only "value". The requirements are
  20796. ANDed.
  20797. type: object
  20798. type: object
  20799. x-kubernetes-map-type: atomic
  20800. matchLabelKeys:
  20801. description: MatchLabelKeys is a set of
  20802. pod label keys to select the pods over
  20803. which spreading will be calculated. The
  20804. keys are used to lookup values from the
  20805. incoming pod labels, those key-value labels
  20806. are ANDed with labelSelector to select
  20807. the group of existing pods over which
  20808. spreading will be calculated for the incoming
  20809. pod. Keys that don't exist in the incoming
  20810. pod labels will be ignored. A null or
  20811. empty list means only match against labelSelector.
  20812. items:
  20813. type: string
  20814. type: array
  20815. x-kubernetes-list-type: atomic
  20816. maxSkew:
  20817. description: 'MaxSkew describes the degree
  20818. to which pods may be unevenly distributed.
  20819. When `whenUnsatisfiable=DoNotSchedule`,
  20820. it is the maximum permitted difference
  20821. between the number of matching pods in
  20822. the target topology and the global minimum.
  20823. The global minimum is the minimum number
  20824. of matching pods in an eligible domain
  20825. or zero if the number of eligible domains
  20826. is less than MinDomains. For example,
  20827. in a 3-zone cluster, MaxSkew is set to
  20828. 1, and pods with the same labelSelector
  20829. spread as 2/2/1: In this case, the global
  20830. minimum is 1. | zone1 | zone2 | zone3
  20831. | | P P | P P | P | - if MaxSkew
  20832. is 1, incoming pod can only be scheduled
  20833. to zone3 to become 2/2/2; scheduling it
  20834. onto zone1(zone2) would make the ActualSkew(3-1)
  20835. on zone1(zone2) violate MaxSkew(1). -
  20836. if MaxSkew is 2, incoming pod can be scheduled
  20837. onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  20838. it is used to give higher precedence to
  20839. topologies that satisfy it. It''s a required
  20840. field. Default value is 1 and 0 is not
  20841. allowed.'
  20842. format: int32
  20843. type: integer
  20844. minDomains:
  20845. description: "MinDomains indicates a minimum
  20846. number of eligible domains. When the number
  20847. of eligible domains with matching topology
  20848. keys is less than minDomains, Pod Topology
  20849. Spread treats \"global minimum\" as 0,
  20850. and then the calculation of Skew is performed.
  20851. And when the number of eligible domains
  20852. with matching topology keys equals or
  20853. greater than minDomains, this value has
  20854. no effect on scheduling. As a result,
  20855. when the number of eligible domains is
  20856. less than minDomains, scheduler won't
  20857. schedule more than maxSkew Pods to those
  20858. domains. If value is nil, the constraint
  20859. behaves as if MinDomains is equal to 1.
  20860. Valid values are integers greater than
  20861. 0. When value is not nil, WhenUnsatisfiable
  20862. must be DoNotSchedule. \n For example,
  20863. in a 3-zone cluster, MaxSkew is set to
  20864. 2, MinDomains is set to 5 and pods with
  20865. the same labelSelector spread as 2/2/2:
  20866. | zone1 | zone2 | zone3 | | P P | P
  20867. P | P P | The number of domains is
  20868. less than 5(MinDomains), so \"global minimum\"
  20869. is treated as 0. In this situation, new
  20870. pod with the same labelSelector cannot
  20871. be scheduled, because computed skew will
  20872. be 3(3 - 0) if new Pod is scheduled to
  20873. any of the three zones, it will violate
  20874. MaxSkew. \n This is a beta field and requires
  20875. the MinDomainsInPodTopologySpread feature
  20876. gate to be enabled (enabled by default)."
  20877. format: int32
  20878. type: integer
  20879. nodeAffinityPolicy:
  20880. description: "NodeAffinityPolicy indicates
  20881. how we will treat Pod's nodeAffinity/nodeSelector
  20882. when calculating pod topology spread skew.
  20883. Options are: - Honor: only nodes matching
  20884. nodeAffinity/nodeSelector are included
  20885. in the calculations. - Ignore: nodeAffinity/nodeSelector
  20886. are ignored. All nodes are included in
  20887. the calculations. \n If this value is
  20888. nil, the behavior is equivalent to the
  20889. Honor policy. This is a alpha-level feature
  20890. enabled by the NodeInclusionPolicyInPodTopologySpread
  20891. feature flag."
  20892. type: string
  20893. nodeTaintsPolicy:
  20894. description: "NodeTaintsPolicy indicates
  20895. how we will treat node taints when calculating
  20896. pod topology spread skew. Options are:
  20897. - Honor: nodes without taints, along with
  20898. tainted nodes for which the incoming pod
  20899. has a toleration, are included. - Ignore:
  20900. node taints are ignored. All nodes are
  20901. included. \n If this value is nil, the
  20902. behavior is equivalent to the Ignore policy.
  20903. This is a alpha-level feature enabled
  20904. by the NodeInclusionPolicyInPodTopologySpread
  20905. feature flag."
  20906. type: string
  20907. topologyKey:
  20908. description: TopologyKey is the key of node
  20909. labels. Nodes that have a label with this
  20910. key and identical values are considered
  20911. to be in the same topology. We consider
  20912. each <key, value> as a "bucket", and try
  20913. to put balanced number of pods into each
  20914. bucket. We define a domain as a particular
  20915. instance of a topology. Also, we define
  20916. an eligible domain as a domain whose nodes
  20917. meet the requirements of nodeAffinityPolicy
  20918. and nodeTaintsPolicy. e.g. If TopologyKey
  20919. is "kubernetes.io/hostname", each Node
  20920. is a domain of that topology. And, if
  20921. TopologyKey is "topology.kubernetes.io/zone",
  20922. each zone is a domain of that topology.
  20923. It's a required field.
  20924. type: string
  20925. whenUnsatisfiable:
  20926. description: 'WhenUnsatisfiable indicates
  20927. how to deal with a pod if it doesn''t
  20928. satisfy the spread constraint. - DoNotSchedule
  20929. (default) tells the scheduler not to schedule
  20930. it. - ScheduleAnyway tells the scheduler
  20931. to schedule the pod in any location, but
  20932. giving higher precedence to topologies
  20933. that would help reduce the skew. A constraint
  20934. is considered "Unsatisfiable" for an incoming
  20935. pod if and only if every possible node
  20936. assignment for that pod would violate
  20937. "MaxSkew" on some topology. For example,
  20938. in a 3-zone cluster, MaxSkew is set to
  20939. 1, and pods with the same labelSelector
  20940. spread as 3/1/1: | zone1 | zone2 | zone3
  20941. | | P P P | P | P | If WhenUnsatisfiable
  20942. is set to DoNotSchedule, incoming pod
  20943. can only be scheduled to zone2(zone3)
  20944. to become 3/2/1(3/1/2) as ActualSkew(2-1)
  20945. on zone2(zone3) satisfies MaxSkew(1).
  20946. In other words, the cluster can still
  20947. be imbalanced, but scheduler won''t make
  20948. it *more* imbalanced. It''s a required
  20949. field.'
  20950. type: string
  20951. required:
  20952. - maxSkew
  20953. - topologyKey
  20954. - whenUnsatisfiable
  20955. type: object
  20956. type: array
  20957. type: object
  20958. type: object
  20959. type: object
  20960. type: object
  20961. typhaMetricsPort:
  20962. description: TyphaMetricsPort specifies which port calico/typha
  20963. serves prometheus metrics on. By default, metrics are not enabled.
  20964. format: int32
  20965. type: integer
  20966. variant:
  20967. description: 'Variant is the product to install - one of Calico
  20968. or TigeraSecureEnterprise Default: Calico'
  20969. enum:
  20970. - Calico
  20971. - TigeraSecureEnterprise
  20972. type: string
  20973. type: object
  20974. conditions:
  20975. description: Conditions represents the latest observed set of conditions
  20976. for the component. A component may be one or more of Ready, Progressing,
  20977. Degraded or other customer types.
  20978. items:
  20979. description: "Condition contains details for one aspect of the current
  20980. state of this API Resource. --- This struct is intended for direct
  20981. use as an array at the field path .status.conditions. For example,
  20982. \n type FooStatus struct{ // Represents the observations of a
  20983. foo's current state. // Known .status.conditions.type are: \"Available\",
  20984. \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
  20985. // +listType=map // +listMapKey=type Conditions []metav1.Condition
  20986. `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
  20987. protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
  20988. properties:
  20989. lastTransitionTime:
  20990. description: lastTransitionTime is the last time the condition
  20991. transitioned from one status to another. This should be when
  20992. the underlying condition changed. If that is not known, then
  20993. using the time when the API field changed is acceptable.
  20994. format: date-time
  20995. type: string
  20996. message:
  20997. description: message is a human readable message indicating
  20998. details about the transition. This may be an empty string.
  20999. maxLength: 32768
  21000. type: string
  21001. observedGeneration:
  21002. description: observedGeneration represents the .metadata.generation
  21003. that the condition was set based upon. For instance, if .metadata.generation
  21004. is currently 12, but the .status.conditions[x].observedGeneration
  21005. is 9, the condition is out of date with respect to the current
  21006. state of the instance.
  21007. format: int64
  21008. minimum: 0
  21009. type: integer
  21010. reason:
  21011. description: reason contains a programmatic identifier indicating
  21012. the reason for the condition's last transition. Producers
  21013. of specific condition types may define expected values and
  21014. meanings for this field, and whether the values are considered
  21015. a guaranteed API. The value should be a CamelCase string.
  21016. This field may not be empty.
  21017. maxLength: 1024
  21018. minLength: 1
  21019. pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  21020. type: string
  21021. status:
  21022. description: status of the condition, one of True, False, Unknown.
  21023. enum:
  21024. - "True"
  21025. - "False"
  21026. - Unknown
  21027. type: string
  21028. type:
  21029. description: type of condition in CamelCase or in foo.example.com/CamelCase.
  21030. --- Many .condition.type values are consistent across resources
  21031. like Available, but because arbitrary conditions can be useful
  21032. (see .node.status.conditions), the ability to deconflict is
  21033. important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  21034. maxLength: 316
  21035. pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
  21036. type: string
  21037. required:
  21038. - lastTransitionTime
  21039. - message
  21040. - reason
  21041. - status
  21042. - type
  21043. type: object
  21044. type: array
  21045. imageSet:
  21046. description: ImageSet is the name of the ImageSet being used, if there
  21047. is an ImageSet that is being used. If an ImageSet is not being used
  21048. then this will not be set.
  21049. type: string
  21050. mtu:
  21051. description: MTU is the most recently observed value for pod network
  21052. MTU. This may be an explicitly configured value, or based on Calico's
  21053. native auto-detetion.
  21054. format: int32
  21055. type: integer
  21056. variant:
  21057. description: Variant is the most recently observed installed variant
  21058. - one of Calico or TigeraSecureEnterprise
  21059. enum:
  21060. - Calico
  21061. - TigeraSecureEnterprise
  21062. type: string
  21063. type: object
  21064. type: object
  21065. served: true
  21066. storage: true
  21067. subresources:
  21068. status: {}
  21069. ---
  21070. # Source: crds/operator.tigera.io_tigerastatuses_crd.yaml
  21071. apiVersion: apiextensions.k8s.io/v1
  21072. kind: CustomResourceDefinition
  21073. metadata:
  21074. annotations:
  21075. controller-gen.kubebuilder.io/version: v0.3.0
  21076. name: tigerastatuses.operator.tigera.io
  21077. spec:
  21078. group: operator.tigera.io
  21079. names:
  21080. kind: TigeraStatus
  21081. listKind: TigeraStatusList
  21082. plural: tigerastatuses
  21083. singular: tigerastatus
  21084. scope: Cluster
  21085. versions:
  21086. - additionalPrinterColumns:
  21087. - description: Whether the component running and stable.
  21088. jsonPath: .status.conditions[?(@.type=='Available')].status
  21089. name: Available
  21090. type: string
  21091. - description: Whether the component is processing changes.
  21092. jsonPath: .status.conditions[?(@.type=='Progressing')].status
  21093. name: Progressing
  21094. type: string
  21095. - description: Whether the component is degraded.
  21096. jsonPath: .status.conditions[?(@.type=='Degraded')].status
  21097. name: Degraded
  21098. type: string
  21099. - description: The time the component's Available status last changed.
  21100. jsonPath: .status.conditions[?(@.type=='Available')].lastTransitionTime
  21101. name: Since
  21102. type: date
  21103. name: v1
  21104. schema:
  21105. openAPIV3Schema:
  21106. description: TigeraStatus represents the most recently observed status for
  21107. Calico or a Calico Enterprise functional area.
  21108. properties:
  21109. apiVersion:
  21110. description: 'APIVersion defines the versioned schema of this representation
  21111. of an object. Servers should convert recognized schemas to the latest
  21112. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  21113. type: string
  21114. kind:
  21115. description: 'Kind is a string value representing the REST resource this
  21116. object represents. Servers may infer this from the endpoint the client
  21117. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  21118. type: string
  21119. metadata:
  21120. type: object
  21121. spec:
  21122. description: TigeraStatusSpec defines the desired state of TigeraStatus
  21123. type: object
  21124. status:
  21125. description: TigeraStatusStatus defines the observed state of TigeraStatus
  21126. properties:
  21127. conditions:
  21128. description: Conditions represents the latest observed set of conditions
  21129. for this component. A component may be one or more of Available,
  21130. Progressing, or Degraded.
  21131. items:
  21132. description: TigeraStatusCondition represents a condition attached
  21133. to a particular component.
  21134. properties:
  21135. lastTransitionTime:
  21136. description: The timestamp representing the start time for the
  21137. current status.
  21138. format: date-time
  21139. type: string
  21140. message:
  21141. description: Optionally, a detailed message providing additional
  21142. context.
  21143. type: string
  21144. observedGeneration:
  21145. description: observedGeneration represents the generation that
  21146. the condition was set based upon. For instance, if generation
  21147. is currently 12, but the .status.conditions[x].observedGeneration
  21148. is 9, the condition is out of date with respect to the current
  21149. state of the instance.
  21150. format: int64
  21151. type: integer
  21152. reason:
  21153. description: A brief reason explaining the condition.
  21154. type: string
  21155. status:
  21156. description: The status of the condition. May be True, False,
  21157. or Unknown.
  21158. type: string
  21159. type:
  21160. description: The type of condition. May be Available, Progressing,
  21161. or Degraded.
  21162. type: string
  21163. required:
  21164. - lastTransitionTime
  21165. - status
  21166. - type
  21167. type: object
  21168. type: array
  21169. required:
  21170. - conditions
  21171. type: object
  21172. type: object
  21173. served: true
  21174. storage: true
  21175. subresources:
  21176. status: {}
  21177. status:
  21178. acceptedNames:
  21179. kind: ""
  21180. plural: ""
  21181. conditions: []
  21182. storedVersions: []
  21183. ---
  21184. # Source: tigera-operator/templates/tigera-operator/02-serviceaccount-tigera-operator.yaml
  21185. apiVersion: v1
  21186. kind: ServiceAccount
  21187. metadata:
  21188. name: tigera-operator
  21189. namespace: tigera-operator
  21190. imagePullSecrets:
  21191. []
  21192. ---
  21193. # Source: tigera-operator/templates/tigera-operator/02-role-tigera-operator.yaml
  21194. # Permissions required when running the operator for a Calico cluster.
  21195. apiVersion: rbac.authorization.k8s.io/v1
  21196. kind: ClusterRole
  21197. metadata:
  21198. name: tigera-operator
  21199. rules:
  21200. - apiGroups:
  21201. - ""
  21202. resources:
  21203. - namespaces
  21204. - pods
  21205. - podtemplates
  21206. - services
  21207. - endpoints
  21208. - events
  21209. - configmaps
  21210. - secrets
  21211. - serviceaccounts
  21212. verbs:
  21213. - create
  21214. - get
  21215. - list
  21216. - update
  21217. - delete
  21218. - watch
  21219. - apiGroups:
  21220. - ""
  21221. resources:
  21222. - resourcequotas
  21223. verbs:
  21224. - list
  21225. - get
  21226. - watch
  21227. - apiGroups:
  21228. - ""
  21229. resources:
  21230. - resourcequotas
  21231. verbs:
  21232. - create
  21233. - get
  21234. - list
  21235. - update
  21236. - delete
  21237. - watch
  21238. resourceNames:
  21239. - calico-critical-pods
  21240. - tigera-critical-pods
  21241. - apiGroups:
  21242. - ""
  21243. resources:
  21244. - nodes
  21245. verbs:
  21246. # Need to update node labels when migrating nodes.
  21247. - get
  21248. - patch
  21249. - list
  21250. # We need this for Typha autoscaling
  21251. - watch
  21252. - apiGroups:
  21253. - rbac.authorization.k8s.io
  21254. resources:
  21255. - clusterroles
  21256. - clusterrolebindings
  21257. - rolebindings
  21258. - roles
  21259. verbs:
  21260. - create
  21261. - get
  21262. - list
  21263. - update
  21264. - delete
  21265. - watch
  21266. - bind
  21267. - escalate
  21268. - apiGroups:
  21269. - apps
  21270. resources:
  21271. - deployments
  21272. - daemonsets
  21273. - statefulsets
  21274. verbs:
  21275. - create
  21276. - get
  21277. - list
  21278. - patch
  21279. - update
  21280. - delete
  21281. - watch
  21282. - apiGroups:
  21283. - apps
  21284. resourceNames:
  21285. - tigera-operator
  21286. resources:
  21287. - deployments/finalizers
  21288. verbs:
  21289. - update
  21290. - apiGroups:
  21291. - operator.tigera.io
  21292. resources:
  21293. - '*'
  21294. verbs:
  21295. - create
  21296. - get
  21297. - list
  21298. - update
  21299. - patch
  21300. - delete
  21301. - watch
  21302. - apiGroups:
  21303. - networking.k8s.io
  21304. resources:
  21305. - networkpolicies
  21306. verbs:
  21307. - create
  21308. - update
  21309. - delete
  21310. - get
  21311. - list
  21312. - watch
  21313. - apiGroups:
  21314. - crd.projectcalico.org
  21315. resources:
  21316. - felixconfigurations
  21317. verbs:
  21318. - create
  21319. - patch
  21320. - list
  21321. - get
  21322. - watch
  21323. - apiGroups:
  21324. - crd.projectcalico.org
  21325. resources:
  21326. - ippools
  21327. - kubecontrollersconfigurations
  21328. - bgpconfigurations
  21329. verbs:
  21330. - get
  21331. - list
  21332. - watch
  21333. - apiGroups:
  21334. - scheduling.k8s.io
  21335. resources:
  21336. - priorityclasses
  21337. verbs:
  21338. - create
  21339. - get
  21340. - list
  21341. - update
  21342. - delete
  21343. - watch
  21344. - apiGroups:
  21345. - policy
  21346. resources:
  21347. - poddisruptionbudgets
  21348. verbs:
  21349. - create
  21350. - get
  21351. - list
  21352. - update
  21353. - delete
  21354. - watch
  21355. - apiGroups:
  21356. - apiregistration.k8s.io
  21357. resources:
  21358. - apiservices
  21359. verbs:
  21360. - list
  21361. - watch
  21362. - create
  21363. - update
  21364. # Needed for operator lock
  21365. - apiGroups:
  21366. - coordination.k8s.io
  21367. resources:
  21368. - leases
  21369. verbs:
  21370. - create
  21371. - get
  21372. - list
  21373. - update
  21374. - delete
  21375. - watch
  21376. - apiGroups:
  21377. - storage.k8s.io
  21378. resources:
  21379. - csidrivers
  21380. verbs:
  21381. - list
  21382. - watch
  21383. - update
  21384. - get
  21385. - create
  21386. - delete
  21387. # Add the appropriate pod security policy permissions
  21388. - apiGroups:
  21389. - policy
  21390. resources:
  21391. - podsecuritypolicies
  21392. resourceNames:
  21393. - tigera-operator
  21394. verbs:
  21395. - use
  21396. - apiGroups:
  21397. - policy
  21398. resources:
  21399. - podsecuritypolicies
  21400. verbs:
  21401. - get
  21402. - list
  21403. - watch
  21404. - create
  21405. - update
  21406. - delete
  21407. # Add the permissions to monitor the status of certificatesigningrequests when certificate management is enabled.
  21408. - apiGroups:
  21409. - certificates.k8s.io
  21410. resources:
  21411. - certificatesigningrequests
  21412. verbs:
  21413. - list
  21414. - watch
  21415. ---
  21416. # Source: tigera-operator/templates/tigera-operator/02-rolebinding-tigera-operator.yaml
  21417. kind: ClusterRoleBinding
  21418. apiVersion: rbac.authorization.k8s.io/v1
  21419. metadata:
  21420. name: tigera-operator
  21421. subjects:
  21422. - kind: ServiceAccount
  21423. name: tigera-operator
  21424. namespace: tigera-operator
  21425. roleRef:
  21426. kind: ClusterRole
  21427. name: tigera-operator
  21428. apiGroup: rbac.authorization.k8s.io
  21429. ---
  21430. # Source: tigera-operator/templates/tigera-operator/02-tigera-operator.yaml
  21431. apiVersion: apps/v1
  21432. kind: Deployment
  21433. metadata:
  21434. name: tigera-operator
  21435. namespace: tigera-operator
  21436. labels:
  21437. k8s-app: tigera-operator
  21438. spec:
  21439. replicas: 1
  21440. selector:
  21441. matchLabels:
  21442. name: tigera-operator
  21443. template:
  21444. metadata:
  21445. labels:
  21446. name: tigera-operator
  21447. k8s-app: tigera-operator
  21448. spec:
  21449. nodeSelector:
  21450. kubernetes.io/os: linux
  21451. tolerations:
  21452. - effect: NoExecute
  21453. operator: Exists
  21454. - effect: NoSchedule
  21455. operator: Exists
  21456. serviceAccountName: tigera-operator
  21457. hostNetwork: true
  21458. # This must be set when hostNetwork is true or else the cluster services won't resolve
  21459. dnsPolicy: ClusterFirstWithHostNet
  21460. containers:
  21461. - name: tigera-operator
  21462. image: quay.io/tigera/operator:v1.30.4
  21463. imagePullPolicy: IfNotPresent
  21464. command:
  21465. - operator
  21466. volumeMounts:
  21467. - name: var-lib-calico
  21468. readOnly: true
  21469. mountPath: /var/lib/calico
  21470. env:
  21471. - name: WATCH_NAMESPACE
  21472. value: ""
  21473. - name: POD_NAME
  21474. valueFrom:
  21475. fieldRef:
  21476. fieldPath: metadata.name
  21477. - name: OPERATOR_NAME
  21478. value: "tigera-operator"
  21479. - name: TIGERA_OPERATOR_INIT_IMAGE_VERSION
  21480. value: v1.30.4
  21481. envFrom:
  21482. - configMapRef:
  21483. name: kubernetes-services-endpoint
  21484. optional: true
  21485. volumes:
  21486. - name: var-lib-calico
  21487. hostPath:
  21488. path: /var/lib/calico