operator.yaml 819 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701
  1. ---
  2. # Source: rook-ceph/templates/cluster-rbac.yaml
  3. # Service account for Ceph OSDs
  4. apiVersion: v1
  5. kind: ServiceAccount
  6. metadata:
  7. name: rook-ceph-osd
  8. namespace: rook-ceph # namespace:cluster
  9. labels:
  10. operator: rook
  11. storage-backend: ceph
  12. app.kubernetes.io/part-of: rook-ceph-operator
  13. app.kubernetes.io/managed-by: Helm
  14. app.kubernetes.io/created-by: helm
  15. helm.sh/chart: "rook-ceph-v1.13.4"
  16. # imagePullSecrets:
  17. # - name: my-registry-secret
  18. ---
  19. # Source: rook-ceph/templates/cluster-rbac.yaml
  20. # Service account for Ceph mgrs
  21. apiVersion: v1
  22. kind: ServiceAccount
  23. metadata:
  24. name: rook-ceph-mgr
  25. namespace: rook-ceph # namespace:cluster
  26. labels:
  27. operator: rook
  28. storage-backend: ceph
  29. app.kubernetes.io/part-of: rook-ceph-operator
  30. app.kubernetes.io/managed-by: Helm
  31. app.kubernetes.io/created-by: helm
  32. helm.sh/chart: "rook-ceph-v1.13.4"
  33. # imagePullSecrets:
  34. # - name: my-registry-secret
  35. ---
  36. # Source: rook-ceph/templates/cluster-rbac.yaml
  37. # Service account for the job that reports the Ceph version in an image
  38. apiVersion: v1
  39. kind: ServiceAccount
  40. metadata:
  41. name: rook-ceph-cmd-reporter
  42. namespace: rook-ceph # namespace:cluster
  43. labels:
  44. operator: rook
  45. storage-backend: ceph
  46. app.kubernetes.io/part-of: rook-ceph-operator
  47. app.kubernetes.io/managed-by: Helm
  48. app.kubernetes.io/created-by: helm
  49. helm.sh/chart: "rook-ceph-v1.13.4"
  50. # imagePullSecrets:
  51. # - name: my-registry-secret
  52. ---
  53. # Source: rook-ceph/templates/cluster-rbac.yaml
  54. # Service account for job that purges OSDs from a Rook-Ceph cluster
  55. apiVersion: v1
  56. kind: ServiceAccount
  57. metadata:
  58. name: rook-ceph-purge-osd
  59. namespace: rook-ceph # namespace:cluster
  60. # imagePullSecrets:
  61. # - name: my-registry-secret
  62. ---
  63. # Source: rook-ceph/templates/cluster-rbac.yaml
  64. # Service account for RGW server
  65. apiVersion: v1
  66. kind: ServiceAccount
  67. metadata:
  68. name: rook-ceph-rgw
  69. namespace: rook-ceph # namespace:cluster
  70. labels:
  71. operator: rook
  72. storage-backend: ceph
  73. app.kubernetes.io/part-of: rook-ceph-operator
  74. app.kubernetes.io/managed-by: Helm
  75. app.kubernetes.io/created-by: helm
  76. helm.sh/chart: "rook-ceph-v1.13.4"
  77. # imagePullSecrets:
  78. # - name: my-registry-secret
  79. ---
  80. # Source: rook-ceph/templates/serviceaccount.yaml
  81. # Service account for the Rook-Ceph operator
  82. apiVersion: v1
  83. kind: ServiceAccount
  84. metadata:
  85. name: rook-ceph-system
  86. namespace: rook-ceph # namespace:operator
  87. labels:
  88. operator: rook
  89. storage-backend: ceph
  90. app.kubernetes.io/part-of: rook-ceph-operator
  91. app.kubernetes.io/managed-by: Helm
  92. app.kubernetes.io/created-by: helm
  93. helm.sh/chart: "rook-ceph-v1.13.4"
  94. # imagePullSecrets:
  95. # - name: my-registry-secret
  96. ---
  97. # Source: rook-ceph/templates/serviceaccount.yaml
  98. # Service account for the CephFS CSI driver
  99. apiVersion: v1
  100. kind: ServiceAccount
  101. metadata:
  102. name: rook-csi-cephfs-plugin-sa
  103. namespace: rook-ceph # namespace:operator
  104. # imagePullSecrets:
  105. # - name: my-registry-secret
  106. ---
  107. # Source: rook-ceph/templates/serviceaccount.yaml
  108. # Service account for the NFS CSI driver
  109. apiVersion: v1
  110. kind: ServiceAccount
  111. metadata:
  112. name: rook-csi-nfs-plugin-sa
  113. namespace: rook-ceph # namespace:operator
  114. # imagePullSecrets:
  115. # - name: my-registry-secret
  116. ---
  117. # Source: rook-ceph/templates/serviceaccount.yaml
  118. # Service account for the NFS CSI provisioner
  119. apiVersion: v1
  120. kind: ServiceAccount
  121. metadata:
  122. name: rook-csi-nfs-provisioner-sa
  123. namespace: rook-ceph # namespace:operator
  124. # imagePullSecrets:
  125. # - name: my-registry-secret
  126. ---
  127. # Source: rook-ceph/templates/serviceaccount.yaml
  128. # Service account for the CephFS CSI provisioner
  129. apiVersion: v1
  130. kind: ServiceAccount
  131. metadata:
  132. name: rook-csi-cephfs-provisioner-sa
  133. namespace: rook-ceph # namespace:operator
  134. # imagePullSecrets:
  135. # - name: my-registry-secret
  136. ---
  137. # Source: rook-ceph/templates/serviceaccount.yaml
  138. # Service account for the RBD CSI driver
  139. apiVersion: v1
  140. kind: ServiceAccount
  141. metadata:
  142. name: rook-csi-rbd-plugin-sa
  143. namespace: rook-ceph # namespace:operator
  144. # imagePullSecrets:
  145. # - name: my-registry-secret
  146. ---
  147. # Source: rook-ceph/templates/serviceaccount.yaml
  148. # Service account for the RBD CSI provisioner
  149. apiVersion: v1
  150. kind: ServiceAccount
  151. metadata:
  152. name: rook-csi-rbd-provisioner-sa
  153. namespace: rook-ceph # namespace:operator
  154. # imagePullSecrets:
  155. # - name: my-registry-secret
  156. ---
  157. # Source: rook-ceph/templates/serviceaccount.yaml
  158. # Service account for Ceph COSI driver
  159. apiVersion: v1
  160. kind: ServiceAccount
  161. metadata:
  162. name: objectstorage-provisioner
  163. namespace: rook-ceph # namespace:operator
  164. labels:
  165. app.kubernetes.io/part-of: container-object-storage-interface
  166. app.kubernetes.io/component: driver-ceph
  167. app.kubernetes.io/name: cosi-driver-ceph
  168. # imagePullSecrets:
  169. # - name: my-registry-secret
  170. ---
  171. # Source: rook-ceph/templates/configmap.yaml
  172. # Operator settings that can be updated without an operator restart
  173. # Operator settings that require an operator restart are found in the operator env vars
  174. kind: ConfigMap
  175. apiVersion: v1
  176. metadata:
  177. name: rook-ceph-operator-config
  178. namespace: rook-ceph # namespace:operator
  179. data:
  180. ROOK_LOG_LEVEL: "INFO"
  181. ROOK_CEPH_COMMANDS_TIMEOUT_SECONDS: "15"
  182. ROOK_OBC_WATCH_OPERATOR_NAMESPACE: "true"
  183. ROOK_CEPH_ALLOW_LOOP_DEVICES: "false"
  184. ROOK_ENABLE_DISCOVERY_DAEMON: "false"
  185. ROOK_CSI_ENABLE_RBD: "false"
  186. ROOK_CSI_ENABLE_CEPHFS: "true"
  187. CSI_ENABLE_CEPHFS_SNAPSHOTTER: "true"
  188. CSI_ENABLE_NFS_SNAPSHOTTER: "true"
  189. CSI_ENABLE_RBD_SNAPSHOTTER: "true"
  190. CSI_PLUGIN_ENABLE_SELINUX_HOST_MOUNT: "false"
  191. CSI_ENABLE_ENCRYPTION: "false"
  192. CSI_ENABLE_OMAP_GENERATOR: "false"
  193. CSI_ENABLE_HOST_NETWORK: "true"
  194. CSI_ENABLE_METADATA: "false"
  195. CSI_PLUGIN_PRIORITY_CLASSNAME: "system-node-critical"
  196. CSI_PROVISIONER_PRIORITY_CLASSNAME: "system-cluster-critical"
  197. CSI_RBD_FSGROUPPOLICY: "File"
  198. CSI_CEPHFS_FSGROUPPOLICY: "File"
  199. CSI_NFS_FSGROUPPOLICY: "File"
  200. ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.9.0"
  201. ROOK_CSI_REGISTRAR_IMAGE: "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.8.0"
  202. ROOK_CSI_PROVISIONER_IMAGE: "registry.k8s.io/sig-storage/csi-provisioner:v3.5.0"
  203. ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.k8s.io/sig-storage/csi-snapshotter:v6.2.2"
  204. ROOK_CSI_ATTACHER_IMAGE: "registry.k8s.io/sig-storage/csi-attacher:v4.3.0"
  205. ROOK_CSI_RESIZER_IMAGE: "registry.k8s.io/sig-storage/csi-resizer:v1.8.0"
  206. ROOK_CSI_IMAGE_PULL_POLICY: "IfNotPresent"
  207. CSI_ENABLE_CSIADDONS: "false"
  208. ROOK_CSIADDONS_IMAGE: "quay.io/csiaddons/k8s-sidecar:v0.7.0"
  209. CSI_ENABLE_TOPOLOGY: "false"
  210. CSI_ENABLE_READ_AFFINITY: "false"
  211. ROOK_CSI_ENABLE_NFS: "true"
  212. CSI_FORCE_CEPHFS_KERNEL_CLIENT: "true"
  213. CSI_GRPC_TIMEOUT_SECONDS: "150"
  214. CSI_PROVISIONER_REPLICAS: "2"
  215. CSI_RBD_PROVISIONER_RESOURCE: "- name : csi-provisioner\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-resizer\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-attacher\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-snapshotter\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-rbdplugin\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n- name : csi-omap-generator\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n- name : liveness-prometheus\n resource:\n requests:\n memory: 128Mi\n cpu: 50m\n limits:\n memory: 256Mi\n cpu: 100m\n"
  216. CSI_RBD_PLUGIN_RESOURCE: "- name : driver-registrar\n resource:\n requests:\n memory: 128Mi\n cpu: 50m\n limits:\n memory: 256Mi\n cpu: 100m\n- name : csi-rbdplugin\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n- name : liveness-prometheus\n resource:\n requests:\n memory: 128Mi\n cpu: 50m\n limits:\n memory: 256Mi\n cpu: 100m\n"
  217. CSI_CEPHFS_PROVISIONER_RESOURCE: "- name : csi-provisioner\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-resizer\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-attacher\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-snapshotter\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-cephfsplugin\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n- name : liveness-prometheus\n resource:\n requests:\n memory: 128Mi\n cpu: 50m\n limits:\n memory: 256Mi\n cpu: 100m\n"
  218. CSI_CEPHFS_PLUGIN_RESOURCE: "- name : driver-registrar\n resource:\n requests:\n memory: 128Mi\n cpu: 50m\n limits:\n memory: 256Mi\n cpu: 100m\n- name : csi-cephfsplugin\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n- name : liveness-prometheus\n resource:\n requests:\n memory: 128Mi\n cpu: 50m\n limits:\n memory: 256Mi\n cpu: 100m\n"
  219. CSI_NFS_PROVISIONER_RESOURCE: "- name : csi-provisioner\n resource:\n requests:\n memory: 128Mi\n cpu: 100m\n limits:\n memory: 256Mi\n cpu: 200m\n- name : csi-nfsplugin\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n- name : csi-attacher\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n"
  220. CSI_NFS_PLUGIN_RESOURCE: "- name : driver-registrar\n resource:\n requests:\n memory: 128Mi\n cpu: 50m\n limits:\n memory: 256Mi\n cpu: 100m\n- name : csi-nfsplugin\n resource:\n requests:\n memory: 512Mi\n cpu: 250m\n limits:\n memory: 1Gi\n cpu: 500m\n"
  221. CSI_CEPHFS_ATTACH_REQUIRED: "true"
  222. CSI_RBD_ATTACH_REQUIRED: "true"
  223. CSI_NFS_ATTACH_REQUIRED: "true"
  224. ---
  225. # Source: rook-ceph/templates/resources.yaml
  226. apiVersion: apiextensions.k8s.io/v1
  227. kind: CustomResourceDefinition
  228. metadata:
  229. annotations:
  230. controller-gen.kubebuilder.io/version: v0.11.3
  231. helm.sh/resource-policy: keep
  232. creationTimestamp: null
  233. name: cephblockpoolradosnamespaces.ceph.rook.io
  234. spec:
  235. group: ceph.rook.io
  236. names:
  237. kind: CephBlockPoolRadosNamespace
  238. listKind: CephBlockPoolRadosNamespaceList
  239. plural: cephblockpoolradosnamespaces
  240. singular: cephblockpoolradosnamespace
  241. scope: Namespaced
  242. versions:
  243. - name: v1
  244. schema:
  245. openAPIV3Schema:
  246. description: CephBlockPoolRadosNamespace represents a Ceph BlockPool Rados Namespace
  247. properties:
  248. apiVersion:
  249. description: APIVersion defines the versioned schema of this representation of an object.
  250. type: string
  251. kind:
  252. description: Kind is a string value representing the REST resource this object represents.
  253. type: string
  254. metadata:
  255. type: object
  256. spec:
  257. description: Spec represents the specification of a Ceph BlockPool Rados Namespace
  258. properties:
  259. blockPoolName:
  260. description: BlockPoolName is the name of Ceph BlockPool. Typically it's the name of the CephBlockPool CR.
  261. type: string
  262. x-kubernetes-validations:
  263. - message: blockPoolName is immutable
  264. rule: self == oldSelf
  265. name:
  266. description: The name of the CephBlockPoolRadosNamespaceSpec namespace.
  267. type: string
  268. x-kubernetes-validations:
  269. - message: name is immutable
  270. rule: self == oldSelf
  271. required:
  272. - blockPoolName
  273. type: object
  274. status:
  275. description: Status represents the status of a CephBlockPool Rados Namespace
  276. properties:
  277. info:
  278. additionalProperties:
  279. type: string
  280. nullable: true
  281. type: object
  282. phase:
  283. description: ConditionType represent a resource's status
  284. type: string
  285. type: object
  286. x-kubernetes-preserve-unknown-fields: true
  287. required:
  288. - metadata
  289. - spec
  290. type: object
  291. served: true
  292. storage: true
  293. subresources:
  294. status: {}
  295. ---
  296. # Source: rook-ceph/templates/resources.yaml
  297. apiVersion: apiextensions.k8s.io/v1
  298. kind: CustomResourceDefinition
  299. metadata:
  300. annotations:
  301. controller-gen.kubebuilder.io/version: v0.11.3
  302. helm.sh/resource-policy: keep
  303. creationTimestamp: null
  304. name: cephblockpools.ceph.rook.io
  305. spec:
  306. group: ceph.rook.io
  307. names:
  308. kind: CephBlockPool
  309. listKind: CephBlockPoolList
  310. plural: cephblockpools
  311. singular: cephblockpool
  312. scope: Namespaced
  313. versions:
  314. - additionalPrinterColumns:
  315. - jsonPath: .status.phase
  316. name: Phase
  317. type: string
  318. name: v1
  319. schema:
  320. openAPIV3Schema:
  321. description: CephBlockPool represents a Ceph Storage Pool
  322. properties:
  323. apiVersion:
  324. description: APIVersion defines the versioned schema of this representation of an object.
  325. type: string
  326. kind:
  327. description: Kind is a string value representing the REST resource this object represents.
  328. type: string
  329. metadata:
  330. type: object
  331. spec:
  332. description: NamedBlockPoolSpec allows a block pool to be created with a non-default name.
  333. properties:
  334. compressionMode:
  335. description: 'DEPRECATED: use Parameters instead, e.g.'
  336. enum:
  337. - none
  338. - passive
  339. - aggressive
  340. - force
  341. - ""
  342. nullable: true
  343. type: string
  344. crushRoot:
  345. description: The root of the crush hierarchy utilized by the pool
  346. nullable: true
  347. type: string
  348. deviceClass:
  349. description: The device class the OSD should set to for use in the pool
  350. nullable: true
  351. type: string
  352. enableRBDStats:
  353. description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
  354. type: boolean
  355. erasureCoded:
  356. description: The erasure code settings
  357. properties:
  358. algorithm:
  359. description: The algorithm for erasure coding
  360. type: string
  361. codingChunks:
  362. description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
  363. minimum: 0
  364. type: integer
  365. dataChunks:
  366. description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
  367. minimum: 0
  368. type: integer
  369. required:
  370. - codingChunks
  371. - dataChunks
  372. type: object
  373. failureDomain:
  374. description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
  375. type: string
  376. mirroring:
  377. description: The mirroring settings
  378. properties:
  379. enabled:
  380. description: Enabled whether this pool is mirrored or not
  381. type: boolean
  382. mode:
  383. description: 'Mode is the mirroring mode: either pool or image'
  384. type: string
  385. peers:
  386. description: Peers represents the peers spec
  387. nullable: true
  388. properties:
  389. secretNames:
  390. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  391. items:
  392. type: string
  393. type: array
  394. type: object
  395. snapshotSchedules:
  396. description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
  397. items:
  398. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  399. properties:
  400. interval:
  401. description: Interval represent the periodicity of the snapshot.
  402. type: string
  403. path:
  404. description: Path is the path to snapshot, only valid for CephFS
  405. type: string
  406. startTime:
  407. description: StartTime indicates when to start the snapshot
  408. type: string
  409. type: object
  410. type: array
  411. type: object
  412. name:
  413. description: The desired name of the pool if different from the CephBlockPool CR name.
  414. enum:
  415. - device_health_metrics
  416. - .nfs
  417. - .mgr
  418. type: string
  419. parameters:
  420. additionalProperties:
  421. type: string
  422. description: Parameters is a list of properties to enable on a given pool
  423. nullable: true
  424. type: object
  425. x-kubernetes-preserve-unknown-fields: true
  426. quotas:
  427. description: The quota settings
  428. nullable: true
  429. properties:
  430. maxBytes:
  431. description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
  432. format: int64
  433. type: integer
  434. maxObjects:
  435. description: MaxObjects represents the quota in objects
  436. format: int64
  437. type: integer
  438. maxSize:
  439. description: MaxSize represents the quota in bytes as a string
  440. pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
  441. type: string
  442. type: object
  443. replicated:
  444. description: The replication settings
  445. properties:
  446. hybridStorage:
  447. description: HybridStorage represents hybrid storage tier settings
  448. nullable: true
  449. properties:
  450. primaryDeviceClass:
  451. description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
  452. minLength: 1
  453. type: string
  454. secondaryDeviceClass:
  455. description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
  456. minLength: 1
  457. type: string
  458. required:
  459. - primaryDeviceClass
  460. - secondaryDeviceClass
  461. type: object
  462. replicasPerFailureDomain:
  463. description: ReplicasPerFailureDomain the number of replica in the specified failure domain
  464. minimum: 1
  465. type: integer
  466. requireSafeReplicaSize:
  467. description: RequireSafeReplicaSize if false allows you to set replica 1
  468. type: boolean
  469. size:
  470. description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
  471. minimum: 0
  472. type: integer
  473. subFailureDomain:
  474. description: SubFailureDomain the name of the sub-failure domain
  475. type: string
  476. targetSizeRatio:
  477. description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
  478. type: number
  479. required:
  480. - size
  481. type: object
  482. statusCheck:
  483. description: The mirroring statusCheck
  484. properties:
  485. mirror:
  486. description: HealthCheckSpec represents the health check of an object store bucket
  487. nullable: true
  488. properties:
  489. disabled:
  490. type: boolean
  491. interval:
  492. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  493. type: string
  494. timeout:
  495. type: string
  496. type: object
  497. type: object
  498. x-kubernetes-preserve-unknown-fields: true
  499. type: object
  500. status:
  501. description: CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
  502. properties:
  503. conditions:
  504. items:
  505. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  506. properties:
  507. lastHeartbeatTime:
  508. format: date-time
  509. type: string
  510. lastTransitionTime:
  511. format: date-time
  512. type: string
  513. message:
  514. type: string
  515. reason:
  516. description: ConditionReason is a reason for a condition
  517. type: string
  518. status:
  519. type: string
  520. type:
  521. description: ConditionType represent a resource's status
  522. type: string
  523. type: object
  524. type: array
  525. info:
  526. additionalProperties:
  527. type: string
  528. nullable: true
  529. type: object
  530. mirroringInfo:
  531. description: MirroringInfoSpec is the status of the pool mirroring
  532. properties:
  533. details:
  534. type: string
  535. lastChanged:
  536. type: string
  537. lastChecked:
  538. type: string
  539. mode:
  540. description: Mode is the mirroring mode
  541. type: string
  542. peers:
  543. description: Peers are the list of peer sites connected to that cluster
  544. items:
  545. description: PeersSpec contains peer details
  546. properties:
  547. client_name:
  548. description: ClientName is the CephX user used to connect to the peer
  549. type: string
  550. direction:
  551. description: Direction is the peer mirroring direction
  552. type: string
  553. mirror_uuid:
  554. description: MirrorUUID is the mirror UUID
  555. type: string
  556. site_name:
  557. description: SiteName is the current site name
  558. type: string
  559. uuid:
  560. description: UUID is the peer UUID
  561. type: string
  562. type: object
  563. type: array
  564. site_name:
  565. description: SiteName is the current site name
  566. type: string
  567. type: object
  568. mirroringStatus:
  569. description: MirroringStatusSpec is the status of the pool mirroring
  570. properties:
  571. details:
  572. description: Details contains potential status errors
  573. type: string
  574. lastChanged:
  575. description: LastChanged is the last time time the status last changed
  576. type: string
  577. lastChecked:
  578. description: LastChecked is the last time time the status was checked
  579. type: string
  580. summary:
  581. description: Summary is the mirroring status summary
  582. properties:
  583. daemon_health:
  584. description: DaemonHealth is the health of the mirroring daemon
  585. type: string
  586. health:
  587. description: Health is the mirroring health
  588. type: string
  589. image_health:
  590. description: ImageHealth is the health of the mirrored image
  591. type: string
  592. states:
  593. description: States is the various state for all mirrored images
  594. nullable: true
  595. properties:
  596. error:
  597. description: Error is when the mirroring state is errored
  598. type: integer
  599. replaying:
  600. description: Replaying is when the replay of the mirroring journal is on-going
  601. type: integer
  602. starting_replay:
  603. description: StartingReplay is when the replay of the mirroring journal starts
  604. type: integer
  605. stopped:
  606. description: Stopped is when the mirroring state is stopped
  607. type: integer
  608. stopping_replay:
  609. description: StopReplaying is when the replay of the mirroring journal stops
  610. type: integer
  611. syncing:
  612. description: Syncing is when the image is syncing
  613. type: integer
  614. unknown:
  615. description: Unknown is when the mirroring state is unknown
  616. type: integer
  617. type: object
  618. type: object
  619. type: object
  620. observedGeneration:
  621. description: ObservedGeneration is the latest generation observed by the controller.
  622. format: int64
  623. type: integer
  624. phase:
  625. description: ConditionType represent a resource's status
  626. type: string
  627. snapshotScheduleStatus:
  628. description: SnapshotScheduleStatusSpec is the status of the snapshot schedule
  629. properties:
  630. details:
  631. description: Details contains potential status errors
  632. type: string
  633. lastChanged:
  634. description: LastChanged is the last time time the status last changed
  635. type: string
  636. lastChecked:
  637. description: LastChecked is the last time time the status was checked
  638. type: string
  639. snapshotSchedules:
  640. description: SnapshotSchedules is the list of snapshots scheduled
  641. items:
  642. description: SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
  643. properties:
  644. image:
  645. description: Image is the mirrored image
  646. type: string
  647. items:
  648. description: Items is the list schedules times for a given snapshot
  649. items:
  650. description: SnapshotSchedule is a schedule
  651. properties:
  652. interval:
  653. description: Interval is the interval in which snapshots will be taken
  654. type: string
  655. start_time:
  656. description: StartTime is the snapshot starting time
  657. type: string
  658. type: object
  659. type: array
  660. namespace:
  661. description: Namespace is the RADOS namespace the image is part of
  662. type: string
  663. pool:
  664. description: Pool is the pool name
  665. type: string
  666. type: object
  667. nullable: true
  668. type: array
  669. type: object
  670. type: object
  671. x-kubernetes-preserve-unknown-fields: true
  672. required:
  673. - metadata
  674. - spec
  675. type: object
  676. served: true
  677. storage: true
  678. subresources:
  679. status: {}
  680. ---
  681. # Source: rook-ceph/templates/resources.yaml
  682. apiVersion: apiextensions.k8s.io/v1
  683. kind: CustomResourceDefinition
  684. metadata:
  685. annotations:
  686. controller-gen.kubebuilder.io/version: v0.11.3
  687. helm.sh/resource-policy: keep
  688. creationTimestamp: null
  689. name: cephbucketnotifications.ceph.rook.io
  690. spec:
  691. group: ceph.rook.io
  692. names:
  693. kind: CephBucketNotification
  694. listKind: CephBucketNotificationList
  695. plural: cephbucketnotifications
  696. singular: cephbucketnotification
  697. scope: Namespaced
  698. versions:
  699. - name: v1
  700. schema:
  701. openAPIV3Schema:
  702. description: CephBucketNotification represents a Bucket Notifications
  703. properties:
  704. apiVersion:
  705. description: APIVersion defines the versioned schema of this representation of an object.
  706. type: string
  707. kind:
  708. description: Kind is a string value representing the REST resource this object represents.
  709. type: string
  710. metadata:
  711. type: object
  712. spec:
  713. description: BucketNotificationSpec represent the spec of a Bucket Notification
  714. properties:
  715. events:
  716. description: List of events that should trigger the notification
  717. items:
  718. description: BucketNotificationSpec represent the event type of the bucket notification
  719. enum:
  720. - s3:ObjectCreated:*
  721. - s3:ObjectCreated:Put
  722. - s3:ObjectCreated:Post
  723. - s3:ObjectCreated:Copy
  724. - s3:ObjectCreated:CompleteMultipartUpload
  725. - s3:ObjectRemoved:*
  726. - s3:ObjectRemoved:Delete
  727. - s3:ObjectRemoved:DeleteMarkerCreated
  728. type: string
  729. type: array
  730. filter:
  731. description: Spec of notification filter
  732. properties:
  733. keyFilters:
  734. description: Filters based on the object's key
  735. items:
  736. description: NotificationKeyFilterRule represent a single key rule in the Notification Filter spec
  737. properties:
  738. name:
  739. description: Name of the filter - prefix/suffix/regex
  740. enum:
  741. - prefix
  742. - suffix
  743. - regex
  744. type: string
  745. value:
  746. description: Value to filter on
  747. type: string
  748. required:
  749. - name
  750. - value
  751. type: object
  752. type: array
  753. metadataFilters:
  754. description: Filters based on the object's metadata
  755. items:
  756. description: NotificationFilterRule represent a single rule in the Notification Filter spec
  757. properties:
  758. name:
  759. description: Name of the metadata or tag
  760. minLength: 1
  761. type: string
  762. value:
  763. description: Value to filter on
  764. type: string
  765. required:
  766. - name
  767. - value
  768. type: object
  769. type: array
  770. tagFilters:
  771. description: Filters based on the object's tags
  772. items:
  773. description: NotificationFilterRule represent a single rule in the Notification Filter spec
  774. properties:
  775. name:
  776. description: Name of the metadata or tag
  777. minLength: 1
  778. type: string
  779. value:
  780. description: Value to filter on
  781. type: string
  782. required:
  783. - name
  784. - value
  785. type: object
  786. type: array
  787. type: object
  788. topic:
  789. description: The name of the topic associated with this notification
  790. minLength: 1
  791. type: string
  792. required:
  793. - topic
  794. type: object
  795. status:
  796. description: Status represents the status of an object
  797. properties:
  798. conditions:
  799. items:
  800. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  801. properties:
  802. lastHeartbeatTime:
  803. format: date-time
  804. type: string
  805. lastTransitionTime:
  806. format: date-time
  807. type: string
  808. message:
  809. type: string
  810. reason:
  811. description: ConditionReason is a reason for a condition
  812. type: string
  813. status:
  814. type: string
  815. type:
  816. description: ConditionType represent a resource's status
  817. type: string
  818. type: object
  819. type: array
  820. observedGeneration:
  821. description: ObservedGeneration is the latest generation observed by the controller.
  822. format: int64
  823. type: integer
  824. phase:
  825. type: string
  826. type: object
  827. x-kubernetes-preserve-unknown-fields: true
  828. required:
  829. - metadata
  830. - spec
  831. type: object
  832. served: true
  833. storage: true
  834. subresources:
  835. status: {}
  836. ---
  837. # Source: rook-ceph/templates/resources.yaml
  838. apiVersion: apiextensions.k8s.io/v1
  839. kind: CustomResourceDefinition
  840. metadata:
  841. annotations:
  842. controller-gen.kubebuilder.io/version: v0.11.3
  843. helm.sh/resource-policy: keep
  844. creationTimestamp: null
  845. name: cephbuckettopics.ceph.rook.io
  846. spec:
  847. group: ceph.rook.io
  848. names:
  849. kind: CephBucketTopic
  850. listKind: CephBucketTopicList
  851. plural: cephbuckettopics
  852. singular: cephbuckettopic
  853. scope: Namespaced
  854. versions:
  855. - additionalPrinterColumns:
  856. - jsonPath: .status.phase
  857. name: Phase
  858. type: string
  859. name: v1
  860. schema:
  861. openAPIV3Schema:
  862. description: CephBucketTopic represents a Ceph Object Topic for Bucket Notifications
  863. properties:
  864. apiVersion:
  865. description: APIVersion defines the versioned schema of this representation of an object.
  866. type: string
  867. kind:
  868. description: Kind is a string value representing the REST resource this object represents.
  869. type: string
  870. metadata:
  871. type: object
  872. spec:
  873. description: BucketTopicSpec represent the spec of a Bucket Topic
  874. properties:
  875. endpoint:
  876. description: Contains the endpoint spec of the topic
  877. properties:
  878. amqp:
  879. description: Spec of AMQP endpoint
  880. properties:
  881. ackLevel:
  882. default: broker
  883. description: The ack level required for this topic (none/broker/routeable)
  884. enum:
  885. - none
  886. - broker
  887. - routeable
  888. type: string
  889. disableVerifySSL:
  890. description: Indicate whether the server certificate is validated by the client or not
  891. type: boolean
  892. exchange:
  893. description: Name of the exchange that is used to route messages based on topics
  894. minLength: 1
  895. type: string
  896. uri:
  897. description: The URI of the AMQP endpoint to push notification to
  898. minLength: 1
  899. type: string
  900. required:
  901. - exchange
  902. - uri
  903. type: object
  904. http:
  905. description: Spec of HTTP endpoint
  906. properties:
  907. disableVerifySSL:
  908. description: Indicate whether the server certificate is validated by the client or not
  909. type: boolean
  910. sendCloudEvents:
  911. description: 'Send the notifications with the CloudEvents header: https://github.'
  912. type: boolean
  913. uri:
  914. description: The URI of the HTTP endpoint to push notification to
  915. minLength: 1
  916. type: string
  917. required:
  918. - uri
  919. type: object
  920. kafka:
  921. description: Spec of Kafka endpoint
  922. properties:
  923. ackLevel:
  924. default: broker
  925. description: The ack level required for this topic (none/broker)
  926. enum:
  927. - none
  928. - broker
  929. type: string
  930. disableVerifySSL:
  931. description: Indicate whether the server certificate is validated by the client or not
  932. type: boolean
  933. uri:
  934. description: The URI of the Kafka endpoint to push notification to
  935. minLength: 1
  936. type: string
  937. useSSL:
  938. description: Indicate whether to use SSL when communicating with the broker
  939. type: boolean
  940. required:
  941. - uri
  942. type: object
  943. type: object
  944. objectStoreName:
  945. description: The name of the object store on which to define the topic
  946. minLength: 1
  947. type: string
  948. objectStoreNamespace:
  949. description: The namespace of the object store on which to define the topic
  950. minLength: 1
  951. type: string
  952. opaqueData:
  953. description: Data which is sent in each event
  954. type: string
  955. persistent:
  956. description: Indication whether notifications to this endpoint are persistent or not
  957. type: boolean
  958. required:
  959. - endpoint
  960. - objectStoreName
  961. - objectStoreNamespace
  962. type: object
  963. status:
  964. description: BucketTopicStatus represents the Status of a CephBucketTopic
  965. properties:
  966. ARN:
  967. description: The ARN of the topic generated by the RGW
  968. nullable: true
  969. type: string
  970. observedGeneration:
  971. description: ObservedGeneration is the latest generation observed by the controller.
  972. format: int64
  973. type: integer
  974. phase:
  975. type: string
  976. type: object
  977. x-kubernetes-preserve-unknown-fields: true
  978. required:
  979. - metadata
  980. - spec
  981. type: object
  982. served: true
  983. storage: true
  984. subresources:
  985. status: {}
  986. ---
  987. # Source: rook-ceph/templates/resources.yaml
  988. apiVersion: apiextensions.k8s.io/v1
  989. kind: CustomResourceDefinition
  990. metadata:
  991. annotations:
  992. controller-gen.kubebuilder.io/version: v0.11.3
  993. helm.sh/resource-policy: keep
  994. creationTimestamp: null
  995. name: cephclients.ceph.rook.io
  996. spec:
  997. group: ceph.rook.io
  998. names:
  999. kind: CephClient
  1000. listKind: CephClientList
  1001. plural: cephclients
  1002. singular: cephclient
  1003. scope: Namespaced
  1004. versions:
  1005. - additionalPrinterColumns:
  1006. - jsonPath: .status.phase
  1007. name: Phase
  1008. type: string
  1009. name: v1
  1010. schema:
  1011. openAPIV3Schema:
  1012. description: CephClient represents a Ceph Client
  1013. properties:
  1014. apiVersion:
  1015. description: APIVersion defines the versioned schema of this representation of an object.
  1016. type: string
  1017. kind:
  1018. description: Kind is a string value representing the REST resource this object represents.
  1019. type: string
  1020. metadata:
  1021. type: object
  1022. spec:
  1023. description: Spec represents the specification of a Ceph Client
  1024. properties:
  1025. caps:
  1026. additionalProperties:
  1027. type: string
  1028. type: object
  1029. x-kubernetes-preserve-unknown-fields: true
  1030. name:
  1031. type: string
  1032. required:
  1033. - caps
  1034. type: object
  1035. status:
  1036. description: Status represents the status of a Ceph Client
  1037. properties:
  1038. info:
  1039. additionalProperties:
  1040. type: string
  1041. nullable: true
  1042. type: object
  1043. observedGeneration:
  1044. description: ObservedGeneration is the latest generation observed by the controller.
  1045. format: int64
  1046. type: integer
  1047. phase:
  1048. description: ConditionType represent a resource's status
  1049. type: string
  1050. type: object
  1051. x-kubernetes-preserve-unknown-fields: true
  1052. required:
  1053. - metadata
  1054. - spec
  1055. type: object
  1056. served: true
  1057. storage: true
  1058. subresources:
  1059. status: {}
  1060. ---
  1061. # Source: rook-ceph/templates/resources.yaml
  1062. apiVersion: apiextensions.k8s.io/v1
  1063. kind: CustomResourceDefinition
  1064. metadata:
  1065. annotations:
  1066. controller-gen.kubebuilder.io/version: v0.11.3
  1067. helm.sh/resource-policy: keep
  1068. creationTimestamp: null
  1069. name: cephclusters.ceph.rook.io
  1070. spec:
  1071. group: ceph.rook.io
  1072. names:
  1073. kind: CephCluster
  1074. listKind: CephClusterList
  1075. plural: cephclusters
  1076. singular: cephcluster
  1077. scope: Namespaced
  1078. versions:
  1079. - additionalPrinterColumns:
  1080. - description: Directory used on the K8s nodes
  1081. jsonPath: .spec.dataDirHostPath
  1082. name: DataDirHostPath
  1083. type: string
  1084. - description: Number of MONs
  1085. jsonPath: .spec.mon.count
  1086. name: MonCount
  1087. type: string
  1088. - jsonPath: .metadata.creationTimestamp
  1089. name: Age
  1090. type: date
  1091. - jsonPath: .status.phase
  1092. name: Phase
  1093. type: string
  1094. - description: Message
  1095. jsonPath: .status.message
  1096. name: Message
  1097. type: string
  1098. - description: Ceph Health
  1099. jsonPath: .status.ceph.health
  1100. name: Health
  1101. type: string
  1102. - jsonPath: .spec.external.enable
  1103. name: External
  1104. type: boolean
  1105. - description: Ceph FSID
  1106. jsonPath: .status.ceph.fsid
  1107. name: FSID
  1108. type: string
  1109. name: v1
  1110. schema:
  1111. openAPIV3Schema:
  1112. description: CephCluster is a Ceph storage cluster
  1113. properties:
  1114. apiVersion:
  1115. description: APIVersion defines the versioned schema of this representation of an object.
  1116. type: string
  1117. kind:
  1118. description: Kind is a string value representing the REST resource this object represents.
  1119. type: string
  1120. metadata:
  1121. type: object
  1122. spec:
  1123. description: ClusterSpec represents the specification of Ceph Cluster
  1124. properties:
  1125. annotations:
  1126. additionalProperties:
  1127. additionalProperties:
  1128. type: string
  1129. description: Annotations are annotations
  1130. type: object
  1131. description: The annotations-related configuration to add/set on each Pod related object.
  1132. nullable: true
  1133. type: object
  1134. x-kubernetes-preserve-unknown-fields: true
  1135. cephConfig:
  1136. additionalProperties:
  1137. additionalProperties:
  1138. type: string
  1139. type: object
  1140. description: Ceph Config options
  1141. nullable: true
  1142. type: object
  1143. cephVersion:
  1144. description: The version information that instructs Rook to orchestrate a particular version of Ceph.
  1145. nullable: true
  1146. properties:
  1147. allowUnsupported:
  1148. description: Whether to allow unsupported versions (do not set to true in production)
  1149. type: boolean
  1150. image:
  1151. description: Image is the container image used to launch the ceph daemons, such as quay.
  1152. type: string
  1153. imagePullPolicy:
  1154. description: ImagePullPolicy describes a policy for if/when to pull a container image One of Always, Never, IfNot
  1155. enum:
  1156. - IfNotPresent
  1157. - Always
  1158. - Never
  1159. - ""
  1160. type: string
  1161. type: object
  1162. cleanupPolicy:
  1163. description: Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster
  1164. nullable: true
  1165. properties:
  1166. allowUninstallWithVolumes:
  1167. description: AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images s
  1168. type: boolean
  1169. confirmation:
  1170. description: Confirmation represents the cleanup confirmation
  1171. nullable: true
  1172. pattern: ^$|^yes-really-destroy-data$
  1173. type: string
  1174. sanitizeDisks:
  1175. description: SanitizeDisks represents way we sanitize disks
  1176. nullable: true
  1177. properties:
  1178. dataSource:
  1179. description: DataSource is the data source to use to sanitize the disk with
  1180. enum:
  1181. - zero
  1182. - random
  1183. type: string
  1184. iteration:
  1185. description: Iteration is the number of pass to apply the sanitizing
  1186. format: int32
  1187. type: integer
  1188. method:
  1189. description: Method is the method we use to sanitize disks
  1190. enum:
  1191. - complete
  1192. - quick
  1193. type: string
  1194. type: object
  1195. type: object
  1196. continueUpgradeAfterChecksEvenIfNotHealthy:
  1197. description: ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not
  1198. type: boolean
  1199. crashCollector:
  1200. description: A spec for the crash controller
  1201. nullable: true
  1202. properties:
  1203. daysToRetain:
  1204. description: DaysToRetain represents the number of days to retain crash until they get pruned
  1205. type: integer
  1206. disable:
  1207. description: Disable determines whether we should enable the crash collector
  1208. type: boolean
  1209. type: object
  1210. csi:
  1211. description: CSI Driver Options applied per cluster.
  1212. properties:
  1213. cephfs:
  1214. description: CephFS defines CSI Driver settings for CephFS driver.
  1215. properties:
  1216. fuseMountOptions:
  1217. description: FuseMountOptions defines the mount options for ceph fuse mounter.
  1218. type: string
  1219. kernelMountOptions:
  1220. description: KernelMountOptions defines the mount options for kernel mounter.
  1221. type: string
  1222. type: object
  1223. readAffinity:
  1224. description: ReadAffinity defines the read affinity settings for CSI driver.
  1225. properties:
  1226. crushLocationLabels:
  1227. description: CrushLocationLabels defines which node labels to use as CRUSH location.
  1228. items:
  1229. type: string
  1230. type: array
  1231. enabled:
  1232. description: Enables read affinity for CSI driver.
  1233. type: boolean
  1234. type: object
  1235. type: object
  1236. dashboard:
  1237. description: Dashboard settings
  1238. nullable: true
  1239. properties:
  1240. enabled:
  1241. description: Enabled determines whether to enable the dashboard
  1242. type: boolean
  1243. port:
  1244. description: Port is the dashboard webserver port
  1245. maximum: 65535
  1246. minimum: 0
  1247. type: integer
  1248. prometheusEndpoint:
  1249. description: Endpoint for the Prometheus host
  1250. type: string
  1251. prometheusEndpointSSLVerify:
  1252. description: Whether to verify the ssl endpoint for prometheus. Set to false for a self-signed cert.
  1253. type: boolean
  1254. ssl:
  1255. description: SSL determines whether SSL should be used
  1256. type: boolean
  1257. urlPrefix:
  1258. description: URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy
  1259. type: string
  1260. type: object
  1261. dataDirHostPath:
  1262. description: The path on the host where config and data can be persisted
  1263. pattern: ^/(\S+)
  1264. type: string
  1265. x-kubernetes-validations:
  1266. - message: DataDirHostPath is immutable
  1267. rule: self == oldSelf
  1268. disruptionManagement:
  1269. description: A spec for configuring disruption management.
  1270. nullable: true
  1271. properties:
  1272. machineDisruptionBudgetNamespace:
  1273. description: Deprecated. Namespace to look for MDBs by the machineDisruptionBudgetController
  1274. type: string
  1275. manageMachineDisruptionBudgets:
  1276. description: Deprecated. This enables management of machinedisruptionbudgets.
  1277. type: boolean
  1278. managePodBudgets:
  1279. description: This enables management of poddisruptionbudgets
  1280. type: boolean
  1281. osdMaintenanceTimeout:
  1282. description: 'OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure '
  1283. format: int64
  1284. type: integer
  1285. pgHealthCheckTimeout:
  1286. description: PGHealthCheckTimeout is the time (in minutes) that the operator will wait for the placement groups t
  1287. format: int64
  1288. type: integer
  1289. pgHealthyRegex:
  1290. description: PgHealthyRegex is the regular expression that is used to determine which PG states should be conside
  1291. type: string
  1292. type: object
  1293. external:
  1294. description: Whether the Ceph Cluster is running external to this Kubernetes cluster mon, mgr, osd, mds, and disc
  1295. nullable: true
  1296. properties:
  1297. enable:
  1298. description: Enable determines whether external mode is enabled or not
  1299. type: boolean
  1300. type: object
  1301. x-kubernetes-preserve-unknown-fields: true
  1302. healthCheck:
  1303. description: Internal daemon healthchecks and liveness probe
  1304. nullable: true
  1305. properties:
  1306. daemonHealth:
  1307. description: DaemonHealth is the health check for a given daemon
  1308. nullable: true
  1309. properties:
  1310. mon:
  1311. description: Monitor represents the health check settings for the Ceph monitor
  1312. nullable: true
  1313. properties:
  1314. disabled:
  1315. type: boolean
  1316. interval:
  1317. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  1318. type: string
  1319. timeout:
  1320. type: string
  1321. type: object
  1322. osd:
  1323. description: ObjectStorageDaemon represents the health check settings for the Ceph OSDs
  1324. nullable: true
  1325. properties:
  1326. disabled:
  1327. type: boolean
  1328. interval:
  1329. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  1330. type: string
  1331. timeout:
  1332. type: string
  1333. type: object
  1334. status:
  1335. description: Status represents the health check settings for the Ceph health
  1336. nullable: true
  1337. properties:
  1338. disabled:
  1339. type: boolean
  1340. interval:
  1341. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  1342. type: string
  1343. timeout:
  1344. type: string
  1345. type: object
  1346. type: object
  1347. livenessProbe:
  1348. additionalProperties:
  1349. description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
  1350. properties:
  1351. disabled:
  1352. description: Disabled determines whether probe is disable or not
  1353. type: boolean
  1354. probe:
  1355. description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
  1356. properties:
  1357. exec:
  1358. description: Exec specifies the action to take.
  1359. properties:
  1360. command:
  1361. description: 'Command is the command line to execute inside the container, the working directory for the command '
  1362. items:
  1363. type: string
  1364. type: array
  1365. type: object
  1366. failureThreshold:
  1367. description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
  1368. format: int32
  1369. type: integer
  1370. grpc:
  1371. description: GRPC specifies an action involving a GRPC port.
  1372. properties:
  1373. port:
  1374. description: Port number of the gRPC service. Number must be in the range 1 to 65535.
  1375. format: int32
  1376. type: integer
  1377. service:
  1378. description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
  1379. type: string
  1380. required:
  1381. - port
  1382. type: object
  1383. httpGet:
  1384. description: HTTPGet specifies the http request to perform.
  1385. properties:
  1386. host:
  1387. description: Host name to connect to, defaults to the pod IP.
  1388. type: string
  1389. httpHeaders:
  1390. description: Custom headers to set in the request. HTTP allows repeated headers.
  1391. items:
  1392. description: HTTPHeader describes a custom header to be used in HTTP probes
  1393. properties:
  1394. name:
  1395. description: The header field name.
  1396. type: string
  1397. value:
  1398. description: The header field value
  1399. type: string
  1400. required:
  1401. - name
  1402. - value
  1403. type: object
  1404. type: array
  1405. path:
  1406. description: Path to access on the HTTP server.
  1407. type: string
  1408. port:
  1409. anyOf:
  1410. - type: integer
  1411. - type: string
  1412. description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
  1413. x-kubernetes-int-or-string: true
  1414. scheme:
  1415. description: Scheme to use for connecting to the host. Defaults to HTTP.
  1416. type: string
  1417. required:
  1418. - port
  1419. type: object
  1420. initialDelaySeconds:
  1421. description: Number of seconds after the container has started before liveness probes are initiated.
  1422. format: int32
  1423. type: integer
  1424. periodSeconds:
  1425. description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
  1426. format: int32
  1427. type: integer
  1428. successThreshold:
  1429. description: Minimum consecutive successes for the probe to be considered successful after having failed.
  1430. format: int32
  1431. type: integer
  1432. tcpSocket:
  1433. description: TCPSocket specifies an action involving a TCP port.
  1434. properties:
  1435. host:
  1436. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  1437. type: string
  1438. port:
  1439. anyOf:
  1440. - type: integer
  1441. - type: string
  1442. description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
  1443. x-kubernetes-int-or-string: true
  1444. required:
  1445. - port
  1446. type: object
  1447. terminationGracePeriodSeconds:
  1448. description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
  1449. format: int64
  1450. type: integer
  1451. timeoutSeconds:
  1452. description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
  1453. format: int32
  1454. type: integer
  1455. type: object
  1456. type: object
  1457. description: LivenessProbe allows changing the livenessProbe configuration for a given daemon
  1458. type: object
  1459. startupProbe:
  1460. additionalProperties:
  1461. description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
  1462. properties:
  1463. disabled:
  1464. description: Disabled determines whether probe is disable or not
  1465. type: boolean
  1466. probe:
  1467. description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
  1468. properties:
  1469. exec:
  1470. description: Exec specifies the action to take.
  1471. properties:
  1472. command:
  1473. description: 'Command is the command line to execute inside the container, the working directory for the command '
  1474. items:
  1475. type: string
  1476. type: array
  1477. type: object
  1478. failureThreshold:
  1479. description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
  1480. format: int32
  1481. type: integer
  1482. grpc:
  1483. description: GRPC specifies an action involving a GRPC port.
  1484. properties:
  1485. port:
  1486. description: Port number of the gRPC service. Number must be in the range 1 to 65535.
  1487. format: int32
  1488. type: integer
  1489. service:
  1490. description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
  1491. type: string
  1492. required:
  1493. - port
  1494. type: object
  1495. httpGet:
  1496. description: HTTPGet specifies the http request to perform.
  1497. properties:
  1498. host:
  1499. description: Host name to connect to, defaults to the pod IP.
  1500. type: string
  1501. httpHeaders:
  1502. description: Custom headers to set in the request. HTTP allows repeated headers.
  1503. items:
  1504. description: HTTPHeader describes a custom header to be used in HTTP probes
  1505. properties:
  1506. name:
  1507. description: The header field name.
  1508. type: string
  1509. value:
  1510. description: The header field value
  1511. type: string
  1512. required:
  1513. - name
  1514. - value
  1515. type: object
  1516. type: array
  1517. path:
  1518. description: Path to access on the HTTP server.
  1519. type: string
  1520. port:
  1521. anyOf:
  1522. - type: integer
  1523. - type: string
  1524. description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
  1525. x-kubernetes-int-or-string: true
  1526. scheme:
  1527. description: Scheme to use for connecting to the host. Defaults to HTTP.
  1528. type: string
  1529. required:
  1530. - port
  1531. type: object
  1532. initialDelaySeconds:
  1533. description: Number of seconds after the container has started before liveness probes are initiated.
  1534. format: int32
  1535. type: integer
  1536. periodSeconds:
  1537. description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
  1538. format: int32
  1539. type: integer
  1540. successThreshold:
  1541. description: Minimum consecutive successes for the probe to be considered successful after having failed.
  1542. format: int32
  1543. type: integer
  1544. tcpSocket:
  1545. description: TCPSocket specifies an action involving a TCP port.
  1546. properties:
  1547. host:
  1548. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  1549. type: string
  1550. port:
  1551. anyOf:
  1552. - type: integer
  1553. - type: string
  1554. description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
  1555. x-kubernetes-int-or-string: true
  1556. required:
  1557. - port
  1558. type: object
  1559. terminationGracePeriodSeconds:
  1560. description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
  1561. format: int64
  1562. type: integer
  1563. timeoutSeconds:
  1564. description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
  1565. format: int32
  1566. type: integer
  1567. type: object
  1568. type: object
  1569. description: StartupProbe allows changing the startupProbe configuration for a given daemon
  1570. type: object
  1571. type: object
  1572. labels:
  1573. additionalProperties:
  1574. additionalProperties:
  1575. type: string
  1576. description: Labels are label for a given daemons
  1577. type: object
  1578. description: The labels-related configuration to add/set on each Pod related object.
  1579. nullable: true
  1580. type: object
  1581. x-kubernetes-preserve-unknown-fields: true
  1582. logCollector:
  1583. description: Logging represents loggings settings
  1584. nullable: true
  1585. properties:
  1586. enabled:
  1587. description: Enabled represents whether the log collector is enabled
  1588. type: boolean
  1589. maxLogSize:
  1590. anyOf:
  1591. - type: integer
  1592. - type: string
  1593. description: MaxLogSize is the maximum size of the log per ceph daemons. Must be at least 1M.
  1594. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1595. x-kubernetes-int-or-string: true
  1596. periodicity:
  1597. description: Periodicity is the periodicity of the log rotation.
  1598. pattern: ^$|^(hourly|daily|weekly|monthly|1h|24h|1d)$
  1599. type: string
  1600. type: object
  1601. mgr:
  1602. description: A spec for mgr related options
  1603. nullable: true
  1604. properties:
  1605. allowMultiplePerNode:
  1606. description: AllowMultiplePerNode allows to run multiple managers on the same node (not recommended)
  1607. type: boolean
  1608. count:
  1609. description: Count is the number of manager daemons to run
  1610. maximum: 5
  1611. minimum: 0
  1612. type: integer
  1613. modules:
  1614. description: Modules is the list of ceph manager modules to enable/disable
  1615. items:
  1616. description: Module represents mgr modules that the user wants to enable or disable
  1617. properties:
  1618. enabled:
  1619. description: Enabled determines whether a module should be enabled or not
  1620. type: boolean
  1621. name:
  1622. description: Name is the name of the ceph manager module
  1623. type: string
  1624. type: object
  1625. nullable: true
  1626. type: array
  1627. type: object
  1628. mon:
  1629. description: A spec for mon related options
  1630. nullable: true
  1631. properties:
  1632. allowMultiplePerNode:
  1633. description: AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)
  1634. type: boolean
  1635. count:
  1636. description: Count is the number of Ceph monitors
  1637. maximum: 9
  1638. minimum: 0
  1639. type: integer
  1640. failureDomainLabel:
  1641. type: string
  1642. stretchCluster:
  1643. description: StretchCluster is the stretch cluster specification
  1644. properties:
  1645. failureDomainLabel:
  1646. description: 'FailureDomainLabel the failure domain name (e,g: zone)'
  1647. type: string
  1648. subFailureDomain:
  1649. description: SubFailureDomain is the failure domain within a zone
  1650. type: string
  1651. zones:
  1652. description: Zones is the list of zones
  1653. items:
  1654. description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
  1655. properties:
  1656. arbiter:
  1657. description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
  1658. type: boolean
  1659. name:
  1660. description: Name is the name of the zone
  1661. type: string
  1662. volumeClaimTemplate:
  1663. description: VolumeClaimTemplate is the PVC template
  1664. properties:
  1665. apiVersion:
  1666. description: APIVersion defines the versioned schema of this representation of an object.
  1667. type: string
  1668. kind:
  1669. description: Kind is a string value representing the REST resource this object represents.
  1670. type: string
  1671. metadata:
  1672. description: 'Standard object''s metadata. More info: https://git.k8s.'
  1673. properties:
  1674. annotations:
  1675. additionalProperties:
  1676. type: string
  1677. type: object
  1678. finalizers:
  1679. items:
  1680. type: string
  1681. type: array
  1682. labels:
  1683. additionalProperties:
  1684. type: string
  1685. type: object
  1686. name:
  1687. type: string
  1688. namespace:
  1689. type: string
  1690. type: object
  1691. spec:
  1692. description: spec defines the desired characteristics of a volume requested by a pod author.
  1693. properties:
  1694. accessModes:
  1695. description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
  1696. items:
  1697. type: string
  1698. type: array
  1699. dataSource:
  1700. description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
  1701. properties:
  1702. apiGroup:
  1703. description: APIGroup is the group for the resource being referenced.
  1704. type: string
  1705. kind:
  1706. description: Kind is the type of resource being referenced
  1707. type: string
  1708. name:
  1709. description: Name is the name of resource being referenced
  1710. type: string
  1711. required:
  1712. - kind
  1713. - name
  1714. type: object
  1715. x-kubernetes-map-type: atomic
  1716. dataSourceRef:
  1717. description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
  1718. properties:
  1719. apiGroup:
  1720. description: APIGroup is the group for the resource being referenced.
  1721. type: string
  1722. kind:
  1723. description: Kind is the type of resource being referenced
  1724. type: string
  1725. name:
  1726. description: Name is the name of resource being referenced
  1727. type: string
  1728. namespace:
  1729. description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
  1730. type: string
  1731. required:
  1732. - kind
  1733. - name
  1734. type: object
  1735. resources:
  1736. description: resources represents the minimum resources the volume should have.
  1737. properties:
  1738. claims:
  1739. description: Claims lists the names of resources, defined in spec.
  1740. items:
  1741. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1742. properties:
  1743. name:
  1744. description: Name must match the name of one entry in pod.spec.
  1745. type: string
  1746. required:
  1747. - name
  1748. type: object
  1749. type: array
  1750. x-kubernetes-list-map-keys:
  1751. - name
  1752. x-kubernetes-list-type: map
  1753. limits:
  1754. additionalProperties:
  1755. anyOf:
  1756. - type: integer
  1757. - type: string
  1758. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1759. x-kubernetes-int-or-string: true
  1760. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  1761. type: object
  1762. requests:
  1763. additionalProperties:
  1764. anyOf:
  1765. - type: integer
  1766. - type: string
  1767. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1768. x-kubernetes-int-or-string: true
  1769. description: Requests describes the minimum amount of compute resources required.
  1770. type: object
  1771. type: object
  1772. selector:
  1773. description: selector is a label query over volumes to consider for binding.
  1774. properties:
  1775. matchExpressions:
  1776. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1777. items:
  1778. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  1779. properties:
  1780. key:
  1781. description: key is the label key that the selector applies to.
  1782. type: string
  1783. operator:
  1784. description: operator represents a key's relationship to a set of values.
  1785. type: string
  1786. values:
  1787. description: values is an array of string values.
  1788. items:
  1789. type: string
  1790. type: array
  1791. required:
  1792. - key
  1793. - operator
  1794. type: object
  1795. type: array
  1796. matchLabels:
  1797. additionalProperties:
  1798. type: string
  1799. description: matchLabels is a map of {key,value} pairs.
  1800. type: object
  1801. type: object
  1802. x-kubernetes-map-type: atomic
  1803. storageClassName:
  1804. description: storageClassName is the name of the StorageClass required by the claim.
  1805. type: string
  1806. volumeMode:
  1807. description: volumeMode defines what type of volume is required by the claim.
  1808. type: string
  1809. volumeName:
  1810. description: volumeName is the binding reference to the PersistentVolume backing this claim.
  1811. type: string
  1812. type: object
  1813. status:
  1814. description: status represents the current information/status of a persistent volume claim. Read-only.
  1815. properties:
  1816. accessModes:
  1817. description: accessModes contains the actual access modes the volume backing the PVC has.
  1818. items:
  1819. type: string
  1820. type: array
  1821. allocatedResourceStatuses:
  1822. additionalProperties:
  1823. description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
  1824. type: string
  1825. description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
  1826. type: object
  1827. x-kubernetes-map-type: granular
  1828. allocatedResources:
  1829. additionalProperties:
  1830. anyOf:
  1831. - type: integer
  1832. - type: string
  1833. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1834. x-kubernetes-int-or-string: true
  1835. description: allocatedResources tracks the resources allocated to a PVC including its capacity.
  1836. type: object
  1837. capacity:
  1838. additionalProperties:
  1839. anyOf:
  1840. - type: integer
  1841. - type: string
  1842. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1843. x-kubernetes-int-or-string: true
  1844. description: capacity represents the actual resources of the underlying volume.
  1845. type: object
  1846. conditions:
  1847. description: conditions is the current Condition of persistent volume claim.
  1848. items:
  1849. description: PersistentVolumeClaimCondition contains details about state of pvc
  1850. properties:
  1851. lastProbeTime:
  1852. description: lastProbeTime is the time we probed the condition.
  1853. format: date-time
  1854. type: string
  1855. lastTransitionTime:
  1856. description: lastTransitionTime is the time the condition transitioned from one status to another.
  1857. format: date-time
  1858. type: string
  1859. message:
  1860. description: message is the human-readable message indicating details about last transition.
  1861. type: string
  1862. reason:
  1863. description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
  1864. type: string
  1865. status:
  1866. type: string
  1867. type:
  1868. description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
  1869. type: string
  1870. required:
  1871. - status
  1872. - type
  1873. type: object
  1874. type: array
  1875. phase:
  1876. description: phase represents the current phase of PersistentVolumeClaim.
  1877. type: string
  1878. type: object
  1879. type: object
  1880. x-kubernetes-preserve-unknown-fields: true
  1881. type: object
  1882. nullable: true
  1883. type: array
  1884. type: object
  1885. volumeClaimTemplate:
  1886. description: VolumeClaimTemplate is the PVC definition
  1887. properties:
  1888. apiVersion:
  1889. description: APIVersion defines the versioned schema of this representation of an object.
  1890. type: string
  1891. kind:
  1892. description: Kind is a string value representing the REST resource this object represents.
  1893. type: string
  1894. metadata:
  1895. description: 'Standard object''s metadata. More info: https://git.k8s.'
  1896. properties:
  1897. annotations:
  1898. additionalProperties:
  1899. type: string
  1900. type: object
  1901. finalizers:
  1902. items:
  1903. type: string
  1904. type: array
  1905. labels:
  1906. additionalProperties:
  1907. type: string
  1908. type: object
  1909. name:
  1910. type: string
  1911. namespace:
  1912. type: string
  1913. type: object
  1914. spec:
  1915. description: spec defines the desired characteristics of a volume requested by a pod author.
  1916. properties:
  1917. accessModes:
  1918. description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
  1919. items:
  1920. type: string
  1921. type: array
  1922. dataSource:
  1923. description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
  1924. properties:
  1925. apiGroup:
  1926. description: APIGroup is the group for the resource being referenced.
  1927. type: string
  1928. kind:
  1929. description: Kind is the type of resource being referenced
  1930. type: string
  1931. name:
  1932. description: Name is the name of resource being referenced
  1933. type: string
  1934. required:
  1935. - kind
  1936. - name
  1937. type: object
  1938. x-kubernetes-map-type: atomic
  1939. dataSourceRef:
  1940. description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
  1941. properties:
  1942. apiGroup:
  1943. description: APIGroup is the group for the resource being referenced.
  1944. type: string
  1945. kind:
  1946. description: Kind is the type of resource being referenced
  1947. type: string
  1948. name:
  1949. description: Name is the name of resource being referenced
  1950. type: string
  1951. namespace:
  1952. description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
  1953. type: string
  1954. required:
  1955. - kind
  1956. - name
  1957. type: object
  1958. resources:
  1959. description: resources represents the minimum resources the volume should have.
  1960. properties:
  1961. claims:
  1962. description: Claims lists the names of resources, defined in spec.
  1963. items:
  1964. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1965. properties:
  1966. name:
  1967. description: Name must match the name of one entry in pod.spec.
  1968. type: string
  1969. required:
  1970. - name
  1971. type: object
  1972. type: array
  1973. x-kubernetes-list-map-keys:
  1974. - name
  1975. x-kubernetes-list-type: map
  1976. limits:
  1977. additionalProperties:
  1978. anyOf:
  1979. - type: integer
  1980. - type: string
  1981. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1982. x-kubernetes-int-or-string: true
  1983. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  1984. type: object
  1985. requests:
  1986. additionalProperties:
  1987. anyOf:
  1988. - type: integer
  1989. - type: string
  1990. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1991. x-kubernetes-int-or-string: true
  1992. description: Requests describes the minimum amount of compute resources required.
  1993. type: object
  1994. type: object
  1995. selector:
  1996. description: selector is a label query over volumes to consider for binding.
  1997. properties:
  1998. matchExpressions:
  1999. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2000. items:
  2001. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2002. properties:
  2003. key:
  2004. description: key is the label key that the selector applies to.
  2005. type: string
  2006. operator:
  2007. description: operator represents a key's relationship to a set of values.
  2008. type: string
  2009. values:
  2010. description: values is an array of string values.
  2011. items:
  2012. type: string
  2013. type: array
  2014. required:
  2015. - key
  2016. - operator
  2017. type: object
  2018. type: array
  2019. matchLabels:
  2020. additionalProperties:
  2021. type: string
  2022. description: matchLabels is a map of {key,value} pairs.
  2023. type: object
  2024. type: object
  2025. x-kubernetes-map-type: atomic
  2026. storageClassName:
  2027. description: storageClassName is the name of the StorageClass required by the claim.
  2028. type: string
  2029. volumeMode:
  2030. description: volumeMode defines what type of volume is required by the claim.
  2031. type: string
  2032. volumeName:
  2033. description: volumeName is the binding reference to the PersistentVolume backing this claim.
  2034. type: string
  2035. type: object
  2036. status:
  2037. description: status represents the current information/status of a persistent volume claim. Read-only.
  2038. properties:
  2039. accessModes:
  2040. description: accessModes contains the actual access modes the volume backing the PVC has.
  2041. items:
  2042. type: string
  2043. type: array
  2044. allocatedResourceStatuses:
  2045. additionalProperties:
  2046. description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
  2047. type: string
  2048. description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
  2049. type: object
  2050. x-kubernetes-map-type: granular
  2051. allocatedResources:
  2052. additionalProperties:
  2053. anyOf:
  2054. - type: integer
  2055. - type: string
  2056. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2057. x-kubernetes-int-or-string: true
  2058. description: allocatedResources tracks the resources allocated to a PVC including its capacity.
  2059. type: object
  2060. capacity:
  2061. additionalProperties:
  2062. anyOf:
  2063. - type: integer
  2064. - type: string
  2065. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2066. x-kubernetes-int-or-string: true
  2067. description: capacity represents the actual resources of the underlying volume.
  2068. type: object
  2069. conditions:
  2070. description: conditions is the current Condition of persistent volume claim.
  2071. items:
  2072. description: PersistentVolumeClaimCondition contains details about state of pvc
  2073. properties:
  2074. lastProbeTime:
  2075. description: lastProbeTime is the time we probed the condition.
  2076. format: date-time
  2077. type: string
  2078. lastTransitionTime:
  2079. description: lastTransitionTime is the time the condition transitioned from one status to another.
  2080. format: date-time
  2081. type: string
  2082. message:
  2083. description: message is the human-readable message indicating details about last transition.
  2084. type: string
  2085. reason:
  2086. description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
  2087. type: string
  2088. status:
  2089. type: string
  2090. type:
  2091. description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
  2092. type: string
  2093. required:
  2094. - status
  2095. - type
  2096. type: object
  2097. type: array
  2098. phase:
  2099. description: phase represents the current phase of PersistentVolumeClaim.
  2100. type: string
  2101. type: object
  2102. type: object
  2103. x-kubernetes-preserve-unknown-fields: true
  2104. zones:
  2105. description: Zones are specified when we want to provide zonal awareness to mons
  2106. items:
  2107. description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
  2108. properties:
  2109. arbiter:
  2110. description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
  2111. type: boolean
  2112. name:
  2113. description: Name is the name of the zone
  2114. type: string
  2115. volumeClaimTemplate:
  2116. description: VolumeClaimTemplate is the PVC template
  2117. properties:
  2118. apiVersion:
  2119. description: APIVersion defines the versioned schema of this representation of an object.
  2120. type: string
  2121. kind:
  2122. description: Kind is a string value representing the REST resource this object represents.
  2123. type: string
  2124. metadata:
  2125. description: 'Standard object''s metadata. More info: https://git.k8s.'
  2126. properties:
  2127. annotations:
  2128. additionalProperties:
  2129. type: string
  2130. type: object
  2131. finalizers:
  2132. items:
  2133. type: string
  2134. type: array
  2135. labels:
  2136. additionalProperties:
  2137. type: string
  2138. type: object
  2139. name:
  2140. type: string
  2141. namespace:
  2142. type: string
  2143. type: object
  2144. spec:
  2145. description: spec defines the desired characteristics of a volume requested by a pod author.
  2146. properties:
  2147. accessModes:
  2148. description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
  2149. items:
  2150. type: string
  2151. type: array
  2152. dataSource:
  2153. description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
  2154. properties:
  2155. apiGroup:
  2156. description: APIGroup is the group for the resource being referenced.
  2157. type: string
  2158. kind:
  2159. description: Kind is the type of resource being referenced
  2160. type: string
  2161. name:
  2162. description: Name is the name of resource being referenced
  2163. type: string
  2164. required:
  2165. - kind
  2166. - name
  2167. type: object
  2168. x-kubernetes-map-type: atomic
  2169. dataSourceRef:
  2170. description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
  2171. properties:
  2172. apiGroup:
  2173. description: APIGroup is the group for the resource being referenced.
  2174. type: string
  2175. kind:
  2176. description: Kind is the type of resource being referenced
  2177. type: string
  2178. name:
  2179. description: Name is the name of resource being referenced
  2180. type: string
  2181. namespace:
  2182. description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
  2183. type: string
  2184. required:
  2185. - kind
  2186. - name
  2187. type: object
  2188. resources:
  2189. description: resources represents the minimum resources the volume should have.
  2190. properties:
  2191. claims:
  2192. description: Claims lists the names of resources, defined in spec.
  2193. items:
  2194. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  2195. properties:
  2196. name:
  2197. description: Name must match the name of one entry in pod.spec.
  2198. type: string
  2199. required:
  2200. - name
  2201. type: object
  2202. type: array
  2203. x-kubernetes-list-map-keys:
  2204. - name
  2205. x-kubernetes-list-type: map
  2206. limits:
  2207. additionalProperties:
  2208. anyOf:
  2209. - type: integer
  2210. - type: string
  2211. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2212. x-kubernetes-int-or-string: true
  2213. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  2214. type: object
  2215. requests:
  2216. additionalProperties:
  2217. anyOf:
  2218. - type: integer
  2219. - type: string
  2220. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2221. x-kubernetes-int-or-string: true
  2222. description: Requests describes the minimum amount of compute resources required.
  2223. type: object
  2224. type: object
  2225. selector:
  2226. description: selector is a label query over volumes to consider for binding.
  2227. properties:
  2228. matchExpressions:
  2229. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2230. items:
  2231. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2232. properties:
  2233. key:
  2234. description: key is the label key that the selector applies to.
  2235. type: string
  2236. operator:
  2237. description: operator represents a key's relationship to a set of values.
  2238. type: string
  2239. values:
  2240. description: values is an array of string values.
  2241. items:
  2242. type: string
  2243. type: array
  2244. required:
  2245. - key
  2246. - operator
  2247. type: object
  2248. type: array
  2249. matchLabels:
  2250. additionalProperties:
  2251. type: string
  2252. description: matchLabels is a map of {key,value} pairs.
  2253. type: object
  2254. type: object
  2255. x-kubernetes-map-type: atomic
  2256. storageClassName:
  2257. description: storageClassName is the name of the StorageClass required by the claim.
  2258. type: string
  2259. volumeMode:
  2260. description: volumeMode defines what type of volume is required by the claim.
  2261. type: string
  2262. volumeName:
  2263. description: volumeName is the binding reference to the PersistentVolume backing this claim.
  2264. type: string
  2265. type: object
  2266. status:
  2267. description: status represents the current information/status of a persistent volume claim. Read-only.
  2268. properties:
  2269. accessModes:
  2270. description: accessModes contains the actual access modes the volume backing the PVC has.
  2271. items:
  2272. type: string
  2273. type: array
  2274. allocatedResourceStatuses:
  2275. additionalProperties:
  2276. description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
  2277. type: string
  2278. description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
  2279. type: object
  2280. x-kubernetes-map-type: granular
  2281. allocatedResources:
  2282. additionalProperties:
  2283. anyOf:
  2284. - type: integer
  2285. - type: string
  2286. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2287. x-kubernetes-int-or-string: true
  2288. description: allocatedResources tracks the resources allocated to a PVC including its capacity.
  2289. type: object
  2290. capacity:
  2291. additionalProperties:
  2292. anyOf:
  2293. - type: integer
  2294. - type: string
  2295. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2296. x-kubernetes-int-or-string: true
  2297. description: capacity represents the actual resources of the underlying volume.
  2298. type: object
  2299. conditions:
  2300. description: conditions is the current Condition of persistent volume claim.
  2301. items:
  2302. description: PersistentVolumeClaimCondition contains details about state of pvc
  2303. properties:
  2304. lastProbeTime:
  2305. description: lastProbeTime is the time we probed the condition.
  2306. format: date-time
  2307. type: string
  2308. lastTransitionTime:
  2309. description: lastTransitionTime is the time the condition transitioned from one status to another.
  2310. format: date-time
  2311. type: string
  2312. message:
  2313. description: message is the human-readable message indicating details about last transition.
  2314. type: string
  2315. reason:
  2316. description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
  2317. type: string
  2318. status:
  2319. type: string
  2320. type:
  2321. description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
  2322. type: string
  2323. required:
  2324. - status
  2325. - type
  2326. type: object
  2327. type: array
  2328. phase:
  2329. description: phase represents the current phase of PersistentVolumeClaim.
  2330. type: string
  2331. type: object
  2332. type: object
  2333. x-kubernetes-preserve-unknown-fields: true
  2334. type: object
  2335. type: array
  2336. type: object
  2337. x-kubernetes-validations:
  2338. - message: zones must be less than or equal to count
  2339. rule: '!has(self.zones) || (has(self.zones) && (size(self.zones) <= self.count))'
  2340. - message: stretchCluster zones must be equal to 3
  2341. rule: '!has(self.stretchCluster) || (has(self.stretchCluster) && (size(self.stretchCluster.zones) > 0) && (size(self.stretchCluster.zones) == 3))'
  2342. monitoring:
  2343. description: Prometheus based Monitoring settings
  2344. nullable: true
  2345. properties:
  2346. enabled:
  2347. description: Enabled determines whether to create the prometheus rules for the ceph cluster.
  2348. type: boolean
  2349. externalMgrEndpoints:
  2350. description: ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
  2351. items:
  2352. description: EndpointAddress is a tuple that describes single IP address.
  2353. properties:
  2354. hostname:
  2355. description: The Hostname of this endpoint
  2356. type: string
  2357. ip:
  2358. description: The IP of this endpoint. May not be loopback (127.0.0.0/8 or ::1), link-local (169.254.0.
  2359. type: string
  2360. nodeName:
  2361. description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
  2362. type: string
  2363. targetRef:
  2364. description: Reference to object providing the endpoint.
  2365. properties:
  2366. apiVersion:
  2367. description: API version of the referent.
  2368. type: string
  2369. fieldPath:
  2370. description: If referring to a piece of an object instead of an entire object, this string should contain a valid
  2371. type: string
  2372. kind:
  2373. description: 'Kind of the referent. More info: https://git.k8s.'
  2374. type: string
  2375. name:
  2376. description: 'Name of the referent. More info: https://kubernetes.'
  2377. type: string
  2378. namespace:
  2379. description: 'Namespace of the referent. More info: https://kubernetes.'
  2380. type: string
  2381. resourceVersion:
  2382. description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.'
  2383. type: string
  2384. uid:
  2385. description: 'UID of the referent. More info: https://kubernetes.'
  2386. type: string
  2387. type: object
  2388. x-kubernetes-map-type: atomic
  2389. required:
  2390. - ip
  2391. type: object
  2392. x-kubernetes-map-type: atomic
  2393. nullable: true
  2394. type: array
  2395. externalMgrPrometheusPort:
  2396. description: ExternalMgrPrometheusPort Prometheus exporter port
  2397. maximum: 65535
  2398. minimum: 0
  2399. type: integer
  2400. interval:
  2401. description: Interval determines prometheus scrape interval
  2402. type: string
  2403. metricsDisabled:
  2404. description: Whether to disable the metrics reported by Ceph.
  2405. type: boolean
  2406. port:
  2407. description: Port is the prometheus server port
  2408. maximum: 65535
  2409. minimum: 0
  2410. type: integer
  2411. type: object
  2412. network:
  2413. description: Network related configuration
  2414. nullable: true
  2415. properties:
  2416. addressRanges:
  2417. description: AddressRanges specify a list of CIDRs that Rook will apply to Ceph's 'public_network' and/or 'cluste
  2418. nullable: true
  2419. properties:
  2420. cluster:
  2421. description: Cluster defines a list of CIDRs to use for Ceph cluster network communication.
  2422. items:
  2423. description: An IPv4 or IPv6 network CIDR.
  2424. pattern: ^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$
  2425. type: string
  2426. type: array
  2427. public:
  2428. description: Public defines a list of CIDRs to use for Ceph public network communication.
  2429. items:
  2430. description: An IPv4 or IPv6 network CIDR.
  2431. pattern: ^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$
  2432. type: string
  2433. type: array
  2434. type: object
  2435. connections:
  2436. description: Settings for network connections such as compression and encryption across the wire.
  2437. nullable: true
  2438. properties:
  2439. compression:
  2440. description: Compression settings for the network connections.
  2441. nullable: true
  2442. properties:
  2443. enabled:
  2444. description: Whether to compress the data in transit across the wire. The default is not set.
  2445. type: boolean
  2446. type: object
  2447. encryption:
  2448. description: Encryption settings for the network connections.
  2449. nullable: true
  2450. properties:
  2451. enabled:
  2452. description: Whether to encrypt the data in transit across the wire to prevent eavesdropping the data on the netw
  2453. type: boolean
  2454. type: object
  2455. requireMsgr2:
  2456. description: Whether to require msgr2 (port 3300) even if compression or encryption are not enabled.
  2457. type: boolean
  2458. type: object
  2459. dualStack:
  2460. description: DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6
  2461. type: boolean
  2462. hostNetwork:
  2463. description: HostNetwork to enable host network.
  2464. type: boolean
  2465. ipFamily:
  2466. description: IPFamily is the single stack IPv6 or IPv4 protocol
  2467. enum:
  2468. - IPv4
  2469. - IPv6
  2470. nullable: true
  2471. type: string
  2472. multiClusterService:
  2473. description: Enable multiClusterService to export the Services between peer clusters
  2474. properties:
  2475. clusterID:
  2476. description: ClusterID uniquely identifies a cluster. It is used as a prefix to nslookup exported services.
  2477. type: string
  2478. enabled:
  2479. description: Enable multiClusterService to export the mon and OSD services to peer cluster.
  2480. type: boolean
  2481. type: object
  2482. provider:
  2483. description: Provider is what provides network connectivity to the cluster e.g. "host" or "multus".
  2484. enum:
  2485. - ""
  2486. - host
  2487. - multus
  2488. nullable: true
  2489. type: string
  2490. x-kubernetes-validations:
  2491. - message: network provider must be disabled (reverted to empty string) before a new provider is enabled
  2492. rule: self == '' || self == oldSelf
  2493. selectors:
  2494. additionalProperties:
  2495. type: string
  2496. description: Selectors define NetworkAttachmentDefinitions to be used for Ceph public and/or cluster networks whe
  2497. nullable: true
  2498. type: object
  2499. type: object
  2500. x-kubernetes-preserve-unknown-fields: true
  2501. x-kubernetes-validations:
  2502. - message: at least one network selector must be specified when using multus
  2503. rule: '!has(self.provider) || (self.provider != ''multus'' || (self.provider == ''multus'' && size(self.selectors) > 0))'
  2504. placement:
  2505. additionalProperties:
  2506. description: Placement is the placement for an object
  2507. properties:
  2508. nodeAffinity:
  2509. description: NodeAffinity is a group of node affinity scheduling rules
  2510. properties:
  2511. preferredDuringSchedulingIgnoredDuringExecution:
  2512. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  2513. items:
  2514. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  2515. properties:
  2516. preference:
  2517. description: A node selector term, associated with the corresponding weight.
  2518. properties:
  2519. matchExpressions:
  2520. description: A list of node selector requirements by node's labels.
  2521. items:
  2522. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  2523. properties:
  2524. key:
  2525. description: The label key that the selector applies to.
  2526. type: string
  2527. operator:
  2528. description: Represents a key's relationship to a set of values.
  2529. type: string
  2530. values:
  2531. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  2532. items:
  2533. type: string
  2534. type: array
  2535. required:
  2536. - key
  2537. - operator
  2538. type: object
  2539. type: array
  2540. matchFields:
  2541. description: A list of node selector requirements by node's fields.
  2542. items:
  2543. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  2544. properties:
  2545. key:
  2546. description: The label key that the selector applies to.
  2547. type: string
  2548. operator:
  2549. description: Represents a key's relationship to a set of values.
  2550. type: string
  2551. values:
  2552. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  2553. items:
  2554. type: string
  2555. type: array
  2556. required:
  2557. - key
  2558. - operator
  2559. type: object
  2560. type: array
  2561. type: object
  2562. x-kubernetes-map-type: atomic
  2563. weight:
  2564. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  2565. format: int32
  2566. type: integer
  2567. required:
  2568. - preference
  2569. - weight
  2570. type: object
  2571. type: array
  2572. requiredDuringSchedulingIgnoredDuringExecution:
  2573. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  2574. properties:
  2575. nodeSelectorTerms:
  2576. description: Required. A list of node selector terms. The terms are ORed.
  2577. items:
  2578. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  2579. properties:
  2580. matchExpressions:
  2581. description: A list of node selector requirements by node's labels.
  2582. items:
  2583. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  2584. properties:
  2585. key:
  2586. description: The label key that the selector applies to.
  2587. type: string
  2588. operator:
  2589. description: Represents a key's relationship to a set of values.
  2590. type: string
  2591. values:
  2592. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  2593. items:
  2594. type: string
  2595. type: array
  2596. required:
  2597. - key
  2598. - operator
  2599. type: object
  2600. type: array
  2601. matchFields:
  2602. description: A list of node selector requirements by node's fields.
  2603. items:
  2604. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  2605. properties:
  2606. key:
  2607. description: The label key that the selector applies to.
  2608. type: string
  2609. operator:
  2610. description: Represents a key's relationship to a set of values.
  2611. type: string
  2612. values:
  2613. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  2614. items:
  2615. type: string
  2616. type: array
  2617. required:
  2618. - key
  2619. - operator
  2620. type: object
  2621. type: array
  2622. type: object
  2623. x-kubernetes-map-type: atomic
  2624. type: array
  2625. required:
  2626. - nodeSelectorTerms
  2627. type: object
  2628. x-kubernetes-map-type: atomic
  2629. type: object
  2630. podAffinity:
  2631. description: PodAffinity is a group of inter pod affinity scheduling rules
  2632. properties:
  2633. preferredDuringSchedulingIgnoredDuringExecution:
  2634. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  2635. items:
  2636. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  2637. properties:
  2638. podAffinityTerm:
  2639. description: Required. A pod affinity term, associated with the corresponding weight.
  2640. properties:
  2641. labelSelector:
  2642. description: A label query over a set of resources, in this case pods.
  2643. properties:
  2644. matchExpressions:
  2645. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2646. items:
  2647. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2648. properties:
  2649. key:
  2650. description: key is the label key that the selector applies to.
  2651. type: string
  2652. operator:
  2653. description: operator represents a key's relationship to a set of values.
  2654. type: string
  2655. values:
  2656. description: values is an array of string values.
  2657. items:
  2658. type: string
  2659. type: array
  2660. required:
  2661. - key
  2662. - operator
  2663. type: object
  2664. type: array
  2665. matchLabels:
  2666. additionalProperties:
  2667. type: string
  2668. description: matchLabels is a map of {key,value} pairs.
  2669. type: object
  2670. type: object
  2671. x-kubernetes-map-type: atomic
  2672. namespaceSelector:
  2673. description: A label query over the set of namespaces that the term applies to.
  2674. properties:
  2675. matchExpressions:
  2676. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2677. items:
  2678. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2679. properties:
  2680. key:
  2681. description: key is the label key that the selector applies to.
  2682. type: string
  2683. operator:
  2684. description: operator represents a key's relationship to a set of values.
  2685. type: string
  2686. values:
  2687. description: values is an array of string values.
  2688. items:
  2689. type: string
  2690. type: array
  2691. required:
  2692. - key
  2693. - operator
  2694. type: object
  2695. type: array
  2696. matchLabels:
  2697. additionalProperties:
  2698. type: string
  2699. description: matchLabels is a map of {key,value} pairs.
  2700. type: object
  2701. type: object
  2702. x-kubernetes-map-type: atomic
  2703. namespaces:
  2704. description: namespaces specifies a static list of namespace names that the term applies to.
  2705. items:
  2706. type: string
  2707. type: array
  2708. topologyKey:
  2709. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  2710. type: string
  2711. required:
  2712. - topologyKey
  2713. type: object
  2714. weight:
  2715. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  2716. format: int32
  2717. type: integer
  2718. required:
  2719. - podAffinityTerm
  2720. - weight
  2721. type: object
  2722. type: array
  2723. requiredDuringSchedulingIgnoredDuringExecution:
  2724. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  2725. items:
  2726. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  2727. properties:
  2728. labelSelector:
  2729. description: A label query over a set of resources, in this case pods.
  2730. properties:
  2731. matchExpressions:
  2732. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2733. items:
  2734. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2735. properties:
  2736. key:
  2737. description: key is the label key that the selector applies to.
  2738. type: string
  2739. operator:
  2740. description: operator represents a key's relationship to a set of values.
  2741. type: string
  2742. values:
  2743. description: values is an array of string values.
  2744. items:
  2745. type: string
  2746. type: array
  2747. required:
  2748. - key
  2749. - operator
  2750. type: object
  2751. type: array
  2752. matchLabels:
  2753. additionalProperties:
  2754. type: string
  2755. description: matchLabels is a map of {key,value} pairs.
  2756. type: object
  2757. type: object
  2758. x-kubernetes-map-type: atomic
  2759. namespaceSelector:
  2760. description: A label query over the set of namespaces that the term applies to.
  2761. properties:
  2762. matchExpressions:
  2763. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2764. items:
  2765. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2766. properties:
  2767. key:
  2768. description: key is the label key that the selector applies to.
  2769. type: string
  2770. operator:
  2771. description: operator represents a key's relationship to a set of values.
  2772. type: string
  2773. values:
  2774. description: values is an array of string values.
  2775. items:
  2776. type: string
  2777. type: array
  2778. required:
  2779. - key
  2780. - operator
  2781. type: object
  2782. type: array
  2783. matchLabels:
  2784. additionalProperties:
  2785. type: string
  2786. description: matchLabels is a map of {key,value} pairs.
  2787. type: object
  2788. type: object
  2789. x-kubernetes-map-type: atomic
  2790. namespaces:
  2791. description: namespaces specifies a static list of namespace names that the term applies to.
  2792. items:
  2793. type: string
  2794. type: array
  2795. topologyKey:
  2796. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  2797. type: string
  2798. required:
  2799. - topologyKey
  2800. type: object
  2801. type: array
  2802. type: object
  2803. podAntiAffinity:
  2804. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  2805. properties:
  2806. preferredDuringSchedulingIgnoredDuringExecution:
  2807. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  2808. items:
  2809. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  2810. properties:
  2811. podAffinityTerm:
  2812. description: Required. A pod affinity term, associated with the corresponding weight.
  2813. properties:
  2814. labelSelector:
  2815. description: A label query over a set of resources, in this case pods.
  2816. properties:
  2817. matchExpressions:
  2818. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2819. items:
  2820. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2821. properties:
  2822. key:
  2823. description: key is the label key that the selector applies to.
  2824. type: string
  2825. operator:
  2826. description: operator represents a key's relationship to a set of values.
  2827. type: string
  2828. values:
  2829. description: values is an array of string values.
  2830. items:
  2831. type: string
  2832. type: array
  2833. required:
  2834. - key
  2835. - operator
  2836. type: object
  2837. type: array
  2838. matchLabels:
  2839. additionalProperties:
  2840. type: string
  2841. description: matchLabels is a map of {key,value} pairs.
  2842. type: object
  2843. type: object
  2844. x-kubernetes-map-type: atomic
  2845. namespaceSelector:
  2846. description: A label query over the set of namespaces that the term applies to.
  2847. properties:
  2848. matchExpressions:
  2849. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2850. items:
  2851. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2852. properties:
  2853. key:
  2854. description: key is the label key that the selector applies to.
  2855. type: string
  2856. operator:
  2857. description: operator represents a key's relationship to a set of values.
  2858. type: string
  2859. values:
  2860. description: values is an array of string values.
  2861. items:
  2862. type: string
  2863. type: array
  2864. required:
  2865. - key
  2866. - operator
  2867. type: object
  2868. type: array
  2869. matchLabels:
  2870. additionalProperties:
  2871. type: string
  2872. description: matchLabels is a map of {key,value} pairs.
  2873. type: object
  2874. type: object
  2875. x-kubernetes-map-type: atomic
  2876. namespaces:
  2877. description: namespaces specifies a static list of namespace names that the term applies to.
  2878. items:
  2879. type: string
  2880. type: array
  2881. topologyKey:
  2882. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  2883. type: string
  2884. required:
  2885. - topologyKey
  2886. type: object
  2887. weight:
  2888. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  2889. format: int32
  2890. type: integer
  2891. required:
  2892. - podAffinityTerm
  2893. - weight
  2894. type: object
  2895. type: array
  2896. requiredDuringSchedulingIgnoredDuringExecution:
  2897. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  2898. items:
  2899. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  2900. properties:
  2901. labelSelector:
  2902. description: A label query over a set of resources, in this case pods.
  2903. properties:
  2904. matchExpressions:
  2905. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2906. items:
  2907. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2908. properties:
  2909. key:
  2910. description: key is the label key that the selector applies to.
  2911. type: string
  2912. operator:
  2913. description: operator represents a key's relationship to a set of values.
  2914. type: string
  2915. values:
  2916. description: values is an array of string values.
  2917. items:
  2918. type: string
  2919. type: array
  2920. required:
  2921. - key
  2922. - operator
  2923. type: object
  2924. type: array
  2925. matchLabels:
  2926. additionalProperties:
  2927. type: string
  2928. description: matchLabels is a map of {key,value} pairs.
  2929. type: object
  2930. type: object
  2931. x-kubernetes-map-type: atomic
  2932. namespaceSelector:
  2933. description: A label query over the set of namespaces that the term applies to.
  2934. properties:
  2935. matchExpressions:
  2936. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2937. items:
  2938. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  2939. properties:
  2940. key:
  2941. description: key is the label key that the selector applies to.
  2942. type: string
  2943. operator:
  2944. description: operator represents a key's relationship to a set of values.
  2945. type: string
  2946. values:
  2947. description: values is an array of string values.
  2948. items:
  2949. type: string
  2950. type: array
  2951. required:
  2952. - key
  2953. - operator
  2954. type: object
  2955. type: array
  2956. matchLabels:
  2957. additionalProperties:
  2958. type: string
  2959. description: matchLabels is a map of {key,value} pairs.
  2960. type: object
  2961. type: object
  2962. x-kubernetes-map-type: atomic
  2963. namespaces:
  2964. description: namespaces specifies a static list of namespace names that the term applies to.
  2965. items:
  2966. type: string
  2967. type: array
  2968. topologyKey:
  2969. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  2970. type: string
  2971. required:
  2972. - topologyKey
  2973. type: object
  2974. type: array
  2975. type: object
  2976. tolerations:
  2977. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  2978. items:
  2979. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  2980. properties:
  2981. effect:
  2982. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  2983. type: string
  2984. key:
  2985. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  2986. type: string
  2987. operator:
  2988. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  2989. type: string
  2990. tolerationSeconds:
  2991. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  2992. format: int64
  2993. type: integer
  2994. value:
  2995. description: Value is the taint value the toleration matches to.
  2996. type: string
  2997. type: object
  2998. type: array
  2999. topologySpreadConstraints:
  3000. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  3001. items:
  3002. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  3003. properties:
  3004. labelSelector:
  3005. description: LabelSelector is used to find matching pods.
  3006. properties:
  3007. matchExpressions:
  3008. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3009. items:
  3010. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3011. properties:
  3012. key:
  3013. description: key is the label key that the selector applies to.
  3014. type: string
  3015. operator:
  3016. description: operator represents a key's relationship to a set of values.
  3017. type: string
  3018. values:
  3019. description: values is an array of string values.
  3020. items:
  3021. type: string
  3022. type: array
  3023. required:
  3024. - key
  3025. - operator
  3026. type: object
  3027. type: array
  3028. matchLabels:
  3029. additionalProperties:
  3030. type: string
  3031. description: matchLabels is a map of {key,value} pairs.
  3032. type: object
  3033. type: object
  3034. x-kubernetes-map-type: atomic
  3035. matchLabelKeys:
  3036. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  3037. items:
  3038. type: string
  3039. type: array
  3040. x-kubernetes-list-type: atomic
  3041. maxSkew:
  3042. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  3043. format: int32
  3044. type: integer
  3045. minDomains:
  3046. description: MinDomains indicates a minimum number of eligible domains.
  3047. format: int32
  3048. type: integer
  3049. nodeAffinityPolicy:
  3050. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  3051. type: string
  3052. nodeTaintsPolicy:
  3053. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  3054. type: string
  3055. topologyKey:
  3056. description: TopologyKey is the key of node labels.
  3057. type: string
  3058. whenUnsatisfiable:
  3059. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  3060. type: string
  3061. required:
  3062. - maxSkew
  3063. - topologyKey
  3064. - whenUnsatisfiable
  3065. type: object
  3066. type: array
  3067. type: object
  3068. description: The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
  3069. nullable: true
  3070. type: object
  3071. x-kubernetes-preserve-unknown-fields: true
  3072. priorityClassNames:
  3073. additionalProperties:
  3074. type: string
  3075. description: PriorityClassNames sets priority classes on components
  3076. nullable: true
  3077. type: object
  3078. x-kubernetes-preserve-unknown-fields: true
  3079. removeOSDsIfOutAndSafeToRemove:
  3080. description: Remove the OSD that is out and safe to remove only if this option is true
  3081. type: boolean
  3082. resources:
  3083. additionalProperties:
  3084. description: ResourceRequirements describes the compute resource requirements.
  3085. properties:
  3086. claims:
  3087. description: Claims lists the names of resources, defined in spec.
  3088. items:
  3089. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  3090. properties:
  3091. name:
  3092. description: Name must match the name of one entry in pod.spec.
  3093. type: string
  3094. required:
  3095. - name
  3096. type: object
  3097. type: array
  3098. x-kubernetes-list-map-keys:
  3099. - name
  3100. x-kubernetes-list-type: map
  3101. limits:
  3102. additionalProperties:
  3103. anyOf:
  3104. - type: integer
  3105. - type: string
  3106. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3107. x-kubernetes-int-or-string: true
  3108. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  3109. type: object
  3110. requests:
  3111. additionalProperties:
  3112. anyOf:
  3113. - type: integer
  3114. - type: string
  3115. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3116. x-kubernetes-int-or-string: true
  3117. description: Requests describes the minimum amount of compute resources required.
  3118. type: object
  3119. type: object
  3120. description: Resources set resource requests and limits
  3121. nullable: true
  3122. type: object
  3123. x-kubernetes-preserve-unknown-fields: true
  3124. security:
  3125. description: Security represents security settings
  3126. nullable: true
  3127. properties:
  3128. keyRotation:
  3129. description: KeyRotation defines options for Key Rotation.
  3130. nullable: true
  3131. properties:
  3132. enabled:
  3133. default: false
  3134. description: Enabled represents whether the key rotation is enabled.
  3135. type: boolean
  3136. schedule:
  3137. description: Schedule represents the cron schedule for key rotation.
  3138. type: string
  3139. type: object
  3140. kms:
  3141. description: KeyManagementService is the main Key Management option
  3142. nullable: true
  3143. properties:
  3144. connectionDetails:
  3145. additionalProperties:
  3146. type: string
  3147. description: ConnectionDetails contains the KMS connection details (address, port etc)
  3148. nullable: true
  3149. type: object
  3150. x-kubernetes-preserve-unknown-fields: true
  3151. tokenSecretName:
  3152. description: TokenSecretName is the kubernetes secret containing the KMS token
  3153. type: string
  3154. type: object
  3155. type: object
  3156. skipUpgradeChecks:
  3157. description: SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails
  3158. type: boolean
  3159. storage:
  3160. description: A spec for available storage in the cluster and how it should be used
  3161. nullable: true
  3162. properties:
  3163. config:
  3164. additionalProperties:
  3165. type: string
  3166. nullable: true
  3167. type: object
  3168. x-kubernetes-preserve-unknown-fields: true
  3169. deviceFilter:
  3170. description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
  3171. type: string
  3172. devicePathFilter:
  3173. description: A regular expression to allow more fine-grained selection of devices with path names
  3174. type: string
  3175. devices:
  3176. description: List of devices to use as storage devices
  3177. items:
  3178. description: Device represents a disk to use in the cluster
  3179. properties:
  3180. config:
  3181. additionalProperties:
  3182. type: string
  3183. nullable: true
  3184. type: object
  3185. x-kubernetes-preserve-unknown-fields: true
  3186. fullpath:
  3187. type: string
  3188. name:
  3189. type: string
  3190. type: object
  3191. nullable: true
  3192. type: array
  3193. x-kubernetes-preserve-unknown-fields: true
  3194. flappingRestartIntervalHours:
  3195. description: FlappingRestartIntervalHours defines the time for which the OSD pods, that failed with zero exit cod
  3196. type: integer
  3197. nodes:
  3198. items:
  3199. description: Node is a storage nodes
  3200. properties:
  3201. config:
  3202. additionalProperties:
  3203. type: string
  3204. nullable: true
  3205. type: object
  3206. x-kubernetes-preserve-unknown-fields: true
  3207. deviceFilter:
  3208. description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
  3209. type: string
  3210. devicePathFilter:
  3211. description: A regular expression to allow more fine-grained selection of devices with path names
  3212. type: string
  3213. devices:
  3214. description: List of devices to use as storage devices
  3215. items:
  3216. description: Device represents a disk to use in the cluster
  3217. properties:
  3218. config:
  3219. additionalProperties:
  3220. type: string
  3221. nullable: true
  3222. type: object
  3223. x-kubernetes-preserve-unknown-fields: true
  3224. fullpath:
  3225. type: string
  3226. name:
  3227. type: string
  3228. type: object
  3229. nullable: true
  3230. type: array
  3231. x-kubernetes-preserve-unknown-fields: true
  3232. name:
  3233. type: string
  3234. resources:
  3235. description: ResourceRequirements describes the compute resource requirements.
  3236. nullable: true
  3237. properties:
  3238. claims:
  3239. description: Claims lists the names of resources, defined in spec.
  3240. items:
  3241. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  3242. properties:
  3243. name:
  3244. description: Name must match the name of one entry in pod.spec.
  3245. type: string
  3246. required:
  3247. - name
  3248. type: object
  3249. type: array
  3250. x-kubernetes-list-map-keys:
  3251. - name
  3252. x-kubernetes-list-type: map
  3253. limits:
  3254. additionalProperties:
  3255. anyOf:
  3256. - type: integer
  3257. - type: string
  3258. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3259. x-kubernetes-int-or-string: true
  3260. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  3261. type: object
  3262. requests:
  3263. additionalProperties:
  3264. anyOf:
  3265. - type: integer
  3266. - type: string
  3267. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3268. x-kubernetes-int-or-string: true
  3269. description: Requests describes the minimum amount of compute resources required.
  3270. type: object
  3271. type: object
  3272. x-kubernetes-preserve-unknown-fields: true
  3273. useAllDevices:
  3274. description: Whether to consume all the storage devices found on a machine
  3275. type: boolean
  3276. volumeClaimTemplates:
  3277. description: PersistentVolumeClaims to use as storage
  3278. items:
  3279. description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
  3280. properties:
  3281. apiVersion:
  3282. description: APIVersion defines the versioned schema of this representation of an object.
  3283. type: string
  3284. kind:
  3285. description: Kind is a string value representing the REST resource this object represents.
  3286. type: string
  3287. metadata:
  3288. description: 'Standard object''s metadata. More info: https://git.k8s.'
  3289. properties:
  3290. annotations:
  3291. additionalProperties:
  3292. type: string
  3293. type: object
  3294. finalizers:
  3295. items:
  3296. type: string
  3297. type: array
  3298. labels:
  3299. additionalProperties:
  3300. type: string
  3301. type: object
  3302. name:
  3303. type: string
  3304. namespace:
  3305. type: string
  3306. type: object
  3307. spec:
  3308. description: spec defines the desired characteristics of a volume requested by a pod author.
  3309. properties:
  3310. accessModes:
  3311. description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
  3312. items:
  3313. type: string
  3314. type: array
  3315. dataSource:
  3316. description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
  3317. properties:
  3318. apiGroup:
  3319. description: APIGroup is the group for the resource being referenced.
  3320. type: string
  3321. kind:
  3322. description: Kind is the type of resource being referenced
  3323. type: string
  3324. name:
  3325. description: Name is the name of resource being referenced
  3326. type: string
  3327. required:
  3328. - kind
  3329. - name
  3330. type: object
  3331. x-kubernetes-map-type: atomic
  3332. dataSourceRef:
  3333. description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
  3334. properties:
  3335. apiGroup:
  3336. description: APIGroup is the group for the resource being referenced.
  3337. type: string
  3338. kind:
  3339. description: Kind is the type of resource being referenced
  3340. type: string
  3341. name:
  3342. description: Name is the name of resource being referenced
  3343. type: string
  3344. namespace:
  3345. description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
  3346. type: string
  3347. required:
  3348. - kind
  3349. - name
  3350. type: object
  3351. resources:
  3352. description: resources represents the minimum resources the volume should have.
  3353. properties:
  3354. claims:
  3355. description: Claims lists the names of resources, defined in spec.
  3356. items:
  3357. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  3358. properties:
  3359. name:
  3360. description: Name must match the name of one entry in pod.spec.
  3361. type: string
  3362. required:
  3363. - name
  3364. type: object
  3365. type: array
  3366. x-kubernetes-list-map-keys:
  3367. - name
  3368. x-kubernetes-list-type: map
  3369. limits:
  3370. additionalProperties:
  3371. anyOf:
  3372. - type: integer
  3373. - type: string
  3374. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3375. x-kubernetes-int-or-string: true
  3376. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  3377. type: object
  3378. requests:
  3379. additionalProperties:
  3380. anyOf:
  3381. - type: integer
  3382. - type: string
  3383. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3384. x-kubernetes-int-or-string: true
  3385. description: Requests describes the minimum amount of compute resources required.
  3386. type: object
  3387. type: object
  3388. selector:
  3389. description: selector is a label query over volumes to consider for binding.
  3390. properties:
  3391. matchExpressions:
  3392. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3393. items:
  3394. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3395. properties:
  3396. key:
  3397. description: key is the label key that the selector applies to.
  3398. type: string
  3399. operator:
  3400. description: operator represents a key's relationship to a set of values.
  3401. type: string
  3402. values:
  3403. description: values is an array of string values.
  3404. items:
  3405. type: string
  3406. type: array
  3407. required:
  3408. - key
  3409. - operator
  3410. type: object
  3411. type: array
  3412. matchLabels:
  3413. additionalProperties:
  3414. type: string
  3415. description: matchLabels is a map of {key,value} pairs.
  3416. type: object
  3417. type: object
  3418. x-kubernetes-map-type: atomic
  3419. storageClassName:
  3420. description: storageClassName is the name of the StorageClass required by the claim.
  3421. type: string
  3422. volumeMode:
  3423. description: volumeMode defines what type of volume is required by the claim.
  3424. type: string
  3425. volumeName:
  3426. description: volumeName is the binding reference to the PersistentVolume backing this claim.
  3427. type: string
  3428. type: object
  3429. status:
  3430. description: status represents the current information/status of a persistent volume claim. Read-only.
  3431. properties:
  3432. accessModes:
  3433. description: accessModes contains the actual access modes the volume backing the PVC has.
  3434. items:
  3435. type: string
  3436. type: array
  3437. allocatedResourceStatuses:
  3438. additionalProperties:
  3439. description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
  3440. type: string
  3441. description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
  3442. type: object
  3443. x-kubernetes-map-type: granular
  3444. allocatedResources:
  3445. additionalProperties:
  3446. anyOf:
  3447. - type: integer
  3448. - type: string
  3449. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3450. x-kubernetes-int-or-string: true
  3451. description: allocatedResources tracks the resources allocated to a PVC including its capacity.
  3452. type: object
  3453. capacity:
  3454. additionalProperties:
  3455. anyOf:
  3456. - type: integer
  3457. - type: string
  3458. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3459. x-kubernetes-int-or-string: true
  3460. description: capacity represents the actual resources of the underlying volume.
  3461. type: object
  3462. conditions:
  3463. description: conditions is the current Condition of persistent volume claim.
  3464. items:
  3465. description: PersistentVolumeClaimCondition contains details about state of pvc
  3466. properties:
  3467. lastProbeTime:
  3468. description: lastProbeTime is the time we probed the condition.
  3469. format: date-time
  3470. type: string
  3471. lastTransitionTime:
  3472. description: lastTransitionTime is the time the condition transitioned from one status to another.
  3473. format: date-time
  3474. type: string
  3475. message:
  3476. description: message is the human-readable message indicating details about last transition.
  3477. type: string
  3478. reason:
  3479. description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
  3480. type: string
  3481. status:
  3482. type: string
  3483. type:
  3484. description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
  3485. type: string
  3486. required:
  3487. - status
  3488. - type
  3489. type: object
  3490. type: array
  3491. phase:
  3492. description: phase represents the current phase of PersistentVolumeClaim.
  3493. type: string
  3494. type: object
  3495. type: object
  3496. type: array
  3497. type: object
  3498. nullable: true
  3499. type: array
  3500. onlyApplyOSDPlacement:
  3501. type: boolean
  3502. storageClassDeviceSets:
  3503. items:
  3504. description: StorageClassDeviceSet is a storage class device set
  3505. properties:
  3506. config:
  3507. additionalProperties:
  3508. type: string
  3509. description: Provider-specific device configuration
  3510. nullable: true
  3511. type: object
  3512. x-kubernetes-preserve-unknown-fields: true
  3513. count:
  3514. description: Count is the number of devices in this set
  3515. minimum: 1
  3516. type: integer
  3517. encrypted:
  3518. description: Whether to encrypt the deviceSet
  3519. type: boolean
  3520. name:
  3521. description: Name is a unique identifier for the set
  3522. type: string
  3523. placement:
  3524. description: Placement is the placement for an object
  3525. nullable: true
  3526. properties:
  3527. nodeAffinity:
  3528. description: NodeAffinity is a group of node affinity scheduling rules
  3529. properties:
  3530. preferredDuringSchedulingIgnoredDuringExecution:
  3531. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  3532. items:
  3533. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  3534. properties:
  3535. preference:
  3536. description: A node selector term, associated with the corresponding weight.
  3537. properties:
  3538. matchExpressions:
  3539. description: A list of node selector requirements by node's labels.
  3540. items:
  3541. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  3542. properties:
  3543. key:
  3544. description: The label key that the selector applies to.
  3545. type: string
  3546. operator:
  3547. description: Represents a key's relationship to a set of values.
  3548. type: string
  3549. values:
  3550. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  3551. items:
  3552. type: string
  3553. type: array
  3554. required:
  3555. - key
  3556. - operator
  3557. type: object
  3558. type: array
  3559. matchFields:
  3560. description: A list of node selector requirements by node's fields.
  3561. items:
  3562. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  3563. properties:
  3564. key:
  3565. description: The label key that the selector applies to.
  3566. type: string
  3567. operator:
  3568. description: Represents a key's relationship to a set of values.
  3569. type: string
  3570. values:
  3571. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  3572. items:
  3573. type: string
  3574. type: array
  3575. required:
  3576. - key
  3577. - operator
  3578. type: object
  3579. type: array
  3580. type: object
  3581. x-kubernetes-map-type: atomic
  3582. weight:
  3583. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  3584. format: int32
  3585. type: integer
  3586. required:
  3587. - preference
  3588. - weight
  3589. type: object
  3590. type: array
  3591. requiredDuringSchedulingIgnoredDuringExecution:
  3592. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  3593. properties:
  3594. nodeSelectorTerms:
  3595. description: Required. A list of node selector terms. The terms are ORed.
  3596. items:
  3597. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  3598. properties:
  3599. matchExpressions:
  3600. description: A list of node selector requirements by node's labels.
  3601. items:
  3602. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  3603. properties:
  3604. key:
  3605. description: The label key that the selector applies to.
  3606. type: string
  3607. operator:
  3608. description: Represents a key's relationship to a set of values.
  3609. type: string
  3610. values:
  3611. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  3612. items:
  3613. type: string
  3614. type: array
  3615. required:
  3616. - key
  3617. - operator
  3618. type: object
  3619. type: array
  3620. matchFields:
  3621. description: A list of node selector requirements by node's fields.
  3622. items:
  3623. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  3624. properties:
  3625. key:
  3626. description: The label key that the selector applies to.
  3627. type: string
  3628. operator:
  3629. description: Represents a key's relationship to a set of values.
  3630. type: string
  3631. values:
  3632. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  3633. items:
  3634. type: string
  3635. type: array
  3636. required:
  3637. - key
  3638. - operator
  3639. type: object
  3640. type: array
  3641. type: object
  3642. x-kubernetes-map-type: atomic
  3643. type: array
  3644. required:
  3645. - nodeSelectorTerms
  3646. type: object
  3647. x-kubernetes-map-type: atomic
  3648. type: object
  3649. podAffinity:
  3650. description: PodAffinity is a group of inter pod affinity scheduling rules
  3651. properties:
  3652. preferredDuringSchedulingIgnoredDuringExecution:
  3653. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  3654. items:
  3655. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  3656. properties:
  3657. podAffinityTerm:
  3658. description: Required. A pod affinity term, associated with the corresponding weight.
  3659. properties:
  3660. labelSelector:
  3661. description: A label query over a set of resources, in this case pods.
  3662. properties:
  3663. matchExpressions:
  3664. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3665. items:
  3666. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3667. properties:
  3668. key:
  3669. description: key is the label key that the selector applies to.
  3670. type: string
  3671. operator:
  3672. description: operator represents a key's relationship to a set of values.
  3673. type: string
  3674. values:
  3675. description: values is an array of string values.
  3676. items:
  3677. type: string
  3678. type: array
  3679. required:
  3680. - key
  3681. - operator
  3682. type: object
  3683. type: array
  3684. matchLabels:
  3685. additionalProperties:
  3686. type: string
  3687. description: matchLabels is a map of {key,value} pairs.
  3688. type: object
  3689. type: object
  3690. x-kubernetes-map-type: atomic
  3691. namespaceSelector:
  3692. description: A label query over the set of namespaces that the term applies to.
  3693. properties:
  3694. matchExpressions:
  3695. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3696. items:
  3697. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3698. properties:
  3699. key:
  3700. description: key is the label key that the selector applies to.
  3701. type: string
  3702. operator:
  3703. description: operator represents a key's relationship to a set of values.
  3704. type: string
  3705. values:
  3706. description: values is an array of string values.
  3707. items:
  3708. type: string
  3709. type: array
  3710. required:
  3711. - key
  3712. - operator
  3713. type: object
  3714. type: array
  3715. matchLabels:
  3716. additionalProperties:
  3717. type: string
  3718. description: matchLabels is a map of {key,value} pairs.
  3719. type: object
  3720. type: object
  3721. x-kubernetes-map-type: atomic
  3722. namespaces:
  3723. description: namespaces specifies a static list of namespace names that the term applies to.
  3724. items:
  3725. type: string
  3726. type: array
  3727. topologyKey:
  3728. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  3729. type: string
  3730. required:
  3731. - topologyKey
  3732. type: object
  3733. weight:
  3734. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  3735. format: int32
  3736. type: integer
  3737. required:
  3738. - podAffinityTerm
  3739. - weight
  3740. type: object
  3741. type: array
  3742. requiredDuringSchedulingIgnoredDuringExecution:
  3743. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  3744. items:
  3745. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  3746. properties:
  3747. labelSelector:
  3748. description: A label query over a set of resources, in this case pods.
  3749. properties:
  3750. matchExpressions:
  3751. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3752. items:
  3753. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3754. properties:
  3755. key:
  3756. description: key is the label key that the selector applies to.
  3757. type: string
  3758. operator:
  3759. description: operator represents a key's relationship to a set of values.
  3760. type: string
  3761. values:
  3762. description: values is an array of string values.
  3763. items:
  3764. type: string
  3765. type: array
  3766. required:
  3767. - key
  3768. - operator
  3769. type: object
  3770. type: array
  3771. matchLabels:
  3772. additionalProperties:
  3773. type: string
  3774. description: matchLabels is a map of {key,value} pairs.
  3775. type: object
  3776. type: object
  3777. x-kubernetes-map-type: atomic
  3778. namespaceSelector:
  3779. description: A label query over the set of namespaces that the term applies to.
  3780. properties:
  3781. matchExpressions:
  3782. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3783. items:
  3784. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3785. properties:
  3786. key:
  3787. description: key is the label key that the selector applies to.
  3788. type: string
  3789. operator:
  3790. description: operator represents a key's relationship to a set of values.
  3791. type: string
  3792. values:
  3793. description: values is an array of string values.
  3794. items:
  3795. type: string
  3796. type: array
  3797. required:
  3798. - key
  3799. - operator
  3800. type: object
  3801. type: array
  3802. matchLabels:
  3803. additionalProperties:
  3804. type: string
  3805. description: matchLabels is a map of {key,value} pairs.
  3806. type: object
  3807. type: object
  3808. x-kubernetes-map-type: atomic
  3809. namespaces:
  3810. description: namespaces specifies a static list of namespace names that the term applies to.
  3811. items:
  3812. type: string
  3813. type: array
  3814. topologyKey:
  3815. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  3816. type: string
  3817. required:
  3818. - topologyKey
  3819. type: object
  3820. type: array
  3821. type: object
  3822. podAntiAffinity:
  3823. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  3824. properties:
  3825. preferredDuringSchedulingIgnoredDuringExecution:
  3826. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  3827. items:
  3828. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  3829. properties:
  3830. podAffinityTerm:
  3831. description: Required. A pod affinity term, associated with the corresponding weight.
  3832. properties:
  3833. labelSelector:
  3834. description: A label query over a set of resources, in this case pods.
  3835. properties:
  3836. matchExpressions:
  3837. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3838. items:
  3839. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3840. properties:
  3841. key:
  3842. description: key is the label key that the selector applies to.
  3843. type: string
  3844. operator:
  3845. description: operator represents a key's relationship to a set of values.
  3846. type: string
  3847. values:
  3848. description: values is an array of string values.
  3849. items:
  3850. type: string
  3851. type: array
  3852. required:
  3853. - key
  3854. - operator
  3855. type: object
  3856. type: array
  3857. matchLabels:
  3858. additionalProperties:
  3859. type: string
  3860. description: matchLabels is a map of {key,value} pairs.
  3861. type: object
  3862. type: object
  3863. x-kubernetes-map-type: atomic
  3864. namespaceSelector:
  3865. description: A label query over the set of namespaces that the term applies to.
  3866. properties:
  3867. matchExpressions:
  3868. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3869. items:
  3870. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3871. properties:
  3872. key:
  3873. description: key is the label key that the selector applies to.
  3874. type: string
  3875. operator:
  3876. description: operator represents a key's relationship to a set of values.
  3877. type: string
  3878. values:
  3879. description: values is an array of string values.
  3880. items:
  3881. type: string
  3882. type: array
  3883. required:
  3884. - key
  3885. - operator
  3886. type: object
  3887. type: array
  3888. matchLabels:
  3889. additionalProperties:
  3890. type: string
  3891. description: matchLabels is a map of {key,value} pairs.
  3892. type: object
  3893. type: object
  3894. x-kubernetes-map-type: atomic
  3895. namespaces:
  3896. description: namespaces specifies a static list of namespace names that the term applies to.
  3897. items:
  3898. type: string
  3899. type: array
  3900. topologyKey:
  3901. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  3902. type: string
  3903. required:
  3904. - topologyKey
  3905. type: object
  3906. weight:
  3907. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  3908. format: int32
  3909. type: integer
  3910. required:
  3911. - podAffinityTerm
  3912. - weight
  3913. type: object
  3914. type: array
  3915. requiredDuringSchedulingIgnoredDuringExecution:
  3916. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  3917. items:
  3918. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  3919. properties:
  3920. labelSelector:
  3921. description: A label query over a set of resources, in this case pods.
  3922. properties:
  3923. matchExpressions:
  3924. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3925. items:
  3926. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3927. properties:
  3928. key:
  3929. description: key is the label key that the selector applies to.
  3930. type: string
  3931. operator:
  3932. description: operator represents a key's relationship to a set of values.
  3933. type: string
  3934. values:
  3935. description: values is an array of string values.
  3936. items:
  3937. type: string
  3938. type: array
  3939. required:
  3940. - key
  3941. - operator
  3942. type: object
  3943. type: array
  3944. matchLabels:
  3945. additionalProperties:
  3946. type: string
  3947. description: matchLabels is a map of {key,value} pairs.
  3948. type: object
  3949. type: object
  3950. x-kubernetes-map-type: atomic
  3951. namespaceSelector:
  3952. description: A label query over the set of namespaces that the term applies to.
  3953. properties:
  3954. matchExpressions:
  3955. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3956. items:
  3957. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  3958. properties:
  3959. key:
  3960. description: key is the label key that the selector applies to.
  3961. type: string
  3962. operator:
  3963. description: operator represents a key's relationship to a set of values.
  3964. type: string
  3965. values:
  3966. description: values is an array of string values.
  3967. items:
  3968. type: string
  3969. type: array
  3970. required:
  3971. - key
  3972. - operator
  3973. type: object
  3974. type: array
  3975. matchLabels:
  3976. additionalProperties:
  3977. type: string
  3978. description: matchLabels is a map of {key,value} pairs.
  3979. type: object
  3980. type: object
  3981. x-kubernetes-map-type: atomic
  3982. namespaces:
  3983. description: namespaces specifies a static list of namespace names that the term applies to.
  3984. items:
  3985. type: string
  3986. type: array
  3987. topologyKey:
  3988. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  3989. type: string
  3990. required:
  3991. - topologyKey
  3992. type: object
  3993. type: array
  3994. type: object
  3995. tolerations:
  3996. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  3997. items:
  3998. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  3999. properties:
  4000. effect:
  4001. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  4002. type: string
  4003. key:
  4004. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  4005. type: string
  4006. operator:
  4007. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  4008. type: string
  4009. tolerationSeconds:
  4010. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  4011. format: int64
  4012. type: integer
  4013. value:
  4014. description: Value is the taint value the toleration matches to.
  4015. type: string
  4016. type: object
  4017. type: array
  4018. topologySpreadConstraints:
  4019. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  4020. items:
  4021. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  4022. properties:
  4023. labelSelector:
  4024. description: LabelSelector is used to find matching pods.
  4025. properties:
  4026. matchExpressions:
  4027. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4028. items:
  4029. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4030. properties:
  4031. key:
  4032. description: key is the label key that the selector applies to.
  4033. type: string
  4034. operator:
  4035. description: operator represents a key's relationship to a set of values.
  4036. type: string
  4037. values:
  4038. description: values is an array of string values.
  4039. items:
  4040. type: string
  4041. type: array
  4042. required:
  4043. - key
  4044. - operator
  4045. type: object
  4046. type: array
  4047. matchLabels:
  4048. additionalProperties:
  4049. type: string
  4050. description: matchLabels is a map of {key,value} pairs.
  4051. type: object
  4052. type: object
  4053. x-kubernetes-map-type: atomic
  4054. matchLabelKeys:
  4055. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  4056. items:
  4057. type: string
  4058. type: array
  4059. x-kubernetes-list-type: atomic
  4060. maxSkew:
  4061. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  4062. format: int32
  4063. type: integer
  4064. minDomains:
  4065. description: MinDomains indicates a minimum number of eligible domains.
  4066. format: int32
  4067. type: integer
  4068. nodeAffinityPolicy:
  4069. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  4070. type: string
  4071. nodeTaintsPolicy:
  4072. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  4073. type: string
  4074. topologyKey:
  4075. description: TopologyKey is the key of node labels.
  4076. type: string
  4077. whenUnsatisfiable:
  4078. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  4079. type: string
  4080. required:
  4081. - maxSkew
  4082. - topologyKey
  4083. - whenUnsatisfiable
  4084. type: object
  4085. type: array
  4086. type: object
  4087. x-kubernetes-preserve-unknown-fields: true
  4088. portable:
  4089. description: Portable represents OSD portability across the hosts
  4090. type: boolean
  4091. preparePlacement:
  4092. description: Placement is the placement for an object
  4093. nullable: true
  4094. properties:
  4095. nodeAffinity:
  4096. description: NodeAffinity is a group of node affinity scheduling rules
  4097. properties:
  4098. preferredDuringSchedulingIgnoredDuringExecution:
  4099. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  4100. items:
  4101. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  4102. properties:
  4103. preference:
  4104. description: A node selector term, associated with the corresponding weight.
  4105. properties:
  4106. matchExpressions:
  4107. description: A list of node selector requirements by node's labels.
  4108. items:
  4109. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  4110. properties:
  4111. key:
  4112. description: The label key that the selector applies to.
  4113. type: string
  4114. operator:
  4115. description: Represents a key's relationship to a set of values.
  4116. type: string
  4117. values:
  4118. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  4119. items:
  4120. type: string
  4121. type: array
  4122. required:
  4123. - key
  4124. - operator
  4125. type: object
  4126. type: array
  4127. matchFields:
  4128. description: A list of node selector requirements by node's fields.
  4129. items:
  4130. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  4131. properties:
  4132. key:
  4133. description: The label key that the selector applies to.
  4134. type: string
  4135. operator:
  4136. description: Represents a key's relationship to a set of values.
  4137. type: string
  4138. values:
  4139. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  4140. items:
  4141. type: string
  4142. type: array
  4143. required:
  4144. - key
  4145. - operator
  4146. type: object
  4147. type: array
  4148. type: object
  4149. x-kubernetes-map-type: atomic
  4150. weight:
  4151. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  4152. format: int32
  4153. type: integer
  4154. required:
  4155. - preference
  4156. - weight
  4157. type: object
  4158. type: array
  4159. requiredDuringSchedulingIgnoredDuringExecution:
  4160. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  4161. properties:
  4162. nodeSelectorTerms:
  4163. description: Required. A list of node selector terms. The terms are ORed.
  4164. items:
  4165. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  4166. properties:
  4167. matchExpressions:
  4168. description: A list of node selector requirements by node's labels.
  4169. items:
  4170. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  4171. properties:
  4172. key:
  4173. description: The label key that the selector applies to.
  4174. type: string
  4175. operator:
  4176. description: Represents a key's relationship to a set of values.
  4177. type: string
  4178. values:
  4179. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  4180. items:
  4181. type: string
  4182. type: array
  4183. required:
  4184. - key
  4185. - operator
  4186. type: object
  4187. type: array
  4188. matchFields:
  4189. description: A list of node selector requirements by node's fields.
  4190. items:
  4191. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  4192. properties:
  4193. key:
  4194. description: The label key that the selector applies to.
  4195. type: string
  4196. operator:
  4197. description: Represents a key's relationship to a set of values.
  4198. type: string
  4199. values:
  4200. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  4201. items:
  4202. type: string
  4203. type: array
  4204. required:
  4205. - key
  4206. - operator
  4207. type: object
  4208. type: array
  4209. type: object
  4210. x-kubernetes-map-type: atomic
  4211. type: array
  4212. required:
  4213. - nodeSelectorTerms
  4214. type: object
  4215. x-kubernetes-map-type: atomic
  4216. type: object
  4217. podAffinity:
  4218. description: PodAffinity is a group of inter pod affinity scheduling rules
  4219. properties:
  4220. preferredDuringSchedulingIgnoredDuringExecution:
  4221. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  4222. items:
  4223. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  4224. properties:
  4225. podAffinityTerm:
  4226. description: Required. A pod affinity term, associated with the corresponding weight.
  4227. properties:
  4228. labelSelector:
  4229. description: A label query over a set of resources, in this case pods.
  4230. properties:
  4231. matchExpressions:
  4232. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4233. items:
  4234. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4235. properties:
  4236. key:
  4237. description: key is the label key that the selector applies to.
  4238. type: string
  4239. operator:
  4240. description: operator represents a key's relationship to a set of values.
  4241. type: string
  4242. values:
  4243. description: values is an array of string values.
  4244. items:
  4245. type: string
  4246. type: array
  4247. required:
  4248. - key
  4249. - operator
  4250. type: object
  4251. type: array
  4252. matchLabels:
  4253. additionalProperties:
  4254. type: string
  4255. description: matchLabels is a map of {key,value} pairs.
  4256. type: object
  4257. type: object
  4258. x-kubernetes-map-type: atomic
  4259. namespaceSelector:
  4260. description: A label query over the set of namespaces that the term applies to.
  4261. properties:
  4262. matchExpressions:
  4263. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4264. items:
  4265. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4266. properties:
  4267. key:
  4268. description: key is the label key that the selector applies to.
  4269. type: string
  4270. operator:
  4271. description: operator represents a key's relationship to a set of values.
  4272. type: string
  4273. values:
  4274. description: values is an array of string values.
  4275. items:
  4276. type: string
  4277. type: array
  4278. required:
  4279. - key
  4280. - operator
  4281. type: object
  4282. type: array
  4283. matchLabels:
  4284. additionalProperties:
  4285. type: string
  4286. description: matchLabels is a map of {key,value} pairs.
  4287. type: object
  4288. type: object
  4289. x-kubernetes-map-type: atomic
  4290. namespaces:
  4291. description: namespaces specifies a static list of namespace names that the term applies to.
  4292. items:
  4293. type: string
  4294. type: array
  4295. topologyKey:
  4296. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  4297. type: string
  4298. required:
  4299. - topologyKey
  4300. type: object
  4301. weight:
  4302. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  4303. format: int32
  4304. type: integer
  4305. required:
  4306. - podAffinityTerm
  4307. - weight
  4308. type: object
  4309. type: array
  4310. requiredDuringSchedulingIgnoredDuringExecution:
  4311. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  4312. items:
  4313. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  4314. properties:
  4315. labelSelector:
  4316. description: A label query over a set of resources, in this case pods.
  4317. properties:
  4318. matchExpressions:
  4319. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4320. items:
  4321. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4322. properties:
  4323. key:
  4324. description: key is the label key that the selector applies to.
  4325. type: string
  4326. operator:
  4327. description: operator represents a key's relationship to a set of values.
  4328. type: string
  4329. values:
  4330. description: values is an array of string values.
  4331. items:
  4332. type: string
  4333. type: array
  4334. required:
  4335. - key
  4336. - operator
  4337. type: object
  4338. type: array
  4339. matchLabels:
  4340. additionalProperties:
  4341. type: string
  4342. description: matchLabels is a map of {key,value} pairs.
  4343. type: object
  4344. type: object
  4345. x-kubernetes-map-type: atomic
  4346. namespaceSelector:
  4347. description: A label query over the set of namespaces that the term applies to.
  4348. properties:
  4349. matchExpressions:
  4350. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4351. items:
  4352. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4353. properties:
  4354. key:
  4355. description: key is the label key that the selector applies to.
  4356. type: string
  4357. operator:
  4358. description: operator represents a key's relationship to a set of values.
  4359. type: string
  4360. values:
  4361. description: values is an array of string values.
  4362. items:
  4363. type: string
  4364. type: array
  4365. required:
  4366. - key
  4367. - operator
  4368. type: object
  4369. type: array
  4370. matchLabels:
  4371. additionalProperties:
  4372. type: string
  4373. description: matchLabels is a map of {key,value} pairs.
  4374. type: object
  4375. type: object
  4376. x-kubernetes-map-type: atomic
  4377. namespaces:
  4378. description: namespaces specifies a static list of namespace names that the term applies to.
  4379. items:
  4380. type: string
  4381. type: array
  4382. topologyKey:
  4383. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  4384. type: string
  4385. required:
  4386. - topologyKey
  4387. type: object
  4388. type: array
  4389. type: object
  4390. podAntiAffinity:
  4391. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  4392. properties:
  4393. preferredDuringSchedulingIgnoredDuringExecution:
  4394. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  4395. items:
  4396. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  4397. properties:
  4398. podAffinityTerm:
  4399. description: Required. A pod affinity term, associated with the corresponding weight.
  4400. properties:
  4401. labelSelector:
  4402. description: A label query over a set of resources, in this case pods.
  4403. properties:
  4404. matchExpressions:
  4405. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4406. items:
  4407. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4408. properties:
  4409. key:
  4410. description: key is the label key that the selector applies to.
  4411. type: string
  4412. operator:
  4413. description: operator represents a key's relationship to a set of values.
  4414. type: string
  4415. values:
  4416. description: values is an array of string values.
  4417. items:
  4418. type: string
  4419. type: array
  4420. required:
  4421. - key
  4422. - operator
  4423. type: object
  4424. type: array
  4425. matchLabels:
  4426. additionalProperties:
  4427. type: string
  4428. description: matchLabels is a map of {key,value} pairs.
  4429. type: object
  4430. type: object
  4431. x-kubernetes-map-type: atomic
  4432. namespaceSelector:
  4433. description: A label query over the set of namespaces that the term applies to.
  4434. properties:
  4435. matchExpressions:
  4436. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4437. items:
  4438. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4439. properties:
  4440. key:
  4441. description: key is the label key that the selector applies to.
  4442. type: string
  4443. operator:
  4444. description: operator represents a key's relationship to a set of values.
  4445. type: string
  4446. values:
  4447. description: values is an array of string values.
  4448. items:
  4449. type: string
  4450. type: array
  4451. required:
  4452. - key
  4453. - operator
  4454. type: object
  4455. type: array
  4456. matchLabels:
  4457. additionalProperties:
  4458. type: string
  4459. description: matchLabels is a map of {key,value} pairs.
  4460. type: object
  4461. type: object
  4462. x-kubernetes-map-type: atomic
  4463. namespaces:
  4464. description: namespaces specifies a static list of namespace names that the term applies to.
  4465. items:
  4466. type: string
  4467. type: array
  4468. topologyKey:
  4469. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  4470. type: string
  4471. required:
  4472. - topologyKey
  4473. type: object
  4474. weight:
  4475. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  4476. format: int32
  4477. type: integer
  4478. required:
  4479. - podAffinityTerm
  4480. - weight
  4481. type: object
  4482. type: array
  4483. requiredDuringSchedulingIgnoredDuringExecution:
  4484. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  4485. items:
  4486. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  4487. properties:
  4488. labelSelector:
  4489. description: A label query over a set of resources, in this case pods.
  4490. properties:
  4491. matchExpressions:
  4492. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4493. items:
  4494. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4495. properties:
  4496. key:
  4497. description: key is the label key that the selector applies to.
  4498. type: string
  4499. operator:
  4500. description: operator represents a key's relationship to a set of values.
  4501. type: string
  4502. values:
  4503. description: values is an array of string values.
  4504. items:
  4505. type: string
  4506. type: array
  4507. required:
  4508. - key
  4509. - operator
  4510. type: object
  4511. type: array
  4512. matchLabels:
  4513. additionalProperties:
  4514. type: string
  4515. description: matchLabels is a map of {key,value} pairs.
  4516. type: object
  4517. type: object
  4518. x-kubernetes-map-type: atomic
  4519. namespaceSelector:
  4520. description: A label query over the set of namespaces that the term applies to.
  4521. properties:
  4522. matchExpressions:
  4523. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4524. items:
  4525. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4526. properties:
  4527. key:
  4528. description: key is the label key that the selector applies to.
  4529. type: string
  4530. operator:
  4531. description: operator represents a key's relationship to a set of values.
  4532. type: string
  4533. values:
  4534. description: values is an array of string values.
  4535. items:
  4536. type: string
  4537. type: array
  4538. required:
  4539. - key
  4540. - operator
  4541. type: object
  4542. type: array
  4543. matchLabels:
  4544. additionalProperties:
  4545. type: string
  4546. description: matchLabels is a map of {key,value} pairs.
  4547. type: object
  4548. type: object
  4549. x-kubernetes-map-type: atomic
  4550. namespaces:
  4551. description: namespaces specifies a static list of namespace names that the term applies to.
  4552. items:
  4553. type: string
  4554. type: array
  4555. topologyKey:
  4556. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  4557. type: string
  4558. required:
  4559. - topologyKey
  4560. type: object
  4561. type: array
  4562. type: object
  4563. tolerations:
  4564. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  4565. items:
  4566. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  4567. properties:
  4568. effect:
  4569. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  4570. type: string
  4571. key:
  4572. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  4573. type: string
  4574. operator:
  4575. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  4576. type: string
  4577. tolerationSeconds:
  4578. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  4579. format: int64
  4580. type: integer
  4581. value:
  4582. description: Value is the taint value the toleration matches to.
  4583. type: string
  4584. type: object
  4585. type: array
  4586. topologySpreadConstraints:
  4587. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  4588. items:
  4589. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  4590. properties:
  4591. labelSelector:
  4592. description: LabelSelector is used to find matching pods.
  4593. properties:
  4594. matchExpressions:
  4595. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4596. items:
  4597. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4598. properties:
  4599. key:
  4600. description: key is the label key that the selector applies to.
  4601. type: string
  4602. operator:
  4603. description: operator represents a key's relationship to a set of values.
  4604. type: string
  4605. values:
  4606. description: values is an array of string values.
  4607. items:
  4608. type: string
  4609. type: array
  4610. required:
  4611. - key
  4612. - operator
  4613. type: object
  4614. type: array
  4615. matchLabels:
  4616. additionalProperties:
  4617. type: string
  4618. description: matchLabels is a map of {key,value} pairs.
  4619. type: object
  4620. type: object
  4621. x-kubernetes-map-type: atomic
  4622. matchLabelKeys:
  4623. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  4624. items:
  4625. type: string
  4626. type: array
  4627. x-kubernetes-list-type: atomic
  4628. maxSkew:
  4629. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  4630. format: int32
  4631. type: integer
  4632. minDomains:
  4633. description: MinDomains indicates a minimum number of eligible domains.
  4634. format: int32
  4635. type: integer
  4636. nodeAffinityPolicy:
  4637. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  4638. type: string
  4639. nodeTaintsPolicy:
  4640. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  4641. type: string
  4642. topologyKey:
  4643. description: TopologyKey is the key of node labels.
  4644. type: string
  4645. whenUnsatisfiable:
  4646. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  4647. type: string
  4648. required:
  4649. - maxSkew
  4650. - topologyKey
  4651. - whenUnsatisfiable
  4652. type: object
  4653. type: array
  4654. type: object
  4655. x-kubernetes-preserve-unknown-fields: true
  4656. resources:
  4657. description: ResourceRequirements describes the compute resource requirements.
  4658. nullable: true
  4659. properties:
  4660. claims:
  4661. description: Claims lists the names of resources, defined in spec.
  4662. items:
  4663. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  4664. properties:
  4665. name:
  4666. description: Name must match the name of one entry in pod.spec.
  4667. type: string
  4668. required:
  4669. - name
  4670. type: object
  4671. type: array
  4672. x-kubernetes-list-map-keys:
  4673. - name
  4674. x-kubernetes-list-type: map
  4675. limits:
  4676. additionalProperties:
  4677. anyOf:
  4678. - type: integer
  4679. - type: string
  4680. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4681. x-kubernetes-int-or-string: true
  4682. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  4683. type: object
  4684. requests:
  4685. additionalProperties:
  4686. anyOf:
  4687. - type: integer
  4688. - type: string
  4689. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4690. x-kubernetes-int-or-string: true
  4691. description: Requests describes the minimum amount of compute resources required.
  4692. type: object
  4693. type: object
  4694. x-kubernetes-preserve-unknown-fields: true
  4695. schedulerName:
  4696. description: Scheduler name for OSD pod placement
  4697. type: string
  4698. tuneDeviceClass:
  4699. description: TuneSlowDeviceClass Tune the OSD when running on a slow Device Class
  4700. type: boolean
  4701. tuneFastDeviceClass:
  4702. description: TuneFastDeviceClass Tune the OSD when running on a fast Device Class
  4703. type: boolean
  4704. volumeClaimTemplates:
  4705. description: VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
  4706. items:
  4707. description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
  4708. properties:
  4709. apiVersion:
  4710. description: APIVersion defines the versioned schema of this representation of an object.
  4711. type: string
  4712. kind:
  4713. description: Kind is a string value representing the REST resource this object represents.
  4714. type: string
  4715. metadata:
  4716. description: 'Standard object''s metadata. More info: https://git.k8s.'
  4717. properties:
  4718. annotations:
  4719. additionalProperties:
  4720. type: string
  4721. type: object
  4722. x-kubernetes-preserve-unknown-fields: true
  4723. finalizers:
  4724. items:
  4725. type: string
  4726. type: array
  4727. labels:
  4728. additionalProperties:
  4729. type: string
  4730. type: object
  4731. name:
  4732. type: string
  4733. namespace:
  4734. type: string
  4735. type: object
  4736. spec:
  4737. description: spec defines the desired characteristics of a volume requested by a pod author.
  4738. properties:
  4739. accessModes:
  4740. description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
  4741. items:
  4742. type: string
  4743. type: array
  4744. dataSource:
  4745. description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
  4746. properties:
  4747. apiGroup:
  4748. description: APIGroup is the group for the resource being referenced.
  4749. type: string
  4750. kind:
  4751. description: Kind is the type of resource being referenced
  4752. type: string
  4753. name:
  4754. description: Name is the name of resource being referenced
  4755. type: string
  4756. required:
  4757. - kind
  4758. - name
  4759. type: object
  4760. x-kubernetes-map-type: atomic
  4761. dataSourceRef:
  4762. description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
  4763. properties:
  4764. apiGroup:
  4765. description: APIGroup is the group for the resource being referenced.
  4766. type: string
  4767. kind:
  4768. description: Kind is the type of resource being referenced
  4769. type: string
  4770. name:
  4771. description: Name is the name of resource being referenced
  4772. type: string
  4773. namespace:
  4774. description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
  4775. type: string
  4776. required:
  4777. - kind
  4778. - name
  4779. type: object
  4780. resources:
  4781. description: resources represents the minimum resources the volume should have.
  4782. properties:
  4783. claims:
  4784. description: Claims lists the names of resources, defined in spec.
  4785. items:
  4786. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  4787. properties:
  4788. name:
  4789. description: Name must match the name of one entry in pod.spec.
  4790. type: string
  4791. required:
  4792. - name
  4793. type: object
  4794. type: array
  4795. x-kubernetes-list-map-keys:
  4796. - name
  4797. x-kubernetes-list-type: map
  4798. limits:
  4799. additionalProperties:
  4800. anyOf:
  4801. - type: integer
  4802. - type: string
  4803. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4804. x-kubernetes-int-or-string: true
  4805. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  4806. type: object
  4807. requests:
  4808. additionalProperties:
  4809. anyOf:
  4810. - type: integer
  4811. - type: string
  4812. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4813. x-kubernetes-int-or-string: true
  4814. description: Requests describes the minimum amount of compute resources required.
  4815. type: object
  4816. type: object
  4817. selector:
  4818. description: selector is a label query over volumes to consider for binding.
  4819. properties:
  4820. matchExpressions:
  4821. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  4822. items:
  4823. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  4824. properties:
  4825. key:
  4826. description: key is the label key that the selector applies to.
  4827. type: string
  4828. operator:
  4829. description: operator represents a key's relationship to a set of values.
  4830. type: string
  4831. values:
  4832. description: values is an array of string values.
  4833. items:
  4834. type: string
  4835. type: array
  4836. required:
  4837. - key
  4838. - operator
  4839. type: object
  4840. type: array
  4841. matchLabels:
  4842. additionalProperties:
  4843. type: string
  4844. description: matchLabels is a map of {key,value} pairs.
  4845. type: object
  4846. type: object
  4847. x-kubernetes-map-type: atomic
  4848. storageClassName:
  4849. description: storageClassName is the name of the StorageClass required by the claim.
  4850. type: string
  4851. volumeMode:
  4852. description: volumeMode defines what type of volume is required by the claim.
  4853. type: string
  4854. volumeName:
  4855. description: volumeName is the binding reference to the PersistentVolume backing this claim.
  4856. type: string
  4857. type: object
  4858. status:
  4859. description: status represents the current information/status of a persistent volume claim. Read-only.
  4860. properties:
  4861. accessModes:
  4862. description: accessModes contains the actual access modes the volume backing the PVC has.
  4863. items:
  4864. type: string
  4865. type: array
  4866. allocatedResourceStatuses:
  4867. additionalProperties:
  4868. description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
  4869. type: string
  4870. description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
  4871. type: object
  4872. x-kubernetes-map-type: granular
  4873. allocatedResources:
  4874. additionalProperties:
  4875. anyOf:
  4876. - type: integer
  4877. - type: string
  4878. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4879. x-kubernetes-int-or-string: true
  4880. description: allocatedResources tracks the resources allocated to a PVC including its capacity.
  4881. type: object
  4882. capacity:
  4883. additionalProperties:
  4884. anyOf:
  4885. - type: integer
  4886. - type: string
  4887. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4888. x-kubernetes-int-or-string: true
  4889. description: capacity represents the actual resources of the underlying volume.
  4890. type: object
  4891. conditions:
  4892. description: conditions is the current Condition of persistent volume claim.
  4893. items:
  4894. description: PersistentVolumeClaimCondition contains details about state of pvc
  4895. properties:
  4896. lastProbeTime:
  4897. description: lastProbeTime is the time we probed the condition.
  4898. format: date-time
  4899. type: string
  4900. lastTransitionTime:
  4901. description: lastTransitionTime is the time the condition transitioned from one status to another.
  4902. format: date-time
  4903. type: string
  4904. message:
  4905. description: message is the human-readable message indicating details about last transition.
  4906. type: string
  4907. reason:
  4908. description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
  4909. type: string
  4910. status:
  4911. type: string
  4912. type:
  4913. description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
  4914. type: string
  4915. required:
  4916. - status
  4917. - type
  4918. type: object
  4919. type: array
  4920. phase:
  4921. description: phase represents the current phase of PersistentVolumeClaim.
  4922. type: string
  4923. type: object
  4924. type: object
  4925. type: array
  4926. required:
  4927. - count
  4928. - name
  4929. - volumeClaimTemplates
  4930. type: object
  4931. nullable: true
  4932. type: array
  4933. store:
  4934. description: OSDStore is the backend storage type used for creating the OSDs
  4935. properties:
  4936. type:
  4937. description: Type of backend storage to be used while creating OSDs. If empty, then bluestore will be used
  4938. enum:
  4939. - bluestore
  4940. - bluestore-rdr
  4941. type: string
  4942. updateStore:
  4943. description: UpdateStore updates the backend store for existing OSDs.
  4944. pattern: ^$|^yes-really-update-store$
  4945. type: string
  4946. type: object
  4947. useAllDevices:
  4948. description: Whether to consume all the storage devices found on a machine
  4949. type: boolean
  4950. useAllNodes:
  4951. type: boolean
  4952. volumeClaimTemplates:
  4953. description: PersistentVolumeClaims to use as storage
  4954. items:
  4955. description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
  4956. properties:
  4957. apiVersion:
  4958. description: APIVersion defines the versioned schema of this representation of an object.
  4959. type: string
  4960. kind:
  4961. description: Kind is a string value representing the REST resource this object represents.
  4962. type: string
  4963. metadata:
  4964. description: 'Standard object''s metadata. More info: https://git.k8s.'
  4965. properties:
  4966. annotations:
  4967. additionalProperties:
  4968. type: string
  4969. type: object
  4970. finalizers:
  4971. items:
  4972. type: string
  4973. type: array
  4974. labels:
  4975. additionalProperties:
  4976. type: string
  4977. type: object
  4978. name:
  4979. type: string
  4980. namespace:
  4981. type: string
  4982. type: object
  4983. spec:
  4984. description: spec defines the desired characteristics of a volume requested by a pod author.
  4985. properties:
  4986. accessModes:
  4987. description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
  4988. items:
  4989. type: string
  4990. type: array
  4991. dataSource:
  4992. description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
  4993. properties:
  4994. apiGroup:
  4995. description: APIGroup is the group for the resource being referenced.
  4996. type: string
  4997. kind:
  4998. description: Kind is the type of resource being referenced
  4999. type: string
  5000. name:
  5001. description: Name is the name of resource being referenced
  5002. type: string
  5003. required:
  5004. - kind
  5005. - name
  5006. type: object
  5007. x-kubernetes-map-type: atomic
  5008. dataSourceRef:
  5009. description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
  5010. properties:
  5011. apiGroup:
  5012. description: APIGroup is the group for the resource being referenced.
  5013. type: string
  5014. kind:
  5015. description: Kind is the type of resource being referenced
  5016. type: string
  5017. name:
  5018. description: Name is the name of resource being referenced
  5019. type: string
  5020. namespace:
  5021. description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
  5022. type: string
  5023. required:
  5024. - kind
  5025. - name
  5026. type: object
  5027. resources:
  5028. description: resources represents the minimum resources the volume should have.
  5029. properties:
  5030. claims:
  5031. description: Claims lists the names of resources, defined in spec.
  5032. items:
  5033. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  5034. properties:
  5035. name:
  5036. description: Name must match the name of one entry in pod.spec.
  5037. type: string
  5038. required:
  5039. - name
  5040. type: object
  5041. type: array
  5042. x-kubernetes-list-map-keys:
  5043. - name
  5044. x-kubernetes-list-type: map
  5045. limits:
  5046. additionalProperties:
  5047. anyOf:
  5048. - type: integer
  5049. - type: string
  5050. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5051. x-kubernetes-int-or-string: true
  5052. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  5053. type: object
  5054. requests:
  5055. additionalProperties:
  5056. anyOf:
  5057. - type: integer
  5058. - type: string
  5059. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5060. x-kubernetes-int-or-string: true
  5061. description: Requests describes the minimum amount of compute resources required.
  5062. type: object
  5063. type: object
  5064. selector:
  5065. description: selector is a label query over volumes to consider for binding.
  5066. properties:
  5067. matchExpressions:
  5068. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5069. items:
  5070. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5071. properties:
  5072. key:
  5073. description: key is the label key that the selector applies to.
  5074. type: string
  5075. operator:
  5076. description: operator represents a key's relationship to a set of values.
  5077. type: string
  5078. values:
  5079. description: values is an array of string values.
  5080. items:
  5081. type: string
  5082. type: array
  5083. required:
  5084. - key
  5085. - operator
  5086. type: object
  5087. type: array
  5088. matchLabels:
  5089. additionalProperties:
  5090. type: string
  5091. description: matchLabels is a map of {key,value} pairs.
  5092. type: object
  5093. type: object
  5094. x-kubernetes-map-type: atomic
  5095. storageClassName:
  5096. description: storageClassName is the name of the StorageClass required by the claim.
  5097. type: string
  5098. volumeMode:
  5099. description: volumeMode defines what type of volume is required by the claim.
  5100. type: string
  5101. volumeName:
  5102. description: volumeName is the binding reference to the PersistentVolume backing this claim.
  5103. type: string
  5104. type: object
  5105. status:
  5106. description: status represents the current information/status of a persistent volume claim. Read-only.
  5107. properties:
  5108. accessModes:
  5109. description: accessModes contains the actual access modes the volume backing the PVC has.
  5110. items:
  5111. type: string
  5112. type: array
  5113. allocatedResourceStatuses:
  5114. additionalProperties:
  5115. description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
  5116. type: string
  5117. description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
  5118. type: object
  5119. x-kubernetes-map-type: granular
  5120. allocatedResources:
  5121. additionalProperties:
  5122. anyOf:
  5123. - type: integer
  5124. - type: string
  5125. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5126. x-kubernetes-int-or-string: true
  5127. description: allocatedResources tracks the resources allocated to a PVC including its capacity.
  5128. type: object
  5129. capacity:
  5130. additionalProperties:
  5131. anyOf:
  5132. - type: integer
  5133. - type: string
  5134. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5135. x-kubernetes-int-or-string: true
  5136. description: capacity represents the actual resources of the underlying volume.
  5137. type: object
  5138. conditions:
  5139. description: conditions is the current Condition of persistent volume claim.
  5140. items:
  5141. description: PersistentVolumeClaimCondition contains details about state of pvc
  5142. properties:
  5143. lastProbeTime:
  5144. description: lastProbeTime is the time we probed the condition.
  5145. format: date-time
  5146. type: string
  5147. lastTransitionTime:
  5148. description: lastTransitionTime is the time the condition transitioned from one status to another.
  5149. format: date-time
  5150. type: string
  5151. message:
  5152. description: message is the human-readable message indicating details about last transition.
  5153. type: string
  5154. reason:
  5155. description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
  5156. type: string
  5157. status:
  5158. type: string
  5159. type:
  5160. description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
  5161. type: string
  5162. required:
  5163. - status
  5164. - type
  5165. type: object
  5166. type: array
  5167. phase:
  5168. description: phase represents the current phase of PersistentVolumeClaim.
  5169. type: string
  5170. type: object
  5171. type: object
  5172. type: array
  5173. type: object
  5174. waitTimeoutForHealthyOSDInMinutes:
  5175. description: WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stop
  5176. format: int64
  5177. type: integer
  5178. type: object
  5179. status:
  5180. description: ClusterStatus represents the status of a Ceph cluster
  5181. nullable: true
  5182. properties:
  5183. ceph:
  5184. description: CephStatus is the details health of a Ceph Cluster
  5185. properties:
  5186. capacity:
  5187. description: Capacity is the capacity information of a Ceph Cluster
  5188. properties:
  5189. bytesAvailable:
  5190. format: int64
  5191. type: integer
  5192. bytesTotal:
  5193. format: int64
  5194. type: integer
  5195. bytesUsed:
  5196. format: int64
  5197. type: integer
  5198. lastUpdated:
  5199. type: string
  5200. type: object
  5201. details:
  5202. additionalProperties:
  5203. description: CephHealthMessage represents the health message of a Ceph Cluster
  5204. properties:
  5205. message:
  5206. type: string
  5207. severity:
  5208. type: string
  5209. required:
  5210. - message
  5211. - severity
  5212. type: object
  5213. type: object
  5214. fsid:
  5215. type: string
  5216. health:
  5217. type: string
  5218. lastChanged:
  5219. type: string
  5220. lastChecked:
  5221. type: string
  5222. previousHealth:
  5223. type: string
  5224. versions:
  5225. description: CephDaemonsVersions show the current ceph version for different ceph daemons
  5226. properties:
  5227. cephfs-mirror:
  5228. additionalProperties:
  5229. type: integer
  5230. description: CephFSMirror shows CephFSMirror Ceph version
  5231. type: object
  5232. mds:
  5233. additionalProperties:
  5234. type: integer
  5235. description: Mds shows Mds Ceph version
  5236. type: object
  5237. mgr:
  5238. additionalProperties:
  5239. type: integer
  5240. description: Mgr shows Mgr Ceph version
  5241. type: object
  5242. mon:
  5243. additionalProperties:
  5244. type: integer
  5245. description: Mon shows Mon Ceph version
  5246. type: object
  5247. osd:
  5248. additionalProperties:
  5249. type: integer
  5250. description: Osd shows Osd Ceph version
  5251. type: object
  5252. overall:
  5253. additionalProperties:
  5254. type: integer
  5255. description: Overall shows overall Ceph version
  5256. type: object
  5257. rbd-mirror:
  5258. additionalProperties:
  5259. type: integer
  5260. description: RbdMirror shows RbdMirror Ceph version
  5261. type: object
  5262. rgw:
  5263. additionalProperties:
  5264. type: integer
  5265. description: Rgw shows Rgw Ceph version
  5266. type: object
  5267. type: object
  5268. type: object
  5269. conditions:
  5270. items:
  5271. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  5272. properties:
  5273. lastHeartbeatTime:
  5274. format: date-time
  5275. type: string
  5276. lastTransitionTime:
  5277. format: date-time
  5278. type: string
  5279. message:
  5280. type: string
  5281. reason:
  5282. description: ConditionReason is a reason for a condition
  5283. type: string
  5284. status:
  5285. type: string
  5286. type:
  5287. description: ConditionType represent a resource's status
  5288. type: string
  5289. type: object
  5290. type: array
  5291. message:
  5292. type: string
  5293. observedGeneration:
  5294. description: ObservedGeneration is the latest generation observed by the controller.
  5295. format: int64
  5296. type: integer
  5297. phase:
  5298. description: ConditionType represent a resource's status
  5299. type: string
  5300. state:
  5301. description: ClusterState represents the state of a Ceph Cluster
  5302. type: string
  5303. storage:
  5304. description: CephStorage represents flavors of Ceph Cluster Storage
  5305. properties:
  5306. deviceClasses:
  5307. items:
  5308. description: DeviceClasses represents device classes of a Ceph Cluster
  5309. properties:
  5310. name:
  5311. type: string
  5312. type: object
  5313. type: array
  5314. osd:
  5315. description: OSDStatus represents OSD status of the ceph Cluster
  5316. properties:
  5317. storeType:
  5318. additionalProperties:
  5319. type: integer
  5320. description: StoreType is a mapping between the OSD backend stores and number of OSDs using these stores
  5321. type: object
  5322. type: object
  5323. type: object
  5324. version:
  5325. description: ClusterVersion represents the version of a Ceph Cluster
  5326. properties:
  5327. image:
  5328. type: string
  5329. version:
  5330. type: string
  5331. type: object
  5332. type: object
  5333. x-kubernetes-preserve-unknown-fields: true
  5334. required:
  5335. - metadata
  5336. - spec
  5337. type: object
  5338. served: true
  5339. storage: true
  5340. subresources:
  5341. status: {}
  5342. ---
  5343. # Source: rook-ceph/templates/resources.yaml
  5344. apiVersion: apiextensions.k8s.io/v1
  5345. kind: CustomResourceDefinition
  5346. metadata:
  5347. annotations:
  5348. controller-gen.kubebuilder.io/version: v0.11.3
  5349. helm.sh/resource-policy: keep
  5350. creationTimestamp: null
  5351. name: cephcosidrivers.ceph.rook.io
  5352. spec:
  5353. group: ceph.rook.io
  5354. names:
  5355. kind: CephCOSIDriver
  5356. listKind: CephCOSIDriverList
  5357. plural: cephcosidrivers
  5358. shortNames:
  5359. - cephcosi
  5360. singular: cephcosidriver
  5361. scope: Namespaced
  5362. versions:
  5363. - name: v1
  5364. schema:
  5365. openAPIV3Schema:
  5366. description: CephCOSIDriver represents the CRD for the Ceph COSI Driver Deployment
  5367. properties:
  5368. apiVersion:
  5369. description: APIVersion defines the versioned schema of this representation of an object.
  5370. type: string
  5371. kind:
  5372. description: Kind is a string value representing the REST resource this object represents.
  5373. type: string
  5374. metadata:
  5375. type: object
  5376. spec:
  5377. description: Spec represents the specification of a Ceph COSI Driver
  5378. properties:
  5379. deploymentStrategy:
  5380. description: DeploymentStrategy is the strategy to use to deploy the COSI driver.
  5381. enum:
  5382. - Never
  5383. - Auto
  5384. - Always
  5385. type: string
  5386. image:
  5387. description: Image is the container image to run the Ceph COSI driver
  5388. type: string
  5389. objectProvisionerImage:
  5390. description: ObjectProvisionerImage is the container image to run the COSI driver sidecar
  5391. type: string
  5392. placement:
  5393. description: Placement is the placement strategy to use for the COSI driver
  5394. properties:
  5395. nodeAffinity:
  5396. description: NodeAffinity is a group of node affinity scheduling rules
  5397. properties:
  5398. preferredDuringSchedulingIgnoredDuringExecution:
  5399. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  5400. items:
  5401. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  5402. properties:
  5403. preference:
  5404. description: A node selector term, associated with the corresponding weight.
  5405. properties:
  5406. matchExpressions:
  5407. description: A list of node selector requirements by node's labels.
  5408. items:
  5409. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  5410. properties:
  5411. key:
  5412. description: The label key that the selector applies to.
  5413. type: string
  5414. operator:
  5415. description: Represents a key's relationship to a set of values.
  5416. type: string
  5417. values:
  5418. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  5419. items:
  5420. type: string
  5421. type: array
  5422. required:
  5423. - key
  5424. - operator
  5425. type: object
  5426. type: array
  5427. matchFields:
  5428. description: A list of node selector requirements by node's fields.
  5429. items:
  5430. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  5431. properties:
  5432. key:
  5433. description: The label key that the selector applies to.
  5434. type: string
  5435. operator:
  5436. description: Represents a key's relationship to a set of values.
  5437. type: string
  5438. values:
  5439. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  5440. items:
  5441. type: string
  5442. type: array
  5443. required:
  5444. - key
  5445. - operator
  5446. type: object
  5447. type: array
  5448. type: object
  5449. x-kubernetes-map-type: atomic
  5450. weight:
  5451. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  5452. format: int32
  5453. type: integer
  5454. required:
  5455. - preference
  5456. - weight
  5457. type: object
  5458. type: array
  5459. requiredDuringSchedulingIgnoredDuringExecution:
  5460. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  5461. properties:
  5462. nodeSelectorTerms:
  5463. description: Required. A list of node selector terms. The terms are ORed.
  5464. items:
  5465. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  5466. properties:
  5467. matchExpressions:
  5468. description: A list of node selector requirements by node's labels.
  5469. items:
  5470. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  5471. properties:
  5472. key:
  5473. description: The label key that the selector applies to.
  5474. type: string
  5475. operator:
  5476. description: Represents a key's relationship to a set of values.
  5477. type: string
  5478. values:
  5479. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  5480. items:
  5481. type: string
  5482. type: array
  5483. required:
  5484. - key
  5485. - operator
  5486. type: object
  5487. type: array
  5488. matchFields:
  5489. description: A list of node selector requirements by node's fields.
  5490. items:
  5491. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  5492. properties:
  5493. key:
  5494. description: The label key that the selector applies to.
  5495. type: string
  5496. operator:
  5497. description: Represents a key's relationship to a set of values.
  5498. type: string
  5499. values:
  5500. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  5501. items:
  5502. type: string
  5503. type: array
  5504. required:
  5505. - key
  5506. - operator
  5507. type: object
  5508. type: array
  5509. type: object
  5510. x-kubernetes-map-type: atomic
  5511. type: array
  5512. required:
  5513. - nodeSelectorTerms
  5514. type: object
  5515. x-kubernetes-map-type: atomic
  5516. type: object
  5517. podAffinity:
  5518. description: PodAffinity is a group of inter pod affinity scheduling rules
  5519. properties:
  5520. preferredDuringSchedulingIgnoredDuringExecution:
  5521. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  5522. items:
  5523. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  5524. properties:
  5525. podAffinityTerm:
  5526. description: Required. A pod affinity term, associated with the corresponding weight.
  5527. properties:
  5528. labelSelector:
  5529. description: A label query over a set of resources, in this case pods.
  5530. properties:
  5531. matchExpressions:
  5532. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5533. items:
  5534. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5535. properties:
  5536. key:
  5537. description: key is the label key that the selector applies to.
  5538. type: string
  5539. operator:
  5540. description: operator represents a key's relationship to a set of values.
  5541. type: string
  5542. values:
  5543. description: values is an array of string values.
  5544. items:
  5545. type: string
  5546. type: array
  5547. required:
  5548. - key
  5549. - operator
  5550. type: object
  5551. type: array
  5552. matchLabels:
  5553. additionalProperties:
  5554. type: string
  5555. description: matchLabels is a map of {key,value} pairs.
  5556. type: object
  5557. type: object
  5558. x-kubernetes-map-type: atomic
  5559. namespaceSelector:
  5560. description: A label query over the set of namespaces that the term applies to.
  5561. properties:
  5562. matchExpressions:
  5563. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5564. items:
  5565. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5566. properties:
  5567. key:
  5568. description: key is the label key that the selector applies to.
  5569. type: string
  5570. operator:
  5571. description: operator represents a key's relationship to a set of values.
  5572. type: string
  5573. values:
  5574. description: values is an array of string values.
  5575. items:
  5576. type: string
  5577. type: array
  5578. required:
  5579. - key
  5580. - operator
  5581. type: object
  5582. type: array
  5583. matchLabels:
  5584. additionalProperties:
  5585. type: string
  5586. description: matchLabels is a map of {key,value} pairs.
  5587. type: object
  5588. type: object
  5589. x-kubernetes-map-type: atomic
  5590. namespaces:
  5591. description: namespaces specifies a static list of namespace names that the term applies to.
  5592. items:
  5593. type: string
  5594. type: array
  5595. topologyKey:
  5596. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  5597. type: string
  5598. required:
  5599. - topologyKey
  5600. type: object
  5601. weight:
  5602. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  5603. format: int32
  5604. type: integer
  5605. required:
  5606. - podAffinityTerm
  5607. - weight
  5608. type: object
  5609. type: array
  5610. requiredDuringSchedulingIgnoredDuringExecution:
  5611. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  5612. items:
  5613. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  5614. properties:
  5615. labelSelector:
  5616. description: A label query over a set of resources, in this case pods.
  5617. properties:
  5618. matchExpressions:
  5619. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5620. items:
  5621. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5622. properties:
  5623. key:
  5624. description: key is the label key that the selector applies to.
  5625. type: string
  5626. operator:
  5627. description: operator represents a key's relationship to a set of values.
  5628. type: string
  5629. values:
  5630. description: values is an array of string values.
  5631. items:
  5632. type: string
  5633. type: array
  5634. required:
  5635. - key
  5636. - operator
  5637. type: object
  5638. type: array
  5639. matchLabels:
  5640. additionalProperties:
  5641. type: string
  5642. description: matchLabels is a map of {key,value} pairs.
  5643. type: object
  5644. type: object
  5645. x-kubernetes-map-type: atomic
  5646. namespaceSelector:
  5647. description: A label query over the set of namespaces that the term applies to.
  5648. properties:
  5649. matchExpressions:
  5650. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5651. items:
  5652. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5653. properties:
  5654. key:
  5655. description: key is the label key that the selector applies to.
  5656. type: string
  5657. operator:
  5658. description: operator represents a key's relationship to a set of values.
  5659. type: string
  5660. values:
  5661. description: values is an array of string values.
  5662. items:
  5663. type: string
  5664. type: array
  5665. required:
  5666. - key
  5667. - operator
  5668. type: object
  5669. type: array
  5670. matchLabels:
  5671. additionalProperties:
  5672. type: string
  5673. description: matchLabels is a map of {key,value} pairs.
  5674. type: object
  5675. type: object
  5676. x-kubernetes-map-type: atomic
  5677. namespaces:
  5678. description: namespaces specifies a static list of namespace names that the term applies to.
  5679. items:
  5680. type: string
  5681. type: array
  5682. topologyKey:
  5683. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  5684. type: string
  5685. required:
  5686. - topologyKey
  5687. type: object
  5688. type: array
  5689. type: object
  5690. podAntiAffinity:
  5691. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  5692. properties:
  5693. preferredDuringSchedulingIgnoredDuringExecution:
  5694. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  5695. items:
  5696. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  5697. properties:
  5698. podAffinityTerm:
  5699. description: Required. A pod affinity term, associated with the corresponding weight.
  5700. properties:
  5701. labelSelector:
  5702. description: A label query over a set of resources, in this case pods.
  5703. properties:
  5704. matchExpressions:
  5705. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5706. items:
  5707. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5708. properties:
  5709. key:
  5710. description: key is the label key that the selector applies to.
  5711. type: string
  5712. operator:
  5713. description: operator represents a key's relationship to a set of values.
  5714. type: string
  5715. values:
  5716. description: values is an array of string values.
  5717. items:
  5718. type: string
  5719. type: array
  5720. required:
  5721. - key
  5722. - operator
  5723. type: object
  5724. type: array
  5725. matchLabels:
  5726. additionalProperties:
  5727. type: string
  5728. description: matchLabels is a map of {key,value} pairs.
  5729. type: object
  5730. type: object
  5731. x-kubernetes-map-type: atomic
  5732. namespaceSelector:
  5733. description: A label query over the set of namespaces that the term applies to.
  5734. properties:
  5735. matchExpressions:
  5736. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5737. items:
  5738. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5739. properties:
  5740. key:
  5741. description: key is the label key that the selector applies to.
  5742. type: string
  5743. operator:
  5744. description: operator represents a key's relationship to a set of values.
  5745. type: string
  5746. values:
  5747. description: values is an array of string values.
  5748. items:
  5749. type: string
  5750. type: array
  5751. required:
  5752. - key
  5753. - operator
  5754. type: object
  5755. type: array
  5756. matchLabels:
  5757. additionalProperties:
  5758. type: string
  5759. description: matchLabels is a map of {key,value} pairs.
  5760. type: object
  5761. type: object
  5762. x-kubernetes-map-type: atomic
  5763. namespaces:
  5764. description: namespaces specifies a static list of namespace names that the term applies to.
  5765. items:
  5766. type: string
  5767. type: array
  5768. topologyKey:
  5769. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  5770. type: string
  5771. required:
  5772. - topologyKey
  5773. type: object
  5774. weight:
  5775. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  5776. format: int32
  5777. type: integer
  5778. required:
  5779. - podAffinityTerm
  5780. - weight
  5781. type: object
  5782. type: array
  5783. requiredDuringSchedulingIgnoredDuringExecution:
  5784. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  5785. items:
  5786. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  5787. properties:
  5788. labelSelector:
  5789. description: A label query over a set of resources, in this case pods.
  5790. properties:
  5791. matchExpressions:
  5792. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5793. items:
  5794. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5795. properties:
  5796. key:
  5797. description: key is the label key that the selector applies to.
  5798. type: string
  5799. operator:
  5800. description: operator represents a key's relationship to a set of values.
  5801. type: string
  5802. values:
  5803. description: values is an array of string values.
  5804. items:
  5805. type: string
  5806. type: array
  5807. required:
  5808. - key
  5809. - operator
  5810. type: object
  5811. type: array
  5812. matchLabels:
  5813. additionalProperties:
  5814. type: string
  5815. description: matchLabels is a map of {key,value} pairs.
  5816. type: object
  5817. type: object
  5818. x-kubernetes-map-type: atomic
  5819. namespaceSelector:
  5820. description: A label query over the set of namespaces that the term applies to.
  5821. properties:
  5822. matchExpressions:
  5823. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5824. items:
  5825. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5826. properties:
  5827. key:
  5828. description: key is the label key that the selector applies to.
  5829. type: string
  5830. operator:
  5831. description: operator represents a key's relationship to a set of values.
  5832. type: string
  5833. values:
  5834. description: values is an array of string values.
  5835. items:
  5836. type: string
  5837. type: array
  5838. required:
  5839. - key
  5840. - operator
  5841. type: object
  5842. type: array
  5843. matchLabels:
  5844. additionalProperties:
  5845. type: string
  5846. description: matchLabels is a map of {key,value} pairs.
  5847. type: object
  5848. type: object
  5849. x-kubernetes-map-type: atomic
  5850. namespaces:
  5851. description: namespaces specifies a static list of namespace names that the term applies to.
  5852. items:
  5853. type: string
  5854. type: array
  5855. topologyKey:
  5856. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  5857. type: string
  5858. required:
  5859. - topologyKey
  5860. type: object
  5861. type: array
  5862. type: object
  5863. tolerations:
  5864. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  5865. items:
  5866. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  5867. properties:
  5868. effect:
  5869. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  5870. type: string
  5871. key:
  5872. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  5873. type: string
  5874. operator:
  5875. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  5876. type: string
  5877. tolerationSeconds:
  5878. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  5879. format: int64
  5880. type: integer
  5881. value:
  5882. description: Value is the taint value the toleration matches to.
  5883. type: string
  5884. type: object
  5885. type: array
  5886. topologySpreadConstraints:
  5887. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  5888. items:
  5889. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  5890. properties:
  5891. labelSelector:
  5892. description: LabelSelector is used to find matching pods.
  5893. properties:
  5894. matchExpressions:
  5895. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  5896. items:
  5897. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  5898. properties:
  5899. key:
  5900. description: key is the label key that the selector applies to.
  5901. type: string
  5902. operator:
  5903. description: operator represents a key's relationship to a set of values.
  5904. type: string
  5905. values:
  5906. description: values is an array of string values.
  5907. items:
  5908. type: string
  5909. type: array
  5910. required:
  5911. - key
  5912. - operator
  5913. type: object
  5914. type: array
  5915. matchLabels:
  5916. additionalProperties:
  5917. type: string
  5918. description: matchLabels is a map of {key,value} pairs.
  5919. type: object
  5920. type: object
  5921. x-kubernetes-map-type: atomic
  5922. matchLabelKeys:
  5923. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  5924. items:
  5925. type: string
  5926. type: array
  5927. x-kubernetes-list-type: atomic
  5928. maxSkew:
  5929. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  5930. format: int32
  5931. type: integer
  5932. minDomains:
  5933. description: MinDomains indicates a minimum number of eligible domains.
  5934. format: int32
  5935. type: integer
  5936. nodeAffinityPolicy:
  5937. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  5938. type: string
  5939. nodeTaintsPolicy:
  5940. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  5941. type: string
  5942. topologyKey:
  5943. description: TopologyKey is the key of node labels.
  5944. type: string
  5945. whenUnsatisfiable:
  5946. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  5947. type: string
  5948. required:
  5949. - maxSkew
  5950. - topologyKey
  5951. - whenUnsatisfiable
  5952. type: object
  5953. type: array
  5954. type: object
  5955. resources:
  5956. description: Resources is the resource requirements for the COSI driver
  5957. properties:
  5958. claims:
  5959. description: Claims lists the names of resources, defined in spec.
  5960. items:
  5961. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  5962. properties:
  5963. name:
  5964. description: Name must match the name of one entry in pod.spec.
  5965. type: string
  5966. required:
  5967. - name
  5968. type: object
  5969. type: array
  5970. x-kubernetes-list-map-keys:
  5971. - name
  5972. x-kubernetes-list-type: map
  5973. limits:
  5974. additionalProperties:
  5975. anyOf:
  5976. - type: integer
  5977. - type: string
  5978. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5979. x-kubernetes-int-or-string: true
  5980. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  5981. type: object
  5982. requests:
  5983. additionalProperties:
  5984. anyOf:
  5985. - type: integer
  5986. - type: string
  5987. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5988. x-kubernetes-int-or-string: true
  5989. description: Requests describes the minimum amount of compute resources required.
  5990. type: object
  5991. type: object
  5992. type: object
  5993. required:
  5994. - metadata
  5995. - spec
  5996. type: object
  5997. served: true
  5998. storage: true
  5999. ---
  6000. # Source: rook-ceph/templates/resources.yaml
  6001. apiVersion: apiextensions.k8s.io/v1
  6002. kind: CustomResourceDefinition
  6003. metadata:
  6004. annotations:
  6005. controller-gen.kubebuilder.io/version: v0.11.3
  6006. helm.sh/resource-policy: keep
  6007. creationTimestamp: null
  6008. name: cephfilesystemmirrors.ceph.rook.io
  6009. spec:
  6010. group: ceph.rook.io
  6011. names:
  6012. kind: CephFilesystemMirror
  6013. listKind: CephFilesystemMirrorList
  6014. plural: cephfilesystemmirrors
  6015. singular: cephfilesystemmirror
  6016. scope: Namespaced
  6017. versions:
  6018. - additionalPrinterColumns:
  6019. - jsonPath: .status.phase
  6020. name: Phase
  6021. type: string
  6022. name: v1
  6023. schema:
  6024. openAPIV3Schema:
  6025. description: CephFilesystemMirror is the Ceph Filesystem Mirror object definition
  6026. properties:
  6027. apiVersion:
  6028. description: APIVersion defines the versioned schema of this representation of an object.
  6029. type: string
  6030. kind:
  6031. description: Kind is a string value representing the REST resource this object represents.
  6032. type: string
  6033. metadata:
  6034. type: object
  6035. spec:
  6036. description: FilesystemMirroringSpec is the filesystem mirroring specification
  6037. properties:
  6038. annotations:
  6039. additionalProperties:
  6040. type: string
  6041. description: The annotations-related configuration to add/set on each Pod related object.
  6042. nullable: true
  6043. type: object
  6044. labels:
  6045. additionalProperties:
  6046. type: string
  6047. description: The labels-related configuration to add/set on each Pod related object.
  6048. nullable: true
  6049. type: object
  6050. placement:
  6051. description: The affinity to place the rgw pods (default is to place on any available node)
  6052. nullable: true
  6053. properties:
  6054. nodeAffinity:
  6055. description: NodeAffinity is a group of node affinity scheduling rules
  6056. properties:
  6057. preferredDuringSchedulingIgnoredDuringExecution:
  6058. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  6059. items:
  6060. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  6061. properties:
  6062. preference:
  6063. description: A node selector term, associated with the corresponding weight.
  6064. properties:
  6065. matchExpressions:
  6066. description: A list of node selector requirements by node's labels.
  6067. items:
  6068. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  6069. properties:
  6070. key:
  6071. description: The label key that the selector applies to.
  6072. type: string
  6073. operator:
  6074. description: Represents a key's relationship to a set of values.
  6075. type: string
  6076. values:
  6077. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  6078. items:
  6079. type: string
  6080. type: array
  6081. required:
  6082. - key
  6083. - operator
  6084. type: object
  6085. type: array
  6086. matchFields:
  6087. description: A list of node selector requirements by node's fields.
  6088. items:
  6089. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  6090. properties:
  6091. key:
  6092. description: The label key that the selector applies to.
  6093. type: string
  6094. operator:
  6095. description: Represents a key's relationship to a set of values.
  6096. type: string
  6097. values:
  6098. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  6099. items:
  6100. type: string
  6101. type: array
  6102. required:
  6103. - key
  6104. - operator
  6105. type: object
  6106. type: array
  6107. type: object
  6108. x-kubernetes-map-type: atomic
  6109. weight:
  6110. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  6111. format: int32
  6112. type: integer
  6113. required:
  6114. - preference
  6115. - weight
  6116. type: object
  6117. type: array
  6118. requiredDuringSchedulingIgnoredDuringExecution:
  6119. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  6120. properties:
  6121. nodeSelectorTerms:
  6122. description: Required. A list of node selector terms. The terms are ORed.
  6123. items:
  6124. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  6125. properties:
  6126. matchExpressions:
  6127. description: A list of node selector requirements by node's labels.
  6128. items:
  6129. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  6130. properties:
  6131. key:
  6132. description: The label key that the selector applies to.
  6133. type: string
  6134. operator:
  6135. description: Represents a key's relationship to a set of values.
  6136. type: string
  6137. values:
  6138. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  6139. items:
  6140. type: string
  6141. type: array
  6142. required:
  6143. - key
  6144. - operator
  6145. type: object
  6146. type: array
  6147. matchFields:
  6148. description: A list of node selector requirements by node's fields.
  6149. items:
  6150. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  6151. properties:
  6152. key:
  6153. description: The label key that the selector applies to.
  6154. type: string
  6155. operator:
  6156. description: Represents a key's relationship to a set of values.
  6157. type: string
  6158. values:
  6159. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  6160. items:
  6161. type: string
  6162. type: array
  6163. required:
  6164. - key
  6165. - operator
  6166. type: object
  6167. type: array
  6168. type: object
  6169. x-kubernetes-map-type: atomic
  6170. type: array
  6171. required:
  6172. - nodeSelectorTerms
  6173. type: object
  6174. x-kubernetes-map-type: atomic
  6175. type: object
  6176. podAffinity:
  6177. description: PodAffinity is a group of inter pod affinity scheduling rules
  6178. properties:
  6179. preferredDuringSchedulingIgnoredDuringExecution:
  6180. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  6181. items:
  6182. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  6183. properties:
  6184. podAffinityTerm:
  6185. description: Required. A pod affinity term, associated with the corresponding weight.
  6186. properties:
  6187. labelSelector:
  6188. description: A label query over a set of resources, in this case pods.
  6189. properties:
  6190. matchExpressions:
  6191. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6192. items:
  6193. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6194. properties:
  6195. key:
  6196. description: key is the label key that the selector applies to.
  6197. type: string
  6198. operator:
  6199. description: operator represents a key's relationship to a set of values.
  6200. type: string
  6201. values:
  6202. description: values is an array of string values.
  6203. items:
  6204. type: string
  6205. type: array
  6206. required:
  6207. - key
  6208. - operator
  6209. type: object
  6210. type: array
  6211. matchLabels:
  6212. additionalProperties:
  6213. type: string
  6214. description: matchLabels is a map of {key,value} pairs.
  6215. type: object
  6216. type: object
  6217. x-kubernetes-map-type: atomic
  6218. namespaceSelector:
  6219. description: A label query over the set of namespaces that the term applies to.
  6220. properties:
  6221. matchExpressions:
  6222. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6223. items:
  6224. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6225. properties:
  6226. key:
  6227. description: key is the label key that the selector applies to.
  6228. type: string
  6229. operator:
  6230. description: operator represents a key's relationship to a set of values.
  6231. type: string
  6232. values:
  6233. description: values is an array of string values.
  6234. items:
  6235. type: string
  6236. type: array
  6237. required:
  6238. - key
  6239. - operator
  6240. type: object
  6241. type: array
  6242. matchLabels:
  6243. additionalProperties:
  6244. type: string
  6245. description: matchLabels is a map of {key,value} pairs.
  6246. type: object
  6247. type: object
  6248. x-kubernetes-map-type: atomic
  6249. namespaces:
  6250. description: namespaces specifies a static list of namespace names that the term applies to.
  6251. items:
  6252. type: string
  6253. type: array
  6254. topologyKey:
  6255. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  6256. type: string
  6257. required:
  6258. - topologyKey
  6259. type: object
  6260. weight:
  6261. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  6262. format: int32
  6263. type: integer
  6264. required:
  6265. - podAffinityTerm
  6266. - weight
  6267. type: object
  6268. type: array
  6269. requiredDuringSchedulingIgnoredDuringExecution:
  6270. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  6271. items:
  6272. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  6273. properties:
  6274. labelSelector:
  6275. description: A label query over a set of resources, in this case pods.
  6276. properties:
  6277. matchExpressions:
  6278. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6279. items:
  6280. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6281. properties:
  6282. key:
  6283. description: key is the label key that the selector applies to.
  6284. type: string
  6285. operator:
  6286. description: operator represents a key's relationship to a set of values.
  6287. type: string
  6288. values:
  6289. description: values is an array of string values.
  6290. items:
  6291. type: string
  6292. type: array
  6293. required:
  6294. - key
  6295. - operator
  6296. type: object
  6297. type: array
  6298. matchLabels:
  6299. additionalProperties:
  6300. type: string
  6301. description: matchLabels is a map of {key,value} pairs.
  6302. type: object
  6303. type: object
  6304. x-kubernetes-map-type: atomic
  6305. namespaceSelector:
  6306. description: A label query over the set of namespaces that the term applies to.
  6307. properties:
  6308. matchExpressions:
  6309. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6310. items:
  6311. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6312. properties:
  6313. key:
  6314. description: key is the label key that the selector applies to.
  6315. type: string
  6316. operator:
  6317. description: operator represents a key's relationship to a set of values.
  6318. type: string
  6319. values:
  6320. description: values is an array of string values.
  6321. items:
  6322. type: string
  6323. type: array
  6324. required:
  6325. - key
  6326. - operator
  6327. type: object
  6328. type: array
  6329. matchLabels:
  6330. additionalProperties:
  6331. type: string
  6332. description: matchLabels is a map of {key,value} pairs.
  6333. type: object
  6334. type: object
  6335. x-kubernetes-map-type: atomic
  6336. namespaces:
  6337. description: namespaces specifies a static list of namespace names that the term applies to.
  6338. items:
  6339. type: string
  6340. type: array
  6341. topologyKey:
  6342. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  6343. type: string
  6344. required:
  6345. - topologyKey
  6346. type: object
  6347. type: array
  6348. type: object
  6349. podAntiAffinity:
  6350. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  6351. properties:
  6352. preferredDuringSchedulingIgnoredDuringExecution:
  6353. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  6354. items:
  6355. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  6356. properties:
  6357. podAffinityTerm:
  6358. description: Required. A pod affinity term, associated with the corresponding weight.
  6359. properties:
  6360. labelSelector:
  6361. description: A label query over a set of resources, in this case pods.
  6362. properties:
  6363. matchExpressions:
  6364. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6365. items:
  6366. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6367. properties:
  6368. key:
  6369. description: key is the label key that the selector applies to.
  6370. type: string
  6371. operator:
  6372. description: operator represents a key's relationship to a set of values.
  6373. type: string
  6374. values:
  6375. description: values is an array of string values.
  6376. items:
  6377. type: string
  6378. type: array
  6379. required:
  6380. - key
  6381. - operator
  6382. type: object
  6383. type: array
  6384. matchLabels:
  6385. additionalProperties:
  6386. type: string
  6387. description: matchLabels is a map of {key,value} pairs.
  6388. type: object
  6389. type: object
  6390. x-kubernetes-map-type: atomic
  6391. namespaceSelector:
  6392. description: A label query over the set of namespaces that the term applies to.
  6393. properties:
  6394. matchExpressions:
  6395. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6396. items:
  6397. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6398. properties:
  6399. key:
  6400. description: key is the label key that the selector applies to.
  6401. type: string
  6402. operator:
  6403. description: operator represents a key's relationship to a set of values.
  6404. type: string
  6405. values:
  6406. description: values is an array of string values.
  6407. items:
  6408. type: string
  6409. type: array
  6410. required:
  6411. - key
  6412. - operator
  6413. type: object
  6414. type: array
  6415. matchLabels:
  6416. additionalProperties:
  6417. type: string
  6418. description: matchLabels is a map of {key,value} pairs.
  6419. type: object
  6420. type: object
  6421. x-kubernetes-map-type: atomic
  6422. namespaces:
  6423. description: namespaces specifies a static list of namespace names that the term applies to.
  6424. items:
  6425. type: string
  6426. type: array
  6427. topologyKey:
  6428. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  6429. type: string
  6430. required:
  6431. - topologyKey
  6432. type: object
  6433. weight:
  6434. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  6435. format: int32
  6436. type: integer
  6437. required:
  6438. - podAffinityTerm
  6439. - weight
  6440. type: object
  6441. type: array
  6442. requiredDuringSchedulingIgnoredDuringExecution:
  6443. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  6444. items:
  6445. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  6446. properties:
  6447. labelSelector:
  6448. description: A label query over a set of resources, in this case pods.
  6449. properties:
  6450. matchExpressions:
  6451. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6452. items:
  6453. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6454. properties:
  6455. key:
  6456. description: key is the label key that the selector applies to.
  6457. type: string
  6458. operator:
  6459. description: operator represents a key's relationship to a set of values.
  6460. type: string
  6461. values:
  6462. description: values is an array of string values.
  6463. items:
  6464. type: string
  6465. type: array
  6466. required:
  6467. - key
  6468. - operator
  6469. type: object
  6470. type: array
  6471. matchLabels:
  6472. additionalProperties:
  6473. type: string
  6474. description: matchLabels is a map of {key,value} pairs.
  6475. type: object
  6476. type: object
  6477. x-kubernetes-map-type: atomic
  6478. namespaceSelector:
  6479. description: A label query over the set of namespaces that the term applies to.
  6480. properties:
  6481. matchExpressions:
  6482. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6483. items:
  6484. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6485. properties:
  6486. key:
  6487. description: key is the label key that the selector applies to.
  6488. type: string
  6489. operator:
  6490. description: operator represents a key's relationship to a set of values.
  6491. type: string
  6492. values:
  6493. description: values is an array of string values.
  6494. items:
  6495. type: string
  6496. type: array
  6497. required:
  6498. - key
  6499. - operator
  6500. type: object
  6501. type: array
  6502. matchLabels:
  6503. additionalProperties:
  6504. type: string
  6505. description: matchLabels is a map of {key,value} pairs.
  6506. type: object
  6507. type: object
  6508. x-kubernetes-map-type: atomic
  6509. namespaces:
  6510. description: namespaces specifies a static list of namespace names that the term applies to.
  6511. items:
  6512. type: string
  6513. type: array
  6514. topologyKey:
  6515. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  6516. type: string
  6517. required:
  6518. - topologyKey
  6519. type: object
  6520. type: array
  6521. type: object
  6522. tolerations:
  6523. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  6524. items:
  6525. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  6526. properties:
  6527. effect:
  6528. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  6529. type: string
  6530. key:
  6531. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  6532. type: string
  6533. operator:
  6534. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  6535. type: string
  6536. tolerationSeconds:
  6537. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  6538. format: int64
  6539. type: integer
  6540. value:
  6541. description: Value is the taint value the toleration matches to.
  6542. type: string
  6543. type: object
  6544. type: array
  6545. topologySpreadConstraints:
  6546. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  6547. items:
  6548. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  6549. properties:
  6550. labelSelector:
  6551. description: LabelSelector is used to find matching pods.
  6552. properties:
  6553. matchExpressions:
  6554. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  6555. items:
  6556. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  6557. properties:
  6558. key:
  6559. description: key is the label key that the selector applies to.
  6560. type: string
  6561. operator:
  6562. description: operator represents a key's relationship to a set of values.
  6563. type: string
  6564. values:
  6565. description: values is an array of string values.
  6566. items:
  6567. type: string
  6568. type: array
  6569. required:
  6570. - key
  6571. - operator
  6572. type: object
  6573. type: array
  6574. matchLabels:
  6575. additionalProperties:
  6576. type: string
  6577. description: matchLabels is a map of {key,value} pairs.
  6578. type: object
  6579. type: object
  6580. x-kubernetes-map-type: atomic
  6581. matchLabelKeys:
  6582. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  6583. items:
  6584. type: string
  6585. type: array
  6586. x-kubernetes-list-type: atomic
  6587. maxSkew:
  6588. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  6589. format: int32
  6590. type: integer
  6591. minDomains:
  6592. description: MinDomains indicates a minimum number of eligible domains.
  6593. format: int32
  6594. type: integer
  6595. nodeAffinityPolicy:
  6596. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  6597. type: string
  6598. nodeTaintsPolicy:
  6599. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  6600. type: string
  6601. topologyKey:
  6602. description: TopologyKey is the key of node labels.
  6603. type: string
  6604. whenUnsatisfiable:
  6605. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  6606. type: string
  6607. required:
  6608. - maxSkew
  6609. - topologyKey
  6610. - whenUnsatisfiable
  6611. type: object
  6612. type: array
  6613. type: object
  6614. priorityClassName:
  6615. description: PriorityClassName sets priority class on the cephfs-mirror pods
  6616. type: string
  6617. resources:
  6618. description: The resource requirements for the cephfs-mirror pods
  6619. nullable: true
  6620. properties:
  6621. claims:
  6622. description: Claims lists the names of resources, defined in spec.
  6623. items:
  6624. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  6625. properties:
  6626. name:
  6627. description: Name must match the name of one entry in pod.spec.
  6628. type: string
  6629. required:
  6630. - name
  6631. type: object
  6632. type: array
  6633. x-kubernetes-list-map-keys:
  6634. - name
  6635. x-kubernetes-list-type: map
  6636. limits:
  6637. additionalProperties:
  6638. anyOf:
  6639. - type: integer
  6640. - type: string
  6641. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6642. x-kubernetes-int-or-string: true
  6643. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  6644. type: object
  6645. requests:
  6646. additionalProperties:
  6647. anyOf:
  6648. - type: integer
  6649. - type: string
  6650. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6651. x-kubernetes-int-or-string: true
  6652. description: Requests describes the minimum amount of compute resources required.
  6653. type: object
  6654. type: object
  6655. type: object
  6656. status:
  6657. description: Status represents the status of an object
  6658. properties:
  6659. conditions:
  6660. items:
  6661. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  6662. properties:
  6663. lastHeartbeatTime:
  6664. format: date-time
  6665. type: string
  6666. lastTransitionTime:
  6667. format: date-time
  6668. type: string
  6669. message:
  6670. type: string
  6671. reason:
  6672. description: ConditionReason is a reason for a condition
  6673. type: string
  6674. status:
  6675. type: string
  6676. type:
  6677. description: ConditionType represent a resource's status
  6678. type: string
  6679. type: object
  6680. type: array
  6681. observedGeneration:
  6682. description: ObservedGeneration is the latest generation observed by the controller.
  6683. format: int64
  6684. type: integer
  6685. phase:
  6686. type: string
  6687. type: object
  6688. required:
  6689. - metadata
  6690. - spec
  6691. type: object
  6692. served: true
  6693. storage: true
  6694. subresources:
  6695. status: {}
  6696. ---
  6697. # Source: rook-ceph/templates/resources.yaml
  6698. apiVersion: apiextensions.k8s.io/v1
  6699. kind: CustomResourceDefinition
  6700. metadata:
  6701. annotations:
  6702. controller-gen.kubebuilder.io/version: v0.11.3
  6703. helm.sh/resource-policy: keep
  6704. creationTimestamp: null
  6705. name: cephfilesystems.ceph.rook.io
  6706. spec:
  6707. group: ceph.rook.io
  6708. names:
  6709. kind: CephFilesystem
  6710. listKind: CephFilesystemList
  6711. plural: cephfilesystems
  6712. singular: cephfilesystem
  6713. scope: Namespaced
  6714. versions:
  6715. - additionalPrinterColumns:
  6716. - description: Number of desired active MDS daemons
  6717. jsonPath: .spec.metadataServer.activeCount
  6718. name: ActiveMDS
  6719. type: string
  6720. - jsonPath: .metadata.creationTimestamp
  6721. name: Age
  6722. type: date
  6723. - jsonPath: .status.phase
  6724. name: Phase
  6725. type: string
  6726. name: v1
  6727. schema:
  6728. openAPIV3Schema:
  6729. description: CephFilesystem represents a Ceph Filesystem
  6730. properties:
  6731. apiVersion:
  6732. description: APIVersion defines the versioned schema of this representation of an object.
  6733. type: string
  6734. kind:
  6735. description: Kind is a string value representing the REST resource this object represents.
  6736. type: string
  6737. metadata:
  6738. type: object
  6739. spec:
  6740. description: FilesystemSpec represents the spec of a file system
  6741. properties:
  6742. dataPools:
  6743. description: The data pool settings, with optional predefined pool name.
  6744. items:
  6745. description: NamedPoolSpec represents the named ceph pool spec
  6746. properties:
  6747. compressionMode:
  6748. description: 'DEPRECATED: use Parameters instead, e.g.'
  6749. enum:
  6750. - none
  6751. - passive
  6752. - aggressive
  6753. - force
  6754. - ""
  6755. nullable: true
  6756. type: string
  6757. crushRoot:
  6758. description: The root of the crush hierarchy utilized by the pool
  6759. nullable: true
  6760. type: string
  6761. deviceClass:
  6762. description: The device class the OSD should set to for use in the pool
  6763. nullable: true
  6764. type: string
  6765. enableRBDStats:
  6766. description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
  6767. type: boolean
  6768. erasureCoded:
  6769. description: The erasure code settings
  6770. properties:
  6771. algorithm:
  6772. description: The algorithm for erasure coding
  6773. type: string
  6774. codingChunks:
  6775. description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
  6776. minimum: 0
  6777. type: integer
  6778. dataChunks:
  6779. description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
  6780. minimum: 0
  6781. type: integer
  6782. required:
  6783. - codingChunks
  6784. - dataChunks
  6785. type: object
  6786. failureDomain:
  6787. description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
  6788. type: string
  6789. mirroring:
  6790. description: The mirroring settings
  6791. properties:
  6792. enabled:
  6793. description: Enabled whether this pool is mirrored or not
  6794. type: boolean
  6795. mode:
  6796. description: 'Mode is the mirroring mode: either pool or image'
  6797. type: string
  6798. peers:
  6799. description: Peers represents the peers spec
  6800. nullable: true
  6801. properties:
  6802. secretNames:
  6803. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  6804. items:
  6805. type: string
  6806. type: array
  6807. type: object
  6808. snapshotSchedules:
  6809. description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
  6810. items:
  6811. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  6812. properties:
  6813. interval:
  6814. description: Interval represent the periodicity of the snapshot.
  6815. type: string
  6816. path:
  6817. description: Path is the path to snapshot, only valid for CephFS
  6818. type: string
  6819. startTime:
  6820. description: StartTime indicates when to start the snapshot
  6821. type: string
  6822. type: object
  6823. type: array
  6824. type: object
  6825. name:
  6826. description: Name of the pool
  6827. type: string
  6828. parameters:
  6829. additionalProperties:
  6830. type: string
  6831. description: Parameters is a list of properties to enable on a given pool
  6832. nullable: true
  6833. type: object
  6834. x-kubernetes-preserve-unknown-fields: true
  6835. quotas:
  6836. description: The quota settings
  6837. nullable: true
  6838. properties:
  6839. maxBytes:
  6840. description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
  6841. format: int64
  6842. type: integer
  6843. maxObjects:
  6844. description: MaxObjects represents the quota in objects
  6845. format: int64
  6846. type: integer
  6847. maxSize:
  6848. description: MaxSize represents the quota in bytes as a string
  6849. pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
  6850. type: string
  6851. type: object
  6852. replicated:
  6853. description: The replication settings
  6854. properties:
  6855. hybridStorage:
  6856. description: HybridStorage represents hybrid storage tier settings
  6857. nullable: true
  6858. properties:
  6859. primaryDeviceClass:
  6860. description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
  6861. minLength: 1
  6862. type: string
  6863. secondaryDeviceClass:
  6864. description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
  6865. minLength: 1
  6866. type: string
  6867. required:
  6868. - primaryDeviceClass
  6869. - secondaryDeviceClass
  6870. type: object
  6871. replicasPerFailureDomain:
  6872. description: ReplicasPerFailureDomain the number of replica in the specified failure domain
  6873. minimum: 1
  6874. type: integer
  6875. requireSafeReplicaSize:
  6876. description: RequireSafeReplicaSize if false allows you to set replica 1
  6877. type: boolean
  6878. size:
  6879. description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
  6880. minimum: 0
  6881. type: integer
  6882. subFailureDomain:
  6883. description: SubFailureDomain the name of the sub-failure domain
  6884. type: string
  6885. targetSizeRatio:
  6886. description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
  6887. type: number
  6888. required:
  6889. - size
  6890. type: object
  6891. statusCheck:
  6892. description: The mirroring statusCheck
  6893. properties:
  6894. mirror:
  6895. description: HealthCheckSpec represents the health check of an object store bucket
  6896. nullable: true
  6897. properties:
  6898. disabled:
  6899. type: boolean
  6900. interval:
  6901. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  6902. type: string
  6903. timeout:
  6904. type: string
  6905. type: object
  6906. type: object
  6907. x-kubernetes-preserve-unknown-fields: true
  6908. type: object
  6909. nullable: true
  6910. type: array
  6911. metadataPool:
  6912. description: The metadata pool settings
  6913. nullable: true
  6914. properties:
  6915. compressionMode:
  6916. description: 'DEPRECATED: use Parameters instead, e.g.'
  6917. enum:
  6918. - none
  6919. - passive
  6920. - aggressive
  6921. - force
  6922. - ""
  6923. nullable: true
  6924. type: string
  6925. crushRoot:
  6926. description: The root of the crush hierarchy utilized by the pool
  6927. nullable: true
  6928. type: string
  6929. deviceClass:
  6930. description: The device class the OSD should set to for use in the pool
  6931. nullable: true
  6932. type: string
  6933. enableRBDStats:
  6934. description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
  6935. type: boolean
  6936. erasureCoded:
  6937. description: The erasure code settings
  6938. properties:
  6939. algorithm:
  6940. description: The algorithm for erasure coding
  6941. type: string
  6942. codingChunks:
  6943. description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
  6944. minimum: 0
  6945. type: integer
  6946. dataChunks:
  6947. description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
  6948. minimum: 0
  6949. type: integer
  6950. required:
  6951. - codingChunks
  6952. - dataChunks
  6953. type: object
  6954. failureDomain:
  6955. description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
  6956. type: string
  6957. mirroring:
  6958. description: The mirroring settings
  6959. properties:
  6960. enabled:
  6961. description: Enabled whether this pool is mirrored or not
  6962. type: boolean
  6963. mode:
  6964. description: 'Mode is the mirroring mode: either pool or image'
  6965. type: string
  6966. peers:
  6967. description: Peers represents the peers spec
  6968. nullable: true
  6969. properties:
  6970. secretNames:
  6971. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  6972. items:
  6973. type: string
  6974. type: array
  6975. type: object
  6976. snapshotSchedules:
  6977. description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
  6978. items:
  6979. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  6980. properties:
  6981. interval:
  6982. description: Interval represent the periodicity of the snapshot.
  6983. type: string
  6984. path:
  6985. description: Path is the path to snapshot, only valid for CephFS
  6986. type: string
  6987. startTime:
  6988. description: StartTime indicates when to start the snapshot
  6989. type: string
  6990. type: object
  6991. type: array
  6992. type: object
  6993. parameters:
  6994. additionalProperties:
  6995. type: string
  6996. description: Parameters is a list of properties to enable on a given pool
  6997. nullable: true
  6998. type: object
  6999. x-kubernetes-preserve-unknown-fields: true
  7000. quotas:
  7001. description: The quota settings
  7002. nullable: true
  7003. properties:
  7004. maxBytes:
  7005. description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
  7006. format: int64
  7007. type: integer
  7008. maxObjects:
  7009. description: MaxObjects represents the quota in objects
  7010. format: int64
  7011. type: integer
  7012. maxSize:
  7013. description: MaxSize represents the quota in bytes as a string
  7014. pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
  7015. type: string
  7016. type: object
  7017. replicated:
  7018. description: The replication settings
  7019. properties:
  7020. hybridStorage:
  7021. description: HybridStorage represents hybrid storage tier settings
  7022. nullable: true
  7023. properties:
  7024. primaryDeviceClass:
  7025. description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
  7026. minLength: 1
  7027. type: string
  7028. secondaryDeviceClass:
  7029. description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
  7030. minLength: 1
  7031. type: string
  7032. required:
  7033. - primaryDeviceClass
  7034. - secondaryDeviceClass
  7035. type: object
  7036. replicasPerFailureDomain:
  7037. description: ReplicasPerFailureDomain the number of replica in the specified failure domain
  7038. minimum: 1
  7039. type: integer
  7040. requireSafeReplicaSize:
  7041. description: RequireSafeReplicaSize if false allows you to set replica 1
  7042. type: boolean
  7043. size:
  7044. description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
  7045. minimum: 0
  7046. type: integer
  7047. subFailureDomain:
  7048. description: SubFailureDomain the name of the sub-failure domain
  7049. type: string
  7050. targetSizeRatio:
  7051. description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
  7052. type: number
  7053. required:
  7054. - size
  7055. type: object
  7056. statusCheck:
  7057. description: The mirroring statusCheck
  7058. properties:
  7059. mirror:
  7060. description: HealthCheckSpec represents the health check of an object store bucket
  7061. nullable: true
  7062. properties:
  7063. disabled:
  7064. type: boolean
  7065. interval:
  7066. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  7067. type: string
  7068. timeout:
  7069. type: string
  7070. type: object
  7071. type: object
  7072. x-kubernetes-preserve-unknown-fields: true
  7073. type: object
  7074. metadataServer:
  7075. description: The mds pod info
  7076. properties:
  7077. activeCount:
  7078. description: The number of metadata servers that are active.
  7079. format: int32
  7080. maximum: 50
  7081. minimum: 1
  7082. type: integer
  7083. activeStandby:
  7084. description: Whether each active MDS instance will have an active standby with a warm metadata cache for faster f
  7085. type: boolean
  7086. annotations:
  7087. additionalProperties:
  7088. type: string
  7089. description: The annotations-related configuration to add/set on each Pod related object.
  7090. nullable: true
  7091. type: object
  7092. x-kubernetes-preserve-unknown-fields: true
  7093. labels:
  7094. additionalProperties:
  7095. type: string
  7096. description: The labels-related configuration to add/set on each Pod related object.
  7097. nullable: true
  7098. type: object
  7099. x-kubernetes-preserve-unknown-fields: true
  7100. livenessProbe:
  7101. description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
  7102. properties:
  7103. disabled:
  7104. description: Disabled determines whether probe is disable or not
  7105. type: boolean
  7106. probe:
  7107. description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
  7108. properties:
  7109. exec:
  7110. description: Exec specifies the action to take.
  7111. properties:
  7112. command:
  7113. description: 'Command is the command line to execute inside the container, the working directory for the command '
  7114. items:
  7115. type: string
  7116. type: array
  7117. type: object
  7118. failureThreshold:
  7119. description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
  7120. format: int32
  7121. type: integer
  7122. grpc:
  7123. description: GRPC specifies an action involving a GRPC port.
  7124. properties:
  7125. port:
  7126. description: Port number of the gRPC service. Number must be in the range 1 to 65535.
  7127. format: int32
  7128. type: integer
  7129. service:
  7130. description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
  7131. type: string
  7132. required:
  7133. - port
  7134. type: object
  7135. httpGet:
  7136. description: HTTPGet specifies the http request to perform.
  7137. properties:
  7138. host:
  7139. description: Host name to connect to, defaults to the pod IP.
  7140. type: string
  7141. httpHeaders:
  7142. description: Custom headers to set in the request. HTTP allows repeated headers.
  7143. items:
  7144. description: HTTPHeader describes a custom header to be used in HTTP probes
  7145. properties:
  7146. name:
  7147. description: The header field name.
  7148. type: string
  7149. value:
  7150. description: The header field value
  7151. type: string
  7152. required:
  7153. - name
  7154. - value
  7155. type: object
  7156. type: array
  7157. path:
  7158. description: Path to access on the HTTP server.
  7159. type: string
  7160. port:
  7161. anyOf:
  7162. - type: integer
  7163. - type: string
  7164. description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
  7165. x-kubernetes-int-or-string: true
  7166. scheme:
  7167. description: Scheme to use for connecting to the host. Defaults to HTTP.
  7168. type: string
  7169. required:
  7170. - port
  7171. type: object
  7172. initialDelaySeconds:
  7173. description: Number of seconds after the container has started before liveness probes are initiated.
  7174. format: int32
  7175. type: integer
  7176. periodSeconds:
  7177. description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
  7178. format: int32
  7179. type: integer
  7180. successThreshold:
  7181. description: Minimum consecutive successes for the probe to be considered successful after having failed.
  7182. format: int32
  7183. type: integer
  7184. tcpSocket:
  7185. description: TCPSocket specifies an action involving a TCP port.
  7186. properties:
  7187. host:
  7188. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  7189. type: string
  7190. port:
  7191. anyOf:
  7192. - type: integer
  7193. - type: string
  7194. description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
  7195. x-kubernetes-int-or-string: true
  7196. required:
  7197. - port
  7198. type: object
  7199. terminationGracePeriodSeconds:
  7200. description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
  7201. format: int64
  7202. type: integer
  7203. timeoutSeconds:
  7204. description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
  7205. format: int32
  7206. type: integer
  7207. type: object
  7208. type: object
  7209. placement:
  7210. description: The affinity to place the mds pods (default is to place on all available node) with a daemonset
  7211. nullable: true
  7212. properties:
  7213. nodeAffinity:
  7214. description: NodeAffinity is a group of node affinity scheduling rules
  7215. properties:
  7216. preferredDuringSchedulingIgnoredDuringExecution:
  7217. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  7218. items:
  7219. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  7220. properties:
  7221. preference:
  7222. description: A node selector term, associated with the corresponding weight.
  7223. properties:
  7224. matchExpressions:
  7225. description: A list of node selector requirements by node's labels.
  7226. items:
  7227. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  7228. properties:
  7229. key:
  7230. description: The label key that the selector applies to.
  7231. type: string
  7232. operator:
  7233. description: Represents a key's relationship to a set of values.
  7234. type: string
  7235. values:
  7236. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  7237. items:
  7238. type: string
  7239. type: array
  7240. required:
  7241. - key
  7242. - operator
  7243. type: object
  7244. type: array
  7245. matchFields:
  7246. description: A list of node selector requirements by node's fields.
  7247. items:
  7248. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  7249. properties:
  7250. key:
  7251. description: The label key that the selector applies to.
  7252. type: string
  7253. operator:
  7254. description: Represents a key's relationship to a set of values.
  7255. type: string
  7256. values:
  7257. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  7258. items:
  7259. type: string
  7260. type: array
  7261. required:
  7262. - key
  7263. - operator
  7264. type: object
  7265. type: array
  7266. type: object
  7267. x-kubernetes-map-type: atomic
  7268. weight:
  7269. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  7270. format: int32
  7271. type: integer
  7272. required:
  7273. - preference
  7274. - weight
  7275. type: object
  7276. type: array
  7277. requiredDuringSchedulingIgnoredDuringExecution:
  7278. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  7279. properties:
  7280. nodeSelectorTerms:
  7281. description: Required. A list of node selector terms. The terms are ORed.
  7282. items:
  7283. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  7284. properties:
  7285. matchExpressions:
  7286. description: A list of node selector requirements by node's labels.
  7287. items:
  7288. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  7289. properties:
  7290. key:
  7291. description: The label key that the selector applies to.
  7292. type: string
  7293. operator:
  7294. description: Represents a key's relationship to a set of values.
  7295. type: string
  7296. values:
  7297. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  7298. items:
  7299. type: string
  7300. type: array
  7301. required:
  7302. - key
  7303. - operator
  7304. type: object
  7305. type: array
  7306. matchFields:
  7307. description: A list of node selector requirements by node's fields.
  7308. items:
  7309. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  7310. properties:
  7311. key:
  7312. description: The label key that the selector applies to.
  7313. type: string
  7314. operator:
  7315. description: Represents a key's relationship to a set of values.
  7316. type: string
  7317. values:
  7318. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  7319. items:
  7320. type: string
  7321. type: array
  7322. required:
  7323. - key
  7324. - operator
  7325. type: object
  7326. type: array
  7327. type: object
  7328. x-kubernetes-map-type: atomic
  7329. type: array
  7330. required:
  7331. - nodeSelectorTerms
  7332. type: object
  7333. x-kubernetes-map-type: atomic
  7334. type: object
  7335. podAffinity:
  7336. description: PodAffinity is a group of inter pod affinity scheduling rules
  7337. properties:
  7338. preferredDuringSchedulingIgnoredDuringExecution:
  7339. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  7340. items:
  7341. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  7342. properties:
  7343. podAffinityTerm:
  7344. description: Required. A pod affinity term, associated with the corresponding weight.
  7345. properties:
  7346. labelSelector:
  7347. description: A label query over a set of resources, in this case pods.
  7348. properties:
  7349. matchExpressions:
  7350. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7351. items:
  7352. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7353. properties:
  7354. key:
  7355. description: key is the label key that the selector applies to.
  7356. type: string
  7357. operator:
  7358. description: operator represents a key's relationship to a set of values.
  7359. type: string
  7360. values:
  7361. description: values is an array of string values.
  7362. items:
  7363. type: string
  7364. type: array
  7365. required:
  7366. - key
  7367. - operator
  7368. type: object
  7369. type: array
  7370. matchLabels:
  7371. additionalProperties:
  7372. type: string
  7373. description: matchLabels is a map of {key,value} pairs.
  7374. type: object
  7375. type: object
  7376. x-kubernetes-map-type: atomic
  7377. namespaceSelector:
  7378. description: A label query over the set of namespaces that the term applies to.
  7379. properties:
  7380. matchExpressions:
  7381. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7382. items:
  7383. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7384. properties:
  7385. key:
  7386. description: key is the label key that the selector applies to.
  7387. type: string
  7388. operator:
  7389. description: operator represents a key's relationship to a set of values.
  7390. type: string
  7391. values:
  7392. description: values is an array of string values.
  7393. items:
  7394. type: string
  7395. type: array
  7396. required:
  7397. - key
  7398. - operator
  7399. type: object
  7400. type: array
  7401. matchLabels:
  7402. additionalProperties:
  7403. type: string
  7404. description: matchLabels is a map of {key,value} pairs.
  7405. type: object
  7406. type: object
  7407. x-kubernetes-map-type: atomic
  7408. namespaces:
  7409. description: namespaces specifies a static list of namespace names that the term applies to.
  7410. items:
  7411. type: string
  7412. type: array
  7413. topologyKey:
  7414. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  7415. type: string
  7416. required:
  7417. - topologyKey
  7418. type: object
  7419. weight:
  7420. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  7421. format: int32
  7422. type: integer
  7423. required:
  7424. - podAffinityTerm
  7425. - weight
  7426. type: object
  7427. type: array
  7428. requiredDuringSchedulingIgnoredDuringExecution:
  7429. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  7430. items:
  7431. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  7432. properties:
  7433. labelSelector:
  7434. description: A label query over a set of resources, in this case pods.
  7435. properties:
  7436. matchExpressions:
  7437. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7438. items:
  7439. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7440. properties:
  7441. key:
  7442. description: key is the label key that the selector applies to.
  7443. type: string
  7444. operator:
  7445. description: operator represents a key's relationship to a set of values.
  7446. type: string
  7447. values:
  7448. description: values is an array of string values.
  7449. items:
  7450. type: string
  7451. type: array
  7452. required:
  7453. - key
  7454. - operator
  7455. type: object
  7456. type: array
  7457. matchLabels:
  7458. additionalProperties:
  7459. type: string
  7460. description: matchLabels is a map of {key,value} pairs.
  7461. type: object
  7462. type: object
  7463. x-kubernetes-map-type: atomic
  7464. namespaceSelector:
  7465. description: A label query over the set of namespaces that the term applies to.
  7466. properties:
  7467. matchExpressions:
  7468. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7469. items:
  7470. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7471. properties:
  7472. key:
  7473. description: key is the label key that the selector applies to.
  7474. type: string
  7475. operator:
  7476. description: operator represents a key's relationship to a set of values.
  7477. type: string
  7478. values:
  7479. description: values is an array of string values.
  7480. items:
  7481. type: string
  7482. type: array
  7483. required:
  7484. - key
  7485. - operator
  7486. type: object
  7487. type: array
  7488. matchLabels:
  7489. additionalProperties:
  7490. type: string
  7491. description: matchLabels is a map of {key,value} pairs.
  7492. type: object
  7493. type: object
  7494. x-kubernetes-map-type: atomic
  7495. namespaces:
  7496. description: namespaces specifies a static list of namespace names that the term applies to.
  7497. items:
  7498. type: string
  7499. type: array
  7500. topologyKey:
  7501. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  7502. type: string
  7503. required:
  7504. - topologyKey
  7505. type: object
  7506. type: array
  7507. type: object
  7508. podAntiAffinity:
  7509. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  7510. properties:
  7511. preferredDuringSchedulingIgnoredDuringExecution:
  7512. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  7513. items:
  7514. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  7515. properties:
  7516. podAffinityTerm:
  7517. description: Required. A pod affinity term, associated with the corresponding weight.
  7518. properties:
  7519. labelSelector:
  7520. description: A label query over a set of resources, in this case pods.
  7521. properties:
  7522. matchExpressions:
  7523. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7524. items:
  7525. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7526. properties:
  7527. key:
  7528. description: key is the label key that the selector applies to.
  7529. type: string
  7530. operator:
  7531. description: operator represents a key's relationship to a set of values.
  7532. type: string
  7533. values:
  7534. description: values is an array of string values.
  7535. items:
  7536. type: string
  7537. type: array
  7538. required:
  7539. - key
  7540. - operator
  7541. type: object
  7542. type: array
  7543. matchLabels:
  7544. additionalProperties:
  7545. type: string
  7546. description: matchLabels is a map of {key,value} pairs.
  7547. type: object
  7548. type: object
  7549. x-kubernetes-map-type: atomic
  7550. namespaceSelector:
  7551. description: A label query over the set of namespaces that the term applies to.
  7552. properties:
  7553. matchExpressions:
  7554. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7555. items:
  7556. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7557. properties:
  7558. key:
  7559. description: key is the label key that the selector applies to.
  7560. type: string
  7561. operator:
  7562. description: operator represents a key's relationship to a set of values.
  7563. type: string
  7564. values:
  7565. description: values is an array of string values.
  7566. items:
  7567. type: string
  7568. type: array
  7569. required:
  7570. - key
  7571. - operator
  7572. type: object
  7573. type: array
  7574. matchLabels:
  7575. additionalProperties:
  7576. type: string
  7577. description: matchLabels is a map of {key,value} pairs.
  7578. type: object
  7579. type: object
  7580. x-kubernetes-map-type: atomic
  7581. namespaces:
  7582. description: namespaces specifies a static list of namespace names that the term applies to.
  7583. items:
  7584. type: string
  7585. type: array
  7586. topologyKey:
  7587. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  7588. type: string
  7589. required:
  7590. - topologyKey
  7591. type: object
  7592. weight:
  7593. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  7594. format: int32
  7595. type: integer
  7596. required:
  7597. - podAffinityTerm
  7598. - weight
  7599. type: object
  7600. type: array
  7601. requiredDuringSchedulingIgnoredDuringExecution:
  7602. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  7603. items:
  7604. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  7605. properties:
  7606. labelSelector:
  7607. description: A label query over a set of resources, in this case pods.
  7608. properties:
  7609. matchExpressions:
  7610. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7611. items:
  7612. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7613. properties:
  7614. key:
  7615. description: key is the label key that the selector applies to.
  7616. type: string
  7617. operator:
  7618. description: operator represents a key's relationship to a set of values.
  7619. type: string
  7620. values:
  7621. description: values is an array of string values.
  7622. items:
  7623. type: string
  7624. type: array
  7625. required:
  7626. - key
  7627. - operator
  7628. type: object
  7629. type: array
  7630. matchLabels:
  7631. additionalProperties:
  7632. type: string
  7633. description: matchLabels is a map of {key,value} pairs.
  7634. type: object
  7635. type: object
  7636. x-kubernetes-map-type: atomic
  7637. namespaceSelector:
  7638. description: A label query over the set of namespaces that the term applies to.
  7639. properties:
  7640. matchExpressions:
  7641. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7642. items:
  7643. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7644. properties:
  7645. key:
  7646. description: key is the label key that the selector applies to.
  7647. type: string
  7648. operator:
  7649. description: operator represents a key's relationship to a set of values.
  7650. type: string
  7651. values:
  7652. description: values is an array of string values.
  7653. items:
  7654. type: string
  7655. type: array
  7656. required:
  7657. - key
  7658. - operator
  7659. type: object
  7660. type: array
  7661. matchLabels:
  7662. additionalProperties:
  7663. type: string
  7664. description: matchLabels is a map of {key,value} pairs.
  7665. type: object
  7666. type: object
  7667. x-kubernetes-map-type: atomic
  7668. namespaces:
  7669. description: namespaces specifies a static list of namespace names that the term applies to.
  7670. items:
  7671. type: string
  7672. type: array
  7673. topologyKey:
  7674. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  7675. type: string
  7676. required:
  7677. - topologyKey
  7678. type: object
  7679. type: array
  7680. type: object
  7681. tolerations:
  7682. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  7683. items:
  7684. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  7685. properties:
  7686. effect:
  7687. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  7688. type: string
  7689. key:
  7690. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  7691. type: string
  7692. operator:
  7693. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  7694. type: string
  7695. tolerationSeconds:
  7696. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  7697. format: int64
  7698. type: integer
  7699. value:
  7700. description: Value is the taint value the toleration matches to.
  7701. type: string
  7702. type: object
  7703. type: array
  7704. topologySpreadConstraints:
  7705. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  7706. items:
  7707. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  7708. properties:
  7709. labelSelector:
  7710. description: LabelSelector is used to find matching pods.
  7711. properties:
  7712. matchExpressions:
  7713. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  7714. items:
  7715. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  7716. properties:
  7717. key:
  7718. description: key is the label key that the selector applies to.
  7719. type: string
  7720. operator:
  7721. description: operator represents a key's relationship to a set of values.
  7722. type: string
  7723. values:
  7724. description: values is an array of string values.
  7725. items:
  7726. type: string
  7727. type: array
  7728. required:
  7729. - key
  7730. - operator
  7731. type: object
  7732. type: array
  7733. matchLabels:
  7734. additionalProperties:
  7735. type: string
  7736. description: matchLabels is a map of {key,value} pairs.
  7737. type: object
  7738. type: object
  7739. x-kubernetes-map-type: atomic
  7740. matchLabelKeys:
  7741. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  7742. items:
  7743. type: string
  7744. type: array
  7745. x-kubernetes-list-type: atomic
  7746. maxSkew:
  7747. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  7748. format: int32
  7749. type: integer
  7750. minDomains:
  7751. description: MinDomains indicates a minimum number of eligible domains.
  7752. format: int32
  7753. type: integer
  7754. nodeAffinityPolicy:
  7755. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  7756. type: string
  7757. nodeTaintsPolicy:
  7758. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  7759. type: string
  7760. topologyKey:
  7761. description: TopologyKey is the key of node labels.
  7762. type: string
  7763. whenUnsatisfiable:
  7764. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  7765. type: string
  7766. required:
  7767. - maxSkew
  7768. - topologyKey
  7769. - whenUnsatisfiable
  7770. type: object
  7771. type: array
  7772. type: object
  7773. x-kubernetes-preserve-unknown-fields: true
  7774. priorityClassName:
  7775. description: PriorityClassName sets priority classes on components
  7776. type: string
  7777. resources:
  7778. description: The resource requirements for the rgw pods
  7779. nullable: true
  7780. properties:
  7781. claims:
  7782. description: Claims lists the names of resources, defined in spec.
  7783. items:
  7784. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  7785. properties:
  7786. name:
  7787. description: Name must match the name of one entry in pod.spec.
  7788. type: string
  7789. required:
  7790. - name
  7791. type: object
  7792. type: array
  7793. x-kubernetes-list-map-keys:
  7794. - name
  7795. x-kubernetes-list-type: map
  7796. limits:
  7797. additionalProperties:
  7798. anyOf:
  7799. - type: integer
  7800. - type: string
  7801. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7802. x-kubernetes-int-or-string: true
  7803. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  7804. type: object
  7805. requests:
  7806. additionalProperties:
  7807. anyOf:
  7808. - type: integer
  7809. - type: string
  7810. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7811. x-kubernetes-int-or-string: true
  7812. description: Requests describes the minimum amount of compute resources required.
  7813. type: object
  7814. type: object
  7815. x-kubernetes-preserve-unknown-fields: true
  7816. startupProbe:
  7817. description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
  7818. properties:
  7819. disabled:
  7820. description: Disabled determines whether probe is disable or not
  7821. type: boolean
  7822. probe:
  7823. description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
  7824. properties:
  7825. exec:
  7826. description: Exec specifies the action to take.
  7827. properties:
  7828. command:
  7829. description: 'Command is the command line to execute inside the container, the working directory for the command '
  7830. items:
  7831. type: string
  7832. type: array
  7833. type: object
  7834. failureThreshold:
  7835. description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
  7836. format: int32
  7837. type: integer
  7838. grpc:
  7839. description: GRPC specifies an action involving a GRPC port.
  7840. properties:
  7841. port:
  7842. description: Port number of the gRPC service. Number must be in the range 1 to 65535.
  7843. format: int32
  7844. type: integer
  7845. service:
  7846. description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
  7847. type: string
  7848. required:
  7849. - port
  7850. type: object
  7851. httpGet:
  7852. description: HTTPGet specifies the http request to perform.
  7853. properties:
  7854. host:
  7855. description: Host name to connect to, defaults to the pod IP.
  7856. type: string
  7857. httpHeaders:
  7858. description: Custom headers to set in the request. HTTP allows repeated headers.
  7859. items:
  7860. description: HTTPHeader describes a custom header to be used in HTTP probes
  7861. properties:
  7862. name:
  7863. description: The header field name.
  7864. type: string
  7865. value:
  7866. description: The header field value
  7867. type: string
  7868. required:
  7869. - name
  7870. - value
  7871. type: object
  7872. type: array
  7873. path:
  7874. description: Path to access on the HTTP server.
  7875. type: string
  7876. port:
  7877. anyOf:
  7878. - type: integer
  7879. - type: string
  7880. description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
  7881. x-kubernetes-int-or-string: true
  7882. scheme:
  7883. description: Scheme to use for connecting to the host. Defaults to HTTP.
  7884. type: string
  7885. required:
  7886. - port
  7887. type: object
  7888. initialDelaySeconds:
  7889. description: Number of seconds after the container has started before liveness probes are initiated.
  7890. format: int32
  7891. type: integer
  7892. periodSeconds:
  7893. description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
  7894. format: int32
  7895. type: integer
  7896. successThreshold:
  7897. description: Minimum consecutive successes for the probe to be considered successful after having failed.
  7898. format: int32
  7899. type: integer
  7900. tcpSocket:
  7901. description: TCPSocket specifies an action involving a TCP port.
  7902. properties:
  7903. host:
  7904. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  7905. type: string
  7906. port:
  7907. anyOf:
  7908. - type: integer
  7909. - type: string
  7910. description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
  7911. x-kubernetes-int-or-string: true
  7912. required:
  7913. - port
  7914. type: object
  7915. terminationGracePeriodSeconds:
  7916. description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
  7917. format: int64
  7918. type: integer
  7919. timeoutSeconds:
  7920. description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
  7921. format: int32
  7922. type: integer
  7923. type: object
  7924. type: object
  7925. required:
  7926. - activeCount
  7927. type: object
  7928. mirroring:
  7929. description: The mirroring settings
  7930. nullable: true
  7931. properties:
  7932. enabled:
  7933. description: Enabled whether this filesystem is mirrored or not
  7934. type: boolean
  7935. peers:
  7936. description: Peers represents the peers spec
  7937. nullable: true
  7938. properties:
  7939. secretNames:
  7940. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  7941. items:
  7942. type: string
  7943. type: array
  7944. type: object
  7945. snapshotRetention:
  7946. description: Retention is the retention policy for a snapshot schedule One path has exactly one retention policy.
  7947. items:
  7948. description: SnapshotScheduleRetentionSpec is a retention policy
  7949. properties:
  7950. duration:
  7951. description: Duration represents the retention duration for a snapshot
  7952. type: string
  7953. path:
  7954. description: Path is the path to snapshot
  7955. type: string
  7956. type: object
  7957. type: array
  7958. snapshotSchedules:
  7959. description: SnapshotSchedules is the scheduling of snapshot for mirrored filesystems
  7960. items:
  7961. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  7962. properties:
  7963. interval:
  7964. description: Interval represent the periodicity of the snapshot.
  7965. type: string
  7966. path:
  7967. description: Path is the path to snapshot, only valid for CephFS
  7968. type: string
  7969. startTime:
  7970. description: StartTime indicates when to start the snapshot
  7971. type: string
  7972. type: object
  7973. type: array
  7974. type: object
  7975. preserveFilesystemOnDelete:
  7976. description: Preserve the fs in the cluster on CephFilesystem CR deletion.
  7977. type: boolean
  7978. preservePoolsOnDelete:
  7979. description: Preserve pools on filesystem deletion
  7980. type: boolean
  7981. statusCheck:
  7982. description: The mirroring statusCheck
  7983. properties:
  7984. mirror:
  7985. description: HealthCheckSpec represents the health check of an object store bucket
  7986. nullable: true
  7987. properties:
  7988. disabled:
  7989. type: boolean
  7990. interval:
  7991. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  7992. type: string
  7993. timeout:
  7994. type: string
  7995. type: object
  7996. type: object
  7997. x-kubernetes-preserve-unknown-fields: true
  7998. required:
  7999. - dataPools
  8000. - metadataPool
  8001. - metadataServer
  8002. type: object
  8003. status:
  8004. description: CephFilesystemStatus represents the status of a Ceph Filesystem
  8005. properties:
  8006. conditions:
  8007. items:
  8008. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  8009. properties:
  8010. lastHeartbeatTime:
  8011. format: date-time
  8012. type: string
  8013. lastTransitionTime:
  8014. format: date-time
  8015. type: string
  8016. message:
  8017. type: string
  8018. reason:
  8019. description: ConditionReason is a reason for a condition
  8020. type: string
  8021. status:
  8022. type: string
  8023. type:
  8024. description: ConditionType represent a resource's status
  8025. type: string
  8026. type: object
  8027. type: array
  8028. info:
  8029. additionalProperties:
  8030. type: string
  8031. description: Use only info and put mirroringStatus in it?
  8032. nullable: true
  8033. type: object
  8034. mirroringStatus:
  8035. description: MirroringStatus is the filesystem mirroring status
  8036. properties:
  8037. daemonsStatus:
  8038. description: PoolMirroringStatus is the mirroring status of a filesystem
  8039. items:
  8040. description: FilesystemMirrorInfoSpec is the filesystem mirror status of a given filesystem
  8041. properties:
  8042. daemon_id:
  8043. description: DaemonID is the cephfs-mirror name
  8044. type: integer
  8045. filesystems:
  8046. description: Filesystems is the list of filesystems managed by a given cephfs-mirror daemon
  8047. items:
  8048. description: FilesystemsSpec is spec for the mirrored filesystem
  8049. properties:
  8050. directory_count:
  8051. description: DirectoryCount is the number of directories in the filesystem
  8052. type: integer
  8053. filesystem_id:
  8054. description: FilesystemID is the filesystem identifier
  8055. type: integer
  8056. name:
  8057. description: Name is name of the filesystem
  8058. type: string
  8059. peers:
  8060. description: Peers represents the mirroring peers
  8061. items:
  8062. description: FilesystemMirrorInfoPeerSpec is the specification of a filesystem peer mirror
  8063. properties:
  8064. remote:
  8065. description: Remote are the remote cluster information
  8066. properties:
  8067. client_name:
  8068. description: ClientName is cephx name
  8069. type: string
  8070. cluster_name:
  8071. description: ClusterName is the name of the cluster
  8072. type: string
  8073. fs_name:
  8074. description: FsName is the filesystem name
  8075. type: string
  8076. type: object
  8077. stats:
  8078. description: Stats are the stat a peer mirror
  8079. properties:
  8080. failure_count:
  8081. description: FailureCount is the number of mirroring failure
  8082. type: integer
  8083. recovery_count:
  8084. description: RecoveryCount is the number of recovery attempted after failures
  8085. type: integer
  8086. type: object
  8087. uuid:
  8088. description: UUID is the peer unique identifier
  8089. type: string
  8090. type: object
  8091. type: array
  8092. type: object
  8093. type: array
  8094. type: object
  8095. nullable: true
  8096. type: array
  8097. details:
  8098. description: Details contains potential status errors
  8099. type: string
  8100. lastChanged:
  8101. description: LastChanged is the last time time the status last changed
  8102. type: string
  8103. lastChecked:
  8104. description: LastChecked is the last time time the status was checked
  8105. type: string
  8106. type: object
  8107. observedGeneration:
  8108. description: ObservedGeneration is the latest generation observed by the controller.
  8109. format: int64
  8110. type: integer
  8111. phase:
  8112. description: ConditionType represent a resource's status
  8113. type: string
  8114. snapshotScheduleStatus:
  8115. description: FilesystemSnapshotScheduleStatusSpec is the status of the snapshot schedule
  8116. properties:
  8117. details:
  8118. description: Details contains potential status errors
  8119. type: string
  8120. lastChanged:
  8121. description: LastChanged is the last time time the status last changed
  8122. type: string
  8123. lastChecked:
  8124. description: LastChecked is the last time time the status was checked
  8125. type: string
  8126. snapshotSchedules:
  8127. description: SnapshotSchedules is the list of snapshots scheduled
  8128. items:
  8129. description: FilesystemSnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
  8130. properties:
  8131. fs:
  8132. description: Fs is the name of the Ceph Filesystem
  8133. type: string
  8134. path:
  8135. description: Path is the path on the filesystem
  8136. type: string
  8137. rel_path:
  8138. type: string
  8139. retention:
  8140. description: FilesystemSnapshotScheduleStatusRetention is the retention specification for a filesystem snapshot s
  8141. properties:
  8142. active:
  8143. description: Active is whether the scheduled is active or not
  8144. type: boolean
  8145. created:
  8146. description: Created is when the snapshot schedule was created
  8147. type: string
  8148. created_count:
  8149. description: CreatedCount is total amount of snapshots
  8150. type: integer
  8151. first:
  8152. description: First is when the first snapshot schedule was taken
  8153. type: string
  8154. last:
  8155. description: Last is when the last snapshot schedule was taken
  8156. type: string
  8157. last_pruned:
  8158. description: LastPruned is when the last snapshot schedule was pruned
  8159. type: string
  8160. pruned_count:
  8161. description: PrunedCount is total amount of pruned snapshots
  8162. type: integer
  8163. start:
  8164. description: Start is when the snapshot schedule starts
  8165. type: string
  8166. type: object
  8167. schedule:
  8168. type: string
  8169. subvol:
  8170. description: Subvol is the name of the sub volume
  8171. type: string
  8172. type: object
  8173. nullable: true
  8174. type: array
  8175. type: object
  8176. type: object
  8177. x-kubernetes-preserve-unknown-fields: true
  8178. required:
  8179. - metadata
  8180. - spec
  8181. type: object
  8182. served: true
  8183. storage: true
  8184. subresources:
  8185. status: {}
  8186. ---
  8187. # Source: rook-ceph/templates/resources.yaml
  8188. apiVersion: apiextensions.k8s.io/v1
  8189. kind: CustomResourceDefinition
  8190. metadata:
  8191. annotations:
  8192. controller-gen.kubebuilder.io/version: v0.11.3
  8193. helm.sh/resource-policy: keep
  8194. creationTimestamp: null
  8195. name: cephfilesystemsubvolumegroups.ceph.rook.io
  8196. spec:
  8197. group: ceph.rook.io
  8198. names:
  8199. kind: CephFilesystemSubVolumeGroup
  8200. listKind: CephFilesystemSubVolumeGroupList
  8201. plural: cephfilesystemsubvolumegroups
  8202. singular: cephfilesystemsubvolumegroup
  8203. scope: Namespaced
  8204. versions:
  8205. - additionalPrinterColumns:
  8206. - jsonPath: .status.phase
  8207. name: Phase
  8208. type: string
  8209. name: v1
  8210. schema:
  8211. openAPIV3Schema:
  8212. description: CephFilesystemSubVolumeGroup represents a Ceph Filesystem SubVolumeGroup
  8213. properties:
  8214. apiVersion:
  8215. description: APIVersion defines the versioned schema of this representation of an object.
  8216. type: string
  8217. kind:
  8218. description: Kind is a string value representing the REST resource this object represents.
  8219. type: string
  8220. metadata:
  8221. type: object
  8222. spec:
  8223. description: Spec represents the specification of a Ceph Filesystem SubVolumeGroup
  8224. properties:
  8225. filesystemName:
  8226. description: FilesystemName is the name of Ceph Filesystem SubVolumeGroup volume name.
  8227. type: string
  8228. x-kubernetes-validations:
  8229. - message: filesystemName is immutable
  8230. rule: self == oldSelf
  8231. name:
  8232. description: The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR.
  8233. type: string
  8234. x-kubernetes-validations:
  8235. - message: name is immutable
  8236. rule: self == oldSelf
  8237. pinning:
  8238. description: Pinning configuration of CephFilesystemSubVolumeGroup, reference https://docs.ceph.
  8239. properties:
  8240. distributed:
  8241. maximum: 1
  8242. minimum: 0
  8243. nullable: true
  8244. type: integer
  8245. export:
  8246. maximum: 256
  8247. minimum: -1
  8248. nullable: true
  8249. type: integer
  8250. random:
  8251. maximum: 1
  8252. minimum: 0
  8253. nullable: true
  8254. type: number
  8255. type: object
  8256. x-kubernetes-validations:
  8257. - message: only one pinning type should be set
  8258. rule: (has(self.export) && !has(self.distributed) && !has(self.random)) || (!has(self.export) && has(self.distributed) && !has(self.random)) || (!has(self.export) && !has(self.distributed) && has(self.random)) || (!has(self.export) && !has(self.distributed) && !has(self.random))
  8259. required:
  8260. - filesystemName
  8261. type: object
  8262. status:
  8263. description: Status represents the status of a CephFilesystem SubvolumeGroup
  8264. properties:
  8265. info:
  8266. additionalProperties:
  8267. type: string
  8268. nullable: true
  8269. type: object
  8270. observedGeneration:
  8271. description: ObservedGeneration is the latest generation observed by the controller.
  8272. format: int64
  8273. type: integer
  8274. phase:
  8275. description: ConditionType represent a resource's status
  8276. type: string
  8277. type: object
  8278. x-kubernetes-preserve-unknown-fields: true
  8279. required:
  8280. - metadata
  8281. - spec
  8282. type: object
  8283. served: true
  8284. storage: true
  8285. subresources:
  8286. status: {}
  8287. ---
  8288. # Source: rook-ceph/templates/resources.yaml
  8289. apiVersion: apiextensions.k8s.io/v1
  8290. kind: CustomResourceDefinition
  8291. metadata:
  8292. annotations:
  8293. controller-gen.kubebuilder.io/version: v0.11.3
  8294. helm.sh/resource-policy: keep
  8295. creationTimestamp: null
  8296. name: cephnfses.ceph.rook.io
  8297. spec:
  8298. group: ceph.rook.io
  8299. names:
  8300. kind: CephNFS
  8301. listKind: CephNFSList
  8302. plural: cephnfses
  8303. shortNames:
  8304. - nfs
  8305. singular: cephnfs
  8306. scope: Namespaced
  8307. versions:
  8308. - name: v1
  8309. schema:
  8310. openAPIV3Schema:
  8311. description: CephNFS represents a Ceph NFS
  8312. properties:
  8313. apiVersion:
  8314. description: APIVersion defines the versioned schema of this representation of an object.
  8315. type: string
  8316. kind:
  8317. description: Kind is a string value representing the REST resource this object represents.
  8318. type: string
  8319. metadata:
  8320. type: object
  8321. spec:
  8322. description: NFSGaneshaSpec represents the spec of an nfs ganesha server
  8323. properties:
  8324. rados:
  8325. description: RADOS is the Ganesha RADOS specification
  8326. nullable: true
  8327. properties:
  8328. namespace:
  8329. description: The namespace inside the Ceph pool (set by 'pool') where shared NFS-Ganesha config is stored.
  8330. type: string
  8331. pool:
  8332. description: The Ceph pool used store the shared configuration for NFS-Ganesha daemons.
  8333. type: string
  8334. type: object
  8335. security:
  8336. description: Security allows specifying security configurations for the NFS cluster
  8337. nullable: true
  8338. properties:
  8339. kerberos:
  8340. description: Kerberos configures NFS-Ganesha to secure NFS client connections with Kerberos.
  8341. nullable: true
  8342. properties:
  8343. configFiles:
  8344. description: ConfigFiles defines where the Kerberos configuration should be sourced from.
  8345. properties:
  8346. volumeSource:
  8347. description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for Kerberos confi
  8348. properties:
  8349. configMap:
  8350. description: configMap represents a configMap that should populate this volume
  8351. properties:
  8352. defaultMode:
  8353. description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
  8354. format: int32
  8355. type: integer
  8356. items:
  8357. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  8358. items:
  8359. description: Maps a string key to a path within a volume.
  8360. properties:
  8361. key:
  8362. description: key is the key to project.
  8363. type: string
  8364. mode:
  8365. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8366. format: int32
  8367. type: integer
  8368. path:
  8369. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8370. type: string
  8371. required:
  8372. - key
  8373. - path
  8374. type: object
  8375. type: array
  8376. name:
  8377. description: 'Name of the referent. More info: https://kubernetes.'
  8378. type: string
  8379. optional:
  8380. description: optional specify whether the ConfigMap or its keys must be defined
  8381. type: boolean
  8382. type: object
  8383. x-kubernetes-map-type: atomic
  8384. emptyDir:
  8385. description: emptyDir represents a temporary directory that shares a pod's lifetime.
  8386. properties:
  8387. medium:
  8388. description: medium represents what type of storage medium should back this directory.
  8389. type: string
  8390. sizeLimit:
  8391. anyOf:
  8392. - type: integer
  8393. - type: string
  8394. description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
  8395. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8396. x-kubernetes-int-or-string: true
  8397. type: object
  8398. hostPath:
  8399. description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
  8400. properties:
  8401. path:
  8402. description: path of the directory on the host.
  8403. type: string
  8404. type:
  8405. description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
  8406. type: string
  8407. required:
  8408. - path
  8409. type: object
  8410. persistentVolumeClaim:
  8411. description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
  8412. properties:
  8413. claimName:
  8414. description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  8415. type: string
  8416. readOnly:
  8417. description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
  8418. type: boolean
  8419. required:
  8420. - claimName
  8421. type: object
  8422. projected:
  8423. description: projected items for all in one resources secrets, configmaps, and downward API
  8424. properties:
  8425. defaultMode:
  8426. description: defaultMode are the mode bits used to set permissions on created files by default.
  8427. format: int32
  8428. type: integer
  8429. sources:
  8430. description: sources is the list of volume projections
  8431. items:
  8432. description: Projection that may be projected along with other supported volume types
  8433. properties:
  8434. configMap:
  8435. description: configMap information about the configMap data to project
  8436. properties:
  8437. items:
  8438. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  8439. items:
  8440. description: Maps a string key to a path within a volume.
  8441. properties:
  8442. key:
  8443. description: key is the key to project.
  8444. type: string
  8445. mode:
  8446. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8447. format: int32
  8448. type: integer
  8449. path:
  8450. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8451. type: string
  8452. required:
  8453. - key
  8454. - path
  8455. type: object
  8456. type: array
  8457. name:
  8458. description: 'Name of the referent. More info: https://kubernetes.'
  8459. type: string
  8460. optional:
  8461. description: optional specify whether the ConfigMap or its keys must be defined
  8462. type: boolean
  8463. type: object
  8464. x-kubernetes-map-type: atomic
  8465. downwardAPI:
  8466. description: downwardAPI information about the downwardAPI data to project
  8467. properties:
  8468. items:
  8469. description: Items is a list of DownwardAPIVolume file
  8470. items:
  8471. description: DownwardAPIVolumeFile represents information to create the file containing the pod field
  8472. properties:
  8473. fieldRef:
  8474. description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
  8475. properties:
  8476. apiVersion:
  8477. description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
  8478. type: string
  8479. fieldPath:
  8480. description: Path of the field to select in the specified API version.
  8481. type: string
  8482. required:
  8483. - fieldPath
  8484. type: object
  8485. x-kubernetes-map-type: atomic
  8486. mode:
  8487. description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
  8488. format: int32
  8489. type: integer
  8490. path:
  8491. description: 'Required: Path is the relative path name of the file to be created.'
  8492. type: string
  8493. resourceFieldRef:
  8494. description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
  8495. properties:
  8496. containerName:
  8497. description: 'Container name: required for volumes, optional for env vars'
  8498. type: string
  8499. divisor:
  8500. anyOf:
  8501. - type: integer
  8502. - type: string
  8503. description: Specifies the output format of the exposed resources, defaults to "1"
  8504. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8505. x-kubernetes-int-or-string: true
  8506. resource:
  8507. description: 'Required: resource to select'
  8508. type: string
  8509. required:
  8510. - resource
  8511. type: object
  8512. x-kubernetes-map-type: atomic
  8513. required:
  8514. - path
  8515. type: object
  8516. type: array
  8517. type: object
  8518. secret:
  8519. description: secret information about the secret data to project
  8520. properties:
  8521. items:
  8522. description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
  8523. items:
  8524. description: Maps a string key to a path within a volume.
  8525. properties:
  8526. key:
  8527. description: key is the key to project.
  8528. type: string
  8529. mode:
  8530. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8531. format: int32
  8532. type: integer
  8533. path:
  8534. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8535. type: string
  8536. required:
  8537. - key
  8538. - path
  8539. type: object
  8540. type: array
  8541. name:
  8542. description: 'Name of the referent. More info: https://kubernetes.'
  8543. type: string
  8544. optional:
  8545. description: optional field specify whether the Secret or its key must be defined
  8546. type: boolean
  8547. type: object
  8548. x-kubernetes-map-type: atomic
  8549. serviceAccountToken:
  8550. description: serviceAccountToken is information about the serviceAccountToken data to project
  8551. properties:
  8552. audience:
  8553. description: audience is the intended audience of the token.
  8554. type: string
  8555. expirationSeconds:
  8556. description: expirationSeconds is the requested duration of validity of the service account token.
  8557. format: int64
  8558. type: integer
  8559. path:
  8560. description: path is the path relative to the mount point of the file to project the token into.
  8561. type: string
  8562. required:
  8563. - path
  8564. type: object
  8565. type: object
  8566. type: array
  8567. type: object
  8568. secret:
  8569. description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
  8570. properties:
  8571. defaultMode:
  8572. description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
  8573. format: int32
  8574. type: integer
  8575. items:
  8576. description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
  8577. items:
  8578. description: Maps a string key to a path within a volume.
  8579. properties:
  8580. key:
  8581. description: key is the key to project.
  8582. type: string
  8583. mode:
  8584. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8585. format: int32
  8586. type: integer
  8587. path:
  8588. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8589. type: string
  8590. required:
  8591. - key
  8592. - path
  8593. type: object
  8594. type: array
  8595. optional:
  8596. description: optional field specify whether the Secret or its keys must be defined
  8597. type: boolean
  8598. secretName:
  8599. description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
  8600. type: string
  8601. type: object
  8602. type: object
  8603. type: object
  8604. domainName:
  8605. description: DomainName should be set to the Kerberos Realm.
  8606. type: string
  8607. keytabFile:
  8608. description: KeytabFile defines where the Kerberos keytab should be sourced from.
  8609. properties:
  8610. volumeSource:
  8611. description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the Kerberos k
  8612. properties:
  8613. configMap:
  8614. description: configMap represents a configMap that should populate this volume
  8615. properties:
  8616. defaultMode:
  8617. description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
  8618. format: int32
  8619. type: integer
  8620. items:
  8621. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  8622. items:
  8623. description: Maps a string key to a path within a volume.
  8624. properties:
  8625. key:
  8626. description: key is the key to project.
  8627. type: string
  8628. mode:
  8629. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8630. format: int32
  8631. type: integer
  8632. path:
  8633. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8634. type: string
  8635. required:
  8636. - key
  8637. - path
  8638. type: object
  8639. type: array
  8640. name:
  8641. description: 'Name of the referent. More info: https://kubernetes.'
  8642. type: string
  8643. optional:
  8644. description: optional specify whether the ConfigMap or its keys must be defined
  8645. type: boolean
  8646. type: object
  8647. x-kubernetes-map-type: atomic
  8648. emptyDir:
  8649. description: emptyDir represents a temporary directory that shares a pod's lifetime.
  8650. properties:
  8651. medium:
  8652. description: medium represents what type of storage medium should back this directory.
  8653. type: string
  8654. sizeLimit:
  8655. anyOf:
  8656. - type: integer
  8657. - type: string
  8658. description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
  8659. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8660. x-kubernetes-int-or-string: true
  8661. type: object
  8662. hostPath:
  8663. description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
  8664. properties:
  8665. path:
  8666. description: path of the directory on the host.
  8667. type: string
  8668. type:
  8669. description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
  8670. type: string
  8671. required:
  8672. - path
  8673. type: object
  8674. persistentVolumeClaim:
  8675. description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
  8676. properties:
  8677. claimName:
  8678. description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  8679. type: string
  8680. readOnly:
  8681. description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
  8682. type: boolean
  8683. required:
  8684. - claimName
  8685. type: object
  8686. projected:
  8687. description: projected items for all in one resources secrets, configmaps, and downward API
  8688. properties:
  8689. defaultMode:
  8690. description: defaultMode are the mode bits used to set permissions on created files by default.
  8691. format: int32
  8692. type: integer
  8693. sources:
  8694. description: sources is the list of volume projections
  8695. items:
  8696. description: Projection that may be projected along with other supported volume types
  8697. properties:
  8698. configMap:
  8699. description: configMap information about the configMap data to project
  8700. properties:
  8701. items:
  8702. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  8703. items:
  8704. description: Maps a string key to a path within a volume.
  8705. properties:
  8706. key:
  8707. description: key is the key to project.
  8708. type: string
  8709. mode:
  8710. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8711. format: int32
  8712. type: integer
  8713. path:
  8714. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8715. type: string
  8716. required:
  8717. - key
  8718. - path
  8719. type: object
  8720. type: array
  8721. name:
  8722. description: 'Name of the referent. More info: https://kubernetes.'
  8723. type: string
  8724. optional:
  8725. description: optional specify whether the ConfigMap or its keys must be defined
  8726. type: boolean
  8727. type: object
  8728. x-kubernetes-map-type: atomic
  8729. downwardAPI:
  8730. description: downwardAPI information about the downwardAPI data to project
  8731. properties:
  8732. items:
  8733. description: Items is a list of DownwardAPIVolume file
  8734. items:
  8735. description: DownwardAPIVolumeFile represents information to create the file containing the pod field
  8736. properties:
  8737. fieldRef:
  8738. description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
  8739. properties:
  8740. apiVersion:
  8741. description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
  8742. type: string
  8743. fieldPath:
  8744. description: Path of the field to select in the specified API version.
  8745. type: string
  8746. required:
  8747. - fieldPath
  8748. type: object
  8749. x-kubernetes-map-type: atomic
  8750. mode:
  8751. description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
  8752. format: int32
  8753. type: integer
  8754. path:
  8755. description: 'Required: Path is the relative path name of the file to be created.'
  8756. type: string
  8757. resourceFieldRef:
  8758. description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
  8759. properties:
  8760. containerName:
  8761. description: 'Container name: required for volumes, optional for env vars'
  8762. type: string
  8763. divisor:
  8764. anyOf:
  8765. - type: integer
  8766. - type: string
  8767. description: Specifies the output format of the exposed resources, defaults to "1"
  8768. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8769. x-kubernetes-int-or-string: true
  8770. resource:
  8771. description: 'Required: resource to select'
  8772. type: string
  8773. required:
  8774. - resource
  8775. type: object
  8776. x-kubernetes-map-type: atomic
  8777. required:
  8778. - path
  8779. type: object
  8780. type: array
  8781. type: object
  8782. secret:
  8783. description: secret information about the secret data to project
  8784. properties:
  8785. items:
  8786. description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
  8787. items:
  8788. description: Maps a string key to a path within a volume.
  8789. properties:
  8790. key:
  8791. description: key is the key to project.
  8792. type: string
  8793. mode:
  8794. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8795. format: int32
  8796. type: integer
  8797. path:
  8798. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8799. type: string
  8800. required:
  8801. - key
  8802. - path
  8803. type: object
  8804. type: array
  8805. name:
  8806. description: 'Name of the referent. More info: https://kubernetes.'
  8807. type: string
  8808. optional:
  8809. description: optional field specify whether the Secret or its key must be defined
  8810. type: boolean
  8811. type: object
  8812. x-kubernetes-map-type: atomic
  8813. serviceAccountToken:
  8814. description: serviceAccountToken is information about the serviceAccountToken data to project
  8815. properties:
  8816. audience:
  8817. description: audience is the intended audience of the token.
  8818. type: string
  8819. expirationSeconds:
  8820. description: expirationSeconds is the requested duration of validity of the service account token.
  8821. format: int64
  8822. type: integer
  8823. path:
  8824. description: path is the path relative to the mount point of the file to project the token into.
  8825. type: string
  8826. required:
  8827. - path
  8828. type: object
  8829. type: object
  8830. type: array
  8831. type: object
  8832. secret:
  8833. description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
  8834. properties:
  8835. defaultMode:
  8836. description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
  8837. format: int32
  8838. type: integer
  8839. items:
  8840. description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
  8841. items:
  8842. description: Maps a string key to a path within a volume.
  8843. properties:
  8844. key:
  8845. description: key is the key to project.
  8846. type: string
  8847. mode:
  8848. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8849. format: int32
  8850. type: integer
  8851. path:
  8852. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8853. type: string
  8854. required:
  8855. - key
  8856. - path
  8857. type: object
  8858. type: array
  8859. optional:
  8860. description: optional field specify whether the Secret or its keys must be defined
  8861. type: boolean
  8862. secretName:
  8863. description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
  8864. type: string
  8865. type: object
  8866. type: object
  8867. type: object
  8868. principalName:
  8869. default: nfs
  8870. description: PrincipalName corresponds directly to NFS-Ganesha's NFS_KRB5:PrincipalName config.
  8871. type: string
  8872. type: object
  8873. sssd:
  8874. description: SSSD enables integration with System Security Services Daemon (SSSD).
  8875. nullable: true
  8876. properties:
  8877. sidecar:
  8878. description: Sidecar tells Rook to run SSSD in a sidecar alongside the NFS-Ganesha server in each NFS pod.
  8879. properties:
  8880. additionalFiles:
  8881. description: AdditionalFiles defines any number of additional files that should be mounted into the SSSD sidecar.
  8882. items:
  8883. description: SSSDSidecarAdditionalFile represents the source from where additional files for the the SSSD configu
  8884. properties:
  8885. subPath:
  8886. description: SubPath defines the sub-path in `/etc/sssd/rook-additional/` where the additional file(s) will be pl
  8887. minLength: 1
  8888. pattern: ^[^:]+$
  8889. type: string
  8890. volumeSource:
  8891. description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the additional
  8892. properties:
  8893. configMap:
  8894. description: configMap represents a configMap that should populate this volume
  8895. properties:
  8896. defaultMode:
  8897. description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
  8898. format: int32
  8899. type: integer
  8900. items:
  8901. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  8902. items:
  8903. description: Maps a string key to a path within a volume.
  8904. properties:
  8905. key:
  8906. description: key is the key to project.
  8907. type: string
  8908. mode:
  8909. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8910. format: int32
  8911. type: integer
  8912. path:
  8913. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8914. type: string
  8915. required:
  8916. - key
  8917. - path
  8918. type: object
  8919. type: array
  8920. name:
  8921. description: 'Name of the referent. More info: https://kubernetes.'
  8922. type: string
  8923. optional:
  8924. description: optional specify whether the ConfigMap or its keys must be defined
  8925. type: boolean
  8926. type: object
  8927. x-kubernetes-map-type: atomic
  8928. emptyDir:
  8929. description: emptyDir represents a temporary directory that shares a pod's lifetime.
  8930. properties:
  8931. medium:
  8932. description: medium represents what type of storage medium should back this directory.
  8933. type: string
  8934. sizeLimit:
  8935. anyOf:
  8936. - type: integer
  8937. - type: string
  8938. description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
  8939. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  8940. x-kubernetes-int-or-string: true
  8941. type: object
  8942. hostPath:
  8943. description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
  8944. properties:
  8945. path:
  8946. description: path of the directory on the host.
  8947. type: string
  8948. type:
  8949. description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
  8950. type: string
  8951. required:
  8952. - path
  8953. type: object
  8954. persistentVolumeClaim:
  8955. description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
  8956. properties:
  8957. claimName:
  8958. description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  8959. type: string
  8960. readOnly:
  8961. description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
  8962. type: boolean
  8963. required:
  8964. - claimName
  8965. type: object
  8966. projected:
  8967. description: projected items for all in one resources secrets, configmaps, and downward API
  8968. properties:
  8969. defaultMode:
  8970. description: defaultMode are the mode bits used to set permissions on created files by default.
  8971. format: int32
  8972. type: integer
  8973. sources:
  8974. description: sources is the list of volume projections
  8975. items:
  8976. description: Projection that may be projected along with other supported volume types
  8977. properties:
  8978. configMap:
  8979. description: configMap information about the configMap data to project
  8980. properties:
  8981. items:
  8982. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  8983. items:
  8984. description: Maps a string key to a path within a volume.
  8985. properties:
  8986. key:
  8987. description: key is the key to project.
  8988. type: string
  8989. mode:
  8990. description: 'mode is Optional: mode bits used to set permissions on this file.'
  8991. format: int32
  8992. type: integer
  8993. path:
  8994. description: path is the relative path of the file to map the key to. May not be an absolute path.
  8995. type: string
  8996. required:
  8997. - key
  8998. - path
  8999. type: object
  9000. type: array
  9001. name:
  9002. description: 'Name of the referent. More info: https://kubernetes.'
  9003. type: string
  9004. optional:
  9005. description: optional specify whether the ConfigMap or its keys must be defined
  9006. type: boolean
  9007. type: object
  9008. x-kubernetes-map-type: atomic
  9009. downwardAPI:
  9010. description: downwardAPI information about the downwardAPI data to project
  9011. properties:
  9012. items:
  9013. description: Items is a list of DownwardAPIVolume file
  9014. items:
  9015. description: DownwardAPIVolumeFile represents information to create the file containing the pod field
  9016. properties:
  9017. fieldRef:
  9018. description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
  9019. properties:
  9020. apiVersion:
  9021. description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
  9022. type: string
  9023. fieldPath:
  9024. description: Path of the field to select in the specified API version.
  9025. type: string
  9026. required:
  9027. - fieldPath
  9028. type: object
  9029. x-kubernetes-map-type: atomic
  9030. mode:
  9031. description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
  9032. format: int32
  9033. type: integer
  9034. path:
  9035. description: 'Required: Path is the relative path name of the file to be created.'
  9036. type: string
  9037. resourceFieldRef:
  9038. description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
  9039. properties:
  9040. containerName:
  9041. description: 'Container name: required for volumes, optional for env vars'
  9042. type: string
  9043. divisor:
  9044. anyOf:
  9045. - type: integer
  9046. - type: string
  9047. description: Specifies the output format of the exposed resources, defaults to "1"
  9048. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9049. x-kubernetes-int-or-string: true
  9050. resource:
  9051. description: 'Required: resource to select'
  9052. type: string
  9053. required:
  9054. - resource
  9055. type: object
  9056. x-kubernetes-map-type: atomic
  9057. required:
  9058. - path
  9059. type: object
  9060. type: array
  9061. type: object
  9062. secret:
  9063. description: secret information about the secret data to project
  9064. properties:
  9065. items:
  9066. description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
  9067. items:
  9068. description: Maps a string key to a path within a volume.
  9069. properties:
  9070. key:
  9071. description: key is the key to project.
  9072. type: string
  9073. mode:
  9074. description: 'mode is Optional: mode bits used to set permissions on this file.'
  9075. format: int32
  9076. type: integer
  9077. path:
  9078. description: path is the relative path of the file to map the key to. May not be an absolute path.
  9079. type: string
  9080. required:
  9081. - key
  9082. - path
  9083. type: object
  9084. type: array
  9085. name:
  9086. description: 'Name of the referent. More info: https://kubernetes.'
  9087. type: string
  9088. optional:
  9089. description: optional field specify whether the Secret or its key must be defined
  9090. type: boolean
  9091. type: object
  9092. x-kubernetes-map-type: atomic
  9093. serviceAccountToken:
  9094. description: serviceAccountToken is information about the serviceAccountToken data to project
  9095. properties:
  9096. audience:
  9097. description: audience is the intended audience of the token.
  9098. type: string
  9099. expirationSeconds:
  9100. description: expirationSeconds is the requested duration of validity of the service account token.
  9101. format: int64
  9102. type: integer
  9103. path:
  9104. description: path is the path relative to the mount point of the file to project the token into.
  9105. type: string
  9106. required:
  9107. - path
  9108. type: object
  9109. type: object
  9110. type: array
  9111. type: object
  9112. secret:
  9113. description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
  9114. properties:
  9115. defaultMode:
  9116. description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
  9117. format: int32
  9118. type: integer
  9119. items:
  9120. description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
  9121. items:
  9122. description: Maps a string key to a path within a volume.
  9123. properties:
  9124. key:
  9125. description: key is the key to project.
  9126. type: string
  9127. mode:
  9128. description: 'mode is Optional: mode bits used to set permissions on this file.'
  9129. format: int32
  9130. type: integer
  9131. path:
  9132. description: path is the relative path of the file to map the key to. May not be an absolute path.
  9133. type: string
  9134. required:
  9135. - key
  9136. - path
  9137. type: object
  9138. type: array
  9139. optional:
  9140. description: optional field specify whether the Secret or its keys must be defined
  9141. type: boolean
  9142. secretName:
  9143. description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
  9144. type: string
  9145. type: object
  9146. type: object
  9147. required:
  9148. - subPath
  9149. - volumeSource
  9150. type: object
  9151. type: array
  9152. debugLevel:
  9153. description: DebugLevel sets the debug level for SSSD. If unset or set to 0, Rook does nothing.
  9154. maximum: 10
  9155. minimum: 0
  9156. type: integer
  9157. image:
  9158. description: Image defines the container image that should be used for the SSSD sidecar.
  9159. minLength: 1
  9160. type: string
  9161. resources:
  9162. description: Resources allow specifying resource requests/limits on the SSSD sidecar container.
  9163. properties:
  9164. claims:
  9165. description: Claims lists the names of resources, defined in spec.
  9166. items:
  9167. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  9168. properties:
  9169. name:
  9170. description: Name must match the name of one entry in pod.spec.
  9171. type: string
  9172. required:
  9173. - name
  9174. type: object
  9175. type: array
  9176. x-kubernetes-list-map-keys:
  9177. - name
  9178. x-kubernetes-list-type: map
  9179. limits:
  9180. additionalProperties:
  9181. anyOf:
  9182. - type: integer
  9183. - type: string
  9184. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9185. x-kubernetes-int-or-string: true
  9186. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  9187. type: object
  9188. requests:
  9189. additionalProperties:
  9190. anyOf:
  9191. - type: integer
  9192. - type: string
  9193. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9194. x-kubernetes-int-or-string: true
  9195. description: Requests describes the minimum amount of compute resources required.
  9196. type: object
  9197. type: object
  9198. sssdConfigFile:
  9199. description: SSSDConfigFile defines where the SSSD configuration should be sourced from.
  9200. properties:
  9201. volumeSource:
  9202. description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the SSSD confi
  9203. properties:
  9204. configMap:
  9205. description: configMap represents a configMap that should populate this volume
  9206. properties:
  9207. defaultMode:
  9208. description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
  9209. format: int32
  9210. type: integer
  9211. items:
  9212. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  9213. items:
  9214. description: Maps a string key to a path within a volume.
  9215. properties:
  9216. key:
  9217. description: key is the key to project.
  9218. type: string
  9219. mode:
  9220. description: 'mode is Optional: mode bits used to set permissions on this file.'
  9221. format: int32
  9222. type: integer
  9223. path:
  9224. description: path is the relative path of the file to map the key to. May not be an absolute path.
  9225. type: string
  9226. required:
  9227. - key
  9228. - path
  9229. type: object
  9230. type: array
  9231. name:
  9232. description: 'Name of the referent. More info: https://kubernetes.'
  9233. type: string
  9234. optional:
  9235. description: optional specify whether the ConfigMap or its keys must be defined
  9236. type: boolean
  9237. type: object
  9238. x-kubernetes-map-type: atomic
  9239. emptyDir:
  9240. description: emptyDir represents a temporary directory that shares a pod's lifetime.
  9241. properties:
  9242. medium:
  9243. description: medium represents what type of storage medium should back this directory.
  9244. type: string
  9245. sizeLimit:
  9246. anyOf:
  9247. - type: integer
  9248. - type: string
  9249. description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
  9250. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9251. x-kubernetes-int-or-string: true
  9252. type: object
  9253. hostPath:
  9254. description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
  9255. properties:
  9256. path:
  9257. description: path of the directory on the host.
  9258. type: string
  9259. type:
  9260. description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
  9261. type: string
  9262. required:
  9263. - path
  9264. type: object
  9265. persistentVolumeClaim:
  9266. description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
  9267. properties:
  9268. claimName:
  9269. description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
  9270. type: string
  9271. readOnly:
  9272. description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
  9273. type: boolean
  9274. required:
  9275. - claimName
  9276. type: object
  9277. projected:
  9278. description: projected items for all in one resources secrets, configmaps, and downward API
  9279. properties:
  9280. defaultMode:
  9281. description: defaultMode are the mode bits used to set permissions on created files by default.
  9282. format: int32
  9283. type: integer
  9284. sources:
  9285. description: sources is the list of volume projections
  9286. items:
  9287. description: Projection that may be projected along with other supported volume types
  9288. properties:
  9289. configMap:
  9290. description: configMap information about the configMap data to project
  9291. properties:
  9292. items:
  9293. description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
  9294. items:
  9295. description: Maps a string key to a path within a volume.
  9296. properties:
  9297. key:
  9298. description: key is the key to project.
  9299. type: string
  9300. mode:
  9301. description: 'mode is Optional: mode bits used to set permissions on this file.'
  9302. format: int32
  9303. type: integer
  9304. path:
  9305. description: path is the relative path of the file to map the key to. May not be an absolute path.
  9306. type: string
  9307. required:
  9308. - key
  9309. - path
  9310. type: object
  9311. type: array
  9312. name:
  9313. description: 'Name of the referent. More info: https://kubernetes.'
  9314. type: string
  9315. optional:
  9316. description: optional specify whether the ConfigMap or its keys must be defined
  9317. type: boolean
  9318. type: object
  9319. x-kubernetes-map-type: atomic
  9320. downwardAPI:
  9321. description: downwardAPI information about the downwardAPI data to project
  9322. properties:
  9323. items:
  9324. description: Items is a list of DownwardAPIVolume file
  9325. items:
  9326. description: DownwardAPIVolumeFile represents information to create the file containing the pod field
  9327. properties:
  9328. fieldRef:
  9329. description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
  9330. properties:
  9331. apiVersion:
  9332. description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
  9333. type: string
  9334. fieldPath:
  9335. description: Path of the field to select in the specified API version.
  9336. type: string
  9337. required:
  9338. - fieldPath
  9339. type: object
  9340. x-kubernetes-map-type: atomic
  9341. mode:
  9342. description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
  9343. format: int32
  9344. type: integer
  9345. path:
  9346. description: 'Required: Path is the relative path name of the file to be created.'
  9347. type: string
  9348. resourceFieldRef:
  9349. description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
  9350. properties:
  9351. containerName:
  9352. description: 'Container name: required for volumes, optional for env vars'
  9353. type: string
  9354. divisor:
  9355. anyOf:
  9356. - type: integer
  9357. - type: string
  9358. description: Specifies the output format of the exposed resources, defaults to "1"
  9359. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  9360. x-kubernetes-int-or-string: true
  9361. resource:
  9362. description: 'Required: resource to select'
  9363. type: string
  9364. required:
  9365. - resource
  9366. type: object
  9367. x-kubernetes-map-type: atomic
  9368. required:
  9369. - path
  9370. type: object
  9371. type: array
  9372. type: object
  9373. secret:
  9374. description: secret information about the secret data to project
  9375. properties:
  9376. items:
  9377. description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
  9378. items:
  9379. description: Maps a string key to a path within a volume.
  9380. properties:
  9381. key:
  9382. description: key is the key to project.
  9383. type: string
  9384. mode:
  9385. description: 'mode is Optional: mode bits used to set permissions on this file.'
  9386. format: int32
  9387. type: integer
  9388. path:
  9389. description: path is the relative path of the file to map the key to. May not be an absolute path.
  9390. type: string
  9391. required:
  9392. - key
  9393. - path
  9394. type: object
  9395. type: array
  9396. name:
  9397. description: 'Name of the referent. More info: https://kubernetes.'
  9398. type: string
  9399. optional:
  9400. description: optional field specify whether the Secret or its key must be defined
  9401. type: boolean
  9402. type: object
  9403. x-kubernetes-map-type: atomic
  9404. serviceAccountToken:
  9405. description: serviceAccountToken is information about the serviceAccountToken data to project
  9406. properties:
  9407. audience:
  9408. description: audience is the intended audience of the token.
  9409. type: string
  9410. expirationSeconds:
  9411. description: expirationSeconds is the requested duration of validity of the service account token.
  9412. format: int64
  9413. type: integer
  9414. path:
  9415. description: path is the path relative to the mount point of the file to project the token into.
  9416. type: string
  9417. required:
  9418. - path
  9419. type: object
  9420. type: object
  9421. type: array
  9422. type: object
  9423. secret:
  9424. description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
  9425. properties:
  9426. defaultMode:
  9427. description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
  9428. format: int32
  9429. type: integer
  9430. items:
  9431. description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
  9432. items:
  9433. description: Maps a string key to a path within a volume.
  9434. properties:
  9435. key:
  9436. description: key is the key to project.
  9437. type: string
  9438. mode:
  9439. description: 'mode is Optional: mode bits used to set permissions on this file.'
  9440. format: int32
  9441. type: integer
  9442. path:
  9443. description: path is the relative path of the file to map the key to. May not be an absolute path.
  9444. type: string
  9445. required:
  9446. - key
  9447. - path
  9448. type: object
  9449. type: array
  9450. optional:
  9451. description: optional field specify whether the Secret or its keys must be defined
  9452. type: boolean
  9453. secretName:
  9454. description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
  9455. type: string
  9456. type: object
  9457. type: object
  9458. type: object
  9459. required:
  9460. - image
  9461. type: object
  9462. type: object
  9463. type: object
  9464. server:
  9465. description: Server is the Ganesha Server specification
  9466. properties:
  9467. active:
  9468. description: The number of active Ganesha servers
  9469. type: integer
  9470. annotations:
  9471. additionalProperties:
  9472. type: string
  9473. description: The annotations-related configuration to add/set on each Pod related object.
  9474. nullable: true
  9475. type: object
  9476. x-kubernetes-preserve-unknown-fields: true
  9477. hostNetwork:
  9478. description: Whether host networking is enabled for the Ganesha server.
  9479. nullable: true
  9480. type: boolean
  9481. labels:
  9482. additionalProperties:
  9483. type: string
  9484. description: The labels-related configuration to add/set on each Pod related object.
  9485. nullable: true
  9486. type: object
  9487. x-kubernetes-preserve-unknown-fields: true
  9488. livenessProbe:
  9489. description: A liveness-probe to verify that Ganesha server has valid run-time state. If LivenessProbe.
  9490. properties:
  9491. disabled:
  9492. description: Disabled determines whether probe is disable or not
  9493. type: boolean
  9494. probe:
  9495. description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
  9496. properties:
  9497. exec:
  9498. description: Exec specifies the action to take.
  9499. properties:
  9500. command:
  9501. description: 'Command is the command line to execute inside the container, the working directory for the command '
  9502. items:
  9503. type: string
  9504. type: array
  9505. type: object
  9506. failureThreshold:
  9507. description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
  9508. format: int32
  9509. type: integer
  9510. grpc:
  9511. description: GRPC specifies an action involving a GRPC port.
  9512. properties:
  9513. port:
  9514. description: Port number of the gRPC service. Number must be in the range 1 to 65535.
  9515. format: int32
  9516. type: integer
  9517. service:
  9518. description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
  9519. type: string
  9520. required:
  9521. - port
  9522. type: object
  9523. httpGet:
  9524. description: HTTPGet specifies the http request to perform.
  9525. properties:
  9526. host:
  9527. description: Host name to connect to, defaults to the pod IP.
  9528. type: string
  9529. httpHeaders:
  9530. description: Custom headers to set in the request. HTTP allows repeated headers.
  9531. items:
  9532. description: HTTPHeader describes a custom header to be used in HTTP probes
  9533. properties:
  9534. name:
  9535. description: The header field name.
  9536. type: string
  9537. value:
  9538. description: The header field value
  9539. type: string
  9540. required:
  9541. - name
  9542. - value
  9543. type: object
  9544. type: array
  9545. path:
  9546. description: Path to access on the HTTP server.
  9547. type: string
  9548. port:
  9549. anyOf:
  9550. - type: integer
  9551. - type: string
  9552. description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
  9553. x-kubernetes-int-or-string: true
  9554. scheme:
  9555. description: Scheme to use for connecting to the host. Defaults to HTTP.
  9556. type: string
  9557. required:
  9558. - port
  9559. type: object
  9560. initialDelaySeconds:
  9561. description: Number of seconds after the container has started before liveness probes are initiated.
  9562. format: int32
  9563. type: integer
  9564. periodSeconds:
  9565. description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
  9566. format: int32
  9567. type: integer
  9568. successThreshold:
  9569. description: Minimum consecutive successes for the probe to be considered successful after having failed.
  9570. format: int32
  9571. type: integer
  9572. tcpSocket:
  9573. description: TCPSocket specifies an action involving a TCP port.
  9574. properties:
  9575. host:
  9576. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  9577. type: string
  9578. port:
  9579. anyOf:
  9580. - type: integer
  9581. - type: string
  9582. description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
  9583. x-kubernetes-int-or-string: true
  9584. required:
  9585. - port
  9586. type: object
  9587. terminationGracePeriodSeconds:
  9588. description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
  9589. format: int64
  9590. type: integer
  9591. timeoutSeconds:
  9592. description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
  9593. format: int32
  9594. type: integer
  9595. type: object
  9596. type: object
  9597. logLevel:
  9598. description: LogLevel set logging level
  9599. type: string
  9600. placement:
  9601. description: The affinity to place the ganesha pods
  9602. nullable: true
  9603. properties:
  9604. nodeAffinity:
  9605. description: NodeAffinity is a group of node affinity scheduling rules
  9606. properties:
  9607. preferredDuringSchedulingIgnoredDuringExecution:
  9608. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  9609. items:
  9610. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  9611. properties:
  9612. preference:
  9613. description: A node selector term, associated with the corresponding weight.
  9614. properties:
  9615. matchExpressions:
  9616. description: A list of node selector requirements by node's labels.
  9617. items:
  9618. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  9619. properties:
  9620. key:
  9621. description: The label key that the selector applies to.
  9622. type: string
  9623. operator:
  9624. description: Represents a key's relationship to a set of values.
  9625. type: string
  9626. values:
  9627. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  9628. items:
  9629. type: string
  9630. type: array
  9631. required:
  9632. - key
  9633. - operator
  9634. type: object
  9635. type: array
  9636. matchFields:
  9637. description: A list of node selector requirements by node's fields.
  9638. items:
  9639. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  9640. properties:
  9641. key:
  9642. description: The label key that the selector applies to.
  9643. type: string
  9644. operator:
  9645. description: Represents a key's relationship to a set of values.
  9646. type: string
  9647. values:
  9648. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  9649. items:
  9650. type: string
  9651. type: array
  9652. required:
  9653. - key
  9654. - operator
  9655. type: object
  9656. type: array
  9657. type: object
  9658. x-kubernetes-map-type: atomic
  9659. weight:
  9660. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  9661. format: int32
  9662. type: integer
  9663. required:
  9664. - preference
  9665. - weight
  9666. type: object
  9667. type: array
  9668. requiredDuringSchedulingIgnoredDuringExecution:
  9669. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  9670. properties:
  9671. nodeSelectorTerms:
  9672. description: Required. A list of node selector terms. The terms are ORed.
  9673. items:
  9674. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  9675. properties:
  9676. matchExpressions:
  9677. description: A list of node selector requirements by node's labels.
  9678. items:
  9679. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  9680. properties:
  9681. key:
  9682. description: The label key that the selector applies to.
  9683. type: string
  9684. operator:
  9685. description: Represents a key's relationship to a set of values.
  9686. type: string
  9687. values:
  9688. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  9689. items:
  9690. type: string
  9691. type: array
  9692. required:
  9693. - key
  9694. - operator
  9695. type: object
  9696. type: array
  9697. matchFields:
  9698. description: A list of node selector requirements by node's fields.
  9699. items:
  9700. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  9701. properties:
  9702. key:
  9703. description: The label key that the selector applies to.
  9704. type: string
  9705. operator:
  9706. description: Represents a key's relationship to a set of values.
  9707. type: string
  9708. values:
  9709. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  9710. items:
  9711. type: string
  9712. type: array
  9713. required:
  9714. - key
  9715. - operator
  9716. type: object
  9717. type: array
  9718. type: object
  9719. x-kubernetes-map-type: atomic
  9720. type: array
  9721. required:
  9722. - nodeSelectorTerms
  9723. type: object
  9724. x-kubernetes-map-type: atomic
  9725. type: object
  9726. podAffinity:
  9727. description: PodAffinity is a group of inter pod affinity scheduling rules
  9728. properties:
  9729. preferredDuringSchedulingIgnoredDuringExecution:
  9730. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  9731. items:
  9732. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  9733. properties:
  9734. podAffinityTerm:
  9735. description: Required. A pod affinity term, associated with the corresponding weight.
  9736. properties:
  9737. labelSelector:
  9738. description: A label query over a set of resources, in this case pods.
  9739. properties:
  9740. matchExpressions:
  9741. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  9742. items:
  9743. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  9744. properties:
  9745. key:
  9746. description: key is the label key that the selector applies to.
  9747. type: string
  9748. operator:
  9749. description: operator represents a key's relationship to a set of values.
  9750. type: string
  9751. values:
  9752. description: values is an array of string values.
  9753. items:
  9754. type: string
  9755. type: array
  9756. required:
  9757. - key
  9758. - operator
  9759. type: object
  9760. type: array
  9761. matchLabels:
  9762. additionalProperties:
  9763. type: string
  9764. description: matchLabels is a map of {key,value} pairs.
  9765. type: object
  9766. type: object
  9767. x-kubernetes-map-type: atomic
  9768. namespaceSelector:
  9769. description: A label query over the set of namespaces that the term applies to.
  9770. properties:
  9771. matchExpressions:
  9772. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  9773. items:
  9774. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  9775. properties:
  9776. key:
  9777. description: key is the label key that the selector applies to.
  9778. type: string
  9779. operator:
  9780. description: operator represents a key's relationship to a set of values.
  9781. type: string
  9782. values:
  9783. description: values is an array of string values.
  9784. items:
  9785. type: string
  9786. type: array
  9787. required:
  9788. - key
  9789. - operator
  9790. type: object
  9791. type: array
  9792. matchLabels:
  9793. additionalProperties:
  9794. type: string
  9795. description: matchLabels is a map of {key,value} pairs.
  9796. type: object
  9797. type: object
  9798. x-kubernetes-map-type: atomic
  9799. namespaces:
  9800. description: namespaces specifies a static list of namespace names that the term applies to.
  9801. items:
  9802. type: string
  9803. type: array
  9804. topologyKey:
  9805. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  9806. type: string
  9807. required:
  9808. - topologyKey
  9809. type: object
  9810. weight:
  9811. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  9812. format: int32
  9813. type: integer
  9814. required:
  9815. - podAffinityTerm
  9816. - weight
  9817. type: object
  9818. type: array
  9819. requiredDuringSchedulingIgnoredDuringExecution:
  9820. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  9821. items:
  9822. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  9823. properties:
  9824. labelSelector:
  9825. description: A label query over a set of resources, in this case pods.
  9826. properties:
  9827. matchExpressions:
  9828. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  9829. items:
  9830. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  9831. properties:
  9832. key:
  9833. description: key is the label key that the selector applies to.
  9834. type: string
  9835. operator:
  9836. description: operator represents a key's relationship to a set of values.
  9837. type: string
  9838. values:
  9839. description: values is an array of string values.
  9840. items:
  9841. type: string
  9842. type: array
  9843. required:
  9844. - key
  9845. - operator
  9846. type: object
  9847. type: array
  9848. matchLabels:
  9849. additionalProperties:
  9850. type: string
  9851. description: matchLabels is a map of {key,value} pairs.
  9852. type: object
  9853. type: object
  9854. x-kubernetes-map-type: atomic
  9855. namespaceSelector:
  9856. description: A label query over the set of namespaces that the term applies to.
  9857. properties:
  9858. matchExpressions:
  9859. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  9860. items:
  9861. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  9862. properties:
  9863. key:
  9864. description: key is the label key that the selector applies to.
  9865. type: string
  9866. operator:
  9867. description: operator represents a key's relationship to a set of values.
  9868. type: string
  9869. values:
  9870. description: values is an array of string values.
  9871. items:
  9872. type: string
  9873. type: array
  9874. required:
  9875. - key
  9876. - operator
  9877. type: object
  9878. type: array
  9879. matchLabels:
  9880. additionalProperties:
  9881. type: string
  9882. description: matchLabels is a map of {key,value} pairs.
  9883. type: object
  9884. type: object
  9885. x-kubernetes-map-type: atomic
  9886. namespaces:
  9887. description: namespaces specifies a static list of namespace names that the term applies to.
  9888. items:
  9889. type: string
  9890. type: array
  9891. topologyKey:
  9892. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  9893. type: string
  9894. required:
  9895. - topologyKey
  9896. type: object
  9897. type: array
  9898. type: object
  9899. podAntiAffinity:
  9900. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  9901. properties:
  9902. preferredDuringSchedulingIgnoredDuringExecution:
  9903. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  9904. items:
  9905. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  9906. properties:
  9907. podAffinityTerm:
  9908. description: Required. A pod affinity term, associated with the corresponding weight.
  9909. properties:
  9910. labelSelector:
  9911. description: A label query over a set of resources, in this case pods.
  9912. properties:
  9913. matchExpressions:
  9914. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  9915. items:
  9916. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  9917. properties:
  9918. key:
  9919. description: key is the label key that the selector applies to.
  9920. type: string
  9921. operator:
  9922. description: operator represents a key's relationship to a set of values.
  9923. type: string
  9924. values:
  9925. description: values is an array of string values.
  9926. items:
  9927. type: string
  9928. type: array
  9929. required:
  9930. - key
  9931. - operator
  9932. type: object
  9933. type: array
  9934. matchLabels:
  9935. additionalProperties:
  9936. type: string
  9937. description: matchLabels is a map of {key,value} pairs.
  9938. type: object
  9939. type: object
  9940. x-kubernetes-map-type: atomic
  9941. namespaceSelector:
  9942. description: A label query over the set of namespaces that the term applies to.
  9943. properties:
  9944. matchExpressions:
  9945. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  9946. items:
  9947. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  9948. properties:
  9949. key:
  9950. description: key is the label key that the selector applies to.
  9951. type: string
  9952. operator:
  9953. description: operator represents a key's relationship to a set of values.
  9954. type: string
  9955. values:
  9956. description: values is an array of string values.
  9957. items:
  9958. type: string
  9959. type: array
  9960. required:
  9961. - key
  9962. - operator
  9963. type: object
  9964. type: array
  9965. matchLabels:
  9966. additionalProperties:
  9967. type: string
  9968. description: matchLabels is a map of {key,value} pairs.
  9969. type: object
  9970. type: object
  9971. x-kubernetes-map-type: atomic
  9972. namespaces:
  9973. description: namespaces specifies a static list of namespace names that the term applies to.
  9974. items:
  9975. type: string
  9976. type: array
  9977. topologyKey:
  9978. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  9979. type: string
  9980. required:
  9981. - topologyKey
  9982. type: object
  9983. weight:
  9984. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  9985. format: int32
  9986. type: integer
  9987. required:
  9988. - podAffinityTerm
  9989. - weight
  9990. type: object
  9991. type: array
  9992. requiredDuringSchedulingIgnoredDuringExecution:
  9993. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  9994. items:
  9995. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  9996. properties:
  9997. labelSelector:
  9998. description: A label query over a set of resources, in this case pods.
  9999. properties:
  10000. matchExpressions:
  10001. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10002. items:
  10003. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10004. properties:
  10005. key:
  10006. description: key is the label key that the selector applies to.
  10007. type: string
  10008. operator:
  10009. description: operator represents a key's relationship to a set of values.
  10010. type: string
  10011. values:
  10012. description: values is an array of string values.
  10013. items:
  10014. type: string
  10015. type: array
  10016. required:
  10017. - key
  10018. - operator
  10019. type: object
  10020. type: array
  10021. matchLabels:
  10022. additionalProperties:
  10023. type: string
  10024. description: matchLabels is a map of {key,value} pairs.
  10025. type: object
  10026. type: object
  10027. x-kubernetes-map-type: atomic
  10028. namespaceSelector:
  10029. description: A label query over the set of namespaces that the term applies to.
  10030. properties:
  10031. matchExpressions:
  10032. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10033. items:
  10034. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10035. properties:
  10036. key:
  10037. description: key is the label key that the selector applies to.
  10038. type: string
  10039. operator:
  10040. description: operator represents a key's relationship to a set of values.
  10041. type: string
  10042. values:
  10043. description: values is an array of string values.
  10044. items:
  10045. type: string
  10046. type: array
  10047. required:
  10048. - key
  10049. - operator
  10050. type: object
  10051. type: array
  10052. matchLabels:
  10053. additionalProperties:
  10054. type: string
  10055. description: matchLabels is a map of {key,value} pairs.
  10056. type: object
  10057. type: object
  10058. x-kubernetes-map-type: atomic
  10059. namespaces:
  10060. description: namespaces specifies a static list of namespace names that the term applies to.
  10061. items:
  10062. type: string
  10063. type: array
  10064. topologyKey:
  10065. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  10066. type: string
  10067. required:
  10068. - topologyKey
  10069. type: object
  10070. type: array
  10071. type: object
  10072. tolerations:
  10073. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  10074. items:
  10075. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  10076. properties:
  10077. effect:
  10078. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  10079. type: string
  10080. key:
  10081. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  10082. type: string
  10083. operator:
  10084. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  10085. type: string
  10086. tolerationSeconds:
  10087. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  10088. format: int64
  10089. type: integer
  10090. value:
  10091. description: Value is the taint value the toleration matches to.
  10092. type: string
  10093. type: object
  10094. type: array
  10095. topologySpreadConstraints:
  10096. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  10097. items:
  10098. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  10099. properties:
  10100. labelSelector:
  10101. description: LabelSelector is used to find matching pods.
  10102. properties:
  10103. matchExpressions:
  10104. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10105. items:
  10106. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10107. properties:
  10108. key:
  10109. description: key is the label key that the selector applies to.
  10110. type: string
  10111. operator:
  10112. description: operator represents a key's relationship to a set of values.
  10113. type: string
  10114. values:
  10115. description: values is an array of string values.
  10116. items:
  10117. type: string
  10118. type: array
  10119. required:
  10120. - key
  10121. - operator
  10122. type: object
  10123. type: array
  10124. matchLabels:
  10125. additionalProperties:
  10126. type: string
  10127. description: matchLabels is a map of {key,value} pairs.
  10128. type: object
  10129. type: object
  10130. x-kubernetes-map-type: atomic
  10131. matchLabelKeys:
  10132. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  10133. items:
  10134. type: string
  10135. type: array
  10136. x-kubernetes-list-type: atomic
  10137. maxSkew:
  10138. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  10139. format: int32
  10140. type: integer
  10141. minDomains:
  10142. description: MinDomains indicates a minimum number of eligible domains.
  10143. format: int32
  10144. type: integer
  10145. nodeAffinityPolicy:
  10146. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  10147. type: string
  10148. nodeTaintsPolicy:
  10149. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  10150. type: string
  10151. topologyKey:
  10152. description: TopologyKey is the key of node labels.
  10153. type: string
  10154. whenUnsatisfiable:
  10155. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  10156. type: string
  10157. required:
  10158. - maxSkew
  10159. - topologyKey
  10160. - whenUnsatisfiable
  10161. type: object
  10162. type: array
  10163. type: object
  10164. x-kubernetes-preserve-unknown-fields: true
  10165. priorityClassName:
  10166. description: PriorityClassName sets the priority class on the pods
  10167. type: string
  10168. resources:
  10169. description: Resources set resource requests and limits
  10170. nullable: true
  10171. properties:
  10172. claims:
  10173. description: Claims lists the names of resources, defined in spec.
  10174. items:
  10175. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  10176. properties:
  10177. name:
  10178. description: Name must match the name of one entry in pod.spec.
  10179. type: string
  10180. required:
  10181. - name
  10182. type: object
  10183. type: array
  10184. x-kubernetes-list-map-keys:
  10185. - name
  10186. x-kubernetes-list-type: map
  10187. limits:
  10188. additionalProperties:
  10189. anyOf:
  10190. - type: integer
  10191. - type: string
  10192. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10193. x-kubernetes-int-or-string: true
  10194. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  10195. type: object
  10196. requests:
  10197. additionalProperties:
  10198. anyOf:
  10199. - type: integer
  10200. - type: string
  10201. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  10202. x-kubernetes-int-or-string: true
  10203. description: Requests describes the minimum amount of compute resources required.
  10204. type: object
  10205. type: object
  10206. x-kubernetes-preserve-unknown-fields: true
  10207. required:
  10208. - active
  10209. type: object
  10210. required:
  10211. - server
  10212. type: object
  10213. status:
  10214. description: Status represents the status of an object
  10215. properties:
  10216. conditions:
  10217. items:
  10218. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  10219. properties:
  10220. lastHeartbeatTime:
  10221. format: date-time
  10222. type: string
  10223. lastTransitionTime:
  10224. format: date-time
  10225. type: string
  10226. message:
  10227. type: string
  10228. reason:
  10229. description: ConditionReason is a reason for a condition
  10230. type: string
  10231. status:
  10232. type: string
  10233. type:
  10234. description: ConditionType represent a resource's status
  10235. type: string
  10236. type: object
  10237. type: array
  10238. observedGeneration:
  10239. description: ObservedGeneration is the latest generation observed by the controller.
  10240. format: int64
  10241. type: integer
  10242. phase:
  10243. type: string
  10244. type: object
  10245. x-kubernetes-preserve-unknown-fields: true
  10246. required:
  10247. - metadata
  10248. - spec
  10249. type: object
  10250. served: true
  10251. storage: true
  10252. subresources:
  10253. status: {}
  10254. ---
  10255. # Source: rook-ceph/templates/resources.yaml
  10256. apiVersion: apiextensions.k8s.io/v1
  10257. kind: CustomResourceDefinition
  10258. metadata:
  10259. annotations:
  10260. controller-gen.kubebuilder.io/version: v0.11.3
  10261. helm.sh/resource-policy: keep
  10262. creationTimestamp: null
  10263. name: cephobjectrealms.ceph.rook.io
  10264. spec:
  10265. group: ceph.rook.io
  10266. names:
  10267. kind: CephObjectRealm
  10268. listKind: CephObjectRealmList
  10269. plural: cephobjectrealms
  10270. singular: cephobjectrealm
  10271. scope: Namespaced
  10272. versions:
  10273. - name: v1
  10274. schema:
  10275. openAPIV3Schema:
  10276. description: CephObjectRealm represents a Ceph Object Store Gateway Realm
  10277. properties:
  10278. apiVersion:
  10279. description: APIVersion defines the versioned schema of this representation of an object.
  10280. type: string
  10281. kind:
  10282. description: Kind is a string value representing the REST resource this object represents.
  10283. type: string
  10284. metadata:
  10285. type: object
  10286. spec:
  10287. description: ObjectRealmSpec represent the spec of an ObjectRealm
  10288. nullable: true
  10289. properties:
  10290. pull:
  10291. description: PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
  10292. properties:
  10293. endpoint:
  10294. pattern: ^https*://
  10295. type: string
  10296. type: object
  10297. type: object
  10298. status:
  10299. description: Status represents the status of an object
  10300. properties:
  10301. conditions:
  10302. items:
  10303. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  10304. properties:
  10305. lastHeartbeatTime:
  10306. format: date-time
  10307. type: string
  10308. lastTransitionTime:
  10309. format: date-time
  10310. type: string
  10311. message:
  10312. type: string
  10313. reason:
  10314. description: ConditionReason is a reason for a condition
  10315. type: string
  10316. status:
  10317. type: string
  10318. type:
  10319. description: ConditionType represent a resource's status
  10320. type: string
  10321. type: object
  10322. type: array
  10323. observedGeneration:
  10324. description: ObservedGeneration is the latest generation observed by the controller.
  10325. format: int64
  10326. type: integer
  10327. phase:
  10328. type: string
  10329. type: object
  10330. x-kubernetes-preserve-unknown-fields: true
  10331. required:
  10332. - metadata
  10333. type: object
  10334. served: true
  10335. storage: true
  10336. subresources:
  10337. status: {}
  10338. ---
  10339. # Source: rook-ceph/templates/resources.yaml
  10340. apiVersion: apiextensions.k8s.io/v1
  10341. kind: CustomResourceDefinition
  10342. metadata:
  10343. annotations:
  10344. controller-gen.kubebuilder.io/version: v0.11.3
  10345. helm.sh/resource-policy: keep
  10346. creationTimestamp: null
  10347. name: cephobjectstores.ceph.rook.io
  10348. spec:
  10349. group: ceph.rook.io
  10350. names:
  10351. kind: CephObjectStore
  10352. listKind: CephObjectStoreList
  10353. plural: cephobjectstores
  10354. singular: cephobjectstore
  10355. scope: Namespaced
  10356. versions:
  10357. - additionalPrinterColumns:
  10358. - jsonPath: .status.phase
  10359. name: Phase
  10360. type: string
  10361. name: v1
  10362. schema:
  10363. openAPIV3Schema:
  10364. description: CephObjectStore represents a Ceph Object Store Gateway
  10365. properties:
  10366. apiVersion:
  10367. description: APIVersion defines the versioned schema of this representation of an object.
  10368. type: string
  10369. kind:
  10370. description: Kind is a string value representing the REST resource this object represents.
  10371. type: string
  10372. metadata:
  10373. type: object
  10374. spec:
  10375. description: ObjectStoreSpec represent the spec of a pool
  10376. properties:
  10377. allowUsersInNamespaces:
  10378. description: The list of allowed namespaces in addition to the object store namespace where ceph object store use
  10379. items:
  10380. type: string
  10381. type: array
  10382. dataPool:
  10383. description: The data pool settings
  10384. nullable: true
  10385. properties:
  10386. compressionMode:
  10387. description: 'DEPRECATED: use Parameters instead, e.g.'
  10388. enum:
  10389. - none
  10390. - passive
  10391. - aggressive
  10392. - force
  10393. - ""
  10394. nullable: true
  10395. type: string
  10396. crushRoot:
  10397. description: The root of the crush hierarchy utilized by the pool
  10398. nullable: true
  10399. type: string
  10400. deviceClass:
  10401. description: The device class the OSD should set to for use in the pool
  10402. nullable: true
  10403. type: string
  10404. enableRBDStats:
  10405. description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
  10406. type: boolean
  10407. erasureCoded:
  10408. description: The erasure code settings
  10409. properties:
  10410. algorithm:
  10411. description: The algorithm for erasure coding
  10412. type: string
  10413. codingChunks:
  10414. description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
  10415. minimum: 0
  10416. type: integer
  10417. dataChunks:
  10418. description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
  10419. minimum: 0
  10420. type: integer
  10421. required:
  10422. - codingChunks
  10423. - dataChunks
  10424. type: object
  10425. failureDomain:
  10426. description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
  10427. type: string
  10428. mirroring:
  10429. description: The mirroring settings
  10430. properties:
  10431. enabled:
  10432. description: Enabled whether this pool is mirrored or not
  10433. type: boolean
  10434. mode:
  10435. description: 'Mode is the mirroring mode: either pool or image'
  10436. type: string
  10437. peers:
  10438. description: Peers represents the peers spec
  10439. nullable: true
  10440. properties:
  10441. secretNames:
  10442. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  10443. items:
  10444. type: string
  10445. type: array
  10446. type: object
  10447. snapshotSchedules:
  10448. description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
  10449. items:
  10450. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  10451. properties:
  10452. interval:
  10453. description: Interval represent the periodicity of the snapshot.
  10454. type: string
  10455. path:
  10456. description: Path is the path to snapshot, only valid for CephFS
  10457. type: string
  10458. startTime:
  10459. description: StartTime indicates when to start the snapshot
  10460. type: string
  10461. type: object
  10462. type: array
  10463. type: object
  10464. parameters:
  10465. additionalProperties:
  10466. type: string
  10467. description: Parameters is a list of properties to enable on a given pool
  10468. nullable: true
  10469. type: object
  10470. x-kubernetes-preserve-unknown-fields: true
  10471. quotas:
  10472. description: The quota settings
  10473. nullable: true
  10474. properties:
  10475. maxBytes:
  10476. description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
  10477. format: int64
  10478. type: integer
  10479. maxObjects:
  10480. description: MaxObjects represents the quota in objects
  10481. format: int64
  10482. type: integer
  10483. maxSize:
  10484. description: MaxSize represents the quota in bytes as a string
  10485. pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
  10486. type: string
  10487. type: object
  10488. replicated:
  10489. description: The replication settings
  10490. properties:
  10491. hybridStorage:
  10492. description: HybridStorage represents hybrid storage tier settings
  10493. nullable: true
  10494. properties:
  10495. primaryDeviceClass:
  10496. description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
  10497. minLength: 1
  10498. type: string
  10499. secondaryDeviceClass:
  10500. description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
  10501. minLength: 1
  10502. type: string
  10503. required:
  10504. - primaryDeviceClass
  10505. - secondaryDeviceClass
  10506. type: object
  10507. replicasPerFailureDomain:
  10508. description: ReplicasPerFailureDomain the number of replica in the specified failure domain
  10509. minimum: 1
  10510. type: integer
  10511. requireSafeReplicaSize:
  10512. description: RequireSafeReplicaSize if false allows you to set replica 1
  10513. type: boolean
  10514. size:
  10515. description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
  10516. minimum: 0
  10517. type: integer
  10518. subFailureDomain:
  10519. description: SubFailureDomain the name of the sub-failure domain
  10520. type: string
  10521. targetSizeRatio:
  10522. description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
  10523. type: number
  10524. required:
  10525. - size
  10526. type: object
  10527. statusCheck:
  10528. description: The mirroring statusCheck
  10529. properties:
  10530. mirror:
  10531. description: HealthCheckSpec represents the health check of an object store bucket
  10532. nullable: true
  10533. properties:
  10534. disabled:
  10535. type: boolean
  10536. interval:
  10537. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  10538. type: string
  10539. timeout:
  10540. type: string
  10541. type: object
  10542. type: object
  10543. x-kubernetes-preserve-unknown-fields: true
  10544. type: object
  10545. gateway:
  10546. description: The rgw pod info
  10547. nullable: true
  10548. properties:
  10549. annotations:
  10550. additionalProperties:
  10551. type: string
  10552. description: The annotations-related configuration to add/set on each Pod related object.
  10553. nullable: true
  10554. type: object
  10555. x-kubernetes-preserve-unknown-fields: true
  10556. caBundleRef:
  10557. description: The name of the secret that stores custom ca-bundle with root and intermediate certificates.
  10558. nullable: true
  10559. type: string
  10560. dashboardEnabled:
  10561. description: Whether rgw dashboard is enabled for the rgw daemon. If not set, the rgw dashboard will be enabled.
  10562. nullable: true
  10563. type: boolean
  10564. x-kubernetes-preserve-unknown-fields: true
  10565. disableMultisiteSyncTraffic:
  10566. description: DisableMultisiteSyncTraffic, when true, prevents this object store's gateways from transmitting mult
  10567. type: boolean
  10568. externalRgwEndpoints:
  10569. description: ExternalRgwEndpoints points to external RGW endpoint(s).
  10570. items:
  10571. description: EndpointAddress is a tuple that describes a single IP address or host name.
  10572. properties:
  10573. hostname:
  10574. description: The DNS-addressable Hostname of this endpoint.
  10575. type: string
  10576. ip:
  10577. description: The IP of this endpoint.
  10578. type: string
  10579. type: object
  10580. x-kubernetes-map-type: atomic
  10581. nullable: true
  10582. type: array
  10583. hostNetwork:
  10584. description: Whether host networking is enabled for the rgw daemon.
  10585. nullable: true
  10586. type: boolean
  10587. x-kubernetes-preserve-unknown-fields: true
  10588. instances:
  10589. description: The number of pods in the rgw replicaset.
  10590. format: int32
  10591. nullable: true
  10592. type: integer
  10593. labels:
  10594. additionalProperties:
  10595. type: string
  10596. description: The labels-related configuration to add/set on each Pod related object.
  10597. nullable: true
  10598. type: object
  10599. x-kubernetes-preserve-unknown-fields: true
  10600. placement:
  10601. description: The affinity to place the rgw pods (default is to place on any available node)
  10602. nullable: true
  10603. properties:
  10604. nodeAffinity:
  10605. description: NodeAffinity is a group of node affinity scheduling rules
  10606. properties:
  10607. preferredDuringSchedulingIgnoredDuringExecution:
  10608. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  10609. items:
  10610. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  10611. properties:
  10612. preference:
  10613. description: A node selector term, associated with the corresponding weight.
  10614. properties:
  10615. matchExpressions:
  10616. description: A list of node selector requirements by node's labels.
  10617. items:
  10618. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  10619. properties:
  10620. key:
  10621. description: The label key that the selector applies to.
  10622. type: string
  10623. operator:
  10624. description: Represents a key's relationship to a set of values.
  10625. type: string
  10626. values:
  10627. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  10628. items:
  10629. type: string
  10630. type: array
  10631. required:
  10632. - key
  10633. - operator
  10634. type: object
  10635. type: array
  10636. matchFields:
  10637. description: A list of node selector requirements by node's fields.
  10638. items:
  10639. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  10640. properties:
  10641. key:
  10642. description: The label key that the selector applies to.
  10643. type: string
  10644. operator:
  10645. description: Represents a key's relationship to a set of values.
  10646. type: string
  10647. values:
  10648. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  10649. items:
  10650. type: string
  10651. type: array
  10652. required:
  10653. - key
  10654. - operator
  10655. type: object
  10656. type: array
  10657. type: object
  10658. x-kubernetes-map-type: atomic
  10659. weight:
  10660. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  10661. format: int32
  10662. type: integer
  10663. required:
  10664. - preference
  10665. - weight
  10666. type: object
  10667. type: array
  10668. requiredDuringSchedulingIgnoredDuringExecution:
  10669. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  10670. properties:
  10671. nodeSelectorTerms:
  10672. description: Required. A list of node selector terms. The terms are ORed.
  10673. items:
  10674. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  10675. properties:
  10676. matchExpressions:
  10677. description: A list of node selector requirements by node's labels.
  10678. items:
  10679. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  10680. properties:
  10681. key:
  10682. description: The label key that the selector applies to.
  10683. type: string
  10684. operator:
  10685. description: Represents a key's relationship to a set of values.
  10686. type: string
  10687. values:
  10688. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  10689. items:
  10690. type: string
  10691. type: array
  10692. required:
  10693. - key
  10694. - operator
  10695. type: object
  10696. type: array
  10697. matchFields:
  10698. description: A list of node selector requirements by node's fields.
  10699. items:
  10700. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  10701. properties:
  10702. key:
  10703. description: The label key that the selector applies to.
  10704. type: string
  10705. operator:
  10706. description: Represents a key's relationship to a set of values.
  10707. type: string
  10708. values:
  10709. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  10710. items:
  10711. type: string
  10712. type: array
  10713. required:
  10714. - key
  10715. - operator
  10716. type: object
  10717. type: array
  10718. type: object
  10719. x-kubernetes-map-type: atomic
  10720. type: array
  10721. required:
  10722. - nodeSelectorTerms
  10723. type: object
  10724. x-kubernetes-map-type: atomic
  10725. type: object
  10726. podAffinity:
  10727. description: PodAffinity is a group of inter pod affinity scheduling rules
  10728. properties:
  10729. preferredDuringSchedulingIgnoredDuringExecution:
  10730. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  10731. items:
  10732. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  10733. properties:
  10734. podAffinityTerm:
  10735. description: Required. A pod affinity term, associated with the corresponding weight.
  10736. properties:
  10737. labelSelector:
  10738. description: A label query over a set of resources, in this case pods.
  10739. properties:
  10740. matchExpressions:
  10741. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10742. items:
  10743. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10744. properties:
  10745. key:
  10746. description: key is the label key that the selector applies to.
  10747. type: string
  10748. operator:
  10749. description: operator represents a key's relationship to a set of values.
  10750. type: string
  10751. values:
  10752. description: values is an array of string values.
  10753. items:
  10754. type: string
  10755. type: array
  10756. required:
  10757. - key
  10758. - operator
  10759. type: object
  10760. type: array
  10761. matchLabels:
  10762. additionalProperties:
  10763. type: string
  10764. description: matchLabels is a map of {key,value} pairs.
  10765. type: object
  10766. type: object
  10767. x-kubernetes-map-type: atomic
  10768. namespaceSelector:
  10769. description: A label query over the set of namespaces that the term applies to.
  10770. properties:
  10771. matchExpressions:
  10772. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10773. items:
  10774. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10775. properties:
  10776. key:
  10777. description: key is the label key that the selector applies to.
  10778. type: string
  10779. operator:
  10780. description: operator represents a key's relationship to a set of values.
  10781. type: string
  10782. values:
  10783. description: values is an array of string values.
  10784. items:
  10785. type: string
  10786. type: array
  10787. required:
  10788. - key
  10789. - operator
  10790. type: object
  10791. type: array
  10792. matchLabels:
  10793. additionalProperties:
  10794. type: string
  10795. description: matchLabels is a map of {key,value} pairs.
  10796. type: object
  10797. type: object
  10798. x-kubernetes-map-type: atomic
  10799. namespaces:
  10800. description: namespaces specifies a static list of namespace names that the term applies to.
  10801. items:
  10802. type: string
  10803. type: array
  10804. topologyKey:
  10805. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  10806. type: string
  10807. required:
  10808. - topologyKey
  10809. type: object
  10810. weight:
  10811. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  10812. format: int32
  10813. type: integer
  10814. required:
  10815. - podAffinityTerm
  10816. - weight
  10817. type: object
  10818. type: array
  10819. requiredDuringSchedulingIgnoredDuringExecution:
  10820. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  10821. items:
  10822. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  10823. properties:
  10824. labelSelector:
  10825. description: A label query over a set of resources, in this case pods.
  10826. properties:
  10827. matchExpressions:
  10828. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10829. items:
  10830. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10831. properties:
  10832. key:
  10833. description: key is the label key that the selector applies to.
  10834. type: string
  10835. operator:
  10836. description: operator represents a key's relationship to a set of values.
  10837. type: string
  10838. values:
  10839. description: values is an array of string values.
  10840. items:
  10841. type: string
  10842. type: array
  10843. required:
  10844. - key
  10845. - operator
  10846. type: object
  10847. type: array
  10848. matchLabels:
  10849. additionalProperties:
  10850. type: string
  10851. description: matchLabels is a map of {key,value} pairs.
  10852. type: object
  10853. type: object
  10854. x-kubernetes-map-type: atomic
  10855. namespaceSelector:
  10856. description: A label query over the set of namespaces that the term applies to.
  10857. properties:
  10858. matchExpressions:
  10859. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10860. items:
  10861. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10862. properties:
  10863. key:
  10864. description: key is the label key that the selector applies to.
  10865. type: string
  10866. operator:
  10867. description: operator represents a key's relationship to a set of values.
  10868. type: string
  10869. values:
  10870. description: values is an array of string values.
  10871. items:
  10872. type: string
  10873. type: array
  10874. required:
  10875. - key
  10876. - operator
  10877. type: object
  10878. type: array
  10879. matchLabels:
  10880. additionalProperties:
  10881. type: string
  10882. description: matchLabels is a map of {key,value} pairs.
  10883. type: object
  10884. type: object
  10885. x-kubernetes-map-type: atomic
  10886. namespaces:
  10887. description: namespaces specifies a static list of namespace names that the term applies to.
  10888. items:
  10889. type: string
  10890. type: array
  10891. topologyKey:
  10892. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  10893. type: string
  10894. required:
  10895. - topologyKey
  10896. type: object
  10897. type: array
  10898. type: object
  10899. podAntiAffinity:
  10900. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  10901. properties:
  10902. preferredDuringSchedulingIgnoredDuringExecution:
  10903. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  10904. items:
  10905. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  10906. properties:
  10907. podAffinityTerm:
  10908. description: Required. A pod affinity term, associated with the corresponding weight.
  10909. properties:
  10910. labelSelector:
  10911. description: A label query over a set of resources, in this case pods.
  10912. properties:
  10913. matchExpressions:
  10914. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10915. items:
  10916. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10917. properties:
  10918. key:
  10919. description: key is the label key that the selector applies to.
  10920. type: string
  10921. operator:
  10922. description: operator represents a key's relationship to a set of values.
  10923. type: string
  10924. values:
  10925. description: values is an array of string values.
  10926. items:
  10927. type: string
  10928. type: array
  10929. required:
  10930. - key
  10931. - operator
  10932. type: object
  10933. type: array
  10934. matchLabels:
  10935. additionalProperties:
  10936. type: string
  10937. description: matchLabels is a map of {key,value} pairs.
  10938. type: object
  10939. type: object
  10940. x-kubernetes-map-type: atomic
  10941. namespaceSelector:
  10942. description: A label query over the set of namespaces that the term applies to.
  10943. properties:
  10944. matchExpressions:
  10945. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  10946. items:
  10947. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  10948. properties:
  10949. key:
  10950. description: key is the label key that the selector applies to.
  10951. type: string
  10952. operator:
  10953. description: operator represents a key's relationship to a set of values.
  10954. type: string
  10955. values:
  10956. description: values is an array of string values.
  10957. items:
  10958. type: string
  10959. type: array
  10960. required:
  10961. - key
  10962. - operator
  10963. type: object
  10964. type: array
  10965. matchLabels:
  10966. additionalProperties:
  10967. type: string
  10968. description: matchLabels is a map of {key,value} pairs.
  10969. type: object
  10970. type: object
  10971. x-kubernetes-map-type: atomic
  10972. namespaces:
  10973. description: namespaces specifies a static list of namespace names that the term applies to.
  10974. items:
  10975. type: string
  10976. type: array
  10977. topologyKey:
  10978. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  10979. type: string
  10980. required:
  10981. - topologyKey
  10982. type: object
  10983. weight:
  10984. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  10985. format: int32
  10986. type: integer
  10987. required:
  10988. - podAffinityTerm
  10989. - weight
  10990. type: object
  10991. type: array
  10992. requiredDuringSchedulingIgnoredDuringExecution:
  10993. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  10994. items:
  10995. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  10996. properties:
  10997. labelSelector:
  10998. description: A label query over a set of resources, in this case pods.
  10999. properties:
  11000. matchExpressions:
  11001. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  11002. items:
  11003. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  11004. properties:
  11005. key:
  11006. description: key is the label key that the selector applies to.
  11007. type: string
  11008. operator:
  11009. description: operator represents a key's relationship to a set of values.
  11010. type: string
  11011. values:
  11012. description: values is an array of string values.
  11013. items:
  11014. type: string
  11015. type: array
  11016. required:
  11017. - key
  11018. - operator
  11019. type: object
  11020. type: array
  11021. matchLabels:
  11022. additionalProperties:
  11023. type: string
  11024. description: matchLabels is a map of {key,value} pairs.
  11025. type: object
  11026. type: object
  11027. x-kubernetes-map-type: atomic
  11028. namespaceSelector:
  11029. description: A label query over the set of namespaces that the term applies to.
  11030. properties:
  11031. matchExpressions:
  11032. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  11033. items:
  11034. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  11035. properties:
  11036. key:
  11037. description: key is the label key that the selector applies to.
  11038. type: string
  11039. operator:
  11040. description: operator represents a key's relationship to a set of values.
  11041. type: string
  11042. values:
  11043. description: values is an array of string values.
  11044. items:
  11045. type: string
  11046. type: array
  11047. required:
  11048. - key
  11049. - operator
  11050. type: object
  11051. type: array
  11052. matchLabels:
  11053. additionalProperties:
  11054. type: string
  11055. description: matchLabels is a map of {key,value} pairs.
  11056. type: object
  11057. type: object
  11058. x-kubernetes-map-type: atomic
  11059. namespaces:
  11060. description: namespaces specifies a static list of namespace names that the term applies to.
  11061. items:
  11062. type: string
  11063. type: array
  11064. topologyKey:
  11065. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  11066. type: string
  11067. required:
  11068. - topologyKey
  11069. type: object
  11070. type: array
  11071. type: object
  11072. tolerations:
  11073. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  11074. items:
  11075. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  11076. properties:
  11077. effect:
  11078. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  11079. type: string
  11080. key:
  11081. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  11082. type: string
  11083. operator:
  11084. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  11085. type: string
  11086. tolerationSeconds:
  11087. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  11088. format: int64
  11089. type: integer
  11090. value:
  11091. description: Value is the taint value the toleration matches to.
  11092. type: string
  11093. type: object
  11094. type: array
  11095. topologySpreadConstraints:
  11096. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  11097. items:
  11098. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  11099. properties:
  11100. labelSelector:
  11101. description: LabelSelector is used to find matching pods.
  11102. properties:
  11103. matchExpressions:
  11104. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  11105. items:
  11106. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  11107. properties:
  11108. key:
  11109. description: key is the label key that the selector applies to.
  11110. type: string
  11111. operator:
  11112. description: operator represents a key's relationship to a set of values.
  11113. type: string
  11114. values:
  11115. description: values is an array of string values.
  11116. items:
  11117. type: string
  11118. type: array
  11119. required:
  11120. - key
  11121. - operator
  11122. type: object
  11123. type: array
  11124. matchLabels:
  11125. additionalProperties:
  11126. type: string
  11127. description: matchLabels is a map of {key,value} pairs.
  11128. type: object
  11129. type: object
  11130. x-kubernetes-map-type: atomic
  11131. matchLabelKeys:
  11132. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  11133. items:
  11134. type: string
  11135. type: array
  11136. x-kubernetes-list-type: atomic
  11137. maxSkew:
  11138. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  11139. format: int32
  11140. type: integer
  11141. minDomains:
  11142. description: MinDomains indicates a minimum number of eligible domains.
  11143. format: int32
  11144. type: integer
  11145. nodeAffinityPolicy:
  11146. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  11147. type: string
  11148. nodeTaintsPolicy:
  11149. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  11150. type: string
  11151. topologyKey:
  11152. description: TopologyKey is the key of node labels.
  11153. type: string
  11154. whenUnsatisfiable:
  11155. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  11156. type: string
  11157. required:
  11158. - maxSkew
  11159. - topologyKey
  11160. - whenUnsatisfiable
  11161. type: object
  11162. type: array
  11163. type: object
  11164. x-kubernetes-preserve-unknown-fields: true
  11165. port:
  11166. description: The port the rgw service will be listening on (http)
  11167. format: int32
  11168. type: integer
  11169. priorityClassName:
  11170. description: PriorityClassName sets priority classes on the rgw pods
  11171. type: string
  11172. resources:
  11173. description: The resource requirements for the rgw pods
  11174. nullable: true
  11175. properties:
  11176. claims:
  11177. description: Claims lists the names of resources, defined in spec.
  11178. items:
  11179. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  11180. properties:
  11181. name:
  11182. description: Name must match the name of one entry in pod.spec.
  11183. type: string
  11184. required:
  11185. - name
  11186. type: object
  11187. type: array
  11188. x-kubernetes-list-map-keys:
  11189. - name
  11190. x-kubernetes-list-type: map
  11191. limits:
  11192. additionalProperties:
  11193. anyOf:
  11194. - type: integer
  11195. - type: string
  11196. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11197. x-kubernetes-int-or-string: true
  11198. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  11199. type: object
  11200. requests:
  11201. additionalProperties:
  11202. anyOf:
  11203. - type: integer
  11204. - type: string
  11205. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11206. x-kubernetes-int-or-string: true
  11207. description: Requests describes the minimum amount of compute resources required.
  11208. type: object
  11209. type: object
  11210. x-kubernetes-preserve-unknown-fields: true
  11211. securePort:
  11212. description: The port the rgw service will be listening on (https)
  11213. format: int32
  11214. maximum: 65535
  11215. minimum: 0
  11216. nullable: true
  11217. type: integer
  11218. service:
  11219. description: The configuration related to add/set on each rgw service.
  11220. nullable: true
  11221. properties:
  11222. annotations:
  11223. additionalProperties:
  11224. type: string
  11225. description: The annotations-related configuration to add/set on each rgw service. nullable optional
  11226. type: object
  11227. type: object
  11228. sslCertificateRef:
  11229. description: The name of the secret that stores the ssl certificate for secure rgw connections
  11230. nullable: true
  11231. type: string
  11232. type: object
  11233. healthCheck:
  11234. description: The RGW health probes
  11235. nullable: true
  11236. properties:
  11237. readinessProbe:
  11238. description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
  11239. properties:
  11240. disabled:
  11241. description: Disabled determines whether probe is disable or not
  11242. type: boolean
  11243. probe:
  11244. description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
  11245. properties:
  11246. exec:
  11247. description: Exec specifies the action to take.
  11248. properties:
  11249. command:
  11250. description: 'Command is the command line to execute inside the container, the working directory for the command '
  11251. items:
  11252. type: string
  11253. type: array
  11254. type: object
  11255. failureThreshold:
  11256. description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
  11257. format: int32
  11258. type: integer
  11259. grpc:
  11260. description: GRPC specifies an action involving a GRPC port.
  11261. properties:
  11262. port:
  11263. description: Port number of the gRPC service. Number must be in the range 1 to 65535.
  11264. format: int32
  11265. type: integer
  11266. service:
  11267. description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
  11268. type: string
  11269. required:
  11270. - port
  11271. type: object
  11272. httpGet:
  11273. description: HTTPGet specifies the http request to perform.
  11274. properties:
  11275. host:
  11276. description: Host name to connect to, defaults to the pod IP.
  11277. type: string
  11278. httpHeaders:
  11279. description: Custom headers to set in the request. HTTP allows repeated headers.
  11280. items:
  11281. description: HTTPHeader describes a custom header to be used in HTTP probes
  11282. properties:
  11283. name:
  11284. description: The header field name.
  11285. type: string
  11286. value:
  11287. description: The header field value
  11288. type: string
  11289. required:
  11290. - name
  11291. - value
  11292. type: object
  11293. type: array
  11294. path:
  11295. description: Path to access on the HTTP server.
  11296. type: string
  11297. port:
  11298. anyOf:
  11299. - type: integer
  11300. - type: string
  11301. description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
  11302. x-kubernetes-int-or-string: true
  11303. scheme:
  11304. description: Scheme to use for connecting to the host. Defaults to HTTP.
  11305. type: string
  11306. required:
  11307. - port
  11308. type: object
  11309. initialDelaySeconds:
  11310. description: Number of seconds after the container has started before liveness probes are initiated.
  11311. format: int32
  11312. type: integer
  11313. periodSeconds:
  11314. description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
  11315. format: int32
  11316. type: integer
  11317. successThreshold:
  11318. description: Minimum consecutive successes for the probe to be considered successful after having failed.
  11319. format: int32
  11320. type: integer
  11321. tcpSocket:
  11322. description: TCPSocket specifies an action involving a TCP port.
  11323. properties:
  11324. host:
  11325. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  11326. type: string
  11327. port:
  11328. anyOf:
  11329. - type: integer
  11330. - type: string
  11331. description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
  11332. x-kubernetes-int-or-string: true
  11333. required:
  11334. - port
  11335. type: object
  11336. terminationGracePeriodSeconds:
  11337. description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
  11338. format: int64
  11339. type: integer
  11340. timeoutSeconds:
  11341. description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
  11342. format: int32
  11343. type: integer
  11344. type: object
  11345. type: object
  11346. x-kubernetes-preserve-unknown-fields: true
  11347. startupProbe:
  11348. description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
  11349. properties:
  11350. disabled:
  11351. description: Disabled determines whether probe is disable or not
  11352. type: boolean
  11353. probe:
  11354. description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
  11355. properties:
  11356. exec:
  11357. description: Exec specifies the action to take.
  11358. properties:
  11359. command:
  11360. description: 'Command is the command line to execute inside the container, the working directory for the command '
  11361. items:
  11362. type: string
  11363. type: array
  11364. type: object
  11365. failureThreshold:
  11366. description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
  11367. format: int32
  11368. type: integer
  11369. grpc:
  11370. description: GRPC specifies an action involving a GRPC port.
  11371. properties:
  11372. port:
  11373. description: Port number of the gRPC service. Number must be in the range 1 to 65535.
  11374. format: int32
  11375. type: integer
  11376. service:
  11377. description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
  11378. type: string
  11379. required:
  11380. - port
  11381. type: object
  11382. httpGet:
  11383. description: HTTPGet specifies the http request to perform.
  11384. properties:
  11385. host:
  11386. description: Host name to connect to, defaults to the pod IP.
  11387. type: string
  11388. httpHeaders:
  11389. description: Custom headers to set in the request. HTTP allows repeated headers.
  11390. items:
  11391. description: HTTPHeader describes a custom header to be used in HTTP probes
  11392. properties:
  11393. name:
  11394. description: The header field name.
  11395. type: string
  11396. value:
  11397. description: The header field value
  11398. type: string
  11399. required:
  11400. - name
  11401. - value
  11402. type: object
  11403. type: array
  11404. path:
  11405. description: Path to access on the HTTP server.
  11406. type: string
  11407. port:
  11408. anyOf:
  11409. - type: integer
  11410. - type: string
  11411. description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
  11412. x-kubernetes-int-or-string: true
  11413. scheme:
  11414. description: Scheme to use for connecting to the host. Defaults to HTTP.
  11415. type: string
  11416. required:
  11417. - port
  11418. type: object
  11419. initialDelaySeconds:
  11420. description: Number of seconds after the container has started before liveness probes are initiated.
  11421. format: int32
  11422. type: integer
  11423. periodSeconds:
  11424. description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
  11425. format: int32
  11426. type: integer
  11427. successThreshold:
  11428. description: Minimum consecutive successes for the probe to be considered successful after having failed.
  11429. format: int32
  11430. type: integer
  11431. tcpSocket:
  11432. description: TCPSocket specifies an action involving a TCP port.
  11433. properties:
  11434. host:
  11435. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  11436. type: string
  11437. port:
  11438. anyOf:
  11439. - type: integer
  11440. - type: string
  11441. description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
  11442. x-kubernetes-int-or-string: true
  11443. required:
  11444. - port
  11445. type: object
  11446. terminationGracePeriodSeconds:
  11447. description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
  11448. format: int64
  11449. type: integer
  11450. timeoutSeconds:
  11451. description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
  11452. format: int32
  11453. type: integer
  11454. type: object
  11455. type: object
  11456. type: object
  11457. metadataPool:
  11458. description: The metadata pool settings
  11459. nullable: true
  11460. properties:
  11461. compressionMode:
  11462. description: 'DEPRECATED: use Parameters instead, e.g.'
  11463. enum:
  11464. - none
  11465. - passive
  11466. - aggressive
  11467. - force
  11468. - ""
  11469. nullable: true
  11470. type: string
  11471. crushRoot:
  11472. description: The root of the crush hierarchy utilized by the pool
  11473. nullable: true
  11474. type: string
  11475. deviceClass:
  11476. description: The device class the OSD should set to for use in the pool
  11477. nullable: true
  11478. type: string
  11479. enableRBDStats:
  11480. description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
  11481. type: boolean
  11482. erasureCoded:
  11483. description: The erasure code settings
  11484. properties:
  11485. algorithm:
  11486. description: The algorithm for erasure coding
  11487. type: string
  11488. codingChunks:
  11489. description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
  11490. minimum: 0
  11491. type: integer
  11492. dataChunks:
  11493. description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
  11494. minimum: 0
  11495. type: integer
  11496. required:
  11497. - codingChunks
  11498. - dataChunks
  11499. type: object
  11500. failureDomain:
  11501. description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
  11502. type: string
  11503. mirroring:
  11504. description: The mirroring settings
  11505. properties:
  11506. enabled:
  11507. description: Enabled whether this pool is mirrored or not
  11508. type: boolean
  11509. mode:
  11510. description: 'Mode is the mirroring mode: either pool or image'
  11511. type: string
  11512. peers:
  11513. description: Peers represents the peers spec
  11514. nullable: true
  11515. properties:
  11516. secretNames:
  11517. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  11518. items:
  11519. type: string
  11520. type: array
  11521. type: object
  11522. snapshotSchedules:
  11523. description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
  11524. items:
  11525. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  11526. properties:
  11527. interval:
  11528. description: Interval represent the periodicity of the snapshot.
  11529. type: string
  11530. path:
  11531. description: Path is the path to snapshot, only valid for CephFS
  11532. type: string
  11533. startTime:
  11534. description: StartTime indicates when to start the snapshot
  11535. type: string
  11536. type: object
  11537. type: array
  11538. type: object
  11539. parameters:
  11540. additionalProperties:
  11541. type: string
  11542. description: Parameters is a list of properties to enable on a given pool
  11543. nullable: true
  11544. type: object
  11545. x-kubernetes-preserve-unknown-fields: true
  11546. quotas:
  11547. description: The quota settings
  11548. nullable: true
  11549. properties:
  11550. maxBytes:
  11551. description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
  11552. format: int64
  11553. type: integer
  11554. maxObjects:
  11555. description: MaxObjects represents the quota in objects
  11556. format: int64
  11557. type: integer
  11558. maxSize:
  11559. description: MaxSize represents the quota in bytes as a string
  11560. pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
  11561. type: string
  11562. type: object
  11563. replicated:
  11564. description: The replication settings
  11565. properties:
  11566. hybridStorage:
  11567. description: HybridStorage represents hybrid storage tier settings
  11568. nullable: true
  11569. properties:
  11570. primaryDeviceClass:
  11571. description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
  11572. minLength: 1
  11573. type: string
  11574. secondaryDeviceClass:
  11575. description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
  11576. minLength: 1
  11577. type: string
  11578. required:
  11579. - primaryDeviceClass
  11580. - secondaryDeviceClass
  11581. type: object
  11582. replicasPerFailureDomain:
  11583. description: ReplicasPerFailureDomain the number of replica in the specified failure domain
  11584. minimum: 1
  11585. type: integer
  11586. requireSafeReplicaSize:
  11587. description: RequireSafeReplicaSize if false allows you to set replica 1
  11588. type: boolean
  11589. size:
  11590. description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
  11591. minimum: 0
  11592. type: integer
  11593. subFailureDomain:
  11594. description: SubFailureDomain the name of the sub-failure domain
  11595. type: string
  11596. targetSizeRatio:
  11597. description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
  11598. type: number
  11599. required:
  11600. - size
  11601. type: object
  11602. statusCheck:
  11603. description: The mirroring statusCheck
  11604. properties:
  11605. mirror:
  11606. description: HealthCheckSpec represents the health check of an object store bucket
  11607. nullable: true
  11608. properties:
  11609. disabled:
  11610. type: boolean
  11611. interval:
  11612. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  11613. type: string
  11614. timeout:
  11615. type: string
  11616. type: object
  11617. type: object
  11618. x-kubernetes-preserve-unknown-fields: true
  11619. type: object
  11620. preservePoolsOnDelete:
  11621. description: Preserve pools on object store deletion
  11622. type: boolean
  11623. security:
  11624. description: Security represents security settings
  11625. nullable: true
  11626. properties:
  11627. keyRotation:
  11628. description: KeyRotation defines options for Key Rotation.
  11629. nullable: true
  11630. properties:
  11631. enabled:
  11632. default: false
  11633. description: Enabled represents whether the key rotation is enabled.
  11634. type: boolean
  11635. schedule:
  11636. description: Schedule represents the cron schedule for key rotation.
  11637. type: string
  11638. type: object
  11639. kms:
  11640. description: KeyManagementService is the main Key Management option
  11641. nullable: true
  11642. properties:
  11643. connectionDetails:
  11644. additionalProperties:
  11645. type: string
  11646. description: ConnectionDetails contains the KMS connection details (address, port etc)
  11647. nullable: true
  11648. type: object
  11649. x-kubernetes-preserve-unknown-fields: true
  11650. tokenSecretName:
  11651. description: TokenSecretName is the kubernetes secret containing the KMS token
  11652. type: string
  11653. type: object
  11654. s3:
  11655. description: The settings for supporting AWS-SSE:S3 with RGW
  11656. nullable: true
  11657. properties:
  11658. connectionDetails:
  11659. additionalProperties:
  11660. type: string
  11661. description: ConnectionDetails contains the KMS connection details (address, port etc)
  11662. nullable: true
  11663. type: object
  11664. x-kubernetes-preserve-unknown-fields: true
  11665. tokenSecretName:
  11666. description: TokenSecretName is the kubernetes secret containing the KMS token
  11667. type: string
  11668. type: object
  11669. type: object
  11670. zone:
  11671. description: The multisite info
  11672. nullable: true
  11673. properties:
  11674. name:
  11675. description: RGW Zone the Object Store is in
  11676. type: string
  11677. required:
  11678. - name
  11679. type: object
  11680. type: object
  11681. status:
  11682. description: ObjectStoreStatus represents the status of a Ceph Object Store resource
  11683. properties:
  11684. conditions:
  11685. items:
  11686. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  11687. properties:
  11688. lastHeartbeatTime:
  11689. format: date-time
  11690. type: string
  11691. lastTransitionTime:
  11692. format: date-time
  11693. type: string
  11694. message:
  11695. type: string
  11696. reason:
  11697. description: ConditionReason is a reason for a condition
  11698. type: string
  11699. status:
  11700. type: string
  11701. type:
  11702. description: ConditionType represent a resource's status
  11703. type: string
  11704. type: object
  11705. type: array
  11706. endpoints:
  11707. properties:
  11708. insecure:
  11709. items:
  11710. type: string
  11711. nullable: true
  11712. type: array
  11713. secure:
  11714. items:
  11715. type: string
  11716. nullable: true
  11717. type: array
  11718. type: object
  11719. info:
  11720. additionalProperties:
  11721. type: string
  11722. nullable: true
  11723. type: object
  11724. message:
  11725. type: string
  11726. observedGeneration:
  11727. description: ObservedGeneration is the latest generation observed by the controller.
  11728. format: int64
  11729. type: integer
  11730. phase:
  11731. description: ConditionType represent a resource's status
  11732. type: string
  11733. type: object
  11734. x-kubernetes-preserve-unknown-fields: true
  11735. required:
  11736. - metadata
  11737. - spec
  11738. type: object
  11739. served: true
  11740. storage: true
  11741. subresources:
  11742. status: {}
  11743. ---
  11744. # Source: rook-ceph/templates/resources.yaml
  11745. apiVersion: apiextensions.k8s.io/v1
  11746. kind: CustomResourceDefinition
  11747. metadata:
  11748. annotations:
  11749. controller-gen.kubebuilder.io/version: v0.11.3
  11750. helm.sh/resource-policy: keep
  11751. creationTimestamp: null
  11752. name: cephobjectstoreusers.ceph.rook.io
  11753. spec:
  11754. group: ceph.rook.io
  11755. names:
  11756. kind: CephObjectStoreUser
  11757. listKind: CephObjectStoreUserList
  11758. plural: cephobjectstoreusers
  11759. shortNames:
  11760. - rcou
  11761. - objectuser
  11762. singular: cephobjectstoreuser
  11763. scope: Namespaced
  11764. versions:
  11765. - additionalPrinterColumns:
  11766. - jsonPath: .status.phase
  11767. name: Phase
  11768. type: string
  11769. name: v1
  11770. schema:
  11771. openAPIV3Schema:
  11772. description: CephObjectStoreUser represents a Ceph Object Store Gateway User
  11773. properties:
  11774. apiVersion:
  11775. description: APIVersion defines the versioned schema of this representation of an object.
  11776. type: string
  11777. kind:
  11778. description: Kind is a string value representing the REST resource this object represents.
  11779. type: string
  11780. metadata:
  11781. type: object
  11782. spec:
  11783. description: ObjectStoreUserSpec represent the spec of an Objectstoreuser
  11784. properties:
  11785. capabilities:
  11786. description: Additional admin-level capabilities for the Ceph object store user
  11787. nullable: true
  11788. properties:
  11789. amz-cache:
  11790. description: Add capabilities for user to send request to RGW Cache API header. Documented in https://docs.ceph.
  11791. enum:
  11792. - '*'
  11793. - read
  11794. - write
  11795. - read, write
  11796. type: string
  11797. bilog:
  11798. description: Add capabilities for user to change bucket index logging. Documented in https://docs.ceph.
  11799. enum:
  11800. - '*'
  11801. - read
  11802. - write
  11803. - read, write
  11804. type: string
  11805. bucket:
  11806. description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.
  11807. enum:
  11808. - '*'
  11809. - read
  11810. - write
  11811. - read, write
  11812. type: string
  11813. buckets:
  11814. description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.
  11815. enum:
  11816. - '*'
  11817. - read
  11818. - write
  11819. - read, write
  11820. type: string
  11821. datalog:
  11822. description: Add capabilities for user to change data logging. Documented in https://docs.ceph.
  11823. enum:
  11824. - '*'
  11825. - read
  11826. - write
  11827. - read, write
  11828. type: string
  11829. info:
  11830. description: Admin capabilities to read/write information about the user. Documented in https://docs.ceph.
  11831. enum:
  11832. - '*'
  11833. - read
  11834. - write
  11835. - read, write
  11836. type: string
  11837. mdlog:
  11838. description: Add capabilities for user to change metadata logging. Documented in https://docs.ceph.
  11839. enum:
  11840. - '*'
  11841. - read
  11842. - write
  11843. - read, write
  11844. type: string
  11845. metadata:
  11846. description: Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.
  11847. enum:
  11848. - '*'
  11849. - read
  11850. - write
  11851. - read, write
  11852. type: string
  11853. oidc-provider:
  11854. description: Add capabilities for user to change oidc provider. Documented in https://docs.ceph.
  11855. enum:
  11856. - '*'
  11857. - read
  11858. - write
  11859. - read, write
  11860. type: string
  11861. ratelimit:
  11862. description: Add capabilities for user to set rate limiter for user and bucket. Documented in https://docs.ceph.
  11863. enum:
  11864. - '*'
  11865. - read
  11866. - write
  11867. - read, write
  11868. type: string
  11869. roles:
  11870. description: Admin capabilities to read/write roles for user. Documented in https://docs.ceph.
  11871. enum:
  11872. - '*'
  11873. - read
  11874. - write
  11875. - read, write
  11876. type: string
  11877. usage:
  11878. description: Admin capabilities to read/write Ceph object store usage. Documented in https://docs.ceph.
  11879. enum:
  11880. - '*'
  11881. - read
  11882. - write
  11883. - read, write
  11884. type: string
  11885. user:
  11886. description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.
  11887. enum:
  11888. - '*'
  11889. - read
  11890. - write
  11891. - read, write
  11892. type: string
  11893. user-policy:
  11894. description: Add capabilities for user to change user policies. Documented in https://docs.ceph.
  11895. enum:
  11896. - '*'
  11897. - read
  11898. - write
  11899. - read, write
  11900. type: string
  11901. users:
  11902. description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.
  11903. enum:
  11904. - '*'
  11905. - read
  11906. - write
  11907. - read, write
  11908. type: string
  11909. zone:
  11910. description: Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.
  11911. enum:
  11912. - '*'
  11913. - read
  11914. - write
  11915. - read, write
  11916. type: string
  11917. type: object
  11918. clusterNamespace:
  11919. description: The namespace where the parent CephCluster and CephObjectStore are found
  11920. type: string
  11921. displayName:
  11922. description: The display name for the ceph users
  11923. type: string
  11924. quotas:
  11925. description: ObjectUserQuotaSpec can be used to set quotas for the object store user to limit their usage.
  11926. nullable: true
  11927. properties:
  11928. maxBuckets:
  11929. description: Maximum bucket limit for the ceph user
  11930. nullable: true
  11931. type: integer
  11932. maxObjects:
  11933. description: Maximum number of objects across all the user's buckets
  11934. format: int64
  11935. nullable: true
  11936. type: integer
  11937. maxSize:
  11938. anyOf:
  11939. - type: integer
  11940. - type: string
  11941. description: Maximum size limit of all objects across all the user's buckets See https://pkg.go.dev/k8s.
  11942. nullable: true
  11943. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  11944. x-kubernetes-int-or-string: true
  11945. type: object
  11946. store:
  11947. description: The store the user will be created in
  11948. type: string
  11949. type: object
  11950. status:
  11951. description: ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
  11952. properties:
  11953. info:
  11954. additionalProperties:
  11955. type: string
  11956. nullable: true
  11957. type: object
  11958. observedGeneration:
  11959. description: ObservedGeneration is the latest generation observed by the controller.
  11960. format: int64
  11961. type: integer
  11962. phase:
  11963. type: string
  11964. type: object
  11965. x-kubernetes-preserve-unknown-fields: true
  11966. required:
  11967. - metadata
  11968. - spec
  11969. type: object
  11970. served: true
  11971. storage: true
  11972. subresources:
  11973. status: {}
  11974. ---
  11975. # Source: rook-ceph/templates/resources.yaml
  11976. apiVersion: apiextensions.k8s.io/v1
  11977. kind: CustomResourceDefinition
  11978. metadata:
  11979. annotations:
  11980. controller-gen.kubebuilder.io/version: v0.11.3
  11981. helm.sh/resource-policy: keep
  11982. creationTimestamp: null
  11983. name: cephobjectzonegroups.ceph.rook.io
  11984. spec:
  11985. group: ceph.rook.io
  11986. names:
  11987. kind: CephObjectZoneGroup
  11988. listKind: CephObjectZoneGroupList
  11989. plural: cephobjectzonegroups
  11990. singular: cephobjectzonegroup
  11991. scope: Namespaced
  11992. versions:
  11993. - additionalPrinterColumns:
  11994. - jsonPath: .status.phase
  11995. name: Phase
  11996. type: string
  11997. name: v1
  11998. schema:
  11999. openAPIV3Schema:
  12000. description: CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group
  12001. properties:
  12002. apiVersion:
  12003. description: APIVersion defines the versioned schema of this representation of an object.
  12004. type: string
  12005. kind:
  12006. description: Kind is a string value representing the REST resource this object represents.
  12007. type: string
  12008. metadata:
  12009. type: object
  12010. spec:
  12011. description: ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
  12012. properties:
  12013. realm:
  12014. description: The display name for the ceph users
  12015. type: string
  12016. required:
  12017. - realm
  12018. type: object
  12019. status:
  12020. description: Status represents the status of an object
  12021. properties:
  12022. conditions:
  12023. items:
  12024. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  12025. properties:
  12026. lastHeartbeatTime:
  12027. format: date-time
  12028. type: string
  12029. lastTransitionTime:
  12030. format: date-time
  12031. type: string
  12032. message:
  12033. type: string
  12034. reason:
  12035. description: ConditionReason is a reason for a condition
  12036. type: string
  12037. status:
  12038. type: string
  12039. type:
  12040. description: ConditionType represent a resource's status
  12041. type: string
  12042. type: object
  12043. type: array
  12044. observedGeneration:
  12045. description: ObservedGeneration is the latest generation observed by the controller.
  12046. format: int64
  12047. type: integer
  12048. phase:
  12049. type: string
  12050. type: object
  12051. x-kubernetes-preserve-unknown-fields: true
  12052. required:
  12053. - metadata
  12054. - spec
  12055. type: object
  12056. served: true
  12057. storage: true
  12058. subresources:
  12059. status: {}
  12060. ---
  12061. # Source: rook-ceph/templates/resources.yaml
  12062. apiVersion: apiextensions.k8s.io/v1
  12063. kind: CustomResourceDefinition
  12064. metadata:
  12065. annotations:
  12066. controller-gen.kubebuilder.io/version: v0.11.3
  12067. helm.sh/resource-policy: keep
  12068. creationTimestamp: null
  12069. name: cephobjectzones.ceph.rook.io
  12070. spec:
  12071. group: ceph.rook.io
  12072. names:
  12073. kind: CephObjectZone
  12074. listKind: CephObjectZoneList
  12075. plural: cephobjectzones
  12076. singular: cephobjectzone
  12077. scope: Namespaced
  12078. versions:
  12079. - additionalPrinterColumns:
  12080. - jsonPath: .status.phase
  12081. name: Phase
  12082. type: string
  12083. name: v1
  12084. schema:
  12085. openAPIV3Schema:
  12086. description: CephObjectZone represents a Ceph Object Store Gateway Zone
  12087. properties:
  12088. apiVersion:
  12089. description: APIVersion defines the versioned schema of this representation of an object.
  12090. type: string
  12091. kind:
  12092. description: Kind is a string value representing the REST resource this object represents.
  12093. type: string
  12094. metadata:
  12095. type: object
  12096. spec:
  12097. description: ObjectZoneSpec represent the spec of an ObjectZone
  12098. properties:
  12099. customEndpoints:
  12100. description: If this zone cannot be accessed from other peer Ceph clusters via the ClusterIP Service endpoint cre
  12101. items:
  12102. type: string
  12103. nullable: true
  12104. type: array
  12105. dataPool:
  12106. description: The data pool settings
  12107. nullable: true
  12108. properties:
  12109. compressionMode:
  12110. description: 'DEPRECATED: use Parameters instead, e.g.'
  12111. enum:
  12112. - none
  12113. - passive
  12114. - aggressive
  12115. - force
  12116. - ""
  12117. nullable: true
  12118. type: string
  12119. crushRoot:
  12120. description: The root of the crush hierarchy utilized by the pool
  12121. nullable: true
  12122. type: string
  12123. deviceClass:
  12124. description: The device class the OSD should set to for use in the pool
  12125. nullable: true
  12126. type: string
  12127. enableRBDStats:
  12128. description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
  12129. type: boolean
  12130. erasureCoded:
  12131. description: The erasure code settings
  12132. properties:
  12133. algorithm:
  12134. description: The algorithm for erasure coding
  12135. type: string
  12136. codingChunks:
  12137. description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
  12138. minimum: 0
  12139. type: integer
  12140. dataChunks:
  12141. description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
  12142. minimum: 0
  12143. type: integer
  12144. required:
  12145. - codingChunks
  12146. - dataChunks
  12147. type: object
  12148. failureDomain:
  12149. description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
  12150. type: string
  12151. mirroring:
  12152. description: The mirroring settings
  12153. properties:
  12154. enabled:
  12155. description: Enabled whether this pool is mirrored or not
  12156. type: boolean
  12157. mode:
  12158. description: 'Mode is the mirroring mode: either pool or image'
  12159. type: string
  12160. peers:
  12161. description: Peers represents the peers spec
  12162. nullable: true
  12163. properties:
  12164. secretNames:
  12165. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  12166. items:
  12167. type: string
  12168. type: array
  12169. type: object
  12170. snapshotSchedules:
  12171. description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
  12172. items:
  12173. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  12174. properties:
  12175. interval:
  12176. description: Interval represent the periodicity of the snapshot.
  12177. type: string
  12178. path:
  12179. description: Path is the path to snapshot, only valid for CephFS
  12180. type: string
  12181. startTime:
  12182. description: StartTime indicates when to start the snapshot
  12183. type: string
  12184. type: object
  12185. type: array
  12186. type: object
  12187. parameters:
  12188. additionalProperties:
  12189. type: string
  12190. description: Parameters is a list of properties to enable on a given pool
  12191. nullable: true
  12192. type: object
  12193. x-kubernetes-preserve-unknown-fields: true
  12194. quotas:
  12195. description: The quota settings
  12196. nullable: true
  12197. properties:
  12198. maxBytes:
  12199. description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
  12200. format: int64
  12201. type: integer
  12202. maxObjects:
  12203. description: MaxObjects represents the quota in objects
  12204. format: int64
  12205. type: integer
  12206. maxSize:
  12207. description: MaxSize represents the quota in bytes as a string
  12208. pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
  12209. type: string
  12210. type: object
  12211. replicated:
  12212. description: The replication settings
  12213. properties:
  12214. hybridStorage:
  12215. description: HybridStorage represents hybrid storage tier settings
  12216. nullable: true
  12217. properties:
  12218. primaryDeviceClass:
  12219. description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
  12220. minLength: 1
  12221. type: string
  12222. secondaryDeviceClass:
  12223. description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
  12224. minLength: 1
  12225. type: string
  12226. required:
  12227. - primaryDeviceClass
  12228. - secondaryDeviceClass
  12229. type: object
  12230. replicasPerFailureDomain:
  12231. description: ReplicasPerFailureDomain the number of replica in the specified failure domain
  12232. minimum: 1
  12233. type: integer
  12234. requireSafeReplicaSize:
  12235. description: RequireSafeReplicaSize if false allows you to set replica 1
  12236. type: boolean
  12237. size:
  12238. description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
  12239. minimum: 0
  12240. type: integer
  12241. subFailureDomain:
  12242. description: SubFailureDomain the name of the sub-failure domain
  12243. type: string
  12244. targetSizeRatio:
  12245. description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
  12246. type: number
  12247. required:
  12248. - size
  12249. type: object
  12250. statusCheck:
  12251. description: The mirroring statusCheck
  12252. properties:
  12253. mirror:
  12254. description: HealthCheckSpec represents the health check of an object store bucket
  12255. nullable: true
  12256. properties:
  12257. disabled:
  12258. type: boolean
  12259. interval:
  12260. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  12261. type: string
  12262. timeout:
  12263. type: string
  12264. type: object
  12265. type: object
  12266. x-kubernetes-preserve-unknown-fields: true
  12267. type: object
  12268. metadataPool:
  12269. description: The metadata pool settings
  12270. nullable: true
  12271. properties:
  12272. compressionMode:
  12273. description: 'DEPRECATED: use Parameters instead, e.g.'
  12274. enum:
  12275. - none
  12276. - passive
  12277. - aggressive
  12278. - force
  12279. - ""
  12280. nullable: true
  12281. type: string
  12282. crushRoot:
  12283. description: The root of the crush hierarchy utilized by the pool
  12284. nullable: true
  12285. type: string
  12286. deviceClass:
  12287. description: The device class the OSD should set to for use in the pool
  12288. nullable: true
  12289. type: string
  12290. enableRBDStats:
  12291. description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
  12292. type: boolean
  12293. erasureCoded:
  12294. description: The erasure code settings
  12295. properties:
  12296. algorithm:
  12297. description: The algorithm for erasure coding
  12298. type: string
  12299. codingChunks:
  12300. description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
  12301. minimum: 0
  12302. type: integer
  12303. dataChunks:
  12304. description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
  12305. minimum: 0
  12306. type: integer
  12307. required:
  12308. - codingChunks
  12309. - dataChunks
  12310. type: object
  12311. failureDomain:
  12312. description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
  12313. type: string
  12314. mirroring:
  12315. description: The mirroring settings
  12316. properties:
  12317. enabled:
  12318. description: Enabled whether this pool is mirrored or not
  12319. type: boolean
  12320. mode:
  12321. description: 'Mode is the mirroring mode: either pool or image'
  12322. type: string
  12323. peers:
  12324. description: Peers represents the peers spec
  12325. nullable: true
  12326. properties:
  12327. secretNames:
  12328. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  12329. items:
  12330. type: string
  12331. type: array
  12332. type: object
  12333. snapshotSchedules:
  12334. description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
  12335. items:
  12336. description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
  12337. properties:
  12338. interval:
  12339. description: Interval represent the periodicity of the snapshot.
  12340. type: string
  12341. path:
  12342. description: Path is the path to snapshot, only valid for CephFS
  12343. type: string
  12344. startTime:
  12345. description: StartTime indicates when to start the snapshot
  12346. type: string
  12347. type: object
  12348. type: array
  12349. type: object
  12350. parameters:
  12351. additionalProperties:
  12352. type: string
  12353. description: Parameters is a list of properties to enable on a given pool
  12354. nullable: true
  12355. type: object
  12356. x-kubernetes-preserve-unknown-fields: true
  12357. quotas:
  12358. description: The quota settings
  12359. nullable: true
  12360. properties:
  12361. maxBytes:
  12362. description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
  12363. format: int64
  12364. type: integer
  12365. maxObjects:
  12366. description: MaxObjects represents the quota in objects
  12367. format: int64
  12368. type: integer
  12369. maxSize:
  12370. description: MaxSize represents the quota in bytes as a string
  12371. pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
  12372. type: string
  12373. type: object
  12374. replicated:
  12375. description: The replication settings
  12376. properties:
  12377. hybridStorage:
  12378. description: HybridStorage represents hybrid storage tier settings
  12379. nullable: true
  12380. properties:
  12381. primaryDeviceClass:
  12382. description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
  12383. minLength: 1
  12384. type: string
  12385. secondaryDeviceClass:
  12386. description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
  12387. minLength: 1
  12388. type: string
  12389. required:
  12390. - primaryDeviceClass
  12391. - secondaryDeviceClass
  12392. type: object
  12393. replicasPerFailureDomain:
  12394. description: ReplicasPerFailureDomain the number of replica in the specified failure domain
  12395. minimum: 1
  12396. type: integer
  12397. requireSafeReplicaSize:
  12398. description: RequireSafeReplicaSize if false allows you to set replica 1
  12399. type: boolean
  12400. size:
  12401. description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
  12402. minimum: 0
  12403. type: integer
  12404. subFailureDomain:
  12405. description: SubFailureDomain the name of the sub-failure domain
  12406. type: string
  12407. targetSizeRatio:
  12408. description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
  12409. type: number
  12410. required:
  12411. - size
  12412. type: object
  12413. statusCheck:
  12414. description: The mirroring statusCheck
  12415. properties:
  12416. mirror:
  12417. description: HealthCheckSpec represents the health check of an object store bucket
  12418. nullable: true
  12419. properties:
  12420. disabled:
  12421. type: boolean
  12422. interval:
  12423. description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
  12424. type: string
  12425. timeout:
  12426. type: string
  12427. type: object
  12428. type: object
  12429. x-kubernetes-preserve-unknown-fields: true
  12430. type: object
  12431. preservePoolsOnDelete:
  12432. default: true
  12433. description: Preserve pools on object zone deletion
  12434. type: boolean
  12435. zoneGroup:
  12436. description: The display name for the ceph users
  12437. type: string
  12438. required:
  12439. - dataPool
  12440. - metadataPool
  12441. - zoneGroup
  12442. type: object
  12443. status:
  12444. description: Status represents the status of an object
  12445. properties:
  12446. conditions:
  12447. items:
  12448. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  12449. properties:
  12450. lastHeartbeatTime:
  12451. format: date-time
  12452. type: string
  12453. lastTransitionTime:
  12454. format: date-time
  12455. type: string
  12456. message:
  12457. type: string
  12458. reason:
  12459. description: ConditionReason is a reason for a condition
  12460. type: string
  12461. status:
  12462. type: string
  12463. type:
  12464. description: ConditionType represent a resource's status
  12465. type: string
  12466. type: object
  12467. type: array
  12468. observedGeneration:
  12469. description: ObservedGeneration is the latest generation observed by the controller.
  12470. format: int64
  12471. type: integer
  12472. phase:
  12473. type: string
  12474. type: object
  12475. x-kubernetes-preserve-unknown-fields: true
  12476. required:
  12477. - metadata
  12478. - spec
  12479. type: object
  12480. served: true
  12481. storage: true
  12482. subresources:
  12483. status: {}
  12484. ---
  12485. # Source: rook-ceph/templates/resources.yaml
  12486. apiVersion: apiextensions.k8s.io/v1
  12487. kind: CustomResourceDefinition
  12488. metadata:
  12489. annotations:
  12490. controller-gen.kubebuilder.io/version: v0.11.3
  12491. helm.sh/resource-policy: keep
  12492. creationTimestamp: null
  12493. name: cephrbdmirrors.ceph.rook.io
  12494. spec:
  12495. group: ceph.rook.io
  12496. names:
  12497. kind: CephRBDMirror
  12498. listKind: CephRBDMirrorList
  12499. plural: cephrbdmirrors
  12500. singular: cephrbdmirror
  12501. scope: Namespaced
  12502. versions:
  12503. - additionalPrinterColumns:
  12504. - jsonPath: .status.phase
  12505. name: Phase
  12506. type: string
  12507. name: v1
  12508. schema:
  12509. openAPIV3Schema:
  12510. description: CephRBDMirror represents a Ceph RBD Mirror
  12511. properties:
  12512. apiVersion:
  12513. description: APIVersion defines the versioned schema of this representation of an object.
  12514. type: string
  12515. kind:
  12516. description: Kind is a string value representing the REST resource this object represents.
  12517. type: string
  12518. metadata:
  12519. type: object
  12520. spec:
  12521. description: RBDMirroringSpec represents the specification of an RBD mirror daemon
  12522. properties:
  12523. annotations:
  12524. additionalProperties:
  12525. type: string
  12526. description: The annotations-related configuration to add/set on each Pod related object.
  12527. nullable: true
  12528. type: object
  12529. x-kubernetes-preserve-unknown-fields: true
  12530. count:
  12531. description: Count represents the number of rbd mirror instance to run
  12532. minimum: 1
  12533. type: integer
  12534. labels:
  12535. additionalProperties:
  12536. type: string
  12537. description: The labels-related configuration to add/set on each Pod related object.
  12538. nullable: true
  12539. type: object
  12540. x-kubernetes-preserve-unknown-fields: true
  12541. peers:
  12542. description: Peers represents the peers spec
  12543. nullable: true
  12544. properties:
  12545. secretNames:
  12546. description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
  12547. items:
  12548. type: string
  12549. type: array
  12550. type: object
  12551. placement:
  12552. description: The affinity to place the rgw pods (default is to place on any available node)
  12553. nullable: true
  12554. properties:
  12555. nodeAffinity:
  12556. description: NodeAffinity is a group of node affinity scheduling rules
  12557. properties:
  12558. preferredDuringSchedulingIgnoredDuringExecution:
  12559. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  12560. items:
  12561. description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
  12562. properties:
  12563. preference:
  12564. description: A node selector term, associated with the corresponding weight.
  12565. properties:
  12566. matchExpressions:
  12567. description: A list of node selector requirements by node's labels.
  12568. items:
  12569. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  12570. properties:
  12571. key:
  12572. description: The label key that the selector applies to.
  12573. type: string
  12574. operator:
  12575. description: Represents a key's relationship to a set of values.
  12576. type: string
  12577. values:
  12578. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  12579. items:
  12580. type: string
  12581. type: array
  12582. required:
  12583. - key
  12584. - operator
  12585. type: object
  12586. type: array
  12587. matchFields:
  12588. description: A list of node selector requirements by node's fields.
  12589. items:
  12590. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  12591. properties:
  12592. key:
  12593. description: The label key that the selector applies to.
  12594. type: string
  12595. operator:
  12596. description: Represents a key's relationship to a set of values.
  12597. type: string
  12598. values:
  12599. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  12600. items:
  12601. type: string
  12602. type: array
  12603. required:
  12604. - key
  12605. - operator
  12606. type: object
  12607. type: array
  12608. type: object
  12609. x-kubernetes-map-type: atomic
  12610. weight:
  12611. description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  12612. format: int32
  12613. type: integer
  12614. required:
  12615. - preference
  12616. - weight
  12617. type: object
  12618. type: array
  12619. requiredDuringSchedulingIgnoredDuringExecution:
  12620. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  12621. properties:
  12622. nodeSelectorTerms:
  12623. description: Required. A list of node selector terms. The terms are ORed.
  12624. items:
  12625. description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
  12626. properties:
  12627. matchExpressions:
  12628. description: A list of node selector requirements by node's labels.
  12629. items:
  12630. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  12631. properties:
  12632. key:
  12633. description: The label key that the selector applies to.
  12634. type: string
  12635. operator:
  12636. description: Represents a key's relationship to a set of values.
  12637. type: string
  12638. values:
  12639. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  12640. items:
  12641. type: string
  12642. type: array
  12643. required:
  12644. - key
  12645. - operator
  12646. type: object
  12647. type: array
  12648. matchFields:
  12649. description: A list of node selector requirements by node's fields.
  12650. items:
  12651. description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
  12652. properties:
  12653. key:
  12654. description: The label key that the selector applies to.
  12655. type: string
  12656. operator:
  12657. description: Represents a key's relationship to a set of values.
  12658. type: string
  12659. values:
  12660. description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
  12661. items:
  12662. type: string
  12663. type: array
  12664. required:
  12665. - key
  12666. - operator
  12667. type: object
  12668. type: array
  12669. type: object
  12670. x-kubernetes-map-type: atomic
  12671. type: array
  12672. required:
  12673. - nodeSelectorTerms
  12674. type: object
  12675. x-kubernetes-map-type: atomic
  12676. type: object
  12677. podAffinity:
  12678. description: PodAffinity is a group of inter pod affinity scheduling rules
  12679. properties:
  12680. preferredDuringSchedulingIgnoredDuringExecution:
  12681. description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
  12682. items:
  12683. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  12684. properties:
  12685. podAffinityTerm:
  12686. description: Required. A pod affinity term, associated with the corresponding weight.
  12687. properties:
  12688. labelSelector:
  12689. description: A label query over a set of resources, in this case pods.
  12690. properties:
  12691. matchExpressions:
  12692. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12693. items:
  12694. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12695. properties:
  12696. key:
  12697. description: key is the label key that the selector applies to.
  12698. type: string
  12699. operator:
  12700. description: operator represents a key's relationship to a set of values.
  12701. type: string
  12702. values:
  12703. description: values is an array of string values.
  12704. items:
  12705. type: string
  12706. type: array
  12707. required:
  12708. - key
  12709. - operator
  12710. type: object
  12711. type: array
  12712. matchLabels:
  12713. additionalProperties:
  12714. type: string
  12715. description: matchLabels is a map of {key,value} pairs.
  12716. type: object
  12717. type: object
  12718. x-kubernetes-map-type: atomic
  12719. namespaceSelector:
  12720. description: A label query over the set of namespaces that the term applies to.
  12721. properties:
  12722. matchExpressions:
  12723. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12724. items:
  12725. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12726. properties:
  12727. key:
  12728. description: key is the label key that the selector applies to.
  12729. type: string
  12730. operator:
  12731. description: operator represents a key's relationship to a set of values.
  12732. type: string
  12733. values:
  12734. description: values is an array of string values.
  12735. items:
  12736. type: string
  12737. type: array
  12738. required:
  12739. - key
  12740. - operator
  12741. type: object
  12742. type: array
  12743. matchLabels:
  12744. additionalProperties:
  12745. type: string
  12746. description: matchLabels is a map of {key,value} pairs.
  12747. type: object
  12748. type: object
  12749. x-kubernetes-map-type: atomic
  12750. namespaces:
  12751. description: namespaces specifies a static list of namespace names that the term applies to.
  12752. items:
  12753. type: string
  12754. type: array
  12755. topologyKey:
  12756. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  12757. type: string
  12758. required:
  12759. - topologyKey
  12760. type: object
  12761. weight:
  12762. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  12763. format: int32
  12764. type: integer
  12765. required:
  12766. - podAffinityTerm
  12767. - weight
  12768. type: object
  12769. type: array
  12770. requiredDuringSchedulingIgnoredDuringExecution:
  12771. description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
  12772. items:
  12773. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  12774. properties:
  12775. labelSelector:
  12776. description: A label query over a set of resources, in this case pods.
  12777. properties:
  12778. matchExpressions:
  12779. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12780. items:
  12781. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12782. properties:
  12783. key:
  12784. description: key is the label key that the selector applies to.
  12785. type: string
  12786. operator:
  12787. description: operator represents a key's relationship to a set of values.
  12788. type: string
  12789. values:
  12790. description: values is an array of string values.
  12791. items:
  12792. type: string
  12793. type: array
  12794. required:
  12795. - key
  12796. - operator
  12797. type: object
  12798. type: array
  12799. matchLabels:
  12800. additionalProperties:
  12801. type: string
  12802. description: matchLabels is a map of {key,value} pairs.
  12803. type: object
  12804. type: object
  12805. x-kubernetes-map-type: atomic
  12806. namespaceSelector:
  12807. description: A label query over the set of namespaces that the term applies to.
  12808. properties:
  12809. matchExpressions:
  12810. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12811. items:
  12812. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12813. properties:
  12814. key:
  12815. description: key is the label key that the selector applies to.
  12816. type: string
  12817. operator:
  12818. description: operator represents a key's relationship to a set of values.
  12819. type: string
  12820. values:
  12821. description: values is an array of string values.
  12822. items:
  12823. type: string
  12824. type: array
  12825. required:
  12826. - key
  12827. - operator
  12828. type: object
  12829. type: array
  12830. matchLabels:
  12831. additionalProperties:
  12832. type: string
  12833. description: matchLabels is a map of {key,value} pairs.
  12834. type: object
  12835. type: object
  12836. x-kubernetes-map-type: atomic
  12837. namespaces:
  12838. description: namespaces specifies a static list of namespace names that the term applies to.
  12839. items:
  12840. type: string
  12841. type: array
  12842. topologyKey:
  12843. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  12844. type: string
  12845. required:
  12846. - topologyKey
  12847. type: object
  12848. type: array
  12849. type: object
  12850. podAntiAffinity:
  12851. description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
  12852. properties:
  12853. preferredDuringSchedulingIgnoredDuringExecution:
  12854. description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
  12855. items:
  12856. description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
  12857. properties:
  12858. podAffinityTerm:
  12859. description: Required. A pod affinity term, associated with the corresponding weight.
  12860. properties:
  12861. labelSelector:
  12862. description: A label query over a set of resources, in this case pods.
  12863. properties:
  12864. matchExpressions:
  12865. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12866. items:
  12867. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12868. properties:
  12869. key:
  12870. description: key is the label key that the selector applies to.
  12871. type: string
  12872. operator:
  12873. description: operator represents a key's relationship to a set of values.
  12874. type: string
  12875. values:
  12876. description: values is an array of string values.
  12877. items:
  12878. type: string
  12879. type: array
  12880. required:
  12881. - key
  12882. - operator
  12883. type: object
  12884. type: array
  12885. matchLabels:
  12886. additionalProperties:
  12887. type: string
  12888. description: matchLabels is a map of {key,value} pairs.
  12889. type: object
  12890. type: object
  12891. x-kubernetes-map-type: atomic
  12892. namespaceSelector:
  12893. description: A label query over the set of namespaces that the term applies to.
  12894. properties:
  12895. matchExpressions:
  12896. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12897. items:
  12898. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12899. properties:
  12900. key:
  12901. description: key is the label key that the selector applies to.
  12902. type: string
  12903. operator:
  12904. description: operator represents a key's relationship to a set of values.
  12905. type: string
  12906. values:
  12907. description: values is an array of string values.
  12908. items:
  12909. type: string
  12910. type: array
  12911. required:
  12912. - key
  12913. - operator
  12914. type: object
  12915. type: array
  12916. matchLabels:
  12917. additionalProperties:
  12918. type: string
  12919. description: matchLabels is a map of {key,value} pairs.
  12920. type: object
  12921. type: object
  12922. x-kubernetes-map-type: atomic
  12923. namespaces:
  12924. description: namespaces specifies a static list of namespace names that the term applies to.
  12925. items:
  12926. type: string
  12927. type: array
  12928. topologyKey:
  12929. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  12930. type: string
  12931. required:
  12932. - topologyKey
  12933. type: object
  12934. weight:
  12935. description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  12936. format: int32
  12937. type: integer
  12938. required:
  12939. - podAffinityTerm
  12940. - weight
  12941. type: object
  12942. type: array
  12943. requiredDuringSchedulingIgnoredDuringExecution:
  12944. description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
  12945. items:
  12946. description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
  12947. properties:
  12948. labelSelector:
  12949. description: A label query over a set of resources, in this case pods.
  12950. properties:
  12951. matchExpressions:
  12952. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12953. items:
  12954. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12955. properties:
  12956. key:
  12957. description: key is the label key that the selector applies to.
  12958. type: string
  12959. operator:
  12960. description: operator represents a key's relationship to a set of values.
  12961. type: string
  12962. values:
  12963. description: values is an array of string values.
  12964. items:
  12965. type: string
  12966. type: array
  12967. required:
  12968. - key
  12969. - operator
  12970. type: object
  12971. type: array
  12972. matchLabels:
  12973. additionalProperties:
  12974. type: string
  12975. description: matchLabels is a map of {key,value} pairs.
  12976. type: object
  12977. type: object
  12978. x-kubernetes-map-type: atomic
  12979. namespaceSelector:
  12980. description: A label query over the set of namespaces that the term applies to.
  12981. properties:
  12982. matchExpressions:
  12983. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  12984. items:
  12985. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  12986. properties:
  12987. key:
  12988. description: key is the label key that the selector applies to.
  12989. type: string
  12990. operator:
  12991. description: operator represents a key's relationship to a set of values.
  12992. type: string
  12993. values:
  12994. description: values is an array of string values.
  12995. items:
  12996. type: string
  12997. type: array
  12998. required:
  12999. - key
  13000. - operator
  13001. type: object
  13002. type: array
  13003. matchLabels:
  13004. additionalProperties:
  13005. type: string
  13006. description: matchLabels is a map of {key,value} pairs.
  13007. type: object
  13008. type: object
  13009. x-kubernetes-map-type: atomic
  13010. namespaces:
  13011. description: namespaces specifies a static list of namespace names that the term applies to.
  13012. items:
  13013. type: string
  13014. type: array
  13015. topologyKey:
  13016. description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
  13017. type: string
  13018. required:
  13019. - topologyKey
  13020. type: object
  13021. type: array
  13022. type: object
  13023. tolerations:
  13024. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  13025. items:
  13026. description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
  13027. properties:
  13028. effect:
  13029. description: Effect indicates the taint effect to match. Empty means match all taint effects.
  13030. type: string
  13031. key:
  13032. description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
  13033. type: string
  13034. operator:
  13035. description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
  13036. type: string
  13037. tolerationSeconds:
  13038. description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
  13039. format: int64
  13040. type: integer
  13041. value:
  13042. description: Value is the taint value the toleration matches to.
  13043. type: string
  13044. type: object
  13045. type: array
  13046. topologySpreadConstraints:
  13047. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
  13048. items:
  13049. description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
  13050. properties:
  13051. labelSelector:
  13052. description: LabelSelector is used to find matching pods.
  13053. properties:
  13054. matchExpressions:
  13055. description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  13056. items:
  13057. description: A label selector requirement is a selector that contains values, a key, and an operator that relates
  13058. properties:
  13059. key:
  13060. description: key is the label key that the selector applies to.
  13061. type: string
  13062. operator:
  13063. description: operator represents a key's relationship to a set of values.
  13064. type: string
  13065. values:
  13066. description: values is an array of string values.
  13067. items:
  13068. type: string
  13069. type: array
  13070. required:
  13071. - key
  13072. - operator
  13073. type: object
  13074. type: array
  13075. matchLabels:
  13076. additionalProperties:
  13077. type: string
  13078. description: matchLabels is a map of {key,value} pairs.
  13079. type: object
  13080. type: object
  13081. x-kubernetes-map-type: atomic
  13082. matchLabelKeys:
  13083. description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
  13084. items:
  13085. type: string
  13086. type: array
  13087. x-kubernetes-list-type: atomic
  13088. maxSkew:
  13089. description: MaxSkew describes the degree to which pods may be unevenly distributed.
  13090. format: int32
  13091. type: integer
  13092. minDomains:
  13093. description: MinDomains indicates a minimum number of eligible domains.
  13094. format: int32
  13095. type: integer
  13096. nodeAffinityPolicy:
  13097. description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
  13098. type: string
  13099. nodeTaintsPolicy:
  13100. description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
  13101. type: string
  13102. topologyKey:
  13103. description: TopologyKey is the key of node labels.
  13104. type: string
  13105. whenUnsatisfiable:
  13106. description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
  13107. type: string
  13108. required:
  13109. - maxSkew
  13110. - topologyKey
  13111. - whenUnsatisfiable
  13112. type: object
  13113. type: array
  13114. type: object
  13115. x-kubernetes-preserve-unknown-fields: true
  13116. priorityClassName:
  13117. description: PriorityClassName sets priority class on the rbd mirror pods
  13118. type: string
  13119. resources:
  13120. description: The resource requirements for the rbd mirror pods
  13121. nullable: true
  13122. properties:
  13123. claims:
  13124. description: Claims lists the names of resources, defined in spec.
  13125. items:
  13126. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  13127. properties:
  13128. name:
  13129. description: Name must match the name of one entry in pod.spec.
  13130. type: string
  13131. required:
  13132. - name
  13133. type: object
  13134. type: array
  13135. x-kubernetes-list-map-keys:
  13136. - name
  13137. x-kubernetes-list-type: map
  13138. limits:
  13139. additionalProperties:
  13140. anyOf:
  13141. - type: integer
  13142. - type: string
  13143. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  13144. x-kubernetes-int-or-string: true
  13145. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
  13146. type: object
  13147. requests:
  13148. additionalProperties:
  13149. anyOf:
  13150. - type: integer
  13151. - type: string
  13152. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  13153. x-kubernetes-int-or-string: true
  13154. description: Requests describes the minimum amount of compute resources required.
  13155. type: object
  13156. type: object
  13157. x-kubernetes-preserve-unknown-fields: true
  13158. required:
  13159. - count
  13160. type: object
  13161. status:
  13162. description: Status represents the status of an object
  13163. properties:
  13164. conditions:
  13165. items:
  13166. description: Condition represents a status condition on any Rook-Ceph Custom Resource.
  13167. properties:
  13168. lastHeartbeatTime:
  13169. format: date-time
  13170. type: string
  13171. lastTransitionTime:
  13172. format: date-time
  13173. type: string
  13174. message:
  13175. type: string
  13176. reason:
  13177. description: ConditionReason is a reason for a condition
  13178. type: string
  13179. status:
  13180. type: string
  13181. type:
  13182. description: ConditionType represent a resource's status
  13183. type: string
  13184. type: object
  13185. type: array
  13186. observedGeneration:
  13187. description: ObservedGeneration is the latest generation observed by the controller.
  13188. format: int64
  13189. type: integer
  13190. phase:
  13191. type: string
  13192. type: object
  13193. x-kubernetes-preserve-unknown-fields: true
  13194. required:
  13195. - metadata
  13196. - spec
  13197. type: object
  13198. served: true
  13199. storage: true
  13200. subresources:
  13201. status: {}
  13202. ---
  13203. # Source: rook-ceph/templates/resources.yaml
  13204. apiVersion: apiextensions.k8s.io/v1
  13205. kind: CustomResourceDefinition
  13206. metadata:
  13207. name: objectbucketclaims.objectbucket.io
  13208. annotations:
  13209. helm.sh/resource-policy: keep
  13210. spec:
  13211. group: objectbucket.io
  13212. names:
  13213. kind: ObjectBucketClaim
  13214. listKind: ObjectBucketClaimList
  13215. plural: objectbucketclaims
  13216. singular: objectbucketclaim
  13217. shortNames:
  13218. - obc
  13219. - obcs
  13220. scope: Namespaced
  13221. versions:
  13222. - name: v1alpha1
  13223. served: true
  13224. storage: true
  13225. schema:
  13226. openAPIV3Schema:
  13227. type: object
  13228. properties:
  13229. spec:
  13230. type: object
  13231. properties:
  13232. storageClassName:
  13233. type: string
  13234. bucketName:
  13235. type: string
  13236. generateBucketName:
  13237. type: string
  13238. additionalConfig:
  13239. type: object
  13240. nullable: true
  13241. x-kubernetes-preserve-unknown-fields: true
  13242. objectBucketName:
  13243. type: string
  13244. status:
  13245. type: object
  13246. x-kubernetes-preserve-unknown-fields: true
  13247. subresources:
  13248. status: {}
  13249. ---
  13250. # Source: rook-ceph/templates/resources.yaml
  13251. apiVersion: apiextensions.k8s.io/v1
  13252. kind: CustomResourceDefinition
  13253. metadata:
  13254. name: objectbuckets.objectbucket.io
  13255. annotations:
  13256. helm.sh/resource-policy: keep
  13257. spec:
  13258. group: objectbucket.io
  13259. names:
  13260. kind: ObjectBucket
  13261. listKind: ObjectBucketList
  13262. plural: objectbuckets
  13263. singular: objectbucket
  13264. shortNames:
  13265. - ob
  13266. - obs
  13267. scope: Cluster
  13268. versions:
  13269. - name: v1alpha1
  13270. served: true
  13271. storage: true
  13272. schema:
  13273. openAPIV3Schema:
  13274. type: object
  13275. properties:
  13276. spec:
  13277. type: object
  13278. properties:
  13279. storageClassName:
  13280. type: string
  13281. endpoint:
  13282. type: object
  13283. nullable: true
  13284. properties:
  13285. bucketHost:
  13286. type: string
  13287. bucketPort:
  13288. type: integer
  13289. format: int32
  13290. bucketName:
  13291. type: string
  13292. region:
  13293. type: string
  13294. subRegion:
  13295. type: string
  13296. additionalConfig:
  13297. type: object
  13298. nullable: true
  13299. x-kubernetes-preserve-unknown-fields: true
  13300. authentication:
  13301. type: object
  13302. nullable: true
  13303. items:
  13304. type: object
  13305. x-kubernetes-preserve-unknown-fields: true
  13306. additionalState:
  13307. type: object
  13308. nullable: true
  13309. x-kubernetes-preserve-unknown-fields: true
  13310. reclaimPolicy:
  13311. type: string
  13312. claimRef:
  13313. type: object
  13314. nullable: true
  13315. x-kubernetes-preserve-unknown-fields: true
  13316. status:
  13317. type: object
  13318. x-kubernetes-preserve-unknown-fields: true
  13319. subresources:
  13320. status: {}
  13321. ---
  13322. # Source: rook-ceph/templates/clusterrole.yaml
  13323. kind: ClusterRole
  13324. apiVersion: rbac.authorization.k8s.io/v1
  13325. metadata:
  13326. name: rook-ceph-system
  13327. labels:
  13328. operator: rook
  13329. storage-backend: ceph
  13330. app.kubernetes.io/part-of: rook-ceph-operator
  13331. app.kubernetes.io/managed-by: Helm
  13332. app.kubernetes.io/created-by: helm
  13333. helm.sh/chart: "rook-ceph-v1.13.4"
  13334. rules:
  13335. # Most resources are represented by a string representation of their name, such as "pods", just as it appears in the URL for the relevant API endpoint.
  13336. # However, some Kubernetes APIs involve a "subresource", such as the logs for a pod. [...]
  13337. # To represent this in an RBAC role, use a slash to delimit the resource and subresource.
  13338. # https://kubernetes.io/docs/reference/access-authn-authz/rbac/#referring-to-resources
  13339. - apiGroups: [""]
  13340. resources: ["pods", "pods/log"]
  13341. verbs: ["get", "list"]
  13342. - apiGroups: [""]
  13343. resources: ["pods/exec"]
  13344. verbs: ["create"]
  13345. - apiGroups: ["csiaddons.openshift.io"]
  13346. resources: ["networkfences"]
  13347. verbs: ["create", "get", "update", "delete", "watch", "list"]
  13348. - apiGroups: ["apiextensions.k8s.io"]
  13349. resources: ["customresourcedefinitions"]
  13350. verbs: ["get"]
  13351. ---
  13352. # Source: rook-ceph/templates/clusterrole.yaml
  13353. # The cluster role for managing all the cluster-specific resources in a namespace
  13354. apiVersion: rbac.authorization.k8s.io/v1
  13355. kind: ClusterRole
  13356. metadata:
  13357. name: rook-ceph-cluster-mgmt
  13358. labels:
  13359. operator: rook
  13360. storage-backend: ceph
  13361. app.kubernetes.io/part-of: rook-ceph-operator
  13362. app.kubernetes.io/managed-by: Helm
  13363. app.kubernetes.io/created-by: helm
  13364. helm.sh/chart: "rook-ceph-v1.13.4"
  13365. rules:
  13366. - apiGroups:
  13367. - ""
  13368. - apps
  13369. - extensions
  13370. resources:
  13371. - secrets
  13372. - pods
  13373. - pods/log
  13374. - services
  13375. - configmaps
  13376. - deployments
  13377. - daemonsets
  13378. verbs:
  13379. - get
  13380. - list
  13381. - watch
  13382. - patch
  13383. - create
  13384. - update
  13385. - delete
  13386. ---
  13387. # Source: rook-ceph/templates/clusterrole.yaml
  13388. # The cluster role for managing the Rook CRDs
  13389. apiVersion: rbac.authorization.k8s.io/v1
  13390. # Rook watches for its CRDs in all namespaces, so this should be a cluster-scoped role unless the
  13391. # operator config `ROOK_CURRENT_NAMESPACE_ONLY=true`.
  13392. kind: ClusterRole
  13393. metadata:
  13394. name: rook-ceph-global
  13395. labels:
  13396. operator: rook
  13397. storage-backend: ceph
  13398. app.kubernetes.io/part-of: rook-ceph-operator
  13399. app.kubernetes.io/managed-by: Helm
  13400. app.kubernetes.io/created-by: helm
  13401. helm.sh/chart: "rook-ceph-v1.13.4"
  13402. rules:
  13403. - apiGroups:
  13404. - ""
  13405. resources:
  13406. # Pod access is needed for fencing
  13407. - pods
  13408. # Node access is needed for determining nodes where mons should run
  13409. - nodes
  13410. - nodes/proxy
  13411. # Rook watches secrets which it uses to configure access to external resources.
  13412. # e.g., external Ceph cluster or object store
  13413. - secrets
  13414. # Rook watches for changes to the rook-operator-config configmap
  13415. - configmaps
  13416. verbs:
  13417. - get
  13418. - list
  13419. - watch
  13420. - apiGroups:
  13421. - ""
  13422. resources:
  13423. # Rook creates events for its custom resources
  13424. - events
  13425. # Rook creates PVs and PVCs for OSDs managed by the Rook provisioner
  13426. - persistentvolumes
  13427. - persistentvolumeclaims
  13428. # Rook creates endpoints for mgr and object store access
  13429. - endpoints
  13430. - services
  13431. verbs:
  13432. - get
  13433. - list
  13434. - watch
  13435. - patch
  13436. - create
  13437. - update
  13438. - delete
  13439. - apiGroups:
  13440. - storage.k8s.io
  13441. resources:
  13442. - storageclasses
  13443. verbs:
  13444. - get
  13445. - list
  13446. - watch
  13447. - apiGroups:
  13448. - batch
  13449. resources:
  13450. - jobs
  13451. - cronjobs
  13452. verbs:
  13453. - get
  13454. - list
  13455. - watch
  13456. - create
  13457. - update
  13458. - delete
  13459. - deletecollection
  13460. # The Rook operator must be able to watch all ceph.rook.io resources to reconcile them.
  13461. - apiGroups: ["ceph.rook.io"]
  13462. resources:
  13463. - cephclients
  13464. - cephclusters
  13465. - cephblockpools
  13466. - cephfilesystems
  13467. - cephnfses
  13468. - cephobjectstores
  13469. - cephobjectstoreusers
  13470. - cephobjectrealms
  13471. - cephobjectzonegroups
  13472. - cephobjectzones
  13473. - cephbuckettopics
  13474. - cephbucketnotifications
  13475. - cephrbdmirrors
  13476. - cephfilesystemmirrors
  13477. - cephfilesystemsubvolumegroups
  13478. - cephblockpoolradosnamespaces
  13479. - cephcosidrivers
  13480. verbs:
  13481. - get
  13482. - list
  13483. - watch
  13484. # Ideally the update permission is not required, but Rook needs it to add finalizers to resources.
  13485. - update
  13486. # Rook must have update access to status subresources for its custom resources.
  13487. - apiGroups: ["ceph.rook.io"]
  13488. resources:
  13489. - cephclients/status
  13490. - cephclusters/status
  13491. - cephblockpools/status
  13492. - cephfilesystems/status
  13493. - cephnfses/status
  13494. - cephobjectstores/status
  13495. - cephobjectstoreusers/status
  13496. - cephobjectrealms/status
  13497. - cephobjectzonegroups/status
  13498. - cephobjectzones/status
  13499. - cephbuckettopics/status
  13500. - cephbucketnotifications/status
  13501. - cephrbdmirrors/status
  13502. - cephfilesystemmirrors/status
  13503. - cephfilesystemsubvolumegroups/status
  13504. - cephblockpoolradosnamespaces/status
  13505. verbs: ["update"]
  13506. # The "*/finalizers" permission may need to be strictly given for K8s clusters where
  13507. # OwnerReferencesPermissionEnforcement is enabled so that Rook can set blockOwnerDeletion on
  13508. # resources owned by Rook CRs (e.g., a Secret owned by an OSD Deployment). See more:
  13509. # https://kubernetes.io/docs/reference/access-authn-authz/_print/#ownerreferencespermissionenforcement
  13510. - apiGroups: ["ceph.rook.io"]
  13511. resources:
  13512. - cephclients/finalizers
  13513. - cephclusters/finalizers
  13514. - cephblockpools/finalizers
  13515. - cephfilesystems/finalizers
  13516. - cephnfses/finalizers
  13517. - cephobjectstores/finalizers
  13518. - cephobjectstoreusers/finalizers
  13519. - cephobjectrealms/finalizers
  13520. - cephobjectzonegroups/finalizers
  13521. - cephobjectzones/finalizers
  13522. - cephbuckettopics/finalizers
  13523. - cephbucketnotifications/finalizers
  13524. - cephrbdmirrors/finalizers
  13525. - cephfilesystemmirrors/finalizers
  13526. - cephfilesystemsubvolumegroups/finalizers
  13527. - cephblockpoolradosnamespaces/finalizers
  13528. verbs: ["update"]
  13529. - apiGroups:
  13530. - policy
  13531. - apps
  13532. - extensions
  13533. resources:
  13534. # This is for the clusterdisruption controller
  13535. - poddisruptionbudgets
  13536. # This is for both clusterdisruption and nodedrain controllers
  13537. - deployments
  13538. - replicasets
  13539. verbs:
  13540. - get
  13541. - list
  13542. - watch
  13543. - create
  13544. - update
  13545. - delete
  13546. - deletecollection
  13547. - apiGroups:
  13548. - apps
  13549. resources:
  13550. # This is to add osd deployment owner ref on key rotation
  13551. # cron jobs.
  13552. - deployments/finalizers
  13553. verbs:
  13554. - update
  13555. - apiGroups:
  13556. - healthchecking.openshift.io
  13557. resources:
  13558. - machinedisruptionbudgets
  13559. verbs:
  13560. - get
  13561. - list
  13562. - watch
  13563. - create
  13564. - update
  13565. - delete
  13566. - apiGroups:
  13567. - machine.openshift.io
  13568. resources:
  13569. - machines
  13570. verbs:
  13571. - get
  13572. - list
  13573. - watch
  13574. - create
  13575. - update
  13576. - delete
  13577. - apiGroups:
  13578. - storage.k8s.io
  13579. resources:
  13580. - csidrivers
  13581. verbs:
  13582. - create
  13583. - delete
  13584. - get
  13585. - update
  13586. - apiGroups:
  13587. - k8s.cni.cncf.io
  13588. resources:
  13589. - network-attachment-definitions
  13590. verbs:
  13591. - get
  13592. ---
  13593. # Source: rook-ceph/templates/clusterrole.yaml
  13594. # Aspects of ceph-mgr that require cluster-wide access
  13595. kind: ClusterRole
  13596. apiVersion: rbac.authorization.k8s.io/v1
  13597. metadata:
  13598. name: rook-ceph-mgr-cluster
  13599. labels:
  13600. operator: rook
  13601. storage-backend: ceph
  13602. app.kubernetes.io/part-of: rook-ceph-operator
  13603. app.kubernetes.io/managed-by: Helm
  13604. app.kubernetes.io/created-by: helm
  13605. helm.sh/chart: "rook-ceph-v1.13.4"
  13606. rules:
  13607. - apiGroups:
  13608. - ""
  13609. resources:
  13610. - configmaps
  13611. - nodes
  13612. - nodes/proxy
  13613. - persistentvolumes
  13614. verbs:
  13615. - get
  13616. - list
  13617. - watch
  13618. - apiGroups:
  13619. - ""
  13620. resources:
  13621. - events
  13622. verbs:
  13623. - create
  13624. - patch
  13625. - list
  13626. - get
  13627. - watch
  13628. - apiGroups:
  13629. - storage.k8s.io
  13630. resources:
  13631. - storageclasses
  13632. verbs:
  13633. - get
  13634. - list
  13635. - watch
  13636. ---
  13637. # Source: rook-ceph/templates/clusterrole.yaml
  13638. # Aspects of ceph-mgr that require access to the system namespace
  13639. kind: ClusterRole
  13640. apiVersion: rbac.authorization.k8s.io/v1
  13641. metadata:
  13642. name: rook-ceph-mgr-system
  13643. rules:
  13644. - apiGroups:
  13645. - ""
  13646. resources:
  13647. - configmaps
  13648. verbs:
  13649. - get
  13650. - list
  13651. - watch
  13652. ---
  13653. # Source: rook-ceph/templates/clusterrole.yaml
  13654. # Used for provisioning ObjectBuckets (OBs) in response to ObjectBucketClaims (OBCs).
  13655. # Note: Rook runs a copy of the lib-bucket-provisioner's OBC controller.
  13656. # OBCs can be created in any Kubernetes namespace, so this must be a cluster-scoped role.
  13657. kind: ClusterRole
  13658. apiVersion: rbac.authorization.k8s.io/v1
  13659. metadata:
  13660. name: rook-ceph-object-bucket
  13661. labels:
  13662. operator: rook
  13663. storage-backend: ceph
  13664. app.kubernetes.io/part-of: rook-ceph-operator
  13665. app.kubernetes.io/managed-by: Helm
  13666. app.kubernetes.io/created-by: helm
  13667. helm.sh/chart: "rook-ceph-v1.13.4"
  13668. rules:
  13669. - apiGroups: [""]
  13670. resources: ["secrets", "configmaps"]
  13671. verbs:
  13672. # OBC controller creates secrets and configmaps containing information for users about how to
  13673. # connect to object buckets. It deletes them when an OBC is deleted.
  13674. - get
  13675. - create
  13676. - update
  13677. - delete
  13678. - apiGroups: ["storage.k8s.io"]
  13679. resources: ["storageclasses"]
  13680. verbs:
  13681. # OBC controller gets parameters from the OBC's storageclass
  13682. # Rook gets additional parameters from the OBC's storageclass
  13683. - get
  13684. - apiGroups: ["objectbucket.io"]
  13685. resources: ["objectbucketclaims"]
  13686. verbs:
  13687. # OBC controller needs to list/watch OBCs and get latest version of a reconciled OBC
  13688. - list
  13689. - watch
  13690. - get
  13691. # Ideally, update should not be needed, but the OBC controller updates the OBC with bucket
  13692. # information outside of the status subresource
  13693. - update
  13694. # OBC controller does not delete OBCs; users do this
  13695. - apiGroups: ["objectbucket.io"]
  13696. resources: ["objectbuckets"]
  13697. verbs:
  13698. # OBC controller needs to list/watch OBs and get latest version of a reconciled OB
  13699. - list
  13700. - watch
  13701. - get
  13702. # OBC controller creates an OB when an OBC's bucket has been provisioned by Ceph, updates them
  13703. # when an OBC is updated, and deletes them when the OBC is de-provisioned.
  13704. - create
  13705. - update
  13706. - delete
  13707. - apiGroups: ["objectbucket.io"]
  13708. resources: ["objectbucketclaims/status", "objectbuckets/status"]
  13709. verbs:
  13710. # OBC controller updates OBC and OB statuses
  13711. - update
  13712. - apiGroups: ["objectbucket.io"]
  13713. # This does not strictly allow the OBC/OB controllers to update finalizers. That is handled by
  13714. # the direct "update" permissions above. Instead, this allows Rook's controller to create
  13715. # resources which are owned by OBs/OBCs and where blockOwnerDeletion is set.
  13716. resources: ["objectbucketclaims/finalizers", "objectbuckets/finalizers"]
  13717. verbs:
  13718. - update
  13719. ---
  13720. # Source: rook-ceph/templates/clusterrole.yaml
  13721. kind: ClusterRole
  13722. apiVersion: rbac.authorization.k8s.io/v1
  13723. metadata:
  13724. name: rook-ceph-osd
  13725. rules:
  13726. - apiGroups:
  13727. - ""
  13728. resources:
  13729. - nodes
  13730. verbs:
  13731. - get
  13732. - list
  13733. ---
  13734. # Source: rook-ceph/templates/clusterrole.yaml
  13735. kind: ClusterRole
  13736. apiVersion: rbac.authorization.k8s.io/v1
  13737. metadata:
  13738. name: cephfs-csi-nodeplugin
  13739. rules:
  13740. - apiGroups: [""]
  13741. resources: ["nodes"]
  13742. verbs: ["get"]
  13743. ---
  13744. # Source: rook-ceph/templates/clusterrole.yaml
  13745. kind: ClusterRole
  13746. apiVersion: rbac.authorization.k8s.io/v1
  13747. metadata:
  13748. name: ceph-nfs-external-provisioner-runner
  13749. rules:
  13750. - apiGroups: [""]
  13751. resources: ["persistentvolumes"]
  13752. verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
  13753. - apiGroups: [""]
  13754. resources: ["persistentvolumeclaims"]
  13755. verbs: ["get", "list", "watch", "patch", "update"]
  13756. - apiGroups: ["storage.k8s.io"]
  13757. resources: ["storageclasses"]
  13758. verbs: ["get", "list", "watch"]
  13759. - apiGroups: [""]
  13760. resources: ["events"]
  13761. verbs: ["get", "list", "watch", "create", "update", "patch"]
  13762. - apiGroups: ["storage.k8s.io"]
  13763. resources: ["csinodes"]
  13764. verbs: ["get", "list", "watch"]
  13765. - apiGroups: [""]
  13766. resources: ["nodes"]
  13767. verbs: ["get", "list", "watch"]
  13768. - apiGroups: ["coordination.k8s.io"]
  13769. resources: ["leases"]
  13770. verbs: ["get", "list", "watch", "create", "update", "patch"]
  13771. - apiGroups: [""]
  13772. resources: ["secrets"]
  13773. verbs: ["get"]
  13774. - apiGroups: ["snapshot.storage.k8s.io"]
  13775. resources: ["volumesnapshotclasses"]
  13776. verbs: ["get", "list", "watch"]
  13777. - apiGroups: ["snapshot.storage.k8s.io"]
  13778. resources: ["volumesnapshotcontents"]
  13779. verbs: ["get", "list", "watch", "update", "patch"]
  13780. - apiGroups: ["snapshot.storage.k8s.io"]
  13781. resources: ["volumesnapshotcontents/status"]
  13782. verbs: ["update", "patch"]
  13783. - apiGroups: ["snapshot.storage.k8s.io"]
  13784. resources: ["volumesnapshots"]
  13785. verbs: ["get", "list"]
  13786. - apiGroups: [""]
  13787. resources: ["persistentvolumeclaims/status"]
  13788. verbs: ["patch"]
  13789. - apiGroups: ["storage.k8s.io"]
  13790. resources: ["volumeattachments"]
  13791. verbs: ["get", "list", "watch", "patch"]
  13792. - apiGroups: ["storage.k8s.io"]
  13793. resources: ["volumeattachments/status"]
  13794. verbs: ["patch"]
  13795. ---
  13796. # Source: rook-ceph/templates/clusterrole.yaml
  13797. # TODO: remove this, once https://github.com/rook/rook/issues/10141
  13798. # is resolved.
  13799. kind: ClusterRole
  13800. apiVersion: rbac.authorization.k8s.io/v1
  13801. metadata:
  13802. name: ceph-nfs-csi-nodeplugin
  13803. labels:
  13804. operator: rook
  13805. storage-backend: ceph
  13806. app.kubernetes.io/part-of: rook-ceph-operator
  13807. app.kubernetes.io/managed-by: Helm
  13808. app.kubernetes.io/created-by: helm
  13809. helm.sh/chart: "rook-ceph-v1.13.4"
  13810. rules:
  13811. - apiGroups: [""]
  13812. resources: ["nodes"]
  13813. verbs: ["get"]
  13814. ---
  13815. # Source: rook-ceph/templates/clusterrole.yaml
  13816. kind: ClusterRole
  13817. apiVersion: rbac.authorization.k8s.io/v1
  13818. metadata:
  13819. name: cephfs-external-provisioner-runner
  13820. rules:
  13821. - apiGroups: [""]
  13822. resources: ["secrets"]
  13823. verbs: ["get", "list"]
  13824. - apiGroups: [""]
  13825. resources: ["nodes"]
  13826. verbs: ["get", "list", "watch"]
  13827. - apiGroups: [""]
  13828. resources: ["persistentvolumes"]
  13829. verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
  13830. - apiGroups: [""]
  13831. resources: ["persistentvolumeclaims"]
  13832. verbs: ["get", "list", "watch", "patch", "update"]
  13833. - apiGroups: ["storage.k8s.io"]
  13834. resources: ["storageclasses"]
  13835. verbs: ["get", "list", "watch"]
  13836. - apiGroups: [""]
  13837. resources: ["events"]
  13838. verbs: ["list", "watch", "create", "update", "patch"]
  13839. - apiGroups: ["storage.k8s.io"]
  13840. resources: ["volumeattachments"]
  13841. verbs: ["get", "list", "watch", "patch"]
  13842. - apiGroups: ["storage.k8s.io"]
  13843. resources: ["volumeattachments/status"]
  13844. verbs: ["patch"]
  13845. - apiGroups: [""]
  13846. resources: ["persistentvolumeclaims/status"]
  13847. verbs: ["patch"]
  13848. - apiGroups: ["snapshot.storage.k8s.io"]
  13849. resources: ["volumesnapshots"]
  13850. verbs: ["get", "list"]
  13851. - apiGroups: ["snapshot.storage.k8s.io"]
  13852. resources: ["volumesnapshotclasses"]
  13853. verbs: ["get", "list", "watch"]
  13854. - apiGroups: ["snapshot.storage.k8s.io"]
  13855. resources: ["volumesnapshotcontents"]
  13856. verbs: ["get", "list", "watch", "patch", "update"]
  13857. - apiGroups: ["snapshot.storage.k8s.io"]
  13858. resources: ["volumesnapshotcontents/status"]
  13859. verbs: ["update", "patch"]
  13860. ---
  13861. # Source: rook-ceph/templates/clusterrole.yaml
  13862. kind: ClusterRole
  13863. apiVersion: rbac.authorization.k8s.io/v1
  13864. metadata:
  13865. name: rbd-csi-nodeplugin
  13866. labels:
  13867. operator: rook
  13868. storage-backend: ceph
  13869. app.kubernetes.io/part-of: rook-ceph-operator
  13870. app.kubernetes.io/managed-by: Helm
  13871. app.kubernetes.io/created-by: helm
  13872. helm.sh/chart: "rook-ceph-v1.13.4"
  13873. rules:
  13874. - apiGroups: [""]
  13875. resources: ["secrets"]
  13876. verbs: ["get", "list"]
  13877. - apiGroups: [""]
  13878. resources: ["persistentvolumes"]
  13879. verbs: ["get", "list"]
  13880. - apiGroups: ["storage.k8s.io"]
  13881. resources: ["volumeattachments"]
  13882. verbs: ["get", "list"]
  13883. - apiGroups: [""]
  13884. resources: ["configmaps"]
  13885. verbs: ["get"]
  13886. - apiGroups: [""]
  13887. resources: ["serviceaccounts"]
  13888. verbs: ["get"]
  13889. - apiGroups: [""]
  13890. resources: ["serviceaccounts/token"]
  13891. verbs: ["create"]
  13892. - apiGroups: [""]
  13893. resources: ["nodes"]
  13894. verbs: ["get"]
  13895. ---
  13896. # Source: rook-ceph/templates/clusterrole.yaml
  13897. kind: ClusterRole
  13898. apiVersion: rbac.authorization.k8s.io/v1
  13899. metadata:
  13900. name: rbd-external-provisioner-runner
  13901. rules:
  13902. - apiGroups: [""]
  13903. resources: ["secrets"]
  13904. verbs: ["get", "list", "watch"]
  13905. - apiGroups: [""]
  13906. resources: ["persistentvolumes"]
  13907. verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
  13908. - apiGroups: [""]
  13909. resources: ["persistentvolumeclaims"]
  13910. verbs: ["get", "list", "watch", "update"]
  13911. - apiGroups: ["storage.k8s.io"]
  13912. resources: ["storageclasses"]
  13913. verbs: ["get", "list", "watch"]
  13914. - apiGroups: [""]
  13915. resources: ["events"]
  13916. verbs: ["list", "watch", "create", "update", "patch"]
  13917. - apiGroups: ["storage.k8s.io"]
  13918. resources: ["volumeattachments"]
  13919. verbs: ["get", "list", "watch", "patch"]
  13920. - apiGroups: ["storage.k8s.io"]
  13921. resources: ["volumeattachments/status"]
  13922. verbs: ["patch"]
  13923. - apiGroups: [""]
  13924. resources: ["nodes"]
  13925. verbs: ["get", "list", "watch"]
  13926. - apiGroups: ["storage.k8s.io"]
  13927. resources: ["csinodes"]
  13928. verbs: ["get", "list", "watch"]
  13929. - apiGroups: [""]
  13930. resources: ["persistentvolumeclaims/status"]
  13931. verbs: ["patch"]
  13932. - apiGroups: ["snapshot.storage.k8s.io"]
  13933. resources: ["volumesnapshots"]
  13934. verbs: ["get", "list", "watch"]
  13935. - apiGroups: ["snapshot.storage.k8s.io"]
  13936. resources: ["volumesnapshotclasses"]
  13937. verbs: ["get", "list", "watch"]
  13938. - apiGroups: ["snapshot.storage.k8s.io"]
  13939. resources: ["volumesnapshotcontents"]
  13940. verbs: ["get", "list", "watch", "patch", "update"]
  13941. - apiGroups: ["snapshot.storage.k8s.io"]
  13942. resources: ["volumesnapshotcontents/status"]
  13943. verbs: ["update", "patch"]
  13944. - apiGroups: [""]
  13945. resources: ["configmaps"]
  13946. verbs: ["get"]
  13947. - apiGroups: [""]
  13948. resources: ["serviceaccounts"]
  13949. verbs: ["get"]
  13950. - apiGroups: [""]
  13951. resources: ["serviceaccounts/token"]
  13952. verbs: ["create"]
  13953. - apiGroups: [""]
  13954. resources: ["nodes"]
  13955. verbs: ["get", "list", "watch"]
  13956. - apiGroups: ["storage.k8s.io"]
  13957. resources: ["csinodes"]
  13958. verbs: ["get", "list", "watch"]
  13959. ---
  13960. # Source: rook-ceph/templates/clusterrole.yaml
  13961. kind: ClusterRole
  13962. apiVersion: rbac.authorization.k8s.io/v1
  13963. metadata:
  13964. name: objectstorage-provisioner-role
  13965. labels:
  13966. app.kubernetes.io/part-of: container-object-storage-interface
  13967. app.kubernetes.io/component: driver-ceph
  13968. app.kubernetes.io/name: cosi-driver-ceph
  13969. rules:
  13970. - apiGroups: ["objectstorage.k8s.io"]
  13971. resources:
  13972. [
  13973. "buckets",
  13974. "bucketaccesses",
  13975. "bucketclaims",
  13976. "bucketaccessclasses",
  13977. "buckets/status",
  13978. "bucketaccesses/status",
  13979. "bucketclaims/status",
  13980. "bucketaccessclasses/status",
  13981. ]
  13982. verbs: ["get", "list", "watch", "update", "create", "delete"]
  13983. - apiGroups: ["coordination.k8s.io"]
  13984. resources: ["leases"]
  13985. verbs: ["get", "watch", "list", "delete", "update", "create"]
  13986. - apiGroups: [""]
  13987. resources: ["secrets", "events"]
  13988. verbs: ["get", "delete", "update", "create"]
  13989. ---
  13990. # Source: rook-ceph/templates/cluster-rbac.yaml
  13991. # Allow the ceph mgr to access cluster-wide resources necessary for the mgr modules
  13992. kind: ClusterRoleBinding
  13993. apiVersion: rbac.authorization.k8s.io/v1
  13994. metadata:
  13995. name: rook-ceph-mgr-cluster
  13996. roleRef:
  13997. apiGroup: rbac.authorization.k8s.io
  13998. kind: ClusterRole
  13999. name: rook-ceph-mgr-cluster
  14000. subjects:
  14001. - kind: ServiceAccount
  14002. name: rook-ceph-mgr
  14003. namespace: rook-ceph # namespace:cluster
  14004. ---
  14005. # Source: rook-ceph/templates/cluster-rbac.yaml
  14006. # Allow the ceph osd to access cluster-wide resources necessary for determining their topology location
  14007. kind: ClusterRoleBinding
  14008. apiVersion: rbac.authorization.k8s.io/v1
  14009. metadata:
  14010. name: rook-ceph-osd
  14011. roleRef:
  14012. apiGroup: rbac.authorization.k8s.io
  14013. kind: ClusterRole
  14014. name: rook-ceph-osd
  14015. subjects:
  14016. - kind: ServiceAccount
  14017. name: rook-ceph-osd
  14018. namespace: rook-ceph # namespace:cluster
  14019. ---
  14020. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14021. kind: ClusterRoleBinding
  14022. apiVersion: rbac.authorization.k8s.io/v1
  14023. metadata:
  14024. name: rook-ceph-system
  14025. labels:
  14026. operator: rook
  14027. storage-backend: ceph
  14028. app.kubernetes.io/part-of: rook-ceph-operator
  14029. app.kubernetes.io/managed-by: Helm
  14030. app.kubernetes.io/created-by: helm
  14031. helm.sh/chart: "rook-ceph-v1.13.4"
  14032. roleRef:
  14033. apiGroup: rbac.authorization.k8s.io
  14034. kind: ClusterRole
  14035. name: rook-ceph-system
  14036. subjects:
  14037. - kind: ServiceAccount
  14038. name: rook-ceph-system
  14039. namespace: rook-ceph # namespace:operator
  14040. ---
  14041. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14042. # Grant the rook system daemons cluster-wide access to manage the Rook CRDs, PVCs, and storage classes
  14043. kind: ClusterRoleBinding
  14044. apiVersion: rbac.authorization.k8s.io/v1
  14045. metadata:
  14046. name: rook-ceph-global
  14047. labels:
  14048. operator: rook
  14049. storage-backend: ceph
  14050. app.kubernetes.io/part-of: rook-ceph-operator
  14051. app.kubernetes.io/managed-by: Helm
  14052. app.kubernetes.io/created-by: helm
  14053. helm.sh/chart: "rook-ceph-v1.13.4"
  14054. roleRef:
  14055. apiGroup: rbac.authorization.k8s.io
  14056. kind: ClusterRole
  14057. name: rook-ceph-global
  14058. subjects:
  14059. - kind: ServiceAccount
  14060. name: rook-ceph-system
  14061. namespace: rook-ceph # namespace:operator
  14062. ---
  14063. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14064. kind: ClusterRoleBinding
  14065. # Give Rook-Ceph Operator permissions to provision ObjectBuckets in response to ObjectBucketClaims.
  14066. apiVersion: rbac.authorization.k8s.io/v1
  14067. metadata:
  14068. name: rook-ceph-object-bucket
  14069. roleRef:
  14070. apiGroup: rbac.authorization.k8s.io
  14071. kind: ClusterRole
  14072. name: rook-ceph-object-bucket
  14073. subjects:
  14074. - kind: ServiceAccount
  14075. name: rook-ceph-system
  14076. namespace: rook-ceph # namespace:operator
  14077. ---
  14078. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14079. kind: ClusterRoleBinding
  14080. apiVersion: rbac.authorization.k8s.io/v1
  14081. metadata:
  14082. name: rbd-csi-nodeplugin
  14083. subjects:
  14084. - kind: ServiceAccount
  14085. name: rook-csi-rbd-plugin-sa
  14086. namespace: rook-ceph # namespace:operator
  14087. roleRef:
  14088. kind: ClusterRole
  14089. name: rbd-csi-nodeplugin
  14090. apiGroup: rbac.authorization.k8s.io
  14091. ---
  14092. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14093. kind: ClusterRoleBinding
  14094. apiVersion: rbac.authorization.k8s.io/v1
  14095. metadata:
  14096. name: cephfs-csi-provisioner-role
  14097. subjects:
  14098. - kind: ServiceAccount
  14099. name: rook-csi-cephfs-provisioner-sa
  14100. namespace: rook-ceph # namespace:operator
  14101. roleRef:
  14102. kind: ClusterRole
  14103. name: cephfs-external-provisioner-runner
  14104. apiGroup: rbac.authorization.k8s.io
  14105. ---
  14106. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14107. # This is required by operator-sdk to map the cluster/clusterrolebindings with SA
  14108. # otherwise operator-sdk will create a individual file for these.
  14109. kind: ClusterRoleBinding
  14110. apiVersion: rbac.authorization.k8s.io/v1
  14111. metadata:
  14112. name: cephfs-csi-nodeplugin-role
  14113. subjects:
  14114. - kind: ServiceAccount
  14115. name: rook-csi-cephfs-plugin-sa
  14116. namespace: rook-ceph # namespace:operator
  14117. roleRef:
  14118. kind: ClusterRole
  14119. name: cephfs-csi-nodeplugin
  14120. apiGroup: rbac.authorization.k8s.io
  14121. ---
  14122. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14123. kind: ClusterRoleBinding
  14124. apiVersion: rbac.authorization.k8s.io/v1
  14125. metadata:
  14126. name: ceph-nfs-csi-provisioner-role
  14127. subjects:
  14128. - kind: ServiceAccount
  14129. name: rook-csi-nfs-provisioner-sa
  14130. namespace: rook-ceph # namespace:operator
  14131. roleRef:
  14132. kind: ClusterRole
  14133. name: ceph-nfs-external-provisioner-runner
  14134. apiGroup: rbac.authorization.k8s.io
  14135. ---
  14136. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14137. # TODO: remove this, once https://github.com/rook/rook/issues/10141
  14138. # is resolved.
  14139. kind: ClusterRoleBinding
  14140. apiVersion: rbac.authorization.k8s.io/v1
  14141. metadata:
  14142. name: ceph-nfs-csi-nodeplugin-role
  14143. subjects:
  14144. - kind: ServiceAccount
  14145. name: rook-csi-nfs-plugin-sa
  14146. namespace: rook-ceph # namespace:operator
  14147. roleRef:
  14148. kind: ClusterRole
  14149. name: ceph-nfs-csi-nodeplugin
  14150. apiGroup: rbac.authorization.k8s.io
  14151. ---
  14152. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14153. kind: ClusterRoleBinding
  14154. apiVersion: rbac.authorization.k8s.io/v1
  14155. metadata:
  14156. name: rbd-csi-provisioner-role
  14157. subjects:
  14158. - kind: ServiceAccount
  14159. name: rook-csi-rbd-provisioner-sa
  14160. namespace: rook-ceph # namespace:operator
  14161. roleRef:
  14162. kind: ClusterRole
  14163. name: rbd-external-provisioner-runner
  14164. apiGroup: rbac.authorization.k8s.io
  14165. ---
  14166. # Source: rook-ceph/templates/clusterrolebinding.yaml
  14167. # RBAC for ceph cosi driver service account
  14168. kind: ClusterRoleBinding
  14169. apiVersion: rbac.authorization.k8s.io/v1
  14170. metadata:
  14171. name: objectstorage-provisioner-role-binding
  14172. labels:
  14173. app.kubernetes.io/part-of: container-object-storage-interface
  14174. app.kubernetes.io/component: driver-ceph
  14175. app.kubernetes.io/name: cosi-driver-ceph
  14176. subjects:
  14177. - kind: ServiceAccount
  14178. name: objectstorage-provisioner
  14179. namespace: rook-ceph # namespace:operator
  14180. roleRef:
  14181. kind: ClusterRole
  14182. name: objectstorage-provisioner-role
  14183. apiGroup: rbac.authorization.k8s.io
  14184. ---
  14185. # Source: rook-ceph/templates/cluster-rbac.yaml
  14186. kind: Role
  14187. apiVersion: rbac.authorization.k8s.io/v1
  14188. metadata:
  14189. name: rook-ceph-osd
  14190. namespace: rook-ceph # namespace:cluster
  14191. rules:
  14192. # this is needed for rook's "key-management" CLI to fetch the vault token from the secret when
  14193. # validating the connection details and for key rotation operations.
  14194. - apiGroups: [""]
  14195. resources: ["secrets"]
  14196. verbs: ["get", "update"]
  14197. - apiGroups: [""]
  14198. resources: ["configmaps"]
  14199. verbs: ["get", "list", "watch", "create", "update", "delete"]
  14200. - apiGroups: ["ceph.rook.io"]
  14201. resources: ["cephclusters", "cephclusters/finalizers"]
  14202. verbs: ["get", "list", "create", "update", "delete"]
  14203. ---
  14204. # Source: rook-ceph/templates/cluster-rbac.yaml
  14205. kind: Role
  14206. apiVersion: rbac.authorization.k8s.io/v1
  14207. metadata:
  14208. name: rook-ceph-rgw
  14209. namespace: rook-ceph # namespace:cluster
  14210. rules:
  14211. # Placeholder role so the rgw service account will
  14212. # be generated in the csv. Remove this role and role binding
  14213. # when fixing https://github.com/rook/rook/issues/10141.
  14214. - apiGroups:
  14215. - ""
  14216. resources:
  14217. - configmaps
  14218. verbs:
  14219. - get
  14220. ---
  14221. # Source: rook-ceph/templates/cluster-rbac.yaml
  14222. # Aspects of ceph-mgr that operate within the cluster's namespace
  14223. kind: Role
  14224. apiVersion: rbac.authorization.k8s.io/v1
  14225. metadata:
  14226. name: rook-ceph-mgr
  14227. namespace: rook-ceph # namespace:cluster
  14228. rules:
  14229. - apiGroups:
  14230. - ""
  14231. resources:
  14232. - pods
  14233. - services
  14234. - pods/log
  14235. verbs:
  14236. - get
  14237. - list
  14238. - watch
  14239. - create
  14240. - update
  14241. - delete
  14242. - apiGroups:
  14243. - batch
  14244. resources:
  14245. - jobs
  14246. verbs:
  14247. - get
  14248. - list
  14249. - watch
  14250. - create
  14251. - update
  14252. - delete
  14253. - apiGroups:
  14254. - ceph.rook.io
  14255. resources:
  14256. - cephclients
  14257. - cephclusters
  14258. - cephblockpools
  14259. - cephfilesystems
  14260. - cephnfses
  14261. - cephobjectstores
  14262. - cephobjectstoreusers
  14263. - cephobjectrealms
  14264. - cephobjectzonegroups
  14265. - cephobjectzones
  14266. - cephbuckettopics
  14267. - cephbucketnotifications
  14268. - cephrbdmirrors
  14269. - cephfilesystemmirrors
  14270. - cephfilesystemsubvolumegroups
  14271. - cephblockpoolradosnamespaces
  14272. - cephcosidrivers
  14273. verbs:
  14274. - get
  14275. - list
  14276. - watch
  14277. - create
  14278. - update
  14279. - delete
  14280. - patch
  14281. - apiGroups:
  14282. - apps
  14283. resources:
  14284. - deployments/scale
  14285. - deployments
  14286. verbs:
  14287. - patch
  14288. - delete
  14289. - apiGroups:
  14290. - ''
  14291. resources:
  14292. - persistentvolumeclaims
  14293. verbs:
  14294. - delete
  14295. ---
  14296. # Source: rook-ceph/templates/cluster-rbac.yaml
  14297. kind: Role
  14298. apiVersion: rbac.authorization.k8s.io/v1
  14299. metadata:
  14300. name: rook-ceph-cmd-reporter
  14301. namespace: rook-ceph # namespace:cluster
  14302. rules:
  14303. - apiGroups:
  14304. - ""
  14305. resources:
  14306. - pods
  14307. - configmaps
  14308. verbs:
  14309. - get
  14310. - list
  14311. - watch
  14312. - create
  14313. - update
  14314. - delete
  14315. ---
  14316. # Source: rook-ceph/templates/cluster-rbac.yaml
  14317. # Aspects of ceph osd purge job that require access to the cluster namespace
  14318. kind: Role
  14319. apiVersion: rbac.authorization.k8s.io/v1
  14320. metadata:
  14321. name: rook-ceph-purge-osd
  14322. namespace: rook-ceph # namespace:cluster
  14323. rules:
  14324. - apiGroups: [""]
  14325. resources: ["configmaps"]
  14326. verbs: ["get"]
  14327. - apiGroups: ["apps"]
  14328. resources: ["deployments"]
  14329. verbs: ["get", "delete"]
  14330. - apiGroups: ["batch"]
  14331. resources: ["jobs"]
  14332. verbs: ["get", "list", "delete"]
  14333. - apiGroups: [""]
  14334. resources: ["persistentvolumeclaims"]
  14335. verbs: ["get", "update", "delete", "list"]
  14336. ---
  14337. # Source: rook-ceph/templates/role.yaml
  14338. # Allow the operator to manage resources in its own namespace
  14339. apiVersion: rbac.authorization.k8s.io/v1
  14340. kind: Role
  14341. metadata:
  14342. name: rook-ceph-system
  14343. namespace: rook-ceph # namespace:operator
  14344. labels:
  14345. operator: rook
  14346. storage-backend: ceph
  14347. app.kubernetes.io/part-of: rook-ceph-operator
  14348. app.kubernetes.io/managed-by: Helm
  14349. app.kubernetes.io/created-by: helm
  14350. helm.sh/chart: "rook-ceph-v1.13.4"
  14351. rules:
  14352. - apiGroups:
  14353. - ""
  14354. resources:
  14355. - pods
  14356. - configmaps
  14357. - services
  14358. verbs:
  14359. - get
  14360. - list
  14361. - watch
  14362. - patch
  14363. - create
  14364. - update
  14365. - delete
  14366. - apiGroups:
  14367. - apps
  14368. - extensions
  14369. resources:
  14370. - daemonsets
  14371. - statefulsets
  14372. - deployments
  14373. verbs:
  14374. - get
  14375. - list
  14376. - watch
  14377. - create
  14378. - update
  14379. - delete
  14380. - deletecollection
  14381. - apiGroups:
  14382. - batch
  14383. resources:
  14384. - cronjobs
  14385. verbs:
  14386. - delete
  14387. - apiGroups:
  14388. - cert-manager.io
  14389. resources:
  14390. - certificates
  14391. - issuers
  14392. verbs:
  14393. - get
  14394. - create
  14395. - delete
  14396. - apiGroups:
  14397. - multicluster.x-k8s.io
  14398. resources:
  14399. - serviceexports
  14400. verbs:
  14401. - get
  14402. - create
  14403. ---
  14404. # Source: rook-ceph/templates/role.yaml
  14405. kind: Role
  14406. apiVersion: rbac.authorization.k8s.io/v1
  14407. metadata:
  14408. name: cephfs-external-provisioner-cfg
  14409. namespace: rook-ceph # namespace:operator
  14410. rules:
  14411. - apiGroups: ["coordination.k8s.io"]
  14412. resources: ["leases"]
  14413. verbs: ["get", "watch", "list", "delete", "update", "create"]
  14414. ---
  14415. # Source: rook-ceph/templates/role.yaml
  14416. kind: Role
  14417. apiVersion: rbac.authorization.k8s.io/v1
  14418. metadata:
  14419. name: rbd-external-provisioner-cfg
  14420. namespace: rook-ceph # namespace:operator
  14421. rules:
  14422. - apiGroups: ["coordination.k8s.io"]
  14423. resources: ["leases"]
  14424. verbs: ["get", "watch", "list", "delete", "update", "create"]
  14425. ---
  14426. # Source: rook-ceph/templates/cluster-rbac.yaml
  14427. # Allow the operator to create resources in this cluster's namespace
  14428. kind: RoleBinding
  14429. apiVersion: rbac.authorization.k8s.io/v1
  14430. metadata:
  14431. name: rook-ceph-cluster-mgmt
  14432. namespace: rook-ceph # namespace:cluster
  14433. roleRef:
  14434. apiGroup: rbac.authorization.k8s.io
  14435. kind: ClusterRole
  14436. name: rook-ceph-cluster-mgmt
  14437. subjects:
  14438. - kind: ServiceAccount
  14439. name: rook-ceph-system
  14440. namespace: rook-ceph # namespace:operator
  14441. ---
  14442. # Source: rook-ceph/templates/cluster-rbac.yaml
  14443. # Allow the osd pods in this namespace to work with configmaps
  14444. kind: RoleBinding
  14445. apiVersion: rbac.authorization.k8s.io/v1
  14446. metadata:
  14447. name: rook-ceph-osd
  14448. namespace: rook-ceph # namespace:cluster
  14449. roleRef:
  14450. apiGroup: rbac.authorization.k8s.io
  14451. kind: Role
  14452. name: rook-ceph-osd
  14453. subjects:
  14454. - kind: ServiceAccount
  14455. name: rook-ceph-osd
  14456. namespace: rook-ceph # namespace:cluster
  14457. ---
  14458. # Source: rook-ceph/templates/cluster-rbac.yaml
  14459. # Allow the rgw pods in this namespace to work with configmaps
  14460. kind: RoleBinding
  14461. apiVersion: rbac.authorization.k8s.io/v1
  14462. metadata:
  14463. name: rook-ceph-rgw
  14464. namespace: rook-ceph # namespace:cluster
  14465. roleRef:
  14466. apiGroup: rbac.authorization.k8s.io
  14467. kind: Role
  14468. name: rook-ceph-rgw
  14469. subjects:
  14470. - kind: ServiceAccount
  14471. name: rook-ceph-rgw
  14472. namespace: rook-ceph # namespace:cluster
  14473. ---
  14474. # Source: rook-ceph/templates/cluster-rbac.yaml
  14475. # Allow the ceph mgr to access resources scoped to the CephCluster namespace necessary for mgr modules
  14476. kind: RoleBinding
  14477. apiVersion: rbac.authorization.k8s.io/v1
  14478. metadata:
  14479. name: rook-ceph-mgr
  14480. namespace: rook-ceph # namespace:cluster
  14481. roleRef:
  14482. apiGroup: rbac.authorization.k8s.io
  14483. kind: Role
  14484. name: rook-ceph-mgr
  14485. subjects:
  14486. - kind: ServiceAccount
  14487. name: rook-ceph-mgr
  14488. namespace: rook-ceph # namespace:cluster
  14489. ---
  14490. # Source: rook-ceph/templates/cluster-rbac.yaml
  14491. # Allow the ceph mgr to access resources in the Rook operator namespace necessary for mgr modules
  14492. kind: RoleBinding
  14493. apiVersion: rbac.authorization.k8s.io/v1
  14494. metadata:
  14495. name: rook-ceph-mgr-system
  14496. namespace: rook-ceph # namespace:operator
  14497. roleRef:
  14498. apiGroup: rbac.authorization.k8s.io
  14499. kind: ClusterRole
  14500. name: rook-ceph-mgr-system
  14501. subjects:
  14502. - kind: ServiceAccount
  14503. name: rook-ceph-mgr
  14504. namespace: rook-ceph # namespace:cluster
  14505. ---
  14506. # Source: rook-ceph/templates/cluster-rbac.yaml
  14507. kind: RoleBinding
  14508. apiVersion: rbac.authorization.k8s.io/v1
  14509. metadata:
  14510. name: rook-ceph-cmd-reporter
  14511. namespace: rook-ceph # namespace:cluster
  14512. roleRef:
  14513. apiGroup: rbac.authorization.k8s.io
  14514. kind: Role
  14515. name: rook-ceph-cmd-reporter
  14516. subjects:
  14517. - kind: ServiceAccount
  14518. name: rook-ceph-cmd-reporter
  14519. namespace: rook-ceph # namespace:cluster
  14520. ---
  14521. # Source: rook-ceph/templates/cluster-rbac.yaml
  14522. # Allow the osd purge job to run in this namespace
  14523. kind: RoleBinding
  14524. apiVersion: rbac.authorization.k8s.io/v1
  14525. metadata:
  14526. name: rook-ceph-purge-osd
  14527. namespace: rook-ceph # namespace:cluster
  14528. roleRef:
  14529. apiGroup: rbac.authorization.k8s.io
  14530. kind: Role
  14531. name: rook-ceph-purge-osd
  14532. subjects:
  14533. - kind: ServiceAccount
  14534. name: rook-ceph-purge-osd
  14535. namespace: rook-ceph # namespace:cluster
  14536. ---
  14537. # Source: rook-ceph/templates/rolebinding.yaml
  14538. # Grant the operator, agent, and discovery agents access to resources in the rook-ceph-system namespace
  14539. kind: RoleBinding
  14540. apiVersion: rbac.authorization.k8s.io/v1
  14541. metadata:
  14542. name: rook-ceph-system
  14543. namespace: rook-ceph # namespace:operator
  14544. labels:
  14545. operator: rook
  14546. storage-backend: ceph
  14547. app.kubernetes.io/part-of: rook-ceph-operator
  14548. app.kubernetes.io/managed-by: Helm
  14549. app.kubernetes.io/created-by: helm
  14550. helm.sh/chart: "rook-ceph-v1.13.4"
  14551. roleRef:
  14552. apiGroup: rbac.authorization.k8s.io
  14553. kind: Role
  14554. name: rook-ceph-system
  14555. subjects:
  14556. - kind: ServiceAccount
  14557. name: rook-ceph-system
  14558. namespace: rook-ceph # namespace:operator
  14559. ---
  14560. # Source: rook-ceph/templates/rolebinding.yaml
  14561. kind: RoleBinding
  14562. apiVersion: rbac.authorization.k8s.io/v1
  14563. metadata:
  14564. name: cephfs-csi-provisioner-role-cfg
  14565. namespace: rook-ceph # namespace:operator
  14566. subjects:
  14567. - kind: ServiceAccount
  14568. name: rook-csi-cephfs-provisioner-sa
  14569. namespace: rook-ceph # namespace:operator
  14570. roleRef:
  14571. kind: Role
  14572. name: cephfs-external-provisioner-cfg
  14573. apiGroup: rbac.authorization.k8s.io
  14574. ---
  14575. # Source: rook-ceph/templates/rolebinding.yaml
  14576. kind: RoleBinding
  14577. apiVersion: rbac.authorization.k8s.io/v1
  14578. metadata:
  14579. name: rbd-csi-provisioner-role-cfg
  14580. namespace: rook-ceph # namespace:operator
  14581. subjects:
  14582. - kind: ServiceAccount
  14583. name: rook-csi-rbd-provisioner-sa
  14584. namespace: rook-ceph # namespace:operator
  14585. roleRef:
  14586. kind: Role
  14587. name: rbd-external-provisioner-cfg
  14588. apiGroup: rbac.authorization.k8s.io
  14589. ---
  14590. # Source: rook-ceph/templates/deployment.yaml
  14591. apiVersion: apps/v1
  14592. kind: Deployment
  14593. metadata:
  14594. name: rook-ceph-operator
  14595. namespace: rook-ceph # namespace:operator
  14596. labels:
  14597. operator: rook
  14598. storage-backend: ceph
  14599. app.kubernetes.io/part-of: rook-ceph-operator
  14600. app.kubernetes.io/managed-by: Helm
  14601. app.kubernetes.io/created-by: helm
  14602. helm.sh/chart: "rook-ceph-v1.13.4"
  14603. spec:
  14604. replicas: 1
  14605. selector:
  14606. matchLabels:
  14607. app: rook-ceph-operator
  14608. strategy:
  14609. type: Recreate
  14610. template:
  14611. metadata:
  14612. labels:
  14613. app: rook-ceph-operator
  14614. helm.sh/chart: "rook-ceph-v1.13.4"
  14615. spec:
  14616. tolerations:
  14617. - effect: NoExecute
  14618. key: node.kubernetes.io/unreachable
  14619. operator: Exists
  14620. tolerationSeconds: 5
  14621. containers:
  14622. - name: rook-ceph-operator
  14623. image: "rook/ceph:master"
  14624. imagePullPolicy: IfNotPresent
  14625. args: ["ceph", "operator"]
  14626. securityContext:
  14627. capabilities:
  14628. drop:
  14629. - ALL
  14630. runAsGroup: 2016
  14631. runAsNonRoot: true
  14632. runAsUser: 2016
  14633. volumeMounts:
  14634. - mountPath: /var/lib/rook
  14635. name: rook-config
  14636. - mountPath: /etc/ceph
  14637. name: default-config-dir
  14638. env:
  14639. - name: ROOK_CURRENT_NAMESPACE_ONLY
  14640. value: "false"
  14641. - name: ROOK_HOSTPATH_REQUIRES_PRIVILEGED
  14642. value: "false"
  14643. - name: ROOK_DISABLE_DEVICE_HOTPLUG
  14644. value: "false"
  14645. - name: ROOK_DISCOVER_DEVICES_INTERVAL
  14646. value: "60m"
  14647. - name: NODE_NAME
  14648. valueFrom:
  14649. fieldRef:
  14650. fieldPath: spec.nodeName
  14651. - name: POD_NAME
  14652. valueFrom:
  14653. fieldRef:
  14654. fieldPath: metadata.name
  14655. - name: POD_NAMESPACE
  14656. valueFrom:
  14657. fieldRef:
  14658. fieldPath: metadata.namespace
  14659. resources:
  14660. limits:
  14661. cpu: 500m
  14662. memory: 512Mi
  14663. requests:
  14664. cpu: 100m
  14665. memory: 128Mi
  14666. serviceAccountName: rook-ceph-system
  14667. volumes:
  14668. - name: rook-config
  14669. emptyDir: {}
  14670. - name: default-config-dir
  14671. emptyDir: {}
  14672. ---
  14673. # Source: rook-ceph/templates/securityContextConstraints.yaml
  14674. # scc for the Rook and Ceph daemons
  14675. # for creating cluster in openshift