cert-manager.yaml 1.2 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447
  1. # Copyright YEAR The Jetstack cert-manager contributors.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. ---
  15. # Source: cert-manager/templates/templates.regular.out
  16. apiVersion: apiextensions.k8s.io/v1
  17. kind: CustomResourceDefinition
  18. metadata:
  19. name: certificaterequests.cert-manager.io
  20. annotations:
  21. cert-manager.io/inject-ca-from-secret: 'cert-manager/cert-manager-webhook-ca'
  22. labels:
  23. app: 'cert-manager'
  24. app.kubernetes.io/name: 'cert-manager'
  25. app.kubernetes.io/instance: 'cert-manager'
  26. app.kubernetes.io/managed-by: 'Helm'
  27. helm.sh/chart: 'cert-manager-v0.16.1'
  28. spec:
  29. additionalPrinterColumns:
  30. - JSONPath: .status.conditions[?(@.type=="Ready")].status
  31. name: Ready
  32. type: string
  33. - JSONPath: .spec.issuerRef.name
  34. name: Issuer
  35. priority: 1
  36. type: string
  37. - JSONPath: .status.conditions[?(@.type=="Ready")].message
  38. name: Status
  39. priority: 1
  40. type: string
  41. - JSONPath: .metadata.creationTimestamp
  42. description: CreationTimestamp is a timestamp representing the server time when
  43. this object was created. It is not guaranteed to be set in happens-before order
  44. across separate operations. Clients may not set this value. It is represented
  45. in RFC3339 form and is in UTC.
  46. name: Age
  47. type: date
  48. group: cert-manager.io
  49. preserveUnknownFields: false
  50. conversion:
  51. # a Webhook strategy instruct API server to call an external webhook for any conversion between custom resources.
  52. strategy: Webhook
  53. # webhookClientConfig is required when strategy is `Webhook` and it configures the webhook endpoint to be called by API server.
  54. webhookClientConfig:
  55. service:
  56. namespace: 'cert-manager'
  57. name: 'cert-manager-webhook'
  58. path: /convert
  59. names:
  60. kind: CertificateRequest
  61. listKind: CertificateRequestList
  62. plural: certificaterequests
  63. shortNames:
  64. - cr
  65. - crs
  66. singular: certificaterequest
  67. scope: Namespaced
  68. subresources:
  69. status: {}
  70. versions:
  71. - name: v1alpha2
  72. served: true
  73. storage: true
  74. "schema":
  75. "openAPIV3Schema":
  76. description: "A CertificateRequest is used to request a signed certificate
  77. from one of the configured issuers. \n All fields within the CertificateRequest's
  78. `spec` are immutable after creation. A CertificateRequest will either succeed
  79. or fail, as denoted by its `status.state` field. \n A CertificateRequest
  80. is a 'one-shot' resource, meaning it represents a single point in time request
  81. for a certificate and cannot be re-used."
  82. type: object
  83. properties:
  84. apiVersion:
  85. description: 'APIVersion defines the versioned schema of this representation
  86. of an object. Servers should convert recognized schemas to the latest
  87. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  88. type: string
  89. kind:
  90. description: 'Kind is a string value representing the REST resource this
  91. object represents. Servers may infer this from the endpoint the client
  92. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  93. type: string
  94. metadata:
  95. type: object
  96. spec:
  97. description: Desired state of the CertificateRequest resource.
  98. type: object
  99. required:
  100. - csr
  101. - issuerRef
  102. properties:
  103. csr:
  104. description: The PEM-encoded x509 certificate signing request to be
  105. submitted to the CA for signing.
  106. type: string
  107. format: byte
  108. duration:
  109. description: The requested 'duration' (i.e. lifetime) of the Certificate.
  110. This option may be ignored/overridden by some issuer types.
  111. type: string
  112. isCA:
  113. description: IsCA will request to mark the certificate as valid for
  114. certificate signing when submitting to the issuer. This will automatically
  115. add the `cert sign` usage to the list of `usages`.
  116. type: boolean
  117. issuerRef:
  118. description: IssuerRef is a reference to the issuer for this CertificateRequest. If
  119. the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  120. with the given name in the same namespace as the CertificateRequest
  121. will be used. If the 'kind' field is set to 'ClusterIssuer', a
  122. ClusterIssuer with the provided name will be used. The 'name' field
  123. in this stanza is required at all times. The group field refers
  124. to the API group of the issuer which defaults to 'cert-manager.io'
  125. if empty.
  126. type: object
  127. required:
  128. - name
  129. properties:
  130. group:
  131. description: Group of the resource being referred to.
  132. type: string
  133. kind:
  134. description: Kind of the resource being referred to.
  135. type: string
  136. name:
  137. description: Name of the resource being referred to.
  138. type: string
  139. usages:
  140. description: Usages is the set of x509 usages that are requested for
  141. the certificate. Defaults to `digital signature` and `key encipherment`
  142. if not specified.
  143. type: array
  144. items:
  145. description: 'KeyUsage specifies valid usage contexts for keys.
  146. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  147. Valid KeyUsage values are as follows: "signing", "digital signature",
  148. "content commitment", "key encipherment", "key agreement", "data
  149. encipherment", "cert sign", "crl sign", "encipher only", "decipher
  150. only", "any", "server auth", "client auth", "code signing", "email
  151. protection", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec
  152. user", "timestamping", "ocsp signing", "microsoft sgc", "netscape
  153. sgc"'
  154. type: string
  155. enum:
  156. - signing
  157. - digital signature
  158. - content commitment
  159. - key encipherment
  160. - key agreement
  161. - data encipherment
  162. - cert sign
  163. - crl sign
  164. - encipher only
  165. - decipher only
  166. - any
  167. - server auth
  168. - client auth
  169. - code signing
  170. - email protection
  171. - s/mime
  172. - ipsec end system
  173. - ipsec tunnel
  174. - ipsec user
  175. - timestamping
  176. - ocsp signing
  177. - microsoft sgc
  178. - netscape sgc
  179. status:
  180. description: Status of the CertificateRequest. This is set and managed
  181. automatically.
  182. type: object
  183. properties:
  184. ca:
  185. description: The PEM encoded x509 certificate of the signer, also
  186. known as the CA (Certificate Authority). This is set on a best-effort
  187. basis by different issuers. If not set, the CA is assumed to be
  188. unknown/not available.
  189. type: string
  190. format: byte
  191. certificate:
  192. description: The PEM encoded x509 certificate resulting from the certificate
  193. signing request. If not set, the CertificateRequest has either not
  194. been completed or has failed. More information on failure can be
  195. found by checking the `conditions` field.
  196. type: string
  197. format: byte
  198. conditions:
  199. description: List of status conditions to indicate the status of a
  200. CertificateRequest. Known condition types are `Ready` and `InvalidRequest`.
  201. type: array
  202. items:
  203. description: CertificateRequestCondition contains condition information
  204. for a CertificateRequest.
  205. type: object
  206. required:
  207. - status
  208. - type
  209. properties:
  210. lastTransitionTime:
  211. description: LastTransitionTime is the timestamp corresponding
  212. to the last status change of this condition.
  213. type: string
  214. format: date-time
  215. message:
  216. description: Message is a human readable description of the
  217. details of the last transition, complementing reason.
  218. type: string
  219. reason:
  220. description: Reason is a brief machine readable explanation
  221. for the condition's last transition.
  222. type: string
  223. status:
  224. description: Status of the condition, one of ('True', 'False',
  225. 'Unknown').
  226. type: string
  227. enum:
  228. - "True"
  229. - "False"
  230. - Unknown
  231. type:
  232. description: Type of the condition, known values are ('Ready',
  233. 'InvalidRequest').
  234. type: string
  235. failureTime:
  236. description: FailureTime stores the time that this CertificateRequest
  237. failed. This is used to influence garbage collection and back-off.
  238. type: string
  239. format: date-time
  240. - name: v1alpha3
  241. served: true
  242. storage: false
  243. "schema":
  244. "openAPIV3Schema":
  245. description: "A CertificateRequest is used to request a signed certificate
  246. from one of the configured issuers. \n All fields within the CertificateRequest's
  247. `spec` are immutable after creation. A CertificateRequest will either succeed
  248. or fail, as denoted by its `status.state` field. \n A CertificateRequest
  249. is a 'one-shot' resource, meaning it represents a single point in time request
  250. for a certificate and cannot be re-used."
  251. type: object
  252. properties:
  253. apiVersion:
  254. description: 'APIVersion defines the versioned schema of this representation
  255. of an object. Servers should convert recognized schemas to the latest
  256. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  257. type: string
  258. kind:
  259. description: 'Kind is a string value representing the REST resource this
  260. object represents. Servers may infer this from the endpoint the client
  261. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  262. type: string
  263. metadata:
  264. type: object
  265. spec:
  266. description: Desired state of the CertificateRequest resource.
  267. type: object
  268. required:
  269. - csr
  270. - issuerRef
  271. properties:
  272. csr:
  273. description: The PEM-encoded x509 certificate signing request to be
  274. submitted to the CA for signing.
  275. type: string
  276. format: byte
  277. duration:
  278. description: The requested 'duration' (i.e. lifetime) of the Certificate.
  279. This option may be ignored/overridden by some issuer types.
  280. type: string
  281. isCA:
  282. description: IsCA will request to mark the certificate as valid for
  283. certificate signing when submitting to the issuer. This will automatically
  284. add the `cert sign` usage to the list of `usages`.
  285. type: boolean
  286. issuerRef:
  287. description: IssuerRef is a reference to the issuer for this CertificateRequest. If
  288. the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  289. with the given name in the same namespace as the CertificateRequest
  290. will be used. If the 'kind' field is set to 'ClusterIssuer', a
  291. ClusterIssuer with the provided name will be used. The 'name' field
  292. in this stanza is required at all times. The group field refers
  293. to the API group of the issuer which defaults to 'cert-manager.io'
  294. if empty.
  295. type: object
  296. required:
  297. - name
  298. properties:
  299. group:
  300. description: Group of the resource being referred to.
  301. type: string
  302. kind:
  303. description: Kind of the resource being referred to.
  304. type: string
  305. name:
  306. description: Name of the resource being referred to.
  307. type: string
  308. usages:
  309. description: Usages is the set of x509 usages that are requested for
  310. the certificate. Defaults to `digital signature` and `key encipherment`
  311. if not specified.
  312. type: array
  313. items:
  314. description: 'KeyUsage specifies valid usage contexts for keys.
  315. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  316. Valid KeyUsage values are as follows: "signing", "digital signature",
  317. "content commitment", "key encipherment", "key agreement", "data
  318. encipherment", "cert sign", "crl sign", "encipher only", "decipher
  319. only", "any", "server auth", "client auth", "code signing", "email
  320. protection", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec
  321. user", "timestamping", "ocsp signing", "microsoft sgc", "netscape
  322. sgc"'
  323. type: string
  324. enum:
  325. - signing
  326. - digital signature
  327. - content commitment
  328. - key encipherment
  329. - key agreement
  330. - data encipherment
  331. - cert sign
  332. - crl sign
  333. - encipher only
  334. - decipher only
  335. - any
  336. - server auth
  337. - client auth
  338. - code signing
  339. - email protection
  340. - s/mime
  341. - ipsec end system
  342. - ipsec tunnel
  343. - ipsec user
  344. - timestamping
  345. - ocsp signing
  346. - microsoft sgc
  347. - netscape sgc
  348. status:
  349. description: Status of the CertificateRequest. This is set and managed
  350. automatically.
  351. type: object
  352. properties:
  353. ca:
  354. description: The PEM encoded x509 certificate of the signer, also
  355. known as the CA (Certificate Authority). This is set on a best-effort
  356. basis by different issuers. If not set, the CA is assumed to be
  357. unknown/not available.
  358. type: string
  359. format: byte
  360. certificate:
  361. description: The PEM encoded x509 certificate resulting from the certificate
  362. signing request. If not set, the CertificateRequest has either not
  363. been completed or has failed. More information on failure can be
  364. found by checking the `conditions` field.
  365. type: string
  366. format: byte
  367. conditions:
  368. description: List of status conditions to indicate the status of a
  369. CertificateRequest. Known condition types are `Ready` and `InvalidRequest`.
  370. type: array
  371. items:
  372. description: CertificateRequestCondition contains condition information
  373. for a CertificateRequest.
  374. type: object
  375. required:
  376. - status
  377. - type
  378. properties:
  379. lastTransitionTime:
  380. description: LastTransitionTime is the timestamp corresponding
  381. to the last status change of this condition.
  382. type: string
  383. format: date-time
  384. message:
  385. description: Message is a human readable description of the
  386. details of the last transition, complementing reason.
  387. type: string
  388. reason:
  389. description: Reason is a brief machine readable explanation
  390. for the condition's last transition.
  391. type: string
  392. status:
  393. description: Status of the condition, one of ('True', 'False',
  394. 'Unknown').
  395. type: string
  396. enum:
  397. - "True"
  398. - "False"
  399. - Unknown
  400. type:
  401. description: Type of the condition, known values are ('Ready',
  402. 'InvalidRequest').
  403. type: string
  404. failureTime:
  405. description: FailureTime stores the time that this CertificateRequest
  406. failed. This is used to influence garbage collection and back-off.
  407. type: string
  408. format: date-time
  409. - name: v1
  410. served: true
  411. storage: false
  412. "schema":
  413. "openAPIV3Schema":
  414. description: "A CertificateRequest is used to request a signed certificate
  415. from one of the configured issuers. \n All fields within the CertificateRequest's
  416. `spec` are immutable after creation. A CertificateRequest will either succeed
  417. or fail, as denoted by its `status.state` field. \n A CertificateRequest
  418. is a 'one-shot' resource, meaning it represents a single point in time request
  419. for a certificate and cannot be re-used."
  420. type: object
  421. required:
  422. - spec
  423. properties:
  424. apiVersion:
  425. description: 'APIVersion defines the versioned schema of this representation
  426. of an object. Servers should convert recognized schemas to the latest
  427. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  428. type: string
  429. kind:
  430. description: 'Kind is a string value representing the REST resource this
  431. object represents. Servers may infer this from the endpoint the client
  432. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  433. type: string
  434. metadata:
  435. type: object
  436. spec:
  437. description: Desired state of the CertificateRequest resource.
  438. type: object
  439. required:
  440. - issuerRef
  441. - request
  442. properties:
  443. duration:
  444. description: The requested 'duration' (i.e. lifetime) of the Certificate.
  445. This option may be ignored/overridden by some issuer types.
  446. type: string
  447. isCA:
  448. description: IsCA will request to mark the certificate as valid for
  449. certificate signing when submitting to the issuer. This will automatically
  450. add the `cert sign` usage to the list of `usages`.
  451. type: boolean
  452. issuerRef:
  453. description: IssuerRef is a reference to the issuer for this CertificateRequest. If
  454. the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  455. with the given name in the same namespace as the CertificateRequest
  456. will be used. If the 'kind' field is set to 'ClusterIssuer', a
  457. ClusterIssuer with the provided name will be used. The 'name' field
  458. in this stanza is required at all times. The group field refers
  459. to the API group of the issuer which defaults to 'cert-manager.io'
  460. if empty.
  461. type: object
  462. required:
  463. - name
  464. properties:
  465. group:
  466. description: Group of the resource being referred to.
  467. type: string
  468. kind:
  469. description: Kind of the resource being referred to.
  470. type: string
  471. name:
  472. description: Name of the resource being referred to.
  473. type: string
  474. request:
  475. description: The PEM-encoded x509 certificate signing request to be
  476. submitted to the CA for signing.
  477. type: string
  478. format: byte
  479. usages:
  480. description: Usages is the set of x509 usages that are requested for
  481. the certificate. Defaults to `digital signature` and `key encipherment`
  482. if not specified.
  483. type: array
  484. items:
  485. description: 'KeyUsage specifies valid usage contexts for keys.
  486. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  487. Valid KeyUsage values are as follows: "signing", "digital signature",
  488. "content commitment", "key encipherment", "key agreement", "data
  489. encipherment", "cert sign", "crl sign", "encipher only", "decipher
  490. only", "any", "server auth", "client auth", "code signing", "email
  491. protection", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec
  492. user", "timestamping", "ocsp signing", "microsoft sgc", "netscape
  493. sgc"'
  494. type: string
  495. enum:
  496. - signing
  497. - digital signature
  498. - content commitment
  499. - key encipherment
  500. - key agreement
  501. - data encipherment
  502. - cert sign
  503. - crl sign
  504. - encipher only
  505. - decipher only
  506. - any
  507. - server auth
  508. - client auth
  509. - code signing
  510. - email protection
  511. - s/mime
  512. - ipsec end system
  513. - ipsec tunnel
  514. - ipsec user
  515. - timestamping
  516. - ocsp signing
  517. - microsoft sgc
  518. - netscape sgc
  519. status:
  520. description: Status of the CertificateRequest. This is set and managed
  521. automatically.
  522. type: object
  523. properties:
  524. ca:
  525. description: The PEM encoded x509 certificate of the signer, also
  526. known as the CA (Certificate Authority). This is set on a best-effort
  527. basis by different issuers. If not set, the CA is assumed to be
  528. unknown/not available.
  529. type: string
  530. format: byte
  531. certificate:
  532. description: The PEM encoded x509 certificate resulting from the certificate
  533. signing request. If not set, the CertificateRequest has either not
  534. been completed or has failed. More information on failure can be
  535. found by checking the `conditions` field.
  536. type: string
  537. format: byte
  538. conditions:
  539. description: List of status conditions to indicate the status of a
  540. CertificateRequest. Known condition types are `Ready` and `InvalidRequest`.
  541. type: array
  542. items:
  543. description: CertificateRequestCondition contains condition information
  544. for a CertificateRequest.
  545. type: object
  546. required:
  547. - status
  548. - type
  549. properties:
  550. lastTransitionTime:
  551. description: LastTransitionTime is the timestamp corresponding
  552. to the last status change of this condition.
  553. type: string
  554. format: date-time
  555. message:
  556. description: Message is a human readable description of the
  557. details of the last transition, complementing reason.
  558. type: string
  559. reason:
  560. description: Reason is a brief machine readable explanation
  561. for the condition's last transition.
  562. type: string
  563. status:
  564. description: Status of the condition, one of ('True', 'False',
  565. 'Unknown').
  566. type: string
  567. enum:
  568. - "True"
  569. - "False"
  570. - Unknown
  571. type:
  572. description: Type of the condition, known values are ('Ready',
  573. 'InvalidRequest').
  574. type: string
  575. failureTime:
  576. description: FailureTime stores the time that this CertificateRequest
  577. failed. This is used to influence garbage collection and back-off.
  578. type: string
  579. format: date-time
  580. ---
  581. # Source: cert-manager/templates/templates.regular.out
  582. apiVersion: apiextensions.k8s.io/v1
  583. kind: CustomResourceDefinition
  584. metadata:
  585. name: certificates.cert-manager.io
  586. annotations:
  587. cert-manager.io/inject-ca-from-secret: 'cert-manager/cert-manager-webhook-ca'
  588. labels:
  589. app: 'cert-manager'
  590. app.kubernetes.io/name: 'cert-manager'
  591. app.kubernetes.io/instance: 'cert-manager'
  592. app.kubernetes.io/managed-by: 'Helm'
  593. helm.sh/chart: 'cert-manager-v0.16.1'
  594. spec:
  595. additionalPrinterColumns:
  596. - JSONPath: .status.conditions[?(@.type=="Ready")].status
  597. name: Ready
  598. type: string
  599. - JSONPath: .spec.secretName
  600. name: Secret
  601. type: string
  602. - JSONPath: .spec.issuerRef.name
  603. name: Issuer
  604. priority: 1
  605. type: string
  606. - JSONPath: .status.conditions[?(@.type=="Ready")].message
  607. name: Status
  608. priority: 1
  609. type: string
  610. - JSONPath: .metadata.creationTimestamp
  611. description: CreationTimestamp is a timestamp representing the server time when
  612. this object was created. It is not guaranteed to be set in happens-before order
  613. across separate operations. Clients may not set this value. It is represented
  614. in RFC3339 form and is in UTC.
  615. name: Age
  616. type: date
  617. group: cert-manager.io
  618. preserveUnknownFields: false
  619. conversion:
  620. # a Webhook strategy instruct API server to call an external webhook for any conversion between custom resources.
  621. strategy: Webhook
  622. # webhookClientConfig is required when strategy is `Webhook` and it configures the webhook endpoint to be called by API server.
  623. webhookClientConfig:
  624. service:
  625. namespace: 'cert-manager'
  626. name: 'cert-manager-webhook'
  627. path: /convert
  628. names:
  629. kind: Certificate
  630. listKind: CertificateList
  631. plural: certificates
  632. shortNames:
  633. - cert
  634. - certs
  635. singular: certificate
  636. scope: Namespaced
  637. subresources:
  638. status: {}
  639. versions:
  640. - name: v1alpha2
  641. served: true
  642. storage: true
  643. "schema":
  644. "openAPIV3Schema":
  645. description: "A Certificate resource should be created to ensure an up to
  646. date and signed x509 certificate is stored in the Kubernetes Secret resource
  647. named in `spec.secretName`. \n The stored certificate will be renewed before
  648. it expires (as configured by `spec.renewBefore`)."
  649. type: object
  650. properties:
  651. apiVersion:
  652. description: 'APIVersion defines the versioned schema of this representation
  653. of an object. Servers should convert recognized schemas to the latest
  654. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  655. type: string
  656. kind:
  657. description: 'Kind is a string value representing the REST resource this
  658. object represents. Servers may infer this from the endpoint the client
  659. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  660. type: string
  661. metadata:
  662. type: object
  663. spec:
  664. description: Desired state of the Certificate resource.
  665. type: object
  666. required:
  667. - issuerRef
  668. - secretName
  669. properties:
  670. commonName:
  671. description: 'CommonName is a common name to be used on the Certificate.
  672. The CommonName should have a length of 64 characters or fewer to
  673. avoid generating invalid CSRs. This value is ignored by TLS clients
  674. when any subject alt name is set. This is x509 behaviour: https://tools.ietf.org/html/rfc6125#section-6.4.4'
  675. type: string
  676. dnsNames:
  677. description: DNSNames is a list of DNS subjectAltNames to be set on
  678. the Certificate.
  679. type: array
  680. items:
  681. type: string
  682. duration:
  683. description: The requested 'duration' (i.e. lifetime) of the Certificate.
  684. This option may be ignored/overridden by some issuer types. If overridden
  685. and `renewBefore` is greater than the actual certificate duration,
  686. the certificate will be automatically renewed 2/3rds of the way
  687. through the certificate's duration.
  688. type: string
  689. emailSANs:
  690. description: EmailSANs is a list of email subjectAltNames to be set
  691. on the Certificate.
  692. type: array
  693. items:
  694. type: string
  695. ipAddresses:
  696. description: IPAddresses is a list of IP address subjectAltNames to
  697. be set on the Certificate.
  698. type: array
  699. items:
  700. type: string
  701. isCA:
  702. description: IsCA will mark this Certificate as valid for certificate
  703. signing. This will automatically add the `cert sign` usage to the
  704. list of `usages`.
  705. type: boolean
  706. issuerRef:
  707. description: IssuerRef is a reference to the issuer for this certificate.
  708. If the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  709. with the given name in the same namespace as the Certificate will
  710. be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer
  711. with the provided name will be used. The 'name' field in this stanza
  712. is required at all times.
  713. type: object
  714. required:
  715. - name
  716. properties:
  717. group:
  718. description: Group of the resource being referred to.
  719. type: string
  720. kind:
  721. description: Kind of the resource being referred to.
  722. type: string
  723. name:
  724. description: Name of the resource being referred to.
  725. type: string
  726. keyAlgorithm:
  727. description: KeyAlgorithm is the private key algorithm of the corresponding
  728. private key for this certificate. If provided, allowed values are
  729. either "rsa" or "ecdsa" If `keyAlgorithm` is specified and `keySize`
  730. is not provided, key size of 256 will be used for "ecdsa" key algorithm
  731. and key size of 2048 will be used for "rsa" key algorithm.
  732. type: string
  733. enum:
  734. - rsa
  735. - ecdsa
  736. keyEncoding:
  737. description: KeyEncoding is the private key cryptography standards
  738. (PKCS) for this certificate's private key to be encoded in. If provided,
  739. allowed values are "pkcs1" and "pkcs8" standing for PKCS#1 and PKCS#8,
  740. respectively. If KeyEncoding is not specified, then PKCS#1 will
  741. be used by default.
  742. type: string
  743. enum:
  744. - pkcs1
  745. - pkcs8
  746. keySize:
  747. description: KeySize is the key bit size of the corresponding private
  748. key for this certificate. If `keyAlgorithm` is set to `RSA`, valid
  749. values are `2048`, `4096` or `8192`, and will default to `2048`
  750. if not specified. If `keyAlgorithm` is set to `ECDSA`, valid values
  751. are `256`, `384` or `521`, and will default to `256` if not specified.
  752. No other values are allowed.
  753. type: integer
  754. maximum: 8192
  755. minimum: 0
  756. keystores:
  757. description: Keystores configures additional keystore output formats
  758. stored in the `secretName` Secret resource.
  759. type: object
  760. properties:
  761. jks:
  762. description: JKS configures options for storing a JKS keystore
  763. in the `spec.secretName` Secret resource.
  764. type: object
  765. required:
  766. - create
  767. - passwordSecretRef
  768. properties:
  769. create:
  770. description: Create enables JKS keystore creation for the
  771. Certificate. If true, a file named `keystore.jks` will be
  772. created in the target Secret resource, encrypted using the
  773. password stored in `passwordSecretRef`. The keystore file
  774. will only be updated upon re-issuance.
  775. type: boolean
  776. passwordSecretRef:
  777. description: PasswordSecretRef is a reference to a key in
  778. a Secret resource containing the password used to encrypt
  779. the JKS keystore.
  780. type: object
  781. required:
  782. - name
  783. properties:
  784. key:
  785. description: The key of the entry in the Secret resource's
  786. `data` field to be used. Some instances of this field
  787. may be defaulted, in others it may be required.
  788. type: string
  789. name:
  790. description: 'Name of the resource being referred to.
  791. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  792. type: string
  793. pkcs12:
  794. description: PKCS12 configures options for storing a PKCS12 keystore
  795. in the `spec.secretName` Secret resource.
  796. type: object
  797. required:
  798. - create
  799. - passwordSecretRef
  800. properties:
  801. create:
  802. description: Create enables PKCS12 keystore creation for the
  803. Certificate. If true, a file named `keystore.p12` will be
  804. created in the target Secret resource, encrypted using the
  805. password stored in `passwordSecretRef`. The keystore file
  806. will only be updated upon re-issuance.
  807. type: boolean
  808. passwordSecretRef:
  809. description: PasswordSecretRef is a reference to a key in
  810. a Secret resource containing the password used to encrypt
  811. the PKCS12 keystore.
  812. type: object
  813. required:
  814. - name
  815. properties:
  816. key:
  817. description: The key of the entry in the Secret resource's
  818. `data` field to be used. Some instances of this field
  819. may be defaulted, in others it may be required.
  820. type: string
  821. name:
  822. description: 'Name of the resource being referred to.
  823. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  824. type: string
  825. organization:
  826. description: Organization is a list of organizations to be used on
  827. the Certificate.
  828. type: array
  829. items:
  830. type: string
  831. privateKey:
  832. description: Options to control private keys used for the Certificate.
  833. type: object
  834. properties:
  835. rotationPolicy:
  836. description: RotationPolicy controls how private keys should be
  837. regenerated when a re-issuance is being processed. If set to
  838. Never, a private key will only be generated if one does not
  839. already exist in the target `spec.secretName`. If one does exists
  840. but it does not have the correct algorithm or size, a warning
  841. will be raised to await user intervention. If set to Always,
  842. a private key matching the specified requirements will be generated
  843. whenever a re-issuance occurs. Default is 'Never' for backward
  844. compatibility.
  845. type: string
  846. renewBefore:
  847. description: The amount of time before the currently issued certificate's
  848. `notAfter` time that cert-manager will begin to attempt to renew
  849. the certificate. If this value is greater than the total duration
  850. of the certificate (i.e. notAfter - notBefore), it will be automatically
  851. renewed 2/3rds of the way through the certificate's duration.
  852. type: string
  853. secretName:
  854. description: SecretName is the name of the secret resource that will
  855. be automatically created and managed by this Certificate resource.
  856. It will be populated with a private key and certificate, signed
  857. by the denoted issuer.
  858. type: string
  859. subject:
  860. description: Full X509 name specification (https://golang.org/pkg/crypto/x509/pkix/#Name).
  861. type: object
  862. properties:
  863. countries:
  864. description: Countries to be used on the Certificate.
  865. type: array
  866. items:
  867. type: string
  868. localities:
  869. description: Cities to be used on the Certificate.
  870. type: array
  871. items:
  872. type: string
  873. organizationalUnits:
  874. description: Organizational Units to be used on the Certificate.
  875. type: array
  876. items:
  877. type: string
  878. postalCodes:
  879. description: Postal codes to be used on the Certificate.
  880. type: array
  881. items:
  882. type: string
  883. provinces:
  884. description: State/Provinces to be used on the Certificate.
  885. type: array
  886. items:
  887. type: string
  888. serialNumber:
  889. description: Serial number to be used on the Certificate.
  890. type: string
  891. streetAddresses:
  892. description: Street addresses to be used on the Certificate.
  893. type: array
  894. items:
  895. type: string
  896. uriSANs:
  897. description: URISANs is a list of URI subjectAltNames to be set on
  898. the Certificate.
  899. type: array
  900. items:
  901. type: string
  902. usages:
  903. description: Usages is the set of x509 usages that are requested for
  904. the certificate. Defaults to `digital signature` and `key encipherment`
  905. if not specified.
  906. type: array
  907. items:
  908. description: 'KeyUsage specifies valid usage contexts for keys.
  909. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  910. Valid KeyUsage values are as follows: "signing", "digital signature",
  911. "content commitment", "key encipherment", "key agreement", "data
  912. encipherment", "cert sign", "crl sign", "encipher only", "decipher
  913. only", "any", "server auth", "client auth", "code signing", "email
  914. protection", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec
  915. user", "timestamping", "ocsp signing", "microsoft sgc", "netscape
  916. sgc"'
  917. type: string
  918. enum:
  919. - signing
  920. - digital signature
  921. - content commitment
  922. - key encipherment
  923. - key agreement
  924. - data encipherment
  925. - cert sign
  926. - crl sign
  927. - encipher only
  928. - decipher only
  929. - any
  930. - server auth
  931. - client auth
  932. - code signing
  933. - email protection
  934. - s/mime
  935. - ipsec end system
  936. - ipsec tunnel
  937. - ipsec user
  938. - timestamping
  939. - ocsp signing
  940. - microsoft sgc
  941. - netscape sgc
  942. status:
  943. description: Status of the Certificate. This is set and managed automatically.
  944. type: object
  945. properties:
  946. conditions:
  947. description: List of status conditions to indicate the status of certificates.
  948. Known condition types are `Ready` and `Issuing`.
  949. type: array
  950. items:
  951. description: CertificateCondition contains condition information
  952. for an Certificate.
  953. type: object
  954. required:
  955. - status
  956. - type
  957. properties:
  958. lastTransitionTime:
  959. description: LastTransitionTime is the timestamp corresponding
  960. to the last status change of this condition.
  961. type: string
  962. format: date-time
  963. message:
  964. description: Message is a human readable description of the
  965. details of the last transition, complementing reason.
  966. type: string
  967. reason:
  968. description: Reason is a brief machine readable explanation
  969. for the condition's last transition.
  970. type: string
  971. status:
  972. description: Status of the condition, one of ('True', 'False',
  973. 'Unknown').
  974. type: string
  975. enum:
  976. - "True"
  977. - "False"
  978. - Unknown
  979. type:
  980. description: Type of the condition, known values are ('Ready',
  981. `Issuing`).
  982. type: string
  983. lastFailureTime:
  984. description: LastFailureTime is the time as recorded by the Certificate
  985. controller of the most recent failure to complete a CertificateRequest
  986. for this Certificate resource. If set, cert-manager will not re-request
  987. another Certificate until 1 hour has elapsed from this time.
  988. type: string
  989. format: date-time
  990. nextPrivateKeySecretName:
  991. description: The name of the Secret resource containing the private
  992. key to be used for the next certificate iteration. The keymanager
  993. controller will automatically set this field if the `Issuing` condition
  994. is set to `True`. It will automatically unset this field when the
  995. Issuing condition is not set or False.
  996. type: string
  997. notAfter:
  998. description: The expiration time of the certificate stored in the
  999. secret named by this resource in `spec.secretName`.
  1000. type: string
  1001. format: date-time
  1002. notBefore:
  1003. description: The time after which the certificate stored in the secret
  1004. named by this resource in spec.secretName is valid.
  1005. type: string
  1006. format: date-time
  1007. renewalTime:
  1008. description: RenewalTime is the time at which the certificate will
  1009. be next renewed. If not set, no upcoming renewal is scheduled.
  1010. type: string
  1011. format: date-time
  1012. revision:
  1013. description: "The current 'revision' of the certificate as issued.
  1014. \n When a CertificateRequest resource is created, it will have the
  1015. `cert-manager.io/certificate-revision` set to one greater than the
  1016. current value of this field. \n Upon issuance, this field will be
  1017. set to the value of the annotation on the CertificateRequest resource
  1018. used to issue the certificate. \n Persisting the value on the CertificateRequest
  1019. resource allows the certificates controller to know whether a request
  1020. is part of an old issuance or if it is part of the ongoing revision's
  1021. issuance by checking if the revision value in the annotation is
  1022. greater than this field."
  1023. type: integer
  1024. - name: v1alpha3
  1025. served: true
  1026. storage: false
  1027. "schema":
  1028. "openAPIV3Schema":
  1029. description: "A Certificate resource should be created to ensure an up to
  1030. date and signed x509 certificate is stored in the Kubernetes Secret resource
  1031. named in `spec.secretName`. \n The stored certificate will be renewed before
  1032. it expires (as configured by `spec.renewBefore`)."
  1033. type: object
  1034. properties:
  1035. apiVersion:
  1036. description: 'APIVersion defines the versioned schema of this representation
  1037. of an object. Servers should convert recognized schemas to the latest
  1038. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1039. type: string
  1040. kind:
  1041. description: 'Kind is a string value representing the REST resource this
  1042. object represents. Servers may infer this from the endpoint the client
  1043. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1044. type: string
  1045. metadata:
  1046. type: object
  1047. spec:
  1048. description: Desired state of the Certificate resource.
  1049. type: object
  1050. required:
  1051. - issuerRef
  1052. - secretName
  1053. properties:
  1054. commonName:
  1055. description: 'CommonName is a common name to be used on the Certificate.
  1056. The CommonName should have a length of 64 characters or fewer to
  1057. avoid generating invalid CSRs. This value is ignored by TLS clients
  1058. when any subject alt name is set. This is x509 behaviour: https://tools.ietf.org/html/rfc6125#section-6.4.4'
  1059. type: string
  1060. dnsNames:
  1061. description: DNSNames is a list of DNS subjectAltNames to be set on
  1062. the Certificate.
  1063. type: array
  1064. items:
  1065. type: string
  1066. duration:
  1067. description: The requested 'duration' (i.e. lifetime) of the Certificate.
  1068. This option may be ignored/overridden by some issuer types. If overridden
  1069. and `renewBefore` is greater than the actual certificate duration,
  1070. the certificate will be automatically renewed 2/3rds of the way
  1071. through the certificate's duration.
  1072. type: string
  1073. emailSANs:
  1074. description: EmailSANs is a list of email subjectAltNames to be set
  1075. on the Certificate.
  1076. type: array
  1077. items:
  1078. type: string
  1079. ipAddresses:
  1080. description: IPAddresses is a list of IP address subjectAltNames to
  1081. be set on the Certificate.
  1082. type: array
  1083. items:
  1084. type: string
  1085. isCA:
  1086. description: IsCA will mark this Certificate as valid for certificate
  1087. signing. This will automatically add the `cert sign` usage to the
  1088. list of `usages`.
  1089. type: boolean
  1090. issuerRef:
  1091. description: IssuerRef is a reference to the issuer for this certificate.
  1092. If the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  1093. with the given name in the same namespace as the Certificate will
  1094. be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer
  1095. with the provided name will be used. The 'name' field in this stanza
  1096. is required at all times.
  1097. type: object
  1098. required:
  1099. - name
  1100. properties:
  1101. group:
  1102. description: Group of the resource being referred to.
  1103. type: string
  1104. kind:
  1105. description: Kind of the resource being referred to.
  1106. type: string
  1107. name:
  1108. description: Name of the resource being referred to.
  1109. type: string
  1110. keyAlgorithm:
  1111. description: KeyAlgorithm is the private key algorithm of the corresponding
  1112. private key for this certificate. If provided, allowed values are
  1113. either "rsa" or "ecdsa" If `keyAlgorithm` is specified and `keySize`
  1114. is not provided, key size of 256 will be used for "ecdsa" key algorithm
  1115. and key size of 2048 will be used for "rsa" key algorithm.
  1116. type: string
  1117. enum:
  1118. - rsa
  1119. - ecdsa
  1120. keyEncoding:
  1121. description: KeyEncoding is the private key cryptography standards
  1122. (PKCS) for this certificate's private key to be encoded in. If provided,
  1123. allowed values are "pkcs1" and "pkcs8" standing for PKCS#1 and PKCS#8,
  1124. respectively. If KeyEncoding is not specified, then PKCS#1 will
  1125. be used by default.
  1126. type: string
  1127. enum:
  1128. - pkcs1
  1129. - pkcs8
  1130. keySize:
  1131. description: KeySize is the key bit size of the corresponding private
  1132. key for this certificate. If `keyAlgorithm` is set to `RSA`, valid
  1133. values are `2048`, `4096` or `8192`, and will default to `2048`
  1134. if not specified. If `keyAlgorithm` is set to `ECDSA`, valid values
  1135. are `256`, `384` or `521`, and will default to `256` if not specified.
  1136. No other values are allowed.
  1137. type: integer
  1138. maximum: 8192
  1139. minimum: 0
  1140. keystores:
  1141. description: Keystores configures additional keystore output formats
  1142. stored in the `secretName` Secret resource.
  1143. type: object
  1144. properties:
  1145. jks:
  1146. description: JKS configures options for storing a JKS keystore
  1147. in the `spec.secretName` Secret resource.
  1148. type: object
  1149. required:
  1150. - create
  1151. - passwordSecretRef
  1152. properties:
  1153. create:
  1154. description: Create enables JKS keystore creation for the
  1155. Certificate. If true, a file named `keystore.jks` will be
  1156. created in the target Secret resource, encrypted using the
  1157. password stored in `passwordSecretRef`. The keystore file
  1158. will only be updated upon re-issuance.
  1159. type: boolean
  1160. passwordSecretRef:
  1161. description: PasswordSecretRef is a reference to a key in
  1162. a Secret resource containing the password used to encrypt
  1163. the JKS keystore.
  1164. type: object
  1165. required:
  1166. - name
  1167. properties:
  1168. key:
  1169. description: The key of the entry in the Secret resource's
  1170. `data` field to be used. Some instances of this field
  1171. may be defaulted, in others it may be required.
  1172. type: string
  1173. name:
  1174. description: 'Name of the resource being referred to.
  1175. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1176. type: string
  1177. pkcs12:
  1178. description: PKCS12 configures options for storing a PKCS12 keystore
  1179. in the `spec.secretName` Secret resource.
  1180. type: object
  1181. required:
  1182. - create
  1183. - passwordSecretRef
  1184. properties:
  1185. create:
  1186. description: Create enables PKCS12 keystore creation for the
  1187. Certificate. If true, a file named `keystore.p12` will be
  1188. created in the target Secret resource, encrypted using the
  1189. password stored in `passwordSecretRef`. The keystore file
  1190. will only be updated upon re-issuance.
  1191. type: boolean
  1192. passwordSecretRef:
  1193. description: PasswordSecretRef is a reference to a key in
  1194. a Secret resource containing the password used to encrypt
  1195. the PKCS12 keystore.
  1196. type: object
  1197. required:
  1198. - name
  1199. properties:
  1200. key:
  1201. description: The key of the entry in the Secret resource's
  1202. `data` field to be used. Some instances of this field
  1203. may be defaulted, in others it may be required.
  1204. type: string
  1205. name:
  1206. description: 'Name of the resource being referred to.
  1207. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1208. type: string
  1209. privateKey:
  1210. description: Options to control private keys used for the Certificate.
  1211. type: object
  1212. properties:
  1213. rotationPolicy:
  1214. description: RotationPolicy controls how private keys should be
  1215. regenerated when a re-issuance is being processed. If set to
  1216. Never, a private key will only be generated if one does not
  1217. already exist in the target `spec.secretName`. If one does exists
  1218. but it does not have the correct algorithm or size, a warning
  1219. will be raised to await user intervention. If set to Always,
  1220. a private key matching the specified requirements will be generated
  1221. whenever a re-issuance occurs. Default is 'Never' for backward
  1222. compatibility.
  1223. type: string
  1224. renewBefore:
  1225. description: The amount of time before the currently issued certificate's
  1226. `notAfter` time that cert-manager will begin to attempt to renew
  1227. the certificate. If this value is greater than the total duration
  1228. of the certificate (i.e. notAfter - notBefore), it will be automatically
  1229. renewed 2/3rds of the way through the certificate's duration.
  1230. type: string
  1231. secretName:
  1232. description: SecretName is the name of the secret resource that will
  1233. be automatically created and managed by this Certificate resource.
  1234. It will be populated with a private key and certificate, signed
  1235. by the denoted issuer.
  1236. type: string
  1237. subject:
  1238. description: Full X509 name specification (https://golang.org/pkg/crypto/x509/pkix/#Name).
  1239. type: object
  1240. properties:
  1241. countries:
  1242. description: Countries to be used on the Certificate.
  1243. type: array
  1244. items:
  1245. type: string
  1246. localities:
  1247. description: Cities to be used on the Certificate.
  1248. type: array
  1249. items:
  1250. type: string
  1251. organizationalUnits:
  1252. description: Organizational Units to be used on the Certificate.
  1253. type: array
  1254. items:
  1255. type: string
  1256. organizations:
  1257. description: Organizations to be used on the Certificate.
  1258. type: array
  1259. items:
  1260. type: string
  1261. postalCodes:
  1262. description: Postal codes to be used on the Certificate.
  1263. type: array
  1264. items:
  1265. type: string
  1266. provinces:
  1267. description: State/Provinces to be used on the Certificate.
  1268. type: array
  1269. items:
  1270. type: string
  1271. serialNumber:
  1272. description: Serial number to be used on the Certificate.
  1273. type: string
  1274. streetAddresses:
  1275. description: Street addresses to be used on the Certificate.
  1276. type: array
  1277. items:
  1278. type: string
  1279. uriSANs:
  1280. description: URISANs is a list of URI subjectAltNames to be set on
  1281. the Certificate.
  1282. type: array
  1283. items:
  1284. type: string
  1285. usages:
  1286. description: Usages is the set of x509 usages that are requested for
  1287. the certificate. Defaults to `digital signature` and `key encipherment`
  1288. if not specified.
  1289. type: array
  1290. items:
  1291. description: 'KeyUsage specifies valid usage contexts for keys.
  1292. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  1293. Valid KeyUsage values are as follows: "signing", "digital signature",
  1294. "content commitment", "key encipherment", "key agreement", "data
  1295. encipherment", "cert sign", "crl sign", "encipher only", "decipher
  1296. only", "any", "server auth", "client auth", "code signing", "email
  1297. protection", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec
  1298. user", "timestamping", "ocsp signing", "microsoft sgc", "netscape
  1299. sgc"'
  1300. type: string
  1301. enum:
  1302. - signing
  1303. - digital signature
  1304. - content commitment
  1305. - key encipherment
  1306. - key agreement
  1307. - data encipherment
  1308. - cert sign
  1309. - crl sign
  1310. - encipher only
  1311. - decipher only
  1312. - any
  1313. - server auth
  1314. - client auth
  1315. - code signing
  1316. - email protection
  1317. - s/mime
  1318. - ipsec end system
  1319. - ipsec tunnel
  1320. - ipsec user
  1321. - timestamping
  1322. - ocsp signing
  1323. - microsoft sgc
  1324. - netscape sgc
  1325. status:
  1326. description: Status of the Certificate. This is set and managed automatically.
  1327. type: object
  1328. properties:
  1329. conditions:
  1330. description: List of status conditions to indicate the status of certificates.
  1331. Known condition types are `Ready` and `Issuing`.
  1332. type: array
  1333. items:
  1334. description: CertificateCondition contains condition information
  1335. for an Certificate.
  1336. type: object
  1337. required:
  1338. - status
  1339. - type
  1340. properties:
  1341. lastTransitionTime:
  1342. description: LastTransitionTime is the timestamp corresponding
  1343. to the last status change of this condition.
  1344. type: string
  1345. format: date-time
  1346. message:
  1347. description: Message is a human readable description of the
  1348. details of the last transition, complementing reason.
  1349. type: string
  1350. reason:
  1351. description: Reason is a brief machine readable explanation
  1352. for the condition's last transition.
  1353. type: string
  1354. status:
  1355. description: Status of the condition, one of ('True', 'False',
  1356. 'Unknown').
  1357. type: string
  1358. enum:
  1359. - "True"
  1360. - "False"
  1361. - Unknown
  1362. type:
  1363. description: Type of the condition, known values are ('Ready',
  1364. `Issuing`).
  1365. type: string
  1366. lastFailureTime:
  1367. description: LastFailureTime is the time as recorded by the Certificate
  1368. controller of the most recent failure to complete a CertificateRequest
  1369. for this Certificate resource. If set, cert-manager will not re-request
  1370. another Certificate until 1 hour has elapsed from this time.
  1371. type: string
  1372. format: date-time
  1373. nextPrivateKeySecretName:
  1374. description: The name of the Secret resource containing the private
  1375. key to be used for the next certificate iteration. The keymanager
  1376. controller will automatically set this field if the `Issuing` condition
  1377. is set to `True`. It will automatically unset this field when the
  1378. Issuing condition is not set or False.
  1379. type: string
  1380. notAfter:
  1381. description: The expiration time of the certificate stored in the
  1382. secret named by this resource in `spec.secretName`.
  1383. type: string
  1384. format: date-time
  1385. notBefore:
  1386. description: The time after which the certificate stored in the secret
  1387. named by this resource in spec.secretName is valid.
  1388. type: string
  1389. format: date-time
  1390. renewalTime:
  1391. description: RenewalTime is the time at which the certificate will
  1392. be next renewed. If not set, no upcoming renewal is scheduled.
  1393. type: string
  1394. format: date-time
  1395. revision:
  1396. description: "The current 'revision' of the certificate as issued.
  1397. \n When a CertificateRequest resource is created, it will have the
  1398. `cert-manager.io/certificate-revision` set to one greater than the
  1399. current value of this field. \n Upon issuance, this field will be
  1400. set to the value of the annotation on the CertificateRequest resource
  1401. used to issue the certificate. \n Persisting the value on the CertificateRequest
  1402. resource allows the certificates controller to know whether a request
  1403. is part of an old issuance or if it is part of the ongoing revision's
  1404. issuance by checking if the revision value in the annotation is
  1405. greater than this field."
  1406. type: integer
  1407. - name: v1
  1408. served: true
  1409. storage: false
  1410. "schema":
  1411. "openAPIV3Schema":
  1412. description: "A Certificate resource should be created to ensure an up to
  1413. date and signed x509 certificate is stored in the Kubernetes Secret resource
  1414. named in `spec.secretName`. \n The stored certificate will be renewed before
  1415. it expires (as configured by `spec.renewBefore`)."
  1416. type: object
  1417. required:
  1418. - spec
  1419. properties:
  1420. apiVersion:
  1421. description: 'APIVersion defines the versioned schema of this representation
  1422. of an object. Servers should convert recognized schemas to the latest
  1423. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1424. type: string
  1425. kind:
  1426. description: 'Kind is a string value representing the REST resource this
  1427. object represents. Servers may infer this from the endpoint the client
  1428. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1429. type: string
  1430. metadata:
  1431. type: object
  1432. spec:
  1433. description: Desired state of the Certificate resource.
  1434. type: object
  1435. required:
  1436. - issuerRef
  1437. - secretName
  1438. properties:
  1439. commonName:
  1440. description: 'CommonName is a common name to be used on the Certificate.
  1441. The CommonName should have a length of 64 characters or fewer to
  1442. avoid generating invalid CSRs. This value is ignored by TLS clients
  1443. when any subject alt name is set. This is x509 behaviour: https://tools.ietf.org/html/rfc6125#section-6.4.4'
  1444. type: string
  1445. dnsNames:
  1446. description: DNSNames is a list of DNS subjectAltNames to be set on
  1447. the Certificate.
  1448. type: array
  1449. items:
  1450. type: string
  1451. duration:
  1452. description: The requested 'duration' (i.e. lifetime) of the Certificate.
  1453. This option may be ignored/overridden by some issuer types. If overridden
  1454. and `renewBefore` is greater than the actual certificate duration,
  1455. the certificate will be automatically renewed 2/3rds of the way
  1456. through the certificate's duration.
  1457. type: string
  1458. emailSANs:
  1459. description: EmailSANs is a list of email subjectAltNames to be set
  1460. on the Certificate.
  1461. type: array
  1462. items:
  1463. type: string
  1464. ipAddresses:
  1465. description: IPAddresses is a list of IP address subjectAltNames to
  1466. be set on the Certificate.
  1467. type: array
  1468. items:
  1469. type: string
  1470. isCA:
  1471. description: IsCA will mark this Certificate as valid for certificate
  1472. signing. This will automatically add the `cert sign` usage to the
  1473. list of `usages`.
  1474. type: boolean
  1475. issuerRef:
  1476. description: IssuerRef is a reference to the issuer for this certificate.
  1477. If the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  1478. with the given name in the same namespace as the Certificate will
  1479. be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer
  1480. with the provided name will be used. The 'name' field in this stanza
  1481. is required at all times.
  1482. type: object
  1483. required:
  1484. - name
  1485. properties:
  1486. group:
  1487. description: Group of the resource being referred to.
  1488. type: string
  1489. kind:
  1490. description: Kind of the resource being referred to.
  1491. type: string
  1492. name:
  1493. description: Name of the resource being referred to.
  1494. type: string
  1495. keystores:
  1496. description: Keystores configures additional keystore output formats
  1497. stored in the `secretName` Secret resource.
  1498. type: object
  1499. properties:
  1500. jks:
  1501. description: JKS configures options for storing a JKS keystore
  1502. in the `spec.secretName` Secret resource.
  1503. type: object
  1504. required:
  1505. - create
  1506. - passwordSecretRef
  1507. properties:
  1508. create:
  1509. description: Create enables JKS keystore creation for the
  1510. Certificate. If true, a file named `keystore.jks` will be
  1511. created in the target Secret resource, encrypted using the
  1512. password stored in `passwordSecretRef`. The keystore file
  1513. will only be updated upon re-issuance.
  1514. type: boolean
  1515. passwordSecretRef:
  1516. description: PasswordSecretRef is a reference to a key in
  1517. a Secret resource containing the password used to encrypt
  1518. the JKS keystore.
  1519. type: object
  1520. required:
  1521. - name
  1522. properties:
  1523. key:
  1524. description: The key of the entry in the Secret resource's
  1525. `data` field to be used. Some instances of this field
  1526. may be defaulted, in others it may be required.
  1527. type: string
  1528. name:
  1529. description: 'Name of the resource being referred to.
  1530. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1531. type: string
  1532. pkcs12:
  1533. description: PKCS12 configures options for storing a PKCS12 keystore
  1534. in the `spec.secretName` Secret resource.
  1535. type: object
  1536. required:
  1537. - create
  1538. - passwordSecretRef
  1539. properties:
  1540. create:
  1541. description: Create enables PKCS12 keystore creation for the
  1542. Certificate. If true, a file named `keystore.p12` will be
  1543. created in the target Secret resource, encrypted using the
  1544. password stored in `passwordSecretRef`. The keystore file
  1545. will only be updated upon re-issuance.
  1546. type: boolean
  1547. passwordSecretRef:
  1548. description: PasswordSecretRef is a reference to a key in
  1549. a Secret resource containing the password used to encrypt
  1550. the PKCS12 keystore.
  1551. type: object
  1552. required:
  1553. - name
  1554. properties:
  1555. key:
  1556. description: The key of the entry in the Secret resource's
  1557. `data` field to be used. Some instances of this field
  1558. may be defaulted, in others it may be required.
  1559. type: string
  1560. name:
  1561. description: 'Name of the resource being referred to.
  1562. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1563. type: string
  1564. privateKey:
  1565. description: Options to control private keys used for the Certificate.
  1566. type: object
  1567. properties:
  1568. algorithm:
  1569. description: Algorithm is the private key algorithm of the corresponding
  1570. private key for this certificate. If provided, allowed values
  1571. are either "rsa" or "ecdsa" If `algorithm` is specified and
  1572. `size` is not provided, key size of 256 will be used for "ecdsa"
  1573. key algorithm and key size of 2048 will be used for "rsa" key
  1574. algorithm.
  1575. type: string
  1576. enum:
  1577. - RSA
  1578. - ECDSA
  1579. encoding:
  1580. description: The private key cryptography standards (PKCS) encoding
  1581. for this certificate's private key to be encoded in. If provided,
  1582. allowed values are "pkcs1" and "pkcs8" standing for PKCS#1 and
  1583. PKCS#8, respectively. Defaults to PKCS#1 if not specified.
  1584. type: string
  1585. enum:
  1586. - PKCS1
  1587. - PKCS8
  1588. rotationPolicy:
  1589. description: RotationPolicy controls how private keys should be
  1590. regenerated when a re-issuance is being processed. If set to
  1591. Never, a private key will only be generated if one does not
  1592. already exist in the target `spec.secretName`. If one does exists
  1593. but it does not have the correct algorithm or size, a warning
  1594. will be raised to await user intervention. If set to Always,
  1595. a private key matching the specified requirements will be generated
  1596. whenever a re-issuance occurs. Default is 'Never' for backward
  1597. compatibility.
  1598. type: string
  1599. size:
  1600. description: Size is the key bit size of the corresponding private
  1601. key for this certificate. If `algorithm` is set to `RSA`, valid
  1602. values are `2048`, `4096` or `8192`, and will default to `2048`
  1603. if not specified. If `algorithm` is set to `ECDSA`, valid values
  1604. are `256`, `384` or `521`, and will default to `256` if not
  1605. specified. No other values are allowed.
  1606. type: integer
  1607. maximum: 8192
  1608. minimum: 0
  1609. renewBefore:
  1610. description: The amount of time before the currently issued certificate's
  1611. `notAfter` time that cert-manager will begin to attempt to renew
  1612. the certificate. If this value is greater than the total duration
  1613. of the certificate (i.e. notAfter - notBefore), it will be automatically
  1614. renewed 2/3rds of the way through the certificate's duration.
  1615. type: string
  1616. secretName:
  1617. description: SecretName is the name of the secret resource that will
  1618. be automatically created and managed by this Certificate resource.
  1619. It will be populated with a private key and certificate, signed
  1620. by the denoted issuer.
  1621. type: string
  1622. subject:
  1623. description: Full X509 name specification (https://golang.org/pkg/crypto/x509/pkix/#Name).
  1624. type: object
  1625. properties:
  1626. countries:
  1627. description: Countries to be used on the Certificate.
  1628. type: array
  1629. items:
  1630. type: string
  1631. localities:
  1632. description: Cities to be used on the Certificate.
  1633. type: array
  1634. items:
  1635. type: string
  1636. organizationalUnits:
  1637. description: Organizational Units to be used on the Certificate.
  1638. type: array
  1639. items:
  1640. type: string
  1641. organizations:
  1642. description: Organizations to be used on the Certificate.
  1643. type: array
  1644. items:
  1645. type: string
  1646. postalCodes:
  1647. description: Postal codes to be used on the Certificate.
  1648. type: array
  1649. items:
  1650. type: string
  1651. provinces:
  1652. description: State/Provinces to be used on the Certificate.
  1653. type: array
  1654. items:
  1655. type: string
  1656. serialNumber:
  1657. description: Serial number to be used on the Certificate.
  1658. type: string
  1659. streetAddresses:
  1660. description: Street addresses to be used on the Certificate.
  1661. type: array
  1662. items:
  1663. type: string
  1664. uriSANs:
  1665. description: URISANs is a list of URI subjectAltNames to be set on
  1666. the Certificate.
  1667. type: array
  1668. items:
  1669. type: string
  1670. usages:
  1671. description: Usages is the set of x509 usages that are requested for
  1672. the certificate. Defaults to `digital signature` and `key encipherment`
  1673. if not specified.
  1674. type: array
  1675. items:
  1676. description: 'KeyUsage specifies valid usage contexts for keys.
  1677. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  1678. Valid KeyUsage values are as follows: "signing", "digital signature",
  1679. "content commitment", "key encipherment", "key agreement", "data
  1680. encipherment", "cert sign", "crl sign", "encipher only", "decipher
  1681. only", "any", "server auth", "client auth", "code signing", "email
  1682. protection", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec
  1683. user", "timestamping", "ocsp signing", "microsoft sgc", "netscape
  1684. sgc"'
  1685. type: string
  1686. enum:
  1687. - signing
  1688. - digital signature
  1689. - content commitment
  1690. - key encipherment
  1691. - key agreement
  1692. - data encipherment
  1693. - cert sign
  1694. - crl sign
  1695. - encipher only
  1696. - decipher only
  1697. - any
  1698. - server auth
  1699. - client auth
  1700. - code signing
  1701. - email protection
  1702. - s/mime
  1703. - ipsec end system
  1704. - ipsec tunnel
  1705. - ipsec user
  1706. - timestamping
  1707. - ocsp signing
  1708. - microsoft sgc
  1709. - netscape sgc
  1710. status:
  1711. description: Status of the Certificate. This is set and managed automatically.
  1712. type: object
  1713. properties:
  1714. conditions:
  1715. description: List of status conditions to indicate the status of certificates.
  1716. Known condition types are `Ready` and `Issuing`.
  1717. type: array
  1718. items:
  1719. description: CertificateCondition contains condition information
  1720. for an Certificate.
  1721. type: object
  1722. required:
  1723. - status
  1724. - type
  1725. properties:
  1726. lastTransitionTime:
  1727. description: LastTransitionTime is the timestamp corresponding
  1728. to the last status change of this condition.
  1729. type: string
  1730. format: date-time
  1731. message:
  1732. description: Message is a human readable description of the
  1733. details of the last transition, complementing reason.
  1734. type: string
  1735. reason:
  1736. description: Reason is a brief machine readable explanation
  1737. for the condition's last transition.
  1738. type: string
  1739. status:
  1740. description: Status of the condition, one of ('True', 'False',
  1741. 'Unknown').
  1742. type: string
  1743. enum:
  1744. - "True"
  1745. - "False"
  1746. - Unknown
  1747. type:
  1748. description: Type of the condition, known values are ('Ready',
  1749. `Issuing`).
  1750. type: string
  1751. lastFailureTime:
  1752. description: LastFailureTime is the time as recorded by the Certificate
  1753. controller of the most recent failure to complete a CertificateRequest
  1754. for this Certificate resource. If set, cert-manager will not re-request
  1755. another Certificate until 1 hour has elapsed from this time.
  1756. type: string
  1757. format: date-time
  1758. nextPrivateKeySecretName:
  1759. description: The name of the Secret resource containing the private
  1760. key to be used for the next certificate iteration. The keymanager
  1761. controller will automatically set this field if the `Issuing` condition
  1762. is set to `True`. It will automatically unset this field when the
  1763. Issuing condition is not set or False.
  1764. type: string
  1765. notAfter:
  1766. description: The expiration time of the certificate stored in the
  1767. secret named by this resource in `spec.secretName`.
  1768. type: string
  1769. format: date-time
  1770. notBefore:
  1771. description: The time after which the certificate stored in the secret
  1772. named by this resource in spec.secretName is valid.
  1773. type: string
  1774. format: date-time
  1775. renewalTime:
  1776. description: RenewalTime is the time at which the certificate will
  1777. be next renewed. If not set, no upcoming renewal is scheduled.
  1778. type: string
  1779. format: date-time
  1780. revision:
  1781. description: "The current 'revision' of the certificate as issued.
  1782. \n When a CertificateRequest resource is created, it will have the
  1783. `cert-manager.io/certificate-revision` set to one greater than the
  1784. current value of this field. \n Upon issuance, this field will be
  1785. set to the value of the annotation on the CertificateRequest resource
  1786. used to issue the certificate. \n Persisting the value on the CertificateRequest
  1787. resource allows the certificates controller to know whether a request
  1788. is part of an old issuance or if it is part of the ongoing revision's
  1789. issuance by checking if the revision value in the annotation is
  1790. greater than this field."
  1791. type: integer
  1792. ---
  1793. # Source: cert-manager/templates/templates.regular.out
  1794. apiVersion: apiextensions.k8s.io/v1
  1795. kind: CustomResourceDefinition
  1796. metadata:
  1797. name: challenges.acme.cert-manager.io
  1798. annotations:
  1799. cert-manager.io/inject-ca-from-secret: 'cert-manager/cert-manager-webhook-ca'
  1800. labels:
  1801. app: 'cert-manager'
  1802. app.kubernetes.io/name: 'cert-manager'
  1803. app.kubernetes.io/instance: 'cert-manager'
  1804. app.kubernetes.io/managed-by: 'Helm'
  1805. helm.sh/chart: 'cert-manager-v0.16.1'
  1806. spec:
  1807. additionalPrinterColumns:
  1808. - JSONPath: .status.state
  1809. name: State
  1810. type: string
  1811. - JSONPath: .spec.dnsName
  1812. name: Domain
  1813. type: string
  1814. - JSONPath: .status.reason
  1815. name: Reason
  1816. priority: 1
  1817. type: string
  1818. - JSONPath: .metadata.creationTimestamp
  1819. description: CreationTimestamp is a timestamp representing the server time when
  1820. this object was created. It is not guaranteed to be set in happens-before order
  1821. across separate operations. Clients may not set this value. It is represented
  1822. in RFC3339 form and is in UTC.
  1823. name: Age
  1824. type: date
  1825. group: acme.cert-manager.io
  1826. preserveUnknownFields: false
  1827. conversion:
  1828. # a Webhook strategy instruct API server to call an external webhook for any conversion between custom resources.
  1829. strategy: Webhook
  1830. # webhookClientConfig is required when strategy is `Webhook` and it configures the webhook endpoint to be called by API server.
  1831. webhookClientConfig:
  1832. service:
  1833. namespace: 'cert-manager'
  1834. name: 'cert-manager-webhook'
  1835. path: /convert
  1836. names:
  1837. kind: Challenge
  1838. listKind: ChallengeList
  1839. plural: challenges
  1840. singular: challenge
  1841. scope: Namespaced
  1842. subresources:
  1843. status: {}
  1844. versions:
  1845. - name: v1alpha2
  1846. served: true
  1847. storage: true
  1848. "schema":
  1849. "openAPIV3Schema":
  1850. description: Challenge is a type to represent a Challenge request with an
  1851. ACME server
  1852. type: object
  1853. required:
  1854. - metadata
  1855. properties:
  1856. apiVersion:
  1857. description: 'APIVersion defines the versioned schema of this representation
  1858. of an object. Servers should convert recognized schemas to the latest
  1859. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1860. type: string
  1861. kind:
  1862. description: 'Kind is a string value representing the REST resource this
  1863. object represents. Servers may infer this from the endpoint the client
  1864. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1865. type: string
  1866. metadata:
  1867. type: object
  1868. spec:
  1869. type: object
  1870. required:
  1871. - authzURL
  1872. - dnsName
  1873. - issuerRef
  1874. - key
  1875. - solver
  1876. - token
  1877. - type
  1878. - url
  1879. properties:
  1880. authzURL:
  1881. description: AuthzURL is the URL to the ACME Authorization resource
  1882. that this challenge is a part of.
  1883. type: string
  1884. dnsName:
  1885. description: DNSName is the identifier that this challenge is for,
  1886. e.g. example.com. If the requested DNSName is a 'wildcard', this
  1887. field MUST be set to the non-wildcard domain, e.g. for `*.example.com`,
  1888. it must be `example.com`.
  1889. type: string
  1890. issuerRef:
  1891. description: IssuerRef references a properly configured ACME-type
  1892. Issuer which should be used to create this Challenge. If the Issuer
  1893. does not exist, processing will be retried. If the Issuer is not
  1894. an 'ACME' Issuer, an error will be returned and the Challenge will
  1895. be marked as failed.
  1896. type: object
  1897. required:
  1898. - name
  1899. properties:
  1900. group:
  1901. description: Group of the resource being referred to.
  1902. type: string
  1903. kind:
  1904. description: Kind of the resource being referred to.
  1905. type: string
  1906. name:
  1907. description: Name of the resource being referred to.
  1908. type: string
  1909. key:
  1910. description: 'Key is the ACME challenge key for this challenge For
  1911. HTTP01 challenges, this is the value that must be responded with
  1912. to complete the HTTP01 challenge in the format: `<private key JWK
  1913. thumbprint>.<key from acme server for challenge>`. For DNS01 challenges,
  1914. this is the base64 encoded SHA256 sum of the `<private key JWK thumbprint>.<key
  1915. from acme server for challenge>` text that must be set as the TXT
  1916. record content.'
  1917. type: string
  1918. solver:
  1919. description: Solver contains the domain solving configuration that
  1920. should be used to solve this challenge resource.
  1921. type: object
  1922. properties:
  1923. dns01:
  1924. description: Configures cert-manager to attempt to complete authorizations
  1925. by performing the DNS01 challenge flow.
  1926. type: object
  1927. properties:
  1928. acmedns:
  1929. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  1930. API to manage DNS01 challenge records.
  1931. type: object
  1932. required:
  1933. - accountSecretRef
  1934. - host
  1935. properties:
  1936. accountSecretRef:
  1937. description: A reference to a specific 'key' within a
  1938. Secret resource. In some instances, `key` is a required
  1939. field.
  1940. type: object
  1941. required:
  1942. - name
  1943. properties:
  1944. key:
  1945. description: The key of the entry in the Secret resource's
  1946. `data` field to be used. Some instances of this
  1947. field may be defaulted, in others it may be required.
  1948. type: string
  1949. name:
  1950. description: 'Name of the resource being referred
  1951. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1952. type: string
  1953. host:
  1954. type: string
  1955. akamai:
  1956. description: Use the Akamai DNS zone management API to manage
  1957. DNS01 challenge records.
  1958. type: object
  1959. required:
  1960. - accessTokenSecretRef
  1961. - clientSecretSecretRef
  1962. - clientTokenSecretRef
  1963. - serviceConsumerDomain
  1964. properties:
  1965. accessTokenSecretRef:
  1966. description: A reference to a specific 'key' within a
  1967. Secret resource. In some instances, `key` is a required
  1968. field.
  1969. type: object
  1970. required:
  1971. - name
  1972. properties:
  1973. key:
  1974. description: The key of the entry in the Secret resource's
  1975. `data` field to be used. Some instances of this
  1976. field may be defaulted, in others it may be required.
  1977. type: string
  1978. name:
  1979. description: 'Name of the resource being referred
  1980. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1981. type: string
  1982. clientSecretSecretRef:
  1983. description: A reference to a specific 'key' within a
  1984. Secret resource. In some instances, `key` is a required
  1985. field.
  1986. type: object
  1987. required:
  1988. - name
  1989. properties:
  1990. key:
  1991. description: The key of the entry in the Secret resource's
  1992. `data` field to be used. Some instances of this
  1993. field may be defaulted, in others it may be required.
  1994. type: string
  1995. name:
  1996. description: 'Name of the resource being referred
  1997. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1998. type: string
  1999. clientTokenSecretRef:
  2000. description: A reference to a specific 'key' within a
  2001. Secret resource. In some instances, `key` is a required
  2002. field.
  2003. type: object
  2004. required:
  2005. - name
  2006. properties:
  2007. key:
  2008. description: The key of the entry in the Secret resource's
  2009. `data` field to be used. Some instances of this
  2010. field may be defaulted, in others it may be required.
  2011. type: string
  2012. name:
  2013. description: 'Name of the resource being referred
  2014. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2015. type: string
  2016. serviceConsumerDomain:
  2017. type: string
  2018. azuredns:
  2019. description: Use the Microsoft Azure DNS API to manage DNS01
  2020. challenge records.
  2021. type: object
  2022. required:
  2023. - resourceGroupName
  2024. - subscriptionID
  2025. properties:
  2026. clientID:
  2027. description: if both this and ClientSecret are left unset
  2028. MSI will be used
  2029. type: string
  2030. clientSecretSecretRef:
  2031. description: if both this and ClientID are left unset
  2032. MSI will be used
  2033. type: object
  2034. required:
  2035. - name
  2036. properties:
  2037. key:
  2038. description: The key of the entry in the Secret resource's
  2039. `data` field to be used. Some instances of this
  2040. field may be defaulted, in others it may be required.
  2041. type: string
  2042. name:
  2043. description: 'Name of the resource being referred
  2044. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2045. type: string
  2046. environment:
  2047. type: string
  2048. enum:
  2049. - AzurePublicCloud
  2050. - AzureChinaCloud
  2051. - AzureGermanCloud
  2052. - AzureUSGovernmentCloud
  2053. hostedZoneName:
  2054. type: string
  2055. resourceGroupName:
  2056. type: string
  2057. subscriptionID:
  2058. type: string
  2059. tenantID:
  2060. description: when specifying ClientID and ClientSecret
  2061. then this field is also needed
  2062. type: string
  2063. clouddns:
  2064. description: Use the Google Cloud DNS API to manage DNS01
  2065. challenge records.
  2066. type: object
  2067. required:
  2068. - project
  2069. properties:
  2070. hostedZoneName:
  2071. description: HostedZoneName is an optional field that
  2072. tells cert-manager in which Cloud DNS zone the challenge
  2073. record has to be created. If left empty cert-manager
  2074. will automatically choose a zone.
  2075. type: string
  2076. project:
  2077. type: string
  2078. serviceAccountSecretRef:
  2079. description: A reference to a specific 'key' within a
  2080. Secret resource. In some instances, `key` is a required
  2081. field.
  2082. type: object
  2083. required:
  2084. - name
  2085. properties:
  2086. key:
  2087. description: The key of the entry in the Secret resource's
  2088. `data` field to be used. Some instances of this
  2089. field may be defaulted, in others it may be required.
  2090. type: string
  2091. name:
  2092. description: 'Name of the resource being referred
  2093. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2094. type: string
  2095. cloudflare:
  2096. description: Use the Cloudflare API to manage DNS01 challenge
  2097. records.
  2098. type: object
  2099. properties:
  2100. apiKeySecretRef:
  2101. description: 'API key to use to authenticate with Cloudflare.
  2102. Note: using an API token to authenticate is now the
  2103. recommended method as it allows greater control of permissions.'
  2104. type: object
  2105. required:
  2106. - name
  2107. properties:
  2108. key:
  2109. description: The key of the entry in the Secret resource's
  2110. `data` field to be used. Some instances of this
  2111. field may be defaulted, in others it may be required.
  2112. type: string
  2113. name:
  2114. description: 'Name of the resource being referred
  2115. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2116. type: string
  2117. apiTokenSecretRef:
  2118. description: API token used to authenticate with Cloudflare.
  2119. type: object
  2120. required:
  2121. - name
  2122. properties:
  2123. key:
  2124. description: The key of the entry in the Secret resource's
  2125. `data` field to be used. Some instances of this
  2126. field may be defaulted, in others it may be required.
  2127. type: string
  2128. name:
  2129. description: 'Name of the resource being referred
  2130. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2131. type: string
  2132. email:
  2133. description: Email of the account, only required when
  2134. using API key based authentication.
  2135. type: string
  2136. cnameStrategy:
  2137. description: CNAMEStrategy configures how the DNS01 provider
  2138. should handle CNAME records when found in DNS zones.
  2139. type: string
  2140. enum:
  2141. - None
  2142. - Follow
  2143. digitalocean:
  2144. description: Use the DigitalOcean DNS API to manage DNS01
  2145. challenge records.
  2146. type: object
  2147. required:
  2148. - tokenSecretRef
  2149. properties:
  2150. tokenSecretRef:
  2151. description: A reference to a specific 'key' within a
  2152. Secret resource. In some instances, `key` is a required
  2153. field.
  2154. type: object
  2155. required:
  2156. - name
  2157. properties:
  2158. key:
  2159. description: The key of the entry in the Secret resource's
  2160. `data` field to be used. Some instances of this
  2161. field may be defaulted, in others it may be required.
  2162. type: string
  2163. name:
  2164. description: 'Name of the resource being referred
  2165. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2166. type: string
  2167. rfc2136:
  2168. description: Use RFC2136 ("Dynamic Updates in the Domain Name
  2169. System") (https://datatracker.ietf.org/doc/rfc2136/) to
  2170. manage DNS01 challenge records.
  2171. type: object
  2172. required:
  2173. - nameserver
  2174. properties:
  2175. nameserver:
  2176. description: The IP address or hostname of an authoritative
  2177. DNS server supporting RFC2136 in the form host:port.
  2178. If the host is an IPv6 address it must be enclosed in
  2179. square brackets (e.g [2001:db8::1]) ; port is optional.
  2180. This field is required.
  2181. type: string
  2182. tsigAlgorithm:
  2183. description: 'The TSIG Algorithm configured in the DNS
  2184. supporting RFC2136. Used only when ``tsigSecretSecretRef``
  2185. and ``tsigKeyName`` are defined. Supported values are
  2186. (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``,
  2187. ``HMACSHA256`` or ``HMACSHA512``.'
  2188. type: string
  2189. tsigKeyName:
  2190. description: The TSIG Key name configured in the DNS.
  2191. If ``tsigSecretSecretRef`` is defined, this field is
  2192. required.
  2193. type: string
  2194. tsigSecretSecretRef:
  2195. description: The name of the secret containing the TSIG
  2196. value. If ``tsigKeyName`` is defined, this field is
  2197. required.
  2198. type: object
  2199. required:
  2200. - name
  2201. properties:
  2202. key:
  2203. description: The key of the entry in the Secret resource's
  2204. `data` field to be used. Some instances of this
  2205. field may be defaulted, in others it may be required.
  2206. type: string
  2207. name:
  2208. description: 'Name of the resource being referred
  2209. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2210. type: string
  2211. route53:
  2212. description: Use the AWS Route53 API to manage DNS01 challenge
  2213. records.
  2214. type: object
  2215. required:
  2216. - region
  2217. properties:
  2218. accessKeyID:
  2219. description: 'The AccessKeyID is used for authentication.
  2220. If not set we fall-back to using env vars, shared credentials
  2221. file or AWS Instance metadata see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  2222. type: string
  2223. hostedZoneID:
  2224. description: If set, the provider will manage only this
  2225. zone in Route53 and will not do an lookup using the
  2226. route53:ListHostedZonesByName api call.
  2227. type: string
  2228. region:
  2229. description: Always set the region when using AccessKeyID
  2230. and SecretAccessKey
  2231. type: string
  2232. role:
  2233. description: Role is a Role ARN which the Route53 provider
  2234. will assume using either the explicit credentials AccessKeyID/SecretAccessKey
  2235. or the inferred credentials from environment variables,
  2236. shared credentials file or AWS Instance metadata
  2237. type: string
  2238. secretAccessKeySecretRef:
  2239. description: The SecretAccessKey is used for authentication.
  2240. If not set we fall-back to using env vars, shared credentials
  2241. file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  2242. type: object
  2243. required:
  2244. - name
  2245. properties:
  2246. key:
  2247. description: The key of the entry in the Secret resource's
  2248. `data` field to be used. Some instances of this
  2249. field may be defaulted, in others it may be required.
  2250. type: string
  2251. name:
  2252. description: 'Name of the resource being referred
  2253. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2254. type: string
  2255. webhook:
  2256. description: Configure an external webhook based DNS01 challenge
  2257. solver to manage DNS01 challenge records.
  2258. type: object
  2259. required:
  2260. - groupName
  2261. - solverName
  2262. properties:
  2263. config:
  2264. description: Additional configuration that should be passed
  2265. to the webhook apiserver when challenges are processed.
  2266. This can contain arbitrary JSON data. Secret values
  2267. should not be specified in this stanza. If secret values
  2268. are needed (e.g. credentials for a DNS service), you
  2269. should use a SecretKeySelector to reference a Secret
  2270. resource. For details on the schema of this field, consult
  2271. the webhook provider implementation's documentation.
  2272. x-kubernetes-preserve-unknown-fields: true
  2273. groupName:
  2274. description: The API group name that should be used when
  2275. POSTing ChallengePayload resources to the webhook apiserver.
  2276. This should be the same as the GroupName specified in
  2277. the webhook provider implementation.
  2278. type: string
  2279. solverName:
  2280. description: The name of the solver to use, as defined
  2281. in the webhook provider implementation. This will typically
  2282. be the name of the provider, e.g. 'cloudflare'.
  2283. type: string
  2284. http01:
  2285. description: Configures cert-manager to attempt to complete authorizations
  2286. by performing the HTTP01 challenge flow. It is not possible
  2287. to obtain certificates for wildcard domain names (e.g. `*.example.com`)
  2288. using the HTTP01 challenge mechanism.
  2289. type: object
  2290. properties:
  2291. ingress:
  2292. description: The ingress based HTTP01 challenge solver will
  2293. solve challenges by creating or modifying Ingress resources
  2294. in order to route requests for '/.well-known/acme-challenge/XYZ'
  2295. to 'challenge solver' pods that are provisioned by cert-manager
  2296. for each Challenge to be completed.
  2297. type: object
  2298. properties:
  2299. class:
  2300. description: The ingress class to use when creating Ingress
  2301. resources to solve ACME challenges that use this challenge
  2302. solver. Only one of 'class' or 'name' may be specified.
  2303. type: string
  2304. ingressTemplate:
  2305. description: Optional ingress template used to configure
  2306. the ACME challenge solver ingress used for HTTP01 challenges
  2307. type: object
  2308. properties:
  2309. metadata:
  2310. description: ObjectMeta overrides for the ingress
  2311. used to solve HTTP01 challenges. Only the 'labels'
  2312. and 'annotations' fields may be set. If labels or
  2313. annotations overlap with in-built values, the values
  2314. here will override the in-built values.
  2315. type: object
  2316. properties:
  2317. annotations:
  2318. description: Annotations that should be added
  2319. to the created ACME HTTP01 solver ingress.
  2320. type: object
  2321. additionalProperties:
  2322. type: string
  2323. labels:
  2324. description: Labels that should be added to the
  2325. created ACME HTTP01 solver ingress.
  2326. type: object
  2327. additionalProperties:
  2328. type: string
  2329. name:
  2330. description: The name of the ingress resource that should
  2331. have ACME challenge solving routes inserted into it
  2332. in order to solve HTTP01 challenges. This is typically
  2333. used in conjunction with ingress controllers like ingress-gce,
  2334. which maintains a 1:1 mapping between external IPs and
  2335. ingress resources.
  2336. type: string
  2337. podTemplate:
  2338. description: Optional pod template used to configure the
  2339. ACME challenge solver pods used for HTTP01 challenges
  2340. type: object
  2341. properties:
  2342. metadata:
  2343. description: ObjectMeta overrides for the pod used
  2344. to solve HTTP01 challenges. Only the 'labels' and
  2345. 'annotations' fields may be set. If labels or annotations
  2346. overlap with in-built values, the values here will
  2347. override the in-built values.
  2348. type: object
  2349. properties:
  2350. annotations:
  2351. description: Annotations that should be added
  2352. to the create ACME HTTP01 solver pods.
  2353. type: object
  2354. additionalProperties:
  2355. type: string
  2356. labels:
  2357. description: Labels that should be added to the
  2358. created ACME HTTP01 solver pods.
  2359. type: object
  2360. additionalProperties:
  2361. type: string
  2362. spec:
  2363. description: PodSpec defines overrides for the HTTP01
  2364. challenge solver pod. Only the 'nodeSelector', 'affinity'
  2365. and 'tolerations' fields are supported currently.
  2366. All other fields will be ignored.
  2367. type: object
  2368. properties:
  2369. affinity:
  2370. description: If specified, the pod's scheduling
  2371. constraints
  2372. type: object
  2373. properties:
  2374. nodeAffinity:
  2375. description: Describes node affinity scheduling
  2376. rules for the pod.
  2377. type: object
  2378. properties:
  2379. preferredDuringSchedulingIgnoredDuringExecution:
  2380. description: The scheduler will prefer
  2381. to schedule pods to nodes that satisfy
  2382. the affinity expressions specified by
  2383. this field, but it may choose a node
  2384. that violates one or more of the expressions.
  2385. The node that is most preferred is the
  2386. one with the greatest sum of weights,
  2387. i.e. for each node that meets all of
  2388. the scheduling requirements (resource
  2389. request, requiredDuringScheduling affinity
  2390. expressions, etc.), compute a sum by
  2391. iterating through the elements of this
  2392. field and adding "weight" to the sum
  2393. if the node matches the corresponding
  2394. matchExpressions; the node(s) with the
  2395. highest sum are the most preferred.
  2396. type: array
  2397. items:
  2398. description: An empty preferred scheduling
  2399. term matches all objects with implicit
  2400. weight 0 (i.e. it's a no-op). A null
  2401. preferred scheduling term matches
  2402. no objects (i.e. is also a no-op).
  2403. type: object
  2404. required:
  2405. - preference
  2406. - weight
  2407. properties:
  2408. preference:
  2409. description: A node selector term,
  2410. associated with the corresponding
  2411. weight.
  2412. type: object
  2413. properties:
  2414. matchExpressions:
  2415. description: A list of node
  2416. selector requirements by node's
  2417. labels.
  2418. type: array
  2419. items:
  2420. description: A node selector
  2421. requirement is a selector
  2422. that contains values, a
  2423. key, and an operator that
  2424. relates the key and values.
  2425. type: object
  2426. required:
  2427. - key
  2428. - operator
  2429. properties:
  2430. key:
  2431. description: The label
  2432. key that the selector
  2433. applies to.
  2434. type: string
  2435. operator:
  2436. description: Represents
  2437. a key's relationship
  2438. to a set of values.
  2439. Valid operators are
  2440. In, NotIn, Exists, DoesNotExist.
  2441. Gt, and Lt.
  2442. type: string
  2443. values:
  2444. description: An array
  2445. of string values. If
  2446. the operator is In or
  2447. NotIn, the values array
  2448. must be non-empty. If
  2449. the operator is Exists
  2450. or DoesNotExist, the
  2451. values array must be
  2452. empty. If the operator
  2453. is Gt or Lt, the values
  2454. array must have a single
  2455. element, which will
  2456. be interpreted as an
  2457. integer. This array
  2458. is replaced during a
  2459. strategic merge patch.
  2460. type: array
  2461. items:
  2462. type: string
  2463. matchFields:
  2464. description: A list of node
  2465. selector requirements by node's
  2466. fields.
  2467. type: array
  2468. items:
  2469. description: A node selector
  2470. requirement is a selector
  2471. that contains values, a
  2472. key, and an operator that
  2473. relates the key and values.
  2474. type: object
  2475. required:
  2476. - key
  2477. - operator
  2478. properties:
  2479. key:
  2480. description: The label
  2481. key that the selector
  2482. applies to.
  2483. type: string
  2484. operator:
  2485. description: Represents
  2486. a key's relationship
  2487. to a set of values.
  2488. Valid operators are
  2489. In, NotIn, Exists, DoesNotExist.
  2490. Gt, and Lt.
  2491. type: string
  2492. values:
  2493. description: An array
  2494. of string values. If
  2495. the operator is In or
  2496. NotIn, the values array
  2497. must be non-empty. If
  2498. the operator is Exists
  2499. or DoesNotExist, the
  2500. values array must be
  2501. empty. If the operator
  2502. is Gt or Lt, the values
  2503. array must have a single
  2504. element, which will
  2505. be interpreted as an
  2506. integer. This array
  2507. is replaced during a
  2508. strategic merge patch.
  2509. type: array
  2510. items:
  2511. type: string
  2512. weight:
  2513. description: Weight associated with
  2514. matching the corresponding nodeSelectorTerm,
  2515. in the range 1-100.
  2516. type: integer
  2517. format: int32
  2518. requiredDuringSchedulingIgnoredDuringExecution:
  2519. description: If the affinity requirements
  2520. specified by this field are not met
  2521. at scheduling time, the pod will not
  2522. be scheduled onto the node. If the affinity
  2523. requirements specified by this field
  2524. cease to be met at some point during
  2525. pod execution (e.g. due to an update),
  2526. the system may or may not try to eventually
  2527. evict the pod from its node.
  2528. type: object
  2529. required:
  2530. - nodeSelectorTerms
  2531. properties:
  2532. nodeSelectorTerms:
  2533. description: Required. A list of node
  2534. selector terms. The terms are ORed.
  2535. type: array
  2536. items:
  2537. description: A null or empty node
  2538. selector term matches no objects.
  2539. The requirements of them are ANDed.
  2540. The TopologySelectorTerm type
  2541. implements a subset of the NodeSelectorTerm.
  2542. type: object
  2543. properties:
  2544. matchExpressions:
  2545. description: A list of node
  2546. selector requirements by node's
  2547. labels.
  2548. type: array
  2549. items:
  2550. description: A node selector
  2551. requirement is a selector
  2552. that contains values, a
  2553. key, and an operator that
  2554. relates the key and values.
  2555. type: object
  2556. required:
  2557. - key
  2558. - operator
  2559. properties:
  2560. key:
  2561. description: The label
  2562. key that the selector
  2563. applies to.
  2564. type: string
  2565. operator:
  2566. description: Represents
  2567. a key's relationship
  2568. to a set of values.
  2569. Valid operators are
  2570. In, NotIn, Exists, DoesNotExist.
  2571. Gt, and Lt.
  2572. type: string
  2573. values:
  2574. description: An array
  2575. of string values. If
  2576. the operator is In or
  2577. NotIn, the values array
  2578. must be non-empty. If
  2579. the operator is Exists
  2580. or DoesNotExist, the
  2581. values array must be
  2582. empty. If the operator
  2583. is Gt or Lt, the values
  2584. array must have a single
  2585. element, which will
  2586. be interpreted as an
  2587. integer. This array
  2588. is replaced during a
  2589. strategic merge patch.
  2590. type: array
  2591. items:
  2592. type: string
  2593. matchFields:
  2594. description: A list of node
  2595. selector requirements by node's
  2596. fields.
  2597. type: array
  2598. items:
  2599. description: A node selector
  2600. requirement is a selector
  2601. that contains values, a
  2602. key, and an operator that
  2603. relates the key and values.
  2604. type: object
  2605. required:
  2606. - key
  2607. - operator
  2608. properties:
  2609. key:
  2610. description: The label
  2611. key that the selector
  2612. applies to.
  2613. type: string
  2614. operator:
  2615. description: Represents
  2616. a key's relationship
  2617. to a set of values.
  2618. Valid operators are
  2619. In, NotIn, Exists, DoesNotExist.
  2620. Gt, and Lt.
  2621. type: string
  2622. values:
  2623. description: An array
  2624. of string values. If
  2625. the operator is In or
  2626. NotIn, the values array
  2627. must be non-empty. If
  2628. the operator is Exists
  2629. or DoesNotExist, the
  2630. values array must be
  2631. empty. If the operator
  2632. is Gt or Lt, the values
  2633. array must have a single
  2634. element, which will
  2635. be interpreted as an
  2636. integer. This array
  2637. is replaced during a
  2638. strategic merge patch.
  2639. type: array
  2640. items:
  2641. type: string
  2642. podAffinity:
  2643. description: Describes pod affinity scheduling
  2644. rules (e.g. co-locate this pod in the same
  2645. node, zone, etc. as some other pod(s)).
  2646. type: object
  2647. properties:
  2648. preferredDuringSchedulingIgnoredDuringExecution:
  2649. description: The scheduler will prefer
  2650. to schedule pods to nodes that satisfy
  2651. the affinity expressions specified by
  2652. this field, but it may choose a node
  2653. that violates one or more of the expressions.
  2654. The node that is most preferred is the
  2655. one with the greatest sum of weights,
  2656. i.e. for each node that meets all of
  2657. the scheduling requirements (resource
  2658. request, requiredDuringScheduling affinity
  2659. expressions, etc.), compute a sum by
  2660. iterating through the elements of this
  2661. field and adding "weight" to the sum
  2662. if the node has pods which matches the
  2663. corresponding podAffinityTerm; the node(s)
  2664. with the highest sum are the most preferred.
  2665. type: array
  2666. items:
  2667. description: The weights of all of the
  2668. matched WeightedPodAffinityTerm fields
  2669. are added per-node to find the most
  2670. preferred node(s)
  2671. type: object
  2672. required:
  2673. - podAffinityTerm
  2674. - weight
  2675. properties:
  2676. podAffinityTerm:
  2677. description: Required. A pod affinity
  2678. term, associated with the corresponding
  2679. weight.
  2680. type: object
  2681. required:
  2682. - topologyKey
  2683. properties:
  2684. labelSelector:
  2685. description: A label query over
  2686. a set of resources, in this
  2687. case pods.
  2688. type: object
  2689. properties:
  2690. matchExpressions:
  2691. description: matchExpressions
  2692. is a list of label selector
  2693. requirements. The requirements
  2694. are ANDed.
  2695. type: array
  2696. items:
  2697. description: A label selector
  2698. requirement is a selector
  2699. that contains values,
  2700. a key, and an operator
  2701. that relates the key
  2702. and values.
  2703. type: object
  2704. required:
  2705. - key
  2706. - operator
  2707. properties:
  2708. key:
  2709. description: key is
  2710. the label key that
  2711. the selector applies
  2712. to.
  2713. type: string
  2714. operator:
  2715. description: operator
  2716. represents a key's
  2717. relationship to
  2718. a set of values.
  2719. Valid operators
  2720. are In, NotIn, Exists
  2721. and DoesNotExist.
  2722. type: string
  2723. values:
  2724. description: values
  2725. is an array of string
  2726. values. If the operator
  2727. is In or NotIn,
  2728. the values array
  2729. must be non-empty.
  2730. If the operator
  2731. is Exists or DoesNotExist,
  2732. the values array
  2733. must be empty. This
  2734. array is replaced
  2735. during a strategic
  2736. merge patch.
  2737. type: array
  2738. items:
  2739. type: string
  2740. matchLabels:
  2741. description: matchLabels
  2742. is a map of {key,value}
  2743. pairs. A single {key,value}
  2744. in the matchLabels map
  2745. is equivalent to an element
  2746. of matchExpressions, whose
  2747. key field is "key", the
  2748. operator is "In", and
  2749. the values array contains
  2750. only "value". The requirements
  2751. are ANDed.
  2752. type: object
  2753. additionalProperties:
  2754. type: string
  2755. namespaces:
  2756. description: namespaces specifies
  2757. which namespaces the labelSelector
  2758. applies to (matches against);
  2759. null or empty list means "this
  2760. pod's namespace"
  2761. type: array
  2762. items:
  2763. type: string
  2764. topologyKey:
  2765. description: This pod should
  2766. be co-located (affinity) or
  2767. not co-located (anti-affinity)
  2768. with the pods matching the
  2769. labelSelector in the specified
  2770. namespaces, where co-located
  2771. is defined as running on a
  2772. node whose value of the label
  2773. with key topologyKey matches
  2774. that of any node on which
  2775. any of the selected pods is
  2776. running. Empty topologyKey
  2777. is not allowed.
  2778. type: string
  2779. weight:
  2780. description: weight associated with
  2781. matching the corresponding podAffinityTerm,
  2782. in the range 1-100.
  2783. type: integer
  2784. format: int32
  2785. requiredDuringSchedulingIgnoredDuringExecution:
  2786. description: If the affinity requirements
  2787. specified by this field are not met
  2788. at scheduling time, the pod will not
  2789. be scheduled onto the node. If the affinity
  2790. requirements specified by this field
  2791. cease to be met at some point during
  2792. pod execution (e.g. due to a pod label
  2793. update), the system may or may not try
  2794. to eventually evict the pod from its
  2795. node. When there are multiple elements,
  2796. the lists of nodes corresponding to
  2797. each podAffinityTerm are intersected,
  2798. i.e. all terms must be satisfied.
  2799. type: array
  2800. items:
  2801. description: Defines a set of pods (namely
  2802. those matching the labelSelector relative
  2803. to the given namespace(s)) that this
  2804. pod should be co-located (affinity)
  2805. or not co-located (anti-affinity)
  2806. with, where co-located is defined
  2807. as running on a node whose value of
  2808. the label with key <topologyKey> matches
  2809. that of any node on which a pod of
  2810. the set of pods is running
  2811. type: object
  2812. required:
  2813. - topologyKey
  2814. properties:
  2815. labelSelector:
  2816. description: A label query over
  2817. a set of resources, in this case
  2818. pods.
  2819. type: object
  2820. properties:
  2821. matchExpressions:
  2822. description: matchExpressions
  2823. is a list of label selector
  2824. requirements. The requirements
  2825. are ANDed.
  2826. type: array
  2827. items:
  2828. description: A label selector
  2829. requirement is a selector
  2830. that contains values, a
  2831. key, and an operator that
  2832. relates the key and values.
  2833. type: object
  2834. required:
  2835. - key
  2836. - operator
  2837. properties:
  2838. key:
  2839. description: key is the
  2840. label key that the selector
  2841. applies to.
  2842. type: string
  2843. operator:
  2844. description: operator
  2845. represents a key's relationship
  2846. to a set of values.
  2847. Valid operators are
  2848. In, NotIn, Exists and
  2849. DoesNotExist.
  2850. type: string
  2851. values:
  2852. description: values is
  2853. an array of string values.
  2854. If the operator is In
  2855. or NotIn, the values
  2856. array must be non-empty.
  2857. If the operator is Exists
  2858. or DoesNotExist, the
  2859. values array must be
  2860. empty. This array is
  2861. replaced during a strategic
  2862. merge patch.
  2863. type: array
  2864. items:
  2865. type: string
  2866. matchLabels:
  2867. description: matchLabels is
  2868. a map of {key,value} pairs.
  2869. A single {key,value} in the
  2870. matchLabels map is equivalent
  2871. to an element of matchExpressions,
  2872. whose key field is "key",
  2873. the operator is "In", and
  2874. the values array contains
  2875. only "value". The requirements
  2876. are ANDed.
  2877. type: object
  2878. additionalProperties:
  2879. type: string
  2880. namespaces:
  2881. description: namespaces specifies
  2882. which namespaces the labelSelector
  2883. applies to (matches against);
  2884. null or empty list means "this
  2885. pod's namespace"
  2886. type: array
  2887. items:
  2888. type: string
  2889. topologyKey:
  2890. description: This pod should be
  2891. co-located (affinity) or not co-located
  2892. (anti-affinity) with the pods
  2893. matching the labelSelector in
  2894. the specified namespaces, where
  2895. co-located is defined as running
  2896. on a node whose value of the label
  2897. with key topologyKey matches that
  2898. of any node on which any of the
  2899. selected pods is running. Empty
  2900. topologyKey is not allowed.
  2901. type: string
  2902. podAntiAffinity:
  2903. description: Describes pod anti-affinity scheduling
  2904. rules (e.g. avoid putting this pod in the
  2905. same node, zone, etc. as some other pod(s)).
  2906. type: object
  2907. properties:
  2908. preferredDuringSchedulingIgnoredDuringExecution:
  2909. description: The scheduler will prefer
  2910. to schedule pods to nodes that satisfy
  2911. the anti-affinity expressions specified
  2912. by this field, but it may choose a node
  2913. that violates one or more of the expressions.
  2914. The node that is most preferred is the
  2915. one with the greatest sum of weights,
  2916. i.e. for each node that meets all of
  2917. the scheduling requirements (resource
  2918. request, requiredDuringScheduling anti-affinity
  2919. expressions, etc.), compute a sum by
  2920. iterating through the elements of this
  2921. field and adding "weight" to the sum
  2922. if the node has pods which matches the
  2923. corresponding podAffinityTerm; the node(s)
  2924. with the highest sum are the most preferred.
  2925. type: array
  2926. items:
  2927. description: The weights of all of the
  2928. matched WeightedPodAffinityTerm fields
  2929. are added per-node to find the most
  2930. preferred node(s)
  2931. type: object
  2932. required:
  2933. - podAffinityTerm
  2934. - weight
  2935. properties:
  2936. podAffinityTerm:
  2937. description: Required. A pod affinity
  2938. term, associated with the corresponding
  2939. weight.
  2940. type: object
  2941. required:
  2942. - topologyKey
  2943. properties:
  2944. labelSelector:
  2945. description: A label query over
  2946. a set of resources, in this
  2947. case pods.
  2948. type: object
  2949. properties:
  2950. matchExpressions:
  2951. description: matchExpressions
  2952. is a list of label selector
  2953. requirements. The requirements
  2954. are ANDed.
  2955. type: array
  2956. items:
  2957. description: A label selector
  2958. requirement is a selector
  2959. that contains values,
  2960. a key, and an operator
  2961. that relates the key
  2962. and values.
  2963. type: object
  2964. required:
  2965. - key
  2966. - operator
  2967. properties:
  2968. key:
  2969. description: key is
  2970. the label key that
  2971. the selector applies
  2972. to.
  2973. type: string
  2974. operator:
  2975. description: operator
  2976. represents a key's
  2977. relationship to
  2978. a set of values.
  2979. Valid operators
  2980. are In, NotIn, Exists
  2981. and DoesNotExist.
  2982. type: string
  2983. values:
  2984. description: values
  2985. is an array of string
  2986. values. If the operator
  2987. is In or NotIn,
  2988. the values array
  2989. must be non-empty.
  2990. If the operator
  2991. is Exists or DoesNotExist,
  2992. the values array
  2993. must be empty. This
  2994. array is replaced
  2995. during a strategic
  2996. merge patch.
  2997. type: array
  2998. items:
  2999. type: string
  3000. matchLabels:
  3001. description: matchLabels
  3002. is a map of {key,value}
  3003. pairs. A single {key,value}
  3004. in the matchLabels map
  3005. is equivalent to an element
  3006. of matchExpressions, whose
  3007. key field is "key", the
  3008. operator is "In", and
  3009. the values array contains
  3010. only "value". The requirements
  3011. are ANDed.
  3012. type: object
  3013. additionalProperties:
  3014. type: string
  3015. namespaces:
  3016. description: namespaces specifies
  3017. which namespaces the labelSelector
  3018. applies to (matches against);
  3019. null or empty list means "this
  3020. pod's namespace"
  3021. type: array
  3022. items:
  3023. type: string
  3024. topologyKey:
  3025. description: This pod should
  3026. be co-located (affinity) or
  3027. not co-located (anti-affinity)
  3028. with the pods matching the
  3029. labelSelector in the specified
  3030. namespaces, where co-located
  3031. is defined as running on a
  3032. node whose value of the label
  3033. with key topologyKey matches
  3034. that of any node on which
  3035. any of the selected pods is
  3036. running. Empty topologyKey
  3037. is not allowed.
  3038. type: string
  3039. weight:
  3040. description: weight associated with
  3041. matching the corresponding podAffinityTerm,
  3042. in the range 1-100.
  3043. type: integer
  3044. format: int32
  3045. requiredDuringSchedulingIgnoredDuringExecution:
  3046. description: If the anti-affinity requirements
  3047. specified by this field are not met
  3048. at scheduling time, the pod will not
  3049. be scheduled onto the node. If the anti-affinity
  3050. requirements specified by this field
  3051. cease to be met at some point during
  3052. pod execution (e.g. due to a pod label
  3053. update), the system may or may not try
  3054. to eventually evict the pod from its
  3055. node. When there are multiple elements,
  3056. the lists of nodes corresponding to
  3057. each podAffinityTerm are intersected,
  3058. i.e. all terms must be satisfied.
  3059. type: array
  3060. items:
  3061. description: Defines a set of pods (namely
  3062. those matching the labelSelector relative
  3063. to the given namespace(s)) that this
  3064. pod should be co-located (affinity)
  3065. or not co-located (anti-affinity)
  3066. with, where co-located is defined
  3067. as running on a node whose value of
  3068. the label with key <topologyKey> matches
  3069. that of any node on which a pod of
  3070. the set of pods is running
  3071. type: object
  3072. required:
  3073. - topologyKey
  3074. properties:
  3075. labelSelector:
  3076. description: A label query over
  3077. a set of resources, in this case
  3078. pods.
  3079. type: object
  3080. properties:
  3081. matchExpressions:
  3082. description: matchExpressions
  3083. is a list of label selector
  3084. requirements. The requirements
  3085. are ANDed.
  3086. type: array
  3087. items:
  3088. description: A label selector
  3089. requirement is a selector
  3090. that contains values, a
  3091. key, and an operator that
  3092. relates the key and values.
  3093. type: object
  3094. required:
  3095. - key
  3096. - operator
  3097. properties:
  3098. key:
  3099. description: key is the
  3100. label key that the selector
  3101. applies to.
  3102. type: string
  3103. operator:
  3104. description: operator
  3105. represents a key's relationship
  3106. to a set of values.
  3107. Valid operators are
  3108. In, NotIn, Exists and
  3109. DoesNotExist.
  3110. type: string
  3111. values:
  3112. description: values is
  3113. an array of string values.
  3114. If the operator is In
  3115. or NotIn, the values
  3116. array must be non-empty.
  3117. If the operator is Exists
  3118. or DoesNotExist, the
  3119. values array must be
  3120. empty. This array is
  3121. replaced during a strategic
  3122. merge patch.
  3123. type: array
  3124. items:
  3125. type: string
  3126. matchLabels:
  3127. description: matchLabels is
  3128. a map of {key,value} pairs.
  3129. A single {key,value} in the
  3130. matchLabels map is equivalent
  3131. to an element of matchExpressions,
  3132. whose key field is "key",
  3133. the operator is "In", and
  3134. the values array contains
  3135. only "value". The requirements
  3136. are ANDed.
  3137. type: object
  3138. additionalProperties:
  3139. type: string
  3140. namespaces:
  3141. description: namespaces specifies
  3142. which namespaces the labelSelector
  3143. applies to (matches against);
  3144. null or empty list means "this
  3145. pod's namespace"
  3146. type: array
  3147. items:
  3148. type: string
  3149. topologyKey:
  3150. description: This pod should be
  3151. co-located (affinity) or not co-located
  3152. (anti-affinity) with the pods
  3153. matching the labelSelector in
  3154. the specified namespaces, where
  3155. co-located is defined as running
  3156. on a node whose value of the label
  3157. with key topologyKey matches that
  3158. of any node on which any of the
  3159. selected pods is running. Empty
  3160. topologyKey is not allowed.
  3161. type: string
  3162. nodeSelector:
  3163. description: 'NodeSelector is a selector which
  3164. must be true for the pod to fit on a node. Selector
  3165. which must match a node''s labels for the pod
  3166. to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  3167. type: object
  3168. additionalProperties:
  3169. type: string
  3170. tolerations:
  3171. description: If specified, the pod's tolerations.
  3172. type: array
  3173. items:
  3174. description: The pod this Toleration is attached
  3175. to tolerates any taint that matches the triple
  3176. <key,value,effect> using the matching operator
  3177. <operator>.
  3178. type: object
  3179. properties:
  3180. effect:
  3181. description: Effect indicates the taint
  3182. effect to match. Empty means match all
  3183. taint effects. When specified, allowed
  3184. values are NoSchedule, PreferNoSchedule
  3185. and NoExecute.
  3186. type: string
  3187. key:
  3188. description: Key is the taint key that the
  3189. toleration applies to. Empty means match
  3190. all taint keys. If the key is empty, operator
  3191. must be Exists; this combination means
  3192. to match all values and all keys.
  3193. type: string
  3194. operator:
  3195. description: Operator represents a key's
  3196. relationship to the value. Valid operators
  3197. are Exists and Equal. Defaults to Equal.
  3198. Exists is equivalent to wildcard for value,
  3199. so that a pod can tolerate all taints
  3200. of a particular category.
  3201. type: string
  3202. tolerationSeconds:
  3203. description: TolerationSeconds represents
  3204. the period of time the toleration (which
  3205. must be of effect NoExecute, otherwise
  3206. this field is ignored) tolerates the taint.
  3207. By default, it is not set, which means
  3208. tolerate the taint forever (do not evict).
  3209. Zero and negative values will be treated
  3210. as 0 (evict immediately) by the system.
  3211. type: integer
  3212. format: int64
  3213. value:
  3214. description: Value is the taint value the
  3215. toleration matches to. If the operator
  3216. is Exists, the value should be empty,
  3217. otherwise just a regular string.
  3218. type: string
  3219. serviceType:
  3220. description: Optional service type for Kubernetes solver
  3221. service
  3222. type: string
  3223. selector:
  3224. description: Selector selects a set of DNSNames on the Certificate
  3225. resource that should be solved using this challenge solver.
  3226. If not specified, the solver will be treated as the 'default'
  3227. solver with the lowest priority, i.e. if any other solver has
  3228. a more specific match, it will be used instead.
  3229. type: object
  3230. properties:
  3231. dnsNames:
  3232. description: List of DNSNames that this solver will be used
  3233. to solve. If specified and a match is found, a dnsNames
  3234. selector will take precedence over a dnsZones selector.
  3235. If multiple solvers match with the same dnsNames value,
  3236. the solver with the most matching labels in matchLabels
  3237. will be selected. If neither has more matches, the solver
  3238. defined earlier in the list will be selected.
  3239. type: array
  3240. items:
  3241. type: string
  3242. dnsZones:
  3243. description: List of DNSZones that this solver will be used
  3244. to solve. The most specific DNS zone match specified here
  3245. will take precedence over other DNS zone matches, so a solver
  3246. specifying sys.example.com will be selected over one specifying
  3247. example.com for the domain www.sys.example.com. If multiple
  3248. solvers match with the same dnsZones value, the solver with
  3249. the most matching labels in matchLabels will be selected.
  3250. If neither has more matches, the solver defined earlier
  3251. in the list will be selected.
  3252. type: array
  3253. items:
  3254. type: string
  3255. matchLabels:
  3256. description: A label selector that is used to refine the set
  3257. of certificate's that this challenge solver will apply to.
  3258. type: object
  3259. additionalProperties:
  3260. type: string
  3261. token:
  3262. description: Token is the ACME challenge token for this challenge.
  3263. This is the raw value returned from the ACME server.
  3264. type: string
  3265. type:
  3266. description: Type is the type of ACME challenge this resource represents.
  3267. One of "http-01" or "dns-01".
  3268. type: string
  3269. enum:
  3270. - http-01
  3271. - dns-01
  3272. url:
  3273. description: URL is the URL of the ACME Challenge resource for this
  3274. challenge. This can be used to lookup details about the status of
  3275. this challenge.
  3276. type: string
  3277. wildcard:
  3278. description: Wildcard will be true if this challenge is for a wildcard
  3279. identifier, for example '*.example.com'.
  3280. type: boolean
  3281. status:
  3282. type: object
  3283. properties:
  3284. presented:
  3285. description: Presented will be set to true if the challenge values
  3286. for this challenge are currently 'presented'. This *does not* imply
  3287. the self check is passing. Only that the values have been 'submitted'
  3288. for the appropriate challenge mechanism (i.e. the DNS01 TXT record
  3289. has been presented, or the HTTP01 configuration has been configured).
  3290. type: boolean
  3291. processing:
  3292. description: Processing is used to denote whether this challenge should
  3293. be processed or not. This field will only be set to true by the
  3294. 'scheduling' component. It will only be set to false by the 'challenges'
  3295. controller, after the challenge has reached a final state or timed
  3296. out. If this field is set to false, the challenge controller will
  3297. not take any more action.
  3298. type: boolean
  3299. reason:
  3300. description: Reason contains human readable information on why the
  3301. Challenge is in the current state.
  3302. type: string
  3303. state:
  3304. description: State contains the current 'state' of the challenge.
  3305. If not set, the state of the challenge is unknown.
  3306. type: string
  3307. enum:
  3308. - valid
  3309. - ready
  3310. - pending
  3311. - processing
  3312. - invalid
  3313. - expired
  3314. - errored
  3315. - name: v1alpha3
  3316. served: true
  3317. storage: false
  3318. "schema":
  3319. "openAPIV3Schema":
  3320. description: Challenge is a type to represent a Challenge request with an
  3321. ACME server
  3322. type: object
  3323. required:
  3324. - metadata
  3325. properties:
  3326. apiVersion:
  3327. description: 'APIVersion defines the versioned schema of this representation
  3328. of an object. Servers should convert recognized schemas to the latest
  3329. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3330. type: string
  3331. kind:
  3332. description: 'Kind is a string value representing the REST resource this
  3333. object represents. Servers may infer this from the endpoint the client
  3334. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3335. type: string
  3336. metadata:
  3337. type: object
  3338. spec:
  3339. type: object
  3340. required:
  3341. - authzURL
  3342. - dnsName
  3343. - issuerRef
  3344. - key
  3345. - solver
  3346. - token
  3347. - type
  3348. - url
  3349. properties:
  3350. authzURL:
  3351. description: AuthzURL is the URL to the ACME Authorization resource
  3352. that this challenge is a part of.
  3353. type: string
  3354. dnsName:
  3355. description: DNSName is the identifier that this challenge is for,
  3356. e.g. example.com. If the requested DNSName is a 'wildcard', this
  3357. field MUST be set to the non-wildcard domain, e.g. for `*.example.com`,
  3358. it must be `example.com`.
  3359. type: string
  3360. issuerRef:
  3361. description: IssuerRef references a properly configured ACME-type
  3362. Issuer which should be used to create this Challenge. If the Issuer
  3363. does not exist, processing will be retried. If the Issuer is not
  3364. an 'ACME' Issuer, an error will be returned and the Challenge will
  3365. be marked as failed.
  3366. type: object
  3367. required:
  3368. - name
  3369. properties:
  3370. group:
  3371. description: Group of the resource being referred to.
  3372. type: string
  3373. kind:
  3374. description: Kind of the resource being referred to.
  3375. type: string
  3376. name:
  3377. description: Name of the resource being referred to.
  3378. type: string
  3379. key:
  3380. description: 'Key is the ACME challenge key for this challenge For
  3381. HTTP01 challenges, this is the value that must be responded with
  3382. to complete the HTTP01 challenge in the format: `<private key JWK
  3383. thumbprint>.<key from acme server for challenge>`. For DNS01 challenges,
  3384. this is the base64 encoded SHA256 sum of the `<private key JWK thumbprint>.<key
  3385. from acme server for challenge>` text that must be set as the TXT
  3386. record content.'
  3387. type: string
  3388. solver:
  3389. description: Solver contains the domain solving configuration that
  3390. should be used to solve this challenge resource.
  3391. type: object
  3392. properties:
  3393. dns01:
  3394. description: Configures cert-manager to attempt to complete authorizations
  3395. by performing the DNS01 challenge flow.
  3396. type: object
  3397. properties:
  3398. acmedns:
  3399. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  3400. API to manage DNS01 challenge records.
  3401. type: object
  3402. required:
  3403. - accountSecretRef
  3404. - host
  3405. properties:
  3406. accountSecretRef:
  3407. description: A reference to a specific 'key' within a
  3408. Secret resource. In some instances, `key` is a required
  3409. field.
  3410. type: object
  3411. required:
  3412. - name
  3413. properties:
  3414. key:
  3415. description: The key of the entry in the Secret resource's
  3416. `data` field to be used. Some instances of this
  3417. field may be defaulted, in others it may be required.
  3418. type: string
  3419. name:
  3420. description: 'Name of the resource being referred
  3421. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3422. type: string
  3423. host:
  3424. type: string
  3425. akamai:
  3426. description: Use the Akamai DNS zone management API to manage
  3427. DNS01 challenge records.
  3428. type: object
  3429. required:
  3430. - accessTokenSecretRef
  3431. - clientSecretSecretRef
  3432. - clientTokenSecretRef
  3433. - serviceConsumerDomain
  3434. properties:
  3435. accessTokenSecretRef:
  3436. description: A reference to a specific 'key' within a
  3437. Secret resource. In some instances, `key` is a required
  3438. field.
  3439. type: object
  3440. required:
  3441. - name
  3442. properties:
  3443. key:
  3444. description: The key of the entry in the Secret resource's
  3445. `data` field to be used. Some instances of this
  3446. field may be defaulted, in others it may be required.
  3447. type: string
  3448. name:
  3449. description: 'Name of the resource being referred
  3450. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3451. type: string
  3452. clientSecretSecretRef:
  3453. description: A reference to a specific 'key' within a
  3454. Secret resource. In some instances, `key` is a required
  3455. field.
  3456. type: object
  3457. required:
  3458. - name
  3459. properties:
  3460. key:
  3461. description: The key of the entry in the Secret resource's
  3462. `data` field to be used. Some instances of this
  3463. field may be defaulted, in others it may be required.
  3464. type: string
  3465. name:
  3466. description: 'Name of the resource being referred
  3467. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3468. type: string
  3469. clientTokenSecretRef:
  3470. description: A reference to a specific 'key' within a
  3471. Secret resource. In some instances, `key` is a required
  3472. field.
  3473. type: object
  3474. required:
  3475. - name
  3476. properties:
  3477. key:
  3478. description: The key of the entry in the Secret resource's
  3479. `data` field to be used. Some instances of this
  3480. field may be defaulted, in others it may be required.
  3481. type: string
  3482. name:
  3483. description: 'Name of the resource being referred
  3484. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3485. type: string
  3486. serviceConsumerDomain:
  3487. type: string
  3488. azuredns:
  3489. description: Use the Microsoft Azure DNS API to manage DNS01
  3490. challenge records.
  3491. type: object
  3492. required:
  3493. - resourceGroupName
  3494. - subscriptionID
  3495. properties:
  3496. clientID:
  3497. description: if both this and ClientSecret are left unset
  3498. MSI will be used
  3499. type: string
  3500. clientSecretSecretRef:
  3501. description: if both this and ClientID are left unset
  3502. MSI will be used
  3503. type: object
  3504. required:
  3505. - name
  3506. properties:
  3507. key:
  3508. description: The key of the entry in the Secret resource's
  3509. `data` field to be used. Some instances of this
  3510. field may be defaulted, in others it may be required.
  3511. type: string
  3512. name:
  3513. description: 'Name of the resource being referred
  3514. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3515. type: string
  3516. environment:
  3517. type: string
  3518. enum:
  3519. - AzurePublicCloud
  3520. - AzureChinaCloud
  3521. - AzureGermanCloud
  3522. - AzureUSGovernmentCloud
  3523. hostedZoneName:
  3524. type: string
  3525. resourceGroupName:
  3526. type: string
  3527. subscriptionID:
  3528. type: string
  3529. tenantID:
  3530. description: when specifying ClientID and ClientSecret
  3531. then this field is also needed
  3532. type: string
  3533. clouddns:
  3534. description: Use the Google Cloud DNS API to manage DNS01
  3535. challenge records.
  3536. type: object
  3537. required:
  3538. - project
  3539. properties:
  3540. hostedZoneName:
  3541. description: HostedZoneName is an optional field that
  3542. tells cert-manager in which Cloud DNS zone the challenge
  3543. record has to be created. If left empty cert-manager
  3544. will automatically choose a zone.
  3545. type: string
  3546. project:
  3547. type: string
  3548. serviceAccountSecretRef:
  3549. description: A reference to a specific 'key' within a
  3550. Secret resource. In some instances, `key` is a required
  3551. field.
  3552. type: object
  3553. required:
  3554. - name
  3555. properties:
  3556. key:
  3557. description: The key of the entry in the Secret resource's
  3558. `data` field to be used. Some instances of this
  3559. field may be defaulted, in others it may be required.
  3560. type: string
  3561. name:
  3562. description: 'Name of the resource being referred
  3563. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3564. type: string
  3565. cloudflare:
  3566. description: Use the Cloudflare API to manage DNS01 challenge
  3567. records.
  3568. type: object
  3569. properties:
  3570. apiKeySecretRef:
  3571. description: 'API key to use to authenticate with Cloudflare.
  3572. Note: using an API token to authenticate is now the
  3573. recommended method as it allows greater control of permissions.'
  3574. type: object
  3575. required:
  3576. - name
  3577. properties:
  3578. key:
  3579. description: The key of the entry in the Secret resource's
  3580. `data` field to be used. Some instances of this
  3581. field may be defaulted, in others it may be required.
  3582. type: string
  3583. name:
  3584. description: 'Name of the resource being referred
  3585. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3586. type: string
  3587. apiTokenSecretRef:
  3588. description: API token used to authenticate with Cloudflare.
  3589. type: object
  3590. required:
  3591. - name
  3592. properties:
  3593. key:
  3594. description: The key of the entry in the Secret resource's
  3595. `data` field to be used. Some instances of this
  3596. field may be defaulted, in others it may be required.
  3597. type: string
  3598. name:
  3599. description: 'Name of the resource being referred
  3600. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3601. type: string
  3602. email:
  3603. description: Email of the account, only required when
  3604. using API key based authentication.
  3605. type: string
  3606. cnameStrategy:
  3607. description: CNAMEStrategy configures how the DNS01 provider
  3608. should handle CNAME records when found in DNS zones.
  3609. type: string
  3610. enum:
  3611. - None
  3612. - Follow
  3613. digitalocean:
  3614. description: Use the DigitalOcean DNS API to manage DNS01
  3615. challenge records.
  3616. type: object
  3617. required:
  3618. - tokenSecretRef
  3619. properties:
  3620. tokenSecretRef:
  3621. description: A reference to a specific 'key' within a
  3622. Secret resource. In some instances, `key` is a required
  3623. field.
  3624. type: object
  3625. required:
  3626. - name
  3627. properties:
  3628. key:
  3629. description: The key of the entry in the Secret resource's
  3630. `data` field to be used. Some instances of this
  3631. field may be defaulted, in others it may be required.
  3632. type: string
  3633. name:
  3634. description: 'Name of the resource being referred
  3635. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3636. type: string
  3637. rfc2136:
  3638. description: Use RFC2136 ("Dynamic Updates in the Domain Name
  3639. System") (https://datatracker.ietf.org/doc/rfc2136/) to
  3640. manage DNS01 challenge records.
  3641. type: object
  3642. required:
  3643. - nameserver
  3644. properties:
  3645. nameserver:
  3646. description: The IP address or hostname of an authoritative
  3647. DNS server supporting RFC2136 in the form host:port.
  3648. If the host is an IPv6 address it must be enclosed in
  3649. square brackets (e.g [2001:db8::1]) ; port is optional.
  3650. This field is required.
  3651. type: string
  3652. tsigAlgorithm:
  3653. description: 'The TSIG Algorithm configured in the DNS
  3654. supporting RFC2136. Used only when ``tsigSecretSecretRef``
  3655. and ``tsigKeyName`` are defined. Supported values are
  3656. (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``,
  3657. ``HMACSHA256`` or ``HMACSHA512``.'
  3658. type: string
  3659. tsigKeyName:
  3660. description: The TSIG Key name configured in the DNS.
  3661. If ``tsigSecretSecretRef`` is defined, this field is
  3662. required.
  3663. type: string
  3664. tsigSecretSecretRef:
  3665. description: The name of the secret containing the TSIG
  3666. value. If ``tsigKeyName`` is defined, this field is
  3667. required.
  3668. type: object
  3669. required:
  3670. - name
  3671. properties:
  3672. key:
  3673. description: The key of the entry in the Secret resource's
  3674. `data` field to be used. Some instances of this
  3675. field may be defaulted, in others it may be required.
  3676. type: string
  3677. name:
  3678. description: 'Name of the resource being referred
  3679. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3680. type: string
  3681. route53:
  3682. description: Use the AWS Route53 API to manage DNS01 challenge
  3683. records.
  3684. type: object
  3685. required:
  3686. - region
  3687. properties:
  3688. accessKeyID:
  3689. description: 'The AccessKeyID is used for authentication.
  3690. If not set we fall-back to using env vars, shared credentials
  3691. file or AWS Instance metadata see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  3692. type: string
  3693. hostedZoneID:
  3694. description: If set, the provider will manage only this
  3695. zone in Route53 and will not do an lookup using the
  3696. route53:ListHostedZonesByName api call.
  3697. type: string
  3698. region:
  3699. description: Always set the region when using AccessKeyID
  3700. and SecretAccessKey
  3701. type: string
  3702. role:
  3703. description: Role is a Role ARN which the Route53 provider
  3704. will assume using either the explicit credentials AccessKeyID/SecretAccessKey
  3705. or the inferred credentials from environment variables,
  3706. shared credentials file or AWS Instance metadata
  3707. type: string
  3708. secretAccessKeySecretRef:
  3709. description: The SecretAccessKey is used for authentication.
  3710. If not set we fall-back to using env vars, shared credentials
  3711. file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  3712. type: object
  3713. required:
  3714. - name
  3715. properties:
  3716. key:
  3717. description: The key of the entry in the Secret resource's
  3718. `data` field to be used. Some instances of this
  3719. field may be defaulted, in others it may be required.
  3720. type: string
  3721. name:
  3722. description: 'Name of the resource being referred
  3723. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3724. type: string
  3725. webhook:
  3726. description: Configure an external webhook based DNS01 challenge
  3727. solver to manage DNS01 challenge records.
  3728. type: object
  3729. required:
  3730. - groupName
  3731. - solverName
  3732. properties:
  3733. config:
  3734. description: Additional configuration that should be passed
  3735. to the webhook apiserver when challenges are processed.
  3736. This can contain arbitrary JSON data. Secret values
  3737. should not be specified in this stanza. If secret values
  3738. are needed (e.g. credentials for a DNS service), you
  3739. should use a SecretKeySelector to reference a Secret
  3740. resource. For details on the schema of this field, consult
  3741. the webhook provider implementation's documentation.
  3742. x-kubernetes-preserve-unknown-fields: true
  3743. groupName:
  3744. description: The API group name that should be used when
  3745. POSTing ChallengePayload resources to the webhook apiserver.
  3746. This should be the same as the GroupName specified in
  3747. the webhook provider implementation.
  3748. type: string
  3749. solverName:
  3750. description: The name of the solver to use, as defined
  3751. in the webhook provider implementation. This will typically
  3752. be the name of the provider, e.g. 'cloudflare'.
  3753. type: string
  3754. http01:
  3755. description: Configures cert-manager to attempt to complete authorizations
  3756. by performing the HTTP01 challenge flow. It is not possible
  3757. to obtain certificates for wildcard domain names (e.g. `*.example.com`)
  3758. using the HTTP01 challenge mechanism.
  3759. type: object
  3760. properties:
  3761. ingress:
  3762. description: The ingress based HTTP01 challenge solver will
  3763. solve challenges by creating or modifying Ingress resources
  3764. in order to route requests for '/.well-known/acme-challenge/XYZ'
  3765. to 'challenge solver' pods that are provisioned by cert-manager
  3766. for each Challenge to be completed.
  3767. type: object
  3768. properties:
  3769. class:
  3770. description: The ingress class to use when creating Ingress
  3771. resources to solve ACME challenges that use this challenge
  3772. solver. Only one of 'class' or 'name' may be specified.
  3773. type: string
  3774. ingressTemplate:
  3775. description: Optional ingress template used to configure
  3776. the ACME challenge solver ingress used for HTTP01 challenges
  3777. type: object
  3778. properties:
  3779. metadata:
  3780. description: ObjectMeta overrides for the ingress
  3781. used to solve HTTP01 challenges. Only the 'labels'
  3782. and 'annotations' fields may be set. If labels or
  3783. annotations overlap with in-built values, the values
  3784. here will override the in-built values.
  3785. type: object
  3786. properties:
  3787. annotations:
  3788. description: Annotations that should be added
  3789. to the created ACME HTTP01 solver ingress.
  3790. type: object
  3791. additionalProperties:
  3792. type: string
  3793. labels:
  3794. description: Labels that should be added to the
  3795. created ACME HTTP01 solver ingress.
  3796. type: object
  3797. additionalProperties:
  3798. type: string
  3799. name:
  3800. description: The name of the ingress resource that should
  3801. have ACME challenge solving routes inserted into it
  3802. in order to solve HTTP01 challenges. This is typically
  3803. used in conjunction with ingress controllers like ingress-gce,
  3804. which maintains a 1:1 mapping between external IPs and
  3805. ingress resources.
  3806. type: string
  3807. podTemplate:
  3808. description: Optional pod template used to configure the
  3809. ACME challenge solver pods used for HTTP01 challenges
  3810. type: object
  3811. properties:
  3812. metadata:
  3813. description: ObjectMeta overrides for the pod used
  3814. to solve HTTP01 challenges. Only the 'labels' and
  3815. 'annotations' fields may be set. If labels or annotations
  3816. overlap with in-built values, the values here will
  3817. override the in-built values.
  3818. type: object
  3819. properties:
  3820. annotations:
  3821. description: Annotations that should be added
  3822. to the create ACME HTTP01 solver pods.
  3823. type: object
  3824. additionalProperties:
  3825. type: string
  3826. labels:
  3827. description: Labels that should be added to the
  3828. created ACME HTTP01 solver pods.
  3829. type: object
  3830. additionalProperties:
  3831. type: string
  3832. spec:
  3833. description: PodSpec defines overrides for the HTTP01
  3834. challenge solver pod. Only the 'nodeSelector', 'affinity'
  3835. and 'tolerations' fields are supported currently.
  3836. All other fields will be ignored.
  3837. type: object
  3838. properties:
  3839. affinity:
  3840. description: If specified, the pod's scheduling
  3841. constraints
  3842. type: object
  3843. properties:
  3844. nodeAffinity:
  3845. description: Describes node affinity scheduling
  3846. rules for the pod.
  3847. type: object
  3848. properties:
  3849. preferredDuringSchedulingIgnoredDuringExecution:
  3850. description: The scheduler will prefer
  3851. to schedule pods to nodes that satisfy
  3852. the affinity expressions specified by
  3853. this field, but it may choose a node
  3854. that violates one or more of the expressions.
  3855. The node that is most preferred is the
  3856. one with the greatest sum of weights,
  3857. i.e. for each node that meets all of
  3858. the scheduling requirements (resource
  3859. request, requiredDuringScheduling affinity
  3860. expressions, etc.), compute a sum by
  3861. iterating through the elements of this
  3862. field and adding "weight" to the sum
  3863. if the node matches the corresponding
  3864. matchExpressions; the node(s) with the
  3865. highest sum are the most preferred.
  3866. type: array
  3867. items:
  3868. description: An empty preferred scheduling
  3869. term matches all objects with implicit
  3870. weight 0 (i.e. it's a no-op). A null
  3871. preferred scheduling term matches
  3872. no objects (i.e. is also a no-op).
  3873. type: object
  3874. required:
  3875. - preference
  3876. - weight
  3877. properties:
  3878. preference:
  3879. description: A node selector term,
  3880. associated with the corresponding
  3881. weight.
  3882. type: object
  3883. properties:
  3884. matchExpressions:
  3885. description: A list of node
  3886. selector requirements by node's
  3887. labels.
  3888. type: array
  3889. items:
  3890. description: A node selector
  3891. requirement is a selector
  3892. that contains values, a
  3893. key, and an operator that
  3894. relates the key and values.
  3895. type: object
  3896. required:
  3897. - key
  3898. - operator
  3899. properties:
  3900. key:
  3901. description: The label
  3902. key that the selector
  3903. applies to.
  3904. type: string
  3905. operator:
  3906. description: Represents
  3907. a key's relationship
  3908. to a set of values.
  3909. Valid operators are
  3910. In, NotIn, Exists, DoesNotExist.
  3911. Gt, and Lt.
  3912. type: string
  3913. values:
  3914. description: An array
  3915. of string values. If
  3916. the operator is In or
  3917. NotIn, the values array
  3918. must be non-empty. If
  3919. the operator is Exists
  3920. or DoesNotExist, the
  3921. values array must be
  3922. empty. If the operator
  3923. is Gt or Lt, the values
  3924. array must have a single
  3925. element, which will
  3926. be interpreted as an
  3927. integer. This array
  3928. is replaced during a
  3929. strategic merge patch.
  3930. type: array
  3931. items:
  3932. type: string
  3933. matchFields:
  3934. description: A list of node
  3935. selector requirements by node's
  3936. fields.
  3937. type: array
  3938. items:
  3939. description: A node selector
  3940. requirement is a selector
  3941. that contains values, a
  3942. key, and an operator that
  3943. relates the key and values.
  3944. type: object
  3945. required:
  3946. - key
  3947. - operator
  3948. properties:
  3949. key:
  3950. description: The label
  3951. key that the selector
  3952. applies to.
  3953. type: string
  3954. operator:
  3955. description: Represents
  3956. a key's relationship
  3957. to a set of values.
  3958. Valid operators are
  3959. In, NotIn, Exists, DoesNotExist.
  3960. Gt, and Lt.
  3961. type: string
  3962. values:
  3963. description: An array
  3964. of string values. If
  3965. the operator is In or
  3966. NotIn, the values array
  3967. must be non-empty. If
  3968. the operator is Exists
  3969. or DoesNotExist, the
  3970. values array must be
  3971. empty. If the operator
  3972. is Gt or Lt, the values
  3973. array must have a single
  3974. element, which will
  3975. be interpreted as an
  3976. integer. This array
  3977. is replaced during a
  3978. strategic merge patch.
  3979. type: array
  3980. items:
  3981. type: string
  3982. weight:
  3983. description: Weight associated with
  3984. matching the corresponding nodeSelectorTerm,
  3985. in the range 1-100.
  3986. type: integer
  3987. format: int32
  3988. requiredDuringSchedulingIgnoredDuringExecution:
  3989. description: If the affinity requirements
  3990. specified by this field are not met
  3991. at scheduling time, the pod will not
  3992. be scheduled onto the node. If the affinity
  3993. requirements specified by this field
  3994. cease to be met at some point during
  3995. pod execution (e.g. due to an update),
  3996. the system may or may not try to eventually
  3997. evict the pod from its node.
  3998. type: object
  3999. required:
  4000. - nodeSelectorTerms
  4001. properties:
  4002. nodeSelectorTerms:
  4003. description: Required. A list of node
  4004. selector terms. The terms are ORed.
  4005. type: array
  4006. items:
  4007. description: A null or empty node
  4008. selector term matches no objects.
  4009. The requirements of them are ANDed.
  4010. The TopologySelectorTerm type
  4011. implements a subset of the NodeSelectorTerm.
  4012. type: object
  4013. properties:
  4014. matchExpressions:
  4015. description: A list of node
  4016. selector requirements by node's
  4017. labels.
  4018. type: array
  4019. items:
  4020. description: A node selector
  4021. requirement is a selector
  4022. that contains values, a
  4023. key, and an operator that
  4024. relates the key and values.
  4025. type: object
  4026. required:
  4027. - key
  4028. - operator
  4029. properties:
  4030. key:
  4031. description: The label
  4032. key that the selector
  4033. applies to.
  4034. type: string
  4035. operator:
  4036. description: Represents
  4037. a key's relationship
  4038. to a set of values.
  4039. Valid operators are
  4040. In, NotIn, Exists, DoesNotExist.
  4041. Gt, and Lt.
  4042. type: string
  4043. values:
  4044. description: An array
  4045. of string values. If
  4046. the operator is In or
  4047. NotIn, the values array
  4048. must be non-empty. If
  4049. the operator is Exists
  4050. or DoesNotExist, the
  4051. values array must be
  4052. empty. If the operator
  4053. is Gt or Lt, the values
  4054. array must have a single
  4055. element, which will
  4056. be interpreted as an
  4057. integer. This array
  4058. is replaced during a
  4059. strategic merge patch.
  4060. type: array
  4061. items:
  4062. type: string
  4063. matchFields:
  4064. description: A list of node
  4065. selector requirements by node's
  4066. fields.
  4067. type: array
  4068. items:
  4069. description: A node selector
  4070. requirement is a selector
  4071. that contains values, a
  4072. key, and an operator that
  4073. relates the key and values.
  4074. type: object
  4075. required:
  4076. - key
  4077. - operator
  4078. properties:
  4079. key:
  4080. description: The label
  4081. key that the selector
  4082. applies to.
  4083. type: string
  4084. operator:
  4085. description: Represents
  4086. a key's relationship
  4087. to a set of values.
  4088. Valid operators are
  4089. In, NotIn, Exists, DoesNotExist.
  4090. Gt, and Lt.
  4091. type: string
  4092. values:
  4093. description: An array
  4094. of string values. If
  4095. the operator is In or
  4096. NotIn, the values array
  4097. must be non-empty. If
  4098. the operator is Exists
  4099. or DoesNotExist, the
  4100. values array must be
  4101. empty. If the operator
  4102. is Gt or Lt, the values
  4103. array must have a single
  4104. element, which will
  4105. be interpreted as an
  4106. integer. This array
  4107. is replaced during a
  4108. strategic merge patch.
  4109. type: array
  4110. items:
  4111. type: string
  4112. podAffinity:
  4113. description: Describes pod affinity scheduling
  4114. rules (e.g. co-locate this pod in the same
  4115. node, zone, etc. as some other pod(s)).
  4116. type: object
  4117. properties:
  4118. preferredDuringSchedulingIgnoredDuringExecution:
  4119. description: The scheduler will prefer
  4120. to schedule pods to nodes that satisfy
  4121. the affinity expressions specified by
  4122. this field, but it may choose a node
  4123. that violates one or more of the expressions.
  4124. The node that is most preferred is the
  4125. one with the greatest sum of weights,
  4126. i.e. for each node that meets all of
  4127. the scheduling requirements (resource
  4128. request, requiredDuringScheduling affinity
  4129. expressions, etc.), compute a sum by
  4130. iterating through the elements of this
  4131. field and adding "weight" to the sum
  4132. if the node has pods which matches the
  4133. corresponding podAffinityTerm; the node(s)
  4134. with the highest sum are the most preferred.
  4135. type: array
  4136. items:
  4137. description: The weights of all of the
  4138. matched WeightedPodAffinityTerm fields
  4139. are added per-node to find the most
  4140. preferred node(s)
  4141. type: object
  4142. required:
  4143. - podAffinityTerm
  4144. - weight
  4145. properties:
  4146. podAffinityTerm:
  4147. description: Required. A pod affinity
  4148. term, associated with the corresponding
  4149. weight.
  4150. type: object
  4151. required:
  4152. - topologyKey
  4153. properties:
  4154. labelSelector:
  4155. description: A label query over
  4156. a set of resources, in this
  4157. case pods.
  4158. type: object
  4159. properties:
  4160. matchExpressions:
  4161. description: matchExpressions
  4162. is a list of label selector
  4163. requirements. The requirements
  4164. are ANDed.
  4165. type: array
  4166. items:
  4167. description: A label selector
  4168. requirement is a selector
  4169. that contains values,
  4170. a key, and an operator
  4171. that relates the key
  4172. and values.
  4173. type: object
  4174. required:
  4175. - key
  4176. - operator
  4177. properties:
  4178. key:
  4179. description: key is
  4180. the label key that
  4181. the selector applies
  4182. to.
  4183. type: string
  4184. operator:
  4185. description: operator
  4186. represents a key's
  4187. relationship to
  4188. a set of values.
  4189. Valid operators
  4190. are In, NotIn, Exists
  4191. and DoesNotExist.
  4192. type: string
  4193. values:
  4194. description: values
  4195. is an array of string
  4196. values. If the operator
  4197. is In or NotIn,
  4198. the values array
  4199. must be non-empty.
  4200. If the operator
  4201. is Exists or DoesNotExist,
  4202. the values array
  4203. must be empty. This
  4204. array is replaced
  4205. during a strategic
  4206. merge patch.
  4207. type: array
  4208. items:
  4209. type: string
  4210. matchLabels:
  4211. description: matchLabels
  4212. is a map of {key,value}
  4213. pairs. A single {key,value}
  4214. in the matchLabels map
  4215. is equivalent to an element
  4216. of matchExpressions, whose
  4217. key field is "key", the
  4218. operator is "In", and
  4219. the values array contains
  4220. only "value". The requirements
  4221. are ANDed.
  4222. type: object
  4223. additionalProperties:
  4224. type: string
  4225. namespaces:
  4226. description: namespaces specifies
  4227. which namespaces the labelSelector
  4228. applies to (matches against);
  4229. null or empty list means "this
  4230. pod's namespace"
  4231. type: array
  4232. items:
  4233. type: string
  4234. topologyKey:
  4235. description: This pod should
  4236. be co-located (affinity) or
  4237. not co-located (anti-affinity)
  4238. with the pods matching the
  4239. labelSelector in the specified
  4240. namespaces, where co-located
  4241. is defined as running on a
  4242. node whose value of the label
  4243. with key topologyKey matches
  4244. that of any node on which
  4245. any of the selected pods is
  4246. running. Empty topologyKey
  4247. is not allowed.
  4248. type: string
  4249. weight:
  4250. description: weight associated with
  4251. matching the corresponding podAffinityTerm,
  4252. in the range 1-100.
  4253. type: integer
  4254. format: int32
  4255. requiredDuringSchedulingIgnoredDuringExecution:
  4256. description: If the affinity requirements
  4257. specified by this field are not met
  4258. at scheduling time, the pod will not
  4259. be scheduled onto the node. If the affinity
  4260. requirements specified by this field
  4261. cease to be met at some point during
  4262. pod execution (e.g. due to a pod label
  4263. update), the system may or may not try
  4264. to eventually evict the pod from its
  4265. node. When there are multiple elements,
  4266. the lists of nodes corresponding to
  4267. each podAffinityTerm are intersected,
  4268. i.e. all terms must be satisfied.
  4269. type: array
  4270. items:
  4271. description: Defines a set of pods (namely
  4272. those matching the labelSelector relative
  4273. to the given namespace(s)) that this
  4274. pod should be co-located (affinity)
  4275. or not co-located (anti-affinity)
  4276. with, where co-located is defined
  4277. as running on a node whose value of
  4278. the label with key <topologyKey> matches
  4279. that of any node on which a pod of
  4280. the set of pods is running
  4281. type: object
  4282. required:
  4283. - topologyKey
  4284. properties:
  4285. labelSelector:
  4286. description: A label query over
  4287. a set of resources, in this case
  4288. pods.
  4289. type: object
  4290. properties:
  4291. matchExpressions:
  4292. description: matchExpressions
  4293. is a list of label selector
  4294. requirements. The requirements
  4295. are ANDed.
  4296. type: array
  4297. items:
  4298. description: A label selector
  4299. requirement is a selector
  4300. that contains values, a
  4301. key, and an operator that
  4302. relates the key and values.
  4303. type: object
  4304. required:
  4305. - key
  4306. - operator
  4307. properties:
  4308. key:
  4309. description: key is the
  4310. label key that the selector
  4311. applies to.
  4312. type: string
  4313. operator:
  4314. description: operator
  4315. represents a key's relationship
  4316. to a set of values.
  4317. Valid operators are
  4318. In, NotIn, Exists and
  4319. DoesNotExist.
  4320. type: string
  4321. values:
  4322. description: values is
  4323. an array of string values.
  4324. If the operator is In
  4325. or NotIn, the values
  4326. array must be non-empty.
  4327. If the operator is Exists
  4328. or DoesNotExist, the
  4329. values array must be
  4330. empty. This array is
  4331. replaced during a strategic
  4332. merge patch.
  4333. type: array
  4334. items:
  4335. type: string
  4336. matchLabels:
  4337. description: matchLabels is
  4338. a map of {key,value} pairs.
  4339. A single {key,value} in the
  4340. matchLabels map is equivalent
  4341. to an element of matchExpressions,
  4342. whose key field is "key",
  4343. the operator is "In", and
  4344. the values array contains
  4345. only "value". The requirements
  4346. are ANDed.
  4347. type: object
  4348. additionalProperties:
  4349. type: string
  4350. namespaces:
  4351. description: namespaces specifies
  4352. which namespaces the labelSelector
  4353. applies to (matches against);
  4354. null or empty list means "this
  4355. pod's namespace"
  4356. type: array
  4357. items:
  4358. type: string
  4359. topologyKey:
  4360. description: This pod should be
  4361. co-located (affinity) or not co-located
  4362. (anti-affinity) with the pods
  4363. matching the labelSelector in
  4364. the specified namespaces, where
  4365. co-located is defined as running
  4366. on a node whose value of the label
  4367. with key topologyKey matches that
  4368. of any node on which any of the
  4369. selected pods is running. Empty
  4370. topologyKey is not allowed.
  4371. type: string
  4372. podAntiAffinity:
  4373. description: Describes pod anti-affinity scheduling
  4374. rules (e.g. avoid putting this pod in the
  4375. same node, zone, etc. as some other pod(s)).
  4376. type: object
  4377. properties:
  4378. preferredDuringSchedulingIgnoredDuringExecution:
  4379. description: The scheduler will prefer
  4380. to schedule pods to nodes that satisfy
  4381. the anti-affinity expressions specified
  4382. by this field, but it may choose a node
  4383. that violates one or more of the expressions.
  4384. The node that is most preferred is the
  4385. one with the greatest sum of weights,
  4386. i.e. for each node that meets all of
  4387. the scheduling requirements (resource
  4388. request, requiredDuringScheduling anti-affinity
  4389. expressions, etc.), compute a sum by
  4390. iterating through the elements of this
  4391. field and adding "weight" to the sum
  4392. if the node has pods which matches the
  4393. corresponding podAffinityTerm; the node(s)
  4394. with the highest sum are the most preferred.
  4395. type: array
  4396. items:
  4397. description: The weights of all of the
  4398. matched WeightedPodAffinityTerm fields
  4399. are added per-node to find the most
  4400. preferred node(s)
  4401. type: object
  4402. required:
  4403. - podAffinityTerm
  4404. - weight
  4405. properties:
  4406. podAffinityTerm:
  4407. description: Required. A pod affinity
  4408. term, associated with the corresponding
  4409. weight.
  4410. type: object
  4411. required:
  4412. - topologyKey
  4413. properties:
  4414. labelSelector:
  4415. description: A label query over
  4416. a set of resources, in this
  4417. case pods.
  4418. type: object
  4419. properties:
  4420. matchExpressions:
  4421. description: matchExpressions
  4422. is a list of label selector
  4423. requirements. The requirements
  4424. are ANDed.
  4425. type: array
  4426. items:
  4427. description: A label selector
  4428. requirement is a selector
  4429. that contains values,
  4430. a key, and an operator
  4431. that relates the key
  4432. and values.
  4433. type: object
  4434. required:
  4435. - key
  4436. - operator
  4437. properties:
  4438. key:
  4439. description: key is
  4440. the label key that
  4441. the selector applies
  4442. to.
  4443. type: string
  4444. operator:
  4445. description: operator
  4446. represents a key's
  4447. relationship to
  4448. a set of values.
  4449. Valid operators
  4450. are In, NotIn, Exists
  4451. and DoesNotExist.
  4452. type: string
  4453. values:
  4454. description: values
  4455. is an array of string
  4456. values. If the operator
  4457. is In or NotIn,
  4458. the values array
  4459. must be non-empty.
  4460. If the operator
  4461. is Exists or DoesNotExist,
  4462. the values array
  4463. must be empty. This
  4464. array is replaced
  4465. during a strategic
  4466. merge patch.
  4467. type: array
  4468. items:
  4469. type: string
  4470. matchLabels:
  4471. description: matchLabels
  4472. is a map of {key,value}
  4473. pairs. A single {key,value}
  4474. in the matchLabels map
  4475. is equivalent to an element
  4476. of matchExpressions, whose
  4477. key field is "key", the
  4478. operator is "In", and
  4479. the values array contains
  4480. only "value". The requirements
  4481. are ANDed.
  4482. type: object
  4483. additionalProperties:
  4484. type: string
  4485. namespaces:
  4486. description: namespaces specifies
  4487. which namespaces the labelSelector
  4488. applies to (matches against);
  4489. null or empty list means "this
  4490. pod's namespace"
  4491. type: array
  4492. items:
  4493. type: string
  4494. topologyKey:
  4495. description: This pod should
  4496. be co-located (affinity) or
  4497. not co-located (anti-affinity)
  4498. with the pods matching the
  4499. labelSelector in the specified
  4500. namespaces, where co-located
  4501. is defined as running on a
  4502. node whose value of the label
  4503. with key topologyKey matches
  4504. that of any node on which
  4505. any of the selected pods is
  4506. running. Empty topologyKey
  4507. is not allowed.
  4508. type: string
  4509. weight:
  4510. description: weight associated with
  4511. matching the corresponding podAffinityTerm,
  4512. in the range 1-100.
  4513. type: integer
  4514. format: int32
  4515. requiredDuringSchedulingIgnoredDuringExecution:
  4516. description: If the anti-affinity requirements
  4517. specified by this field are not met
  4518. at scheduling time, the pod will not
  4519. be scheduled onto the node. If the anti-affinity
  4520. requirements specified by this field
  4521. cease to be met at some point during
  4522. pod execution (e.g. due to a pod label
  4523. update), the system may or may not try
  4524. to eventually evict the pod from its
  4525. node. When there are multiple elements,
  4526. the lists of nodes corresponding to
  4527. each podAffinityTerm are intersected,
  4528. i.e. all terms must be satisfied.
  4529. type: array
  4530. items:
  4531. description: Defines a set of pods (namely
  4532. those matching the labelSelector relative
  4533. to the given namespace(s)) that this
  4534. pod should be co-located (affinity)
  4535. or not co-located (anti-affinity)
  4536. with, where co-located is defined
  4537. as running on a node whose value of
  4538. the label with key <topologyKey> matches
  4539. that of any node on which a pod of
  4540. the set of pods is running
  4541. type: object
  4542. required:
  4543. - topologyKey
  4544. properties:
  4545. labelSelector:
  4546. description: A label query over
  4547. a set of resources, in this case
  4548. pods.
  4549. type: object
  4550. properties:
  4551. matchExpressions:
  4552. description: matchExpressions
  4553. is a list of label selector
  4554. requirements. The requirements
  4555. are ANDed.
  4556. type: array
  4557. items:
  4558. description: A label selector
  4559. requirement is a selector
  4560. that contains values, a
  4561. key, and an operator that
  4562. relates the key and values.
  4563. type: object
  4564. required:
  4565. - key
  4566. - operator
  4567. properties:
  4568. key:
  4569. description: key is the
  4570. label key that the selector
  4571. applies to.
  4572. type: string
  4573. operator:
  4574. description: operator
  4575. represents a key's relationship
  4576. to a set of values.
  4577. Valid operators are
  4578. In, NotIn, Exists and
  4579. DoesNotExist.
  4580. type: string
  4581. values:
  4582. description: values is
  4583. an array of string values.
  4584. If the operator is In
  4585. or NotIn, the values
  4586. array must be non-empty.
  4587. If the operator is Exists
  4588. or DoesNotExist, the
  4589. values array must be
  4590. empty. This array is
  4591. replaced during a strategic
  4592. merge patch.
  4593. type: array
  4594. items:
  4595. type: string
  4596. matchLabels:
  4597. description: matchLabels is
  4598. a map of {key,value} pairs.
  4599. A single {key,value} in the
  4600. matchLabels map is equivalent
  4601. to an element of matchExpressions,
  4602. whose key field is "key",
  4603. the operator is "In", and
  4604. the values array contains
  4605. only "value". The requirements
  4606. are ANDed.
  4607. type: object
  4608. additionalProperties:
  4609. type: string
  4610. namespaces:
  4611. description: namespaces specifies
  4612. which namespaces the labelSelector
  4613. applies to (matches against);
  4614. null or empty list means "this
  4615. pod's namespace"
  4616. type: array
  4617. items:
  4618. type: string
  4619. topologyKey:
  4620. description: This pod should be
  4621. co-located (affinity) or not co-located
  4622. (anti-affinity) with the pods
  4623. matching the labelSelector in
  4624. the specified namespaces, where
  4625. co-located is defined as running
  4626. on a node whose value of the label
  4627. with key topologyKey matches that
  4628. of any node on which any of the
  4629. selected pods is running. Empty
  4630. topologyKey is not allowed.
  4631. type: string
  4632. nodeSelector:
  4633. description: 'NodeSelector is a selector which
  4634. must be true for the pod to fit on a node. Selector
  4635. which must match a node''s labels for the pod
  4636. to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  4637. type: object
  4638. additionalProperties:
  4639. type: string
  4640. tolerations:
  4641. description: If specified, the pod's tolerations.
  4642. type: array
  4643. items:
  4644. description: The pod this Toleration is attached
  4645. to tolerates any taint that matches the triple
  4646. <key,value,effect> using the matching operator
  4647. <operator>.
  4648. type: object
  4649. properties:
  4650. effect:
  4651. description: Effect indicates the taint
  4652. effect to match. Empty means match all
  4653. taint effects. When specified, allowed
  4654. values are NoSchedule, PreferNoSchedule
  4655. and NoExecute.
  4656. type: string
  4657. key:
  4658. description: Key is the taint key that the
  4659. toleration applies to. Empty means match
  4660. all taint keys. If the key is empty, operator
  4661. must be Exists; this combination means
  4662. to match all values and all keys.
  4663. type: string
  4664. operator:
  4665. description: Operator represents a key's
  4666. relationship to the value. Valid operators
  4667. are Exists and Equal. Defaults to Equal.
  4668. Exists is equivalent to wildcard for value,
  4669. so that a pod can tolerate all taints
  4670. of a particular category.
  4671. type: string
  4672. tolerationSeconds:
  4673. description: TolerationSeconds represents
  4674. the period of time the toleration (which
  4675. must be of effect NoExecute, otherwise
  4676. this field is ignored) tolerates the taint.
  4677. By default, it is not set, which means
  4678. tolerate the taint forever (do not evict).
  4679. Zero and negative values will be treated
  4680. as 0 (evict immediately) by the system.
  4681. type: integer
  4682. format: int64
  4683. value:
  4684. description: Value is the taint value the
  4685. toleration matches to. If the operator
  4686. is Exists, the value should be empty,
  4687. otherwise just a regular string.
  4688. type: string
  4689. serviceType:
  4690. description: Optional service type for Kubernetes solver
  4691. service
  4692. type: string
  4693. selector:
  4694. description: Selector selects a set of DNSNames on the Certificate
  4695. resource that should be solved using this challenge solver.
  4696. If not specified, the solver will be treated as the 'default'
  4697. solver with the lowest priority, i.e. if any other solver has
  4698. a more specific match, it will be used instead.
  4699. type: object
  4700. properties:
  4701. dnsNames:
  4702. description: List of DNSNames that this solver will be used
  4703. to solve. If specified and a match is found, a dnsNames
  4704. selector will take precedence over a dnsZones selector.
  4705. If multiple solvers match with the same dnsNames value,
  4706. the solver with the most matching labels in matchLabels
  4707. will be selected. If neither has more matches, the solver
  4708. defined earlier in the list will be selected.
  4709. type: array
  4710. items:
  4711. type: string
  4712. dnsZones:
  4713. description: List of DNSZones that this solver will be used
  4714. to solve. The most specific DNS zone match specified here
  4715. will take precedence over other DNS zone matches, so a solver
  4716. specifying sys.example.com will be selected over one specifying
  4717. example.com for the domain www.sys.example.com. If multiple
  4718. solvers match with the same dnsZones value, the solver with
  4719. the most matching labels in matchLabels will be selected.
  4720. If neither has more matches, the solver defined earlier
  4721. in the list will be selected.
  4722. type: array
  4723. items:
  4724. type: string
  4725. matchLabels:
  4726. description: A label selector that is used to refine the set
  4727. of certificate's that this challenge solver will apply to.
  4728. type: object
  4729. additionalProperties:
  4730. type: string
  4731. token:
  4732. description: Token is the ACME challenge token for this challenge.
  4733. This is the raw value returned from the ACME server.
  4734. type: string
  4735. type:
  4736. description: Type is the type of ACME challenge this resource represents.
  4737. One of "http-01" or "dns-01".
  4738. type: string
  4739. enum:
  4740. - http-01
  4741. - dns-01
  4742. url:
  4743. description: URL is the URL of the ACME Challenge resource for this
  4744. challenge. This can be used to lookup details about the status of
  4745. this challenge.
  4746. type: string
  4747. wildcard:
  4748. description: Wildcard will be true if this challenge is for a wildcard
  4749. identifier, for example '*.example.com'.
  4750. type: boolean
  4751. status:
  4752. type: object
  4753. properties:
  4754. presented:
  4755. description: Presented will be set to true if the challenge values
  4756. for this challenge are currently 'presented'. This *does not* imply
  4757. the self check is passing. Only that the values have been 'submitted'
  4758. for the appropriate challenge mechanism (i.e. the DNS01 TXT record
  4759. has been presented, or the HTTP01 configuration has been configured).
  4760. type: boolean
  4761. processing:
  4762. description: Processing is used to denote whether this challenge should
  4763. be processed or not. This field will only be set to true by the
  4764. 'scheduling' component. It will only be set to false by the 'challenges'
  4765. controller, after the challenge has reached a final state or timed
  4766. out. If this field is set to false, the challenge controller will
  4767. not take any more action.
  4768. type: boolean
  4769. reason:
  4770. description: Reason contains human readable information on why the
  4771. Challenge is in the current state.
  4772. type: string
  4773. state:
  4774. description: State contains the current 'state' of the challenge.
  4775. If not set, the state of the challenge is unknown.
  4776. type: string
  4777. enum:
  4778. - valid
  4779. - ready
  4780. - pending
  4781. - processing
  4782. - invalid
  4783. - expired
  4784. - errored
  4785. - name: v1
  4786. served: true
  4787. storage: false
  4788. "schema":
  4789. "openAPIV3Schema":
  4790. description: Challenge is a type to represent a Challenge request with an
  4791. ACME server
  4792. type: object
  4793. required:
  4794. - metadata
  4795. - spec
  4796. properties:
  4797. apiVersion:
  4798. description: 'APIVersion defines the versioned schema of this representation
  4799. of an object. Servers should convert recognized schemas to the latest
  4800. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4801. type: string
  4802. kind:
  4803. description: 'Kind is a string value representing the REST resource this
  4804. object represents. Servers may infer this from the endpoint the client
  4805. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4806. type: string
  4807. metadata:
  4808. type: object
  4809. spec:
  4810. type: object
  4811. required:
  4812. - authorizationURL
  4813. - dnsName
  4814. - issuerRef
  4815. - key
  4816. - solver
  4817. - token
  4818. - type
  4819. - url
  4820. properties:
  4821. authorizationURL:
  4822. description: The URL to the ACME Authorization resource that this
  4823. challenge is a part of.
  4824. type: string
  4825. dnsName:
  4826. description: dnsName is the identifier that this challenge is for,
  4827. e.g. example.com. If the requested DNSName is a 'wildcard', this
  4828. field MUST be set to the non-wildcard domain, e.g. for `*.example.com`,
  4829. it must be `example.com`.
  4830. type: string
  4831. issuerRef:
  4832. description: References a properly configured ACME-type Issuer which
  4833. should be used to create this Challenge. If the Issuer does not
  4834. exist, processing will be retried. If the Issuer is not an 'ACME'
  4835. Issuer, an error will be returned and the Challenge will be marked
  4836. as failed.
  4837. type: object
  4838. required:
  4839. - name
  4840. properties:
  4841. group:
  4842. description: Group of the resource being referred to.
  4843. type: string
  4844. kind:
  4845. description: Kind of the resource being referred to.
  4846. type: string
  4847. name:
  4848. description: Name of the resource being referred to.
  4849. type: string
  4850. key:
  4851. description: 'The ACME challenge key for this challenge For HTTP01
  4852. challenges, this is the value that must be responded with to complete
  4853. the HTTP01 challenge in the format: `<private key JWK thumbprint>.<key
  4854. from acme server for challenge>`. For DNS01 challenges, this is
  4855. the base64 encoded SHA256 sum of the `<private key JWK thumbprint>.<key
  4856. from acme server for challenge>` text that must be set as the TXT
  4857. record content.'
  4858. type: string
  4859. solver:
  4860. description: Contains the domain solving configuration that should
  4861. be used to solve this challenge resource.
  4862. type: object
  4863. properties:
  4864. dns01:
  4865. description: Configures cert-manager to attempt to complete authorizations
  4866. by performing the DNS01 challenge flow.
  4867. type: object
  4868. properties:
  4869. acmeDNS:
  4870. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  4871. API to manage DNS01 challenge records.
  4872. type: object
  4873. required:
  4874. - accountSecretRef
  4875. - host
  4876. properties:
  4877. accountSecretRef:
  4878. description: A reference to a specific 'key' within a
  4879. Secret resource. In some instances, `key` is a required
  4880. field.
  4881. type: object
  4882. required:
  4883. - name
  4884. properties:
  4885. key:
  4886. description: The key of the entry in the Secret resource's
  4887. `data` field to be used. Some instances of this
  4888. field may be defaulted, in others it may be required.
  4889. type: string
  4890. name:
  4891. description: 'Name of the resource being referred
  4892. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4893. type: string
  4894. host:
  4895. type: string
  4896. akamai:
  4897. description: Use the Akamai DNS zone management API to manage
  4898. DNS01 challenge records.
  4899. type: object
  4900. required:
  4901. - accessTokenSecretRef
  4902. - clientSecretSecretRef
  4903. - clientTokenSecretRef
  4904. - serviceConsumerDomain
  4905. properties:
  4906. accessTokenSecretRef:
  4907. description: A reference to a specific 'key' within a
  4908. Secret resource. In some instances, `key` is a required
  4909. field.
  4910. type: object
  4911. required:
  4912. - name
  4913. properties:
  4914. key:
  4915. description: The key of the entry in the Secret resource's
  4916. `data` field to be used. Some instances of this
  4917. field may be defaulted, in others it may be required.
  4918. type: string
  4919. name:
  4920. description: 'Name of the resource being referred
  4921. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4922. type: string
  4923. clientSecretSecretRef:
  4924. description: A reference to a specific 'key' within a
  4925. Secret resource. In some instances, `key` is a required
  4926. field.
  4927. type: object
  4928. required:
  4929. - name
  4930. properties:
  4931. key:
  4932. description: The key of the entry in the Secret resource's
  4933. `data` field to be used. Some instances of this
  4934. field may be defaulted, in others it may be required.
  4935. type: string
  4936. name:
  4937. description: 'Name of the resource being referred
  4938. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4939. type: string
  4940. clientTokenSecretRef:
  4941. description: A reference to a specific 'key' within a
  4942. Secret resource. In some instances, `key` is a required
  4943. field.
  4944. type: object
  4945. required:
  4946. - name
  4947. properties:
  4948. key:
  4949. description: The key of the entry in the Secret resource's
  4950. `data` field to be used. Some instances of this
  4951. field may be defaulted, in others it may be required.
  4952. type: string
  4953. name:
  4954. description: 'Name of the resource being referred
  4955. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4956. type: string
  4957. serviceConsumerDomain:
  4958. type: string
  4959. azureDNS:
  4960. description: Use the Microsoft Azure DNS API to manage DNS01
  4961. challenge records.
  4962. type: object
  4963. required:
  4964. - resourceGroupName
  4965. - subscriptionID
  4966. properties:
  4967. clientID:
  4968. description: if both this and ClientSecret are left unset
  4969. MSI will be used
  4970. type: string
  4971. clientSecretSecretRef:
  4972. description: if both this and ClientID are left unset
  4973. MSI will be used
  4974. type: object
  4975. required:
  4976. - name
  4977. properties:
  4978. key:
  4979. description: The key of the entry in the Secret resource's
  4980. `data` field to be used. Some instances of this
  4981. field may be defaulted, in others it may be required.
  4982. type: string
  4983. name:
  4984. description: 'Name of the resource being referred
  4985. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4986. type: string
  4987. environment:
  4988. type: string
  4989. enum:
  4990. - AzurePublicCloud
  4991. - AzureChinaCloud
  4992. - AzureGermanCloud
  4993. - AzureUSGovernmentCloud
  4994. hostedZoneName:
  4995. type: string
  4996. resourceGroupName:
  4997. type: string
  4998. subscriptionID:
  4999. type: string
  5000. tenantID:
  5001. description: when specifying ClientID and ClientSecret
  5002. then this field is also needed
  5003. type: string
  5004. cloudDNS:
  5005. description: Use the Google Cloud DNS API to manage DNS01
  5006. challenge records.
  5007. type: object
  5008. required:
  5009. - project
  5010. properties:
  5011. hostedZoneName:
  5012. description: HostedZoneName is an optional field that
  5013. tells cert-manager in which Cloud DNS zone the challenge
  5014. record has to be created. If left empty cert-manager
  5015. will automatically choose a zone.
  5016. type: string
  5017. project:
  5018. type: string
  5019. serviceAccountSecretRef:
  5020. description: A reference to a specific 'key' within a
  5021. Secret resource. In some instances, `key` is a required
  5022. field.
  5023. type: object
  5024. required:
  5025. - name
  5026. properties:
  5027. key:
  5028. description: The key of the entry in the Secret resource's
  5029. `data` field to be used. Some instances of this
  5030. field may be defaulted, in others it may be required.
  5031. type: string
  5032. name:
  5033. description: 'Name of the resource being referred
  5034. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  5035. type: string
  5036. cloudflare:
  5037. description: Use the Cloudflare API to manage DNS01 challenge
  5038. records.
  5039. type: object
  5040. properties:
  5041. apiKeySecretRef:
  5042. description: 'API key to use to authenticate with Cloudflare.
  5043. Note: using an API token to authenticate is now the
  5044. recommended method as it allows greater control of permissions.'
  5045. type: object
  5046. required:
  5047. - name
  5048. properties:
  5049. key:
  5050. description: The key of the entry in the Secret resource's
  5051. `data` field to be used. Some instances of this
  5052. field may be defaulted, in others it may be required.
  5053. type: string
  5054. name:
  5055. description: 'Name of the resource being referred
  5056. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  5057. type: string
  5058. apiTokenSecretRef:
  5059. description: API token used to authenticate with Cloudflare.
  5060. type: object
  5061. required:
  5062. - name
  5063. properties:
  5064. key:
  5065. description: The key of the entry in the Secret resource's
  5066. `data` field to be used. Some instances of this
  5067. field may be defaulted, in others it may be required.
  5068. type: string
  5069. name:
  5070. description: 'Name of the resource being referred
  5071. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  5072. type: string
  5073. email:
  5074. description: Email of the account, only required when
  5075. using API key based authentication.
  5076. type: string
  5077. cnameStrategy:
  5078. description: CNAMEStrategy configures how the DNS01 provider
  5079. should handle CNAME records when found in DNS zones.
  5080. type: string
  5081. enum:
  5082. - None
  5083. - Follow
  5084. digitalocean:
  5085. description: Use the DigitalOcean DNS API to manage DNS01
  5086. challenge records.
  5087. type: object
  5088. required:
  5089. - tokenSecretRef
  5090. properties:
  5091. tokenSecretRef:
  5092. description: A reference to a specific 'key' within a
  5093. Secret resource. In some instances, `key` is a required
  5094. field.
  5095. type: object
  5096. required:
  5097. - name
  5098. properties:
  5099. key:
  5100. description: The key of the entry in the Secret resource's
  5101. `data` field to be used. Some instances of this
  5102. field may be defaulted, in others it may be required.
  5103. type: string
  5104. name:
  5105. description: 'Name of the resource being referred
  5106. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  5107. type: string
  5108. rfc2136:
  5109. description: Use RFC2136 ("Dynamic Updates in the Domain Name
  5110. System") (https://datatracker.ietf.org/doc/rfc2136/) to
  5111. manage DNS01 challenge records.
  5112. type: object
  5113. required:
  5114. - nameserver
  5115. properties:
  5116. nameserver:
  5117. description: The IP address or hostname of an authoritative
  5118. DNS server supporting RFC2136 in the form host:port.
  5119. If the host is an IPv6 address it must be enclosed in
  5120. square brackets (e.g [2001:db8::1]) ; port is optional.
  5121. This field is required.
  5122. type: string
  5123. tsigAlgorithm:
  5124. description: 'The TSIG Algorithm configured in the DNS
  5125. supporting RFC2136. Used only when ``tsigSecretSecretRef``
  5126. and ``tsigKeyName`` are defined. Supported values are
  5127. (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``,
  5128. ``HMACSHA256`` or ``HMACSHA512``.'
  5129. type: string
  5130. tsigKeyName:
  5131. description: The TSIG Key name configured in the DNS.
  5132. If ``tsigSecretSecretRef`` is defined, this field is
  5133. required.
  5134. type: string
  5135. tsigSecretSecretRef:
  5136. description: The name of the secret containing the TSIG
  5137. value. If ``tsigKeyName`` is defined, this field is
  5138. required.
  5139. type: object
  5140. required:
  5141. - name
  5142. properties:
  5143. key:
  5144. description: The key of the entry in the Secret resource's
  5145. `data` field to be used. Some instances of this
  5146. field may be defaulted, in others it may be required.
  5147. type: string
  5148. name:
  5149. description: 'Name of the resource being referred
  5150. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  5151. type: string
  5152. route53:
  5153. description: Use the AWS Route53 API to manage DNS01 challenge
  5154. records.
  5155. type: object
  5156. required:
  5157. - region
  5158. properties:
  5159. accessKeyID:
  5160. description: 'The AccessKeyID is used for authentication.
  5161. If not set we fall-back to using env vars, shared credentials
  5162. file or AWS Instance metadata see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  5163. type: string
  5164. hostedZoneID:
  5165. description: If set, the provider will manage only this
  5166. zone in Route53 and will not do an lookup using the
  5167. route53:ListHostedZonesByName api call.
  5168. type: string
  5169. region:
  5170. description: Always set the region when using AccessKeyID
  5171. and SecretAccessKey
  5172. type: string
  5173. role:
  5174. description: Role is a Role ARN which the Route53 provider
  5175. will assume using either the explicit credentials AccessKeyID/SecretAccessKey
  5176. or the inferred credentials from environment variables,
  5177. shared credentials file or AWS Instance metadata
  5178. type: string
  5179. secretAccessKeySecretRef:
  5180. description: The SecretAccessKey is used for authentication.
  5181. If not set we fall-back to using env vars, shared credentials
  5182. file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  5183. type: object
  5184. required:
  5185. - name
  5186. properties:
  5187. key:
  5188. description: The key of the entry in the Secret resource's
  5189. `data` field to be used. Some instances of this
  5190. field may be defaulted, in others it may be required.
  5191. type: string
  5192. name:
  5193. description: 'Name of the resource being referred
  5194. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  5195. type: string
  5196. webhook:
  5197. description: Configure an external webhook based DNS01 challenge
  5198. solver to manage DNS01 challenge records.
  5199. type: object
  5200. required:
  5201. - groupName
  5202. - solverName
  5203. properties:
  5204. config:
  5205. description: Additional configuration that should be passed
  5206. to the webhook apiserver when challenges are processed.
  5207. This can contain arbitrary JSON data. Secret values
  5208. should not be specified in this stanza. If secret values
  5209. are needed (e.g. credentials for a DNS service), you
  5210. should use a SecretKeySelector to reference a Secret
  5211. resource. For details on the schema of this field, consult
  5212. the webhook provider implementation's documentation.
  5213. x-kubernetes-preserve-unknown-fields: true
  5214. groupName:
  5215. description: The API group name that should be used when
  5216. POSTing ChallengePayload resources to the webhook apiserver.
  5217. This should be the same as the GroupName specified in
  5218. the webhook provider implementation.
  5219. type: string
  5220. solverName:
  5221. description: The name of the solver to use, as defined
  5222. in the webhook provider implementation. This will typically
  5223. be the name of the provider, e.g. 'cloudflare'.
  5224. type: string
  5225. http01:
  5226. description: Configures cert-manager to attempt to complete authorizations
  5227. by performing the HTTP01 challenge flow. It is not possible
  5228. to obtain certificates for wildcard domain names (e.g. `*.example.com`)
  5229. using the HTTP01 challenge mechanism.
  5230. type: object
  5231. properties:
  5232. ingress:
  5233. description: The ingress based HTTP01 challenge solver will
  5234. solve challenges by creating or modifying Ingress resources
  5235. in order to route requests for '/.well-known/acme-challenge/XYZ'
  5236. to 'challenge solver' pods that are provisioned by cert-manager
  5237. for each Challenge to be completed.
  5238. type: object
  5239. properties:
  5240. class:
  5241. description: The ingress class to use when creating Ingress
  5242. resources to solve ACME challenges that use this challenge
  5243. solver. Only one of 'class' or 'name' may be specified.
  5244. type: string
  5245. ingressTemplate:
  5246. description: Optional ingress template used to configure
  5247. the ACME challenge solver ingress used for HTTP01 challenges
  5248. type: object
  5249. properties:
  5250. metadata:
  5251. description: ObjectMeta overrides for the ingress
  5252. used to solve HTTP01 challenges. Only the 'labels'
  5253. and 'annotations' fields may be set. If labels or
  5254. annotations overlap with in-built values, the values
  5255. here will override the in-built values.
  5256. type: object
  5257. properties:
  5258. annotations:
  5259. description: Annotations that should be added
  5260. to the created ACME HTTP01 solver ingress.
  5261. type: object
  5262. additionalProperties:
  5263. type: string
  5264. labels:
  5265. description: Labels that should be added to the
  5266. created ACME HTTP01 solver ingress.
  5267. type: object
  5268. additionalProperties:
  5269. type: string
  5270. name:
  5271. description: The name of the ingress resource that should
  5272. have ACME challenge solving routes inserted into it
  5273. in order to solve HTTP01 challenges. This is typically
  5274. used in conjunction with ingress controllers like ingress-gce,
  5275. which maintains a 1:1 mapping between external IPs and
  5276. ingress resources.
  5277. type: string
  5278. podTemplate:
  5279. description: Optional pod template used to configure the
  5280. ACME challenge solver pods used for HTTP01 challenges
  5281. type: object
  5282. properties:
  5283. metadata:
  5284. description: ObjectMeta overrides for the pod used
  5285. to solve HTTP01 challenges. Only the 'labels' and
  5286. 'annotations' fields may be set. If labels or annotations
  5287. overlap with in-built values, the values here will
  5288. override the in-built values.
  5289. type: object
  5290. properties:
  5291. annotations:
  5292. description: Annotations that should be added
  5293. to the create ACME HTTP01 solver pods.
  5294. type: object
  5295. additionalProperties:
  5296. type: string
  5297. labels:
  5298. description: Labels that should be added to the
  5299. created ACME HTTP01 solver pods.
  5300. type: object
  5301. additionalProperties:
  5302. type: string
  5303. spec:
  5304. description: PodSpec defines overrides for the HTTP01
  5305. challenge solver pod. Only the 'nodeSelector', 'affinity'
  5306. and 'tolerations' fields are supported currently.
  5307. All other fields will be ignored.
  5308. type: object
  5309. properties:
  5310. affinity:
  5311. description: If specified, the pod's scheduling
  5312. constraints
  5313. type: object
  5314. properties:
  5315. nodeAffinity:
  5316. description: Describes node affinity scheduling
  5317. rules for the pod.
  5318. type: object
  5319. properties:
  5320. preferredDuringSchedulingIgnoredDuringExecution:
  5321. description: The scheduler will prefer
  5322. to schedule pods to nodes that satisfy
  5323. the affinity expressions specified by
  5324. this field, but it may choose a node
  5325. that violates one or more of the expressions.
  5326. The node that is most preferred is the
  5327. one with the greatest sum of weights,
  5328. i.e. for each node that meets all of
  5329. the scheduling requirements (resource
  5330. request, requiredDuringScheduling affinity
  5331. expressions, etc.), compute a sum by
  5332. iterating through the elements of this
  5333. field and adding "weight" to the sum
  5334. if the node matches the corresponding
  5335. matchExpressions; the node(s) with the
  5336. highest sum are the most preferred.
  5337. type: array
  5338. items:
  5339. description: An empty preferred scheduling
  5340. term matches all objects with implicit
  5341. weight 0 (i.e. it's a no-op). A null
  5342. preferred scheduling term matches
  5343. no objects (i.e. is also a no-op).
  5344. type: object
  5345. required:
  5346. - preference
  5347. - weight
  5348. properties:
  5349. preference:
  5350. description: A node selector term,
  5351. associated with the corresponding
  5352. weight.
  5353. type: object
  5354. properties:
  5355. matchExpressions:
  5356. description: A list of node
  5357. selector requirements by node's
  5358. labels.
  5359. type: array
  5360. items:
  5361. description: A node selector
  5362. requirement is a selector
  5363. that contains values, a
  5364. key, and an operator that
  5365. relates the key and values.
  5366. type: object
  5367. required:
  5368. - key
  5369. - operator
  5370. properties:
  5371. key:
  5372. description: The label
  5373. key that the selector
  5374. applies to.
  5375. type: string
  5376. operator:
  5377. description: Represents
  5378. a key's relationship
  5379. to a set of values.
  5380. Valid operators are
  5381. In, NotIn, Exists, DoesNotExist.
  5382. Gt, and Lt.
  5383. type: string
  5384. values:
  5385. description: An array
  5386. of string values. If
  5387. the operator is In or
  5388. NotIn, the values array
  5389. must be non-empty. If
  5390. the operator is Exists
  5391. or DoesNotExist, the
  5392. values array must be
  5393. empty. If the operator
  5394. is Gt or Lt, the values
  5395. array must have a single
  5396. element, which will
  5397. be interpreted as an
  5398. integer. This array
  5399. is replaced during a
  5400. strategic merge patch.
  5401. type: array
  5402. items:
  5403. type: string
  5404. matchFields:
  5405. description: A list of node
  5406. selector requirements by node's
  5407. fields.
  5408. type: array
  5409. items:
  5410. description: A node selector
  5411. requirement is a selector
  5412. that contains values, a
  5413. key, and an operator that
  5414. relates the key and values.
  5415. type: object
  5416. required:
  5417. - key
  5418. - operator
  5419. properties:
  5420. key:
  5421. description: The label
  5422. key that the selector
  5423. applies to.
  5424. type: string
  5425. operator:
  5426. description: Represents
  5427. a key's relationship
  5428. to a set of values.
  5429. Valid operators are
  5430. In, NotIn, Exists, DoesNotExist.
  5431. Gt, and Lt.
  5432. type: string
  5433. values:
  5434. description: An array
  5435. of string values. If
  5436. the operator is In or
  5437. NotIn, the values array
  5438. must be non-empty. If
  5439. the operator is Exists
  5440. or DoesNotExist, the
  5441. values array must be
  5442. empty. If the operator
  5443. is Gt or Lt, the values
  5444. array must have a single
  5445. element, which will
  5446. be interpreted as an
  5447. integer. This array
  5448. is replaced during a
  5449. strategic merge patch.
  5450. type: array
  5451. items:
  5452. type: string
  5453. weight:
  5454. description: Weight associated with
  5455. matching the corresponding nodeSelectorTerm,
  5456. in the range 1-100.
  5457. type: integer
  5458. format: int32
  5459. requiredDuringSchedulingIgnoredDuringExecution:
  5460. description: If the affinity requirements
  5461. specified by this field are not met
  5462. at scheduling time, the pod will not
  5463. be scheduled onto the node. If the affinity
  5464. requirements specified by this field
  5465. cease to be met at some point during
  5466. pod execution (e.g. due to an update),
  5467. the system may or may not try to eventually
  5468. evict the pod from its node.
  5469. type: object
  5470. required:
  5471. - nodeSelectorTerms
  5472. properties:
  5473. nodeSelectorTerms:
  5474. description: Required. A list of node
  5475. selector terms. The terms are ORed.
  5476. type: array
  5477. items:
  5478. description: A null or empty node
  5479. selector term matches no objects.
  5480. The requirements of them are ANDed.
  5481. The TopologySelectorTerm type
  5482. implements a subset of the NodeSelectorTerm.
  5483. type: object
  5484. properties:
  5485. matchExpressions:
  5486. description: A list of node
  5487. selector requirements by node's
  5488. labels.
  5489. type: array
  5490. items:
  5491. description: A node selector
  5492. requirement is a selector
  5493. that contains values, a
  5494. key, and an operator that
  5495. relates the key and values.
  5496. type: object
  5497. required:
  5498. - key
  5499. - operator
  5500. properties:
  5501. key:
  5502. description: The label
  5503. key that the selector
  5504. applies to.
  5505. type: string
  5506. operator:
  5507. description: Represents
  5508. a key's relationship
  5509. to a set of values.
  5510. Valid operators are
  5511. In, NotIn, Exists, DoesNotExist.
  5512. Gt, and Lt.
  5513. type: string
  5514. values:
  5515. description: An array
  5516. of string values. If
  5517. the operator is In or
  5518. NotIn, the values array
  5519. must be non-empty. If
  5520. the operator is Exists
  5521. or DoesNotExist, the
  5522. values array must be
  5523. empty. If the operator
  5524. is Gt or Lt, the values
  5525. array must have a single
  5526. element, which will
  5527. be interpreted as an
  5528. integer. This array
  5529. is replaced during a
  5530. strategic merge patch.
  5531. type: array
  5532. items:
  5533. type: string
  5534. matchFields:
  5535. description: A list of node
  5536. selector requirements by node's
  5537. fields.
  5538. type: array
  5539. items:
  5540. description: A node selector
  5541. requirement is a selector
  5542. that contains values, a
  5543. key, and an operator that
  5544. relates the key and values.
  5545. type: object
  5546. required:
  5547. - key
  5548. - operator
  5549. properties:
  5550. key:
  5551. description: The label
  5552. key that the selector
  5553. applies to.
  5554. type: string
  5555. operator:
  5556. description: Represents
  5557. a key's relationship
  5558. to a set of values.
  5559. Valid operators are
  5560. In, NotIn, Exists, DoesNotExist.
  5561. Gt, and Lt.
  5562. type: string
  5563. values:
  5564. description: An array
  5565. of string values. If
  5566. the operator is In or
  5567. NotIn, the values array
  5568. must be non-empty. If
  5569. the operator is Exists
  5570. or DoesNotExist, the
  5571. values array must be
  5572. empty. If the operator
  5573. is Gt or Lt, the values
  5574. array must have a single
  5575. element, which will
  5576. be interpreted as an
  5577. integer. This array
  5578. is replaced during a
  5579. strategic merge patch.
  5580. type: array
  5581. items:
  5582. type: string
  5583. podAffinity:
  5584. description: Describes pod affinity scheduling
  5585. rules (e.g. co-locate this pod in the same
  5586. node, zone, etc. as some other pod(s)).
  5587. type: object
  5588. properties:
  5589. preferredDuringSchedulingIgnoredDuringExecution:
  5590. description: The scheduler will prefer
  5591. to schedule pods to nodes that satisfy
  5592. the affinity expressions specified by
  5593. this field, but it may choose a node
  5594. that violates one or more of the expressions.
  5595. The node that is most preferred is the
  5596. one with the greatest sum of weights,
  5597. i.e. for each node that meets all of
  5598. the scheduling requirements (resource
  5599. request, requiredDuringScheduling affinity
  5600. expressions, etc.), compute a sum by
  5601. iterating through the elements of this
  5602. field and adding "weight" to the sum
  5603. if the node has pods which matches the
  5604. corresponding podAffinityTerm; the node(s)
  5605. with the highest sum are the most preferred.
  5606. type: array
  5607. items:
  5608. description: The weights of all of the
  5609. matched WeightedPodAffinityTerm fields
  5610. are added per-node to find the most
  5611. preferred node(s)
  5612. type: object
  5613. required:
  5614. - podAffinityTerm
  5615. - weight
  5616. properties:
  5617. podAffinityTerm:
  5618. description: Required. A pod affinity
  5619. term, associated with the corresponding
  5620. weight.
  5621. type: object
  5622. required:
  5623. - topologyKey
  5624. properties:
  5625. labelSelector:
  5626. description: A label query over
  5627. a set of resources, in this
  5628. case pods.
  5629. type: object
  5630. properties:
  5631. matchExpressions:
  5632. description: matchExpressions
  5633. is a list of label selector
  5634. requirements. The requirements
  5635. are ANDed.
  5636. type: array
  5637. items:
  5638. description: A label selector
  5639. requirement is a selector
  5640. that contains values,
  5641. a key, and an operator
  5642. that relates the key
  5643. and values.
  5644. type: object
  5645. required:
  5646. - key
  5647. - operator
  5648. properties:
  5649. key:
  5650. description: key is
  5651. the label key that
  5652. the selector applies
  5653. to.
  5654. type: string
  5655. operator:
  5656. description: operator
  5657. represents a key's
  5658. relationship to
  5659. a set of values.
  5660. Valid operators
  5661. are In, NotIn, Exists
  5662. and DoesNotExist.
  5663. type: string
  5664. values:
  5665. description: values
  5666. is an array of string
  5667. values. If the operator
  5668. is In or NotIn,
  5669. the values array
  5670. must be non-empty.
  5671. If the operator
  5672. is Exists or DoesNotExist,
  5673. the values array
  5674. must be empty. This
  5675. array is replaced
  5676. during a strategic
  5677. merge patch.
  5678. type: array
  5679. items:
  5680. type: string
  5681. matchLabels:
  5682. description: matchLabels
  5683. is a map of {key,value}
  5684. pairs. A single {key,value}
  5685. in the matchLabels map
  5686. is equivalent to an element
  5687. of matchExpressions, whose
  5688. key field is "key", the
  5689. operator is "In", and
  5690. the values array contains
  5691. only "value". The requirements
  5692. are ANDed.
  5693. type: object
  5694. additionalProperties:
  5695. type: string
  5696. namespaces:
  5697. description: namespaces specifies
  5698. which namespaces the labelSelector
  5699. applies to (matches against);
  5700. null or empty list means "this
  5701. pod's namespace"
  5702. type: array
  5703. items:
  5704. type: string
  5705. topologyKey:
  5706. description: This pod should
  5707. be co-located (affinity) or
  5708. not co-located (anti-affinity)
  5709. with the pods matching the
  5710. labelSelector in the specified
  5711. namespaces, where co-located
  5712. is defined as running on a
  5713. node whose value of the label
  5714. with key topologyKey matches
  5715. that of any node on which
  5716. any of the selected pods is
  5717. running. Empty topologyKey
  5718. is not allowed.
  5719. type: string
  5720. weight:
  5721. description: weight associated with
  5722. matching the corresponding podAffinityTerm,
  5723. in the range 1-100.
  5724. type: integer
  5725. format: int32
  5726. requiredDuringSchedulingIgnoredDuringExecution:
  5727. description: If the affinity requirements
  5728. specified by this field are not met
  5729. at scheduling time, the pod will not
  5730. be scheduled onto the node. If the affinity
  5731. requirements specified by this field
  5732. cease to be met at some point during
  5733. pod execution (e.g. due to a pod label
  5734. update), the system may or may not try
  5735. to eventually evict the pod from its
  5736. node. When there are multiple elements,
  5737. the lists of nodes corresponding to
  5738. each podAffinityTerm are intersected,
  5739. i.e. all terms must be satisfied.
  5740. type: array
  5741. items:
  5742. description: Defines a set of pods (namely
  5743. those matching the labelSelector relative
  5744. to the given namespace(s)) that this
  5745. pod should be co-located (affinity)
  5746. or not co-located (anti-affinity)
  5747. with, where co-located is defined
  5748. as running on a node whose value of
  5749. the label with key <topologyKey> matches
  5750. that of any node on which a pod of
  5751. the set of pods is running
  5752. type: object
  5753. required:
  5754. - topologyKey
  5755. properties:
  5756. labelSelector:
  5757. description: A label query over
  5758. a set of resources, in this case
  5759. pods.
  5760. type: object
  5761. properties:
  5762. matchExpressions:
  5763. description: matchExpressions
  5764. is a list of label selector
  5765. requirements. The requirements
  5766. are ANDed.
  5767. type: array
  5768. items:
  5769. description: A label selector
  5770. requirement is a selector
  5771. that contains values, a
  5772. key, and an operator that
  5773. relates the key and values.
  5774. type: object
  5775. required:
  5776. - key
  5777. - operator
  5778. properties:
  5779. key:
  5780. description: key is the
  5781. label key that the selector
  5782. applies to.
  5783. type: string
  5784. operator:
  5785. description: operator
  5786. represents a key's relationship
  5787. to a set of values.
  5788. Valid operators are
  5789. In, NotIn, Exists and
  5790. DoesNotExist.
  5791. type: string
  5792. values:
  5793. description: values is
  5794. an array of string values.
  5795. If the operator is In
  5796. or NotIn, the values
  5797. array must be non-empty.
  5798. If the operator is Exists
  5799. or DoesNotExist, the
  5800. values array must be
  5801. empty. This array is
  5802. replaced during a strategic
  5803. merge patch.
  5804. type: array
  5805. items:
  5806. type: string
  5807. matchLabels:
  5808. description: matchLabels is
  5809. a map of {key,value} pairs.
  5810. A single {key,value} in the
  5811. matchLabels map is equivalent
  5812. to an element of matchExpressions,
  5813. whose key field is "key",
  5814. the operator is "In", and
  5815. the values array contains
  5816. only "value". The requirements
  5817. are ANDed.
  5818. type: object
  5819. additionalProperties:
  5820. type: string
  5821. namespaces:
  5822. description: namespaces specifies
  5823. which namespaces the labelSelector
  5824. applies to (matches against);
  5825. null or empty list means "this
  5826. pod's namespace"
  5827. type: array
  5828. items:
  5829. type: string
  5830. topologyKey:
  5831. description: This pod should be
  5832. co-located (affinity) or not co-located
  5833. (anti-affinity) with the pods
  5834. matching the labelSelector in
  5835. the specified namespaces, where
  5836. co-located is defined as running
  5837. on a node whose value of the label
  5838. with key topologyKey matches that
  5839. of any node on which any of the
  5840. selected pods is running. Empty
  5841. topologyKey is not allowed.
  5842. type: string
  5843. podAntiAffinity:
  5844. description: Describes pod anti-affinity scheduling
  5845. rules (e.g. avoid putting this pod in the
  5846. same node, zone, etc. as some other pod(s)).
  5847. type: object
  5848. properties:
  5849. preferredDuringSchedulingIgnoredDuringExecution:
  5850. description: The scheduler will prefer
  5851. to schedule pods to nodes that satisfy
  5852. the anti-affinity expressions specified
  5853. by this field, but it may choose a node
  5854. that violates one or more of the expressions.
  5855. The node that is most preferred is the
  5856. one with the greatest sum of weights,
  5857. i.e. for each node that meets all of
  5858. the scheduling requirements (resource
  5859. request, requiredDuringScheduling anti-affinity
  5860. expressions, etc.), compute a sum by
  5861. iterating through the elements of this
  5862. field and adding "weight" to the sum
  5863. if the node has pods which matches the
  5864. corresponding podAffinityTerm; the node(s)
  5865. with the highest sum are the most preferred.
  5866. type: array
  5867. items:
  5868. description: The weights of all of the
  5869. matched WeightedPodAffinityTerm fields
  5870. are added per-node to find the most
  5871. preferred node(s)
  5872. type: object
  5873. required:
  5874. - podAffinityTerm
  5875. - weight
  5876. properties:
  5877. podAffinityTerm:
  5878. description: Required. A pod affinity
  5879. term, associated with the corresponding
  5880. weight.
  5881. type: object
  5882. required:
  5883. - topologyKey
  5884. properties:
  5885. labelSelector:
  5886. description: A label query over
  5887. a set of resources, in this
  5888. case pods.
  5889. type: object
  5890. properties:
  5891. matchExpressions:
  5892. description: matchExpressions
  5893. is a list of label selector
  5894. requirements. The requirements
  5895. are ANDed.
  5896. type: array
  5897. items:
  5898. description: A label selector
  5899. requirement is a selector
  5900. that contains values,
  5901. a key, and an operator
  5902. that relates the key
  5903. and values.
  5904. type: object
  5905. required:
  5906. - key
  5907. - operator
  5908. properties:
  5909. key:
  5910. description: key is
  5911. the label key that
  5912. the selector applies
  5913. to.
  5914. type: string
  5915. operator:
  5916. description: operator
  5917. represents a key's
  5918. relationship to
  5919. a set of values.
  5920. Valid operators
  5921. are In, NotIn, Exists
  5922. and DoesNotExist.
  5923. type: string
  5924. values:
  5925. description: values
  5926. is an array of string
  5927. values. If the operator
  5928. is In or NotIn,
  5929. the values array
  5930. must be non-empty.
  5931. If the operator
  5932. is Exists or DoesNotExist,
  5933. the values array
  5934. must be empty. This
  5935. array is replaced
  5936. during a strategic
  5937. merge patch.
  5938. type: array
  5939. items:
  5940. type: string
  5941. matchLabels:
  5942. description: matchLabels
  5943. is a map of {key,value}
  5944. pairs. A single {key,value}
  5945. in the matchLabels map
  5946. is equivalent to an element
  5947. of matchExpressions, whose
  5948. key field is "key", the
  5949. operator is "In", and
  5950. the values array contains
  5951. only "value". The requirements
  5952. are ANDed.
  5953. type: object
  5954. additionalProperties:
  5955. type: string
  5956. namespaces:
  5957. description: namespaces specifies
  5958. which namespaces the labelSelector
  5959. applies to (matches against);
  5960. null or empty list means "this
  5961. pod's namespace"
  5962. type: array
  5963. items:
  5964. type: string
  5965. topologyKey:
  5966. description: This pod should
  5967. be co-located (affinity) or
  5968. not co-located (anti-affinity)
  5969. with the pods matching the
  5970. labelSelector in the specified
  5971. namespaces, where co-located
  5972. is defined as running on a
  5973. node whose value of the label
  5974. with key topologyKey matches
  5975. that of any node on which
  5976. any of the selected pods is
  5977. running. Empty topologyKey
  5978. is not allowed.
  5979. type: string
  5980. weight:
  5981. description: weight associated with
  5982. matching the corresponding podAffinityTerm,
  5983. in the range 1-100.
  5984. type: integer
  5985. format: int32
  5986. requiredDuringSchedulingIgnoredDuringExecution:
  5987. description: If the anti-affinity requirements
  5988. specified by this field are not met
  5989. at scheduling time, the pod will not
  5990. be scheduled onto the node. If the anti-affinity
  5991. requirements specified by this field
  5992. cease to be met at some point during
  5993. pod execution (e.g. due to a pod label
  5994. update), the system may or may not try
  5995. to eventually evict the pod from its
  5996. node. When there are multiple elements,
  5997. the lists of nodes corresponding to
  5998. each podAffinityTerm are intersected,
  5999. i.e. all terms must be satisfied.
  6000. type: array
  6001. items:
  6002. description: Defines a set of pods (namely
  6003. those matching the labelSelector relative
  6004. to the given namespace(s)) that this
  6005. pod should be co-located (affinity)
  6006. or not co-located (anti-affinity)
  6007. with, where co-located is defined
  6008. as running on a node whose value of
  6009. the label with key <topologyKey> matches
  6010. that of any node on which a pod of
  6011. the set of pods is running
  6012. type: object
  6013. required:
  6014. - topologyKey
  6015. properties:
  6016. labelSelector:
  6017. description: A label query over
  6018. a set of resources, in this case
  6019. pods.
  6020. type: object
  6021. properties:
  6022. matchExpressions:
  6023. description: matchExpressions
  6024. is a list of label selector
  6025. requirements. The requirements
  6026. are ANDed.
  6027. type: array
  6028. items:
  6029. description: A label selector
  6030. requirement is a selector
  6031. that contains values, a
  6032. key, and an operator that
  6033. relates the key and values.
  6034. type: object
  6035. required:
  6036. - key
  6037. - operator
  6038. properties:
  6039. key:
  6040. description: key is the
  6041. label key that the selector
  6042. applies to.
  6043. type: string
  6044. operator:
  6045. description: operator
  6046. represents a key's relationship
  6047. to a set of values.
  6048. Valid operators are
  6049. In, NotIn, Exists and
  6050. DoesNotExist.
  6051. type: string
  6052. values:
  6053. description: values is
  6054. an array of string values.
  6055. If the operator is In
  6056. or NotIn, the values
  6057. array must be non-empty.
  6058. If the operator is Exists
  6059. or DoesNotExist, the
  6060. values array must be
  6061. empty. This array is
  6062. replaced during a strategic
  6063. merge patch.
  6064. type: array
  6065. items:
  6066. type: string
  6067. matchLabels:
  6068. description: matchLabels is
  6069. a map of {key,value} pairs.
  6070. A single {key,value} in the
  6071. matchLabels map is equivalent
  6072. to an element of matchExpressions,
  6073. whose key field is "key",
  6074. the operator is "In", and
  6075. the values array contains
  6076. only "value". The requirements
  6077. are ANDed.
  6078. type: object
  6079. additionalProperties:
  6080. type: string
  6081. namespaces:
  6082. description: namespaces specifies
  6083. which namespaces the labelSelector
  6084. applies to (matches against);
  6085. null or empty list means "this
  6086. pod's namespace"
  6087. type: array
  6088. items:
  6089. type: string
  6090. topologyKey:
  6091. description: This pod should be
  6092. co-located (affinity) or not co-located
  6093. (anti-affinity) with the pods
  6094. matching the labelSelector in
  6095. the specified namespaces, where
  6096. co-located is defined as running
  6097. on a node whose value of the label
  6098. with key topologyKey matches that
  6099. of any node on which any of the
  6100. selected pods is running. Empty
  6101. topologyKey is not allowed.
  6102. type: string
  6103. nodeSelector:
  6104. description: 'NodeSelector is a selector which
  6105. must be true for the pod to fit on a node. Selector
  6106. which must match a node''s labels for the pod
  6107. to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  6108. type: object
  6109. additionalProperties:
  6110. type: string
  6111. tolerations:
  6112. description: If specified, the pod's tolerations.
  6113. type: array
  6114. items:
  6115. description: The pod this Toleration is attached
  6116. to tolerates any taint that matches the triple
  6117. <key,value,effect> using the matching operator
  6118. <operator>.
  6119. type: object
  6120. properties:
  6121. effect:
  6122. description: Effect indicates the taint
  6123. effect to match. Empty means match all
  6124. taint effects. When specified, allowed
  6125. values are NoSchedule, PreferNoSchedule
  6126. and NoExecute.
  6127. type: string
  6128. key:
  6129. description: Key is the taint key that the
  6130. toleration applies to. Empty means match
  6131. all taint keys. If the key is empty, operator
  6132. must be Exists; this combination means
  6133. to match all values and all keys.
  6134. type: string
  6135. operator:
  6136. description: Operator represents a key's
  6137. relationship to the value. Valid operators
  6138. are Exists and Equal. Defaults to Equal.
  6139. Exists is equivalent to wildcard for value,
  6140. so that a pod can tolerate all taints
  6141. of a particular category.
  6142. type: string
  6143. tolerationSeconds:
  6144. description: TolerationSeconds represents
  6145. the period of time the toleration (which
  6146. must be of effect NoExecute, otherwise
  6147. this field is ignored) tolerates the taint.
  6148. By default, it is not set, which means
  6149. tolerate the taint forever (do not evict).
  6150. Zero and negative values will be treated
  6151. as 0 (evict immediately) by the system.
  6152. type: integer
  6153. format: int64
  6154. value:
  6155. description: Value is the taint value the
  6156. toleration matches to. If the operator
  6157. is Exists, the value should be empty,
  6158. otherwise just a regular string.
  6159. type: string
  6160. serviceType:
  6161. description: Optional service type for Kubernetes solver
  6162. service
  6163. type: string
  6164. selector:
  6165. description: Selector selects a set of DNSNames on the Certificate
  6166. resource that should be solved using this challenge solver.
  6167. If not specified, the solver will be treated as the 'default'
  6168. solver with the lowest priority, i.e. if any other solver has
  6169. a more specific match, it will be used instead.
  6170. type: object
  6171. properties:
  6172. dnsNames:
  6173. description: List of DNSNames that this solver will be used
  6174. to solve. If specified and a match is found, a dnsNames
  6175. selector will take precedence over a dnsZones selector.
  6176. If multiple solvers match with the same dnsNames value,
  6177. the solver with the most matching labels in matchLabels
  6178. will be selected. If neither has more matches, the solver
  6179. defined earlier in the list will be selected.
  6180. type: array
  6181. items:
  6182. type: string
  6183. dnsZones:
  6184. description: List of DNSZones that this solver will be used
  6185. to solve. The most specific DNS zone match specified here
  6186. will take precedence over other DNS zone matches, so a solver
  6187. specifying sys.example.com will be selected over one specifying
  6188. example.com for the domain www.sys.example.com. If multiple
  6189. solvers match with the same dnsZones value, the solver with
  6190. the most matching labels in matchLabels will be selected.
  6191. If neither has more matches, the solver defined earlier
  6192. in the list will be selected.
  6193. type: array
  6194. items:
  6195. type: string
  6196. matchLabels:
  6197. description: A label selector that is used to refine the set
  6198. of certificate's that this challenge solver will apply to.
  6199. type: object
  6200. additionalProperties:
  6201. type: string
  6202. token:
  6203. description: The ACME challenge token for this challenge. This is
  6204. the raw value returned from the ACME server.
  6205. type: string
  6206. type:
  6207. description: The type of ACME challenge this resource represents.
  6208. One of "HTTP-01" or "DNS-01".
  6209. type: string
  6210. enum:
  6211. - HTTP-01
  6212. - DNS-01
  6213. url:
  6214. description: The URL of the ACME Challenge resource for this challenge.
  6215. This can be used to lookup details about the status of this challenge.
  6216. type: string
  6217. wildcard:
  6218. description: wildcard will be true if this challenge is for a wildcard
  6219. identifier, for example '*.example.com'.
  6220. type: boolean
  6221. status:
  6222. type: object
  6223. properties:
  6224. presented:
  6225. description: presented will be set to true if the challenge values
  6226. for this challenge are currently 'presented'. This *does not* imply
  6227. the self check is passing. Only that the values have been 'submitted'
  6228. for the appropriate challenge mechanism (i.e. the DNS01 TXT record
  6229. has been presented, or the HTTP01 configuration has been configured).
  6230. type: boolean
  6231. processing:
  6232. description: Used to denote whether this challenge should be processed
  6233. or not. This field will only be set to true by the 'scheduling'
  6234. component. It will only be set to false by the 'challenges' controller,
  6235. after the challenge has reached a final state or timed out. If this
  6236. field is set to false, the challenge controller will not take any
  6237. more action.
  6238. type: boolean
  6239. reason:
  6240. description: Contains human readable information on why the Challenge
  6241. is in the current state.
  6242. type: string
  6243. state:
  6244. description: Contains the current 'state' of the challenge. If not
  6245. set, the state of the challenge is unknown.
  6246. type: string
  6247. enum:
  6248. - valid
  6249. - ready
  6250. - pending
  6251. - processing
  6252. - invalid
  6253. - expired
  6254. - errored
  6255. ---
  6256. # Source: cert-manager/templates/templates.regular.out
  6257. apiVersion: apiextensions.k8s.io/v1
  6258. kind: CustomResourceDefinition
  6259. metadata:
  6260. name: clusterissuers.cert-manager.io
  6261. annotations:
  6262. cert-manager.io/inject-ca-from-secret: 'cert-manager/cert-manager-webhook-ca'
  6263. labels:
  6264. app: 'cert-manager'
  6265. app.kubernetes.io/name: 'cert-manager'
  6266. app.kubernetes.io/instance: 'cert-manager'
  6267. app.kubernetes.io/managed-by: 'Helm'
  6268. helm.sh/chart: 'cert-manager-v0.16.1'
  6269. spec:
  6270. additionalPrinterColumns:
  6271. - JSONPath: .status.conditions[?(@.type=="Ready")].status
  6272. name: Ready
  6273. type: string
  6274. - JSONPath: .status.conditions[?(@.type=="Ready")].message
  6275. name: Status
  6276. priority: 1
  6277. type: string
  6278. - JSONPath: .metadata.creationTimestamp
  6279. description: CreationTimestamp is a timestamp representing the server time when
  6280. this object was created. It is not guaranteed to be set in happens-before order
  6281. across separate operations. Clients may not set this value. It is represented
  6282. in RFC3339 form and is in UTC.
  6283. name: Age
  6284. type: date
  6285. group: cert-manager.io
  6286. preserveUnknownFields: false
  6287. conversion:
  6288. # a Webhook strategy instruct API server to call an external webhook for any conversion between custom resources.
  6289. strategy: Webhook
  6290. # webhookClientConfig is required when strategy is `Webhook` and it configures the webhook endpoint to be called by API server.
  6291. webhookClientConfig:
  6292. service:
  6293. namespace: 'cert-manager'
  6294. name: 'cert-manager-webhook'
  6295. path: /convert
  6296. names:
  6297. kind: ClusterIssuer
  6298. listKind: ClusterIssuerList
  6299. plural: clusterissuers
  6300. singular: clusterissuer
  6301. scope: Cluster
  6302. subresources:
  6303. status: {}
  6304. versions:
  6305. - name: v1alpha2
  6306. served: true
  6307. storage: true
  6308. "schema":
  6309. "openAPIV3Schema":
  6310. description: A ClusterIssuer represents a certificate issuing authority which
  6311. can be referenced as part of `issuerRef` fields. It is similar to an Issuer,
  6312. however it is cluster-scoped and therefore can be referenced by resources
  6313. that exist in *any* namespace, not just the same namespace as the referent.
  6314. type: object
  6315. properties:
  6316. apiVersion:
  6317. description: 'APIVersion defines the versioned schema of this representation
  6318. of an object. Servers should convert recognized schemas to the latest
  6319. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  6320. type: string
  6321. kind:
  6322. description: 'Kind is a string value representing the REST resource this
  6323. object represents. Servers may infer this from the endpoint the client
  6324. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  6325. type: string
  6326. metadata:
  6327. type: object
  6328. spec:
  6329. description: Desired state of the ClusterIssuer resource.
  6330. type: object
  6331. properties:
  6332. acme:
  6333. description: ACME configures this issuer to communicate with a RFC8555
  6334. (ACME) server to obtain signed x509 certificates.
  6335. type: object
  6336. required:
  6337. - privateKeySecretRef
  6338. - server
  6339. properties:
  6340. email:
  6341. description: Email is the email address to be associated with
  6342. the ACME account. This field is optional, but it is strongly
  6343. recommended to be set. It will be used to contact you in case
  6344. of issues with your account or certificates, including expiry
  6345. notification emails. This field may be updated after the account
  6346. is initially registered.
  6347. type: string
  6348. externalAccountBinding:
  6349. description: ExternalAccountBinding is a reference to a CA external
  6350. account of the ACME server. If set, upon registration cert-manager
  6351. will attempt to associate the given external account credentials
  6352. with the registered ACME account.
  6353. type: object
  6354. required:
  6355. - keyAlgorithm
  6356. - keyID
  6357. - keySecretRef
  6358. properties:
  6359. keyAlgorithm:
  6360. description: keyAlgorithm is the MAC key algorithm that the
  6361. key is used for. Valid values are "HS256", "HS384" and "HS512".
  6362. type: string
  6363. enum:
  6364. - HS256
  6365. - HS384
  6366. - HS512
  6367. keyID:
  6368. description: keyID is the ID of the CA key that the External
  6369. Account is bound to.
  6370. type: string
  6371. keySecretRef:
  6372. description: keySecretRef is a Secret Key Selector referencing
  6373. a data item in a Kubernetes Secret which holds the symmetric
  6374. MAC key of the External Account Binding. The `key` is the
  6375. index string that is paired with the key data in the Secret
  6376. and should not be confused with the key data itself, or
  6377. indeed with the External Account Binding keyID above. The
  6378. secret key stored in the Secret **must** be un-padded, base64
  6379. URL encoded data.
  6380. type: object
  6381. required:
  6382. - name
  6383. properties:
  6384. key:
  6385. description: The key of the entry in the Secret resource's
  6386. `data` field to be used. Some instances of this field
  6387. may be defaulted, in others it may be required.
  6388. type: string
  6389. name:
  6390. description: 'Name of the resource being referred to.
  6391. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6392. type: string
  6393. privateKeySecretRef:
  6394. description: PrivateKey is the name of a Kubernetes Secret resource
  6395. that will be used to store the automatically generated ACME
  6396. account private key. Optionally, a `key` may be specified to
  6397. select a specific entry within the named Secret resource. If
  6398. `key` is not specified, a default of `tls.key` will be used.
  6399. type: object
  6400. required:
  6401. - name
  6402. properties:
  6403. key:
  6404. description: The key of the entry in the Secret resource's
  6405. `data` field to be used. Some instances of this field may
  6406. be defaulted, in others it may be required.
  6407. type: string
  6408. name:
  6409. description: 'Name of the resource being referred to. More
  6410. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6411. type: string
  6412. server:
  6413. description: 'Server is the URL used to access the ACME server''s
  6414. ''directory'' endpoint. For example, for Let''s Encrypt''s staging
  6415. endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory".
  6416. Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  6417. type: string
  6418. skipTLSVerify:
  6419. description: Enables or disables validation of the ACME server
  6420. TLS certificate. If true, requests to the ACME server will not
  6421. have their TLS certificate validated (i.e. insecure connections
  6422. will be allowed). Only enable this option in development environments.
  6423. The cert-manager system installed roots will be used to verify
  6424. connections to the ACME server if this is false. Defaults to
  6425. false.
  6426. type: boolean
  6427. solvers:
  6428. description: 'Solvers is a list of challenge solvers that will
  6429. be used to solve ACME challenges for the matching domains. Solver
  6430. configurations must be provided in order to obtain certificates
  6431. from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  6432. type: array
  6433. items:
  6434. description: Configures an issuer to solve challenges using
  6435. the specified options. Only one of HTTP01 or DNS01 may be
  6436. provided.
  6437. type: object
  6438. properties:
  6439. dns01:
  6440. description: Configures cert-manager to attempt to complete
  6441. authorizations by performing the DNS01 challenge flow.
  6442. type: object
  6443. properties:
  6444. acmedns:
  6445. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  6446. API to manage DNS01 challenge records.
  6447. type: object
  6448. required:
  6449. - accountSecretRef
  6450. - host
  6451. properties:
  6452. accountSecretRef:
  6453. description: A reference to a specific 'key' within
  6454. a Secret resource. In some instances, `key` is
  6455. a required field.
  6456. type: object
  6457. required:
  6458. - name
  6459. properties:
  6460. key:
  6461. description: The key of the entry in the Secret
  6462. resource's `data` field to be used. Some instances
  6463. of this field may be defaulted, in others
  6464. it may be required.
  6465. type: string
  6466. name:
  6467. description: 'Name of the resource being referred
  6468. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6469. type: string
  6470. host:
  6471. type: string
  6472. akamai:
  6473. description: Use the Akamai DNS zone management API
  6474. to manage DNS01 challenge records.
  6475. type: object
  6476. required:
  6477. - accessTokenSecretRef
  6478. - clientSecretSecretRef
  6479. - clientTokenSecretRef
  6480. - serviceConsumerDomain
  6481. properties:
  6482. accessTokenSecretRef:
  6483. description: A reference to a specific 'key' within
  6484. a Secret resource. In some instances, `key` is
  6485. a required field.
  6486. type: object
  6487. required:
  6488. - name
  6489. properties:
  6490. key:
  6491. description: The key of the entry in the Secret
  6492. resource's `data` field to be used. Some instances
  6493. of this field may be defaulted, in others
  6494. it may be required.
  6495. type: string
  6496. name:
  6497. description: 'Name of the resource being referred
  6498. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6499. type: string
  6500. clientSecretSecretRef:
  6501. description: A reference to a specific 'key' within
  6502. a Secret resource. In some instances, `key` is
  6503. a required field.
  6504. type: object
  6505. required:
  6506. - name
  6507. properties:
  6508. key:
  6509. description: The key of the entry in the Secret
  6510. resource's `data` field to be used. Some instances
  6511. of this field may be defaulted, in others
  6512. it may be required.
  6513. type: string
  6514. name:
  6515. description: 'Name of the resource being referred
  6516. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6517. type: string
  6518. clientTokenSecretRef:
  6519. description: A reference to a specific 'key' within
  6520. a Secret resource. In some instances, `key` is
  6521. a required field.
  6522. type: object
  6523. required:
  6524. - name
  6525. properties:
  6526. key:
  6527. description: The key of the entry in the Secret
  6528. resource's `data` field to be used. Some instances
  6529. of this field may be defaulted, in others
  6530. it may be required.
  6531. type: string
  6532. name:
  6533. description: 'Name of the resource being referred
  6534. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6535. type: string
  6536. serviceConsumerDomain:
  6537. type: string
  6538. azuredns:
  6539. description: Use the Microsoft Azure DNS API to manage
  6540. DNS01 challenge records.
  6541. type: object
  6542. required:
  6543. - resourceGroupName
  6544. - subscriptionID
  6545. properties:
  6546. clientID:
  6547. description: if both this and ClientSecret are left
  6548. unset MSI will be used
  6549. type: string
  6550. clientSecretSecretRef:
  6551. description: if both this and ClientID are left
  6552. unset MSI will be used
  6553. type: object
  6554. required:
  6555. - name
  6556. properties:
  6557. key:
  6558. description: The key of the entry in the Secret
  6559. resource's `data` field to be used. Some instances
  6560. of this field may be defaulted, in others
  6561. it may be required.
  6562. type: string
  6563. name:
  6564. description: 'Name of the resource being referred
  6565. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6566. type: string
  6567. environment:
  6568. type: string
  6569. enum:
  6570. - AzurePublicCloud
  6571. - AzureChinaCloud
  6572. - AzureGermanCloud
  6573. - AzureUSGovernmentCloud
  6574. hostedZoneName:
  6575. type: string
  6576. resourceGroupName:
  6577. type: string
  6578. subscriptionID:
  6579. type: string
  6580. tenantID:
  6581. description: when specifying ClientID and ClientSecret
  6582. then this field is also needed
  6583. type: string
  6584. clouddns:
  6585. description: Use the Google Cloud DNS API to manage
  6586. DNS01 challenge records.
  6587. type: object
  6588. required:
  6589. - project
  6590. properties:
  6591. hostedZoneName:
  6592. description: HostedZoneName is an optional field
  6593. that tells cert-manager in which Cloud DNS zone
  6594. the challenge record has to be created. If left
  6595. empty cert-manager will automatically choose a
  6596. zone.
  6597. type: string
  6598. project:
  6599. type: string
  6600. serviceAccountSecretRef:
  6601. description: A reference to a specific 'key' within
  6602. a Secret resource. In some instances, `key` is
  6603. a required field.
  6604. type: object
  6605. required:
  6606. - name
  6607. properties:
  6608. key:
  6609. description: The key of the entry in the Secret
  6610. resource's `data` field to be used. Some instances
  6611. of this field may be defaulted, in others
  6612. it may be required.
  6613. type: string
  6614. name:
  6615. description: 'Name of the resource being referred
  6616. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6617. type: string
  6618. cloudflare:
  6619. description: Use the Cloudflare API to manage DNS01
  6620. challenge records.
  6621. type: object
  6622. properties:
  6623. apiKeySecretRef:
  6624. description: 'API key to use to authenticate with
  6625. Cloudflare. Note: using an API token to authenticate
  6626. is now the recommended method as it allows greater
  6627. control of permissions.'
  6628. type: object
  6629. required:
  6630. - name
  6631. properties:
  6632. key:
  6633. description: The key of the entry in the Secret
  6634. resource's `data` field to be used. Some instances
  6635. of this field may be defaulted, in others
  6636. it may be required.
  6637. type: string
  6638. name:
  6639. description: 'Name of the resource being referred
  6640. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6641. type: string
  6642. apiTokenSecretRef:
  6643. description: API token used to authenticate with
  6644. Cloudflare.
  6645. type: object
  6646. required:
  6647. - name
  6648. properties:
  6649. key:
  6650. description: The key of the entry in the Secret
  6651. resource's `data` field to be used. Some instances
  6652. of this field may be defaulted, in others
  6653. it may be required.
  6654. type: string
  6655. name:
  6656. description: 'Name of the resource being referred
  6657. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6658. type: string
  6659. email:
  6660. description: Email of the account, only required
  6661. when using API key based authentication.
  6662. type: string
  6663. cnameStrategy:
  6664. description: CNAMEStrategy configures how the DNS01
  6665. provider should handle CNAME records when found in
  6666. DNS zones.
  6667. type: string
  6668. enum:
  6669. - None
  6670. - Follow
  6671. digitalocean:
  6672. description: Use the DigitalOcean DNS API to manage
  6673. DNS01 challenge records.
  6674. type: object
  6675. required:
  6676. - tokenSecretRef
  6677. properties:
  6678. tokenSecretRef:
  6679. description: A reference to a specific 'key' within
  6680. a Secret resource. In some instances, `key` is
  6681. a required field.
  6682. type: object
  6683. required:
  6684. - name
  6685. properties:
  6686. key:
  6687. description: The key of the entry in the Secret
  6688. resource's `data` field to be used. Some instances
  6689. of this field may be defaulted, in others
  6690. it may be required.
  6691. type: string
  6692. name:
  6693. description: 'Name of the resource being referred
  6694. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6695. type: string
  6696. rfc2136:
  6697. description: Use RFC2136 ("Dynamic Updates in the Domain
  6698. Name System") (https://datatracker.ietf.org/doc/rfc2136/)
  6699. to manage DNS01 challenge records.
  6700. type: object
  6701. required:
  6702. - nameserver
  6703. properties:
  6704. nameserver:
  6705. description: The IP address or hostname of an authoritative
  6706. DNS server supporting RFC2136 in the form host:port.
  6707. If the host is an IPv6 address it must be enclosed
  6708. in square brackets (e.g [2001:db8::1]) ; port
  6709. is optional. This field is required.
  6710. type: string
  6711. tsigAlgorithm:
  6712. description: 'The TSIG Algorithm configured in the
  6713. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  6714. and ``tsigKeyName`` are defined. Supported values
  6715. are (case-insensitive): ``HMACMD5`` (default),
  6716. ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  6717. type: string
  6718. tsigKeyName:
  6719. description: The TSIG Key name configured in the
  6720. DNS. If ``tsigSecretSecretRef`` is defined, this
  6721. field is required.
  6722. type: string
  6723. tsigSecretSecretRef:
  6724. description: The name of the secret containing the
  6725. TSIG value. If ``tsigKeyName`` is defined, this
  6726. field is required.
  6727. type: object
  6728. required:
  6729. - name
  6730. properties:
  6731. key:
  6732. description: The key of the entry in the Secret
  6733. resource's `data` field to be used. Some instances
  6734. of this field may be defaulted, in others
  6735. it may be required.
  6736. type: string
  6737. name:
  6738. description: 'Name of the resource being referred
  6739. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6740. type: string
  6741. route53:
  6742. description: Use the AWS Route53 API to manage DNS01
  6743. challenge records.
  6744. type: object
  6745. required:
  6746. - region
  6747. properties:
  6748. accessKeyID:
  6749. description: 'The AccessKeyID is used for authentication.
  6750. If not set we fall-back to using env vars, shared
  6751. credentials file or AWS Instance metadata see:
  6752. https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  6753. type: string
  6754. hostedZoneID:
  6755. description: If set, the provider will manage only
  6756. this zone in Route53 and will not do an lookup
  6757. using the route53:ListHostedZonesByName api call.
  6758. type: string
  6759. region:
  6760. description: Always set the region when using AccessKeyID
  6761. and SecretAccessKey
  6762. type: string
  6763. role:
  6764. description: Role is a Role ARN which the Route53
  6765. provider will assume using either the explicit
  6766. credentials AccessKeyID/SecretAccessKey or the
  6767. inferred credentials from environment variables,
  6768. shared credentials file or AWS Instance metadata
  6769. type: string
  6770. secretAccessKeySecretRef:
  6771. description: The SecretAccessKey is used for authentication.
  6772. If not set we fall-back to using env vars, shared
  6773. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  6774. type: object
  6775. required:
  6776. - name
  6777. properties:
  6778. key:
  6779. description: The key of the entry in the Secret
  6780. resource's `data` field to be used. Some instances
  6781. of this field may be defaulted, in others
  6782. it may be required.
  6783. type: string
  6784. name:
  6785. description: 'Name of the resource being referred
  6786. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  6787. type: string
  6788. webhook:
  6789. description: Configure an external webhook based DNS01
  6790. challenge solver to manage DNS01 challenge records.
  6791. type: object
  6792. required:
  6793. - groupName
  6794. - solverName
  6795. properties:
  6796. config:
  6797. description: Additional configuration that should
  6798. be passed to the webhook apiserver when challenges
  6799. are processed. This can contain arbitrary JSON
  6800. data. Secret values should not be specified in
  6801. this stanza. If secret values are needed (e.g.
  6802. credentials for a DNS service), you should use
  6803. a SecretKeySelector to reference a Secret resource.
  6804. For details on the schema of this field, consult
  6805. the webhook provider implementation's documentation.
  6806. x-kubernetes-preserve-unknown-fields: true
  6807. groupName:
  6808. description: The API group name that should be used
  6809. when POSTing ChallengePayload resources to the
  6810. webhook apiserver. This should be the same as
  6811. the GroupName specified in the webhook provider
  6812. implementation.
  6813. type: string
  6814. solverName:
  6815. description: The name of the solver to use, as defined
  6816. in the webhook provider implementation. This will
  6817. typically be the name of the provider, e.g. 'cloudflare'.
  6818. type: string
  6819. http01:
  6820. description: Configures cert-manager to attempt to complete
  6821. authorizations by performing the HTTP01 challenge flow.
  6822. It is not possible to obtain certificates for wildcard
  6823. domain names (e.g. `*.example.com`) using the HTTP01 challenge
  6824. mechanism.
  6825. type: object
  6826. properties:
  6827. ingress:
  6828. description: The ingress based HTTP01 challenge solver
  6829. will solve challenges by creating or modifying Ingress
  6830. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  6831. to 'challenge solver' pods that are provisioned by
  6832. cert-manager for each Challenge to be completed.
  6833. type: object
  6834. properties:
  6835. class:
  6836. description: The ingress class to use when creating
  6837. Ingress resources to solve ACME challenges that
  6838. use this challenge solver. Only one of 'class'
  6839. or 'name' may be specified.
  6840. type: string
  6841. ingressTemplate:
  6842. description: Optional ingress template used to configure
  6843. the ACME challenge solver ingress used for HTTP01
  6844. challenges
  6845. type: object
  6846. properties:
  6847. metadata:
  6848. description: ObjectMeta overrides for the ingress
  6849. used to solve HTTP01 challenges. Only the
  6850. 'labels' and 'annotations' fields may be set.
  6851. If labels or annotations overlap with in-built
  6852. values, the values here will override the
  6853. in-built values.
  6854. type: object
  6855. properties:
  6856. annotations:
  6857. description: Annotations that should be
  6858. added to the created ACME HTTP01 solver
  6859. ingress.
  6860. type: object
  6861. additionalProperties:
  6862. type: string
  6863. labels:
  6864. description: Labels that should be added
  6865. to the created ACME HTTP01 solver ingress.
  6866. type: object
  6867. additionalProperties:
  6868. type: string
  6869. name:
  6870. description: The name of the ingress resource that
  6871. should have ACME challenge solving routes inserted
  6872. into it in order to solve HTTP01 challenges. This
  6873. is typically used in conjunction with ingress
  6874. controllers like ingress-gce, which maintains
  6875. a 1:1 mapping between external IPs and ingress
  6876. resources.
  6877. type: string
  6878. podTemplate:
  6879. description: Optional pod template used to configure
  6880. the ACME challenge solver pods used for HTTP01
  6881. challenges
  6882. type: object
  6883. properties:
  6884. metadata:
  6885. description: ObjectMeta overrides for the pod
  6886. used to solve HTTP01 challenges. Only the
  6887. 'labels' and 'annotations' fields may be set.
  6888. If labels or annotations overlap with in-built
  6889. values, the values here will override the
  6890. in-built values.
  6891. type: object
  6892. properties:
  6893. annotations:
  6894. description: Annotations that should be
  6895. added to the create ACME HTTP01 solver
  6896. pods.
  6897. type: object
  6898. additionalProperties:
  6899. type: string
  6900. labels:
  6901. description: Labels that should be added
  6902. to the created ACME HTTP01 solver pods.
  6903. type: object
  6904. additionalProperties:
  6905. type: string
  6906. spec:
  6907. description: PodSpec defines overrides for the
  6908. HTTP01 challenge solver pod. Only the 'nodeSelector',
  6909. 'affinity' and 'tolerations' fields are supported
  6910. currently. All other fields will be ignored.
  6911. type: object
  6912. properties:
  6913. affinity:
  6914. description: If specified, the pod's scheduling
  6915. constraints
  6916. type: object
  6917. properties:
  6918. nodeAffinity:
  6919. description: Describes node affinity
  6920. scheduling rules for the pod.
  6921. type: object
  6922. properties:
  6923. preferredDuringSchedulingIgnoredDuringExecution:
  6924. description: The scheduler will
  6925. prefer to schedule pods to nodes
  6926. that satisfy the affinity expressions
  6927. specified by this field, but it
  6928. may choose a node that violates
  6929. one or more of the expressions.
  6930. The node that is most preferred
  6931. is the one with the greatest sum
  6932. of weights, i.e. for each node
  6933. that meets all of the scheduling
  6934. requirements (resource request,
  6935. requiredDuringScheduling affinity
  6936. expressions, etc.), compute a
  6937. sum by iterating through the elements
  6938. of this field and adding "weight"
  6939. to the sum if the node matches
  6940. the corresponding matchExpressions;
  6941. the node(s) with the highest sum
  6942. are the most preferred.
  6943. type: array
  6944. items:
  6945. description: An empty preferred
  6946. scheduling term matches all
  6947. objects with implicit weight
  6948. 0 (i.e. it's a no-op). A null
  6949. preferred scheduling term matches
  6950. no objects (i.e. is also a no-op).
  6951. type: object
  6952. required:
  6953. - preference
  6954. - weight
  6955. properties:
  6956. preference:
  6957. description: A node selector
  6958. term, associated with the
  6959. corresponding weight.
  6960. type: object
  6961. properties:
  6962. matchExpressions:
  6963. description: A list of
  6964. node selector requirements
  6965. by node's labels.
  6966. type: array
  6967. items:
  6968. description: A node
  6969. selector requirement
  6970. is a selector that
  6971. contains values, a
  6972. key, and an operator
  6973. that relates the key
  6974. and values.
  6975. type: object
  6976. required:
  6977. - key
  6978. - operator
  6979. properties:
  6980. key:
  6981. description: The
  6982. label key that
  6983. the selector applies
  6984. to.
  6985. type: string
  6986. operator:
  6987. description: Represents
  6988. a key's relationship
  6989. to a set of values.
  6990. Valid operators
  6991. are In, NotIn,
  6992. Exists, DoesNotExist.
  6993. Gt, and Lt.
  6994. type: string
  6995. values:
  6996. description: An
  6997. array of string
  6998. values. If the
  6999. operator is In
  7000. or NotIn, the
  7001. values array must
  7002. be non-empty.
  7003. If the operator
  7004. is Exists or DoesNotExist,
  7005. the values array
  7006. must be empty.
  7007. If the operator
  7008. is Gt or Lt, the
  7009. values array must
  7010. have a single
  7011. element, which
  7012. will be interpreted
  7013. as an integer.
  7014. This array is
  7015. replaced during
  7016. a strategic merge
  7017. patch.
  7018. type: array
  7019. items:
  7020. type: string
  7021. matchFields:
  7022. description: A list of
  7023. node selector requirements
  7024. by node's fields.
  7025. type: array
  7026. items:
  7027. description: A node
  7028. selector requirement
  7029. is a selector that
  7030. contains values, a
  7031. key, and an operator
  7032. that relates the key
  7033. and values.
  7034. type: object
  7035. required:
  7036. - key
  7037. - operator
  7038. properties:
  7039. key:
  7040. description: The
  7041. label key that
  7042. the selector applies
  7043. to.
  7044. type: string
  7045. operator:
  7046. description: Represents
  7047. a key's relationship
  7048. to a set of values.
  7049. Valid operators
  7050. are In, NotIn,
  7051. Exists, DoesNotExist.
  7052. Gt, and Lt.
  7053. type: string
  7054. values:
  7055. description: An
  7056. array of string
  7057. values. If the
  7058. operator is In
  7059. or NotIn, the
  7060. values array must
  7061. be non-empty.
  7062. If the operator
  7063. is Exists or DoesNotExist,
  7064. the values array
  7065. must be empty.
  7066. If the operator
  7067. is Gt or Lt, the
  7068. values array must
  7069. have a single
  7070. element, which
  7071. will be interpreted
  7072. as an integer.
  7073. This array is
  7074. replaced during
  7075. a strategic merge
  7076. patch.
  7077. type: array
  7078. items:
  7079. type: string
  7080. weight:
  7081. description: Weight associated
  7082. with matching the corresponding
  7083. nodeSelectorTerm, in the
  7084. range 1-100.
  7085. type: integer
  7086. format: int32
  7087. requiredDuringSchedulingIgnoredDuringExecution:
  7088. description: If the affinity requirements
  7089. specified by this field are not
  7090. met at scheduling time, the pod
  7091. will not be scheduled onto the
  7092. node. If the affinity requirements
  7093. specified by this field cease
  7094. to be met at some point during
  7095. pod execution (e.g. due to an
  7096. update), the system may or may
  7097. not try to eventually evict the
  7098. pod from its node.
  7099. type: object
  7100. required:
  7101. - nodeSelectorTerms
  7102. properties:
  7103. nodeSelectorTerms:
  7104. description: Required. A list
  7105. of node selector terms. The
  7106. terms are ORed.
  7107. type: array
  7108. items:
  7109. description: A null or empty
  7110. node selector term matches
  7111. no objects. The requirements
  7112. of them are ANDed. The TopologySelectorTerm
  7113. type implements a subset
  7114. of the NodeSelectorTerm.
  7115. type: object
  7116. properties:
  7117. matchExpressions:
  7118. description: A list of
  7119. node selector requirements
  7120. by node's labels.
  7121. type: array
  7122. items:
  7123. description: A node
  7124. selector requirement
  7125. is a selector that
  7126. contains values, a
  7127. key, and an operator
  7128. that relates the key
  7129. and values.
  7130. type: object
  7131. required:
  7132. - key
  7133. - operator
  7134. properties:
  7135. key:
  7136. description: The
  7137. label key that
  7138. the selector applies
  7139. to.
  7140. type: string
  7141. operator:
  7142. description: Represents
  7143. a key's relationship
  7144. to a set of values.
  7145. Valid operators
  7146. are In, NotIn,
  7147. Exists, DoesNotExist.
  7148. Gt, and Lt.
  7149. type: string
  7150. values:
  7151. description: An
  7152. array of string
  7153. values. If the
  7154. operator is In
  7155. or NotIn, the
  7156. values array must
  7157. be non-empty.
  7158. If the operator
  7159. is Exists or DoesNotExist,
  7160. the values array
  7161. must be empty.
  7162. If the operator
  7163. is Gt or Lt, the
  7164. values array must
  7165. have a single
  7166. element, which
  7167. will be interpreted
  7168. as an integer.
  7169. This array is
  7170. replaced during
  7171. a strategic merge
  7172. patch.
  7173. type: array
  7174. items:
  7175. type: string
  7176. matchFields:
  7177. description: A list of
  7178. node selector requirements
  7179. by node's fields.
  7180. type: array
  7181. items:
  7182. description: A node
  7183. selector requirement
  7184. is a selector that
  7185. contains values, a
  7186. key, and an operator
  7187. that relates the key
  7188. and values.
  7189. type: object
  7190. required:
  7191. - key
  7192. - operator
  7193. properties:
  7194. key:
  7195. description: The
  7196. label key that
  7197. the selector applies
  7198. to.
  7199. type: string
  7200. operator:
  7201. description: Represents
  7202. a key's relationship
  7203. to a set of values.
  7204. Valid operators
  7205. are In, NotIn,
  7206. Exists, DoesNotExist.
  7207. Gt, and Lt.
  7208. type: string
  7209. values:
  7210. description: An
  7211. array of string
  7212. values. If the
  7213. operator is In
  7214. or NotIn, the
  7215. values array must
  7216. be non-empty.
  7217. If the operator
  7218. is Exists or DoesNotExist,
  7219. the values array
  7220. must be empty.
  7221. If the operator
  7222. is Gt or Lt, the
  7223. values array must
  7224. have a single
  7225. element, which
  7226. will be interpreted
  7227. as an integer.
  7228. This array is
  7229. replaced during
  7230. a strategic merge
  7231. patch.
  7232. type: array
  7233. items:
  7234. type: string
  7235. podAffinity:
  7236. description: Describes pod affinity
  7237. scheduling rules (e.g. co-locate this
  7238. pod in the same node, zone, etc. as
  7239. some other pod(s)).
  7240. type: object
  7241. properties:
  7242. preferredDuringSchedulingIgnoredDuringExecution:
  7243. description: The scheduler will
  7244. prefer to schedule pods to nodes
  7245. that satisfy the affinity expressions
  7246. specified by this field, but it
  7247. may choose a node that violates
  7248. one or more of the expressions.
  7249. The node that is most preferred
  7250. is the one with the greatest sum
  7251. of weights, i.e. for each node
  7252. that meets all of the scheduling
  7253. requirements (resource request,
  7254. requiredDuringScheduling affinity
  7255. expressions, etc.), compute a
  7256. sum by iterating through the elements
  7257. of this field and adding "weight"
  7258. to the sum if the node has pods
  7259. which matches the corresponding
  7260. podAffinityTerm; the node(s) with
  7261. the highest sum are the most preferred.
  7262. type: array
  7263. items:
  7264. description: The weights of all
  7265. of the matched WeightedPodAffinityTerm
  7266. fields are added per-node to
  7267. find the most preferred node(s)
  7268. type: object
  7269. required:
  7270. - podAffinityTerm
  7271. - weight
  7272. properties:
  7273. podAffinityTerm:
  7274. description: Required. A pod
  7275. affinity term, associated
  7276. with the corresponding weight.
  7277. type: object
  7278. required:
  7279. - topologyKey
  7280. properties:
  7281. labelSelector:
  7282. description: A label query
  7283. over a set of resources,
  7284. in this case pods.
  7285. type: object
  7286. properties:
  7287. matchExpressions:
  7288. description: matchExpressions
  7289. is a list of label
  7290. selector requirements.
  7291. The requirements
  7292. are ANDed.
  7293. type: array
  7294. items:
  7295. description: A label
  7296. selector requirement
  7297. is a selector
  7298. that contains
  7299. values, a key,
  7300. and an operator
  7301. that relates the
  7302. key and values.
  7303. type: object
  7304. required:
  7305. - key
  7306. - operator
  7307. properties:
  7308. key:
  7309. description: key
  7310. is the label
  7311. key that the
  7312. selector applies
  7313. to.
  7314. type: string
  7315. operator:
  7316. description: operator
  7317. represents
  7318. a key's relationship
  7319. to a set of
  7320. values. Valid
  7321. operators
  7322. are In, NotIn,
  7323. Exists and
  7324. DoesNotExist.
  7325. type: string
  7326. values:
  7327. description: values
  7328. is an array
  7329. of string
  7330. values. If
  7331. the operator
  7332. is In or NotIn,
  7333. the values
  7334. array must
  7335. be non-empty.
  7336. If the operator
  7337. is Exists
  7338. or DoesNotExist,
  7339. the values
  7340. array must
  7341. be empty.
  7342. This array
  7343. is replaced
  7344. during a strategic
  7345. merge patch.
  7346. type: array
  7347. items:
  7348. type: string
  7349. matchLabels:
  7350. description: matchLabels
  7351. is a map of {key,value}
  7352. pairs. A single
  7353. {key,value} in the
  7354. matchLabels map
  7355. is equivalent to
  7356. an element of matchExpressions,
  7357. whose key field
  7358. is "key", the operator
  7359. is "In", and the
  7360. values array contains
  7361. only "value". The
  7362. requirements are
  7363. ANDed.
  7364. type: object
  7365. additionalProperties:
  7366. type: string
  7367. namespaces:
  7368. description: namespaces
  7369. specifies which namespaces
  7370. the labelSelector applies
  7371. to (matches against);
  7372. null or empty list means
  7373. "this pod's namespace"
  7374. type: array
  7375. items:
  7376. type: string
  7377. topologyKey:
  7378. description: This pod
  7379. should be co-located
  7380. (affinity) or not co-located
  7381. (anti-affinity) with
  7382. the pods matching the
  7383. labelSelector in the
  7384. specified namespaces,
  7385. where co-located is
  7386. defined as running on
  7387. a node whose value of
  7388. the label with key topologyKey
  7389. matches that of any
  7390. node on which any of
  7391. the selected pods is
  7392. running. Empty topologyKey
  7393. is not allowed.
  7394. type: string
  7395. weight:
  7396. description: weight associated
  7397. with matching the corresponding
  7398. podAffinityTerm, in the
  7399. range 1-100.
  7400. type: integer
  7401. format: int32
  7402. requiredDuringSchedulingIgnoredDuringExecution:
  7403. description: If the affinity requirements
  7404. specified by this field are not
  7405. met at scheduling time, the pod
  7406. will not be scheduled onto the
  7407. node. If the affinity requirements
  7408. specified by this field cease
  7409. to be met at some point during
  7410. pod execution (e.g. due to a pod
  7411. label update), the system may
  7412. or may not try to eventually evict
  7413. the pod from its node. When there
  7414. are multiple elements, the lists
  7415. of nodes corresponding to each
  7416. podAffinityTerm are intersected,
  7417. i.e. all terms must be satisfied.
  7418. type: array
  7419. items:
  7420. description: Defines a set of
  7421. pods (namely those matching
  7422. the labelSelector relative to
  7423. the given namespace(s)) that
  7424. this pod should be co-located
  7425. (affinity) or not co-located
  7426. (anti-affinity) with, where
  7427. co-located is defined as running
  7428. on a node whose value of the
  7429. label with key <topologyKey>
  7430. matches that of any node on
  7431. which a pod of the set of pods
  7432. is running
  7433. type: object
  7434. required:
  7435. - topologyKey
  7436. properties:
  7437. labelSelector:
  7438. description: A label query
  7439. over a set of resources,
  7440. in this case pods.
  7441. type: object
  7442. properties:
  7443. matchExpressions:
  7444. description: matchExpressions
  7445. is a list of label selector
  7446. requirements. The requirements
  7447. are ANDed.
  7448. type: array
  7449. items:
  7450. description: A label
  7451. selector requirement
  7452. is a selector that
  7453. contains values, a
  7454. key, and an operator
  7455. that relates the key
  7456. and values.
  7457. type: object
  7458. required:
  7459. - key
  7460. - operator
  7461. properties:
  7462. key:
  7463. description: key
  7464. is the label key
  7465. that the selector
  7466. applies to.
  7467. type: string
  7468. operator:
  7469. description: operator
  7470. represents a key's
  7471. relationship to
  7472. a set of values.
  7473. Valid operators
  7474. are In, NotIn,
  7475. Exists and DoesNotExist.
  7476. type: string
  7477. values:
  7478. description: values
  7479. is an array of
  7480. string values.
  7481. If the operator
  7482. is In or NotIn,
  7483. the values array
  7484. must be non-empty.
  7485. If the operator
  7486. is Exists or DoesNotExist,
  7487. the values array
  7488. must be empty.
  7489. This array is
  7490. replaced during
  7491. a strategic merge
  7492. patch.
  7493. type: array
  7494. items:
  7495. type: string
  7496. matchLabels:
  7497. description: matchLabels
  7498. is a map of {key,value}
  7499. pairs. A single {key,value}
  7500. in the matchLabels map
  7501. is equivalent to an
  7502. element of matchExpressions,
  7503. whose key field is "key",
  7504. the operator is "In",
  7505. and the values array
  7506. contains only "value".
  7507. The requirements are
  7508. ANDed.
  7509. type: object
  7510. additionalProperties:
  7511. type: string
  7512. namespaces:
  7513. description: namespaces specifies
  7514. which namespaces the labelSelector
  7515. applies to (matches against);
  7516. null or empty list means
  7517. "this pod's namespace"
  7518. type: array
  7519. items:
  7520. type: string
  7521. topologyKey:
  7522. description: This pod should
  7523. be co-located (affinity)
  7524. or not co-located (anti-affinity)
  7525. with the pods matching the
  7526. labelSelector in the specified
  7527. namespaces, where co-located
  7528. is defined as running on
  7529. a node whose value of the
  7530. label with key topologyKey
  7531. matches that of any node
  7532. on which any of the selected
  7533. pods is running. Empty topologyKey
  7534. is not allowed.
  7535. type: string
  7536. podAntiAffinity:
  7537. description: Describes pod anti-affinity
  7538. scheduling rules (e.g. avoid putting
  7539. this pod in the same node, zone, etc.
  7540. as some other pod(s)).
  7541. type: object
  7542. properties:
  7543. preferredDuringSchedulingIgnoredDuringExecution:
  7544. description: The scheduler will
  7545. prefer to schedule pods to nodes
  7546. that satisfy the anti-affinity
  7547. expressions specified by this
  7548. field, but it may choose a node
  7549. that violates one or more of the
  7550. expressions. The node that is
  7551. most preferred is the one with
  7552. the greatest sum of weights, i.e.
  7553. for each node that meets all of
  7554. the scheduling requirements (resource
  7555. request, requiredDuringScheduling
  7556. anti-affinity expressions, etc.),
  7557. compute a sum by iterating through
  7558. the elements of this field and
  7559. adding "weight" to the sum if
  7560. the node has pods which matches
  7561. the corresponding podAffinityTerm;
  7562. the node(s) with the highest sum
  7563. are the most preferred.
  7564. type: array
  7565. items:
  7566. description: The weights of all
  7567. of the matched WeightedPodAffinityTerm
  7568. fields are added per-node to
  7569. find the most preferred node(s)
  7570. type: object
  7571. required:
  7572. - podAffinityTerm
  7573. - weight
  7574. properties:
  7575. podAffinityTerm:
  7576. description: Required. A pod
  7577. affinity term, associated
  7578. with the corresponding weight.
  7579. type: object
  7580. required:
  7581. - topologyKey
  7582. properties:
  7583. labelSelector:
  7584. description: A label query
  7585. over a set of resources,
  7586. in this case pods.
  7587. type: object
  7588. properties:
  7589. matchExpressions:
  7590. description: matchExpressions
  7591. is a list of label
  7592. selector requirements.
  7593. The requirements
  7594. are ANDed.
  7595. type: array
  7596. items:
  7597. description: A label
  7598. selector requirement
  7599. is a selector
  7600. that contains
  7601. values, a key,
  7602. and an operator
  7603. that relates the
  7604. key and values.
  7605. type: object
  7606. required:
  7607. - key
  7608. - operator
  7609. properties:
  7610. key:
  7611. description: key
  7612. is the label
  7613. key that the
  7614. selector applies
  7615. to.
  7616. type: string
  7617. operator:
  7618. description: operator
  7619. represents
  7620. a key's relationship
  7621. to a set of
  7622. values. Valid
  7623. operators
  7624. are In, NotIn,
  7625. Exists and
  7626. DoesNotExist.
  7627. type: string
  7628. values:
  7629. description: values
  7630. is an array
  7631. of string
  7632. values. If
  7633. the operator
  7634. is In or NotIn,
  7635. the values
  7636. array must
  7637. be non-empty.
  7638. If the operator
  7639. is Exists
  7640. or DoesNotExist,
  7641. the values
  7642. array must
  7643. be empty.
  7644. This array
  7645. is replaced
  7646. during a strategic
  7647. merge patch.
  7648. type: array
  7649. items:
  7650. type: string
  7651. matchLabels:
  7652. description: matchLabels
  7653. is a map of {key,value}
  7654. pairs. A single
  7655. {key,value} in the
  7656. matchLabels map
  7657. is equivalent to
  7658. an element of matchExpressions,
  7659. whose key field
  7660. is "key", the operator
  7661. is "In", and the
  7662. values array contains
  7663. only "value". The
  7664. requirements are
  7665. ANDed.
  7666. type: object
  7667. additionalProperties:
  7668. type: string
  7669. namespaces:
  7670. description: namespaces
  7671. specifies which namespaces
  7672. the labelSelector applies
  7673. to (matches against);
  7674. null or empty list means
  7675. "this pod's namespace"
  7676. type: array
  7677. items:
  7678. type: string
  7679. topologyKey:
  7680. description: This pod
  7681. should be co-located
  7682. (affinity) or not co-located
  7683. (anti-affinity) with
  7684. the pods matching the
  7685. labelSelector in the
  7686. specified namespaces,
  7687. where co-located is
  7688. defined as running on
  7689. a node whose value of
  7690. the label with key topologyKey
  7691. matches that of any
  7692. node on which any of
  7693. the selected pods is
  7694. running. Empty topologyKey
  7695. is not allowed.
  7696. type: string
  7697. weight:
  7698. description: weight associated
  7699. with matching the corresponding
  7700. podAffinityTerm, in the
  7701. range 1-100.
  7702. type: integer
  7703. format: int32
  7704. requiredDuringSchedulingIgnoredDuringExecution:
  7705. description: If the anti-affinity
  7706. requirements specified by this
  7707. field are not met at scheduling
  7708. time, the pod will not be scheduled
  7709. onto the node. If the anti-affinity
  7710. requirements specified by this
  7711. field cease to be met at some
  7712. point during pod execution (e.g.
  7713. due to a pod label update), the
  7714. system may or may not try to eventually
  7715. evict the pod from its node. When
  7716. there are multiple elements, the
  7717. lists of nodes corresponding to
  7718. each podAffinityTerm are intersected,
  7719. i.e. all terms must be satisfied.
  7720. type: array
  7721. items:
  7722. description: Defines a set of
  7723. pods (namely those matching
  7724. the labelSelector relative to
  7725. the given namespace(s)) that
  7726. this pod should be co-located
  7727. (affinity) or not co-located
  7728. (anti-affinity) with, where
  7729. co-located is defined as running
  7730. on a node whose value of the
  7731. label with key <topologyKey>
  7732. matches that of any node on
  7733. which a pod of the set of pods
  7734. is running
  7735. type: object
  7736. required:
  7737. - topologyKey
  7738. properties:
  7739. labelSelector:
  7740. description: A label query
  7741. over a set of resources,
  7742. in this case pods.
  7743. type: object
  7744. properties:
  7745. matchExpressions:
  7746. description: matchExpressions
  7747. is a list of label selector
  7748. requirements. The requirements
  7749. are ANDed.
  7750. type: array
  7751. items:
  7752. description: A label
  7753. selector requirement
  7754. is a selector that
  7755. contains values, a
  7756. key, and an operator
  7757. that relates the key
  7758. and values.
  7759. type: object
  7760. required:
  7761. - key
  7762. - operator
  7763. properties:
  7764. key:
  7765. description: key
  7766. is the label key
  7767. that the selector
  7768. applies to.
  7769. type: string
  7770. operator:
  7771. description: operator
  7772. represents a key's
  7773. relationship to
  7774. a set of values.
  7775. Valid operators
  7776. are In, NotIn,
  7777. Exists and DoesNotExist.
  7778. type: string
  7779. values:
  7780. description: values
  7781. is an array of
  7782. string values.
  7783. If the operator
  7784. is In or NotIn,
  7785. the values array
  7786. must be non-empty.
  7787. If the operator
  7788. is Exists or DoesNotExist,
  7789. the values array
  7790. must be empty.
  7791. This array is
  7792. replaced during
  7793. a strategic merge
  7794. patch.
  7795. type: array
  7796. items:
  7797. type: string
  7798. matchLabels:
  7799. description: matchLabels
  7800. is a map of {key,value}
  7801. pairs. A single {key,value}
  7802. in the matchLabels map
  7803. is equivalent to an
  7804. element of matchExpressions,
  7805. whose key field is "key",
  7806. the operator is "In",
  7807. and the values array
  7808. contains only "value".
  7809. The requirements are
  7810. ANDed.
  7811. type: object
  7812. additionalProperties:
  7813. type: string
  7814. namespaces:
  7815. description: namespaces specifies
  7816. which namespaces the labelSelector
  7817. applies to (matches against);
  7818. null or empty list means
  7819. "this pod's namespace"
  7820. type: array
  7821. items:
  7822. type: string
  7823. topologyKey:
  7824. description: This pod should
  7825. be co-located (affinity)
  7826. or not co-located (anti-affinity)
  7827. with the pods matching the
  7828. labelSelector in the specified
  7829. namespaces, where co-located
  7830. is defined as running on
  7831. a node whose value of the
  7832. label with key topologyKey
  7833. matches that of any node
  7834. on which any of the selected
  7835. pods is running. Empty topologyKey
  7836. is not allowed.
  7837. type: string
  7838. nodeSelector:
  7839. description: 'NodeSelector is a selector
  7840. which must be true for the pod to fit
  7841. on a node. Selector which must match a
  7842. node''s labels for the pod to be scheduled
  7843. on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  7844. type: object
  7845. additionalProperties:
  7846. type: string
  7847. tolerations:
  7848. description: If specified, the pod's tolerations.
  7849. type: array
  7850. items:
  7851. description: The pod this Toleration is
  7852. attached to tolerates any taint that
  7853. matches the triple <key,value,effect>
  7854. using the matching operator <operator>.
  7855. type: object
  7856. properties:
  7857. effect:
  7858. description: Effect indicates the
  7859. taint effect to match. Empty means
  7860. match all taint effects. When specified,
  7861. allowed values are NoSchedule, PreferNoSchedule
  7862. and NoExecute.
  7863. type: string
  7864. key:
  7865. description: Key is the taint key
  7866. that the toleration applies to.
  7867. Empty means match all taint keys.
  7868. If the key is empty, operator must
  7869. be Exists; this combination means
  7870. to match all values and all keys.
  7871. type: string
  7872. operator:
  7873. description: Operator represents a
  7874. key's relationship to the value.
  7875. Valid operators are Exists and Equal.
  7876. Defaults to Equal. Exists is equivalent
  7877. to wildcard for value, so that a
  7878. pod can tolerate all taints of a
  7879. particular category.
  7880. type: string
  7881. tolerationSeconds:
  7882. description: TolerationSeconds represents
  7883. the period of time the toleration
  7884. (which must be of effect NoExecute,
  7885. otherwise this field is ignored)
  7886. tolerates the taint. By default,
  7887. it is not set, which means tolerate
  7888. the taint forever (do not evict).
  7889. Zero and negative values will be
  7890. treated as 0 (evict immediately)
  7891. by the system.
  7892. type: integer
  7893. format: int64
  7894. value:
  7895. description: Value is the taint value
  7896. the toleration matches to. If the
  7897. operator is Exists, the value should
  7898. be empty, otherwise just a regular
  7899. string.
  7900. type: string
  7901. serviceType:
  7902. description: Optional service type for Kubernetes
  7903. solver service
  7904. type: string
  7905. selector:
  7906. description: Selector selects a set of DNSNames on the Certificate
  7907. resource that should be solved using this challenge solver.
  7908. If not specified, the solver will be treated as the 'default'
  7909. solver with the lowest priority, i.e. if any other solver
  7910. has a more specific match, it will be used instead.
  7911. type: object
  7912. properties:
  7913. dnsNames:
  7914. description: List of DNSNames that this solver will
  7915. be used to solve. If specified and a match is found,
  7916. a dnsNames selector will take precedence over a dnsZones
  7917. selector. If multiple solvers match with the same
  7918. dnsNames value, the solver with the most matching
  7919. labels in matchLabels will be selected. If neither
  7920. has more matches, the solver defined earlier in the
  7921. list will be selected.
  7922. type: array
  7923. items:
  7924. type: string
  7925. dnsZones:
  7926. description: List of DNSZones that this solver will
  7927. be used to solve. The most specific DNS zone match
  7928. specified here will take precedence over other DNS
  7929. zone matches, so a solver specifying sys.example.com
  7930. will be selected over one specifying example.com for
  7931. the domain www.sys.example.com. If multiple solvers
  7932. match with the same dnsZones value, the solver with
  7933. the most matching labels in matchLabels will be selected.
  7934. If neither has more matches, the solver defined earlier
  7935. in the list will be selected.
  7936. type: array
  7937. items:
  7938. type: string
  7939. matchLabels:
  7940. description: A label selector that is used to refine
  7941. the set of certificate's that this challenge solver
  7942. will apply to.
  7943. type: object
  7944. additionalProperties:
  7945. type: string
  7946. ca:
  7947. description: CA configures this issuer to sign certificates using
  7948. a signing CA keypair stored in a Secret resource. This is used to
  7949. build internal PKIs that are managed by cert-manager.
  7950. type: object
  7951. required:
  7952. - secretName
  7953. properties:
  7954. crlDistributionPoints:
  7955. description: The CRL distribution points is an X.509 v3 certificate
  7956. extension which identifies the location of the CRL from which
  7957. the revocation of this certificate can be checked. If not set,
  7958. certificates will be issued without distribution points set.
  7959. type: array
  7960. items:
  7961. type: string
  7962. secretName:
  7963. description: SecretName is the name of the secret used to sign
  7964. Certificates issued by this Issuer.
  7965. type: string
  7966. selfSigned:
  7967. description: SelfSigned configures this issuer to 'self sign' certificates
  7968. using the private key used to create the CertificateRequest object.
  7969. type: object
  7970. properties:
  7971. crlDistributionPoints:
  7972. description: The CRL distribution points is an X.509 v3 certificate
  7973. extension which identifies the location of the CRL from which
  7974. the revocation of this certificate can be checked. If not set
  7975. certificate will be issued without CDP. Values are strings.
  7976. type: array
  7977. items:
  7978. type: string
  7979. vault:
  7980. description: Vault configures this issuer to sign certificates using
  7981. a HashiCorp Vault PKI backend.
  7982. type: object
  7983. required:
  7984. - auth
  7985. - path
  7986. - server
  7987. properties:
  7988. auth:
  7989. description: Auth configures how cert-manager authenticates with
  7990. the Vault server.
  7991. type: object
  7992. properties:
  7993. appRole:
  7994. description: AppRole authenticates with Vault using the App
  7995. Role auth mechanism, with the role and secret stored in
  7996. a Kubernetes Secret resource.
  7997. type: object
  7998. required:
  7999. - path
  8000. - roleId
  8001. - secretRef
  8002. properties:
  8003. path:
  8004. description: 'Path where the App Role authentication backend
  8005. is mounted in Vault, e.g: "approle"'
  8006. type: string
  8007. roleId:
  8008. description: RoleID configured in the App Role authentication
  8009. backend when setting up the authentication backend in
  8010. Vault.
  8011. type: string
  8012. secretRef:
  8013. description: Reference to a key in a Secret that contains
  8014. the App Role secret used to authenticate with Vault.
  8015. The `key` field must be specified and denotes which
  8016. entry within the Secret resource is used as the app
  8017. role secret.
  8018. type: object
  8019. required:
  8020. - name
  8021. properties:
  8022. key:
  8023. description: The key of the entry in the Secret resource's
  8024. `data` field to be used. Some instances of this
  8025. field may be defaulted, in others it may be required.
  8026. type: string
  8027. name:
  8028. description: 'Name of the resource being referred
  8029. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8030. type: string
  8031. kubernetes:
  8032. description: Kubernetes authenticates with Vault by passing
  8033. the ServiceAccount token stored in the named Secret resource
  8034. to the Vault server.
  8035. type: object
  8036. required:
  8037. - role
  8038. - secretRef
  8039. properties:
  8040. mountPath:
  8041. description: The Vault mountPath here is the mount path
  8042. to use when authenticating with Vault. For example,
  8043. setting a value to `/v1/auth/foo`, will use the path
  8044. `/v1/auth/foo/login` to authenticate with Vault. If
  8045. unspecified, the default value "/v1/auth/kubernetes"
  8046. will be used.
  8047. type: string
  8048. role:
  8049. description: A required field containing the Vault Role
  8050. to assume. A Role binds a Kubernetes ServiceAccount
  8051. with a set of Vault policies.
  8052. type: string
  8053. secretRef:
  8054. description: The required Secret field containing a Kubernetes
  8055. ServiceAccount JWT used for authenticating with Vault.
  8056. Use of 'ambient credentials' is not supported.
  8057. type: object
  8058. required:
  8059. - name
  8060. properties:
  8061. key:
  8062. description: The key of the entry in the Secret resource's
  8063. `data` field to be used. Some instances of this
  8064. field may be defaulted, in others it may be required.
  8065. type: string
  8066. name:
  8067. description: 'Name of the resource being referred
  8068. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8069. type: string
  8070. tokenSecretRef:
  8071. description: TokenSecretRef authenticates with Vault by presenting
  8072. a token.
  8073. type: object
  8074. required:
  8075. - name
  8076. properties:
  8077. key:
  8078. description: The key of the entry in the Secret resource's
  8079. `data` field to be used. Some instances of this field
  8080. may be defaulted, in others it may be required.
  8081. type: string
  8082. name:
  8083. description: 'Name of the resource being referred to.
  8084. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8085. type: string
  8086. caBundle:
  8087. description: PEM encoded CA bundle used to validate Vault server
  8088. certificate. Only used if the Server URL is using HTTPS protocol.
  8089. This parameter is ignored for plain HTTP protocol connection.
  8090. If not set the system root certificates are used to validate
  8091. the TLS connection.
  8092. type: string
  8093. format: byte
  8094. path:
  8095. description: 'Path is the mount path of the Vault PKI backend''s
  8096. `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  8097. type: string
  8098. server:
  8099. description: 'Server is the connection address for the Vault server,
  8100. e.g: "https://vault.example.com:8200".'
  8101. type: string
  8102. venafi:
  8103. description: Venafi configures this issuer to sign certificates using
  8104. a Venafi TPP or Venafi Cloud policy zone.
  8105. type: object
  8106. required:
  8107. - zone
  8108. properties:
  8109. cloud:
  8110. description: Cloud specifies the Venafi cloud configuration settings.
  8111. Only one of TPP or Cloud may be specified.
  8112. type: object
  8113. required:
  8114. - apiTokenSecretRef
  8115. properties:
  8116. apiTokenSecretRef:
  8117. description: APITokenSecretRef is a secret key selector for
  8118. the Venafi Cloud API token.
  8119. type: object
  8120. required:
  8121. - name
  8122. properties:
  8123. key:
  8124. description: The key of the entry in the Secret resource's
  8125. `data` field to be used. Some instances of this field
  8126. may be defaulted, in others it may be required.
  8127. type: string
  8128. name:
  8129. description: 'Name of the resource being referred to.
  8130. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8131. type: string
  8132. url:
  8133. description: URL is the base URL for Venafi Cloud. Defaults
  8134. to "https://api.venafi.cloud/v1".
  8135. type: string
  8136. tpp:
  8137. description: TPP specifies Trust Protection Platform configuration
  8138. settings. Only one of TPP or Cloud may be specified.
  8139. type: object
  8140. required:
  8141. - credentialsRef
  8142. - url
  8143. properties:
  8144. caBundle:
  8145. description: CABundle is a PEM encoded TLS certificate to
  8146. use to verify connections to the TPP instance. If specified,
  8147. system roots will not be used and the issuing CA for the
  8148. TPP instance must be verifiable using the provided root.
  8149. If not specified, the connection will be verified using
  8150. the cert-manager system root certificates.
  8151. type: string
  8152. format: byte
  8153. credentialsRef:
  8154. description: CredentialsRef is a reference to a Secret containing
  8155. the username and password for the TPP server. The secret
  8156. must contain two keys, 'username' and 'password'.
  8157. type: object
  8158. required:
  8159. - name
  8160. properties:
  8161. name:
  8162. description: 'Name of the resource being referred to.
  8163. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8164. type: string
  8165. url:
  8166. description: 'URL is the base URL for the vedsdk endpoint
  8167. of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  8168. type: string
  8169. zone:
  8170. description: Zone is the Venafi Policy Zone to use for this issuer.
  8171. All requests made to the Venafi platform will be restricted
  8172. by the named zone policy. This field is required.
  8173. type: string
  8174. status:
  8175. description: Status of the ClusterIssuer. This is set and managed automatically.
  8176. type: object
  8177. properties:
  8178. acme:
  8179. description: ACME specific status options. This field should only
  8180. be set if the Issuer is configured to use an ACME server to issue
  8181. certificates.
  8182. type: object
  8183. properties:
  8184. lastRegisteredEmail:
  8185. description: LastRegisteredEmail is the email associated with
  8186. the latest registered ACME account, in order to track changes
  8187. made to registered account associated with the Issuer
  8188. type: string
  8189. uri:
  8190. description: URI is the unique account identifier, which can also
  8191. be used to retrieve account details from the CA
  8192. type: string
  8193. conditions:
  8194. description: List of status conditions to indicate the status of a
  8195. CertificateRequest. Known condition types are `Ready`.
  8196. type: array
  8197. items:
  8198. description: IssuerCondition contains condition information for
  8199. an Issuer.
  8200. type: object
  8201. required:
  8202. - status
  8203. - type
  8204. properties:
  8205. lastTransitionTime:
  8206. description: LastTransitionTime is the timestamp corresponding
  8207. to the last status change of this condition.
  8208. type: string
  8209. format: date-time
  8210. message:
  8211. description: Message is a human readable description of the
  8212. details of the last transition, complementing reason.
  8213. type: string
  8214. reason:
  8215. description: Reason is a brief machine readable explanation
  8216. for the condition's last transition.
  8217. type: string
  8218. status:
  8219. description: Status of the condition, one of ('True', 'False',
  8220. 'Unknown').
  8221. type: string
  8222. enum:
  8223. - "True"
  8224. - "False"
  8225. - Unknown
  8226. type:
  8227. description: Type of the condition, known values are ('Ready').
  8228. type: string
  8229. - name: v1alpha3
  8230. served: true
  8231. storage: false
  8232. "schema":
  8233. "openAPIV3Schema":
  8234. description: A ClusterIssuer represents a certificate issuing authority which
  8235. can be referenced as part of `issuerRef` fields. It is similar to an Issuer,
  8236. however it is cluster-scoped and therefore can be referenced by resources
  8237. that exist in *any* namespace, not just the same namespace as the referent.
  8238. type: object
  8239. properties:
  8240. apiVersion:
  8241. description: 'APIVersion defines the versioned schema of this representation
  8242. of an object. Servers should convert recognized schemas to the latest
  8243. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  8244. type: string
  8245. kind:
  8246. description: 'Kind is a string value representing the REST resource this
  8247. object represents. Servers may infer this from the endpoint the client
  8248. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  8249. type: string
  8250. metadata:
  8251. type: object
  8252. spec:
  8253. description: Desired state of the ClusterIssuer resource.
  8254. type: object
  8255. properties:
  8256. acme:
  8257. description: ACME configures this issuer to communicate with a RFC8555
  8258. (ACME) server to obtain signed x509 certificates.
  8259. type: object
  8260. required:
  8261. - privateKeySecretRef
  8262. - server
  8263. properties:
  8264. email:
  8265. description: Email is the email address to be associated with
  8266. the ACME account. This field is optional, but it is strongly
  8267. recommended to be set. It will be used to contact you in case
  8268. of issues with your account or certificates, including expiry
  8269. notification emails. This field may be updated after the account
  8270. is initially registered.
  8271. type: string
  8272. externalAccountBinding:
  8273. description: ExternalAccountBinding is a reference to a CA external
  8274. account of the ACME server. If set, upon registration cert-manager
  8275. will attempt to associate the given external account credentials
  8276. with the registered ACME account.
  8277. type: object
  8278. required:
  8279. - keyAlgorithm
  8280. - keyID
  8281. - keySecretRef
  8282. properties:
  8283. keyAlgorithm:
  8284. description: keyAlgorithm is the MAC key algorithm that the
  8285. key is used for. Valid values are "HS256", "HS384" and "HS512".
  8286. type: string
  8287. enum:
  8288. - HS256
  8289. - HS384
  8290. - HS512
  8291. keyID:
  8292. description: keyID is the ID of the CA key that the External
  8293. Account is bound to.
  8294. type: string
  8295. keySecretRef:
  8296. description: keySecretRef is a Secret Key Selector referencing
  8297. a data item in a Kubernetes Secret which holds the symmetric
  8298. MAC key of the External Account Binding. The `key` is the
  8299. index string that is paired with the key data in the Secret
  8300. and should not be confused with the key data itself, or
  8301. indeed with the External Account Binding keyID above. The
  8302. secret key stored in the Secret **must** be un-padded, base64
  8303. URL encoded data.
  8304. type: object
  8305. required:
  8306. - name
  8307. properties:
  8308. key:
  8309. description: The key of the entry in the Secret resource's
  8310. `data` field to be used. Some instances of this field
  8311. may be defaulted, in others it may be required.
  8312. type: string
  8313. name:
  8314. description: 'Name of the resource being referred to.
  8315. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8316. type: string
  8317. privateKeySecretRef:
  8318. description: PrivateKey is the name of a Kubernetes Secret resource
  8319. that will be used to store the automatically generated ACME
  8320. account private key. Optionally, a `key` may be specified to
  8321. select a specific entry within the named Secret resource. If
  8322. `key` is not specified, a default of `tls.key` will be used.
  8323. type: object
  8324. required:
  8325. - name
  8326. properties:
  8327. key:
  8328. description: The key of the entry in the Secret resource's
  8329. `data` field to be used. Some instances of this field may
  8330. be defaulted, in others it may be required.
  8331. type: string
  8332. name:
  8333. description: 'Name of the resource being referred to. More
  8334. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8335. type: string
  8336. server:
  8337. description: 'Server is the URL used to access the ACME server''s
  8338. ''directory'' endpoint. For example, for Let''s Encrypt''s staging
  8339. endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory".
  8340. Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  8341. type: string
  8342. skipTLSVerify:
  8343. description: Enables or disables validation of the ACME server
  8344. TLS certificate. If true, requests to the ACME server will not
  8345. have their TLS certificate validated (i.e. insecure connections
  8346. will be allowed). Only enable this option in development environments.
  8347. The cert-manager system installed roots will be used to verify
  8348. connections to the ACME server if this is false. Defaults to
  8349. false.
  8350. type: boolean
  8351. solvers:
  8352. description: 'Solvers is a list of challenge solvers that will
  8353. be used to solve ACME challenges for the matching domains. Solver
  8354. configurations must be provided in order to obtain certificates
  8355. from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  8356. type: array
  8357. items:
  8358. description: Configures an issuer to solve challenges using
  8359. the specified options. Only one of HTTP01 or DNS01 may be
  8360. provided.
  8361. type: object
  8362. properties:
  8363. dns01:
  8364. description: Configures cert-manager to attempt to complete
  8365. authorizations by performing the DNS01 challenge flow.
  8366. type: object
  8367. properties:
  8368. acmedns:
  8369. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  8370. API to manage DNS01 challenge records.
  8371. type: object
  8372. required:
  8373. - accountSecretRef
  8374. - host
  8375. properties:
  8376. accountSecretRef:
  8377. description: A reference to a specific 'key' within
  8378. a Secret resource. In some instances, `key` is
  8379. a required field.
  8380. type: object
  8381. required:
  8382. - name
  8383. properties:
  8384. key:
  8385. description: The key of the entry in the Secret
  8386. resource's `data` field to be used. Some instances
  8387. of this field may be defaulted, in others
  8388. it may be required.
  8389. type: string
  8390. name:
  8391. description: 'Name of the resource being referred
  8392. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8393. type: string
  8394. host:
  8395. type: string
  8396. akamai:
  8397. description: Use the Akamai DNS zone management API
  8398. to manage DNS01 challenge records.
  8399. type: object
  8400. required:
  8401. - accessTokenSecretRef
  8402. - clientSecretSecretRef
  8403. - clientTokenSecretRef
  8404. - serviceConsumerDomain
  8405. properties:
  8406. accessTokenSecretRef:
  8407. description: A reference to a specific 'key' within
  8408. a Secret resource. In some instances, `key` is
  8409. a required field.
  8410. type: object
  8411. required:
  8412. - name
  8413. properties:
  8414. key:
  8415. description: The key of the entry in the Secret
  8416. resource's `data` field to be used. Some instances
  8417. of this field may be defaulted, in others
  8418. it may be required.
  8419. type: string
  8420. name:
  8421. description: 'Name of the resource being referred
  8422. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8423. type: string
  8424. clientSecretSecretRef:
  8425. description: A reference to a specific 'key' within
  8426. a Secret resource. In some instances, `key` is
  8427. a required field.
  8428. type: object
  8429. required:
  8430. - name
  8431. properties:
  8432. key:
  8433. description: The key of the entry in the Secret
  8434. resource's `data` field to be used. Some instances
  8435. of this field may be defaulted, in others
  8436. it may be required.
  8437. type: string
  8438. name:
  8439. description: 'Name of the resource being referred
  8440. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8441. type: string
  8442. clientTokenSecretRef:
  8443. description: A reference to a specific 'key' within
  8444. a Secret resource. In some instances, `key` is
  8445. a required field.
  8446. type: object
  8447. required:
  8448. - name
  8449. properties:
  8450. key:
  8451. description: The key of the entry in the Secret
  8452. resource's `data` field to be used. Some instances
  8453. of this field may be defaulted, in others
  8454. it may be required.
  8455. type: string
  8456. name:
  8457. description: 'Name of the resource being referred
  8458. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8459. type: string
  8460. serviceConsumerDomain:
  8461. type: string
  8462. azuredns:
  8463. description: Use the Microsoft Azure DNS API to manage
  8464. DNS01 challenge records.
  8465. type: object
  8466. required:
  8467. - resourceGroupName
  8468. - subscriptionID
  8469. properties:
  8470. clientID:
  8471. description: if both this and ClientSecret are left
  8472. unset MSI will be used
  8473. type: string
  8474. clientSecretSecretRef:
  8475. description: if both this and ClientID are left
  8476. unset MSI will be used
  8477. type: object
  8478. required:
  8479. - name
  8480. properties:
  8481. key:
  8482. description: The key of the entry in the Secret
  8483. resource's `data` field to be used. Some instances
  8484. of this field may be defaulted, in others
  8485. it may be required.
  8486. type: string
  8487. name:
  8488. description: 'Name of the resource being referred
  8489. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8490. type: string
  8491. environment:
  8492. type: string
  8493. enum:
  8494. - AzurePublicCloud
  8495. - AzureChinaCloud
  8496. - AzureGermanCloud
  8497. - AzureUSGovernmentCloud
  8498. hostedZoneName:
  8499. type: string
  8500. resourceGroupName:
  8501. type: string
  8502. subscriptionID:
  8503. type: string
  8504. tenantID:
  8505. description: when specifying ClientID and ClientSecret
  8506. then this field is also needed
  8507. type: string
  8508. clouddns:
  8509. description: Use the Google Cloud DNS API to manage
  8510. DNS01 challenge records.
  8511. type: object
  8512. required:
  8513. - project
  8514. properties:
  8515. hostedZoneName:
  8516. description: HostedZoneName is an optional field
  8517. that tells cert-manager in which Cloud DNS zone
  8518. the challenge record has to be created. If left
  8519. empty cert-manager will automatically choose a
  8520. zone.
  8521. type: string
  8522. project:
  8523. type: string
  8524. serviceAccountSecretRef:
  8525. description: A reference to a specific 'key' within
  8526. a Secret resource. In some instances, `key` is
  8527. a required field.
  8528. type: object
  8529. required:
  8530. - name
  8531. properties:
  8532. key:
  8533. description: The key of the entry in the Secret
  8534. resource's `data` field to be used. Some instances
  8535. of this field may be defaulted, in others
  8536. it may be required.
  8537. type: string
  8538. name:
  8539. description: 'Name of the resource being referred
  8540. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8541. type: string
  8542. cloudflare:
  8543. description: Use the Cloudflare API to manage DNS01
  8544. challenge records.
  8545. type: object
  8546. properties:
  8547. apiKeySecretRef:
  8548. description: 'API key to use to authenticate with
  8549. Cloudflare. Note: using an API token to authenticate
  8550. is now the recommended method as it allows greater
  8551. control of permissions.'
  8552. type: object
  8553. required:
  8554. - name
  8555. properties:
  8556. key:
  8557. description: The key of the entry in the Secret
  8558. resource's `data` field to be used. Some instances
  8559. of this field may be defaulted, in others
  8560. it may be required.
  8561. type: string
  8562. name:
  8563. description: 'Name of the resource being referred
  8564. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8565. type: string
  8566. apiTokenSecretRef:
  8567. description: API token used to authenticate with
  8568. Cloudflare.
  8569. type: object
  8570. required:
  8571. - name
  8572. properties:
  8573. key:
  8574. description: The key of the entry in the Secret
  8575. resource's `data` field to be used. Some instances
  8576. of this field may be defaulted, in others
  8577. it may be required.
  8578. type: string
  8579. name:
  8580. description: 'Name of the resource being referred
  8581. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8582. type: string
  8583. email:
  8584. description: Email of the account, only required
  8585. when using API key based authentication.
  8586. type: string
  8587. cnameStrategy:
  8588. description: CNAMEStrategy configures how the DNS01
  8589. provider should handle CNAME records when found in
  8590. DNS zones.
  8591. type: string
  8592. enum:
  8593. - None
  8594. - Follow
  8595. digitalocean:
  8596. description: Use the DigitalOcean DNS API to manage
  8597. DNS01 challenge records.
  8598. type: object
  8599. required:
  8600. - tokenSecretRef
  8601. properties:
  8602. tokenSecretRef:
  8603. description: A reference to a specific 'key' within
  8604. a Secret resource. In some instances, `key` is
  8605. a required field.
  8606. type: object
  8607. required:
  8608. - name
  8609. properties:
  8610. key:
  8611. description: The key of the entry in the Secret
  8612. resource's `data` field to be used. Some instances
  8613. of this field may be defaulted, in others
  8614. it may be required.
  8615. type: string
  8616. name:
  8617. description: 'Name of the resource being referred
  8618. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8619. type: string
  8620. rfc2136:
  8621. description: Use RFC2136 ("Dynamic Updates in the Domain
  8622. Name System") (https://datatracker.ietf.org/doc/rfc2136/)
  8623. to manage DNS01 challenge records.
  8624. type: object
  8625. required:
  8626. - nameserver
  8627. properties:
  8628. nameserver:
  8629. description: The IP address or hostname of an authoritative
  8630. DNS server supporting RFC2136 in the form host:port.
  8631. If the host is an IPv6 address it must be enclosed
  8632. in square brackets (e.g [2001:db8::1]) ; port
  8633. is optional. This field is required.
  8634. type: string
  8635. tsigAlgorithm:
  8636. description: 'The TSIG Algorithm configured in the
  8637. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  8638. and ``tsigKeyName`` are defined. Supported values
  8639. are (case-insensitive): ``HMACMD5`` (default),
  8640. ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  8641. type: string
  8642. tsigKeyName:
  8643. description: The TSIG Key name configured in the
  8644. DNS. If ``tsigSecretSecretRef`` is defined, this
  8645. field is required.
  8646. type: string
  8647. tsigSecretSecretRef:
  8648. description: The name of the secret containing the
  8649. TSIG value. If ``tsigKeyName`` is defined, this
  8650. field is required.
  8651. type: object
  8652. required:
  8653. - name
  8654. properties:
  8655. key:
  8656. description: The key of the entry in the Secret
  8657. resource's `data` field to be used. Some instances
  8658. of this field may be defaulted, in others
  8659. it may be required.
  8660. type: string
  8661. name:
  8662. description: 'Name of the resource being referred
  8663. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8664. type: string
  8665. route53:
  8666. description: Use the AWS Route53 API to manage DNS01
  8667. challenge records.
  8668. type: object
  8669. required:
  8670. - region
  8671. properties:
  8672. accessKeyID:
  8673. description: 'The AccessKeyID is used for authentication.
  8674. If not set we fall-back to using env vars, shared
  8675. credentials file or AWS Instance metadata see:
  8676. https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  8677. type: string
  8678. hostedZoneID:
  8679. description: If set, the provider will manage only
  8680. this zone in Route53 and will not do an lookup
  8681. using the route53:ListHostedZonesByName api call.
  8682. type: string
  8683. region:
  8684. description: Always set the region when using AccessKeyID
  8685. and SecretAccessKey
  8686. type: string
  8687. role:
  8688. description: Role is a Role ARN which the Route53
  8689. provider will assume using either the explicit
  8690. credentials AccessKeyID/SecretAccessKey or the
  8691. inferred credentials from environment variables,
  8692. shared credentials file or AWS Instance metadata
  8693. type: string
  8694. secretAccessKeySecretRef:
  8695. description: The SecretAccessKey is used for authentication.
  8696. If not set we fall-back to using env vars, shared
  8697. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  8698. type: object
  8699. required:
  8700. - name
  8701. properties:
  8702. key:
  8703. description: The key of the entry in the Secret
  8704. resource's `data` field to be used. Some instances
  8705. of this field may be defaulted, in others
  8706. it may be required.
  8707. type: string
  8708. name:
  8709. description: 'Name of the resource being referred
  8710. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  8711. type: string
  8712. webhook:
  8713. description: Configure an external webhook based DNS01
  8714. challenge solver to manage DNS01 challenge records.
  8715. type: object
  8716. required:
  8717. - groupName
  8718. - solverName
  8719. properties:
  8720. config:
  8721. description: Additional configuration that should
  8722. be passed to the webhook apiserver when challenges
  8723. are processed. This can contain arbitrary JSON
  8724. data. Secret values should not be specified in
  8725. this stanza. If secret values are needed (e.g.
  8726. credentials for a DNS service), you should use
  8727. a SecretKeySelector to reference a Secret resource.
  8728. For details on the schema of this field, consult
  8729. the webhook provider implementation's documentation.
  8730. x-kubernetes-preserve-unknown-fields: true
  8731. groupName:
  8732. description: The API group name that should be used
  8733. when POSTing ChallengePayload resources to the
  8734. webhook apiserver. This should be the same as
  8735. the GroupName specified in the webhook provider
  8736. implementation.
  8737. type: string
  8738. solverName:
  8739. description: The name of the solver to use, as defined
  8740. in the webhook provider implementation. This will
  8741. typically be the name of the provider, e.g. 'cloudflare'.
  8742. type: string
  8743. http01:
  8744. description: Configures cert-manager to attempt to complete
  8745. authorizations by performing the HTTP01 challenge flow.
  8746. It is not possible to obtain certificates for wildcard
  8747. domain names (e.g. `*.example.com`) using the HTTP01 challenge
  8748. mechanism.
  8749. type: object
  8750. properties:
  8751. ingress:
  8752. description: The ingress based HTTP01 challenge solver
  8753. will solve challenges by creating or modifying Ingress
  8754. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  8755. to 'challenge solver' pods that are provisioned by
  8756. cert-manager for each Challenge to be completed.
  8757. type: object
  8758. properties:
  8759. class:
  8760. description: The ingress class to use when creating
  8761. Ingress resources to solve ACME challenges that
  8762. use this challenge solver. Only one of 'class'
  8763. or 'name' may be specified.
  8764. type: string
  8765. ingressTemplate:
  8766. description: Optional ingress template used to configure
  8767. the ACME challenge solver ingress used for HTTP01
  8768. challenges
  8769. type: object
  8770. properties:
  8771. metadata:
  8772. description: ObjectMeta overrides for the ingress
  8773. used to solve HTTP01 challenges. Only the
  8774. 'labels' and 'annotations' fields may be set.
  8775. If labels or annotations overlap with in-built
  8776. values, the values here will override the
  8777. in-built values.
  8778. type: object
  8779. properties:
  8780. annotations:
  8781. description: Annotations that should be
  8782. added to the created ACME HTTP01 solver
  8783. ingress.
  8784. type: object
  8785. additionalProperties:
  8786. type: string
  8787. labels:
  8788. description: Labels that should be added
  8789. to the created ACME HTTP01 solver ingress.
  8790. type: object
  8791. additionalProperties:
  8792. type: string
  8793. name:
  8794. description: The name of the ingress resource that
  8795. should have ACME challenge solving routes inserted
  8796. into it in order to solve HTTP01 challenges. This
  8797. is typically used in conjunction with ingress
  8798. controllers like ingress-gce, which maintains
  8799. a 1:1 mapping between external IPs and ingress
  8800. resources.
  8801. type: string
  8802. podTemplate:
  8803. description: Optional pod template used to configure
  8804. the ACME challenge solver pods used for HTTP01
  8805. challenges
  8806. type: object
  8807. properties:
  8808. metadata:
  8809. description: ObjectMeta overrides for the pod
  8810. used to solve HTTP01 challenges. Only the
  8811. 'labels' and 'annotations' fields may be set.
  8812. If labels or annotations overlap with in-built
  8813. values, the values here will override the
  8814. in-built values.
  8815. type: object
  8816. properties:
  8817. annotations:
  8818. description: Annotations that should be
  8819. added to the create ACME HTTP01 solver
  8820. pods.
  8821. type: object
  8822. additionalProperties:
  8823. type: string
  8824. labels:
  8825. description: Labels that should be added
  8826. to the created ACME HTTP01 solver pods.
  8827. type: object
  8828. additionalProperties:
  8829. type: string
  8830. spec:
  8831. description: PodSpec defines overrides for the
  8832. HTTP01 challenge solver pod. Only the 'nodeSelector',
  8833. 'affinity' and 'tolerations' fields are supported
  8834. currently. All other fields will be ignored.
  8835. type: object
  8836. properties:
  8837. affinity:
  8838. description: If specified, the pod's scheduling
  8839. constraints
  8840. type: object
  8841. properties:
  8842. nodeAffinity:
  8843. description: Describes node affinity
  8844. scheduling rules for the pod.
  8845. type: object
  8846. properties:
  8847. preferredDuringSchedulingIgnoredDuringExecution:
  8848. description: The scheduler will
  8849. prefer to schedule pods to nodes
  8850. that satisfy the affinity expressions
  8851. specified by this field, but it
  8852. may choose a node that violates
  8853. one or more of the expressions.
  8854. The node that is most preferred
  8855. is the one with the greatest sum
  8856. of weights, i.e. for each node
  8857. that meets all of the scheduling
  8858. requirements (resource request,
  8859. requiredDuringScheduling affinity
  8860. expressions, etc.), compute a
  8861. sum by iterating through the elements
  8862. of this field and adding "weight"
  8863. to the sum if the node matches
  8864. the corresponding matchExpressions;
  8865. the node(s) with the highest sum
  8866. are the most preferred.
  8867. type: array
  8868. items:
  8869. description: An empty preferred
  8870. scheduling term matches all
  8871. objects with implicit weight
  8872. 0 (i.e. it's a no-op). A null
  8873. preferred scheduling term matches
  8874. no objects (i.e. is also a no-op).
  8875. type: object
  8876. required:
  8877. - preference
  8878. - weight
  8879. properties:
  8880. preference:
  8881. description: A node selector
  8882. term, associated with the
  8883. corresponding weight.
  8884. type: object
  8885. properties:
  8886. matchExpressions:
  8887. description: A list of
  8888. node selector requirements
  8889. by node's labels.
  8890. type: array
  8891. items:
  8892. description: A node
  8893. selector requirement
  8894. is a selector that
  8895. contains values, a
  8896. key, and an operator
  8897. that relates the key
  8898. and values.
  8899. type: object
  8900. required:
  8901. - key
  8902. - operator
  8903. properties:
  8904. key:
  8905. description: The
  8906. label key that
  8907. the selector applies
  8908. to.
  8909. type: string
  8910. operator:
  8911. description: Represents
  8912. a key's relationship
  8913. to a set of values.
  8914. Valid operators
  8915. are In, NotIn,
  8916. Exists, DoesNotExist.
  8917. Gt, and Lt.
  8918. type: string
  8919. values:
  8920. description: An
  8921. array of string
  8922. values. If the
  8923. operator is In
  8924. or NotIn, the
  8925. values array must
  8926. be non-empty.
  8927. If the operator
  8928. is Exists or DoesNotExist,
  8929. the values array
  8930. must be empty.
  8931. If the operator
  8932. is Gt or Lt, the
  8933. values array must
  8934. have a single
  8935. element, which
  8936. will be interpreted
  8937. as an integer.
  8938. This array is
  8939. replaced during
  8940. a strategic merge
  8941. patch.
  8942. type: array
  8943. items:
  8944. type: string
  8945. matchFields:
  8946. description: A list of
  8947. node selector requirements
  8948. by node's fields.
  8949. type: array
  8950. items:
  8951. description: A node
  8952. selector requirement
  8953. is a selector that
  8954. contains values, a
  8955. key, and an operator
  8956. that relates the key
  8957. and values.
  8958. type: object
  8959. required:
  8960. - key
  8961. - operator
  8962. properties:
  8963. key:
  8964. description: The
  8965. label key that
  8966. the selector applies
  8967. to.
  8968. type: string
  8969. operator:
  8970. description: Represents
  8971. a key's relationship
  8972. to a set of values.
  8973. Valid operators
  8974. are In, NotIn,
  8975. Exists, DoesNotExist.
  8976. Gt, and Lt.
  8977. type: string
  8978. values:
  8979. description: An
  8980. array of string
  8981. values. If the
  8982. operator is In
  8983. or NotIn, the
  8984. values array must
  8985. be non-empty.
  8986. If the operator
  8987. is Exists or DoesNotExist,
  8988. the values array
  8989. must be empty.
  8990. If the operator
  8991. is Gt or Lt, the
  8992. values array must
  8993. have a single
  8994. element, which
  8995. will be interpreted
  8996. as an integer.
  8997. This array is
  8998. replaced during
  8999. a strategic merge
  9000. patch.
  9001. type: array
  9002. items:
  9003. type: string
  9004. weight:
  9005. description: Weight associated
  9006. with matching the corresponding
  9007. nodeSelectorTerm, in the
  9008. range 1-100.
  9009. type: integer
  9010. format: int32
  9011. requiredDuringSchedulingIgnoredDuringExecution:
  9012. description: If the affinity requirements
  9013. specified by this field are not
  9014. met at scheduling time, the pod
  9015. will not be scheduled onto the
  9016. node. If the affinity requirements
  9017. specified by this field cease
  9018. to be met at some point during
  9019. pod execution (e.g. due to an
  9020. update), the system may or may
  9021. not try to eventually evict the
  9022. pod from its node.
  9023. type: object
  9024. required:
  9025. - nodeSelectorTerms
  9026. properties:
  9027. nodeSelectorTerms:
  9028. description: Required. A list
  9029. of node selector terms. The
  9030. terms are ORed.
  9031. type: array
  9032. items:
  9033. description: A null or empty
  9034. node selector term matches
  9035. no objects. The requirements
  9036. of them are ANDed. The TopologySelectorTerm
  9037. type implements a subset
  9038. of the NodeSelectorTerm.
  9039. type: object
  9040. properties:
  9041. matchExpressions:
  9042. description: A list of
  9043. node selector requirements
  9044. by node's labels.
  9045. type: array
  9046. items:
  9047. description: A node
  9048. selector requirement
  9049. is a selector that
  9050. contains values, a
  9051. key, and an operator
  9052. that relates the key
  9053. and values.
  9054. type: object
  9055. required:
  9056. - key
  9057. - operator
  9058. properties:
  9059. key:
  9060. description: The
  9061. label key that
  9062. the selector applies
  9063. to.
  9064. type: string
  9065. operator:
  9066. description: Represents
  9067. a key's relationship
  9068. to a set of values.
  9069. Valid operators
  9070. are In, NotIn,
  9071. Exists, DoesNotExist.
  9072. Gt, and Lt.
  9073. type: string
  9074. values:
  9075. description: An
  9076. array of string
  9077. values. If the
  9078. operator is In
  9079. or NotIn, the
  9080. values array must
  9081. be non-empty.
  9082. If the operator
  9083. is Exists or DoesNotExist,
  9084. the values array
  9085. must be empty.
  9086. If the operator
  9087. is Gt or Lt, the
  9088. values array must
  9089. have a single
  9090. element, which
  9091. will be interpreted
  9092. as an integer.
  9093. This array is
  9094. replaced during
  9095. a strategic merge
  9096. patch.
  9097. type: array
  9098. items:
  9099. type: string
  9100. matchFields:
  9101. description: A list of
  9102. node selector requirements
  9103. by node's fields.
  9104. type: array
  9105. items:
  9106. description: A node
  9107. selector requirement
  9108. is a selector that
  9109. contains values, a
  9110. key, and an operator
  9111. that relates the key
  9112. and values.
  9113. type: object
  9114. required:
  9115. - key
  9116. - operator
  9117. properties:
  9118. key:
  9119. description: The
  9120. label key that
  9121. the selector applies
  9122. to.
  9123. type: string
  9124. operator:
  9125. description: Represents
  9126. a key's relationship
  9127. to a set of values.
  9128. Valid operators
  9129. are In, NotIn,
  9130. Exists, DoesNotExist.
  9131. Gt, and Lt.
  9132. type: string
  9133. values:
  9134. description: An
  9135. array of string
  9136. values. If the
  9137. operator is In
  9138. or NotIn, the
  9139. values array must
  9140. be non-empty.
  9141. If the operator
  9142. is Exists or DoesNotExist,
  9143. the values array
  9144. must be empty.
  9145. If the operator
  9146. is Gt or Lt, the
  9147. values array must
  9148. have a single
  9149. element, which
  9150. will be interpreted
  9151. as an integer.
  9152. This array is
  9153. replaced during
  9154. a strategic merge
  9155. patch.
  9156. type: array
  9157. items:
  9158. type: string
  9159. podAffinity:
  9160. description: Describes pod affinity
  9161. scheduling rules (e.g. co-locate this
  9162. pod in the same node, zone, etc. as
  9163. some other pod(s)).
  9164. type: object
  9165. properties:
  9166. preferredDuringSchedulingIgnoredDuringExecution:
  9167. description: The scheduler will
  9168. prefer to schedule pods to nodes
  9169. that satisfy the affinity expressions
  9170. specified by this field, but it
  9171. may choose a node that violates
  9172. one or more of the expressions.
  9173. The node that is most preferred
  9174. is the one with the greatest sum
  9175. of weights, i.e. for each node
  9176. that meets all of the scheduling
  9177. requirements (resource request,
  9178. requiredDuringScheduling affinity
  9179. expressions, etc.), compute a
  9180. sum by iterating through the elements
  9181. of this field and adding "weight"
  9182. to the sum if the node has pods
  9183. which matches the corresponding
  9184. podAffinityTerm; the node(s) with
  9185. the highest sum are the most preferred.
  9186. type: array
  9187. items:
  9188. description: The weights of all
  9189. of the matched WeightedPodAffinityTerm
  9190. fields are added per-node to
  9191. find the most preferred node(s)
  9192. type: object
  9193. required:
  9194. - podAffinityTerm
  9195. - weight
  9196. properties:
  9197. podAffinityTerm:
  9198. description: Required. A pod
  9199. affinity term, associated
  9200. with the corresponding weight.
  9201. type: object
  9202. required:
  9203. - topologyKey
  9204. properties:
  9205. labelSelector:
  9206. description: A label query
  9207. over a set of resources,
  9208. in this case pods.
  9209. type: object
  9210. properties:
  9211. matchExpressions:
  9212. description: matchExpressions
  9213. is a list of label
  9214. selector requirements.
  9215. The requirements
  9216. are ANDed.
  9217. type: array
  9218. items:
  9219. description: A label
  9220. selector requirement
  9221. is a selector
  9222. that contains
  9223. values, a key,
  9224. and an operator
  9225. that relates the
  9226. key and values.
  9227. type: object
  9228. required:
  9229. - key
  9230. - operator
  9231. properties:
  9232. key:
  9233. description: key
  9234. is the label
  9235. key that the
  9236. selector applies
  9237. to.
  9238. type: string
  9239. operator:
  9240. description: operator
  9241. represents
  9242. a key's relationship
  9243. to a set of
  9244. values. Valid
  9245. operators
  9246. are In, NotIn,
  9247. Exists and
  9248. DoesNotExist.
  9249. type: string
  9250. values:
  9251. description: values
  9252. is an array
  9253. of string
  9254. values. If
  9255. the operator
  9256. is In or NotIn,
  9257. the values
  9258. array must
  9259. be non-empty.
  9260. If the operator
  9261. is Exists
  9262. or DoesNotExist,
  9263. the values
  9264. array must
  9265. be empty.
  9266. This array
  9267. is replaced
  9268. during a strategic
  9269. merge patch.
  9270. type: array
  9271. items:
  9272. type: string
  9273. matchLabels:
  9274. description: matchLabels
  9275. is a map of {key,value}
  9276. pairs. A single
  9277. {key,value} in the
  9278. matchLabels map
  9279. is equivalent to
  9280. an element of matchExpressions,
  9281. whose key field
  9282. is "key", the operator
  9283. is "In", and the
  9284. values array contains
  9285. only "value". The
  9286. requirements are
  9287. ANDed.
  9288. type: object
  9289. additionalProperties:
  9290. type: string
  9291. namespaces:
  9292. description: namespaces
  9293. specifies which namespaces
  9294. the labelSelector applies
  9295. to (matches against);
  9296. null or empty list means
  9297. "this pod's namespace"
  9298. type: array
  9299. items:
  9300. type: string
  9301. topologyKey:
  9302. description: This pod
  9303. should be co-located
  9304. (affinity) or not co-located
  9305. (anti-affinity) with
  9306. the pods matching the
  9307. labelSelector in the
  9308. specified namespaces,
  9309. where co-located is
  9310. defined as running on
  9311. a node whose value of
  9312. the label with key topologyKey
  9313. matches that of any
  9314. node on which any of
  9315. the selected pods is
  9316. running. Empty topologyKey
  9317. is not allowed.
  9318. type: string
  9319. weight:
  9320. description: weight associated
  9321. with matching the corresponding
  9322. podAffinityTerm, in the
  9323. range 1-100.
  9324. type: integer
  9325. format: int32
  9326. requiredDuringSchedulingIgnoredDuringExecution:
  9327. description: If the affinity requirements
  9328. specified by this field are not
  9329. met at scheduling time, the pod
  9330. will not be scheduled onto the
  9331. node. If the affinity requirements
  9332. specified by this field cease
  9333. to be met at some point during
  9334. pod execution (e.g. due to a pod
  9335. label update), the system may
  9336. or may not try to eventually evict
  9337. the pod from its node. When there
  9338. are multiple elements, the lists
  9339. of nodes corresponding to each
  9340. podAffinityTerm are intersected,
  9341. i.e. all terms must be satisfied.
  9342. type: array
  9343. items:
  9344. description: Defines a set of
  9345. pods (namely those matching
  9346. the labelSelector relative to
  9347. the given namespace(s)) that
  9348. this pod should be co-located
  9349. (affinity) or not co-located
  9350. (anti-affinity) with, where
  9351. co-located is defined as running
  9352. on a node whose value of the
  9353. label with key <topologyKey>
  9354. matches that of any node on
  9355. which a pod of the set of pods
  9356. is running
  9357. type: object
  9358. required:
  9359. - topologyKey
  9360. properties:
  9361. labelSelector:
  9362. description: A label query
  9363. over a set of resources,
  9364. in this case pods.
  9365. type: object
  9366. properties:
  9367. matchExpressions:
  9368. description: matchExpressions
  9369. is a list of label selector
  9370. requirements. The requirements
  9371. are ANDed.
  9372. type: array
  9373. items:
  9374. description: A label
  9375. selector requirement
  9376. is a selector that
  9377. contains values, a
  9378. key, and an operator
  9379. that relates the key
  9380. and values.
  9381. type: object
  9382. required:
  9383. - key
  9384. - operator
  9385. properties:
  9386. key:
  9387. description: key
  9388. is the label key
  9389. that the selector
  9390. applies to.
  9391. type: string
  9392. operator:
  9393. description: operator
  9394. represents a key's
  9395. relationship to
  9396. a set of values.
  9397. Valid operators
  9398. are In, NotIn,
  9399. Exists and DoesNotExist.
  9400. type: string
  9401. values:
  9402. description: values
  9403. is an array of
  9404. string values.
  9405. If the operator
  9406. is In or NotIn,
  9407. the values array
  9408. must be non-empty.
  9409. If the operator
  9410. is Exists or DoesNotExist,
  9411. the values array
  9412. must be empty.
  9413. This array is
  9414. replaced during
  9415. a strategic merge
  9416. patch.
  9417. type: array
  9418. items:
  9419. type: string
  9420. matchLabels:
  9421. description: matchLabels
  9422. is a map of {key,value}
  9423. pairs. A single {key,value}
  9424. in the matchLabels map
  9425. is equivalent to an
  9426. element of matchExpressions,
  9427. whose key field is "key",
  9428. the operator is "In",
  9429. and the values array
  9430. contains only "value".
  9431. The requirements are
  9432. ANDed.
  9433. type: object
  9434. additionalProperties:
  9435. type: string
  9436. namespaces:
  9437. description: namespaces specifies
  9438. which namespaces the labelSelector
  9439. applies to (matches against);
  9440. null or empty list means
  9441. "this pod's namespace"
  9442. type: array
  9443. items:
  9444. type: string
  9445. topologyKey:
  9446. description: This pod should
  9447. be co-located (affinity)
  9448. or not co-located (anti-affinity)
  9449. with the pods matching the
  9450. labelSelector in the specified
  9451. namespaces, where co-located
  9452. is defined as running on
  9453. a node whose value of the
  9454. label with key topologyKey
  9455. matches that of any node
  9456. on which any of the selected
  9457. pods is running. Empty topologyKey
  9458. is not allowed.
  9459. type: string
  9460. podAntiAffinity:
  9461. description: Describes pod anti-affinity
  9462. scheduling rules (e.g. avoid putting
  9463. this pod in the same node, zone, etc.
  9464. as some other pod(s)).
  9465. type: object
  9466. properties:
  9467. preferredDuringSchedulingIgnoredDuringExecution:
  9468. description: The scheduler will
  9469. prefer to schedule pods to nodes
  9470. that satisfy the anti-affinity
  9471. expressions specified by this
  9472. field, but it may choose a node
  9473. that violates one or more of the
  9474. expressions. The node that is
  9475. most preferred is the one with
  9476. the greatest sum of weights, i.e.
  9477. for each node that meets all of
  9478. the scheduling requirements (resource
  9479. request, requiredDuringScheduling
  9480. anti-affinity expressions, etc.),
  9481. compute a sum by iterating through
  9482. the elements of this field and
  9483. adding "weight" to the sum if
  9484. the node has pods which matches
  9485. the corresponding podAffinityTerm;
  9486. the node(s) with the highest sum
  9487. are the most preferred.
  9488. type: array
  9489. items:
  9490. description: The weights of all
  9491. of the matched WeightedPodAffinityTerm
  9492. fields are added per-node to
  9493. find the most preferred node(s)
  9494. type: object
  9495. required:
  9496. - podAffinityTerm
  9497. - weight
  9498. properties:
  9499. podAffinityTerm:
  9500. description: Required. A pod
  9501. affinity term, associated
  9502. with the corresponding weight.
  9503. type: object
  9504. required:
  9505. - topologyKey
  9506. properties:
  9507. labelSelector:
  9508. description: A label query
  9509. over a set of resources,
  9510. in this case pods.
  9511. type: object
  9512. properties:
  9513. matchExpressions:
  9514. description: matchExpressions
  9515. is a list of label
  9516. selector requirements.
  9517. The requirements
  9518. are ANDed.
  9519. type: array
  9520. items:
  9521. description: A label
  9522. selector requirement
  9523. is a selector
  9524. that contains
  9525. values, a key,
  9526. and an operator
  9527. that relates the
  9528. key and values.
  9529. type: object
  9530. required:
  9531. - key
  9532. - operator
  9533. properties:
  9534. key:
  9535. description: key
  9536. is the label
  9537. key that the
  9538. selector applies
  9539. to.
  9540. type: string
  9541. operator:
  9542. description: operator
  9543. represents
  9544. a key's relationship
  9545. to a set of
  9546. values. Valid
  9547. operators
  9548. are In, NotIn,
  9549. Exists and
  9550. DoesNotExist.
  9551. type: string
  9552. values:
  9553. description: values
  9554. is an array
  9555. of string
  9556. values. If
  9557. the operator
  9558. is In or NotIn,
  9559. the values
  9560. array must
  9561. be non-empty.
  9562. If the operator
  9563. is Exists
  9564. or DoesNotExist,
  9565. the values
  9566. array must
  9567. be empty.
  9568. This array
  9569. is replaced
  9570. during a strategic
  9571. merge patch.
  9572. type: array
  9573. items:
  9574. type: string
  9575. matchLabels:
  9576. description: matchLabels
  9577. is a map of {key,value}
  9578. pairs. A single
  9579. {key,value} in the
  9580. matchLabels map
  9581. is equivalent to
  9582. an element of matchExpressions,
  9583. whose key field
  9584. is "key", the operator
  9585. is "In", and the
  9586. values array contains
  9587. only "value". The
  9588. requirements are
  9589. ANDed.
  9590. type: object
  9591. additionalProperties:
  9592. type: string
  9593. namespaces:
  9594. description: namespaces
  9595. specifies which namespaces
  9596. the labelSelector applies
  9597. to (matches against);
  9598. null or empty list means
  9599. "this pod's namespace"
  9600. type: array
  9601. items:
  9602. type: string
  9603. topologyKey:
  9604. description: This pod
  9605. should be co-located
  9606. (affinity) or not co-located
  9607. (anti-affinity) with
  9608. the pods matching the
  9609. labelSelector in the
  9610. specified namespaces,
  9611. where co-located is
  9612. defined as running on
  9613. a node whose value of
  9614. the label with key topologyKey
  9615. matches that of any
  9616. node on which any of
  9617. the selected pods is
  9618. running. Empty topologyKey
  9619. is not allowed.
  9620. type: string
  9621. weight:
  9622. description: weight associated
  9623. with matching the corresponding
  9624. podAffinityTerm, in the
  9625. range 1-100.
  9626. type: integer
  9627. format: int32
  9628. requiredDuringSchedulingIgnoredDuringExecution:
  9629. description: If the anti-affinity
  9630. requirements specified by this
  9631. field are not met at scheduling
  9632. time, the pod will not be scheduled
  9633. onto the node. If the anti-affinity
  9634. requirements specified by this
  9635. field cease to be met at some
  9636. point during pod execution (e.g.
  9637. due to a pod label update), the
  9638. system may or may not try to eventually
  9639. evict the pod from its node. When
  9640. there are multiple elements, the
  9641. lists of nodes corresponding to
  9642. each podAffinityTerm are intersected,
  9643. i.e. all terms must be satisfied.
  9644. type: array
  9645. items:
  9646. description: Defines a set of
  9647. pods (namely those matching
  9648. the labelSelector relative to
  9649. the given namespace(s)) that
  9650. this pod should be co-located
  9651. (affinity) or not co-located
  9652. (anti-affinity) with, where
  9653. co-located is defined as running
  9654. on a node whose value of the
  9655. label with key <topologyKey>
  9656. matches that of any node on
  9657. which a pod of the set of pods
  9658. is running
  9659. type: object
  9660. required:
  9661. - topologyKey
  9662. properties:
  9663. labelSelector:
  9664. description: A label query
  9665. over a set of resources,
  9666. in this case pods.
  9667. type: object
  9668. properties:
  9669. matchExpressions:
  9670. description: matchExpressions
  9671. is a list of label selector
  9672. requirements. The requirements
  9673. are ANDed.
  9674. type: array
  9675. items:
  9676. description: A label
  9677. selector requirement
  9678. is a selector that
  9679. contains values, a
  9680. key, and an operator
  9681. that relates the key
  9682. and values.
  9683. type: object
  9684. required:
  9685. - key
  9686. - operator
  9687. properties:
  9688. key:
  9689. description: key
  9690. is the label key
  9691. that the selector
  9692. applies to.
  9693. type: string
  9694. operator:
  9695. description: operator
  9696. represents a key's
  9697. relationship to
  9698. a set of values.
  9699. Valid operators
  9700. are In, NotIn,
  9701. Exists and DoesNotExist.
  9702. type: string
  9703. values:
  9704. description: values
  9705. is an array of
  9706. string values.
  9707. If the operator
  9708. is In or NotIn,
  9709. the values array
  9710. must be non-empty.
  9711. If the operator
  9712. is Exists or DoesNotExist,
  9713. the values array
  9714. must be empty.
  9715. This array is
  9716. replaced during
  9717. a strategic merge
  9718. patch.
  9719. type: array
  9720. items:
  9721. type: string
  9722. matchLabels:
  9723. description: matchLabels
  9724. is a map of {key,value}
  9725. pairs. A single {key,value}
  9726. in the matchLabels map
  9727. is equivalent to an
  9728. element of matchExpressions,
  9729. whose key field is "key",
  9730. the operator is "In",
  9731. and the values array
  9732. contains only "value".
  9733. The requirements are
  9734. ANDed.
  9735. type: object
  9736. additionalProperties:
  9737. type: string
  9738. namespaces:
  9739. description: namespaces specifies
  9740. which namespaces the labelSelector
  9741. applies to (matches against);
  9742. null or empty list means
  9743. "this pod's namespace"
  9744. type: array
  9745. items:
  9746. type: string
  9747. topologyKey:
  9748. description: This pod should
  9749. be co-located (affinity)
  9750. or not co-located (anti-affinity)
  9751. with the pods matching the
  9752. labelSelector in the specified
  9753. namespaces, where co-located
  9754. is defined as running on
  9755. a node whose value of the
  9756. label with key topologyKey
  9757. matches that of any node
  9758. on which any of the selected
  9759. pods is running. Empty topologyKey
  9760. is not allowed.
  9761. type: string
  9762. nodeSelector:
  9763. description: 'NodeSelector is a selector
  9764. which must be true for the pod to fit
  9765. on a node. Selector which must match a
  9766. node''s labels for the pod to be scheduled
  9767. on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  9768. type: object
  9769. additionalProperties:
  9770. type: string
  9771. tolerations:
  9772. description: If specified, the pod's tolerations.
  9773. type: array
  9774. items:
  9775. description: The pod this Toleration is
  9776. attached to tolerates any taint that
  9777. matches the triple <key,value,effect>
  9778. using the matching operator <operator>.
  9779. type: object
  9780. properties:
  9781. effect:
  9782. description: Effect indicates the
  9783. taint effect to match. Empty means
  9784. match all taint effects. When specified,
  9785. allowed values are NoSchedule, PreferNoSchedule
  9786. and NoExecute.
  9787. type: string
  9788. key:
  9789. description: Key is the taint key
  9790. that the toleration applies to.
  9791. Empty means match all taint keys.
  9792. If the key is empty, operator must
  9793. be Exists; this combination means
  9794. to match all values and all keys.
  9795. type: string
  9796. operator:
  9797. description: Operator represents a
  9798. key's relationship to the value.
  9799. Valid operators are Exists and Equal.
  9800. Defaults to Equal. Exists is equivalent
  9801. to wildcard for value, so that a
  9802. pod can tolerate all taints of a
  9803. particular category.
  9804. type: string
  9805. tolerationSeconds:
  9806. description: TolerationSeconds represents
  9807. the period of time the toleration
  9808. (which must be of effect NoExecute,
  9809. otherwise this field is ignored)
  9810. tolerates the taint. By default,
  9811. it is not set, which means tolerate
  9812. the taint forever (do not evict).
  9813. Zero and negative values will be
  9814. treated as 0 (evict immediately)
  9815. by the system.
  9816. type: integer
  9817. format: int64
  9818. value:
  9819. description: Value is the taint value
  9820. the toleration matches to. If the
  9821. operator is Exists, the value should
  9822. be empty, otherwise just a regular
  9823. string.
  9824. type: string
  9825. serviceType:
  9826. description: Optional service type for Kubernetes
  9827. solver service
  9828. type: string
  9829. selector:
  9830. description: Selector selects a set of DNSNames on the Certificate
  9831. resource that should be solved using this challenge solver.
  9832. If not specified, the solver will be treated as the 'default'
  9833. solver with the lowest priority, i.e. if any other solver
  9834. has a more specific match, it will be used instead.
  9835. type: object
  9836. properties:
  9837. dnsNames:
  9838. description: List of DNSNames that this solver will
  9839. be used to solve. If specified and a match is found,
  9840. a dnsNames selector will take precedence over a dnsZones
  9841. selector. If multiple solvers match with the same
  9842. dnsNames value, the solver with the most matching
  9843. labels in matchLabels will be selected. If neither
  9844. has more matches, the solver defined earlier in the
  9845. list will be selected.
  9846. type: array
  9847. items:
  9848. type: string
  9849. dnsZones:
  9850. description: List of DNSZones that this solver will
  9851. be used to solve. The most specific DNS zone match
  9852. specified here will take precedence over other DNS
  9853. zone matches, so a solver specifying sys.example.com
  9854. will be selected over one specifying example.com for
  9855. the domain www.sys.example.com. If multiple solvers
  9856. match with the same dnsZones value, the solver with
  9857. the most matching labels in matchLabels will be selected.
  9858. If neither has more matches, the solver defined earlier
  9859. in the list will be selected.
  9860. type: array
  9861. items:
  9862. type: string
  9863. matchLabels:
  9864. description: A label selector that is used to refine
  9865. the set of certificate's that this challenge solver
  9866. will apply to.
  9867. type: object
  9868. additionalProperties:
  9869. type: string
  9870. ca:
  9871. description: CA configures this issuer to sign certificates using
  9872. a signing CA keypair stored in a Secret resource. This is used to
  9873. build internal PKIs that are managed by cert-manager.
  9874. type: object
  9875. required:
  9876. - secretName
  9877. properties:
  9878. crlDistributionPoints:
  9879. description: The CRL distribution points is an X.509 v3 certificate
  9880. extension which identifies the location of the CRL from which
  9881. the revocation of this certificate can be checked. If not set,
  9882. certificates will be issued without distribution points set.
  9883. type: array
  9884. items:
  9885. type: string
  9886. secretName:
  9887. description: SecretName is the name of the secret used to sign
  9888. Certificates issued by this Issuer.
  9889. type: string
  9890. selfSigned:
  9891. description: SelfSigned configures this issuer to 'self sign' certificates
  9892. using the private key used to create the CertificateRequest object.
  9893. type: object
  9894. properties:
  9895. crlDistributionPoints:
  9896. description: The CRL distribution points is an X.509 v3 certificate
  9897. extension which identifies the location of the CRL from which
  9898. the revocation of this certificate can be checked. If not set
  9899. certificate will be issued without CDP. Values are strings.
  9900. type: array
  9901. items:
  9902. type: string
  9903. vault:
  9904. description: Vault configures this issuer to sign certificates using
  9905. a HashiCorp Vault PKI backend.
  9906. type: object
  9907. required:
  9908. - auth
  9909. - path
  9910. - server
  9911. properties:
  9912. auth:
  9913. description: Auth configures how cert-manager authenticates with
  9914. the Vault server.
  9915. type: object
  9916. properties:
  9917. appRole:
  9918. description: AppRole authenticates with Vault using the App
  9919. Role auth mechanism, with the role and secret stored in
  9920. a Kubernetes Secret resource.
  9921. type: object
  9922. required:
  9923. - path
  9924. - roleId
  9925. - secretRef
  9926. properties:
  9927. path:
  9928. description: 'Path where the App Role authentication backend
  9929. is mounted in Vault, e.g: "approle"'
  9930. type: string
  9931. roleId:
  9932. description: RoleID configured in the App Role authentication
  9933. backend when setting up the authentication backend in
  9934. Vault.
  9935. type: string
  9936. secretRef:
  9937. description: Reference to a key in a Secret that contains
  9938. the App Role secret used to authenticate with Vault.
  9939. The `key` field must be specified and denotes which
  9940. entry within the Secret resource is used as the app
  9941. role secret.
  9942. type: object
  9943. required:
  9944. - name
  9945. properties:
  9946. key:
  9947. description: The key of the entry in the Secret resource's
  9948. `data` field to be used. Some instances of this
  9949. field may be defaulted, in others it may be required.
  9950. type: string
  9951. name:
  9952. description: 'Name of the resource being referred
  9953. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  9954. type: string
  9955. kubernetes:
  9956. description: Kubernetes authenticates with Vault by passing
  9957. the ServiceAccount token stored in the named Secret resource
  9958. to the Vault server.
  9959. type: object
  9960. required:
  9961. - role
  9962. - secretRef
  9963. properties:
  9964. mountPath:
  9965. description: The Vault mountPath here is the mount path
  9966. to use when authenticating with Vault. For example,
  9967. setting a value to `/v1/auth/foo`, will use the path
  9968. `/v1/auth/foo/login` to authenticate with Vault. If
  9969. unspecified, the default value "/v1/auth/kubernetes"
  9970. will be used.
  9971. type: string
  9972. role:
  9973. description: A required field containing the Vault Role
  9974. to assume. A Role binds a Kubernetes ServiceAccount
  9975. with a set of Vault policies.
  9976. type: string
  9977. secretRef:
  9978. description: The required Secret field containing a Kubernetes
  9979. ServiceAccount JWT used for authenticating with Vault.
  9980. Use of 'ambient credentials' is not supported.
  9981. type: object
  9982. required:
  9983. - name
  9984. properties:
  9985. key:
  9986. description: The key of the entry in the Secret resource's
  9987. `data` field to be used. Some instances of this
  9988. field may be defaulted, in others it may be required.
  9989. type: string
  9990. name:
  9991. description: 'Name of the resource being referred
  9992. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  9993. type: string
  9994. tokenSecretRef:
  9995. description: TokenSecretRef authenticates with Vault by presenting
  9996. a token.
  9997. type: object
  9998. required:
  9999. - name
  10000. properties:
  10001. key:
  10002. description: The key of the entry in the Secret resource's
  10003. `data` field to be used. Some instances of this field
  10004. may be defaulted, in others it may be required.
  10005. type: string
  10006. name:
  10007. description: 'Name of the resource being referred to.
  10008. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10009. type: string
  10010. caBundle:
  10011. description: PEM encoded CA bundle used to validate Vault server
  10012. certificate. Only used if the Server URL is using HTTPS protocol.
  10013. This parameter is ignored for plain HTTP protocol connection.
  10014. If not set the system root certificates are used to validate
  10015. the TLS connection.
  10016. type: string
  10017. format: byte
  10018. path:
  10019. description: 'Path is the mount path of the Vault PKI backend''s
  10020. `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  10021. type: string
  10022. server:
  10023. description: 'Server is the connection address for the Vault server,
  10024. e.g: "https://vault.example.com:8200".'
  10025. type: string
  10026. venafi:
  10027. description: Venafi configures this issuer to sign certificates using
  10028. a Venafi TPP or Venafi Cloud policy zone.
  10029. type: object
  10030. required:
  10031. - zone
  10032. properties:
  10033. cloud:
  10034. description: Cloud specifies the Venafi cloud configuration settings.
  10035. Only one of TPP or Cloud may be specified.
  10036. type: object
  10037. required:
  10038. - apiTokenSecretRef
  10039. properties:
  10040. apiTokenSecretRef:
  10041. description: APITokenSecretRef is a secret key selector for
  10042. the Venafi Cloud API token.
  10043. type: object
  10044. required:
  10045. - name
  10046. properties:
  10047. key:
  10048. description: The key of the entry in the Secret resource's
  10049. `data` field to be used. Some instances of this field
  10050. may be defaulted, in others it may be required.
  10051. type: string
  10052. name:
  10053. description: 'Name of the resource being referred to.
  10054. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10055. type: string
  10056. url:
  10057. description: URL is the base URL for Venafi Cloud. Defaults
  10058. to "https://api.venafi.cloud/v1".
  10059. type: string
  10060. tpp:
  10061. description: TPP specifies Trust Protection Platform configuration
  10062. settings. Only one of TPP or Cloud may be specified.
  10063. type: object
  10064. required:
  10065. - credentialsRef
  10066. - url
  10067. properties:
  10068. caBundle:
  10069. description: CABundle is a PEM encoded TLS certificate to
  10070. use to verify connections to the TPP instance. If specified,
  10071. system roots will not be used and the issuing CA for the
  10072. TPP instance must be verifiable using the provided root.
  10073. If not specified, the connection will be verified using
  10074. the cert-manager system root certificates.
  10075. type: string
  10076. format: byte
  10077. credentialsRef:
  10078. description: CredentialsRef is a reference to a Secret containing
  10079. the username and password for the TPP server. The secret
  10080. must contain two keys, 'username' and 'password'.
  10081. type: object
  10082. required:
  10083. - name
  10084. properties:
  10085. name:
  10086. description: 'Name of the resource being referred to.
  10087. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10088. type: string
  10089. url:
  10090. description: 'URL is the base URL for the vedsdk endpoint
  10091. of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  10092. type: string
  10093. zone:
  10094. description: Zone is the Venafi Policy Zone to use for this issuer.
  10095. All requests made to the Venafi platform will be restricted
  10096. by the named zone policy. This field is required.
  10097. type: string
  10098. status:
  10099. description: Status of the ClusterIssuer. This is set and managed automatically.
  10100. type: object
  10101. properties:
  10102. acme:
  10103. description: ACME specific status options. This field should only
  10104. be set if the Issuer is configured to use an ACME server to issue
  10105. certificates.
  10106. type: object
  10107. properties:
  10108. lastRegisteredEmail:
  10109. description: LastRegisteredEmail is the email associated with
  10110. the latest registered ACME account, in order to track changes
  10111. made to registered account associated with the Issuer
  10112. type: string
  10113. uri:
  10114. description: URI is the unique account identifier, which can also
  10115. be used to retrieve account details from the CA
  10116. type: string
  10117. conditions:
  10118. description: List of status conditions to indicate the status of a
  10119. CertificateRequest. Known condition types are `Ready`.
  10120. type: array
  10121. items:
  10122. description: IssuerCondition contains condition information for
  10123. an Issuer.
  10124. type: object
  10125. required:
  10126. - status
  10127. - type
  10128. properties:
  10129. lastTransitionTime:
  10130. description: LastTransitionTime is the timestamp corresponding
  10131. to the last status change of this condition.
  10132. type: string
  10133. format: date-time
  10134. message:
  10135. description: Message is a human readable description of the
  10136. details of the last transition, complementing reason.
  10137. type: string
  10138. reason:
  10139. description: Reason is a brief machine readable explanation
  10140. for the condition's last transition.
  10141. type: string
  10142. status:
  10143. description: Status of the condition, one of ('True', 'False',
  10144. 'Unknown').
  10145. type: string
  10146. enum:
  10147. - "True"
  10148. - "False"
  10149. - Unknown
  10150. type:
  10151. description: Type of the condition, known values are ('Ready').
  10152. type: string
  10153. - name: v1
  10154. served: true
  10155. storage: false
  10156. "schema":
  10157. "openAPIV3Schema":
  10158. description: A ClusterIssuer represents a certificate issuing authority which
  10159. can be referenced as part of `issuerRef` fields. It is similar to an Issuer,
  10160. however it is cluster-scoped and therefore can be referenced by resources
  10161. that exist in *any* namespace, not just the same namespace as the referent.
  10162. type: object
  10163. required:
  10164. - spec
  10165. properties:
  10166. apiVersion:
  10167. description: 'APIVersion defines the versioned schema of this representation
  10168. of an object. Servers should convert recognized schemas to the latest
  10169. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  10170. type: string
  10171. kind:
  10172. description: 'Kind is a string value representing the REST resource this
  10173. object represents. Servers may infer this from the endpoint the client
  10174. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  10175. type: string
  10176. metadata:
  10177. type: object
  10178. spec:
  10179. description: Desired state of the ClusterIssuer resource.
  10180. type: object
  10181. properties:
  10182. acme:
  10183. description: ACME configures this issuer to communicate with a RFC8555
  10184. (ACME) server to obtain signed x509 certificates.
  10185. type: object
  10186. required:
  10187. - privateKeySecretRef
  10188. - server
  10189. properties:
  10190. email:
  10191. description: Email is the email address to be associated with
  10192. the ACME account. This field is optional, but it is strongly
  10193. recommended to be set. It will be used to contact you in case
  10194. of issues with your account or certificates, including expiry
  10195. notification emails. This field may be updated after the account
  10196. is initially registered.
  10197. type: string
  10198. externalAccountBinding:
  10199. description: ExternalAccountBinding is a reference to a CA external
  10200. account of the ACME server. If set, upon registration cert-manager
  10201. will attempt to associate the given external account credentials
  10202. with the registered ACME account.
  10203. type: object
  10204. required:
  10205. - keyAlgorithm
  10206. - keyID
  10207. - keySecretRef
  10208. properties:
  10209. keyAlgorithm:
  10210. description: keyAlgorithm is the MAC key algorithm that the
  10211. key is used for. Valid values are "HS256", "HS384" and "HS512".
  10212. type: string
  10213. enum:
  10214. - HS256
  10215. - HS384
  10216. - HS512
  10217. keyID:
  10218. description: keyID is the ID of the CA key that the External
  10219. Account is bound to.
  10220. type: string
  10221. keySecretRef:
  10222. description: keySecretRef is a Secret Key Selector referencing
  10223. a data item in a Kubernetes Secret which holds the symmetric
  10224. MAC key of the External Account Binding. The `key` is the
  10225. index string that is paired with the key data in the Secret
  10226. and should not be confused with the key data itself, or
  10227. indeed with the External Account Binding keyID above. The
  10228. secret key stored in the Secret **must** be un-padded, base64
  10229. URL encoded data.
  10230. type: object
  10231. required:
  10232. - name
  10233. properties:
  10234. key:
  10235. description: The key of the entry in the Secret resource's
  10236. `data` field to be used. Some instances of this field
  10237. may be defaulted, in others it may be required.
  10238. type: string
  10239. name:
  10240. description: 'Name of the resource being referred to.
  10241. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10242. type: string
  10243. privateKeySecretRef:
  10244. description: PrivateKey is the name of a Kubernetes Secret resource
  10245. that will be used to store the automatically generated ACME
  10246. account private key. Optionally, a `key` may be specified to
  10247. select a specific entry within the named Secret resource. If
  10248. `key` is not specified, a default of `tls.key` will be used.
  10249. type: object
  10250. required:
  10251. - name
  10252. properties:
  10253. key:
  10254. description: The key of the entry in the Secret resource's
  10255. `data` field to be used. Some instances of this field may
  10256. be defaulted, in others it may be required.
  10257. type: string
  10258. name:
  10259. description: 'Name of the resource being referred to. More
  10260. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10261. type: string
  10262. server:
  10263. description: 'Server is the URL used to access the ACME server''s
  10264. ''directory'' endpoint. For example, for Let''s Encrypt''s staging
  10265. endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory".
  10266. Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  10267. type: string
  10268. skipTLSVerify:
  10269. description: Enables or disables validation of the ACME server
  10270. TLS certificate. If true, requests to the ACME server will not
  10271. have their TLS certificate validated (i.e. insecure connections
  10272. will be allowed). Only enable this option in development environments.
  10273. The cert-manager system installed roots will be used to verify
  10274. connections to the ACME server if this is false. Defaults to
  10275. false.
  10276. type: boolean
  10277. solvers:
  10278. description: 'Solvers is a list of challenge solvers that will
  10279. be used to solve ACME challenges for the matching domains. Solver
  10280. configurations must be provided in order to obtain certificates
  10281. from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  10282. type: array
  10283. items:
  10284. description: Configures an issuer to solve challenges using
  10285. the specified options. Only one of HTTP01 or DNS01 may be
  10286. provided.
  10287. type: object
  10288. properties:
  10289. dns01:
  10290. description: Configures cert-manager to attempt to complete
  10291. authorizations by performing the DNS01 challenge flow.
  10292. type: object
  10293. properties:
  10294. acmeDNS:
  10295. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  10296. API to manage DNS01 challenge records.
  10297. type: object
  10298. required:
  10299. - accountSecretRef
  10300. - host
  10301. properties:
  10302. accountSecretRef:
  10303. description: A reference to a specific 'key' within
  10304. a Secret resource. In some instances, `key` is
  10305. a required field.
  10306. type: object
  10307. required:
  10308. - name
  10309. properties:
  10310. key:
  10311. description: The key of the entry in the Secret
  10312. resource's `data` field to be used. Some instances
  10313. of this field may be defaulted, in others
  10314. it may be required.
  10315. type: string
  10316. name:
  10317. description: 'Name of the resource being referred
  10318. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10319. type: string
  10320. host:
  10321. type: string
  10322. akamai:
  10323. description: Use the Akamai DNS zone management API
  10324. to manage DNS01 challenge records.
  10325. type: object
  10326. required:
  10327. - accessTokenSecretRef
  10328. - clientSecretSecretRef
  10329. - clientTokenSecretRef
  10330. - serviceConsumerDomain
  10331. properties:
  10332. accessTokenSecretRef:
  10333. description: A reference to a specific 'key' within
  10334. a Secret resource. In some instances, `key` is
  10335. a required field.
  10336. type: object
  10337. required:
  10338. - name
  10339. properties:
  10340. key:
  10341. description: The key of the entry in the Secret
  10342. resource's `data` field to be used. Some instances
  10343. of this field may be defaulted, in others
  10344. it may be required.
  10345. type: string
  10346. name:
  10347. description: 'Name of the resource being referred
  10348. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10349. type: string
  10350. clientSecretSecretRef:
  10351. description: A reference to a specific 'key' within
  10352. a Secret resource. In some instances, `key` is
  10353. a required field.
  10354. type: object
  10355. required:
  10356. - name
  10357. properties:
  10358. key:
  10359. description: The key of the entry in the Secret
  10360. resource's `data` field to be used. Some instances
  10361. of this field may be defaulted, in others
  10362. it may be required.
  10363. type: string
  10364. name:
  10365. description: 'Name of the resource being referred
  10366. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10367. type: string
  10368. clientTokenSecretRef:
  10369. description: A reference to a specific 'key' within
  10370. a Secret resource. In some instances, `key` is
  10371. a required field.
  10372. type: object
  10373. required:
  10374. - name
  10375. properties:
  10376. key:
  10377. description: The key of the entry in the Secret
  10378. resource's `data` field to be used. Some instances
  10379. of this field may be defaulted, in others
  10380. it may be required.
  10381. type: string
  10382. name:
  10383. description: 'Name of the resource being referred
  10384. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10385. type: string
  10386. serviceConsumerDomain:
  10387. type: string
  10388. azureDNS:
  10389. description: Use the Microsoft Azure DNS API to manage
  10390. DNS01 challenge records.
  10391. type: object
  10392. required:
  10393. - resourceGroupName
  10394. - subscriptionID
  10395. properties:
  10396. clientID:
  10397. description: if both this and ClientSecret are left
  10398. unset MSI will be used
  10399. type: string
  10400. clientSecretSecretRef:
  10401. description: if both this and ClientID are left
  10402. unset MSI will be used
  10403. type: object
  10404. required:
  10405. - name
  10406. properties:
  10407. key:
  10408. description: The key of the entry in the Secret
  10409. resource's `data` field to be used. Some instances
  10410. of this field may be defaulted, in others
  10411. it may be required.
  10412. type: string
  10413. name:
  10414. description: 'Name of the resource being referred
  10415. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10416. type: string
  10417. environment:
  10418. type: string
  10419. enum:
  10420. - AzurePublicCloud
  10421. - AzureChinaCloud
  10422. - AzureGermanCloud
  10423. - AzureUSGovernmentCloud
  10424. hostedZoneName:
  10425. type: string
  10426. resourceGroupName:
  10427. type: string
  10428. subscriptionID:
  10429. type: string
  10430. tenantID:
  10431. description: when specifying ClientID and ClientSecret
  10432. then this field is also needed
  10433. type: string
  10434. cloudDNS:
  10435. description: Use the Google Cloud DNS API to manage
  10436. DNS01 challenge records.
  10437. type: object
  10438. required:
  10439. - project
  10440. properties:
  10441. hostedZoneName:
  10442. description: HostedZoneName is an optional field
  10443. that tells cert-manager in which Cloud DNS zone
  10444. the challenge record has to be created. If left
  10445. empty cert-manager will automatically choose a
  10446. zone.
  10447. type: string
  10448. project:
  10449. type: string
  10450. serviceAccountSecretRef:
  10451. description: A reference to a specific 'key' within
  10452. a Secret resource. In some instances, `key` is
  10453. a required field.
  10454. type: object
  10455. required:
  10456. - name
  10457. properties:
  10458. key:
  10459. description: The key of the entry in the Secret
  10460. resource's `data` field to be used. Some instances
  10461. of this field may be defaulted, in others
  10462. it may be required.
  10463. type: string
  10464. name:
  10465. description: 'Name of the resource being referred
  10466. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10467. type: string
  10468. cloudflare:
  10469. description: Use the Cloudflare API to manage DNS01
  10470. challenge records.
  10471. type: object
  10472. properties:
  10473. apiKeySecretRef:
  10474. description: 'API key to use to authenticate with
  10475. Cloudflare. Note: using an API token to authenticate
  10476. is now the recommended method as it allows greater
  10477. control of permissions.'
  10478. type: object
  10479. required:
  10480. - name
  10481. properties:
  10482. key:
  10483. description: The key of the entry in the Secret
  10484. resource's `data` field to be used. Some instances
  10485. of this field may be defaulted, in others
  10486. it may be required.
  10487. type: string
  10488. name:
  10489. description: 'Name of the resource being referred
  10490. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10491. type: string
  10492. apiTokenSecretRef:
  10493. description: API token used to authenticate with
  10494. Cloudflare.
  10495. type: object
  10496. required:
  10497. - name
  10498. properties:
  10499. key:
  10500. description: The key of the entry in the Secret
  10501. resource's `data` field to be used. Some instances
  10502. of this field may be defaulted, in others
  10503. it may be required.
  10504. type: string
  10505. name:
  10506. description: 'Name of the resource being referred
  10507. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10508. type: string
  10509. email:
  10510. description: Email of the account, only required
  10511. when using API key based authentication.
  10512. type: string
  10513. cnameStrategy:
  10514. description: CNAMEStrategy configures how the DNS01
  10515. provider should handle CNAME records when found in
  10516. DNS zones.
  10517. type: string
  10518. enum:
  10519. - None
  10520. - Follow
  10521. digitalocean:
  10522. description: Use the DigitalOcean DNS API to manage
  10523. DNS01 challenge records.
  10524. type: object
  10525. required:
  10526. - tokenSecretRef
  10527. properties:
  10528. tokenSecretRef:
  10529. description: A reference to a specific 'key' within
  10530. a Secret resource. In some instances, `key` is
  10531. a required field.
  10532. type: object
  10533. required:
  10534. - name
  10535. properties:
  10536. key:
  10537. description: The key of the entry in the Secret
  10538. resource's `data` field to be used. Some instances
  10539. of this field may be defaulted, in others
  10540. it may be required.
  10541. type: string
  10542. name:
  10543. description: 'Name of the resource being referred
  10544. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10545. type: string
  10546. rfc2136:
  10547. description: Use RFC2136 ("Dynamic Updates in the Domain
  10548. Name System") (https://datatracker.ietf.org/doc/rfc2136/)
  10549. to manage DNS01 challenge records.
  10550. type: object
  10551. required:
  10552. - nameserver
  10553. properties:
  10554. nameserver:
  10555. description: The IP address or hostname of an authoritative
  10556. DNS server supporting RFC2136 in the form host:port.
  10557. If the host is an IPv6 address it must be enclosed
  10558. in square brackets (e.g [2001:db8::1]) ; port
  10559. is optional. This field is required.
  10560. type: string
  10561. tsigAlgorithm:
  10562. description: 'The TSIG Algorithm configured in the
  10563. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  10564. and ``tsigKeyName`` are defined. Supported values
  10565. are (case-insensitive): ``HMACMD5`` (default),
  10566. ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  10567. type: string
  10568. tsigKeyName:
  10569. description: The TSIG Key name configured in the
  10570. DNS. If ``tsigSecretSecretRef`` is defined, this
  10571. field is required.
  10572. type: string
  10573. tsigSecretSecretRef:
  10574. description: The name of the secret containing the
  10575. TSIG value. If ``tsigKeyName`` is defined, this
  10576. field is required.
  10577. type: object
  10578. required:
  10579. - name
  10580. properties:
  10581. key:
  10582. description: The key of the entry in the Secret
  10583. resource's `data` field to be used. Some instances
  10584. of this field may be defaulted, in others
  10585. it may be required.
  10586. type: string
  10587. name:
  10588. description: 'Name of the resource being referred
  10589. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10590. type: string
  10591. route53:
  10592. description: Use the AWS Route53 API to manage DNS01
  10593. challenge records.
  10594. type: object
  10595. required:
  10596. - region
  10597. properties:
  10598. accessKeyID:
  10599. description: 'The AccessKeyID is used for authentication.
  10600. If not set we fall-back to using env vars, shared
  10601. credentials file or AWS Instance metadata see:
  10602. https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  10603. type: string
  10604. hostedZoneID:
  10605. description: If set, the provider will manage only
  10606. this zone in Route53 and will not do an lookup
  10607. using the route53:ListHostedZonesByName api call.
  10608. type: string
  10609. region:
  10610. description: Always set the region when using AccessKeyID
  10611. and SecretAccessKey
  10612. type: string
  10613. role:
  10614. description: Role is a Role ARN which the Route53
  10615. provider will assume using either the explicit
  10616. credentials AccessKeyID/SecretAccessKey or the
  10617. inferred credentials from environment variables,
  10618. shared credentials file or AWS Instance metadata
  10619. type: string
  10620. secretAccessKeySecretRef:
  10621. description: The SecretAccessKey is used for authentication.
  10622. If not set we fall-back to using env vars, shared
  10623. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  10624. type: object
  10625. required:
  10626. - name
  10627. properties:
  10628. key:
  10629. description: The key of the entry in the Secret
  10630. resource's `data` field to be used. Some instances
  10631. of this field may be defaulted, in others
  10632. it may be required.
  10633. type: string
  10634. name:
  10635. description: 'Name of the resource being referred
  10636. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  10637. type: string
  10638. webhook:
  10639. description: Configure an external webhook based DNS01
  10640. challenge solver to manage DNS01 challenge records.
  10641. type: object
  10642. required:
  10643. - groupName
  10644. - solverName
  10645. properties:
  10646. config:
  10647. description: Additional configuration that should
  10648. be passed to the webhook apiserver when challenges
  10649. are processed. This can contain arbitrary JSON
  10650. data. Secret values should not be specified in
  10651. this stanza. If secret values are needed (e.g.
  10652. credentials for a DNS service), you should use
  10653. a SecretKeySelector to reference a Secret resource.
  10654. For details on the schema of this field, consult
  10655. the webhook provider implementation's documentation.
  10656. x-kubernetes-preserve-unknown-fields: true
  10657. groupName:
  10658. description: The API group name that should be used
  10659. when POSTing ChallengePayload resources to the
  10660. webhook apiserver. This should be the same as
  10661. the GroupName specified in the webhook provider
  10662. implementation.
  10663. type: string
  10664. solverName:
  10665. description: The name of the solver to use, as defined
  10666. in the webhook provider implementation. This will
  10667. typically be the name of the provider, e.g. 'cloudflare'.
  10668. type: string
  10669. http01:
  10670. description: Configures cert-manager to attempt to complete
  10671. authorizations by performing the HTTP01 challenge flow.
  10672. It is not possible to obtain certificates for wildcard
  10673. domain names (e.g. `*.example.com`) using the HTTP01 challenge
  10674. mechanism.
  10675. type: object
  10676. properties:
  10677. ingress:
  10678. description: The ingress based HTTP01 challenge solver
  10679. will solve challenges by creating or modifying Ingress
  10680. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  10681. to 'challenge solver' pods that are provisioned by
  10682. cert-manager for each Challenge to be completed.
  10683. type: object
  10684. properties:
  10685. class:
  10686. description: The ingress class to use when creating
  10687. Ingress resources to solve ACME challenges that
  10688. use this challenge solver. Only one of 'class'
  10689. or 'name' may be specified.
  10690. type: string
  10691. ingressTemplate:
  10692. description: Optional ingress template used to configure
  10693. the ACME challenge solver ingress used for HTTP01
  10694. challenges
  10695. type: object
  10696. properties:
  10697. metadata:
  10698. description: ObjectMeta overrides for the ingress
  10699. used to solve HTTP01 challenges. Only the
  10700. 'labels' and 'annotations' fields may be set.
  10701. If labels or annotations overlap with in-built
  10702. values, the values here will override the
  10703. in-built values.
  10704. type: object
  10705. properties:
  10706. annotations:
  10707. description: Annotations that should be
  10708. added to the created ACME HTTP01 solver
  10709. ingress.
  10710. type: object
  10711. additionalProperties:
  10712. type: string
  10713. labels:
  10714. description: Labels that should be added
  10715. to the created ACME HTTP01 solver ingress.
  10716. type: object
  10717. additionalProperties:
  10718. type: string
  10719. name:
  10720. description: The name of the ingress resource that
  10721. should have ACME challenge solving routes inserted
  10722. into it in order to solve HTTP01 challenges. This
  10723. is typically used in conjunction with ingress
  10724. controllers like ingress-gce, which maintains
  10725. a 1:1 mapping between external IPs and ingress
  10726. resources.
  10727. type: string
  10728. podTemplate:
  10729. description: Optional pod template used to configure
  10730. the ACME challenge solver pods used for HTTP01
  10731. challenges
  10732. type: object
  10733. properties:
  10734. metadata:
  10735. description: ObjectMeta overrides for the pod
  10736. used to solve HTTP01 challenges. Only the
  10737. 'labels' and 'annotations' fields may be set.
  10738. If labels or annotations overlap with in-built
  10739. values, the values here will override the
  10740. in-built values.
  10741. type: object
  10742. properties:
  10743. annotations:
  10744. description: Annotations that should be
  10745. added to the create ACME HTTP01 solver
  10746. pods.
  10747. type: object
  10748. additionalProperties:
  10749. type: string
  10750. labels:
  10751. description: Labels that should be added
  10752. to the created ACME HTTP01 solver pods.
  10753. type: object
  10754. additionalProperties:
  10755. type: string
  10756. spec:
  10757. description: PodSpec defines overrides for the
  10758. HTTP01 challenge solver pod. Only the 'nodeSelector',
  10759. 'affinity' and 'tolerations' fields are supported
  10760. currently. All other fields will be ignored.
  10761. type: object
  10762. properties:
  10763. affinity:
  10764. description: If specified, the pod's scheduling
  10765. constraints
  10766. type: object
  10767. properties:
  10768. nodeAffinity:
  10769. description: Describes node affinity
  10770. scheduling rules for the pod.
  10771. type: object
  10772. properties:
  10773. preferredDuringSchedulingIgnoredDuringExecution:
  10774. description: The scheduler will
  10775. prefer to schedule pods to nodes
  10776. that satisfy the affinity expressions
  10777. specified by this field, but it
  10778. may choose a node that violates
  10779. one or more of the expressions.
  10780. The node that is most preferred
  10781. is the one with the greatest sum
  10782. of weights, i.e. for each node
  10783. that meets all of the scheduling
  10784. requirements (resource request,
  10785. requiredDuringScheduling affinity
  10786. expressions, etc.), compute a
  10787. sum by iterating through the elements
  10788. of this field and adding "weight"
  10789. to the sum if the node matches
  10790. the corresponding matchExpressions;
  10791. the node(s) with the highest sum
  10792. are the most preferred.
  10793. type: array
  10794. items:
  10795. description: An empty preferred
  10796. scheduling term matches all
  10797. objects with implicit weight
  10798. 0 (i.e. it's a no-op). A null
  10799. preferred scheduling term matches
  10800. no objects (i.e. is also a no-op).
  10801. type: object
  10802. required:
  10803. - preference
  10804. - weight
  10805. properties:
  10806. preference:
  10807. description: A node selector
  10808. term, associated with the
  10809. corresponding weight.
  10810. type: object
  10811. properties:
  10812. matchExpressions:
  10813. description: A list of
  10814. node selector requirements
  10815. by node's labels.
  10816. type: array
  10817. items:
  10818. description: A node
  10819. selector requirement
  10820. is a selector that
  10821. contains values, a
  10822. key, and an operator
  10823. that relates the key
  10824. and values.
  10825. type: object
  10826. required:
  10827. - key
  10828. - operator
  10829. properties:
  10830. key:
  10831. description: The
  10832. label key that
  10833. the selector applies
  10834. to.
  10835. type: string
  10836. operator:
  10837. description: Represents
  10838. a key's relationship
  10839. to a set of values.
  10840. Valid operators
  10841. are In, NotIn,
  10842. Exists, DoesNotExist.
  10843. Gt, and Lt.
  10844. type: string
  10845. values:
  10846. description: An
  10847. array of string
  10848. values. If the
  10849. operator is In
  10850. or NotIn, the
  10851. values array must
  10852. be non-empty.
  10853. If the operator
  10854. is Exists or DoesNotExist,
  10855. the values array
  10856. must be empty.
  10857. If the operator
  10858. is Gt or Lt, the
  10859. values array must
  10860. have a single
  10861. element, which
  10862. will be interpreted
  10863. as an integer.
  10864. This array is
  10865. replaced during
  10866. a strategic merge
  10867. patch.
  10868. type: array
  10869. items:
  10870. type: string
  10871. matchFields:
  10872. description: A list of
  10873. node selector requirements
  10874. by node's fields.
  10875. type: array
  10876. items:
  10877. description: A node
  10878. selector requirement
  10879. is a selector that
  10880. contains values, a
  10881. key, and an operator
  10882. that relates the key
  10883. and values.
  10884. type: object
  10885. required:
  10886. - key
  10887. - operator
  10888. properties:
  10889. key:
  10890. description: The
  10891. label key that
  10892. the selector applies
  10893. to.
  10894. type: string
  10895. operator:
  10896. description: Represents
  10897. a key's relationship
  10898. to a set of values.
  10899. Valid operators
  10900. are In, NotIn,
  10901. Exists, DoesNotExist.
  10902. Gt, and Lt.
  10903. type: string
  10904. values:
  10905. description: An
  10906. array of string
  10907. values. If the
  10908. operator is In
  10909. or NotIn, the
  10910. values array must
  10911. be non-empty.
  10912. If the operator
  10913. is Exists or DoesNotExist,
  10914. the values array
  10915. must be empty.
  10916. If the operator
  10917. is Gt or Lt, the
  10918. values array must
  10919. have a single
  10920. element, which
  10921. will be interpreted
  10922. as an integer.
  10923. This array is
  10924. replaced during
  10925. a strategic merge
  10926. patch.
  10927. type: array
  10928. items:
  10929. type: string
  10930. weight:
  10931. description: Weight associated
  10932. with matching the corresponding
  10933. nodeSelectorTerm, in the
  10934. range 1-100.
  10935. type: integer
  10936. format: int32
  10937. requiredDuringSchedulingIgnoredDuringExecution:
  10938. description: If the affinity requirements
  10939. specified by this field are not
  10940. met at scheduling time, the pod
  10941. will not be scheduled onto the
  10942. node. If the affinity requirements
  10943. specified by this field cease
  10944. to be met at some point during
  10945. pod execution (e.g. due to an
  10946. update), the system may or may
  10947. not try to eventually evict the
  10948. pod from its node.
  10949. type: object
  10950. required:
  10951. - nodeSelectorTerms
  10952. properties:
  10953. nodeSelectorTerms:
  10954. description: Required. A list
  10955. of node selector terms. The
  10956. terms are ORed.
  10957. type: array
  10958. items:
  10959. description: A null or empty
  10960. node selector term matches
  10961. no objects. The requirements
  10962. of them are ANDed. The TopologySelectorTerm
  10963. type implements a subset
  10964. of the NodeSelectorTerm.
  10965. type: object
  10966. properties:
  10967. matchExpressions:
  10968. description: A list of
  10969. node selector requirements
  10970. by node's labels.
  10971. type: array
  10972. items:
  10973. description: A node
  10974. selector requirement
  10975. is a selector that
  10976. contains values, a
  10977. key, and an operator
  10978. that relates the key
  10979. and values.
  10980. type: object
  10981. required:
  10982. - key
  10983. - operator
  10984. properties:
  10985. key:
  10986. description: The
  10987. label key that
  10988. the selector applies
  10989. to.
  10990. type: string
  10991. operator:
  10992. description: Represents
  10993. a key's relationship
  10994. to a set of values.
  10995. Valid operators
  10996. are In, NotIn,
  10997. Exists, DoesNotExist.
  10998. Gt, and Lt.
  10999. type: string
  11000. values:
  11001. description: An
  11002. array of string
  11003. values. If the
  11004. operator is In
  11005. or NotIn, the
  11006. values array must
  11007. be non-empty.
  11008. If the operator
  11009. is Exists or DoesNotExist,
  11010. the values array
  11011. must be empty.
  11012. If the operator
  11013. is Gt or Lt, the
  11014. values array must
  11015. have a single
  11016. element, which
  11017. will be interpreted
  11018. as an integer.
  11019. This array is
  11020. replaced during
  11021. a strategic merge
  11022. patch.
  11023. type: array
  11024. items:
  11025. type: string
  11026. matchFields:
  11027. description: A list of
  11028. node selector requirements
  11029. by node's fields.
  11030. type: array
  11031. items:
  11032. description: A node
  11033. selector requirement
  11034. is a selector that
  11035. contains values, a
  11036. key, and an operator
  11037. that relates the key
  11038. and values.
  11039. type: object
  11040. required:
  11041. - key
  11042. - operator
  11043. properties:
  11044. key:
  11045. description: The
  11046. label key that
  11047. the selector applies
  11048. to.
  11049. type: string
  11050. operator:
  11051. description: Represents
  11052. a key's relationship
  11053. to a set of values.
  11054. Valid operators
  11055. are In, NotIn,
  11056. Exists, DoesNotExist.
  11057. Gt, and Lt.
  11058. type: string
  11059. values:
  11060. description: An
  11061. array of string
  11062. values. If the
  11063. operator is In
  11064. or NotIn, the
  11065. values array must
  11066. be non-empty.
  11067. If the operator
  11068. is Exists or DoesNotExist,
  11069. the values array
  11070. must be empty.
  11071. If the operator
  11072. is Gt or Lt, the
  11073. values array must
  11074. have a single
  11075. element, which
  11076. will be interpreted
  11077. as an integer.
  11078. This array is
  11079. replaced during
  11080. a strategic merge
  11081. patch.
  11082. type: array
  11083. items:
  11084. type: string
  11085. podAffinity:
  11086. description: Describes pod affinity
  11087. scheduling rules (e.g. co-locate this
  11088. pod in the same node, zone, etc. as
  11089. some other pod(s)).
  11090. type: object
  11091. properties:
  11092. preferredDuringSchedulingIgnoredDuringExecution:
  11093. description: The scheduler will
  11094. prefer to schedule pods to nodes
  11095. that satisfy the affinity expressions
  11096. specified by this field, but it
  11097. may choose a node that violates
  11098. one or more of the expressions.
  11099. The node that is most preferred
  11100. is the one with the greatest sum
  11101. of weights, i.e. for each node
  11102. that meets all of the scheduling
  11103. requirements (resource request,
  11104. requiredDuringScheduling affinity
  11105. expressions, etc.), compute a
  11106. sum by iterating through the elements
  11107. of this field and adding "weight"
  11108. to the sum if the node has pods
  11109. which matches the corresponding
  11110. podAffinityTerm; the node(s) with
  11111. the highest sum are the most preferred.
  11112. type: array
  11113. items:
  11114. description: The weights of all
  11115. of the matched WeightedPodAffinityTerm
  11116. fields are added per-node to
  11117. find the most preferred node(s)
  11118. type: object
  11119. required:
  11120. - podAffinityTerm
  11121. - weight
  11122. properties:
  11123. podAffinityTerm:
  11124. description: Required. A pod
  11125. affinity term, associated
  11126. with the corresponding weight.
  11127. type: object
  11128. required:
  11129. - topologyKey
  11130. properties:
  11131. labelSelector:
  11132. description: A label query
  11133. over a set of resources,
  11134. in this case pods.
  11135. type: object
  11136. properties:
  11137. matchExpressions:
  11138. description: matchExpressions
  11139. is a list of label
  11140. selector requirements.
  11141. The requirements
  11142. are ANDed.
  11143. type: array
  11144. items:
  11145. description: A label
  11146. selector requirement
  11147. is a selector
  11148. that contains
  11149. values, a key,
  11150. and an operator
  11151. that relates the
  11152. key and values.
  11153. type: object
  11154. required:
  11155. - key
  11156. - operator
  11157. properties:
  11158. key:
  11159. description: key
  11160. is the label
  11161. key that the
  11162. selector applies
  11163. to.
  11164. type: string
  11165. operator:
  11166. description: operator
  11167. represents
  11168. a key's relationship
  11169. to a set of
  11170. values. Valid
  11171. operators
  11172. are In, NotIn,
  11173. Exists and
  11174. DoesNotExist.
  11175. type: string
  11176. values:
  11177. description: values
  11178. is an array
  11179. of string
  11180. values. If
  11181. the operator
  11182. is In or NotIn,
  11183. the values
  11184. array must
  11185. be non-empty.
  11186. If the operator
  11187. is Exists
  11188. or DoesNotExist,
  11189. the values
  11190. array must
  11191. be empty.
  11192. This array
  11193. is replaced
  11194. during a strategic
  11195. merge patch.
  11196. type: array
  11197. items:
  11198. type: string
  11199. matchLabels:
  11200. description: matchLabels
  11201. is a map of {key,value}
  11202. pairs. A single
  11203. {key,value} in the
  11204. matchLabels map
  11205. is equivalent to
  11206. an element of matchExpressions,
  11207. whose key field
  11208. is "key", the operator
  11209. is "In", and the
  11210. values array contains
  11211. only "value". The
  11212. requirements are
  11213. ANDed.
  11214. type: object
  11215. additionalProperties:
  11216. type: string
  11217. namespaces:
  11218. description: namespaces
  11219. specifies which namespaces
  11220. the labelSelector applies
  11221. to (matches against);
  11222. null or empty list means
  11223. "this pod's namespace"
  11224. type: array
  11225. items:
  11226. type: string
  11227. topologyKey:
  11228. description: This pod
  11229. should be co-located
  11230. (affinity) or not co-located
  11231. (anti-affinity) with
  11232. the pods matching the
  11233. labelSelector in the
  11234. specified namespaces,
  11235. where co-located is
  11236. defined as running on
  11237. a node whose value of
  11238. the label with key topologyKey
  11239. matches that of any
  11240. node on which any of
  11241. the selected pods is
  11242. running. Empty topologyKey
  11243. is not allowed.
  11244. type: string
  11245. weight:
  11246. description: weight associated
  11247. with matching the corresponding
  11248. podAffinityTerm, in the
  11249. range 1-100.
  11250. type: integer
  11251. format: int32
  11252. requiredDuringSchedulingIgnoredDuringExecution:
  11253. description: If the affinity requirements
  11254. specified by this field are not
  11255. met at scheduling time, the pod
  11256. will not be scheduled onto the
  11257. node. If the affinity requirements
  11258. specified by this field cease
  11259. to be met at some point during
  11260. pod execution (e.g. due to a pod
  11261. label update), the system may
  11262. or may not try to eventually evict
  11263. the pod from its node. When there
  11264. are multiple elements, the lists
  11265. of nodes corresponding to each
  11266. podAffinityTerm are intersected,
  11267. i.e. all terms must be satisfied.
  11268. type: array
  11269. items:
  11270. description: Defines a set of
  11271. pods (namely those matching
  11272. the labelSelector relative to
  11273. the given namespace(s)) that
  11274. this pod should be co-located
  11275. (affinity) or not co-located
  11276. (anti-affinity) with, where
  11277. co-located is defined as running
  11278. on a node whose value of the
  11279. label with key <topologyKey>
  11280. matches that of any node on
  11281. which a pod of the set of pods
  11282. is running
  11283. type: object
  11284. required:
  11285. - topologyKey
  11286. properties:
  11287. labelSelector:
  11288. description: A label query
  11289. over a set of resources,
  11290. in this case pods.
  11291. type: object
  11292. properties:
  11293. matchExpressions:
  11294. description: matchExpressions
  11295. is a list of label selector
  11296. requirements. The requirements
  11297. are ANDed.
  11298. type: array
  11299. items:
  11300. description: A label
  11301. selector requirement
  11302. is a selector that
  11303. contains values, a
  11304. key, and an operator
  11305. that relates the key
  11306. and values.
  11307. type: object
  11308. required:
  11309. - key
  11310. - operator
  11311. properties:
  11312. key:
  11313. description: key
  11314. is the label key
  11315. that the selector
  11316. applies to.
  11317. type: string
  11318. operator:
  11319. description: operator
  11320. represents a key's
  11321. relationship to
  11322. a set of values.
  11323. Valid operators
  11324. are In, NotIn,
  11325. Exists and DoesNotExist.
  11326. type: string
  11327. values:
  11328. description: values
  11329. is an array of
  11330. string values.
  11331. If the operator
  11332. is In or NotIn,
  11333. the values array
  11334. must be non-empty.
  11335. If the operator
  11336. is Exists or DoesNotExist,
  11337. the values array
  11338. must be empty.
  11339. This array is
  11340. replaced during
  11341. a strategic merge
  11342. patch.
  11343. type: array
  11344. items:
  11345. type: string
  11346. matchLabels:
  11347. description: matchLabels
  11348. is a map of {key,value}
  11349. pairs. A single {key,value}
  11350. in the matchLabels map
  11351. is equivalent to an
  11352. element of matchExpressions,
  11353. whose key field is "key",
  11354. the operator is "In",
  11355. and the values array
  11356. contains only "value".
  11357. The requirements are
  11358. ANDed.
  11359. type: object
  11360. additionalProperties:
  11361. type: string
  11362. namespaces:
  11363. description: namespaces specifies
  11364. which namespaces the labelSelector
  11365. applies to (matches against);
  11366. null or empty list means
  11367. "this pod's namespace"
  11368. type: array
  11369. items:
  11370. type: string
  11371. topologyKey:
  11372. description: This pod should
  11373. be co-located (affinity)
  11374. or not co-located (anti-affinity)
  11375. with the pods matching the
  11376. labelSelector in the specified
  11377. namespaces, where co-located
  11378. is defined as running on
  11379. a node whose value of the
  11380. label with key topologyKey
  11381. matches that of any node
  11382. on which any of the selected
  11383. pods is running. Empty topologyKey
  11384. is not allowed.
  11385. type: string
  11386. podAntiAffinity:
  11387. description: Describes pod anti-affinity
  11388. scheduling rules (e.g. avoid putting
  11389. this pod in the same node, zone, etc.
  11390. as some other pod(s)).
  11391. type: object
  11392. properties:
  11393. preferredDuringSchedulingIgnoredDuringExecution:
  11394. description: The scheduler will
  11395. prefer to schedule pods to nodes
  11396. that satisfy the anti-affinity
  11397. expressions specified by this
  11398. field, but it may choose a node
  11399. that violates one or more of the
  11400. expressions. The node that is
  11401. most preferred is the one with
  11402. the greatest sum of weights, i.e.
  11403. for each node that meets all of
  11404. the scheduling requirements (resource
  11405. request, requiredDuringScheduling
  11406. anti-affinity expressions, etc.),
  11407. compute a sum by iterating through
  11408. the elements of this field and
  11409. adding "weight" to the sum if
  11410. the node has pods which matches
  11411. the corresponding podAffinityTerm;
  11412. the node(s) with the highest sum
  11413. are the most preferred.
  11414. type: array
  11415. items:
  11416. description: The weights of all
  11417. of the matched WeightedPodAffinityTerm
  11418. fields are added per-node to
  11419. find the most preferred node(s)
  11420. type: object
  11421. required:
  11422. - podAffinityTerm
  11423. - weight
  11424. properties:
  11425. podAffinityTerm:
  11426. description: Required. A pod
  11427. affinity term, associated
  11428. with the corresponding weight.
  11429. type: object
  11430. required:
  11431. - topologyKey
  11432. properties:
  11433. labelSelector:
  11434. description: A label query
  11435. over a set of resources,
  11436. in this case pods.
  11437. type: object
  11438. properties:
  11439. matchExpressions:
  11440. description: matchExpressions
  11441. is a list of label
  11442. selector requirements.
  11443. The requirements
  11444. are ANDed.
  11445. type: array
  11446. items:
  11447. description: A label
  11448. selector requirement
  11449. is a selector
  11450. that contains
  11451. values, a key,
  11452. and an operator
  11453. that relates the
  11454. key and values.
  11455. type: object
  11456. required:
  11457. - key
  11458. - operator
  11459. properties:
  11460. key:
  11461. description: key
  11462. is the label
  11463. key that the
  11464. selector applies
  11465. to.
  11466. type: string
  11467. operator:
  11468. description: operator
  11469. represents
  11470. a key's relationship
  11471. to a set of
  11472. values. Valid
  11473. operators
  11474. are In, NotIn,
  11475. Exists and
  11476. DoesNotExist.
  11477. type: string
  11478. values:
  11479. description: values
  11480. is an array
  11481. of string
  11482. values. If
  11483. the operator
  11484. is In or NotIn,
  11485. the values
  11486. array must
  11487. be non-empty.
  11488. If the operator
  11489. is Exists
  11490. or DoesNotExist,
  11491. the values
  11492. array must
  11493. be empty.
  11494. This array
  11495. is replaced
  11496. during a strategic
  11497. merge patch.
  11498. type: array
  11499. items:
  11500. type: string
  11501. matchLabels:
  11502. description: matchLabels
  11503. is a map of {key,value}
  11504. pairs. A single
  11505. {key,value} in the
  11506. matchLabels map
  11507. is equivalent to
  11508. an element of matchExpressions,
  11509. whose key field
  11510. is "key", the operator
  11511. is "In", and the
  11512. values array contains
  11513. only "value". The
  11514. requirements are
  11515. ANDed.
  11516. type: object
  11517. additionalProperties:
  11518. type: string
  11519. namespaces:
  11520. description: namespaces
  11521. specifies which namespaces
  11522. the labelSelector applies
  11523. to (matches against);
  11524. null or empty list means
  11525. "this pod's namespace"
  11526. type: array
  11527. items:
  11528. type: string
  11529. topologyKey:
  11530. description: This pod
  11531. should be co-located
  11532. (affinity) or not co-located
  11533. (anti-affinity) with
  11534. the pods matching the
  11535. labelSelector in the
  11536. specified namespaces,
  11537. where co-located is
  11538. defined as running on
  11539. a node whose value of
  11540. the label with key topologyKey
  11541. matches that of any
  11542. node on which any of
  11543. the selected pods is
  11544. running. Empty topologyKey
  11545. is not allowed.
  11546. type: string
  11547. weight:
  11548. description: weight associated
  11549. with matching the corresponding
  11550. podAffinityTerm, in the
  11551. range 1-100.
  11552. type: integer
  11553. format: int32
  11554. requiredDuringSchedulingIgnoredDuringExecution:
  11555. description: If the anti-affinity
  11556. requirements specified by this
  11557. field are not met at scheduling
  11558. time, the pod will not be scheduled
  11559. onto the node. If the anti-affinity
  11560. requirements specified by this
  11561. field cease to be met at some
  11562. point during pod execution (e.g.
  11563. due to a pod label update), the
  11564. system may or may not try to eventually
  11565. evict the pod from its node. When
  11566. there are multiple elements, the
  11567. lists of nodes corresponding to
  11568. each podAffinityTerm are intersected,
  11569. i.e. all terms must be satisfied.
  11570. type: array
  11571. items:
  11572. description: Defines a set of
  11573. pods (namely those matching
  11574. the labelSelector relative to
  11575. the given namespace(s)) that
  11576. this pod should be co-located
  11577. (affinity) or not co-located
  11578. (anti-affinity) with, where
  11579. co-located is defined as running
  11580. on a node whose value of the
  11581. label with key <topologyKey>
  11582. matches that of any node on
  11583. which a pod of the set of pods
  11584. is running
  11585. type: object
  11586. required:
  11587. - topologyKey
  11588. properties:
  11589. labelSelector:
  11590. description: A label query
  11591. over a set of resources,
  11592. in this case pods.
  11593. type: object
  11594. properties:
  11595. matchExpressions:
  11596. description: matchExpressions
  11597. is a list of label selector
  11598. requirements. The requirements
  11599. are ANDed.
  11600. type: array
  11601. items:
  11602. description: A label
  11603. selector requirement
  11604. is a selector that
  11605. contains values, a
  11606. key, and an operator
  11607. that relates the key
  11608. and values.
  11609. type: object
  11610. required:
  11611. - key
  11612. - operator
  11613. properties:
  11614. key:
  11615. description: key
  11616. is the label key
  11617. that the selector
  11618. applies to.
  11619. type: string
  11620. operator:
  11621. description: operator
  11622. represents a key's
  11623. relationship to
  11624. a set of values.
  11625. Valid operators
  11626. are In, NotIn,
  11627. Exists and DoesNotExist.
  11628. type: string
  11629. values:
  11630. description: values
  11631. is an array of
  11632. string values.
  11633. If the operator
  11634. is In or NotIn,
  11635. the values array
  11636. must be non-empty.
  11637. If the operator
  11638. is Exists or DoesNotExist,
  11639. the values array
  11640. must be empty.
  11641. This array is
  11642. replaced during
  11643. a strategic merge
  11644. patch.
  11645. type: array
  11646. items:
  11647. type: string
  11648. matchLabels:
  11649. description: matchLabels
  11650. is a map of {key,value}
  11651. pairs. A single {key,value}
  11652. in the matchLabels map
  11653. is equivalent to an
  11654. element of matchExpressions,
  11655. whose key field is "key",
  11656. the operator is "In",
  11657. and the values array
  11658. contains only "value".
  11659. The requirements are
  11660. ANDed.
  11661. type: object
  11662. additionalProperties:
  11663. type: string
  11664. namespaces:
  11665. description: namespaces specifies
  11666. which namespaces the labelSelector
  11667. applies to (matches against);
  11668. null or empty list means
  11669. "this pod's namespace"
  11670. type: array
  11671. items:
  11672. type: string
  11673. topologyKey:
  11674. description: This pod should
  11675. be co-located (affinity)
  11676. or not co-located (anti-affinity)
  11677. with the pods matching the
  11678. labelSelector in the specified
  11679. namespaces, where co-located
  11680. is defined as running on
  11681. a node whose value of the
  11682. label with key topologyKey
  11683. matches that of any node
  11684. on which any of the selected
  11685. pods is running. Empty topologyKey
  11686. is not allowed.
  11687. type: string
  11688. nodeSelector:
  11689. description: 'NodeSelector is a selector
  11690. which must be true for the pod to fit
  11691. on a node. Selector which must match a
  11692. node''s labels for the pod to be scheduled
  11693. on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  11694. type: object
  11695. additionalProperties:
  11696. type: string
  11697. tolerations:
  11698. description: If specified, the pod's tolerations.
  11699. type: array
  11700. items:
  11701. description: The pod this Toleration is
  11702. attached to tolerates any taint that
  11703. matches the triple <key,value,effect>
  11704. using the matching operator <operator>.
  11705. type: object
  11706. properties:
  11707. effect:
  11708. description: Effect indicates the
  11709. taint effect to match. Empty means
  11710. match all taint effects. When specified,
  11711. allowed values are NoSchedule, PreferNoSchedule
  11712. and NoExecute.
  11713. type: string
  11714. key:
  11715. description: Key is the taint key
  11716. that the toleration applies to.
  11717. Empty means match all taint keys.
  11718. If the key is empty, operator must
  11719. be Exists; this combination means
  11720. to match all values and all keys.
  11721. type: string
  11722. operator:
  11723. description: Operator represents a
  11724. key's relationship to the value.
  11725. Valid operators are Exists and Equal.
  11726. Defaults to Equal. Exists is equivalent
  11727. to wildcard for value, so that a
  11728. pod can tolerate all taints of a
  11729. particular category.
  11730. type: string
  11731. tolerationSeconds:
  11732. description: TolerationSeconds represents
  11733. the period of time the toleration
  11734. (which must be of effect NoExecute,
  11735. otherwise this field is ignored)
  11736. tolerates the taint. By default,
  11737. it is not set, which means tolerate
  11738. the taint forever (do not evict).
  11739. Zero and negative values will be
  11740. treated as 0 (evict immediately)
  11741. by the system.
  11742. type: integer
  11743. format: int64
  11744. value:
  11745. description: Value is the taint value
  11746. the toleration matches to. If the
  11747. operator is Exists, the value should
  11748. be empty, otherwise just a regular
  11749. string.
  11750. type: string
  11751. serviceType:
  11752. description: Optional service type for Kubernetes
  11753. solver service
  11754. type: string
  11755. selector:
  11756. description: Selector selects a set of DNSNames on the Certificate
  11757. resource that should be solved using this challenge solver.
  11758. If not specified, the solver will be treated as the 'default'
  11759. solver with the lowest priority, i.e. if any other solver
  11760. has a more specific match, it will be used instead.
  11761. type: object
  11762. properties:
  11763. dnsNames:
  11764. description: List of DNSNames that this solver will
  11765. be used to solve. If specified and a match is found,
  11766. a dnsNames selector will take precedence over a dnsZones
  11767. selector. If multiple solvers match with the same
  11768. dnsNames value, the solver with the most matching
  11769. labels in matchLabels will be selected. If neither
  11770. has more matches, the solver defined earlier in the
  11771. list will be selected.
  11772. type: array
  11773. items:
  11774. type: string
  11775. dnsZones:
  11776. description: List of DNSZones that this solver will
  11777. be used to solve. The most specific DNS zone match
  11778. specified here will take precedence over other DNS
  11779. zone matches, so a solver specifying sys.example.com
  11780. will be selected over one specifying example.com for
  11781. the domain www.sys.example.com. If multiple solvers
  11782. match with the same dnsZones value, the solver with
  11783. the most matching labels in matchLabels will be selected.
  11784. If neither has more matches, the solver defined earlier
  11785. in the list will be selected.
  11786. type: array
  11787. items:
  11788. type: string
  11789. matchLabels:
  11790. description: A label selector that is used to refine
  11791. the set of certificate's that this challenge solver
  11792. will apply to.
  11793. type: object
  11794. additionalProperties:
  11795. type: string
  11796. ca:
  11797. description: CA configures this issuer to sign certificates using
  11798. a signing CA keypair stored in a Secret resource. This is used to
  11799. build internal PKIs that are managed by cert-manager.
  11800. type: object
  11801. required:
  11802. - secretName
  11803. properties:
  11804. crlDistributionPoints:
  11805. description: The CRL distribution points is an X.509 v3 certificate
  11806. extension which identifies the location of the CRL from which
  11807. the revocation of this certificate can be checked. If not set,
  11808. certificates will be issued without distribution points set.
  11809. type: array
  11810. items:
  11811. type: string
  11812. secretName:
  11813. description: SecretName is the name of the secret used to sign
  11814. Certificates issued by this Issuer.
  11815. type: string
  11816. selfSigned:
  11817. description: SelfSigned configures this issuer to 'self sign' certificates
  11818. using the private key used to create the CertificateRequest object.
  11819. type: object
  11820. properties:
  11821. crlDistributionPoints:
  11822. description: The CRL distribution points is an X.509 v3 certificate
  11823. extension which identifies the location of the CRL from which
  11824. the revocation of this certificate can be checked. If not set
  11825. certificate will be issued without CDP. Values are strings.
  11826. type: array
  11827. items:
  11828. type: string
  11829. vault:
  11830. description: Vault configures this issuer to sign certificates using
  11831. a HashiCorp Vault PKI backend.
  11832. type: object
  11833. required:
  11834. - auth
  11835. - path
  11836. - server
  11837. properties:
  11838. auth:
  11839. description: Auth configures how cert-manager authenticates with
  11840. the Vault server.
  11841. type: object
  11842. properties:
  11843. appRole:
  11844. description: AppRole authenticates with Vault using the App
  11845. Role auth mechanism, with the role and secret stored in
  11846. a Kubernetes Secret resource.
  11847. type: object
  11848. required:
  11849. - path
  11850. - roleId
  11851. - secretRef
  11852. properties:
  11853. path:
  11854. description: 'Path where the App Role authentication backend
  11855. is mounted in Vault, e.g: "approle"'
  11856. type: string
  11857. roleId:
  11858. description: RoleID configured in the App Role authentication
  11859. backend when setting up the authentication backend in
  11860. Vault.
  11861. type: string
  11862. secretRef:
  11863. description: Reference to a key in a Secret that contains
  11864. the App Role secret used to authenticate with Vault.
  11865. The `key` field must be specified and denotes which
  11866. entry within the Secret resource is used as the app
  11867. role secret.
  11868. type: object
  11869. required:
  11870. - name
  11871. properties:
  11872. key:
  11873. description: The key of the entry in the Secret resource's
  11874. `data` field to be used. Some instances of this
  11875. field may be defaulted, in others it may be required.
  11876. type: string
  11877. name:
  11878. description: 'Name of the resource being referred
  11879. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  11880. type: string
  11881. kubernetes:
  11882. description: Kubernetes authenticates with Vault by passing
  11883. the ServiceAccount token stored in the named Secret resource
  11884. to the Vault server.
  11885. type: object
  11886. required:
  11887. - role
  11888. - secretRef
  11889. properties:
  11890. mountPath:
  11891. description: The Vault mountPath here is the mount path
  11892. to use when authenticating with Vault. For example,
  11893. setting a value to `/v1/auth/foo`, will use the path
  11894. `/v1/auth/foo/login` to authenticate with Vault. If
  11895. unspecified, the default value "/v1/auth/kubernetes"
  11896. will be used.
  11897. type: string
  11898. role:
  11899. description: A required field containing the Vault Role
  11900. to assume. A Role binds a Kubernetes ServiceAccount
  11901. with a set of Vault policies.
  11902. type: string
  11903. secretRef:
  11904. description: The required Secret field containing a Kubernetes
  11905. ServiceAccount JWT used for authenticating with Vault.
  11906. Use of 'ambient credentials' is not supported.
  11907. type: object
  11908. required:
  11909. - name
  11910. properties:
  11911. key:
  11912. description: The key of the entry in the Secret resource's
  11913. `data` field to be used. Some instances of this
  11914. field may be defaulted, in others it may be required.
  11915. type: string
  11916. name:
  11917. description: 'Name of the resource being referred
  11918. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  11919. type: string
  11920. tokenSecretRef:
  11921. description: TokenSecretRef authenticates with Vault by presenting
  11922. a token.
  11923. type: object
  11924. required:
  11925. - name
  11926. properties:
  11927. key:
  11928. description: The key of the entry in the Secret resource's
  11929. `data` field to be used. Some instances of this field
  11930. may be defaulted, in others it may be required.
  11931. type: string
  11932. name:
  11933. description: 'Name of the resource being referred to.
  11934. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  11935. type: string
  11936. caBundle:
  11937. description: PEM encoded CA bundle used to validate Vault server
  11938. certificate. Only used if the Server URL is using HTTPS protocol.
  11939. This parameter is ignored for plain HTTP protocol connection.
  11940. If not set the system root certificates are used to validate
  11941. the TLS connection.
  11942. type: string
  11943. format: byte
  11944. path:
  11945. description: 'Path is the mount path of the Vault PKI backend''s
  11946. `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  11947. type: string
  11948. server:
  11949. description: 'Server is the connection address for the Vault server,
  11950. e.g: "https://vault.example.com:8200".'
  11951. type: string
  11952. venafi:
  11953. description: Venafi configures this issuer to sign certificates using
  11954. a Venafi TPP or Venafi Cloud policy zone.
  11955. type: object
  11956. required:
  11957. - zone
  11958. properties:
  11959. cloud:
  11960. description: Cloud specifies the Venafi cloud configuration settings.
  11961. Only one of TPP or Cloud may be specified.
  11962. type: object
  11963. required:
  11964. - apiTokenSecretRef
  11965. properties:
  11966. apiTokenSecretRef:
  11967. description: APITokenSecretRef is a secret key selector for
  11968. the Venafi Cloud API token.
  11969. type: object
  11970. required:
  11971. - name
  11972. properties:
  11973. key:
  11974. description: The key of the entry in the Secret resource's
  11975. `data` field to be used. Some instances of this field
  11976. may be defaulted, in others it may be required.
  11977. type: string
  11978. name:
  11979. description: 'Name of the resource being referred to.
  11980. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  11981. type: string
  11982. url:
  11983. description: URL is the base URL for Venafi Cloud. Defaults
  11984. to "https://api.venafi.cloud/v1".
  11985. type: string
  11986. tpp:
  11987. description: TPP specifies Trust Protection Platform configuration
  11988. settings. Only one of TPP or Cloud may be specified.
  11989. type: object
  11990. required:
  11991. - credentialsRef
  11992. - url
  11993. properties:
  11994. caBundle:
  11995. description: CABundle is a PEM encoded TLS certificate to
  11996. use to verify connections to the TPP instance. If specified,
  11997. system roots will not be used and the issuing CA for the
  11998. TPP instance must be verifiable using the provided root.
  11999. If not specified, the connection will be verified using
  12000. the cert-manager system root certificates.
  12001. type: string
  12002. format: byte
  12003. credentialsRef:
  12004. description: CredentialsRef is a reference to a Secret containing
  12005. the username and password for the TPP server. The secret
  12006. must contain two keys, 'username' and 'password'.
  12007. type: object
  12008. required:
  12009. - name
  12010. properties:
  12011. name:
  12012. description: 'Name of the resource being referred to.
  12013. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12014. type: string
  12015. url:
  12016. description: 'URL is the base URL for the vedsdk endpoint
  12017. of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  12018. type: string
  12019. zone:
  12020. description: Zone is the Venafi Policy Zone to use for this issuer.
  12021. All requests made to the Venafi platform will be restricted
  12022. by the named zone policy. This field is required.
  12023. type: string
  12024. status:
  12025. description: Status of the ClusterIssuer. This is set and managed automatically.
  12026. type: object
  12027. properties:
  12028. acme:
  12029. description: ACME specific status options. This field should only
  12030. be set if the Issuer is configured to use an ACME server to issue
  12031. certificates.
  12032. type: object
  12033. properties:
  12034. lastRegisteredEmail:
  12035. description: LastRegisteredEmail is the email associated with
  12036. the latest registered ACME account, in order to track changes
  12037. made to registered account associated with the Issuer
  12038. type: string
  12039. uri:
  12040. description: URI is the unique account identifier, which can also
  12041. be used to retrieve account details from the CA
  12042. type: string
  12043. conditions:
  12044. description: List of status conditions to indicate the status of a
  12045. CertificateRequest. Known condition types are `Ready`.
  12046. type: array
  12047. items:
  12048. description: IssuerCondition contains condition information for
  12049. an Issuer.
  12050. type: object
  12051. required:
  12052. - status
  12053. - type
  12054. properties:
  12055. lastTransitionTime:
  12056. description: LastTransitionTime is the timestamp corresponding
  12057. to the last status change of this condition.
  12058. type: string
  12059. format: date-time
  12060. message:
  12061. description: Message is a human readable description of the
  12062. details of the last transition, complementing reason.
  12063. type: string
  12064. reason:
  12065. description: Reason is a brief machine readable explanation
  12066. for the condition's last transition.
  12067. type: string
  12068. status:
  12069. description: Status of the condition, one of ('True', 'False',
  12070. 'Unknown').
  12071. type: string
  12072. enum:
  12073. - "True"
  12074. - "False"
  12075. - Unknown
  12076. type:
  12077. description: Type of the condition, known values are ('Ready').
  12078. type: string
  12079. ---
  12080. # Source: cert-manager/templates/templates.regular.out
  12081. apiVersion: apiextensions.k8s.io/v1
  12082. kind: CustomResourceDefinition
  12083. metadata:
  12084. name: issuers.cert-manager.io
  12085. annotations:
  12086. cert-manager.io/inject-ca-from-secret: 'cert-manager/cert-manager-webhook-ca'
  12087. labels:
  12088. app: 'cert-manager'
  12089. app.kubernetes.io/name: 'cert-manager'
  12090. app.kubernetes.io/instance: 'cert-manager'
  12091. app.kubernetes.io/managed-by: 'Helm'
  12092. helm.sh/chart: 'cert-manager-v0.16.1'
  12093. spec:
  12094. additionalPrinterColumns:
  12095. - JSONPath: .status.conditions[?(@.type=="Ready")].status
  12096. name: Ready
  12097. type: string
  12098. - JSONPath: .status.conditions[?(@.type=="Ready")].message
  12099. name: Status
  12100. priority: 1
  12101. type: string
  12102. - JSONPath: .metadata.creationTimestamp
  12103. description: CreationTimestamp is a timestamp representing the server time when
  12104. this object was created. It is not guaranteed to be set in happens-before order
  12105. across separate operations. Clients may not set this value. It is represented
  12106. in RFC3339 form and is in UTC.
  12107. name: Age
  12108. type: date
  12109. group: cert-manager.io
  12110. preserveUnknownFields: false
  12111. conversion:
  12112. # a Webhook strategy instruct API server to call an external webhook for any conversion between custom resources.
  12113. strategy: Webhook
  12114. # webhookClientConfig is required when strategy is `Webhook` and it configures the webhook endpoint to be called by API server.
  12115. webhookClientConfig:
  12116. service:
  12117. namespace: 'cert-manager'
  12118. name: 'cert-manager-webhook'
  12119. path: /convert
  12120. names:
  12121. kind: Issuer
  12122. listKind: IssuerList
  12123. plural: issuers
  12124. singular: issuer
  12125. scope: Namespaced
  12126. subresources:
  12127. status: {}
  12128. versions:
  12129. - name: v1alpha2
  12130. served: true
  12131. storage: true
  12132. "schema":
  12133. "openAPIV3Schema":
  12134. description: An Issuer represents a certificate issuing authority which can
  12135. be referenced as part of `issuerRef` fields. It is scoped to a single namespace
  12136. and can therefore only be referenced by resources within the same namespace.
  12137. type: object
  12138. properties:
  12139. apiVersion:
  12140. description: 'APIVersion defines the versioned schema of this representation
  12141. of an object. Servers should convert recognized schemas to the latest
  12142. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  12143. type: string
  12144. kind:
  12145. description: 'Kind is a string value representing the REST resource this
  12146. object represents. Servers may infer this from the endpoint the client
  12147. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  12148. type: string
  12149. metadata:
  12150. type: object
  12151. spec:
  12152. description: Desired state of the Issuer resource.
  12153. type: object
  12154. properties:
  12155. acme:
  12156. description: ACME configures this issuer to communicate with a RFC8555
  12157. (ACME) server to obtain signed x509 certificates.
  12158. type: object
  12159. required:
  12160. - privateKeySecretRef
  12161. - server
  12162. properties:
  12163. email:
  12164. description: Email is the email address to be associated with
  12165. the ACME account. This field is optional, but it is strongly
  12166. recommended to be set. It will be used to contact you in case
  12167. of issues with your account or certificates, including expiry
  12168. notification emails. This field may be updated after the account
  12169. is initially registered.
  12170. type: string
  12171. externalAccountBinding:
  12172. description: ExternalAccountBinding is a reference to a CA external
  12173. account of the ACME server. If set, upon registration cert-manager
  12174. will attempt to associate the given external account credentials
  12175. with the registered ACME account.
  12176. type: object
  12177. required:
  12178. - keyAlgorithm
  12179. - keyID
  12180. - keySecretRef
  12181. properties:
  12182. keyAlgorithm:
  12183. description: keyAlgorithm is the MAC key algorithm that the
  12184. key is used for. Valid values are "HS256", "HS384" and "HS512".
  12185. type: string
  12186. enum:
  12187. - HS256
  12188. - HS384
  12189. - HS512
  12190. keyID:
  12191. description: keyID is the ID of the CA key that the External
  12192. Account is bound to.
  12193. type: string
  12194. keySecretRef:
  12195. description: keySecretRef is a Secret Key Selector referencing
  12196. a data item in a Kubernetes Secret which holds the symmetric
  12197. MAC key of the External Account Binding. The `key` is the
  12198. index string that is paired with the key data in the Secret
  12199. and should not be confused with the key data itself, or
  12200. indeed with the External Account Binding keyID above. The
  12201. secret key stored in the Secret **must** be un-padded, base64
  12202. URL encoded data.
  12203. type: object
  12204. required:
  12205. - name
  12206. properties:
  12207. key:
  12208. description: The key of the entry in the Secret resource's
  12209. `data` field to be used. Some instances of this field
  12210. may be defaulted, in others it may be required.
  12211. type: string
  12212. name:
  12213. description: 'Name of the resource being referred to.
  12214. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12215. type: string
  12216. privateKeySecretRef:
  12217. description: PrivateKey is the name of a Kubernetes Secret resource
  12218. that will be used to store the automatically generated ACME
  12219. account private key. Optionally, a `key` may be specified to
  12220. select a specific entry within the named Secret resource. If
  12221. `key` is not specified, a default of `tls.key` will be used.
  12222. type: object
  12223. required:
  12224. - name
  12225. properties:
  12226. key:
  12227. description: The key of the entry in the Secret resource's
  12228. `data` field to be used. Some instances of this field may
  12229. be defaulted, in others it may be required.
  12230. type: string
  12231. name:
  12232. description: 'Name of the resource being referred to. More
  12233. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12234. type: string
  12235. server:
  12236. description: 'Server is the URL used to access the ACME server''s
  12237. ''directory'' endpoint. For example, for Let''s Encrypt''s staging
  12238. endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory".
  12239. Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  12240. type: string
  12241. skipTLSVerify:
  12242. description: Enables or disables validation of the ACME server
  12243. TLS certificate. If true, requests to the ACME server will not
  12244. have their TLS certificate validated (i.e. insecure connections
  12245. will be allowed). Only enable this option in development environments.
  12246. The cert-manager system installed roots will be used to verify
  12247. connections to the ACME server if this is false. Defaults to
  12248. false.
  12249. type: boolean
  12250. solvers:
  12251. description: 'Solvers is a list of challenge solvers that will
  12252. be used to solve ACME challenges for the matching domains. Solver
  12253. configurations must be provided in order to obtain certificates
  12254. from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  12255. type: array
  12256. items:
  12257. description: Configures an issuer to solve challenges using
  12258. the specified options. Only one of HTTP01 or DNS01 may be
  12259. provided.
  12260. type: object
  12261. properties:
  12262. dns01:
  12263. description: Configures cert-manager to attempt to complete
  12264. authorizations by performing the DNS01 challenge flow.
  12265. type: object
  12266. properties:
  12267. acmedns:
  12268. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  12269. API to manage DNS01 challenge records.
  12270. type: object
  12271. required:
  12272. - accountSecretRef
  12273. - host
  12274. properties:
  12275. accountSecretRef:
  12276. description: A reference to a specific 'key' within
  12277. a Secret resource. In some instances, `key` is
  12278. a required field.
  12279. type: object
  12280. required:
  12281. - name
  12282. properties:
  12283. key:
  12284. description: The key of the entry in the Secret
  12285. resource's `data` field to be used. Some instances
  12286. of this field may be defaulted, in others
  12287. it may be required.
  12288. type: string
  12289. name:
  12290. description: 'Name of the resource being referred
  12291. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12292. type: string
  12293. host:
  12294. type: string
  12295. akamai:
  12296. description: Use the Akamai DNS zone management API
  12297. to manage DNS01 challenge records.
  12298. type: object
  12299. required:
  12300. - accessTokenSecretRef
  12301. - clientSecretSecretRef
  12302. - clientTokenSecretRef
  12303. - serviceConsumerDomain
  12304. properties:
  12305. accessTokenSecretRef:
  12306. description: A reference to a specific 'key' within
  12307. a Secret resource. In some instances, `key` is
  12308. a required field.
  12309. type: object
  12310. required:
  12311. - name
  12312. properties:
  12313. key:
  12314. description: The key of the entry in the Secret
  12315. resource's `data` field to be used. Some instances
  12316. of this field may be defaulted, in others
  12317. it may be required.
  12318. type: string
  12319. name:
  12320. description: 'Name of the resource being referred
  12321. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12322. type: string
  12323. clientSecretSecretRef:
  12324. description: A reference to a specific 'key' within
  12325. a Secret resource. In some instances, `key` is
  12326. a required field.
  12327. type: object
  12328. required:
  12329. - name
  12330. properties:
  12331. key:
  12332. description: The key of the entry in the Secret
  12333. resource's `data` field to be used. Some instances
  12334. of this field may be defaulted, in others
  12335. it may be required.
  12336. type: string
  12337. name:
  12338. description: 'Name of the resource being referred
  12339. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12340. type: string
  12341. clientTokenSecretRef:
  12342. description: A reference to a specific 'key' within
  12343. a Secret resource. In some instances, `key` is
  12344. a required field.
  12345. type: object
  12346. required:
  12347. - name
  12348. properties:
  12349. key:
  12350. description: The key of the entry in the Secret
  12351. resource's `data` field to be used. Some instances
  12352. of this field may be defaulted, in others
  12353. it may be required.
  12354. type: string
  12355. name:
  12356. description: 'Name of the resource being referred
  12357. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12358. type: string
  12359. serviceConsumerDomain:
  12360. type: string
  12361. azuredns:
  12362. description: Use the Microsoft Azure DNS API to manage
  12363. DNS01 challenge records.
  12364. type: object
  12365. required:
  12366. - resourceGroupName
  12367. - subscriptionID
  12368. properties:
  12369. clientID:
  12370. description: if both this and ClientSecret are left
  12371. unset MSI will be used
  12372. type: string
  12373. clientSecretSecretRef:
  12374. description: if both this and ClientID are left
  12375. unset MSI will be used
  12376. type: object
  12377. required:
  12378. - name
  12379. properties:
  12380. key:
  12381. description: The key of the entry in the Secret
  12382. resource's `data` field to be used. Some instances
  12383. of this field may be defaulted, in others
  12384. it may be required.
  12385. type: string
  12386. name:
  12387. description: 'Name of the resource being referred
  12388. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12389. type: string
  12390. environment:
  12391. type: string
  12392. enum:
  12393. - AzurePublicCloud
  12394. - AzureChinaCloud
  12395. - AzureGermanCloud
  12396. - AzureUSGovernmentCloud
  12397. hostedZoneName:
  12398. type: string
  12399. resourceGroupName:
  12400. type: string
  12401. subscriptionID:
  12402. type: string
  12403. tenantID:
  12404. description: when specifying ClientID and ClientSecret
  12405. then this field is also needed
  12406. type: string
  12407. clouddns:
  12408. description: Use the Google Cloud DNS API to manage
  12409. DNS01 challenge records.
  12410. type: object
  12411. required:
  12412. - project
  12413. properties:
  12414. hostedZoneName:
  12415. description: HostedZoneName is an optional field
  12416. that tells cert-manager in which Cloud DNS zone
  12417. the challenge record has to be created. If left
  12418. empty cert-manager will automatically choose a
  12419. zone.
  12420. type: string
  12421. project:
  12422. type: string
  12423. serviceAccountSecretRef:
  12424. description: A reference to a specific 'key' within
  12425. a Secret resource. In some instances, `key` is
  12426. a required field.
  12427. type: object
  12428. required:
  12429. - name
  12430. properties:
  12431. key:
  12432. description: The key of the entry in the Secret
  12433. resource's `data` field to be used. Some instances
  12434. of this field may be defaulted, in others
  12435. it may be required.
  12436. type: string
  12437. name:
  12438. description: 'Name of the resource being referred
  12439. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12440. type: string
  12441. cloudflare:
  12442. description: Use the Cloudflare API to manage DNS01
  12443. challenge records.
  12444. type: object
  12445. properties:
  12446. apiKeySecretRef:
  12447. description: 'API key to use to authenticate with
  12448. Cloudflare. Note: using an API token to authenticate
  12449. is now the recommended method as it allows greater
  12450. control of permissions.'
  12451. type: object
  12452. required:
  12453. - name
  12454. properties:
  12455. key:
  12456. description: The key of the entry in the Secret
  12457. resource's `data` field to be used. Some instances
  12458. of this field may be defaulted, in others
  12459. it may be required.
  12460. type: string
  12461. name:
  12462. description: 'Name of the resource being referred
  12463. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12464. type: string
  12465. apiTokenSecretRef:
  12466. description: API token used to authenticate with
  12467. Cloudflare.
  12468. type: object
  12469. required:
  12470. - name
  12471. properties:
  12472. key:
  12473. description: The key of the entry in the Secret
  12474. resource's `data` field to be used. Some instances
  12475. of this field may be defaulted, in others
  12476. it may be required.
  12477. type: string
  12478. name:
  12479. description: 'Name of the resource being referred
  12480. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12481. type: string
  12482. email:
  12483. description: Email of the account, only required
  12484. when using API key based authentication.
  12485. type: string
  12486. cnameStrategy:
  12487. description: CNAMEStrategy configures how the DNS01
  12488. provider should handle CNAME records when found in
  12489. DNS zones.
  12490. type: string
  12491. enum:
  12492. - None
  12493. - Follow
  12494. digitalocean:
  12495. description: Use the DigitalOcean DNS API to manage
  12496. DNS01 challenge records.
  12497. type: object
  12498. required:
  12499. - tokenSecretRef
  12500. properties:
  12501. tokenSecretRef:
  12502. description: A reference to a specific 'key' within
  12503. a Secret resource. In some instances, `key` is
  12504. a required field.
  12505. type: object
  12506. required:
  12507. - name
  12508. properties:
  12509. key:
  12510. description: The key of the entry in the Secret
  12511. resource's `data` field to be used. Some instances
  12512. of this field may be defaulted, in others
  12513. it may be required.
  12514. type: string
  12515. name:
  12516. description: 'Name of the resource being referred
  12517. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12518. type: string
  12519. rfc2136:
  12520. description: Use RFC2136 ("Dynamic Updates in the Domain
  12521. Name System") (https://datatracker.ietf.org/doc/rfc2136/)
  12522. to manage DNS01 challenge records.
  12523. type: object
  12524. required:
  12525. - nameserver
  12526. properties:
  12527. nameserver:
  12528. description: The IP address or hostname of an authoritative
  12529. DNS server supporting RFC2136 in the form host:port.
  12530. If the host is an IPv6 address it must be enclosed
  12531. in square brackets (e.g [2001:db8::1]) ; port
  12532. is optional. This field is required.
  12533. type: string
  12534. tsigAlgorithm:
  12535. description: 'The TSIG Algorithm configured in the
  12536. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  12537. and ``tsigKeyName`` are defined. Supported values
  12538. are (case-insensitive): ``HMACMD5`` (default),
  12539. ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  12540. type: string
  12541. tsigKeyName:
  12542. description: The TSIG Key name configured in the
  12543. DNS. If ``tsigSecretSecretRef`` is defined, this
  12544. field is required.
  12545. type: string
  12546. tsigSecretSecretRef:
  12547. description: The name of the secret containing the
  12548. TSIG value. If ``tsigKeyName`` is defined, this
  12549. field is required.
  12550. type: object
  12551. required:
  12552. - name
  12553. properties:
  12554. key:
  12555. description: The key of the entry in the Secret
  12556. resource's `data` field to be used. Some instances
  12557. of this field may be defaulted, in others
  12558. it may be required.
  12559. type: string
  12560. name:
  12561. description: 'Name of the resource being referred
  12562. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12563. type: string
  12564. route53:
  12565. description: Use the AWS Route53 API to manage DNS01
  12566. challenge records.
  12567. type: object
  12568. required:
  12569. - region
  12570. properties:
  12571. accessKeyID:
  12572. description: 'The AccessKeyID is used for authentication.
  12573. If not set we fall-back to using env vars, shared
  12574. credentials file or AWS Instance metadata see:
  12575. https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  12576. type: string
  12577. hostedZoneID:
  12578. description: If set, the provider will manage only
  12579. this zone in Route53 and will not do an lookup
  12580. using the route53:ListHostedZonesByName api call.
  12581. type: string
  12582. region:
  12583. description: Always set the region when using AccessKeyID
  12584. and SecretAccessKey
  12585. type: string
  12586. role:
  12587. description: Role is a Role ARN which the Route53
  12588. provider will assume using either the explicit
  12589. credentials AccessKeyID/SecretAccessKey or the
  12590. inferred credentials from environment variables,
  12591. shared credentials file or AWS Instance metadata
  12592. type: string
  12593. secretAccessKeySecretRef:
  12594. description: The SecretAccessKey is used for authentication.
  12595. If not set we fall-back to using env vars, shared
  12596. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  12597. type: object
  12598. required:
  12599. - name
  12600. properties:
  12601. key:
  12602. description: The key of the entry in the Secret
  12603. resource's `data` field to be used. Some instances
  12604. of this field may be defaulted, in others
  12605. it may be required.
  12606. type: string
  12607. name:
  12608. description: 'Name of the resource being referred
  12609. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  12610. type: string
  12611. webhook:
  12612. description: Configure an external webhook based DNS01
  12613. challenge solver to manage DNS01 challenge records.
  12614. type: object
  12615. required:
  12616. - groupName
  12617. - solverName
  12618. properties:
  12619. config:
  12620. description: Additional configuration that should
  12621. be passed to the webhook apiserver when challenges
  12622. are processed. This can contain arbitrary JSON
  12623. data. Secret values should not be specified in
  12624. this stanza. If secret values are needed (e.g.
  12625. credentials for a DNS service), you should use
  12626. a SecretKeySelector to reference a Secret resource.
  12627. For details on the schema of this field, consult
  12628. the webhook provider implementation's documentation.
  12629. x-kubernetes-preserve-unknown-fields: true
  12630. groupName:
  12631. description: The API group name that should be used
  12632. when POSTing ChallengePayload resources to the
  12633. webhook apiserver. This should be the same as
  12634. the GroupName specified in the webhook provider
  12635. implementation.
  12636. type: string
  12637. solverName:
  12638. description: The name of the solver to use, as defined
  12639. in the webhook provider implementation. This will
  12640. typically be the name of the provider, e.g. 'cloudflare'.
  12641. type: string
  12642. http01:
  12643. description: Configures cert-manager to attempt to complete
  12644. authorizations by performing the HTTP01 challenge flow.
  12645. It is not possible to obtain certificates for wildcard
  12646. domain names (e.g. `*.example.com`) using the HTTP01 challenge
  12647. mechanism.
  12648. type: object
  12649. properties:
  12650. ingress:
  12651. description: The ingress based HTTP01 challenge solver
  12652. will solve challenges by creating or modifying Ingress
  12653. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  12654. to 'challenge solver' pods that are provisioned by
  12655. cert-manager for each Challenge to be completed.
  12656. type: object
  12657. properties:
  12658. class:
  12659. description: The ingress class to use when creating
  12660. Ingress resources to solve ACME challenges that
  12661. use this challenge solver. Only one of 'class'
  12662. or 'name' may be specified.
  12663. type: string
  12664. ingressTemplate:
  12665. description: Optional ingress template used to configure
  12666. the ACME challenge solver ingress used for HTTP01
  12667. challenges
  12668. type: object
  12669. properties:
  12670. metadata:
  12671. description: ObjectMeta overrides for the ingress
  12672. used to solve HTTP01 challenges. Only the
  12673. 'labels' and 'annotations' fields may be set.
  12674. If labels or annotations overlap with in-built
  12675. values, the values here will override the
  12676. in-built values.
  12677. type: object
  12678. properties:
  12679. annotations:
  12680. description: Annotations that should be
  12681. added to the created ACME HTTP01 solver
  12682. ingress.
  12683. type: object
  12684. additionalProperties:
  12685. type: string
  12686. labels:
  12687. description: Labels that should be added
  12688. to the created ACME HTTP01 solver ingress.
  12689. type: object
  12690. additionalProperties:
  12691. type: string
  12692. name:
  12693. description: The name of the ingress resource that
  12694. should have ACME challenge solving routes inserted
  12695. into it in order to solve HTTP01 challenges. This
  12696. is typically used in conjunction with ingress
  12697. controllers like ingress-gce, which maintains
  12698. a 1:1 mapping between external IPs and ingress
  12699. resources.
  12700. type: string
  12701. podTemplate:
  12702. description: Optional pod template used to configure
  12703. the ACME challenge solver pods used for HTTP01
  12704. challenges
  12705. type: object
  12706. properties:
  12707. metadata:
  12708. description: ObjectMeta overrides for the pod
  12709. used to solve HTTP01 challenges. Only the
  12710. 'labels' and 'annotations' fields may be set.
  12711. If labels or annotations overlap with in-built
  12712. values, the values here will override the
  12713. in-built values.
  12714. type: object
  12715. properties:
  12716. annotations:
  12717. description: Annotations that should be
  12718. added to the create ACME HTTP01 solver
  12719. pods.
  12720. type: object
  12721. additionalProperties:
  12722. type: string
  12723. labels:
  12724. description: Labels that should be added
  12725. to the created ACME HTTP01 solver pods.
  12726. type: object
  12727. additionalProperties:
  12728. type: string
  12729. spec:
  12730. description: PodSpec defines overrides for the
  12731. HTTP01 challenge solver pod. Only the 'nodeSelector',
  12732. 'affinity' and 'tolerations' fields are supported
  12733. currently. All other fields will be ignored.
  12734. type: object
  12735. properties:
  12736. affinity:
  12737. description: If specified, the pod's scheduling
  12738. constraints
  12739. type: object
  12740. properties:
  12741. nodeAffinity:
  12742. description: Describes node affinity
  12743. scheduling rules for the pod.
  12744. type: object
  12745. properties:
  12746. preferredDuringSchedulingIgnoredDuringExecution:
  12747. description: The scheduler will
  12748. prefer to schedule pods to nodes
  12749. that satisfy the affinity expressions
  12750. specified by this field, but it
  12751. may choose a node that violates
  12752. one or more of the expressions.
  12753. The node that is most preferred
  12754. is the one with the greatest sum
  12755. of weights, i.e. for each node
  12756. that meets all of the scheduling
  12757. requirements (resource request,
  12758. requiredDuringScheduling affinity
  12759. expressions, etc.), compute a
  12760. sum by iterating through the elements
  12761. of this field and adding "weight"
  12762. to the sum if the node matches
  12763. the corresponding matchExpressions;
  12764. the node(s) with the highest sum
  12765. are the most preferred.
  12766. type: array
  12767. items:
  12768. description: An empty preferred
  12769. scheduling term matches all
  12770. objects with implicit weight
  12771. 0 (i.e. it's a no-op). A null
  12772. preferred scheduling term matches
  12773. no objects (i.e. is also a no-op).
  12774. type: object
  12775. required:
  12776. - preference
  12777. - weight
  12778. properties:
  12779. preference:
  12780. description: A node selector
  12781. term, associated with the
  12782. corresponding weight.
  12783. type: object
  12784. properties:
  12785. matchExpressions:
  12786. description: A list of
  12787. node selector requirements
  12788. by node's labels.
  12789. type: array
  12790. items:
  12791. description: A node
  12792. selector requirement
  12793. is a selector that
  12794. contains values, a
  12795. key, and an operator
  12796. that relates the key
  12797. and values.
  12798. type: object
  12799. required:
  12800. - key
  12801. - operator
  12802. properties:
  12803. key:
  12804. description: The
  12805. label key that
  12806. the selector applies
  12807. to.
  12808. type: string
  12809. operator:
  12810. description: Represents
  12811. a key's relationship
  12812. to a set of values.
  12813. Valid operators
  12814. are In, NotIn,
  12815. Exists, DoesNotExist.
  12816. Gt, and Lt.
  12817. type: string
  12818. values:
  12819. description: An
  12820. array of string
  12821. values. If the
  12822. operator is In
  12823. or NotIn, the
  12824. values array must
  12825. be non-empty.
  12826. If the operator
  12827. is Exists or DoesNotExist,
  12828. the values array
  12829. must be empty.
  12830. If the operator
  12831. is Gt or Lt, the
  12832. values array must
  12833. have a single
  12834. element, which
  12835. will be interpreted
  12836. as an integer.
  12837. This array is
  12838. replaced during
  12839. a strategic merge
  12840. patch.
  12841. type: array
  12842. items:
  12843. type: string
  12844. matchFields:
  12845. description: A list of
  12846. node selector requirements
  12847. by node's fields.
  12848. type: array
  12849. items:
  12850. description: A node
  12851. selector requirement
  12852. is a selector that
  12853. contains values, a
  12854. key, and an operator
  12855. that relates the key
  12856. and values.
  12857. type: object
  12858. required:
  12859. - key
  12860. - operator
  12861. properties:
  12862. key:
  12863. description: The
  12864. label key that
  12865. the selector applies
  12866. to.
  12867. type: string
  12868. operator:
  12869. description: Represents
  12870. a key's relationship
  12871. to a set of values.
  12872. Valid operators
  12873. are In, NotIn,
  12874. Exists, DoesNotExist.
  12875. Gt, and Lt.
  12876. type: string
  12877. values:
  12878. description: An
  12879. array of string
  12880. values. If the
  12881. operator is In
  12882. or NotIn, the
  12883. values array must
  12884. be non-empty.
  12885. If the operator
  12886. is Exists or DoesNotExist,
  12887. the values array
  12888. must be empty.
  12889. If the operator
  12890. is Gt or Lt, the
  12891. values array must
  12892. have a single
  12893. element, which
  12894. will be interpreted
  12895. as an integer.
  12896. This array is
  12897. replaced during
  12898. a strategic merge
  12899. patch.
  12900. type: array
  12901. items:
  12902. type: string
  12903. weight:
  12904. description: Weight associated
  12905. with matching the corresponding
  12906. nodeSelectorTerm, in the
  12907. range 1-100.
  12908. type: integer
  12909. format: int32
  12910. requiredDuringSchedulingIgnoredDuringExecution:
  12911. description: If the affinity requirements
  12912. specified by this field are not
  12913. met at scheduling time, the pod
  12914. will not be scheduled onto the
  12915. node. If the affinity requirements
  12916. specified by this field cease
  12917. to be met at some point during
  12918. pod execution (e.g. due to an
  12919. update), the system may or may
  12920. not try to eventually evict the
  12921. pod from its node.
  12922. type: object
  12923. required:
  12924. - nodeSelectorTerms
  12925. properties:
  12926. nodeSelectorTerms:
  12927. description: Required. A list
  12928. of node selector terms. The
  12929. terms are ORed.
  12930. type: array
  12931. items:
  12932. description: A null or empty
  12933. node selector term matches
  12934. no objects. The requirements
  12935. of them are ANDed. The TopologySelectorTerm
  12936. type implements a subset
  12937. of the NodeSelectorTerm.
  12938. type: object
  12939. properties:
  12940. matchExpressions:
  12941. description: A list of
  12942. node selector requirements
  12943. by node's labels.
  12944. type: array
  12945. items:
  12946. description: A node
  12947. selector requirement
  12948. is a selector that
  12949. contains values, a
  12950. key, and an operator
  12951. that relates the key
  12952. and values.
  12953. type: object
  12954. required:
  12955. - key
  12956. - operator
  12957. properties:
  12958. key:
  12959. description: The
  12960. label key that
  12961. the selector applies
  12962. to.
  12963. type: string
  12964. operator:
  12965. description: Represents
  12966. a key's relationship
  12967. to a set of values.
  12968. Valid operators
  12969. are In, NotIn,
  12970. Exists, DoesNotExist.
  12971. Gt, and Lt.
  12972. type: string
  12973. values:
  12974. description: An
  12975. array of string
  12976. values. If the
  12977. operator is In
  12978. or NotIn, the
  12979. values array must
  12980. be non-empty.
  12981. If the operator
  12982. is Exists or DoesNotExist,
  12983. the values array
  12984. must be empty.
  12985. If the operator
  12986. is Gt or Lt, the
  12987. values array must
  12988. have a single
  12989. element, which
  12990. will be interpreted
  12991. as an integer.
  12992. This array is
  12993. replaced during
  12994. a strategic merge
  12995. patch.
  12996. type: array
  12997. items:
  12998. type: string
  12999. matchFields:
  13000. description: A list of
  13001. node selector requirements
  13002. by node's fields.
  13003. type: array
  13004. items:
  13005. description: A node
  13006. selector requirement
  13007. is a selector that
  13008. contains values, a
  13009. key, and an operator
  13010. that relates the key
  13011. and values.
  13012. type: object
  13013. required:
  13014. - key
  13015. - operator
  13016. properties:
  13017. key:
  13018. description: The
  13019. label key that
  13020. the selector applies
  13021. to.
  13022. type: string
  13023. operator:
  13024. description: Represents
  13025. a key's relationship
  13026. to a set of values.
  13027. Valid operators
  13028. are In, NotIn,
  13029. Exists, DoesNotExist.
  13030. Gt, and Lt.
  13031. type: string
  13032. values:
  13033. description: An
  13034. array of string
  13035. values. If the
  13036. operator is In
  13037. or NotIn, the
  13038. values array must
  13039. be non-empty.
  13040. If the operator
  13041. is Exists or DoesNotExist,
  13042. the values array
  13043. must be empty.
  13044. If the operator
  13045. is Gt or Lt, the
  13046. values array must
  13047. have a single
  13048. element, which
  13049. will be interpreted
  13050. as an integer.
  13051. This array is
  13052. replaced during
  13053. a strategic merge
  13054. patch.
  13055. type: array
  13056. items:
  13057. type: string
  13058. podAffinity:
  13059. description: Describes pod affinity
  13060. scheduling rules (e.g. co-locate this
  13061. pod in the same node, zone, etc. as
  13062. some other pod(s)).
  13063. type: object
  13064. properties:
  13065. preferredDuringSchedulingIgnoredDuringExecution:
  13066. description: The scheduler will
  13067. prefer to schedule pods to nodes
  13068. that satisfy the affinity expressions
  13069. specified by this field, but it
  13070. may choose a node that violates
  13071. one or more of the expressions.
  13072. The node that is most preferred
  13073. is the one with the greatest sum
  13074. of weights, i.e. for each node
  13075. that meets all of the scheduling
  13076. requirements (resource request,
  13077. requiredDuringScheduling affinity
  13078. expressions, etc.), compute a
  13079. sum by iterating through the elements
  13080. of this field and adding "weight"
  13081. to the sum if the node has pods
  13082. which matches the corresponding
  13083. podAffinityTerm; the node(s) with
  13084. the highest sum are the most preferred.
  13085. type: array
  13086. items:
  13087. description: The weights of all
  13088. of the matched WeightedPodAffinityTerm
  13089. fields are added per-node to
  13090. find the most preferred node(s)
  13091. type: object
  13092. required:
  13093. - podAffinityTerm
  13094. - weight
  13095. properties:
  13096. podAffinityTerm:
  13097. description: Required. A pod
  13098. affinity term, associated
  13099. with the corresponding weight.
  13100. type: object
  13101. required:
  13102. - topologyKey
  13103. properties:
  13104. labelSelector:
  13105. description: A label query
  13106. over a set of resources,
  13107. in this case pods.
  13108. type: object
  13109. properties:
  13110. matchExpressions:
  13111. description: matchExpressions
  13112. is a list of label
  13113. selector requirements.
  13114. The requirements
  13115. are ANDed.
  13116. type: array
  13117. items:
  13118. description: A label
  13119. selector requirement
  13120. is a selector
  13121. that contains
  13122. values, a key,
  13123. and an operator
  13124. that relates the
  13125. key and values.
  13126. type: object
  13127. required:
  13128. - key
  13129. - operator
  13130. properties:
  13131. key:
  13132. description: key
  13133. is the label
  13134. key that the
  13135. selector applies
  13136. to.
  13137. type: string
  13138. operator:
  13139. description: operator
  13140. represents
  13141. a key's relationship
  13142. to a set of
  13143. values. Valid
  13144. operators
  13145. are In, NotIn,
  13146. Exists and
  13147. DoesNotExist.
  13148. type: string
  13149. values:
  13150. description: values
  13151. is an array
  13152. of string
  13153. values. If
  13154. the operator
  13155. is In or NotIn,
  13156. the values
  13157. array must
  13158. be non-empty.
  13159. If the operator
  13160. is Exists
  13161. or DoesNotExist,
  13162. the values
  13163. array must
  13164. be empty.
  13165. This array
  13166. is replaced
  13167. during a strategic
  13168. merge patch.
  13169. type: array
  13170. items:
  13171. type: string
  13172. matchLabels:
  13173. description: matchLabels
  13174. is a map of {key,value}
  13175. pairs. A single
  13176. {key,value} in the
  13177. matchLabels map
  13178. is equivalent to
  13179. an element of matchExpressions,
  13180. whose key field
  13181. is "key", the operator
  13182. is "In", and the
  13183. values array contains
  13184. only "value". The
  13185. requirements are
  13186. ANDed.
  13187. type: object
  13188. additionalProperties:
  13189. type: string
  13190. namespaces:
  13191. description: namespaces
  13192. specifies which namespaces
  13193. the labelSelector applies
  13194. to (matches against);
  13195. null or empty list means
  13196. "this pod's namespace"
  13197. type: array
  13198. items:
  13199. type: string
  13200. topologyKey:
  13201. description: This pod
  13202. should be co-located
  13203. (affinity) or not co-located
  13204. (anti-affinity) with
  13205. the pods matching the
  13206. labelSelector in the
  13207. specified namespaces,
  13208. where co-located is
  13209. defined as running on
  13210. a node whose value of
  13211. the label with key topologyKey
  13212. matches that of any
  13213. node on which any of
  13214. the selected pods is
  13215. running. Empty topologyKey
  13216. is not allowed.
  13217. type: string
  13218. weight:
  13219. description: weight associated
  13220. with matching the corresponding
  13221. podAffinityTerm, in the
  13222. range 1-100.
  13223. type: integer
  13224. format: int32
  13225. requiredDuringSchedulingIgnoredDuringExecution:
  13226. description: If the affinity requirements
  13227. specified by this field are not
  13228. met at scheduling time, the pod
  13229. will not be scheduled onto the
  13230. node. If the affinity requirements
  13231. specified by this field cease
  13232. to be met at some point during
  13233. pod execution (e.g. due to a pod
  13234. label update), the system may
  13235. or may not try to eventually evict
  13236. the pod from its node. When there
  13237. are multiple elements, the lists
  13238. of nodes corresponding to each
  13239. podAffinityTerm are intersected,
  13240. i.e. all terms must be satisfied.
  13241. type: array
  13242. items:
  13243. description: Defines a set of
  13244. pods (namely those matching
  13245. the labelSelector relative to
  13246. the given namespace(s)) that
  13247. this pod should be co-located
  13248. (affinity) or not co-located
  13249. (anti-affinity) with, where
  13250. co-located is defined as running
  13251. on a node whose value of the
  13252. label with key <topologyKey>
  13253. matches that of any node on
  13254. which a pod of the set of pods
  13255. is running
  13256. type: object
  13257. required:
  13258. - topologyKey
  13259. properties:
  13260. labelSelector:
  13261. description: A label query
  13262. over a set of resources,
  13263. in this case pods.
  13264. type: object
  13265. properties:
  13266. matchExpressions:
  13267. description: matchExpressions
  13268. is a list of label selector
  13269. requirements. The requirements
  13270. are ANDed.
  13271. type: array
  13272. items:
  13273. description: A label
  13274. selector requirement
  13275. is a selector that
  13276. contains values, a
  13277. key, and an operator
  13278. that relates the key
  13279. and values.
  13280. type: object
  13281. required:
  13282. - key
  13283. - operator
  13284. properties:
  13285. key:
  13286. description: key
  13287. is the label key
  13288. that the selector
  13289. applies to.
  13290. type: string
  13291. operator:
  13292. description: operator
  13293. represents a key's
  13294. relationship to
  13295. a set of values.
  13296. Valid operators
  13297. are In, NotIn,
  13298. Exists and DoesNotExist.
  13299. type: string
  13300. values:
  13301. description: values
  13302. is an array of
  13303. string values.
  13304. If the operator
  13305. is In or NotIn,
  13306. the values array
  13307. must be non-empty.
  13308. If the operator
  13309. is Exists or DoesNotExist,
  13310. the values array
  13311. must be empty.
  13312. This array is
  13313. replaced during
  13314. a strategic merge
  13315. patch.
  13316. type: array
  13317. items:
  13318. type: string
  13319. matchLabels:
  13320. description: matchLabels
  13321. is a map of {key,value}
  13322. pairs. A single {key,value}
  13323. in the matchLabels map
  13324. is equivalent to an
  13325. element of matchExpressions,
  13326. whose key field is "key",
  13327. the operator is "In",
  13328. and the values array
  13329. contains only "value".
  13330. The requirements are
  13331. ANDed.
  13332. type: object
  13333. additionalProperties:
  13334. type: string
  13335. namespaces:
  13336. description: namespaces specifies
  13337. which namespaces the labelSelector
  13338. applies to (matches against);
  13339. null or empty list means
  13340. "this pod's namespace"
  13341. type: array
  13342. items:
  13343. type: string
  13344. topologyKey:
  13345. description: This pod should
  13346. be co-located (affinity)
  13347. or not co-located (anti-affinity)
  13348. with the pods matching the
  13349. labelSelector in the specified
  13350. namespaces, where co-located
  13351. is defined as running on
  13352. a node whose value of the
  13353. label with key topologyKey
  13354. matches that of any node
  13355. on which any of the selected
  13356. pods is running. Empty topologyKey
  13357. is not allowed.
  13358. type: string
  13359. podAntiAffinity:
  13360. description: Describes pod anti-affinity
  13361. scheduling rules (e.g. avoid putting
  13362. this pod in the same node, zone, etc.
  13363. as some other pod(s)).
  13364. type: object
  13365. properties:
  13366. preferredDuringSchedulingIgnoredDuringExecution:
  13367. description: The scheduler will
  13368. prefer to schedule pods to nodes
  13369. that satisfy the anti-affinity
  13370. expressions specified by this
  13371. field, but it may choose a node
  13372. that violates one or more of the
  13373. expressions. The node that is
  13374. most preferred is the one with
  13375. the greatest sum of weights, i.e.
  13376. for each node that meets all of
  13377. the scheduling requirements (resource
  13378. request, requiredDuringScheduling
  13379. anti-affinity expressions, etc.),
  13380. compute a sum by iterating through
  13381. the elements of this field and
  13382. adding "weight" to the sum if
  13383. the node has pods which matches
  13384. the corresponding podAffinityTerm;
  13385. the node(s) with the highest sum
  13386. are the most preferred.
  13387. type: array
  13388. items:
  13389. description: The weights of all
  13390. of the matched WeightedPodAffinityTerm
  13391. fields are added per-node to
  13392. find the most preferred node(s)
  13393. type: object
  13394. required:
  13395. - podAffinityTerm
  13396. - weight
  13397. properties:
  13398. podAffinityTerm:
  13399. description: Required. A pod
  13400. affinity term, associated
  13401. with the corresponding weight.
  13402. type: object
  13403. required:
  13404. - topologyKey
  13405. properties:
  13406. labelSelector:
  13407. description: A label query
  13408. over a set of resources,
  13409. in this case pods.
  13410. type: object
  13411. properties:
  13412. matchExpressions:
  13413. description: matchExpressions
  13414. is a list of label
  13415. selector requirements.
  13416. The requirements
  13417. are ANDed.
  13418. type: array
  13419. items:
  13420. description: A label
  13421. selector requirement
  13422. is a selector
  13423. that contains
  13424. values, a key,
  13425. and an operator
  13426. that relates the
  13427. key and values.
  13428. type: object
  13429. required:
  13430. - key
  13431. - operator
  13432. properties:
  13433. key:
  13434. description: key
  13435. is the label
  13436. key that the
  13437. selector applies
  13438. to.
  13439. type: string
  13440. operator:
  13441. description: operator
  13442. represents
  13443. a key's relationship
  13444. to a set of
  13445. values. Valid
  13446. operators
  13447. are In, NotIn,
  13448. Exists and
  13449. DoesNotExist.
  13450. type: string
  13451. values:
  13452. description: values
  13453. is an array
  13454. of string
  13455. values. If
  13456. the operator
  13457. is In or NotIn,
  13458. the values
  13459. array must
  13460. be non-empty.
  13461. If the operator
  13462. is Exists
  13463. or DoesNotExist,
  13464. the values
  13465. array must
  13466. be empty.
  13467. This array
  13468. is replaced
  13469. during a strategic
  13470. merge patch.
  13471. type: array
  13472. items:
  13473. type: string
  13474. matchLabels:
  13475. description: matchLabels
  13476. is a map of {key,value}
  13477. pairs. A single
  13478. {key,value} in the
  13479. matchLabels map
  13480. is equivalent to
  13481. an element of matchExpressions,
  13482. whose key field
  13483. is "key", the operator
  13484. is "In", and the
  13485. values array contains
  13486. only "value". The
  13487. requirements are
  13488. ANDed.
  13489. type: object
  13490. additionalProperties:
  13491. type: string
  13492. namespaces:
  13493. description: namespaces
  13494. specifies which namespaces
  13495. the labelSelector applies
  13496. to (matches against);
  13497. null or empty list means
  13498. "this pod's namespace"
  13499. type: array
  13500. items:
  13501. type: string
  13502. topologyKey:
  13503. description: This pod
  13504. should be co-located
  13505. (affinity) or not co-located
  13506. (anti-affinity) with
  13507. the pods matching the
  13508. labelSelector in the
  13509. specified namespaces,
  13510. where co-located is
  13511. defined as running on
  13512. a node whose value of
  13513. the label with key topologyKey
  13514. matches that of any
  13515. node on which any of
  13516. the selected pods is
  13517. running. Empty topologyKey
  13518. is not allowed.
  13519. type: string
  13520. weight:
  13521. description: weight associated
  13522. with matching the corresponding
  13523. podAffinityTerm, in the
  13524. range 1-100.
  13525. type: integer
  13526. format: int32
  13527. requiredDuringSchedulingIgnoredDuringExecution:
  13528. description: If the anti-affinity
  13529. requirements specified by this
  13530. field are not met at scheduling
  13531. time, the pod will not be scheduled
  13532. onto the node. If the anti-affinity
  13533. requirements specified by this
  13534. field cease to be met at some
  13535. point during pod execution (e.g.
  13536. due to a pod label update), the
  13537. system may or may not try to eventually
  13538. evict the pod from its node. When
  13539. there are multiple elements, the
  13540. lists of nodes corresponding to
  13541. each podAffinityTerm are intersected,
  13542. i.e. all terms must be satisfied.
  13543. type: array
  13544. items:
  13545. description: Defines a set of
  13546. pods (namely those matching
  13547. the labelSelector relative to
  13548. the given namespace(s)) that
  13549. this pod should be co-located
  13550. (affinity) or not co-located
  13551. (anti-affinity) with, where
  13552. co-located is defined as running
  13553. on a node whose value of the
  13554. label with key <topologyKey>
  13555. matches that of any node on
  13556. which a pod of the set of pods
  13557. is running
  13558. type: object
  13559. required:
  13560. - topologyKey
  13561. properties:
  13562. labelSelector:
  13563. description: A label query
  13564. over a set of resources,
  13565. in this case pods.
  13566. type: object
  13567. properties:
  13568. matchExpressions:
  13569. description: matchExpressions
  13570. is a list of label selector
  13571. requirements. The requirements
  13572. are ANDed.
  13573. type: array
  13574. items:
  13575. description: A label
  13576. selector requirement
  13577. is a selector that
  13578. contains values, a
  13579. key, and an operator
  13580. that relates the key
  13581. and values.
  13582. type: object
  13583. required:
  13584. - key
  13585. - operator
  13586. properties:
  13587. key:
  13588. description: key
  13589. is the label key
  13590. that the selector
  13591. applies to.
  13592. type: string
  13593. operator:
  13594. description: operator
  13595. represents a key's
  13596. relationship to
  13597. a set of values.
  13598. Valid operators
  13599. are In, NotIn,
  13600. Exists and DoesNotExist.
  13601. type: string
  13602. values:
  13603. description: values
  13604. is an array of
  13605. string values.
  13606. If the operator
  13607. is In or NotIn,
  13608. the values array
  13609. must be non-empty.
  13610. If the operator
  13611. is Exists or DoesNotExist,
  13612. the values array
  13613. must be empty.
  13614. This array is
  13615. replaced during
  13616. a strategic merge
  13617. patch.
  13618. type: array
  13619. items:
  13620. type: string
  13621. matchLabels:
  13622. description: matchLabels
  13623. is a map of {key,value}
  13624. pairs. A single {key,value}
  13625. in the matchLabels map
  13626. is equivalent to an
  13627. element of matchExpressions,
  13628. whose key field is "key",
  13629. the operator is "In",
  13630. and the values array
  13631. contains only "value".
  13632. The requirements are
  13633. ANDed.
  13634. type: object
  13635. additionalProperties:
  13636. type: string
  13637. namespaces:
  13638. description: namespaces specifies
  13639. which namespaces the labelSelector
  13640. applies to (matches against);
  13641. null or empty list means
  13642. "this pod's namespace"
  13643. type: array
  13644. items:
  13645. type: string
  13646. topologyKey:
  13647. description: This pod should
  13648. be co-located (affinity)
  13649. or not co-located (anti-affinity)
  13650. with the pods matching the
  13651. labelSelector in the specified
  13652. namespaces, where co-located
  13653. is defined as running on
  13654. a node whose value of the
  13655. label with key topologyKey
  13656. matches that of any node
  13657. on which any of the selected
  13658. pods is running. Empty topologyKey
  13659. is not allowed.
  13660. type: string
  13661. nodeSelector:
  13662. description: 'NodeSelector is a selector
  13663. which must be true for the pod to fit
  13664. on a node. Selector which must match a
  13665. node''s labels for the pod to be scheduled
  13666. on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  13667. type: object
  13668. additionalProperties:
  13669. type: string
  13670. tolerations:
  13671. description: If specified, the pod's tolerations.
  13672. type: array
  13673. items:
  13674. description: The pod this Toleration is
  13675. attached to tolerates any taint that
  13676. matches the triple <key,value,effect>
  13677. using the matching operator <operator>.
  13678. type: object
  13679. properties:
  13680. effect:
  13681. description: Effect indicates the
  13682. taint effect to match. Empty means
  13683. match all taint effects. When specified,
  13684. allowed values are NoSchedule, PreferNoSchedule
  13685. and NoExecute.
  13686. type: string
  13687. key:
  13688. description: Key is the taint key
  13689. that the toleration applies to.
  13690. Empty means match all taint keys.
  13691. If the key is empty, operator must
  13692. be Exists; this combination means
  13693. to match all values and all keys.
  13694. type: string
  13695. operator:
  13696. description: Operator represents a
  13697. key's relationship to the value.
  13698. Valid operators are Exists and Equal.
  13699. Defaults to Equal. Exists is equivalent
  13700. to wildcard for value, so that a
  13701. pod can tolerate all taints of a
  13702. particular category.
  13703. type: string
  13704. tolerationSeconds:
  13705. description: TolerationSeconds represents
  13706. the period of time the toleration
  13707. (which must be of effect NoExecute,
  13708. otherwise this field is ignored)
  13709. tolerates the taint. By default,
  13710. it is not set, which means tolerate
  13711. the taint forever (do not evict).
  13712. Zero and negative values will be
  13713. treated as 0 (evict immediately)
  13714. by the system.
  13715. type: integer
  13716. format: int64
  13717. value:
  13718. description: Value is the taint value
  13719. the toleration matches to. If the
  13720. operator is Exists, the value should
  13721. be empty, otherwise just a regular
  13722. string.
  13723. type: string
  13724. serviceType:
  13725. description: Optional service type for Kubernetes
  13726. solver service
  13727. type: string
  13728. selector:
  13729. description: Selector selects a set of DNSNames on the Certificate
  13730. resource that should be solved using this challenge solver.
  13731. If not specified, the solver will be treated as the 'default'
  13732. solver with the lowest priority, i.e. if any other solver
  13733. has a more specific match, it will be used instead.
  13734. type: object
  13735. properties:
  13736. dnsNames:
  13737. description: List of DNSNames that this solver will
  13738. be used to solve. If specified and a match is found,
  13739. a dnsNames selector will take precedence over a dnsZones
  13740. selector. If multiple solvers match with the same
  13741. dnsNames value, the solver with the most matching
  13742. labels in matchLabels will be selected. If neither
  13743. has more matches, the solver defined earlier in the
  13744. list will be selected.
  13745. type: array
  13746. items:
  13747. type: string
  13748. dnsZones:
  13749. description: List of DNSZones that this solver will
  13750. be used to solve. The most specific DNS zone match
  13751. specified here will take precedence over other DNS
  13752. zone matches, so a solver specifying sys.example.com
  13753. will be selected over one specifying example.com for
  13754. the domain www.sys.example.com. If multiple solvers
  13755. match with the same dnsZones value, the solver with
  13756. the most matching labels in matchLabels will be selected.
  13757. If neither has more matches, the solver defined earlier
  13758. in the list will be selected.
  13759. type: array
  13760. items:
  13761. type: string
  13762. matchLabels:
  13763. description: A label selector that is used to refine
  13764. the set of certificate's that this challenge solver
  13765. will apply to.
  13766. type: object
  13767. additionalProperties:
  13768. type: string
  13769. ca:
  13770. description: CA configures this issuer to sign certificates using
  13771. a signing CA keypair stored in a Secret resource. This is used to
  13772. build internal PKIs that are managed by cert-manager.
  13773. type: object
  13774. required:
  13775. - secretName
  13776. properties:
  13777. crlDistributionPoints:
  13778. description: The CRL distribution points is an X.509 v3 certificate
  13779. extension which identifies the location of the CRL from which
  13780. the revocation of this certificate can be checked. If not set,
  13781. certificates will be issued without distribution points set.
  13782. type: array
  13783. items:
  13784. type: string
  13785. secretName:
  13786. description: SecretName is the name of the secret used to sign
  13787. Certificates issued by this Issuer.
  13788. type: string
  13789. selfSigned:
  13790. description: SelfSigned configures this issuer to 'self sign' certificates
  13791. using the private key used to create the CertificateRequest object.
  13792. type: object
  13793. properties:
  13794. crlDistributionPoints:
  13795. description: The CRL distribution points is an X.509 v3 certificate
  13796. extension which identifies the location of the CRL from which
  13797. the revocation of this certificate can be checked. If not set
  13798. certificate will be issued without CDP. Values are strings.
  13799. type: array
  13800. items:
  13801. type: string
  13802. vault:
  13803. description: Vault configures this issuer to sign certificates using
  13804. a HashiCorp Vault PKI backend.
  13805. type: object
  13806. required:
  13807. - auth
  13808. - path
  13809. - server
  13810. properties:
  13811. auth:
  13812. description: Auth configures how cert-manager authenticates with
  13813. the Vault server.
  13814. type: object
  13815. properties:
  13816. appRole:
  13817. description: AppRole authenticates with Vault using the App
  13818. Role auth mechanism, with the role and secret stored in
  13819. a Kubernetes Secret resource.
  13820. type: object
  13821. required:
  13822. - path
  13823. - roleId
  13824. - secretRef
  13825. properties:
  13826. path:
  13827. description: 'Path where the App Role authentication backend
  13828. is mounted in Vault, e.g: "approle"'
  13829. type: string
  13830. roleId:
  13831. description: RoleID configured in the App Role authentication
  13832. backend when setting up the authentication backend in
  13833. Vault.
  13834. type: string
  13835. secretRef:
  13836. description: Reference to a key in a Secret that contains
  13837. the App Role secret used to authenticate with Vault.
  13838. The `key` field must be specified and denotes which
  13839. entry within the Secret resource is used as the app
  13840. role secret.
  13841. type: object
  13842. required:
  13843. - name
  13844. properties:
  13845. key:
  13846. description: The key of the entry in the Secret resource's
  13847. `data` field to be used. Some instances of this
  13848. field may be defaulted, in others it may be required.
  13849. type: string
  13850. name:
  13851. description: 'Name of the resource being referred
  13852. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  13853. type: string
  13854. kubernetes:
  13855. description: Kubernetes authenticates with Vault by passing
  13856. the ServiceAccount token stored in the named Secret resource
  13857. to the Vault server.
  13858. type: object
  13859. required:
  13860. - role
  13861. - secretRef
  13862. properties:
  13863. mountPath:
  13864. description: The Vault mountPath here is the mount path
  13865. to use when authenticating with Vault. For example,
  13866. setting a value to `/v1/auth/foo`, will use the path
  13867. `/v1/auth/foo/login` to authenticate with Vault. If
  13868. unspecified, the default value "/v1/auth/kubernetes"
  13869. will be used.
  13870. type: string
  13871. role:
  13872. description: A required field containing the Vault Role
  13873. to assume. A Role binds a Kubernetes ServiceAccount
  13874. with a set of Vault policies.
  13875. type: string
  13876. secretRef:
  13877. description: The required Secret field containing a Kubernetes
  13878. ServiceAccount JWT used for authenticating with Vault.
  13879. Use of 'ambient credentials' is not supported.
  13880. type: object
  13881. required:
  13882. - name
  13883. properties:
  13884. key:
  13885. description: The key of the entry in the Secret resource's
  13886. `data` field to be used. Some instances of this
  13887. field may be defaulted, in others it may be required.
  13888. type: string
  13889. name:
  13890. description: 'Name of the resource being referred
  13891. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  13892. type: string
  13893. tokenSecretRef:
  13894. description: TokenSecretRef authenticates with Vault by presenting
  13895. a token.
  13896. type: object
  13897. required:
  13898. - name
  13899. properties:
  13900. key:
  13901. description: The key of the entry in the Secret resource's
  13902. `data` field to be used. Some instances of this field
  13903. may be defaulted, in others it may be required.
  13904. type: string
  13905. name:
  13906. description: 'Name of the resource being referred to.
  13907. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  13908. type: string
  13909. caBundle:
  13910. description: PEM encoded CA bundle used to validate Vault server
  13911. certificate. Only used if the Server URL is using HTTPS protocol.
  13912. This parameter is ignored for plain HTTP protocol connection.
  13913. If not set the system root certificates are used to validate
  13914. the TLS connection.
  13915. type: string
  13916. format: byte
  13917. path:
  13918. description: 'Path is the mount path of the Vault PKI backend''s
  13919. `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  13920. type: string
  13921. server:
  13922. description: 'Server is the connection address for the Vault server,
  13923. e.g: "https://vault.example.com:8200".'
  13924. type: string
  13925. venafi:
  13926. description: Venafi configures this issuer to sign certificates using
  13927. a Venafi TPP or Venafi Cloud policy zone.
  13928. type: object
  13929. required:
  13930. - zone
  13931. properties:
  13932. cloud:
  13933. description: Cloud specifies the Venafi cloud configuration settings.
  13934. Only one of TPP or Cloud may be specified.
  13935. type: object
  13936. required:
  13937. - apiTokenSecretRef
  13938. properties:
  13939. apiTokenSecretRef:
  13940. description: APITokenSecretRef is a secret key selector for
  13941. the Venafi Cloud API token.
  13942. type: object
  13943. required:
  13944. - name
  13945. properties:
  13946. key:
  13947. description: The key of the entry in the Secret resource's
  13948. `data` field to be used. Some instances of this field
  13949. may be defaulted, in others it may be required.
  13950. type: string
  13951. name:
  13952. description: 'Name of the resource being referred to.
  13953. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  13954. type: string
  13955. url:
  13956. description: URL is the base URL for Venafi Cloud. Defaults
  13957. to "https://api.venafi.cloud/v1".
  13958. type: string
  13959. tpp:
  13960. description: TPP specifies Trust Protection Platform configuration
  13961. settings. Only one of TPP or Cloud may be specified.
  13962. type: object
  13963. required:
  13964. - credentialsRef
  13965. - url
  13966. properties:
  13967. caBundle:
  13968. description: CABundle is a PEM encoded TLS certificate to
  13969. use to verify connections to the TPP instance. If specified,
  13970. system roots will not be used and the issuing CA for the
  13971. TPP instance must be verifiable using the provided root.
  13972. If not specified, the connection will be verified using
  13973. the cert-manager system root certificates.
  13974. type: string
  13975. format: byte
  13976. credentialsRef:
  13977. description: CredentialsRef is a reference to a Secret containing
  13978. the username and password for the TPP server. The secret
  13979. must contain two keys, 'username' and 'password'.
  13980. type: object
  13981. required:
  13982. - name
  13983. properties:
  13984. name:
  13985. description: 'Name of the resource being referred to.
  13986. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  13987. type: string
  13988. url:
  13989. description: 'URL is the base URL for the vedsdk endpoint
  13990. of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  13991. type: string
  13992. zone:
  13993. description: Zone is the Venafi Policy Zone to use for this issuer.
  13994. All requests made to the Venafi platform will be restricted
  13995. by the named zone policy. This field is required.
  13996. type: string
  13997. status:
  13998. description: Status of the Issuer. This is set and managed automatically.
  13999. type: object
  14000. properties:
  14001. acme:
  14002. description: ACME specific status options. This field should only
  14003. be set if the Issuer is configured to use an ACME server to issue
  14004. certificates.
  14005. type: object
  14006. properties:
  14007. lastRegisteredEmail:
  14008. description: LastRegisteredEmail is the email associated with
  14009. the latest registered ACME account, in order to track changes
  14010. made to registered account associated with the Issuer
  14011. type: string
  14012. uri:
  14013. description: URI is the unique account identifier, which can also
  14014. be used to retrieve account details from the CA
  14015. type: string
  14016. conditions:
  14017. description: List of status conditions to indicate the status of a
  14018. CertificateRequest. Known condition types are `Ready`.
  14019. type: array
  14020. items:
  14021. description: IssuerCondition contains condition information for
  14022. an Issuer.
  14023. type: object
  14024. required:
  14025. - status
  14026. - type
  14027. properties:
  14028. lastTransitionTime:
  14029. description: LastTransitionTime is the timestamp corresponding
  14030. to the last status change of this condition.
  14031. type: string
  14032. format: date-time
  14033. message:
  14034. description: Message is a human readable description of the
  14035. details of the last transition, complementing reason.
  14036. type: string
  14037. reason:
  14038. description: Reason is a brief machine readable explanation
  14039. for the condition's last transition.
  14040. type: string
  14041. status:
  14042. description: Status of the condition, one of ('True', 'False',
  14043. 'Unknown').
  14044. type: string
  14045. enum:
  14046. - "True"
  14047. - "False"
  14048. - Unknown
  14049. type:
  14050. description: Type of the condition, known values are ('Ready').
  14051. type: string
  14052. - name: v1alpha3
  14053. served: true
  14054. storage: false
  14055. "schema":
  14056. "openAPIV3Schema":
  14057. description: An Issuer represents a certificate issuing authority which can
  14058. be referenced as part of `issuerRef` fields. It is scoped to a single namespace
  14059. and can therefore only be referenced by resources within the same namespace.
  14060. type: object
  14061. properties:
  14062. apiVersion:
  14063. description: 'APIVersion defines the versioned schema of this representation
  14064. of an object. Servers should convert recognized schemas to the latest
  14065. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  14066. type: string
  14067. kind:
  14068. description: 'Kind is a string value representing the REST resource this
  14069. object represents. Servers may infer this from the endpoint the client
  14070. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  14071. type: string
  14072. metadata:
  14073. type: object
  14074. spec:
  14075. description: Desired state of the Issuer resource.
  14076. type: object
  14077. properties:
  14078. acme:
  14079. description: ACME configures this issuer to communicate with a RFC8555
  14080. (ACME) server to obtain signed x509 certificates.
  14081. type: object
  14082. required:
  14083. - privateKeySecretRef
  14084. - server
  14085. properties:
  14086. email:
  14087. description: Email is the email address to be associated with
  14088. the ACME account. This field is optional, but it is strongly
  14089. recommended to be set. It will be used to contact you in case
  14090. of issues with your account or certificates, including expiry
  14091. notification emails. This field may be updated after the account
  14092. is initially registered.
  14093. type: string
  14094. externalAccountBinding:
  14095. description: ExternalAccountBinding is a reference to a CA external
  14096. account of the ACME server. If set, upon registration cert-manager
  14097. will attempt to associate the given external account credentials
  14098. with the registered ACME account.
  14099. type: object
  14100. required:
  14101. - keyAlgorithm
  14102. - keyID
  14103. - keySecretRef
  14104. properties:
  14105. keyAlgorithm:
  14106. description: keyAlgorithm is the MAC key algorithm that the
  14107. key is used for. Valid values are "HS256", "HS384" and "HS512".
  14108. type: string
  14109. enum:
  14110. - HS256
  14111. - HS384
  14112. - HS512
  14113. keyID:
  14114. description: keyID is the ID of the CA key that the External
  14115. Account is bound to.
  14116. type: string
  14117. keySecretRef:
  14118. description: keySecretRef is a Secret Key Selector referencing
  14119. a data item in a Kubernetes Secret which holds the symmetric
  14120. MAC key of the External Account Binding. The `key` is the
  14121. index string that is paired with the key data in the Secret
  14122. and should not be confused with the key data itself, or
  14123. indeed with the External Account Binding keyID above. The
  14124. secret key stored in the Secret **must** be un-padded, base64
  14125. URL encoded data.
  14126. type: object
  14127. required:
  14128. - name
  14129. properties:
  14130. key:
  14131. description: The key of the entry in the Secret resource's
  14132. `data` field to be used. Some instances of this field
  14133. may be defaulted, in others it may be required.
  14134. type: string
  14135. name:
  14136. description: 'Name of the resource being referred to.
  14137. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14138. type: string
  14139. privateKeySecretRef:
  14140. description: PrivateKey is the name of a Kubernetes Secret resource
  14141. that will be used to store the automatically generated ACME
  14142. account private key. Optionally, a `key` may be specified to
  14143. select a specific entry within the named Secret resource. If
  14144. `key` is not specified, a default of `tls.key` will be used.
  14145. type: object
  14146. required:
  14147. - name
  14148. properties:
  14149. key:
  14150. description: The key of the entry in the Secret resource's
  14151. `data` field to be used. Some instances of this field may
  14152. be defaulted, in others it may be required.
  14153. type: string
  14154. name:
  14155. description: 'Name of the resource being referred to. More
  14156. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14157. type: string
  14158. server:
  14159. description: 'Server is the URL used to access the ACME server''s
  14160. ''directory'' endpoint. For example, for Let''s Encrypt''s staging
  14161. endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory".
  14162. Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  14163. type: string
  14164. skipTLSVerify:
  14165. description: Enables or disables validation of the ACME server
  14166. TLS certificate. If true, requests to the ACME server will not
  14167. have their TLS certificate validated (i.e. insecure connections
  14168. will be allowed). Only enable this option in development environments.
  14169. The cert-manager system installed roots will be used to verify
  14170. connections to the ACME server if this is false. Defaults to
  14171. false.
  14172. type: boolean
  14173. solvers:
  14174. description: 'Solvers is a list of challenge solvers that will
  14175. be used to solve ACME challenges for the matching domains. Solver
  14176. configurations must be provided in order to obtain certificates
  14177. from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  14178. type: array
  14179. items:
  14180. description: Configures an issuer to solve challenges using
  14181. the specified options. Only one of HTTP01 or DNS01 may be
  14182. provided.
  14183. type: object
  14184. properties:
  14185. dns01:
  14186. description: Configures cert-manager to attempt to complete
  14187. authorizations by performing the DNS01 challenge flow.
  14188. type: object
  14189. properties:
  14190. acmedns:
  14191. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  14192. API to manage DNS01 challenge records.
  14193. type: object
  14194. required:
  14195. - accountSecretRef
  14196. - host
  14197. properties:
  14198. accountSecretRef:
  14199. description: A reference to a specific 'key' within
  14200. a Secret resource. In some instances, `key` is
  14201. a required field.
  14202. type: object
  14203. required:
  14204. - name
  14205. properties:
  14206. key:
  14207. description: The key of the entry in the Secret
  14208. resource's `data` field to be used. Some instances
  14209. of this field may be defaulted, in others
  14210. it may be required.
  14211. type: string
  14212. name:
  14213. description: 'Name of the resource being referred
  14214. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14215. type: string
  14216. host:
  14217. type: string
  14218. akamai:
  14219. description: Use the Akamai DNS zone management API
  14220. to manage DNS01 challenge records.
  14221. type: object
  14222. required:
  14223. - accessTokenSecretRef
  14224. - clientSecretSecretRef
  14225. - clientTokenSecretRef
  14226. - serviceConsumerDomain
  14227. properties:
  14228. accessTokenSecretRef:
  14229. description: A reference to a specific 'key' within
  14230. a Secret resource. In some instances, `key` is
  14231. a required field.
  14232. type: object
  14233. required:
  14234. - name
  14235. properties:
  14236. key:
  14237. description: The key of the entry in the Secret
  14238. resource's `data` field to be used. Some instances
  14239. of this field may be defaulted, in others
  14240. it may be required.
  14241. type: string
  14242. name:
  14243. description: 'Name of the resource being referred
  14244. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14245. type: string
  14246. clientSecretSecretRef:
  14247. description: A reference to a specific 'key' within
  14248. a Secret resource. In some instances, `key` is
  14249. a required field.
  14250. type: object
  14251. required:
  14252. - name
  14253. properties:
  14254. key:
  14255. description: The key of the entry in the Secret
  14256. resource's `data` field to be used. Some instances
  14257. of this field may be defaulted, in others
  14258. it may be required.
  14259. type: string
  14260. name:
  14261. description: 'Name of the resource being referred
  14262. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14263. type: string
  14264. clientTokenSecretRef:
  14265. description: A reference to a specific 'key' within
  14266. a Secret resource. In some instances, `key` is
  14267. a required field.
  14268. type: object
  14269. required:
  14270. - name
  14271. properties:
  14272. key:
  14273. description: The key of the entry in the Secret
  14274. resource's `data` field to be used. Some instances
  14275. of this field may be defaulted, in others
  14276. it may be required.
  14277. type: string
  14278. name:
  14279. description: 'Name of the resource being referred
  14280. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14281. type: string
  14282. serviceConsumerDomain:
  14283. type: string
  14284. azuredns:
  14285. description: Use the Microsoft Azure DNS API to manage
  14286. DNS01 challenge records.
  14287. type: object
  14288. required:
  14289. - resourceGroupName
  14290. - subscriptionID
  14291. properties:
  14292. clientID:
  14293. description: if both this and ClientSecret are left
  14294. unset MSI will be used
  14295. type: string
  14296. clientSecretSecretRef:
  14297. description: if both this and ClientID are left
  14298. unset MSI will be used
  14299. type: object
  14300. required:
  14301. - name
  14302. properties:
  14303. key:
  14304. description: The key of the entry in the Secret
  14305. resource's `data` field to be used. Some instances
  14306. of this field may be defaulted, in others
  14307. it may be required.
  14308. type: string
  14309. name:
  14310. description: 'Name of the resource being referred
  14311. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14312. type: string
  14313. environment:
  14314. type: string
  14315. enum:
  14316. - AzurePublicCloud
  14317. - AzureChinaCloud
  14318. - AzureGermanCloud
  14319. - AzureUSGovernmentCloud
  14320. hostedZoneName:
  14321. type: string
  14322. resourceGroupName:
  14323. type: string
  14324. subscriptionID:
  14325. type: string
  14326. tenantID:
  14327. description: when specifying ClientID and ClientSecret
  14328. then this field is also needed
  14329. type: string
  14330. clouddns:
  14331. description: Use the Google Cloud DNS API to manage
  14332. DNS01 challenge records.
  14333. type: object
  14334. required:
  14335. - project
  14336. properties:
  14337. hostedZoneName:
  14338. description: HostedZoneName is an optional field
  14339. that tells cert-manager in which Cloud DNS zone
  14340. the challenge record has to be created. If left
  14341. empty cert-manager will automatically choose a
  14342. zone.
  14343. type: string
  14344. project:
  14345. type: string
  14346. serviceAccountSecretRef:
  14347. description: A reference to a specific 'key' within
  14348. a Secret resource. In some instances, `key` is
  14349. a required field.
  14350. type: object
  14351. required:
  14352. - name
  14353. properties:
  14354. key:
  14355. description: The key of the entry in the Secret
  14356. resource's `data` field to be used. Some instances
  14357. of this field may be defaulted, in others
  14358. it may be required.
  14359. type: string
  14360. name:
  14361. description: 'Name of the resource being referred
  14362. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14363. type: string
  14364. cloudflare:
  14365. description: Use the Cloudflare API to manage DNS01
  14366. challenge records.
  14367. type: object
  14368. properties:
  14369. apiKeySecretRef:
  14370. description: 'API key to use to authenticate with
  14371. Cloudflare. Note: using an API token to authenticate
  14372. is now the recommended method as it allows greater
  14373. control of permissions.'
  14374. type: object
  14375. required:
  14376. - name
  14377. properties:
  14378. key:
  14379. description: The key of the entry in the Secret
  14380. resource's `data` field to be used. Some instances
  14381. of this field may be defaulted, in others
  14382. it may be required.
  14383. type: string
  14384. name:
  14385. description: 'Name of the resource being referred
  14386. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14387. type: string
  14388. apiTokenSecretRef:
  14389. description: API token used to authenticate with
  14390. Cloudflare.
  14391. type: object
  14392. required:
  14393. - name
  14394. properties:
  14395. key:
  14396. description: The key of the entry in the Secret
  14397. resource's `data` field to be used. Some instances
  14398. of this field may be defaulted, in others
  14399. it may be required.
  14400. type: string
  14401. name:
  14402. description: 'Name of the resource being referred
  14403. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14404. type: string
  14405. email:
  14406. description: Email of the account, only required
  14407. when using API key based authentication.
  14408. type: string
  14409. cnameStrategy:
  14410. description: CNAMEStrategy configures how the DNS01
  14411. provider should handle CNAME records when found in
  14412. DNS zones.
  14413. type: string
  14414. enum:
  14415. - None
  14416. - Follow
  14417. digitalocean:
  14418. description: Use the DigitalOcean DNS API to manage
  14419. DNS01 challenge records.
  14420. type: object
  14421. required:
  14422. - tokenSecretRef
  14423. properties:
  14424. tokenSecretRef:
  14425. description: A reference to a specific 'key' within
  14426. a Secret resource. In some instances, `key` is
  14427. a required field.
  14428. type: object
  14429. required:
  14430. - name
  14431. properties:
  14432. key:
  14433. description: The key of the entry in the Secret
  14434. resource's `data` field to be used. Some instances
  14435. of this field may be defaulted, in others
  14436. it may be required.
  14437. type: string
  14438. name:
  14439. description: 'Name of the resource being referred
  14440. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14441. type: string
  14442. rfc2136:
  14443. description: Use RFC2136 ("Dynamic Updates in the Domain
  14444. Name System") (https://datatracker.ietf.org/doc/rfc2136/)
  14445. to manage DNS01 challenge records.
  14446. type: object
  14447. required:
  14448. - nameserver
  14449. properties:
  14450. nameserver:
  14451. description: The IP address or hostname of an authoritative
  14452. DNS server supporting RFC2136 in the form host:port.
  14453. If the host is an IPv6 address it must be enclosed
  14454. in square brackets (e.g [2001:db8::1]) ; port
  14455. is optional. This field is required.
  14456. type: string
  14457. tsigAlgorithm:
  14458. description: 'The TSIG Algorithm configured in the
  14459. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  14460. and ``tsigKeyName`` are defined. Supported values
  14461. are (case-insensitive): ``HMACMD5`` (default),
  14462. ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  14463. type: string
  14464. tsigKeyName:
  14465. description: The TSIG Key name configured in the
  14466. DNS. If ``tsigSecretSecretRef`` is defined, this
  14467. field is required.
  14468. type: string
  14469. tsigSecretSecretRef:
  14470. description: The name of the secret containing the
  14471. TSIG value. If ``tsigKeyName`` is defined, this
  14472. field is required.
  14473. type: object
  14474. required:
  14475. - name
  14476. properties:
  14477. key:
  14478. description: The key of the entry in the Secret
  14479. resource's `data` field to be used. Some instances
  14480. of this field may be defaulted, in others
  14481. it may be required.
  14482. type: string
  14483. name:
  14484. description: 'Name of the resource being referred
  14485. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14486. type: string
  14487. route53:
  14488. description: Use the AWS Route53 API to manage DNS01
  14489. challenge records.
  14490. type: object
  14491. required:
  14492. - region
  14493. properties:
  14494. accessKeyID:
  14495. description: 'The AccessKeyID is used for authentication.
  14496. If not set we fall-back to using env vars, shared
  14497. credentials file or AWS Instance metadata see:
  14498. https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  14499. type: string
  14500. hostedZoneID:
  14501. description: If set, the provider will manage only
  14502. this zone in Route53 and will not do an lookup
  14503. using the route53:ListHostedZonesByName api call.
  14504. type: string
  14505. region:
  14506. description: Always set the region when using AccessKeyID
  14507. and SecretAccessKey
  14508. type: string
  14509. role:
  14510. description: Role is a Role ARN which the Route53
  14511. provider will assume using either the explicit
  14512. credentials AccessKeyID/SecretAccessKey or the
  14513. inferred credentials from environment variables,
  14514. shared credentials file or AWS Instance metadata
  14515. type: string
  14516. secretAccessKeySecretRef:
  14517. description: The SecretAccessKey is used for authentication.
  14518. If not set we fall-back to using env vars, shared
  14519. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  14520. type: object
  14521. required:
  14522. - name
  14523. properties:
  14524. key:
  14525. description: The key of the entry in the Secret
  14526. resource's `data` field to be used. Some instances
  14527. of this field may be defaulted, in others
  14528. it may be required.
  14529. type: string
  14530. name:
  14531. description: 'Name of the resource being referred
  14532. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  14533. type: string
  14534. webhook:
  14535. description: Configure an external webhook based DNS01
  14536. challenge solver to manage DNS01 challenge records.
  14537. type: object
  14538. required:
  14539. - groupName
  14540. - solverName
  14541. properties:
  14542. config:
  14543. description: Additional configuration that should
  14544. be passed to the webhook apiserver when challenges
  14545. are processed. This can contain arbitrary JSON
  14546. data. Secret values should not be specified in
  14547. this stanza. If secret values are needed (e.g.
  14548. credentials for a DNS service), you should use
  14549. a SecretKeySelector to reference a Secret resource.
  14550. For details on the schema of this field, consult
  14551. the webhook provider implementation's documentation.
  14552. x-kubernetes-preserve-unknown-fields: true
  14553. groupName:
  14554. description: The API group name that should be used
  14555. when POSTing ChallengePayload resources to the
  14556. webhook apiserver. This should be the same as
  14557. the GroupName specified in the webhook provider
  14558. implementation.
  14559. type: string
  14560. solverName:
  14561. description: The name of the solver to use, as defined
  14562. in the webhook provider implementation. This will
  14563. typically be the name of the provider, e.g. 'cloudflare'.
  14564. type: string
  14565. http01:
  14566. description: Configures cert-manager to attempt to complete
  14567. authorizations by performing the HTTP01 challenge flow.
  14568. It is not possible to obtain certificates for wildcard
  14569. domain names (e.g. `*.example.com`) using the HTTP01 challenge
  14570. mechanism.
  14571. type: object
  14572. properties:
  14573. ingress:
  14574. description: The ingress based HTTP01 challenge solver
  14575. will solve challenges by creating or modifying Ingress
  14576. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  14577. to 'challenge solver' pods that are provisioned by
  14578. cert-manager for each Challenge to be completed.
  14579. type: object
  14580. properties:
  14581. class:
  14582. description: The ingress class to use when creating
  14583. Ingress resources to solve ACME challenges that
  14584. use this challenge solver. Only one of 'class'
  14585. or 'name' may be specified.
  14586. type: string
  14587. ingressTemplate:
  14588. description: Optional ingress template used to configure
  14589. the ACME challenge solver ingress used for HTTP01
  14590. challenges
  14591. type: object
  14592. properties:
  14593. metadata:
  14594. description: ObjectMeta overrides for the ingress
  14595. used to solve HTTP01 challenges. Only the
  14596. 'labels' and 'annotations' fields may be set.
  14597. If labels or annotations overlap with in-built
  14598. values, the values here will override the
  14599. in-built values.
  14600. type: object
  14601. properties:
  14602. annotations:
  14603. description: Annotations that should be
  14604. added to the created ACME HTTP01 solver
  14605. ingress.
  14606. type: object
  14607. additionalProperties:
  14608. type: string
  14609. labels:
  14610. description: Labels that should be added
  14611. to the created ACME HTTP01 solver ingress.
  14612. type: object
  14613. additionalProperties:
  14614. type: string
  14615. name:
  14616. description: The name of the ingress resource that
  14617. should have ACME challenge solving routes inserted
  14618. into it in order to solve HTTP01 challenges. This
  14619. is typically used in conjunction with ingress
  14620. controllers like ingress-gce, which maintains
  14621. a 1:1 mapping between external IPs and ingress
  14622. resources.
  14623. type: string
  14624. podTemplate:
  14625. description: Optional pod template used to configure
  14626. the ACME challenge solver pods used for HTTP01
  14627. challenges
  14628. type: object
  14629. properties:
  14630. metadata:
  14631. description: ObjectMeta overrides for the pod
  14632. used to solve HTTP01 challenges. Only the
  14633. 'labels' and 'annotations' fields may be set.
  14634. If labels or annotations overlap with in-built
  14635. values, the values here will override the
  14636. in-built values.
  14637. type: object
  14638. properties:
  14639. annotations:
  14640. description: Annotations that should be
  14641. added to the create ACME HTTP01 solver
  14642. pods.
  14643. type: object
  14644. additionalProperties:
  14645. type: string
  14646. labels:
  14647. description: Labels that should be added
  14648. to the created ACME HTTP01 solver pods.
  14649. type: object
  14650. additionalProperties:
  14651. type: string
  14652. spec:
  14653. description: PodSpec defines overrides for the
  14654. HTTP01 challenge solver pod. Only the 'nodeSelector',
  14655. 'affinity' and 'tolerations' fields are supported
  14656. currently. All other fields will be ignored.
  14657. type: object
  14658. properties:
  14659. affinity:
  14660. description: If specified, the pod's scheduling
  14661. constraints
  14662. type: object
  14663. properties:
  14664. nodeAffinity:
  14665. description: Describes node affinity
  14666. scheduling rules for the pod.
  14667. type: object
  14668. properties:
  14669. preferredDuringSchedulingIgnoredDuringExecution:
  14670. description: The scheduler will
  14671. prefer to schedule pods to nodes
  14672. that satisfy the affinity expressions
  14673. specified by this field, but it
  14674. may choose a node that violates
  14675. one or more of the expressions.
  14676. The node that is most preferred
  14677. is the one with the greatest sum
  14678. of weights, i.e. for each node
  14679. that meets all of the scheduling
  14680. requirements (resource request,
  14681. requiredDuringScheduling affinity
  14682. expressions, etc.), compute a
  14683. sum by iterating through the elements
  14684. of this field and adding "weight"
  14685. to the sum if the node matches
  14686. the corresponding matchExpressions;
  14687. the node(s) with the highest sum
  14688. are the most preferred.
  14689. type: array
  14690. items:
  14691. description: An empty preferred
  14692. scheduling term matches all
  14693. objects with implicit weight
  14694. 0 (i.e. it's a no-op). A null
  14695. preferred scheduling term matches
  14696. no objects (i.e. is also a no-op).
  14697. type: object
  14698. required:
  14699. - preference
  14700. - weight
  14701. properties:
  14702. preference:
  14703. description: A node selector
  14704. term, associated with the
  14705. corresponding weight.
  14706. type: object
  14707. properties:
  14708. matchExpressions:
  14709. description: A list of
  14710. node selector requirements
  14711. by node's labels.
  14712. type: array
  14713. items:
  14714. description: A node
  14715. selector requirement
  14716. is a selector that
  14717. contains values, a
  14718. key, and an operator
  14719. that relates the key
  14720. and values.
  14721. type: object
  14722. required:
  14723. - key
  14724. - operator
  14725. properties:
  14726. key:
  14727. description: The
  14728. label key that
  14729. the selector applies
  14730. to.
  14731. type: string
  14732. operator:
  14733. description: Represents
  14734. a key's relationship
  14735. to a set of values.
  14736. Valid operators
  14737. are In, NotIn,
  14738. Exists, DoesNotExist.
  14739. Gt, and Lt.
  14740. type: string
  14741. values:
  14742. description: An
  14743. array of string
  14744. values. If the
  14745. operator is In
  14746. or NotIn, the
  14747. values array must
  14748. be non-empty.
  14749. If the operator
  14750. is Exists or DoesNotExist,
  14751. the values array
  14752. must be empty.
  14753. If the operator
  14754. is Gt or Lt, the
  14755. values array must
  14756. have a single
  14757. element, which
  14758. will be interpreted
  14759. as an integer.
  14760. This array is
  14761. replaced during
  14762. a strategic merge
  14763. patch.
  14764. type: array
  14765. items:
  14766. type: string
  14767. matchFields:
  14768. description: A list of
  14769. node selector requirements
  14770. by node's fields.
  14771. type: array
  14772. items:
  14773. description: A node
  14774. selector requirement
  14775. is a selector that
  14776. contains values, a
  14777. key, and an operator
  14778. that relates the key
  14779. and values.
  14780. type: object
  14781. required:
  14782. - key
  14783. - operator
  14784. properties:
  14785. key:
  14786. description: The
  14787. label key that
  14788. the selector applies
  14789. to.
  14790. type: string
  14791. operator:
  14792. description: Represents
  14793. a key's relationship
  14794. to a set of values.
  14795. Valid operators
  14796. are In, NotIn,
  14797. Exists, DoesNotExist.
  14798. Gt, and Lt.
  14799. type: string
  14800. values:
  14801. description: An
  14802. array of string
  14803. values. If the
  14804. operator is In
  14805. or NotIn, the
  14806. values array must
  14807. be non-empty.
  14808. If the operator
  14809. is Exists or DoesNotExist,
  14810. the values array
  14811. must be empty.
  14812. If the operator
  14813. is Gt or Lt, the
  14814. values array must
  14815. have a single
  14816. element, which
  14817. will be interpreted
  14818. as an integer.
  14819. This array is
  14820. replaced during
  14821. a strategic merge
  14822. patch.
  14823. type: array
  14824. items:
  14825. type: string
  14826. weight:
  14827. description: Weight associated
  14828. with matching the corresponding
  14829. nodeSelectorTerm, in the
  14830. range 1-100.
  14831. type: integer
  14832. format: int32
  14833. requiredDuringSchedulingIgnoredDuringExecution:
  14834. description: If the affinity requirements
  14835. specified by this field are not
  14836. met at scheduling time, the pod
  14837. will not be scheduled onto the
  14838. node. If the affinity requirements
  14839. specified by this field cease
  14840. to be met at some point during
  14841. pod execution (e.g. due to an
  14842. update), the system may or may
  14843. not try to eventually evict the
  14844. pod from its node.
  14845. type: object
  14846. required:
  14847. - nodeSelectorTerms
  14848. properties:
  14849. nodeSelectorTerms:
  14850. description: Required. A list
  14851. of node selector terms. The
  14852. terms are ORed.
  14853. type: array
  14854. items:
  14855. description: A null or empty
  14856. node selector term matches
  14857. no objects. The requirements
  14858. of them are ANDed. The TopologySelectorTerm
  14859. type implements a subset
  14860. of the NodeSelectorTerm.
  14861. type: object
  14862. properties:
  14863. matchExpressions:
  14864. description: A list of
  14865. node selector requirements
  14866. by node's labels.
  14867. type: array
  14868. items:
  14869. description: A node
  14870. selector requirement
  14871. is a selector that
  14872. contains values, a
  14873. key, and an operator
  14874. that relates the key
  14875. and values.
  14876. type: object
  14877. required:
  14878. - key
  14879. - operator
  14880. properties:
  14881. key:
  14882. description: The
  14883. label key that
  14884. the selector applies
  14885. to.
  14886. type: string
  14887. operator:
  14888. description: Represents
  14889. a key's relationship
  14890. to a set of values.
  14891. Valid operators
  14892. are In, NotIn,
  14893. Exists, DoesNotExist.
  14894. Gt, and Lt.
  14895. type: string
  14896. values:
  14897. description: An
  14898. array of string
  14899. values. If the
  14900. operator is In
  14901. or NotIn, the
  14902. values array must
  14903. be non-empty.
  14904. If the operator
  14905. is Exists or DoesNotExist,
  14906. the values array
  14907. must be empty.
  14908. If the operator
  14909. is Gt or Lt, the
  14910. values array must
  14911. have a single
  14912. element, which
  14913. will be interpreted
  14914. as an integer.
  14915. This array is
  14916. replaced during
  14917. a strategic merge
  14918. patch.
  14919. type: array
  14920. items:
  14921. type: string
  14922. matchFields:
  14923. description: A list of
  14924. node selector requirements
  14925. by node's fields.
  14926. type: array
  14927. items:
  14928. description: A node
  14929. selector requirement
  14930. is a selector that
  14931. contains values, a
  14932. key, and an operator
  14933. that relates the key
  14934. and values.
  14935. type: object
  14936. required:
  14937. - key
  14938. - operator
  14939. properties:
  14940. key:
  14941. description: The
  14942. label key that
  14943. the selector applies
  14944. to.
  14945. type: string
  14946. operator:
  14947. description: Represents
  14948. a key's relationship
  14949. to a set of values.
  14950. Valid operators
  14951. are In, NotIn,
  14952. Exists, DoesNotExist.
  14953. Gt, and Lt.
  14954. type: string
  14955. values:
  14956. description: An
  14957. array of string
  14958. values. If the
  14959. operator is In
  14960. or NotIn, the
  14961. values array must
  14962. be non-empty.
  14963. If the operator
  14964. is Exists or DoesNotExist,
  14965. the values array
  14966. must be empty.
  14967. If the operator
  14968. is Gt or Lt, the
  14969. values array must
  14970. have a single
  14971. element, which
  14972. will be interpreted
  14973. as an integer.
  14974. This array is
  14975. replaced during
  14976. a strategic merge
  14977. patch.
  14978. type: array
  14979. items:
  14980. type: string
  14981. podAffinity:
  14982. description: Describes pod affinity
  14983. scheduling rules (e.g. co-locate this
  14984. pod in the same node, zone, etc. as
  14985. some other pod(s)).
  14986. type: object
  14987. properties:
  14988. preferredDuringSchedulingIgnoredDuringExecution:
  14989. description: The scheduler will
  14990. prefer to schedule pods to nodes
  14991. that satisfy the affinity expressions
  14992. specified by this field, but it
  14993. may choose a node that violates
  14994. one or more of the expressions.
  14995. The node that is most preferred
  14996. is the one with the greatest sum
  14997. of weights, i.e. for each node
  14998. that meets all of the scheduling
  14999. requirements (resource request,
  15000. requiredDuringScheduling affinity
  15001. expressions, etc.), compute a
  15002. sum by iterating through the elements
  15003. of this field and adding "weight"
  15004. to the sum if the node has pods
  15005. which matches the corresponding
  15006. podAffinityTerm; the node(s) with
  15007. the highest sum are the most preferred.
  15008. type: array
  15009. items:
  15010. description: The weights of all
  15011. of the matched WeightedPodAffinityTerm
  15012. fields are added per-node to
  15013. find the most preferred node(s)
  15014. type: object
  15015. required:
  15016. - podAffinityTerm
  15017. - weight
  15018. properties:
  15019. podAffinityTerm:
  15020. description: Required. A pod
  15021. affinity term, associated
  15022. with the corresponding weight.
  15023. type: object
  15024. required:
  15025. - topologyKey
  15026. properties:
  15027. labelSelector:
  15028. description: A label query
  15029. over a set of resources,
  15030. in this case pods.
  15031. type: object
  15032. properties:
  15033. matchExpressions:
  15034. description: matchExpressions
  15035. is a list of label
  15036. selector requirements.
  15037. The requirements
  15038. are ANDed.
  15039. type: array
  15040. items:
  15041. description: A label
  15042. selector requirement
  15043. is a selector
  15044. that contains
  15045. values, a key,
  15046. and an operator
  15047. that relates the
  15048. key and values.
  15049. type: object
  15050. required:
  15051. - key
  15052. - operator
  15053. properties:
  15054. key:
  15055. description: key
  15056. is the label
  15057. key that the
  15058. selector applies
  15059. to.
  15060. type: string
  15061. operator:
  15062. description: operator
  15063. represents
  15064. a key's relationship
  15065. to a set of
  15066. values. Valid
  15067. operators
  15068. are In, NotIn,
  15069. Exists and
  15070. DoesNotExist.
  15071. type: string
  15072. values:
  15073. description: values
  15074. is an array
  15075. of string
  15076. values. If
  15077. the operator
  15078. is In or NotIn,
  15079. the values
  15080. array must
  15081. be non-empty.
  15082. If the operator
  15083. is Exists
  15084. or DoesNotExist,
  15085. the values
  15086. array must
  15087. be empty.
  15088. This array
  15089. is replaced
  15090. during a strategic
  15091. merge patch.
  15092. type: array
  15093. items:
  15094. type: string
  15095. matchLabels:
  15096. description: matchLabels
  15097. is a map of {key,value}
  15098. pairs. A single
  15099. {key,value} in the
  15100. matchLabels map
  15101. is equivalent to
  15102. an element of matchExpressions,
  15103. whose key field
  15104. is "key", the operator
  15105. is "In", and the
  15106. values array contains
  15107. only "value". The
  15108. requirements are
  15109. ANDed.
  15110. type: object
  15111. additionalProperties:
  15112. type: string
  15113. namespaces:
  15114. description: namespaces
  15115. specifies which namespaces
  15116. the labelSelector applies
  15117. to (matches against);
  15118. null or empty list means
  15119. "this pod's namespace"
  15120. type: array
  15121. items:
  15122. type: string
  15123. topologyKey:
  15124. description: This pod
  15125. should be co-located
  15126. (affinity) or not co-located
  15127. (anti-affinity) with
  15128. the pods matching the
  15129. labelSelector in the
  15130. specified namespaces,
  15131. where co-located is
  15132. defined as running on
  15133. a node whose value of
  15134. the label with key topologyKey
  15135. matches that of any
  15136. node on which any of
  15137. the selected pods is
  15138. running. Empty topologyKey
  15139. is not allowed.
  15140. type: string
  15141. weight:
  15142. description: weight associated
  15143. with matching the corresponding
  15144. podAffinityTerm, in the
  15145. range 1-100.
  15146. type: integer
  15147. format: int32
  15148. requiredDuringSchedulingIgnoredDuringExecution:
  15149. description: If the affinity requirements
  15150. specified by this field are not
  15151. met at scheduling time, the pod
  15152. will not be scheduled onto the
  15153. node. If the affinity requirements
  15154. specified by this field cease
  15155. to be met at some point during
  15156. pod execution (e.g. due to a pod
  15157. label update), the system may
  15158. or may not try to eventually evict
  15159. the pod from its node. When there
  15160. are multiple elements, the lists
  15161. of nodes corresponding to each
  15162. podAffinityTerm are intersected,
  15163. i.e. all terms must be satisfied.
  15164. type: array
  15165. items:
  15166. description: Defines a set of
  15167. pods (namely those matching
  15168. the labelSelector relative to
  15169. the given namespace(s)) that
  15170. this pod should be co-located
  15171. (affinity) or not co-located
  15172. (anti-affinity) with, where
  15173. co-located is defined as running
  15174. on a node whose value of the
  15175. label with key <topologyKey>
  15176. matches that of any node on
  15177. which a pod of the set of pods
  15178. is running
  15179. type: object
  15180. required:
  15181. - topologyKey
  15182. properties:
  15183. labelSelector:
  15184. description: A label query
  15185. over a set of resources,
  15186. in this case pods.
  15187. type: object
  15188. properties:
  15189. matchExpressions:
  15190. description: matchExpressions
  15191. is a list of label selector
  15192. requirements. The requirements
  15193. are ANDed.
  15194. type: array
  15195. items:
  15196. description: A label
  15197. selector requirement
  15198. is a selector that
  15199. contains values, a
  15200. key, and an operator
  15201. that relates the key
  15202. and values.
  15203. type: object
  15204. required:
  15205. - key
  15206. - operator
  15207. properties:
  15208. key:
  15209. description: key
  15210. is the label key
  15211. that the selector
  15212. applies to.
  15213. type: string
  15214. operator:
  15215. description: operator
  15216. represents a key's
  15217. relationship to
  15218. a set of values.
  15219. Valid operators
  15220. are In, NotIn,
  15221. Exists and DoesNotExist.
  15222. type: string
  15223. values:
  15224. description: values
  15225. is an array of
  15226. string values.
  15227. If the operator
  15228. is In or NotIn,
  15229. the values array
  15230. must be non-empty.
  15231. If the operator
  15232. is Exists or DoesNotExist,
  15233. the values array
  15234. must be empty.
  15235. This array is
  15236. replaced during
  15237. a strategic merge
  15238. patch.
  15239. type: array
  15240. items:
  15241. type: string
  15242. matchLabels:
  15243. description: matchLabels
  15244. is a map of {key,value}
  15245. pairs. A single {key,value}
  15246. in the matchLabels map
  15247. is equivalent to an
  15248. element of matchExpressions,
  15249. whose key field is "key",
  15250. the operator is "In",
  15251. and the values array
  15252. contains only "value".
  15253. The requirements are
  15254. ANDed.
  15255. type: object
  15256. additionalProperties:
  15257. type: string
  15258. namespaces:
  15259. description: namespaces specifies
  15260. which namespaces the labelSelector
  15261. applies to (matches against);
  15262. null or empty list means
  15263. "this pod's namespace"
  15264. type: array
  15265. items:
  15266. type: string
  15267. topologyKey:
  15268. description: This pod should
  15269. be co-located (affinity)
  15270. or not co-located (anti-affinity)
  15271. with the pods matching the
  15272. labelSelector in the specified
  15273. namespaces, where co-located
  15274. is defined as running on
  15275. a node whose value of the
  15276. label with key topologyKey
  15277. matches that of any node
  15278. on which any of the selected
  15279. pods is running. Empty topologyKey
  15280. is not allowed.
  15281. type: string
  15282. podAntiAffinity:
  15283. description: Describes pod anti-affinity
  15284. scheduling rules (e.g. avoid putting
  15285. this pod in the same node, zone, etc.
  15286. as some other pod(s)).
  15287. type: object
  15288. properties:
  15289. preferredDuringSchedulingIgnoredDuringExecution:
  15290. description: The scheduler will
  15291. prefer to schedule pods to nodes
  15292. that satisfy the anti-affinity
  15293. expressions specified by this
  15294. field, but it may choose a node
  15295. that violates one or more of the
  15296. expressions. The node that is
  15297. most preferred is the one with
  15298. the greatest sum of weights, i.e.
  15299. for each node that meets all of
  15300. the scheduling requirements (resource
  15301. request, requiredDuringScheduling
  15302. anti-affinity expressions, etc.),
  15303. compute a sum by iterating through
  15304. the elements of this field and
  15305. adding "weight" to the sum if
  15306. the node has pods which matches
  15307. the corresponding podAffinityTerm;
  15308. the node(s) with the highest sum
  15309. are the most preferred.
  15310. type: array
  15311. items:
  15312. description: The weights of all
  15313. of the matched WeightedPodAffinityTerm
  15314. fields are added per-node to
  15315. find the most preferred node(s)
  15316. type: object
  15317. required:
  15318. - podAffinityTerm
  15319. - weight
  15320. properties:
  15321. podAffinityTerm:
  15322. description: Required. A pod
  15323. affinity term, associated
  15324. with the corresponding weight.
  15325. type: object
  15326. required:
  15327. - topologyKey
  15328. properties:
  15329. labelSelector:
  15330. description: A label query
  15331. over a set of resources,
  15332. in this case pods.
  15333. type: object
  15334. properties:
  15335. matchExpressions:
  15336. description: matchExpressions
  15337. is a list of label
  15338. selector requirements.
  15339. The requirements
  15340. are ANDed.
  15341. type: array
  15342. items:
  15343. description: A label
  15344. selector requirement
  15345. is a selector
  15346. that contains
  15347. values, a key,
  15348. and an operator
  15349. that relates the
  15350. key and values.
  15351. type: object
  15352. required:
  15353. - key
  15354. - operator
  15355. properties:
  15356. key:
  15357. description: key
  15358. is the label
  15359. key that the
  15360. selector applies
  15361. to.
  15362. type: string
  15363. operator:
  15364. description: operator
  15365. represents
  15366. a key's relationship
  15367. to a set of
  15368. values. Valid
  15369. operators
  15370. are In, NotIn,
  15371. Exists and
  15372. DoesNotExist.
  15373. type: string
  15374. values:
  15375. description: values
  15376. is an array
  15377. of string
  15378. values. If
  15379. the operator
  15380. is In or NotIn,
  15381. the values
  15382. array must
  15383. be non-empty.
  15384. If the operator
  15385. is Exists
  15386. or DoesNotExist,
  15387. the values
  15388. array must
  15389. be empty.
  15390. This array
  15391. is replaced
  15392. during a strategic
  15393. merge patch.
  15394. type: array
  15395. items:
  15396. type: string
  15397. matchLabels:
  15398. description: matchLabels
  15399. is a map of {key,value}
  15400. pairs. A single
  15401. {key,value} in the
  15402. matchLabels map
  15403. is equivalent to
  15404. an element of matchExpressions,
  15405. whose key field
  15406. is "key", the operator
  15407. is "In", and the
  15408. values array contains
  15409. only "value". The
  15410. requirements are
  15411. ANDed.
  15412. type: object
  15413. additionalProperties:
  15414. type: string
  15415. namespaces:
  15416. description: namespaces
  15417. specifies which namespaces
  15418. the labelSelector applies
  15419. to (matches against);
  15420. null or empty list means
  15421. "this pod's namespace"
  15422. type: array
  15423. items:
  15424. type: string
  15425. topologyKey:
  15426. description: This pod
  15427. should be co-located
  15428. (affinity) or not co-located
  15429. (anti-affinity) with
  15430. the pods matching the
  15431. labelSelector in the
  15432. specified namespaces,
  15433. where co-located is
  15434. defined as running on
  15435. a node whose value of
  15436. the label with key topologyKey
  15437. matches that of any
  15438. node on which any of
  15439. the selected pods is
  15440. running. Empty topologyKey
  15441. is not allowed.
  15442. type: string
  15443. weight:
  15444. description: weight associated
  15445. with matching the corresponding
  15446. podAffinityTerm, in the
  15447. range 1-100.
  15448. type: integer
  15449. format: int32
  15450. requiredDuringSchedulingIgnoredDuringExecution:
  15451. description: If the anti-affinity
  15452. requirements specified by this
  15453. field are not met at scheduling
  15454. time, the pod will not be scheduled
  15455. onto the node. If the anti-affinity
  15456. requirements specified by this
  15457. field cease to be met at some
  15458. point during pod execution (e.g.
  15459. due to a pod label update), the
  15460. system may or may not try to eventually
  15461. evict the pod from its node. When
  15462. there are multiple elements, the
  15463. lists of nodes corresponding to
  15464. each podAffinityTerm are intersected,
  15465. i.e. all terms must be satisfied.
  15466. type: array
  15467. items:
  15468. description: Defines a set of
  15469. pods (namely those matching
  15470. the labelSelector relative to
  15471. the given namespace(s)) that
  15472. this pod should be co-located
  15473. (affinity) or not co-located
  15474. (anti-affinity) with, where
  15475. co-located is defined as running
  15476. on a node whose value of the
  15477. label with key <topologyKey>
  15478. matches that of any node on
  15479. which a pod of the set of pods
  15480. is running
  15481. type: object
  15482. required:
  15483. - topologyKey
  15484. properties:
  15485. labelSelector:
  15486. description: A label query
  15487. over a set of resources,
  15488. in this case pods.
  15489. type: object
  15490. properties:
  15491. matchExpressions:
  15492. description: matchExpressions
  15493. is a list of label selector
  15494. requirements. The requirements
  15495. are ANDed.
  15496. type: array
  15497. items:
  15498. description: A label
  15499. selector requirement
  15500. is a selector that
  15501. contains values, a
  15502. key, and an operator
  15503. that relates the key
  15504. and values.
  15505. type: object
  15506. required:
  15507. - key
  15508. - operator
  15509. properties:
  15510. key:
  15511. description: key
  15512. is the label key
  15513. that the selector
  15514. applies to.
  15515. type: string
  15516. operator:
  15517. description: operator
  15518. represents a key's
  15519. relationship to
  15520. a set of values.
  15521. Valid operators
  15522. are In, NotIn,
  15523. Exists and DoesNotExist.
  15524. type: string
  15525. values:
  15526. description: values
  15527. is an array of
  15528. string values.
  15529. If the operator
  15530. is In or NotIn,
  15531. the values array
  15532. must be non-empty.
  15533. If the operator
  15534. is Exists or DoesNotExist,
  15535. the values array
  15536. must be empty.
  15537. This array is
  15538. replaced during
  15539. a strategic merge
  15540. patch.
  15541. type: array
  15542. items:
  15543. type: string
  15544. matchLabels:
  15545. description: matchLabels
  15546. is a map of {key,value}
  15547. pairs. A single {key,value}
  15548. in the matchLabels map
  15549. is equivalent to an
  15550. element of matchExpressions,
  15551. whose key field is "key",
  15552. the operator is "In",
  15553. and the values array
  15554. contains only "value".
  15555. The requirements are
  15556. ANDed.
  15557. type: object
  15558. additionalProperties:
  15559. type: string
  15560. namespaces:
  15561. description: namespaces specifies
  15562. which namespaces the labelSelector
  15563. applies to (matches against);
  15564. null or empty list means
  15565. "this pod's namespace"
  15566. type: array
  15567. items:
  15568. type: string
  15569. topologyKey:
  15570. description: This pod should
  15571. be co-located (affinity)
  15572. or not co-located (anti-affinity)
  15573. with the pods matching the
  15574. labelSelector in the specified
  15575. namespaces, where co-located
  15576. is defined as running on
  15577. a node whose value of the
  15578. label with key topologyKey
  15579. matches that of any node
  15580. on which any of the selected
  15581. pods is running. Empty topologyKey
  15582. is not allowed.
  15583. type: string
  15584. nodeSelector:
  15585. description: 'NodeSelector is a selector
  15586. which must be true for the pod to fit
  15587. on a node. Selector which must match a
  15588. node''s labels for the pod to be scheduled
  15589. on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  15590. type: object
  15591. additionalProperties:
  15592. type: string
  15593. tolerations:
  15594. description: If specified, the pod's tolerations.
  15595. type: array
  15596. items:
  15597. description: The pod this Toleration is
  15598. attached to tolerates any taint that
  15599. matches the triple <key,value,effect>
  15600. using the matching operator <operator>.
  15601. type: object
  15602. properties:
  15603. effect:
  15604. description: Effect indicates the
  15605. taint effect to match. Empty means
  15606. match all taint effects. When specified,
  15607. allowed values are NoSchedule, PreferNoSchedule
  15608. and NoExecute.
  15609. type: string
  15610. key:
  15611. description: Key is the taint key
  15612. that the toleration applies to.
  15613. Empty means match all taint keys.
  15614. If the key is empty, operator must
  15615. be Exists; this combination means
  15616. to match all values and all keys.
  15617. type: string
  15618. operator:
  15619. description: Operator represents a
  15620. key's relationship to the value.
  15621. Valid operators are Exists and Equal.
  15622. Defaults to Equal. Exists is equivalent
  15623. to wildcard for value, so that a
  15624. pod can tolerate all taints of a
  15625. particular category.
  15626. type: string
  15627. tolerationSeconds:
  15628. description: TolerationSeconds represents
  15629. the period of time the toleration
  15630. (which must be of effect NoExecute,
  15631. otherwise this field is ignored)
  15632. tolerates the taint. By default,
  15633. it is not set, which means tolerate
  15634. the taint forever (do not evict).
  15635. Zero and negative values will be
  15636. treated as 0 (evict immediately)
  15637. by the system.
  15638. type: integer
  15639. format: int64
  15640. value:
  15641. description: Value is the taint value
  15642. the toleration matches to. If the
  15643. operator is Exists, the value should
  15644. be empty, otherwise just a regular
  15645. string.
  15646. type: string
  15647. serviceType:
  15648. description: Optional service type for Kubernetes
  15649. solver service
  15650. type: string
  15651. selector:
  15652. description: Selector selects a set of DNSNames on the Certificate
  15653. resource that should be solved using this challenge solver.
  15654. If not specified, the solver will be treated as the 'default'
  15655. solver with the lowest priority, i.e. if any other solver
  15656. has a more specific match, it will be used instead.
  15657. type: object
  15658. properties:
  15659. dnsNames:
  15660. description: List of DNSNames that this solver will
  15661. be used to solve. If specified and a match is found,
  15662. a dnsNames selector will take precedence over a dnsZones
  15663. selector. If multiple solvers match with the same
  15664. dnsNames value, the solver with the most matching
  15665. labels in matchLabels will be selected. If neither
  15666. has more matches, the solver defined earlier in the
  15667. list will be selected.
  15668. type: array
  15669. items:
  15670. type: string
  15671. dnsZones:
  15672. description: List of DNSZones that this solver will
  15673. be used to solve. The most specific DNS zone match
  15674. specified here will take precedence over other DNS
  15675. zone matches, so a solver specifying sys.example.com
  15676. will be selected over one specifying example.com for
  15677. the domain www.sys.example.com. If multiple solvers
  15678. match with the same dnsZones value, the solver with
  15679. the most matching labels in matchLabels will be selected.
  15680. If neither has more matches, the solver defined earlier
  15681. in the list will be selected.
  15682. type: array
  15683. items:
  15684. type: string
  15685. matchLabels:
  15686. description: A label selector that is used to refine
  15687. the set of certificate's that this challenge solver
  15688. will apply to.
  15689. type: object
  15690. additionalProperties:
  15691. type: string
  15692. ca:
  15693. description: CA configures this issuer to sign certificates using
  15694. a signing CA keypair stored in a Secret resource. This is used to
  15695. build internal PKIs that are managed by cert-manager.
  15696. type: object
  15697. required:
  15698. - secretName
  15699. properties:
  15700. crlDistributionPoints:
  15701. description: The CRL distribution points is an X.509 v3 certificate
  15702. extension which identifies the location of the CRL from which
  15703. the revocation of this certificate can be checked. If not set,
  15704. certificates will be issued without distribution points set.
  15705. type: array
  15706. items:
  15707. type: string
  15708. secretName:
  15709. description: SecretName is the name of the secret used to sign
  15710. Certificates issued by this Issuer.
  15711. type: string
  15712. selfSigned:
  15713. description: SelfSigned configures this issuer to 'self sign' certificates
  15714. using the private key used to create the CertificateRequest object.
  15715. type: object
  15716. properties:
  15717. crlDistributionPoints:
  15718. description: The CRL distribution points is an X.509 v3 certificate
  15719. extension which identifies the location of the CRL from which
  15720. the revocation of this certificate can be checked. If not set
  15721. certificate will be issued without CDP. Values are strings.
  15722. type: array
  15723. items:
  15724. type: string
  15725. vault:
  15726. description: Vault configures this issuer to sign certificates using
  15727. a HashiCorp Vault PKI backend.
  15728. type: object
  15729. required:
  15730. - auth
  15731. - path
  15732. - server
  15733. properties:
  15734. auth:
  15735. description: Auth configures how cert-manager authenticates with
  15736. the Vault server.
  15737. type: object
  15738. properties:
  15739. appRole:
  15740. description: AppRole authenticates with Vault using the App
  15741. Role auth mechanism, with the role and secret stored in
  15742. a Kubernetes Secret resource.
  15743. type: object
  15744. required:
  15745. - path
  15746. - roleId
  15747. - secretRef
  15748. properties:
  15749. path:
  15750. description: 'Path where the App Role authentication backend
  15751. is mounted in Vault, e.g: "approle"'
  15752. type: string
  15753. roleId:
  15754. description: RoleID configured in the App Role authentication
  15755. backend when setting up the authentication backend in
  15756. Vault.
  15757. type: string
  15758. secretRef:
  15759. description: Reference to a key in a Secret that contains
  15760. the App Role secret used to authenticate with Vault.
  15761. The `key` field must be specified and denotes which
  15762. entry within the Secret resource is used as the app
  15763. role secret.
  15764. type: object
  15765. required:
  15766. - name
  15767. properties:
  15768. key:
  15769. description: The key of the entry in the Secret resource's
  15770. `data` field to be used. Some instances of this
  15771. field may be defaulted, in others it may be required.
  15772. type: string
  15773. name:
  15774. description: 'Name of the resource being referred
  15775. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  15776. type: string
  15777. kubernetes:
  15778. description: Kubernetes authenticates with Vault by passing
  15779. the ServiceAccount token stored in the named Secret resource
  15780. to the Vault server.
  15781. type: object
  15782. required:
  15783. - role
  15784. - secretRef
  15785. properties:
  15786. mountPath:
  15787. description: The Vault mountPath here is the mount path
  15788. to use when authenticating with Vault. For example,
  15789. setting a value to `/v1/auth/foo`, will use the path
  15790. `/v1/auth/foo/login` to authenticate with Vault. If
  15791. unspecified, the default value "/v1/auth/kubernetes"
  15792. will be used.
  15793. type: string
  15794. role:
  15795. description: A required field containing the Vault Role
  15796. to assume. A Role binds a Kubernetes ServiceAccount
  15797. with a set of Vault policies.
  15798. type: string
  15799. secretRef:
  15800. description: The required Secret field containing a Kubernetes
  15801. ServiceAccount JWT used for authenticating with Vault.
  15802. Use of 'ambient credentials' is not supported.
  15803. type: object
  15804. required:
  15805. - name
  15806. properties:
  15807. key:
  15808. description: The key of the entry in the Secret resource's
  15809. `data` field to be used. Some instances of this
  15810. field may be defaulted, in others it may be required.
  15811. type: string
  15812. name:
  15813. description: 'Name of the resource being referred
  15814. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  15815. type: string
  15816. tokenSecretRef:
  15817. description: TokenSecretRef authenticates with Vault by presenting
  15818. a token.
  15819. type: object
  15820. required:
  15821. - name
  15822. properties:
  15823. key:
  15824. description: The key of the entry in the Secret resource's
  15825. `data` field to be used. Some instances of this field
  15826. may be defaulted, in others it may be required.
  15827. type: string
  15828. name:
  15829. description: 'Name of the resource being referred to.
  15830. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  15831. type: string
  15832. caBundle:
  15833. description: PEM encoded CA bundle used to validate Vault server
  15834. certificate. Only used if the Server URL is using HTTPS protocol.
  15835. This parameter is ignored for plain HTTP protocol connection.
  15836. If not set the system root certificates are used to validate
  15837. the TLS connection.
  15838. type: string
  15839. format: byte
  15840. path:
  15841. description: 'Path is the mount path of the Vault PKI backend''s
  15842. `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  15843. type: string
  15844. server:
  15845. description: 'Server is the connection address for the Vault server,
  15846. e.g: "https://vault.example.com:8200".'
  15847. type: string
  15848. venafi:
  15849. description: Venafi configures this issuer to sign certificates using
  15850. a Venafi TPP or Venafi Cloud policy zone.
  15851. type: object
  15852. required:
  15853. - zone
  15854. properties:
  15855. cloud:
  15856. description: Cloud specifies the Venafi cloud configuration settings.
  15857. Only one of TPP or Cloud may be specified.
  15858. type: object
  15859. required:
  15860. - apiTokenSecretRef
  15861. properties:
  15862. apiTokenSecretRef:
  15863. description: APITokenSecretRef is a secret key selector for
  15864. the Venafi Cloud API token.
  15865. type: object
  15866. required:
  15867. - name
  15868. properties:
  15869. key:
  15870. description: The key of the entry in the Secret resource's
  15871. `data` field to be used. Some instances of this field
  15872. may be defaulted, in others it may be required.
  15873. type: string
  15874. name:
  15875. description: 'Name of the resource being referred to.
  15876. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  15877. type: string
  15878. url:
  15879. description: URL is the base URL for Venafi Cloud. Defaults
  15880. to "https://api.venafi.cloud/v1".
  15881. type: string
  15882. tpp:
  15883. description: TPP specifies Trust Protection Platform configuration
  15884. settings. Only one of TPP or Cloud may be specified.
  15885. type: object
  15886. required:
  15887. - credentialsRef
  15888. - url
  15889. properties:
  15890. caBundle:
  15891. description: CABundle is a PEM encoded TLS certificate to
  15892. use to verify connections to the TPP instance. If specified,
  15893. system roots will not be used and the issuing CA for the
  15894. TPP instance must be verifiable using the provided root.
  15895. If not specified, the connection will be verified using
  15896. the cert-manager system root certificates.
  15897. type: string
  15898. format: byte
  15899. credentialsRef:
  15900. description: CredentialsRef is a reference to a Secret containing
  15901. the username and password for the TPP server. The secret
  15902. must contain two keys, 'username' and 'password'.
  15903. type: object
  15904. required:
  15905. - name
  15906. properties:
  15907. name:
  15908. description: 'Name of the resource being referred to.
  15909. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  15910. type: string
  15911. url:
  15912. description: 'URL is the base URL for the vedsdk endpoint
  15913. of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  15914. type: string
  15915. zone:
  15916. description: Zone is the Venafi Policy Zone to use for this issuer.
  15917. All requests made to the Venafi platform will be restricted
  15918. by the named zone policy. This field is required.
  15919. type: string
  15920. status:
  15921. description: Status of the Issuer. This is set and managed automatically.
  15922. type: object
  15923. properties:
  15924. acme:
  15925. description: ACME specific status options. This field should only
  15926. be set if the Issuer is configured to use an ACME server to issue
  15927. certificates.
  15928. type: object
  15929. properties:
  15930. lastRegisteredEmail:
  15931. description: LastRegisteredEmail is the email associated with
  15932. the latest registered ACME account, in order to track changes
  15933. made to registered account associated with the Issuer
  15934. type: string
  15935. uri:
  15936. description: URI is the unique account identifier, which can also
  15937. be used to retrieve account details from the CA
  15938. type: string
  15939. conditions:
  15940. description: List of status conditions to indicate the status of a
  15941. CertificateRequest. Known condition types are `Ready`.
  15942. type: array
  15943. items:
  15944. description: IssuerCondition contains condition information for
  15945. an Issuer.
  15946. type: object
  15947. required:
  15948. - status
  15949. - type
  15950. properties:
  15951. lastTransitionTime:
  15952. description: LastTransitionTime is the timestamp corresponding
  15953. to the last status change of this condition.
  15954. type: string
  15955. format: date-time
  15956. message:
  15957. description: Message is a human readable description of the
  15958. details of the last transition, complementing reason.
  15959. type: string
  15960. reason:
  15961. description: Reason is a brief machine readable explanation
  15962. for the condition's last transition.
  15963. type: string
  15964. status:
  15965. description: Status of the condition, one of ('True', 'False',
  15966. 'Unknown').
  15967. type: string
  15968. enum:
  15969. - "True"
  15970. - "False"
  15971. - Unknown
  15972. type:
  15973. description: Type of the condition, known values are ('Ready').
  15974. type: string
  15975. - name: v1
  15976. served: true
  15977. storage: false
  15978. "schema":
  15979. "openAPIV3Schema":
  15980. description: An Issuer represents a certificate issuing authority which can
  15981. be referenced as part of `issuerRef` fields. It is scoped to a single namespace
  15982. and can therefore only be referenced by resources within the same namespace.
  15983. type: object
  15984. required:
  15985. - spec
  15986. properties:
  15987. apiVersion:
  15988. description: 'APIVersion defines the versioned schema of this representation
  15989. of an object. Servers should convert recognized schemas to the latest
  15990. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  15991. type: string
  15992. kind:
  15993. description: 'Kind is a string value representing the REST resource this
  15994. object represents. Servers may infer this from the endpoint the client
  15995. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  15996. type: string
  15997. metadata:
  15998. type: object
  15999. spec:
  16000. description: Desired state of the Issuer resource.
  16001. type: object
  16002. properties:
  16003. acme:
  16004. description: ACME configures this issuer to communicate with a RFC8555
  16005. (ACME) server to obtain signed x509 certificates.
  16006. type: object
  16007. required:
  16008. - privateKeySecretRef
  16009. - server
  16010. properties:
  16011. email:
  16012. description: Email is the email address to be associated with
  16013. the ACME account. This field is optional, but it is strongly
  16014. recommended to be set. It will be used to contact you in case
  16015. of issues with your account or certificates, including expiry
  16016. notification emails. This field may be updated after the account
  16017. is initially registered.
  16018. type: string
  16019. externalAccountBinding:
  16020. description: ExternalAccountBinding is a reference to a CA external
  16021. account of the ACME server. If set, upon registration cert-manager
  16022. will attempt to associate the given external account credentials
  16023. with the registered ACME account.
  16024. type: object
  16025. required:
  16026. - keyAlgorithm
  16027. - keyID
  16028. - keySecretRef
  16029. properties:
  16030. keyAlgorithm:
  16031. description: keyAlgorithm is the MAC key algorithm that the
  16032. key is used for. Valid values are "HS256", "HS384" and "HS512".
  16033. type: string
  16034. enum:
  16035. - HS256
  16036. - HS384
  16037. - HS512
  16038. keyID:
  16039. description: keyID is the ID of the CA key that the External
  16040. Account is bound to.
  16041. type: string
  16042. keySecretRef:
  16043. description: keySecretRef is a Secret Key Selector referencing
  16044. a data item in a Kubernetes Secret which holds the symmetric
  16045. MAC key of the External Account Binding. The `key` is the
  16046. index string that is paired with the key data in the Secret
  16047. and should not be confused with the key data itself, or
  16048. indeed with the External Account Binding keyID above. The
  16049. secret key stored in the Secret **must** be un-padded, base64
  16050. URL encoded data.
  16051. type: object
  16052. required:
  16053. - name
  16054. properties:
  16055. key:
  16056. description: The key of the entry in the Secret resource's
  16057. `data` field to be used. Some instances of this field
  16058. may be defaulted, in others it may be required.
  16059. type: string
  16060. name:
  16061. description: 'Name of the resource being referred to.
  16062. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16063. type: string
  16064. privateKeySecretRef:
  16065. description: PrivateKey is the name of a Kubernetes Secret resource
  16066. that will be used to store the automatically generated ACME
  16067. account private key. Optionally, a `key` may be specified to
  16068. select a specific entry within the named Secret resource. If
  16069. `key` is not specified, a default of `tls.key` will be used.
  16070. type: object
  16071. required:
  16072. - name
  16073. properties:
  16074. key:
  16075. description: The key of the entry in the Secret resource's
  16076. `data` field to be used. Some instances of this field may
  16077. be defaulted, in others it may be required.
  16078. type: string
  16079. name:
  16080. description: 'Name of the resource being referred to. More
  16081. info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16082. type: string
  16083. server:
  16084. description: 'Server is the URL used to access the ACME server''s
  16085. ''directory'' endpoint. For example, for Let''s Encrypt''s staging
  16086. endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory".
  16087. Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  16088. type: string
  16089. skipTLSVerify:
  16090. description: Enables or disables validation of the ACME server
  16091. TLS certificate. If true, requests to the ACME server will not
  16092. have their TLS certificate validated (i.e. insecure connections
  16093. will be allowed). Only enable this option in development environments.
  16094. The cert-manager system installed roots will be used to verify
  16095. connections to the ACME server if this is false. Defaults to
  16096. false.
  16097. type: boolean
  16098. solvers:
  16099. description: 'Solvers is a list of challenge solvers that will
  16100. be used to solve ACME challenges for the matching domains. Solver
  16101. configurations must be provided in order to obtain certificates
  16102. from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  16103. type: array
  16104. items:
  16105. description: Configures an issuer to solve challenges using
  16106. the specified options. Only one of HTTP01 or DNS01 may be
  16107. provided.
  16108. type: object
  16109. properties:
  16110. dns01:
  16111. description: Configures cert-manager to attempt to complete
  16112. authorizations by performing the DNS01 challenge flow.
  16113. type: object
  16114. properties:
  16115. acmeDNS:
  16116. description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns)
  16117. API to manage DNS01 challenge records.
  16118. type: object
  16119. required:
  16120. - accountSecretRef
  16121. - host
  16122. properties:
  16123. accountSecretRef:
  16124. description: A reference to a specific 'key' within
  16125. a Secret resource. In some instances, `key` is
  16126. a required field.
  16127. type: object
  16128. required:
  16129. - name
  16130. properties:
  16131. key:
  16132. description: The key of the entry in the Secret
  16133. resource's `data` field to be used. Some instances
  16134. of this field may be defaulted, in others
  16135. it may be required.
  16136. type: string
  16137. name:
  16138. description: 'Name of the resource being referred
  16139. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16140. type: string
  16141. host:
  16142. type: string
  16143. akamai:
  16144. description: Use the Akamai DNS zone management API
  16145. to manage DNS01 challenge records.
  16146. type: object
  16147. required:
  16148. - accessTokenSecretRef
  16149. - clientSecretSecretRef
  16150. - clientTokenSecretRef
  16151. - serviceConsumerDomain
  16152. properties:
  16153. accessTokenSecretRef:
  16154. description: A reference to a specific 'key' within
  16155. a Secret resource. In some instances, `key` is
  16156. a required field.
  16157. type: object
  16158. required:
  16159. - name
  16160. properties:
  16161. key:
  16162. description: The key of the entry in the Secret
  16163. resource's `data` field to be used. Some instances
  16164. of this field may be defaulted, in others
  16165. it may be required.
  16166. type: string
  16167. name:
  16168. description: 'Name of the resource being referred
  16169. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16170. type: string
  16171. clientSecretSecretRef:
  16172. description: A reference to a specific 'key' within
  16173. a Secret resource. In some instances, `key` is
  16174. a required field.
  16175. type: object
  16176. required:
  16177. - name
  16178. properties:
  16179. key:
  16180. description: The key of the entry in the Secret
  16181. resource's `data` field to be used. Some instances
  16182. of this field may be defaulted, in others
  16183. it may be required.
  16184. type: string
  16185. name:
  16186. description: 'Name of the resource being referred
  16187. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16188. type: string
  16189. clientTokenSecretRef:
  16190. description: A reference to a specific 'key' within
  16191. a Secret resource. In some instances, `key` is
  16192. a required field.
  16193. type: object
  16194. required:
  16195. - name
  16196. properties:
  16197. key:
  16198. description: The key of the entry in the Secret
  16199. resource's `data` field to be used. Some instances
  16200. of this field may be defaulted, in others
  16201. it may be required.
  16202. type: string
  16203. name:
  16204. description: 'Name of the resource being referred
  16205. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16206. type: string
  16207. serviceConsumerDomain:
  16208. type: string
  16209. azureDNS:
  16210. description: Use the Microsoft Azure DNS API to manage
  16211. DNS01 challenge records.
  16212. type: object
  16213. required:
  16214. - resourceGroupName
  16215. - subscriptionID
  16216. properties:
  16217. clientID:
  16218. description: if both this and ClientSecret are left
  16219. unset MSI will be used
  16220. type: string
  16221. clientSecretSecretRef:
  16222. description: if both this and ClientID are left
  16223. unset MSI will be used
  16224. type: object
  16225. required:
  16226. - name
  16227. properties:
  16228. key:
  16229. description: The key of the entry in the Secret
  16230. resource's `data` field to be used. Some instances
  16231. of this field may be defaulted, in others
  16232. it may be required.
  16233. type: string
  16234. name:
  16235. description: 'Name of the resource being referred
  16236. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16237. type: string
  16238. environment:
  16239. type: string
  16240. enum:
  16241. - AzurePublicCloud
  16242. - AzureChinaCloud
  16243. - AzureGermanCloud
  16244. - AzureUSGovernmentCloud
  16245. hostedZoneName:
  16246. type: string
  16247. resourceGroupName:
  16248. type: string
  16249. subscriptionID:
  16250. type: string
  16251. tenantID:
  16252. description: when specifying ClientID and ClientSecret
  16253. then this field is also needed
  16254. type: string
  16255. cloudDNS:
  16256. description: Use the Google Cloud DNS API to manage
  16257. DNS01 challenge records.
  16258. type: object
  16259. required:
  16260. - project
  16261. properties:
  16262. hostedZoneName:
  16263. description: HostedZoneName is an optional field
  16264. that tells cert-manager in which Cloud DNS zone
  16265. the challenge record has to be created. If left
  16266. empty cert-manager will automatically choose a
  16267. zone.
  16268. type: string
  16269. project:
  16270. type: string
  16271. serviceAccountSecretRef:
  16272. description: A reference to a specific 'key' within
  16273. a Secret resource. In some instances, `key` is
  16274. a required field.
  16275. type: object
  16276. required:
  16277. - name
  16278. properties:
  16279. key:
  16280. description: The key of the entry in the Secret
  16281. resource's `data` field to be used. Some instances
  16282. of this field may be defaulted, in others
  16283. it may be required.
  16284. type: string
  16285. name:
  16286. description: 'Name of the resource being referred
  16287. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16288. type: string
  16289. cloudflare:
  16290. description: Use the Cloudflare API to manage DNS01
  16291. challenge records.
  16292. type: object
  16293. properties:
  16294. apiKeySecretRef:
  16295. description: 'API key to use to authenticate with
  16296. Cloudflare. Note: using an API token to authenticate
  16297. is now the recommended method as it allows greater
  16298. control of permissions.'
  16299. type: object
  16300. required:
  16301. - name
  16302. properties:
  16303. key:
  16304. description: The key of the entry in the Secret
  16305. resource's `data` field to be used. Some instances
  16306. of this field may be defaulted, in others
  16307. it may be required.
  16308. type: string
  16309. name:
  16310. description: 'Name of the resource being referred
  16311. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16312. type: string
  16313. apiTokenSecretRef:
  16314. description: API token used to authenticate with
  16315. Cloudflare.
  16316. type: object
  16317. required:
  16318. - name
  16319. properties:
  16320. key:
  16321. description: The key of the entry in the Secret
  16322. resource's `data` field to be used. Some instances
  16323. of this field may be defaulted, in others
  16324. it may be required.
  16325. type: string
  16326. name:
  16327. description: 'Name of the resource being referred
  16328. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16329. type: string
  16330. email:
  16331. description: Email of the account, only required
  16332. when using API key based authentication.
  16333. type: string
  16334. cnameStrategy:
  16335. description: CNAMEStrategy configures how the DNS01
  16336. provider should handle CNAME records when found in
  16337. DNS zones.
  16338. type: string
  16339. enum:
  16340. - None
  16341. - Follow
  16342. digitalocean:
  16343. description: Use the DigitalOcean DNS API to manage
  16344. DNS01 challenge records.
  16345. type: object
  16346. required:
  16347. - tokenSecretRef
  16348. properties:
  16349. tokenSecretRef:
  16350. description: A reference to a specific 'key' within
  16351. a Secret resource. In some instances, `key` is
  16352. a required field.
  16353. type: object
  16354. required:
  16355. - name
  16356. properties:
  16357. key:
  16358. description: The key of the entry in the Secret
  16359. resource's `data` field to be used. Some instances
  16360. of this field may be defaulted, in others
  16361. it may be required.
  16362. type: string
  16363. name:
  16364. description: 'Name of the resource being referred
  16365. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16366. type: string
  16367. rfc2136:
  16368. description: Use RFC2136 ("Dynamic Updates in the Domain
  16369. Name System") (https://datatracker.ietf.org/doc/rfc2136/)
  16370. to manage DNS01 challenge records.
  16371. type: object
  16372. required:
  16373. - nameserver
  16374. properties:
  16375. nameserver:
  16376. description: The IP address or hostname of an authoritative
  16377. DNS server supporting RFC2136 in the form host:port.
  16378. If the host is an IPv6 address it must be enclosed
  16379. in square brackets (e.g [2001:db8::1]) ; port
  16380. is optional. This field is required.
  16381. type: string
  16382. tsigAlgorithm:
  16383. description: 'The TSIG Algorithm configured in the
  16384. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  16385. and ``tsigKeyName`` are defined. Supported values
  16386. are (case-insensitive): ``HMACMD5`` (default),
  16387. ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  16388. type: string
  16389. tsigKeyName:
  16390. description: The TSIG Key name configured in the
  16391. DNS. If ``tsigSecretSecretRef`` is defined, this
  16392. field is required.
  16393. type: string
  16394. tsigSecretSecretRef:
  16395. description: The name of the secret containing the
  16396. TSIG value. If ``tsigKeyName`` is defined, this
  16397. field is required.
  16398. type: object
  16399. required:
  16400. - name
  16401. properties:
  16402. key:
  16403. description: The key of the entry in the Secret
  16404. resource's `data` field to be used. Some instances
  16405. of this field may be defaulted, in others
  16406. it may be required.
  16407. type: string
  16408. name:
  16409. description: 'Name of the resource being referred
  16410. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16411. type: string
  16412. route53:
  16413. description: Use the AWS Route53 API to manage DNS01
  16414. challenge records.
  16415. type: object
  16416. required:
  16417. - region
  16418. properties:
  16419. accessKeyID:
  16420. description: 'The AccessKeyID is used for authentication.
  16421. If not set we fall-back to using env vars, shared
  16422. credentials file or AWS Instance metadata see:
  16423. https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  16424. type: string
  16425. hostedZoneID:
  16426. description: If set, the provider will manage only
  16427. this zone in Route53 and will not do an lookup
  16428. using the route53:ListHostedZonesByName api call.
  16429. type: string
  16430. region:
  16431. description: Always set the region when using AccessKeyID
  16432. and SecretAccessKey
  16433. type: string
  16434. role:
  16435. description: Role is a Role ARN which the Route53
  16436. provider will assume using either the explicit
  16437. credentials AccessKeyID/SecretAccessKey or the
  16438. inferred credentials from environment variables,
  16439. shared credentials file or AWS Instance metadata
  16440. type: string
  16441. secretAccessKeySecretRef:
  16442. description: The SecretAccessKey is used for authentication.
  16443. If not set we fall-back to using env vars, shared
  16444. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  16445. type: object
  16446. required:
  16447. - name
  16448. properties:
  16449. key:
  16450. description: The key of the entry in the Secret
  16451. resource's `data` field to be used. Some instances
  16452. of this field may be defaulted, in others
  16453. it may be required.
  16454. type: string
  16455. name:
  16456. description: 'Name of the resource being referred
  16457. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  16458. type: string
  16459. webhook:
  16460. description: Configure an external webhook based DNS01
  16461. challenge solver to manage DNS01 challenge records.
  16462. type: object
  16463. required:
  16464. - groupName
  16465. - solverName
  16466. properties:
  16467. config:
  16468. description: Additional configuration that should
  16469. be passed to the webhook apiserver when challenges
  16470. are processed. This can contain arbitrary JSON
  16471. data. Secret values should not be specified in
  16472. this stanza. If secret values are needed (e.g.
  16473. credentials for a DNS service), you should use
  16474. a SecretKeySelector to reference a Secret resource.
  16475. For details on the schema of this field, consult
  16476. the webhook provider implementation's documentation.
  16477. x-kubernetes-preserve-unknown-fields: true
  16478. groupName:
  16479. description: The API group name that should be used
  16480. when POSTing ChallengePayload resources to the
  16481. webhook apiserver. This should be the same as
  16482. the GroupName specified in the webhook provider
  16483. implementation.
  16484. type: string
  16485. solverName:
  16486. description: The name of the solver to use, as defined
  16487. in the webhook provider implementation. This will
  16488. typically be the name of the provider, e.g. 'cloudflare'.
  16489. type: string
  16490. http01:
  16491. description: Configures cert-manager to attempt to complete
  16492. authorizations by performing the HTTP01 challenge flow.
  16493. It is not possible to obtain certificates for wildcard
  16494. domain names (e.g. `*.example.com`) using the HTTP01 challenge
  16495. mechanism.
  16496. type: object
  16497. properties:
  16498. ingress:
  16499. description: The ingress based HTTP01 challenge solver
  16500. will solve challenges by creating or modifying Ingress
  16501. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  16502. to 'challenge solver' pods that are provisioned by
  16503. cert-manager for each Challenge to be completed.
  16504. type: object
  16505. properties:
  16506. class:
  16507. description: The ingress class to use when creating
  16508. Ingress resources to solve ACME challenges that
  16509. use this challenge solver. Only one of 'class'
  16510. or 'name' may be specified.
  16511. type: string
  16512. ingressTemplate:
  16513. description: Optional ingress template used to configure
  16514. the ACME challenge solver ingress used for HTTP01
  16515. challenges
  16516. type: object
  16517. properties:
  16518. metadata:
  16519. description: ObjectMeta overrides for the ingress
  16520. used to solve HTTP01 challenges. Only the
  16521. 'labels' and 'annotations' fields may be set.
  16522. If labels or annotations overlap with in-built
  16523. values, the values here will override the
  16524. in-built values.
  16525. type: object
  16526. properties:
  16527. annotations:
  16528. description: Annotations that should be
  16529. added to the created ACME HTTP01 solver
  16530. ingress.
  16531. type: object
  16532. additionalProperties:
  16533. type: string
  16534. labels:
  16535. description: Labels that should be added
  16536. to the created ACME HTTP01 solver ingress.
  16537. type: object
  16538. additionalProperties:
  16539. type: string
  16540. name:
  16541. description: The name of the ingress resource that
  16542. should have ACME challenge solving routes inserted
  16543. into it in order to solve HTTP01 challenges. This
  16544. is typically used in conjunction with ingress
  16545. controllers like ingress-gce, which maintains
  16546. a 1:1 mapping between external IPs and ingress
  16547. resources.
  16548. type: string
  16549. podTemplate:
  16550. description: Optional pod template used to configure
  16551. the ACME challenge solver pods used for HTTP01
  16552. challenges
  16553. type: object
  16554. properties:
  16555. metadata:
  16556. description: ObjectMeta overrides for the pod
  16557. used to solve HTTP01 challenges. Only the
  16558. 'labels' and 'annotations' fields may be set.
  16559. If labels or annotations overlap with in-built
  16560. values, the values here will override the
  16561. in-built values.
  16562. type: object
  16563. properties:
  16564. annotations:
  16565. description: Annotations that should be
  16566. added to the create ACME HTTP01 solver
  16567. pods.
  16568. type: object
  16569. additionalProperties:
  16570. type: string
  16571. labels:
  16572. description: Labels that should be added
  16573. to the created ACME HTTP01 solver pods.
  16574. type: object
  16575. additionalProperties:
  16576. type: string
  16577. spec:
  16578. description: PodSpec defines overrides for the
  16579. HTTP01 challenge solver pod. Only the 'nodeSelector',
  16580. 'affinity' and 'tolerations' fields are supported
  16581. currently. All other fields will be ignored.
  16582. type: object
  16583. properties:
  16584. affinity:
  16585. description: If specified, the pod's scheduling
  16586. constraints
  16587. type: object
  16588. properties:
  16589. nodeAffinity:
  16590. description: Describes node affinity
  16591. scheduling rules for the pod.
  16592. type: object
  16593. properties:
  16594. preferredDuringSchedulingIgnoredDuringExecution:
  16595. description: The scheduler will
  16596. prefer to schedule pods to nodes
  16597. that satisfy the affinity expressions
  16598. specified by this field, but it
  16599. may choose a node that violates
  16600. one or more of the expressions.
  16601. The node that is most preferred
  16602. is the one with the greatest sum
  16603. of weights, i.e. for each node
  16604. that meets all of the scheduling
  16605. requirements (resource request,
  16606. requiredDuringScheduling affinity
  16607. expressions, etc.), compute a
  16608. sum by iterating through the elements
  16609. of this field and adding "weight"
  16610. to the sum if the node matches
  16611. the corresponding matchExpressions;
  16612. the node(s) with the highest sum
  16613. are the most preferred.
  16614. type: array
  16615. items:
  16616. description: An empty preferred
  16617. scheduling term matches all
  16618. objects with implicit weight
  16619. 0 (i.e. it's a no-op). A null
  16620. preferred scheduling term matches
  16621. no objects (i.e. is also a no-op).
  16622. type: object
  16623. required:
  16624. - preference
  16625. - weight
  16626. properties:
  16627. preference:
  16628. description: A node selector
  16629. term, associated with the
  16630. corresponding weight.
  16631. type: object
  16632. properties:
  16633. matchExpressions:
  16634. description: A list of
  16635. node selector requirements
  16636. by node's labels.
  16637. type: array
  16638. items:
  16639. description: A node
  16640. selector requirement
  16641. is a selector that
  16642. contains values, a
  16643. key, and an operator
  16644. that relates the key
  16645. and values.
  16646. type: object
  16647. required:
  16648. - key
  16649. - operator
  16650. properties:
  16651. key:
  16652. description: The
  16653. label key that
  16654. the selector applies
  16655. to.
  16656. type: string
  16657. operator:
  16658. description: Represents
  16659. a key's relationship
  16660. to a set of values.
  16661. Valid operators
  16662. are In, NotIn,
  16663. Exists, DoesNotExist.
  16664. Gt, and Lt.
  16665. type: string
  16666. values:
  16667. description: An
  16668. array of string
  16669. values. If the
  16670. operator is In
  16671. or NotIn, the
  16672. values array must
  16673. be non-empty.
  16674. If the operator
  16675. is Exists or DoesNotExist,
  16676. the values array
  16677. must be empty.
  16678. If the operator
  16679. is Gt or Lt, the
  16680. values array must
  16681. have a single
  16682. element, which
  16683. will be interpreted
  16684. as an integer.
  16685. This array is
  16686. replaced during
  16687. a strategic merge
  16688. patch.
  16689. type: array
  16690. items:
  16691. type: string
  16692. matchFields:
  16693. description: A list of
  16694. node selector requirements
  16695. by node's fields.
  16696. type: array
  16697. items:
  16698. description: A node
  16699. selector requirement
  16700. is a selector that
  16701. contains values, a
  16702. key, and an operator
  16703. that relates the key
  16704. and values.
  16705. type: object
  16706. required:
  16707. - key
  16708. - operator
  16709. properties:
  16710. key:
  16711. description: The
  16712. label key that
  16713. the selector applies
  16714. to.
  16715. type: string
  16716. operator:
  16717. description: Represents
  16718. a key's relationship
  16719. to a set of values.
  16720. Valid operators
  16721. are In, NotIn,
  16722. Exists, DoesNotExist.
  16723. Gt, and Lt.
  16724. type: string
  16725. values:
  16726. description: An
  16727. array of string
  16728. values. If the
  16729. operator is In
  16730. or NotIn, the
  16731. values array must
  16732. be non-empty.
  16733. If the operator
  16734. is Exists or DoesNotExist,
  16735. the values array
  16736. must be empty.
  16737. If the operator
  16738. is Gt or Lt, the
  16739. values array must
  16740. have a single
  16741. element, which
  16742. will be interpreted
  16743. as an integer.
  16744. This array is
  16745. replaced during
  16746. a strategic merge
  16747. patch.
  16748. type: array
  16749. items:
  16750. type: string
  16751. weight:
  16752. description: Weight associated
  16753. with matching the corresponding
  16754. nodeSelectorTerm, in the
  16755. range 1-100.
  16756. type: integer
  16757. format: int32
  16758. requiredDuringSchedulingIgnoredDuringExecution:
  16759. description: If the affinity requirements
  16760. specified by this field are not
  16761. met at scheduling time, the pod
  16762. will not be scheduled onto the
  16763. node. If the affinity requirements
  16764. specified by this field cease
  16765. to be met at some point during
  16766. pod execution (e.g. due to an
  16767. update), the system may or may
  16768. not try to eventually evict the
  16769. pod from its node.
  16770. type: object
  16771. required:
  16772. - nodeSelectorTerms
  16773. properties:
  16774. nodeSelectorTerms:
  16775. description: Required. A list
  16776. of node selector terms. The
  16777. terms are ORed.
  16778. type: array
  16779. items:
  16780. description: A null or empty
  16781. node selector term matches
  16782. no objects. The requirements
  16783. of them are ANDed. The TopologySelectorTerm
  16784. type implements a subset
  16785. of the NodeSelectorTerm.
  16786. type: object
  16787. properties:
  16788. matchExpressions:
  16789. description: A list of
  16790. node selector requirements
  16791. by node's labels.
  16792. type: array
  16793. items:
  16794. description: A node
  16795. selector requirement
  16796. is a selector that
  16797. contains values, a
  16798. key, and an operator
  16799. that relates the key
  16800. and values.
  16801. type: object
  16802. required:
  16803. - key
  16804. - operator
  16805. properties:
  16806. key:
  16807. description: The
  16808. label key that
  16809. the selector applies
  16810. to.
  16811. type: string
  16812. operator:
  16813. description: Represents
  16814. a key's relationship
  16815. to a set of values.
  16816. Valid operators
  16817. are In, NotIn,
  16818. Exists, DoesNotExist.
  16819. Gt, and Lt.
  16820. type: string
  16821. values:
  16822. description: An
  16823. array of string
  16824. values. If the
  16825. operator is In
  16826. or NotIn, the
  16827. values array must
  16828. be non-empty.
  16829. If the operator
  16830. is Exists or DoesNotExist,
  16831. the values array
  16832. must be empty.
  16833. If the operator
  16834. is Gt or Lt, the
  16835. values array must
  16836. have a single
  16837. element, which
  16838. will be interpreted
  16839. as an integer.
  16840. This array is
  16841. replaced during
  16842. a strategic merge
  16843. patch.
  16844. type: array
  16845. items:
  16846. type: string
  16847. matchFields:
  16848. description: A list of
  16849. node selector requirements
  16850. by node's fields.
  16851. type: array
  16852. items:
  16853. description: A node
  16854. selector requirement
  16855. is a selector that
  16856. contains values, a
  16857. key, and an operator
  16858. that relates the key
  16859. and values.
  16860. type: object
  16861. required:
  16862. - key
  16863. - operator
  16864. properties:
  16865. key:
  16866. description: The
  16867. label key that
  16868. the selector applies
  16869. to.
  16870. type: string
  16871. operator:
  16872. description: Represents
  16873. a key's relationship
  16874. to a set of values.
  16875. Valid operators
  16876. are In, NotIn,
  16877. Exists, DoesNotExist.
  16878. Gt, and Lt.
  16879. type: string
  16880. values:
  16881. description: An
  16882. array of string
  16883. values. If the
  16884. operator is In
  16885. or NotIn, the
  16886. values array must
  16887. be non-empty.
  16888. If the operator
  16889. is Exists or DoesNotExist,
  16890. the values array
  16891. must be empty.
  16892. If the operator
  16893. is Gt or Lt, the
  16894. values array must
  16895. have a single
  16896. element, which
  16897. will be interpreted
  16898. as an integer.
  16899. This array is
  16900. replaced during
  16901. a strategic merge
  16902. patch.
  16903. type: array
  16904. items:
  16905. type: string
  16906. podAffinity:
  16907. description: Describes pod affinity
  16908. scheduling rules (e.g. co-locate this
  16909. pod in the same node, zone, etc. as
  16910. some other pod(s)).
  16911. type: object
  16912. properties:
  16913. preferredDuringSchedulingIgnoredDuringExecution:
  16914. description: The scheduler will
  16915. prefer to schedule pods to nodes
  16916. that satisfy the affinity expressions
  16917. specified by this field, but it
  16918. may choose a node that violates
  16919. one or more of the expressions.
  16920. The node that is most preferred
  16921. is the one with the greatest sum
  16922. of weights, i.e. for each node
  16923. that meets all of the scheduling
  16924. requirements (resource request,
  16925. requiredDuringScheduling affinity
  16926. expressions, etc.), compute a
  16927. sum by iterating through the elements
  16928. of this field and adding "weight"
  16929. to the sum if the node has pods
  16930. which matches the corresponding
  16931. podAffinityTerm; the node(s) with
  16932. the highest sum are the most preferred.
  16933. type: array
  16934. items:
  16935. description: The weights of all
  16936. of the matched WeightedPodAffinityTerm
  16937. fields are added per-node to
  16938. find the most preferred node(s)
  16939. type: object
  16940. required:
  16941. - podAffinityTerm
  16942. - weight
  16943. properties:
  16944. podAffinityTerm:
  16945. description: Required. A pod
  16946. affinity term, associated
  16947. with the corresponding weight.
  16948. type: object
  16949. required:
  16950. - topologyKey
  16951. properties:
  16952. labelSelector:
  16953. description: A label query
  16954. over a set of resources,
  16955. in this case pods.
  16956. type: object
  16957. properties:
  16958. matchExpressions:
  16959. description: matchExpressions
  16960. is a list of label
  16961. selector requirements.
  16962. The requirements
  16963. are ANDed.
  16964. type: array
  16965. items:
  16966. description: A label
  16967. selector requirement
  16968. is a selector
  16969. that contains
  16970. values, a key,
  16971. and an operator
  16972. that relates the
  16973. key and values.
  16974. type: object
  16975. required:
  16976. - key
  16977. - operator
  16978. properties:
  16979. key:
  16980. description: key
  16981. is the label
  16982. key that the
  16983. selector applies
  16984. to.
  16985. type: string
  16986. operator:
  16987. description: operator
  16988. represents
  16989. a key's relationship
  16990. to a set of
  16991. values. Valid
  16992. operators
  16993. are In, NotIn,
  16994. Exists and
  16995. DoesNotExist.
  16996. type: string
  16997. values:
  16998. description: values
  16999. is an array
  17000. of string
  17001. values. If
  17002. the operator
  17003. is In or NotIn,
  17004. the values
  17005. array must
  17006. be non-empty.
  17007. If the operator
  17008. is Exists
  17009. or DoesNotExist,
  17010. the values
  17011. array must
  17012. be empty.
  17013. This array
  17014. is replaced
  17015. during a strategic
  17016. merge patch.
  17017. type: array
  17018. items:
  17019. type: string
  17020. matchLabels:
  17021. description: matchLabels
  17022. is a map of {key,value}
  17023. pairs. A single
  17024. {key,value} in the
  17025. matchLabels map
  17026. is equivalent to
  17027. an element of matchExpressions,
  17028. whose key field
  17029. is "key", the operator
  17030. is "In", and the
  17031. values array contains
  17032. only "value". The
  17033. requirements are
  17034. ANDed.
  17035. type: object
  17036. additionalProperties:
  17037. type: string
  17038. namespaces:
  17039. description: namespaces
  17040. specifies which namespaces
  17041. the labelSelector applies
  17042. to (matches against);
  17043. null or empty list means
  17044. "this pod's namespace"
  17045. type: array
  17046. items:
  17047. type: string
  17048. topologyKey:
  17049. description: This pod
  17050. should be co-located
  17051. (affinity) or not co-located
  17052. (anti-affinity) with
  17053. the pods matching the
  17054. labelSelector in the
  17055. specified namespaces,
  17056. where co-located is
  17057. defined as running on
  17058. a node whose value of
  17059. the label with key topologyKey
  17060. matches that of any
  17061. node on which any of
  17062. the selected pods is
  17063. running. Empty topologyKey
  17064. is not allowed.
  17065. type: string
  17066. weight:
  17067. description: weight associated
  17068. with matching the corresponding
  17069. podAffinityTerm, in the
  17070. range 1-100.
  17071. type: integer
  17072. format: int32
  17073. requiredDuringSchedulingIgnoredDuringExecution:
  17074. description: If the affinity requirements
  17075. specified by this field are not
  17076. met at scheduling time, the pod
  17077. will not be scheduled onto the
  17078. node. If the affinity requirements
  17079. specified by this field cease
  17080. to be met at some point during
  17081. pod execution (e.g. due to a pod
  17082. label update), the system may
  17083. or may not try to eventually evict
  17084. the pod from its node. When there
  17085. are multiple elements, the lists
  17086. of nodes corresponding to each
  17087. podAffinityTerm are intersected,
  17088. i.e. all terms must be satisfied.
  17089. type: array
  17090. items:
  17091. description: Defines a set of
  17092. pods (namely those matching
  17093. the labelSelector relative to
  17094. the given namespace(s)) that
  17095. this pod should be co-located
  17096. (affinity) or not co-located
  17097. (anti-affinity) with, where
  17098. co-located is defined as running
  17099. on a node whose value of the
  17100. label with key <topologyKey>
  17101. matches that of any node on
  17102. which a pod of the set of pods
  17103. is running
  17104. type: object
  17105. required:
  17106. - topologyKey
  17107. properties:
  17108. labelSelector:
  17109. description: A label query
  17110. over a set of resources,
  17111. in this case pods.
  17112. type: object
  17113. properties:
  17114. matchExpressions:
  17115. description: matchExpressions
  17116. is a list of label selector
  17117. requirements. The requirements
  17118. are ANDed.
  17119. type: array
  17120. items:
  17121. description: A label
  17122. selector requirement
  17123. is a selector that
  17124. contains values, a
  17125. key, and an operator
  17126. that relates the key
  17127. and values.
  17128. type: object
  17129. required:
  17130. - key
  17131. - operator
  17132. properties:
  17133. key:
  17134. description: key
  17135. is the label key
  17136. that the selector
  17137. applies to.
  17138. type: string
  17139. operator:
  17140. description: operator
  17141. represents a key's
  17142. relationship to
  17143. a set of values.
  17144. Valid operators
  17145. are In, NotIn,
  17146. Exists and DoesNotExist.
  17147. type: string
  17148. values:
  17149. description: values
  17150. is an array of
  17151. string values.
  17152. If the operator
  17153. is In or NotIn,
  17154. the values array
  17155. must be non-empty.
  17156. If the operator
  17157. is Exists or DoesNotExist,
  17158. the values array
  17159. must be empty.
  17160. This array is
  17161. replaced during
  17162. a strategic merge
  17163. patch.
  17164. type: array
  17165. items:
  17166. type: string
  17167. matchLabels:
  17168. description: matchLabels
  17169. is a map of {key,value}
  17170. pairs. A single {key,value}
  17171. in the matchLabels map
  17172. is equivalent to an
  17173. element of matchExpressions,
  17174. whose key field is "key",
  17175. the operator is "In",
  17176. and the values array
  17177. contains only "value".
  17178. The requirements are
  17179. ANDed.
  17180. type: object
  17181. additionalProperties:
  17182. type: string
  17183. namespaces:
  17184. description: namespaces specifies
  17185. which namespaces the labelSelector
  17186. applies to (matches against);
  17187. null or empty list means
  17188. "this pod's namespace"
  17189. type: array
  17190. items:
  17191. type: string
  17192. topologyKey:
  17193. description: This pod should
  17194. be co-located (affinity)
  17195. or not co-located (anti-affinity)
  17196. with the pods matching the
  17197. labelSelector in the specified
  17198. namespaces, where co-located
  17199. is defined as running on
  17200. a node whose value of the
  17201. label with key topologyKey
  17202. matches that of any node
  17203. on which any of the selected
  17204. pods is running. Empty topologyKey
  17205. is not allowed.
  17206. type: string
  17207. podAntiAffinity:
  17208. description: Describes pod anti-affinity
  17209. scheduling rules (e.g. avoid putting
  17210. this pod in the same node, zone, etc.
  17211. as some other pod(s)).
  17212. type: object
  17213. properties:
  17214. preferredDuringSchedulingIgnoredDuringExecution:
  17215. description: The scheduler will
  17216. prefer to schedule pods to nodes
  17217. that satisfy the anti-affinity
  17218. expressions specified by this
  17219. field, but it may choose a node
  17220. that violates one or more of the
  17221. expressions. The node that is
  17222. most preferred is the one with
  17223. the greatest sum of weights, i.e.
  17224. for each node that meets all of
  17225. the scheduling requirements (resource
  17226. request, requiredDuringScheduling
  17227. anti-affinity expressions, etc.),
  17228. compute a sum by iterating through
  17229. the elements of this field and
  17230. adding "weight" to the sum if
  17231. the node has pods which matches
  17232. the corresponding podAffinityTerm;
  17233. the node(s) with the highest sum
  17234. are the most preferred.
  17235. type: array
  17236. items:
  17237. description: The weights of all
  17238. of the matched WeightedPodAffinityTerm
  17239. fields are added per-node to
  17240. find the most preferred node(s)
  17241. type: object
  17242. required:
  17243. - podAffinityTerm
  17244. - weight
  17245. properties:
  17246. podAffinityTerm:
  17247. description: Required. A pod
  17248. affinity term, associated
  17249. with the corresponding weight.
  17250. type: object
  17251. required:
  17252. - topologyKey
  17253. properties:
  17254. labelSelector:
  17255. description: A label query
  17256. over a set of resources,
  17257. in this case pods.
  17258. type: object
  17259. properties:
  17260. matchExpressions:
  17261. description: matchExpressions
  17262. is a list of label
  17263. selector requirements.
  17264. The requirements
  17265. are ANDed.
  17266. type: array
  17267. items:
  17268. description: A label
  17269. selector requirement
  17270. is a selector
  17271. that contains
  17272. values, a key,
  17273. and an operator
  17274. that relates the
  17275. key and values.
  17276. type: object
  17277. required:
  17278. - key
  17279. - operator
  17280. properties:
  17281. key:
  17282. description: key
  17283. is the label
  17284. key that the
  17285. selector applies
  17286. to.
  17287. type: string
  17288. operator:
  17289. description: operator
  17290. represents
  17291. a key's relationship
  17292. to a set of
  17293. values. Valid
  17294. operators
  17295. are In, NotIn,
  17296. Exists and
  17297. DoesNotExist.
  17298. type: string
  17299. values:
  17300. description: values
  17301. is an array
  17302. of string
  17303. values. If
  17304. the operator
  17305. is In or NotIn,
  17306. the values
  17307. array must
  17308. be non-empty.
  17309. If the operator
  17310. is Exists
  17311. or DoesNotExist,
  17312. the values
  17313. array must
  17314. be empty.
  17315. This array
  17316. is replaced
  17317. during a strategic
  17318. merge patch.
  17319. type: array
  17320. items:
  17321. type: string
  17322. matchLabels:
  17323. description: matchLabels
  17324. is a map of {key,value}
  17325. pairs. A single
  17326. {key,value} in the
  17327. matchLabels map
  17328. is equivalent to
  17329. an element of matchExpressions,
  17330. whose key field
  17331. is "key", the operator
  17332. is "In", and the
  17333. values array contains
  17334. only "value". The
  17335. requirements are
  17336. ANDed.
  17337. type: object
  17338. additionalProperties:
  17339. type: string
  17340. namespaces:
  17341. description: namespaces
  17342. specifies which namespaces
  17343. the labelSelector applies
  17344. to (matches against);
  17345. null or empty list means
  17346. "this pod's namespace"
  17347. type: array
  17348. items:
  17349. type: string
  17350. topologyKey:
  17351. description: This pod
  17352. should be co-located
  17353. (affinity) or not co-located
  17354. (anti-affinity) with
  17355. the pods matching the
  17356. labelSelector in the
  17357. specified namespaces,
  17358. where co-located is
  17359. defined as running on
  17360. a node whose value of
  17361. the label with key topologyKey
  17362. matches that of any
  17363. node on which any of
  17364. the selected pods is
  17365. running. Empty topologyKey
  17366. is not allowed.
  17367. type: string
  17368. weight:
  17369. description: weight associated
  17370. with matching the corresponding
  17371. podAffinityTerm, in the
  17372. range 1-100.
  17373. type: integer
  17374. format: int32
  17375. requiredDuringSchedulingIgnoredDuringExecution:
  17376. description: If the anti-affinity
  17377. requirements specified by this
  17378. field are not met at scheduling
  17379. time, the pod will not be scheduled
  17380. onto the node. If the anti-affinity
  17381. requirements specified by this
  17382. field cease to be met at some
  17383. point during pod execution (e.g.
  17384. due to a pod label update), the
  17385. system may or may not try to eventually
  17386. evict the pod from its node. When
  17387. there are multiple elements, the
  17388. lists of nodes corresponding to
  17389. each podAffinityTerm are intersected,
  17390. i.e. all terms must be satisfied.
  17391. type: array
  17392. items:
  17393. description: Defines a set of
  17394. pods (namely those matching
  17395. the labelSelector relative to
  17396. the given namespace(s)) that
  17397. this pod should be co-located
  17398. (affinity) or not co-located
  17399. (anti-affinity) with, where
  17400. co-located is defined as running
  17401. on a node whose value of the
  17402. label with key <topologyKey>
  17403. matches that of any node on
  17404. which a pod of the set of pods
  17405. is running
  17406. type: object
  17407. required:
  17408. - topologyKey
  17409. properties:
  17410. labelSelector:
  17411. description: A label query
  17412. over a set of resources,
  17413. in this case pods.
  17414. type: object
  17415. properties:
  17416. matchExpressions:
  17417. description: matchExpressions
  17418. is a list of label selector
  17419. requirements. The requirements
  17420. are ANDed.
  17421. type: array
  17422. items:
  17423. description: A label
  17424. selector requirement
  17425. is a selector that
  17426. contains values, a
  17427. key, and an operator
  17428. that relates the key
  17429. and values.
  17430. type: object
  17431. required:
  17432. - key
  17433. - operator
  17434. properties:
  17435. key:
  17436. description: key
  17437. is the label key
  17438. that the selector
  17439. applies to.
  17440. type: string
  17441. operator:
  17442. description: operator
  17443. represents a key's
  17444. relationship to
  17445. a set of values.
  17446. Valid operators
  17447. are In, NotIn,
  17448. Exists and DoesNotExist.
  17449. type: string
  17450. values:
  17451. description: values
  17452. is an array of
  17453. string values.
  17454. If the operator
  17455. is In or NotIn,
  17456. the values array
  17457. must be non-empty.
  17458. If the operator
  17459. is Exists or DoesNotExist,
  17460. the values array
  17461. must be empty.
  17462. This array is
  17463. replaced during
  17464. a strategic merge
  17465. patch.
  17466. type: array
  17467. items:
  17468. type: string
  17469. matchLabels:
  17470. description: matchLabels
  17471. is a map of {key,value}
  17472. pairs. A single {key,value}
  17473. in the matchLabels map
  17474. is equivalent to an
  17475. element of matchExpressions,
  17476. whose key field is "key",
  17477. the operator is "In",
  17478. and the values array
  17479. contains only "value".
  17480. The requirements are
  17481. ANDed.
  17482. type: object
  17483. additionalProperties:
  17484. type: string
  17485. namespaces:
  17486. description: namespaces specifies
  17487. which namespaces the labelSelector
  17488. applies to (matches against);
  17489. null or empty list means
  17490. "this pod's namespace"
  17491. type: array
  17492. items:
  17493. type: string
  17494. topologyKey:
  17495. description: This pod should
  17496. be co-located (affinity)
  17497. or not co-located (anti-affinity)
  17498. with the pods matching the
  17499. labelSelector in the specified
  17500. namespaces, where co-located
  17501. is defined as running on
  17502. a node whose value of the
  17503. label with key topologyKey
  17504. matches that of any node
  17505. on which any of the selected
  17506. pods is running. Empty topologyKey
  17507. is not allowed.
  17508. type: string
  17509. nodeSelector:
  17510. description: 'NodeSelector is a selector
  17511. which must be true for the pod to fit
  17512. on a node. Selector which must match a
  17513. node''s labels for the pod to be scheduled
  17514. on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  17515. type: object
  17516. additionalProperties:
  17517. type: string
  17518. tolerations:
  17519. description: If specified, the pod's tolerations.
  17520. type: array
  17521. items:
  17522. description: The pod this Toleration is
  17523. attached to tolerates any taint that
  17524. matches the triple <key,value,effect>
  17525. using the matching operator <operator>.
  17526. type: object
  17527. properties:
  17528. effect:
  17529. description: Effect indicates the
  17530. taint effect to match. Empty means
  17531. match all taint effects. When specified,
  17532. allowed values are NoSchedule, PreferNoSchedule
  17533. and NoExecute.
  17534. type: string
  17535. key:
  17536. description: Key is the taint key
  17537. that the toleration applies to.
  17538. Empty means match all taint keys.
  17539. If the key is empty, operator must
  17540. be Exists; this combination means
  17541. to match all values and all keys.
  17542. type: string
  17543. operator:
  17544. description: Operator represents a
  17545. key's relationship to the value.
  17546. Valid operators are Exists and Equal.
  17547. Defaults to Equal. Exists is equivalent
  17548. to wildcard for value, so that a
  17549. pod can tolerate all taints of a
  17550. particular category.
  17551. type: string
  17552. tolerationSeconds:
  17553. description: TolerationSeconds represents
  17554. the period of time the toleration
  17555. (which must be of effect NoExecute,
  17556. otherwise this field is ignored)
  17557. tolerates the taint. By default,
  17558. it is not set, which means tolerate
  17559. the taint forever (do not evict).
  17560. Zero and negative values will be
  17561. treated as 0 (evict immediately)
  17562. by the system.
  17563. type: integer
  17564. format: int64
  17565. value:
  17566. description: Value is the taint value
  17567. the toleration matches to. If the
  17568. operator is Exists, the value should
  17569. be empty, otherwise just a regular
  17570. string.
  17571. type: string
  17572. serviceType:
  17573. description: Optional service type for Kubernetes
  17574. solver service
  17575. type: string
  17576. selector:
  17577. description: Selector selects a set of DNSNames on the Certificate
  17578. resource that should be solved using this challenge solver.
  17579. If not specified, the solver will be treated as the 'default'
  17580. solver with the lowest priority, i.e. if any other solver
  17581. has a more specific match, it will be used instead.
  17582. type: object
  17583. properties:
  17584. dnsNames:
  17585. description: List of DNSNames that this solver will
  17586. be used to solve. If specified and a match is found,
  17587. a dnsNames selector will take precedence over a dnsZones
  17588. selector. If multiple solvers match with the same
  17589. dnsNames value, the solver with the most matching
  17590. labels in matchLabels will be selected. If neither
  17591. has more matches, the solver defined earlier in the
  17592. list will be selected.
  17593. type: array
  17594. items:
  17595. type: string
  17596. dnsZones:
  17597. description: List of DNSZones that this solver will
  17598. be used to solve. The most specific DNS zone match
  17599. specified here will take precedence over other DNS
  17600. zone matches, so a solver specifying sys.example.com
  17601. will be selected over one specifying example.com for
  17602. the domain www.sys.example.com. If multiple solvers
  17603. match with the same dnsZones value, the solver with
  17604. the most matching labels in matchLabels will be selected.
  17605. If neither has more matches, the solver defined earlier
  17606. in the list will be selected.
  17607. type: array
  17608. items:
  17609. type: string
  17610. matchLabels:
  17611. description: A label selector that is used to refine
  17612. the set of certificate's that this challenge solver
  17613. will apply to.
  17614. type: object
  17615. additionalProperties:
  17616. type: string
  17617. ca:
  17618. description: CA configures this issuer to sign certificates using
  17619. a signing CA keypair stored in a Secret resource. This is used to
  17620. build internal PKIs that are managed by cert-manager.
  17621. type: object
  17622. required:
  17623. - secretName
  17624. properties:
  17625. crlDistributionPoints:
  17626. description: The CRL distribution points is an X.509 v3 certificate
  17627. extension which identifies the location of the CRL from which
  17628. the revocation of this certificate can be checked. If not set,
  17629. certificates will be issued without distribution points set.
  17630. type: array
  17631. items:
  17632. type: string
  17633. secretName:
  17634. description: SecretName is the name of the secret used to sign
  17635. Certificates issued by this Issuer.
  17636. type: string
  17637. selfSigned:
  17638. description: SelfSigned configures this issuer to 'self sign' certificates
  17639. using the private key used to create the CertificateRequest object.
  17640. type: object
  17641. properties:
  17642. crlDistributionPoints:
  17643. description: The CRL distribution points is an X.509 v3 certificate
  17644. extension which identifies the location of the CRL from which
  17645. the revocation of this certificate can be checked. If not set
  17646. certificate will be issued without CDP. Values are strings.
  17647. type: array
  17648. items:
  17649. type: string
  17650. vault:
  17651. description: Vault configures this issuer to sign certificates using
  17652. a HashiCorp Vault PKI backend.
  17653. type: object
  17654. required:
  17655. - auth
  17656. - path
  17657. - server
  17658. properties:
  17659. auth:
  17660. description: Auth configures how cert-manager authenticates with
  17661. the Vault server.
  17662. type: object
  17663. properties:
  17664. appRole:
  17665. description: AppRole authenticates with Vault using the App
  17666. Role auth mechanism, with the role and secret stored in
  17667. a Kubernetes Secret resource.
  17668. type: object
  17669. required:
  17670. - path
  17671. - roleId
  17672. - secretRef
  17673. properties:
  17674. path:
  17675. description: 'Path where the App Role authentication backend
  17676. is mounted in Vault, e.g: "approle"'
  17677. type: string
  17678. roleId:
  17679. description: RoleID configured in the App Role authentication
  17680. backend when setting up the authentication backend in
  17681. Vault.
  17682. type: string
  17683. secretRef:
  17684. description: Reference to a key in a Secret that contains
  17685. the App Role secret used to authenticate with Vault.
  17686. The `key` field must be specified and denotes which
  17687. entry within the Secret resource is used as the app
  17688. role secret.
  17689. type: object
  17690. required:
  17691. - name
  17692. properties:
  17693. key:
  17694. description: The key of the entry in the Secret resource's
  17695. `data` field to be used. Some instances of this
  17696. field may be defaulted, in others it may be required.
  17697. type: string
  17698. name:
  17699. description: 'Name of the resource being referred
  17700. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  17701. type: string
  17702. kubernetes:
  17703. description: Kubernetes authenticates with Vault by passing
  17704. the ServiceAccount token stored in the named Secret resource
  17705. to the Vault server.
  17706. type: object
  17707. required:
  17708. - role
  17709. - secretRef
  17710. properties:
  17711. mountPath:
  17712. description: The Vault mountPath here is the mount path
  17713. to use when authenticating with Vault. For example,
  17714. setting a value to `/v1/auth/foo`, will use the path
  17715. `/v1/auth/foo/login` to authenticate with Vault. If
  17716. unspecified, the default value "/v1/auth/kubernetes"
  17717. will be used.
  17718. type: string
  17719. role:
  17720. description: A required field containing the Vault Role
  17721. to assume. A Role binds a Kubernetes ServiceAccount
  17722. with a set of Vault policies.
  17723. type: string
  17724. secretRef:
  17725. description: The required Secret field containing a Kubernetes
  17726. ServiceAccount JWT used for authenticating with Vault.
  17727. Use of 'ambient credentials' is not supported.
  17728. type: object
  17729. required:
  17730. - name
  17731. properties:
  17732. key:
  17733. description: The key of the entry in the Secret resource's
  17734. `data` field to be used. Some instances of this
  17735. field may be defaulted, in others it may be required.
  17736. type: string
  17737. name:
  17738. description: 'Name of the resource being referred
  17739. to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  17740. type: string
  17741. tokenSecretRef:
  17742. description: TokenSecretRef authenticates with Vault by presenting
  17743. a token.
  17744. type: object
  17745. required:
  17746. - name
  17747. properties:
  17748. key:
  17749. description: The key of the entry in the Secret resource's
  17750. `data` field to be used. Some instances of this field
  17751. may be defaulted, in others it may be required.
  17752. type: string
  17753. name:
  17754. description: 'Name of the resource being referred to.
  17755. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  17756. type: string
  17757. caBundle:
  17758. description: PEM encoded CA bundle used to validate Vault server
  17759. certificate. Only used if the Server URL is using HTTPS protocol.
  17760. This parameter is ignored for plain HTTP protocol connection.
  17761. If not set the system root certificates are used to validate
  17762. the TLS connection.
  17763. type: string
  17764. format: byte
  17765. path:
  17766. description: 'Path is the mount path of the Vault PKI backend''s
  17767. `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  17768. type: string
  17769. server:
  17770. description: 'Server is the connection address for the Vault server,
  17771. e.g: "https://vault.example.com:8200".'
  17772. type: string
  17773. venafi:
  17774. description: Venafi configures this issuer to sign certificates using
  17775. a Venafi TPP or Venafi Cloud policy zone.
  17776. type: object
  17777. required:
  17778. - zone
  17779. properties:
  17780. cloud:
  17781. description: Cloud specifies the Venafi cloud configuration settings.
  17782. Only one of TPP or Cloud may be specified.
  17783. type: object
  17784. required:
  17785. - apiTokenSecretRef
  17786. properties:
  17787. apiTokenSecretRef:
  17788. description: APITokenSecretRef is a secret key selector for
  17789. the Venafi Cloud API token.
  17790. type: object
  17791. required:
  17792. - name
  17793. properties:
  17794. key:
  17795. description: The key of the entry in the Secret resource's
  17796. `data` field to be used. Some instances of this field
  17797. may be defaulted, in others it may be required.
  17798. type: string
  17799. name:
  17800. description: 'Name of the resource being referred to.
  17801. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  17802. type: string
  17803. url:
  17804. description: URL is the base URL for Venafi Cloud. Defaults
  17805. to "https://api.venafi.cloud/v1".
  17806. type: string
  17807. tpp:
  17808. description: TPP specifies Trust Protection Platform configuration
  17809. settings. Only one of TPP or Cloud may be specified.
  17810. type: object
  17811. required:
  17812. - credentialsRef
  17813. - url
  17814. properties:
  17815. caBundle:
  17816. description: CABundle is a PEM encoded TLS certificate to
  17817. use to verify connections to the TPP instance. If specified,
  17818. system roots will not be used and the issuing CA for the
  17819. TPP instance must be verifiable using the provided root.
  17820. If not specified, the connection will be verified using
  17821. the cert-manager system root certificates.
  17822. type: string
  17823. format: byte
  17824. credentialsRef:
  17825. description: CredentialsRef is a reference to a Secret containing
  17826. the username and password for the TPP server. The secret
  17827. must contain two keys, 'username' and 'password'.
  17828. type: object
  17829. required:
  17830. - name
  17831. properties:
  17832. name:
  17833. description: 'Name of the resource being referred to.
  17834. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  17835. type: string
  17836. url:
  17837. description: 'URL is the base URL for the vedsdk endpoint
  17838. of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  17839. type: string
  17840. zone:
  17841. description: Zone is the Venafi Policy Zone to use for this issuer.
  17842. All requests made to the Venafi platform will be restricted
  17843. by the named zone policy. This field is required.
  17844. type: string
  17845. status:
  17846. description: Status of the Issuer. This is set and managed automatically.
  17847. type: object
  17848. properties:
  17849. acme:
  17850. description: ACME specific status options. This field should only
  17851. be set if the Issuer is configured to use an ACME server to issue
  17852. certificates.
  17853. type: object
  17854. properties:
  17855. lastRegisteredEmail:
  17856. description: LastRegisteredEmail is the email associated with
  17857. the latest registered ACME account, in order to track changes
  17858. made to registered account associated with the Issuer
  17859. type: string
  17860. uri:
  17861. description: URI is the unique account identifier, which can also
  17862. be used to retrieve account details from the CA
  17863. type: string
  17864. conditions:
  17865. description: List of status conditions to indicate the status of a
  17866. CertificateRequest. Known condition types are `Ready`.
  17867. type: array
  17868. items:
  17869. description: IssuerCondition contains condition information for
  17870. an Issuer.
  17871. type: object
  17872. required:
  17873. - status
  17874. - type
  17875. properties:
  17876. lastTransitionTime:
  17877. description: LastTransitionTime is the timestamp corresponding
  17878. to the last status change of this condition.
  17879. type: string
  17880. format: date-time
  17881. message:
  17882. description: Message is a human readable description of the
  17883. details of the last transition, complementing reason.
  17884. type: string
  17885. reason:
  17886. description: Reason is a brief machine readable explanation
  17887. for the condition's last transition.
  17888. type: string
  17889. status:
  17890. description: Status of the condition, one of ('True', 'False',
  17891. 'Unknown').
  17892. type: string
  17893. enum:
  17894. - "True"
  17895. - "False"
  17896. - Unknown
  17897. type:
  17898. description: Type of the condition, known values are ('Ready').
  17899. type: string
  17900. ---
  17901. # Source: cert-manager/templates/templates.regular.out
  17902. apiVersion: apiextensions.k8s.io/v1
  17903. kind: CustomResourceDefinition
  17904. metadata:
  17905. name: orders.acme.cert-manager.io
  17906. annotations:
  17907. cert-manager.io/inject-ca-from-secret: 'cert-manager/cert-manager-webhook-ca'
  17908. labels:
  17909. app: 'cert-manager'
  17910. app.kubernetes.io/name: 'cert-manager'
  17911. app.kubernetes.io/instance: 'cert-manager'
  17912. app.kubernetes.io/managed-by: 'Helm'
  17913. helm.sh/chart: 'cert-manager-v0.16.1'
  17914. spec:
  17915. additionalPrinterColumns:
  17916. - JSONPath: .status.state
  17917. name: State
  17918. type: string
  17919. - JSONPath: .spec.issuerRef.name
  17920. name: Issuer
  17921. priority: 1
  17922. type: string
  17923. - JSONPath: .status.reason
  17924. name: Reason
  17925. priority: 1
  17926. type: string
  17927. - JSONPath: .metadata.creationTimestamp
  17928. description: CreationTimestamp is a timestamp representing the server time when
  17929. this object was created. It is not guaranteed to be set in happens-before order
  17930. across separate operations. Clients may not set this value. It is represented
  17931. in RFC3339 form and is in UTC.
  17932. name: Age
  17933. type: date
  17934. group: acme.cert-manager.io
  17935. preserveUnknownFields: false
  17936. conversion:
  17937. # a Webhook strategy instruct API server to call an external webhook for any conversion between custom resources.
  17938. strategy: Webhook
  17939. # webhookClientConfig is required when strategy is `Webhook` and it configures the webhook endpoint to be called by API server.
  17940. webhookClientConfig:
  17941. service:
  17942. namespace: 'cert-manager'
  17943. name: 'cert-manager-webhook'
  17944. path: /convert
  17945. names:
  17946. kind: Order
  17947. listKind: OrderList
  17948. plural: orders
  17949. singular: order
  17950. scope: Namespaced
  17951. subresources:
  17952. status: {}
  17953. versions:
  17954. - name: v1alpha2
  17955. served: true
  17956. storage: true
  17957. "schema":
  17958. "openAPIV3Schema":
  17959. description: Order is a type to represent an Order with an ACME server
  17960. type: object
  17961. required:
  17962. - metadata
  17963. properties:
  17964. apiVersion:
  17965. description: 'APIVersion defines the versioned schema of this representation
  17966. of an object. Servers should convert recognized schemas to the latest
  17967. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  17968. type: string
  17969. kind:
  17970. description: 'Kind is a string value representing the REST resource this
  17971. object represents. Servers may infer this from the endpoint the client
  17972. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  17973. type: string
  17974. metadata:
  17975. type: object
  17976. spec:
  17977. type: object
  17978. required:
  17979. - csr
  17980. - dnsNames
  17981. - issuerRef
  17982. properties:
  17983. commonName:
  17984. description: CommonName is the common name as specified on the DER
  17985. encoded CSR. If specified, this value must also be present in `dnsNames`.
  17986. This field must match the corresponding field on the DER encoded
  17987. CSR.
  17988. type: string
  17989. csr:
  17990. description: Certificate signing request bytes in DER encoding. This
  17991. will be used when finalizing the order. This field must be set on
  17992. the order.
  17993. type: string
  17994. format: byte
  17995. dnsNames:
  17996. description: DNSNames is a list of DNS names that should be included
  17997. as part of the Order validation process. This field must match the
  17998. corresponding field on the DER encoded CSR.
  17999. type: array
  18000. items:
  18001. type: string
  18002. issuerRef:
  18003. description: IssuerRef references a properly configured ACME-type
  18004. Issuer which should be used to create this Order. If the Issuer
  18005. does not exist, processing will be retried. If the Issuer is not
  18006. an 'ACME' Issuer, an error will be returned and the Order will be
  18007. marked as failed.
  18008. type: object
  18009. required:
  18010. - name
  18011. properties:
  18012. group:
  18013. description: Group of the resource being referred to.
  18014. type: string
  18015. kind:
  18016. description: Kind of the resource being referred to.
  18017. type: string
  18018. name:
  18019. description: Name of the resource being referred to.
  18020. type: string
  18021. status:
  18022. type: object
  18023. properties:
  18024. authorizations:
  18025. description: Authorizations contains data returned from the ACME server
  18026. on what authorizations must be completed in order to validate the
  18027. DNS names specified on the Order.
  18028. type: array
  18029. items:
  18030. description: ACMEAuthorization contains data returned from the ACME
  18031. server on an authorization that must be completed in order validate
  18032. a DNS name on an ACME Order resource.
  18033. type: object
  18034. required:
  18035. - url
  18036. properties:
  18037. challenges:
  18038. description: Challenges specifies the challenge types offered
  18039. by the ACME server. One of these challenge types will be selected
  18040. when validating the DNS name and an appropriate Challenge
  18041. resource will be created to perform the ACME challenge process.
  18042. type: array
  18043. items:
  18044. description: Challenge specifies a challenge offered by the
  18045. ACME server for an Order. An appropriate Challenge resource
  18046. can be created to perform the ACME challenge process.
  18047. type: object
  18048. required:
  18049. - token
  18050. - type
  18051. - url
  18052. properties:
  18053. token:
  18054. description: Token is the token that must be presented
  18055. for this challenge. This is used to compute the 'key'
  18056. that must also be presented.
  18057. type: string
  18058. type:
  18059. description: Type is the type of challenge being offered,
  18060. e.g. 'http-01', 'dns-01', 'tls-sni-01', etc. This is
  18061. the raw value retrieved from the ACME server. Only 'http-01'
  18062. and 'dns-01' are supported by cert-manager, other values
  18063. will be ignored.
  18064. type: string
  18065. url:
  18066. description: URL is the URL of this challenge. It can
  18067. be used to retrieve additional metadata about the Challenge
  18068. from the ACME server.
  18069. type: string
  18070. identifier:
  18071. description: Identifier is the DNS name to be validated as part
  18072. of this authorization
  18073. type: string
  18074. initialState:
  18075. description: InitialState is the initial state of the ACME authorization
  18076. when first fetched from the ACME server. If an Authorization
  18077. is already 'valid', the Order controller will not create a
  18078. Challenge resource for the authorization. This will occur
  18079. when working with an ACME server that enables 'authz reuse'
  18080. (such as Let's Encrypt's production endpoint). If not set
  18081. and 'identifier' is set, the state is assumed to be pending
  18082. and a Challenge will be created.
  18083. type: string
  18084. enum:
  18085. - valid
  18086. - ready
  18087. - pending
  18088. - processing
  18089. - invalid
  18090. - expired
  18091. - errored
  18092. url:
  18093. description: URL is the URL of the Authorization that must be
  18094. completed
  18095. type: string
  18096. wildcard:
  18097. description: Wildcard will be true if this authorization is
  18098. for a wildcard DNS name. If this is true, the identifier will
  18099. be the *non-wildcard* version of the DNS name. For example,
  18100. if '*.example.com' is the DNS name being validated, this field
  18101. will be 'true' and the 'identifier' field will be 'example.com'.
  18102. type: boolean
  18103. certificate:
  18104. description: Certificate is a copy of the PEM encoded certificate
  18105. for this Order. This field will be populated after the order has
  18106. been successfully finalized with the ACME server, and the order
  18107. has transitioned to the 'valid' state.
  18108. type: string
  18109. format: byte
  18110. failureTime:
  18111. description: FailureTime stores the time that this order failed. This
  18112. is used to influence garbage collection and back-off.
  18113. type: string
  18114. format: date-time
  18115. finalizeURL:
  18116. description: FinalizeURL of the Order. This is used to obtain certificates
  18117. for this order once it has been completed.
  18118. type: string
  18119. reason:
  18120. description: Reason optionally provides more information about a why
  18121. the order is in the current state.
  18122. type: string
  18123. state:
  18124. description: State contains the current state of this Order resource.
  18125. States 'success' and 'expired' are 'final'
  18126. type: string
  18127. enum:
  18128. - valid
  18129. - ready
  18130. - pending
  18131. - processing
  18132. - invalid
  18133. - expired
  18134. - errored
  18135. url:
  18136. description: URL of the Order. This will initially be empty when the
  18137. resource is first created. The Order controller will populate this
  18138. field when the Order is first processed. This field will be immutable
  18139. after it is initially set.
  18140. type: string
  18141. - name: v1alpha3
  18142. served: true
  18143. storage: false
  18144. "schema":
  18145. "openAPIV3Schema":
  18146. description: Order is a type to represent an Order with an ACME server
  18147. type: object
  18148. required:
  18149. - metadata
  18150. properties:
  18151. apiVersion:
  18152. description: 'APIVersion defines the versioned schema of this representation
  18153. of an object. Servers should convert recognized schemas to the latest
  18154. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  18155. type: string
  18156. kind:
  18157. description: 'Kind is a string value representing the REST resource this
  18158. object represents. Servers may infer this from the endpoint the client
  18159. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  18160. type: string
  18161. metadata:
  18162. type: object
  18163. spec:
  18164. type: object
  18165. required:
  18166. - csr
  18167. - dnsNames
  18168. - issuerRef
  18169. properties:
  18170. commonName:
  18171. description: CommonName is the common name as specified on the DER
  18172. encoded CSR. If specified, this value must also be present in `dnsNames`.
  18173. This field must match the corresponding field on the DER encoded
  18174. CSR.
  18175. type: string
  18176. csr:
  18177. description: Certificate signing request bytes in DER encoding. This
  18178. will be used when finalizing the order. This field must be set on
  18179. the order.
  18180. type: string
  18181. format: byte
  18182. dnsNames:
  18183. description: DNSNames is a list of DNS names that should be included
  18184. as part of the Order validation process. This field must match the
  18185. corresponding field on the DER encoded CSR.
  18186. type: array
  18187. items:
  18188. type: string
  18189. issuerRef:
  18190. description: IssuerRef references a properly configured ACME-type
  18191. Issuer which should be used to create this Order. If the Issuer
  18192. does not exist, processing will be retried. If the Issuer is not
  18193. an 'ACME' Issuer, an error will be returned and the Order will be
  18194. marked as failed.
  18195. type: object
  18196. required:
  18197. - name
  18198. properties:
  18199. group:
  18200. description: Group of the resource being referred to.
  18201. type: string
  18202. kind:
  18203. description: Kind of the resource being referred to.
  18204. type: string
  18205. name:
  18206. description: Name of the resource being referred to.
  18207. type: string
  18208. status:
  18209. type: object
  18210. properties:
  18211. authorizations:
  18212. description: Authorizations contains data returned from the ACME server
  18213. on what authorizations must be completed in order to validate the
  18214. DNS names specified on the Order.
  18215. type: array
  18216. items:
  18217. description: ACMEAuthorization contains data returned from the ACME
  18218. server on an authorization that must be completed in order validate
  18219. a DNS name on an ACME Order resource.
  18220. type: object
  18221. required:
  18222. - url
  18223. properties:
  18224. challenges:
  18225. description: Challenges specifies the challenge types offered
  18226. by the ACME server. One of these challenge types will be selected
  18227. when validating the DNS name and an appropriate Challenge
  18228. resource will be created to perform the ACME challenge process.
  18229. type: array
  18230. items:
  18231. description: Challenge specifies a challenge offered by the
  18232. ACME server for an Order. An appropriate Challenge resource
  18233. can be created to perform the ACME challenge process.
  18234. type: object
  18235. required:
  18236. - token
  18237. - type
  18238. - url
  18239. properties:
  18240. token:
  18241. description: Token is the token that must be presented
  18242. for this challenge. This is used to compute the 'key'
  18243. that must also be presented.
  18244. type: string
  18245. type:
  18246. description: Type is the type of challenge being offered,
  18247. e.g. 'http-01', 'dns-01', 'tls-sni-01', etc. This is
  18248. the raw value retrieved from the ACME server. Only 'http-01'
  18249. and 'dns-01' are supported by cert-manager, other values
  18250. will be ignored.
  18251. type: string
  18252. url:
  18253. description: URL is the URL of this challenge. It can
  18254. be used to retrieve additional metadata about the Challenge
  18255. from the ACME server.
  18256. type: string
  18257. identifier:
  18258. description: Identifier is the DNS name to be validated as part
  18259. of this authorization
  18260. type: string
  18261. initialState:
  18262. description: InitialState is the initial state of the ACME authorization
  18263. when first fetched from the ACME server. If an Authorization
  18264. is already 'valid', the Order controller will not create a
  18265. Challenge resource for the authorization. This will occur
  18266. when working with an ACME server that enables 'authz reuse'
  18267. (such as Let's Encrypt's production endpoint). If not set
  18268. and 'identifier' is set, the state is assumed to be pending
  18269. and a Challenge will be created.
  18270. type: string
  18271. enum:
  18272. - valid
  18273. - ready
  18274. - pending
  18275. - processing
  18276. - invalid
  18277. - expired
  18278. - errored
  18279. url:
  18280. description: URL is the URL of the Authorization that must be
  18281. completed
  18282. type: string
  18283. wildcard:
  18284. description: Wildcard will be true if this authorization is
  18285. for a wildcard DNS name. If this is true, the identifier will
  18286. be the *non-wildcard* version of the DNS name. For example,
  18287. if '*.example.com' is the DNS name being validated, this field
  18288. will be 'true' and the 'identifier' field will be 'example.com'.
  18289. type: boolean
  18290. certificate:
  18291. description: Certificate is a copy of the PEM encoded certificate
  18292. for this Order. This field will be populated after the order has
  18293. been successfully finalized with the ACME server, and the order
  18294. has transitioned to the 'valid' state.
  18295. type: string
  18296. format: byte
  18297. failureTime:
  18298. description: FailureTime stores the time that this order failed. This
  18299. is used to influence garbage collection and back-off.
  18300. type: string
  18301. format: date-time
  18302. finalizeURL:
  18303. description: FinalizeURL of the Order. This is used to obtain certificates
  18304. for this order once it has been completed.
  18305. type: string
  18306. reason:
  18307. description: Reason optionally provides more information about a why
  18308. the order is in the current state.
  18309. type: string
  18310. state:
  18311. description: State contains the current state of this Order resource.
  18312. States 'success' and 'expired' are 'final'
  18313. type: string
  18314. enum:
  18315. - valid
  18316. - ready
  18317. - pending
  18318. - processing
  18319. - invalid
  18320. - expired
  18321. - errored
  18322. url:
  18323. description: URL of the Order. This will initially be empty when the
  18324. resource is first created. The Order controller will populate this
  18325. field when the Order is first processed. This field will be immutable
  18326. after it is initially set.
  18327. type: string
  18328. - name: v1
  18329. served: true
  18330. storage: false
  18331. "schema":
  18332. "openAPIV3Schema":
  18333. description: Order is a type to represent an Order with an ACME server
  18334. type: object
  18335. required:
  18336. - metadata
  18337. - spec
  18338. properties:
  18339. apiVersion:
  18340. description: 'APIVersion defines the versioned schema of this representation
  18341. of an object. Servers should convert recognized schemas to the latest
  18342. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  18343. type: string
  18344. kind:
  18345. description: 'Kind is a string value representing the REST resource this
  18346. object represents. Servers may infer this from the endpoint the client
  18347. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  18348. type: string
  18349. metadata:
  18350. type: object
  18351. spec:
  18352. type: object
  18353. required:
  18354. - dnsNames
  18355. - issuerRef
  18356. - request
  18357. properties:
  18358. commonName:
  18359. description: CommonName is the common name as specified on the DER
  18360. encoded CSR. If specified, this value must also be present in `dnsNames`.
  18361. This field must match the corresponding field on the DER encoded
  18362. CSR.
  18363. type: string
  18364. dnsNames:
  18365. description: DNSNames is a list of DNS names that should be included
  18366. as part of the Order validation process. This field must match the
  18367. corresponding field on the DER encoded CSR.
  18368. type: array
  18369. items:
  18370. type: string
  18371. issuerRef:
  18372. description: IssuerRef references a properly configured ACME-type
  18373. Issuer which should be used to create this Order. If the Issuer
  18374. does not exist, processing will be retried. If the Issuer is not
  18375. an 'ACME' Issuer, an error will be returned and the Order will be
  18376. marked as failed.
  18377. type: object
  18378. required:
  18379. - name
  18380. properties:
  18381. group:
  18382. description: Group of the resource being referred to.
  18383. type: string
  18384. kind:
  18385. description: Kind of the resource being referred to.
  18386. type: string
  18387. name:
  18388. description: Name of the resource being referred to.
  18389. type: string
  18390. request:
  18391. description: Certificate signing request bytes in DER encoding. This
  18392. will be used when finalizing the order. This field must be set on
  18393. the order.
  18394. type: string
  18395. format: byte
  18396. status:
  18397. type: object
  18398. properties:
  18399. authorizations:
  18400. description: Authorizations contains data returned from the ACME server
  18401. on what authorizations must be completed in order to validate the
  18402. DNS names specified on the Order.
  18403. type: array
  18404. items:
  18405. description: ACMEAuthorization contains data returned from the ACME
  18406. server on an authorization that must be completed in order validate
  18407. a DNS name on an ACME Order resource.
  18408. type: object
  18409. required:
  18410. - url
  18411. properties:
  18412. challenges:
  18413. description: Challenges specifies the challenge types offered
  18414. by the ACME server. One of these challenge types will be selected
  18415. when validating the DNS name and an appropriate Challenge
  18416. resource will be created to perform the ACME challenge process.
  18417. type: array
  18418. items:
  18419. description: Challenge specifies a challenge offered by the
  18420. ACME server for an Order. An appropriate Challenge resource
  18421. can be created to perform the ACME challenge process.
  18422. type: object
  18423. required:
  18424. - token
  18425. - type
  18426. - url
  18427. properties:
  18428. token:
  18429. description: Token is the token that must be presented
  18430. for this challenge. This is used to compute the 'key'
  18431. that must also be presented.
  18432. type: string
  18433. type:
  18434. description: Type is the type of challenge being offered,
  18435. e.g. 'http-01', 'dns-01', 'tls-sni-01', etc. This is
  18436. the raw value retrieved from the ACME server. Only 'http-01'
  18437. and 'dns-01' are supported by cert-manager, other values
  18438. will be ignored.
  18439. type: string
  18440. url:
  18441. description: URL is the URL of this challenge. It can
  18442. be used to retrieve additional metadata about the Challenge
  18443. from the ACME server.
  18444. type: string
  18445. identifier:
  18446. description: Identifier is the DNS name to be validated as part
  18447. of this authorization
  18448. type: string
  18449. initialState:
  18450. description: InitialState is the initial state of the ACME authorization
  18451. when first fetched from the ACME server. If an Authorization
  18452. is already 'valid', the Order controller will not create a
  18453. Challenge resource for the authorization. This will occur
  18454. when working with an ACME server that enables 'authz reuse'
  18455. (such as Let's Encrypt's production endpoint). If not set
  18456. and 'identifier' is set, the state is assumed to be pending
  18457. and a Challenge will be created.
  18458. type: string
  18459. enum:
  18460. - valid
  18461. - ready
  18462. - pending
  18463. - processing
  18464. - invalid
  18465. - expired
  18466. - errored
  18467. url:
  18468. description: URL is the URL of the Authorization that must be
  18469. completed
  18470. type: string
  18471. wildcard:
  18472. description: Wildcard will be true if this authorization is
  18473. for a wildcard DNS name. If this is true, the identifier will
  18474. be the *non-wildcard* version of the DNS name. For example,
  18475. if '*.example.com' is the DNS name being validated, this field
  18476. will be 'true' and the 'identifier' field will be 'example.com'.
  18477. type: boolean
  18478. certificate:
  18479. description: Certificate is a copy of the PEM encoded certificate
  18480. for this Order. This field will be populated after the order has
  18481. been successfully finalized with the ACME server, and the order
  18482. has transitioned to the 'valid' state.
  18483. type: string
  18484. format: byte
  18485. failureTime:
  18486. description: FailureTime stores the time that this order failed. This
  18487. is used to influence garbage collection and back-off.
  18488. type: string
  18489. format: date-time
  18490. finalizeURL:
  18491. description: FinalizeURL of the Order. This is used to obtain certificates
  18492. for this order once it has been completed.
  18493. type: string
  18494. reason:
  18495. description: Reason optionally provides more information about a why
  18496. the order is in the current state.
  18497. type: string
  18498. state:
  18499. description: State contains the current state of this Order resource.
  18500. States 'success' and 'expired' are 'final'
  18501. type: string
  18502. enum:
  18503. - valid
  18504. - ready
  18505. - pending
  18506. - processing
  18507. - invalid
  18508. - expired
  18509. - errored
  18510. url:
  18511. description: URL of the Order. This will initially be empty when the
  18512. resource is first created. The Order controller will populate this
  18513. field when the Order is first processed. This field will be immutable
  18514. after it is initially set.
  18515. type: string
  18516. ---
  18517. apiVersion: v1
  18518. kind: Namespace
  18519. metadata:
  18520. name: cert-manager
  18521. ---
  18522. # Source: cert-manager/templates/cainjector-serviceaccount.yaml
  18523. apiVersion: v1
  18524. kind: ServiceAccount
  18525. metadata:
  18526. name: cert-manager-cainjector
  18527. namespace: "cert-manager"
  18528. labels:
  18529. app: cainjector
  18530. app.kubernetes.io/name: cainjector
  18531. app.kubernetes.io/instance: cert-manager
  18532. app.kubernetes.io/managed-by: Helm
  18533. app.kubernetes.io/component: "cainjector"
  18534. helm.sh/chart: cert-manager-v0.16.1
  18535. ---
  18536. # Source: cert-manager/templates/serviceaccount.yaml
  18537. apiVersion: v1
  18538. kind: ServiceAccount
  18539. metadata:
  18540. name: cert-manager
  18541. namespace: "cert-manager"
  18542. labels:
  18543. app: cert-manager
  18544. app.kubernetes.io/name: cert-manager
  18545. app.kubernetes.io/instance: cert-manager
  18546. app.kubernetes.io/managed-by: Helm
  18547. app.kubernetes.io/component: "controller"
  18548. helm.sh/chart: cert-manager-v0.16.1
  18549. ---
  18550. # Source: cert-manager/templates/webhook-serviceaccount.yaml
  18551. apiVersion: v1
  18552. kind: ServiceAccount
  18553. metadata:
  18554. name: cert-manager-webhook
  18555. namespace: "cert-manager"
  18556. labels:
  18557. app: webhook
  18558. app.kubernetes.io/name: webhook
  18559. app.kubernetes.io/instance: cert-manager
  18560. app.kubernetes.io/managed-by: Helm
  18561. app.kubernetes.io/component: "webhook"
  18562. helm.sh/chart: cert-manager-v0.16.1
  18563. ---
  18564. # Source: cert-manager/templates/cainjector-rbac.yaml
  18565. apiVersion: rbac.authorization.k8s.io/v1
  18566. kind: ClusterRole
  18567. metadata:
  18568. name: cert-manager-cainjector
  18569. labels:
  18570. app: cainjector
  18571. app.kubernetes.io/name: cainjector
  18572. app.kubernetes.io/instance: cert-manager
  18573. app.kubernetes.io/managed-by: Helm
  18574. app.kubernetes.io/component: "cainjector"
  18575. helm.sh/chart: cert-manager-v0.16.1
  18576. rules:
  18577. - apiGroups: ["cert-manager.io"]
  18578. resources: ["certificates"]
  18579. verbs: ["get", "list", "watch"]
  18580. - apiGroups: [""]
  18581. resources: ["secrets"]
  18582. verbs: ["get", "list", "watch"]
  18583. - apiGroups: [""]
  18584. resources: ["events"]
  18585. verbs: ["get", "create", "update", "patch"]
  18586. - apiGroups: ["admissionregistration.k8s.io"]
  18587. resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
  18588. verbs: ["get", "list", "watch", "update"]
  18589. - apiGroups: ["apiregistration.k8s.io"]
  18590. resources: ["apiservices"]
  18591. verbs: ["get", "list", "watch", "update"]
  18592. - apiGroups: ["apiextensions.k8s.io"]
  18593. resources: ["customresourcedefinitions"]
  18594. verbs: ["get", "list", "watch", "update"]
  18595. - apiGroups: ["auditregistration.k8s.io"]
  18596. resources: ["auditsinks"]
  18597. verbs: ["get", "list", "watch", "update"]
  18598. ---
  18599. # Source: cert-manager/templates/rbac.yaml
  18600. # Issuer controller role
  18601. apiVersion: rbac.authorization.k8s.io/v1
  18602. kind: ClusterRole
  18603. metadata:
  18604. name: cert-manager-controller-issuers
  18605. labels:
  18606. app: cert-manager
  18607. app.kubernetes.io/name: cert-manager
  18608. app.kubernetes.io/instance: cert-manager
  18609. app.kubernetes.io/managed-by: Helm
  18610. app.kubernetes.io/component: "controller"
  18611. helm.sh/chart: cert-manager-v0.16.1
  18612. rules:
  18613. - apiGroups: ["cert-manager.io"]
  18614. resources: ["issuers", "issuers/status"]
  18615. verbs: ["update"]
  18616. - apiGroups: ["cert-manager.io"]
  18617. resources: ["issuers"]
  18618. verbs: ["get", "list", "watch"]
  18619. - apiGroups: [""]
  18620. resources: ["secrets"]
  18621. verbs: ["get", "list", "watch", "create", "update", "delete"]
  18622. - apiGroups: [""]
  18623. resources: ["events"]
  18624. verbs: ["create", "patch"]
  18625. ---
  18626. # Source: cert-manager/templates/rbac.yaml
  18627. # ClusterIssuer controller role
  18628. apiVersion: rbac.authorization.k8s.io/v1
  18629. kind: ClusterRole
  18630. metadata:
  18631. name: cert-manager-controller-clusterissuers
  18632. labels:
  18633. app: cert-manager
  18634. app.kubernetes.io/name: cert-manager
  18635. app.kubernetes.io/instance: cert-manager
  18636. app.kubernetes.io/managed-by: Helm
  18637. app.kubernetes.io/component: "controller"
  18638. helm.sh/chart: cert-manager-v0.16.1
  18639. rules:
  18640. - apiGroups: ["cert-manager.io"]
  18641. resources: ["clusterissuers", "clusterissuers/status"]
  18642. verbs: ["update"]
  18643. - apiGroups: ["cert-manager.io"]
  18644. resources: ["clusterissuers"]
  18645. verbs: ["get", "list", "watch"]
  18646. - apiGroups: [""]
  18647. resources: ["secrets"]
  18648. verbs: ["get", "list", "watch", "create", "update", "delete"]
  18649. - apiGroups: [""]
  18650. resources: ["events"]
  18651. verbs: ["create", "patch"]
  18652. ---
  18653. # Source: cert-manager/templates/rbac.yaml
  18654. # Certificates controller role
  18655. apiVersion: rbac.authorization.k8s.io/v1
  18656. kind: ClusterRole
  18657. metadata:
  18658. name: cert-manager-controller-certificates
  18659. labels:
  18660. app: cert-manager
  18661. app.kubernetes.io/name: cert-manager
  18662. app.kubernetes.io/instance: cert-manager
  18663. app.kubernetes.io/managed-by: Helm
  18664. app.kubernetes.io/component: "controller"
  18665. helm.sh/chart: cert-manager-v0.16.1
  18666. rules:
  18667. - apiGroups: ["cert-manager.io"]
  18668. resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
  18669. verbs: ["update"]
  18670. - apiGroups: ["cert-manager.io"]
  18671. resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
  18672. verbs: ["get", "list", "watch"]
  18673. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  18674. # admission controller enabled:
  18675. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  18676. - apiGroups: ["cert-manager.io"]
  18677. resources: ["certificates/finalizers", "certificaterequests/finalizers"]
  18678. verbs: ["update"]
  18679. - apiGroups: ["acme.cert-manager.io"]
  18680. resources: ["orders"]
  18681. verbs: ["create", "delete", "get", "list", "watch"]
  18682. - apiGroups: [""]
  18683. resources: ["secrets"]
  18684. verbs: ["get", "list", "watch", "create", "update", "delete"]
  18685. - apiGroups: [""]
  18686. resources: ["events"]
  18687. verbs: ["create", "patch"]
  18688. ---
  18689. # Source: cert-manager/templates/rbac.yaml
  18690. # Orders controller role
  18691. apiVersion: rbac.authorization.k8s.io/v1
  18692. kind: ClusterRole
  18693. metadata:
  18694. name: cert-manager-controller-orders
  18695. labels:
  18696. app: cert-manager
  18697. app.kubernetes.io/name: cert-manager
  18698. app.kubernetes.io/instance: cert-manager
  18699. app.kubernetes.io/managed-by: Helm
  18700. app.kubernetes.io/component: "controller"
  18701. helm.sh/chart: cert-manager-v0.16.1
  18702. rules:
  18703. - apiGroups: ["acme.cert-manager.io"]
  18704. resources: ["orders", "orders/status"]
  18705. verbs: ["update"]
  18706. - apiGroups: ["acme.cert-manager.io"]
  18707. resources: ["orders", "challenges"]
  18708. verbs: ["get", "list", "watch"]
  18709. - apiGroups: ["cert-manager.io"]
  18710. resources: ["clusterissuers", "issuers"]
  18711. verbs: ["get", "list", "watch"]
  18712. - apiGroups: ["acme.cert-manager.io"]
  18713. resources: ["challenges"]
  18714. verbs: ["create", "delete"]
  18715. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  18716. # admission controller enabled:
  18717. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  18718. - apiGroups: ["acme.cert-manager.io"]
  18719. resources: ["orders/finalizers"]
  18720. verbs: ["update"]
  18721. - apiGroups: [""]
  18722. resources: ["secrets"]
  18723. verbs: ["get", "list", "watch"]
  18724. - apiGroups: [""]
  18725. resources: ["events"]
  18726. verbs: ["create", "patch"]
  18727. ---
  18728. # Source: cert-manager/templates/rbac.yaml
  18729. # Challenges controller role
  18730. apiVersion: rbac.authorization.k8s.io/v1
  18731. kind: ClusterRole
  18732. metadata:
  18733. name: cert-manager-controller-challenges
  18734. labels:
  18735. app: cert-manager
  18736. app.kubernetes.io/name: cert-manager
  18737. app.kubernetes.io/instance: cert-manager
  18738. app.kubernetes.io/managed-by: Helm
  18739. app.kubernetes.io/component: "controller"
  18740. helm.sh/chart: cert-manager-v0.16.1
  18741. rules:
  18742. # Use to update challenge resource status
  18743. - apiGroups: ["acme.cert-manager.io"]
  18744. resources: ["challenges", "challenges/status"]
  18745. verbs: ["update"]
  18746. # Used to watch challenge resources
  18747. - apiGroups: ["acme.cert-manager.io"]
  18748. resources: ["challenges"]
  18749. verbs: ["get", "list", "watch"]
  18750. # Used to watch challenges, issuer and clusterissuer resources
  18751. - apiGroups: ["cert-manager.io"]
  18752. resources: ["issuers", "clusterissuers"]
  18753. verbs: ["get", "list", "watch"]
  18754. # Need to be able to retrieve ACME account private key to complete challenges
  18755. - apiGroups: [""]
  18756. resources: ["secrets"]
  18757. verbs: ["get", "list", "watch"]
  18758. # Used to create events
  18759. - apiGroups: [""]
  18760. resources: ["events"]
  18761. verbs: ["create", "patch"]
  18762. # HTTP01 rules
  18763. - apiGroups: [""]
  18764. resources: ["pods", "services"]
  18765. verbs: ["get", "list", "watch", "create", "delete"]
  18766. - apiGroups: ["extensions"]
  18767. resources: ["ingresses"]
  18768. verbs: ["get", "list", "watch", "create", "delete", "update"]
  18769. # We require the ability to specify a custom hostname when we are creating
  18770. # new ingress resources.
  18771. # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
  18772. - apiGroups: ["route.openshift.io"]
  18773. resources: ["routes/custom-host"]
  18774. verbs: ["create"]
  18775. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  18776. # admission controller enabled:
  18777. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  18778. - apiGroups: ["acme.cert-manager.io"]
  18779. resources: ["challenges/finalizers"]
  18780. verbs: ["update"]
  18781. # DNS01 rules (duplicated above)
  18782. - apiGroups: [""]
  18783. resources: ["secrets"]
  18784. verbs: ["get", "list", "watch"]
  18785. ---
  18786. # Source: cert-manager/templates/rbac.yaml
  18787. # ingress-shim controller role
  18788. apiVersion: rbac.authorization.k8s.io/v1
  18789. kind: ClusterRole
  18790. metadata:
  18791. name: cert-manager-controller-ingress-shim
  18792. labels:
  18793. app: cert-manager
  18794. app.kubernetes.io/name: cert-manager
  18795. app.kubernetes.io/instance: cert-manager
  18796. app.kubernetes.io/managed-by: Helm
  18797. app.kubernetes.io/component: "controller"
  18798. helm.sh/chart: cert-manager-v0.16.1
  18799. rules:
  18800. - apiGroups: ["cert-manager.io"]
  18801. resources: ["certificates", "certificaterequests"]
  18802. verbs: ["create", "update", "delete"]
  18803. - apiGroups: ["cert-manager.io"]
  18804. resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
  18805. verbs: ["get", "list", "watch"]
  18806. - apiGroups: ["extensions"]
  18807. resources: ["ingresses"]
  18808. verbs: ["get", "list", "watch"]
  18809. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  18810. # admission controller enabled:
  18811. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  18812. - apiGroups: ["extensions"]
  18813. resources: ["ingresses/finalizers"]
  18814. verbs: ["update"]
  18815. - apiGroups: [""]
  18816. resources: ["events"]
  18817. verbs: ["create", "patch"]
  18818. ---
  18819. # Source: cert-manager/templates/rbac.yaml
  18820. apiVersion: rbac.authorization.k8s.io/v1
  18821. kind: ClusterRole
  18822. metadata:
  18823. name: cert-manager-view
  18824. labels:
  18825. app: cert-manager
  18826. app.kubernetes.io/name: cert-manager
  18827. app.kubernetes.io/instance: cert-manager
  18828. app.kubernetes.io/managed-by: Helm
  18829. app.kubernetes.io/component: "controller"
  18830. helm.sh/chart: cert-manager-v0.16.1
  18831. rbac.authorization.k8s.io/aggregate-to-view: "true"
  18832. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  18833. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  18834. rules:
  18835. - apiGroups: ["cert-manager.io"]
  18836. resources: ["certificates", "certificaterequests", "issuers"]
  18837. verbs: ["get", "list", "watch"]
  18838. ---
  18839. # Source: cert-manager/templates/rbac.yaml
  18840. apiVersion: rbac.authorization.k8s.io/v1
  18841. kind: ClusterRole
  18842. metadata:
  18843. name: cert-manager-edit
  18844. labels:
  18845. app: cert-manager
  18846. app.kubernetes.io/name: cert-manager
  18847. app.kubernetes.io/instance: cert-manager
  18848. app.kubernetes.io/managed-by: Helm
  18849. app.kubernetes.io/component: "controller"
  18850. helm.sh/chart: cert-manager-v0.16.1
  18851. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  18852. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  18853. rules:
  18854. - apiGroups: ["cert-manager.io"]
  18855. resources: ["certificates", "certificaterequests", "issuers"]
  18856. verbs: ["create", "delete", "deletecollection", "patch", "update"]
  18857. ---
  18858. # Source: cert-manager/templates/cainjector-rbac.yaml
  18859. apiVersion: rbac.authorization.k8s.io/v1
  18860. kind: ClusterRoleBinding
  18861. metadata:
  18862. name: cert-manager-cainjector
  18863. labels:
  18864. app: cainjector
  18865. app.kubernetes.io/name: cainjector
  18866. app.kubernetes.io/instance: cert-manager
  18867. app.kubernetes.io/managed-by: Helm
  18868. app.kubernetes.io/component: "cainjector"
  18869. helm.sh/chart: cert-manager-v0.16.1
  18870. roleRef:
  18871. apiGroup: rbac.authorization.k8s.io
  18872. kind: ClusterRole
  18873. name: cert-manager-cainjector
  18874. subjects:
  18875. - name: cert-manager-cainjector
  18876. namespace: "cert-manager"
  18877. kind: ServiceAccount
  18878. ---
  18879. # Source: cert-manager/templates/rbac.yaml
  18880. apiVersion: rbac.authorization.k8s.io/v1
  18881. kind: ClusterRoleBinding
  18882. metadata:
  18883. name: cert-manager-controller-issuers
  18884. labels:
  18885. app: cert-manager
  18886. app.kubernetes.io/name: cert-manager
  18887. app.kubernetes.io/instance: cert-manager
  18888. app.kubernetes.io/managed-by: Helm
  18889. app.kubernetes.io/component: "controller"
  18890. helm.sh/chart: cert-manager-v0.16.1
  18891. roleRef:
  18892. apiGroup: rbac.authorization.k8s.io
  18893. kind: ClusterRole
  18894. name: cert-manager-controller-issuers
  18895. subjects:
  18896. - name: cert-manager
  18897. namespace: "cert-manager"
  18898. kind: ServiceAccount
  18899. ---
  18900. # Source: cert-manager/templates/rbac.yaml
  18901. apiVersion: rbac.authorization.k8s.io/v1
  18902. kind: ClusterRoleBinding
  18903. metadata:
  18904. name: cert-manager-controller-clusterissuers
  18905. labels:
  18906. app: cert-manager
  18907. app.kubernetes.io/name: cert-manager
  18908. app.kubernetes.io/instance: cert-manager
  18909. app.kubernetes.io/managed-by: Helm
  18910. app.kubernetes.io/component: "controller"
  18911. helm.sh/chart: cert-manager-v0.16.1
  18912. roleRef:
  18913. apiGroup: rbac.authorization.k8s.io
  18914. kind: ClusterRole
  18915. name: cert-manager-controller-clusterissuers
  18916. subjects:
  18917. - name: cert-manager
  18918. namespace: "cert-manager"
  18919. kind: ServiceAccount
  18920. ---
  18921. # Source: cert-manager/templates/rbac.yaml
  18922. apiVersion: rbac.authorization.k8s.io/v1
  18923. kind: ClusterRoleBinding
  18924. metadata:
  18925. name: cert-manager-controller-certificates
  18926. labels:
  18927. app: cert-manager
  18928. app.kubernetes.io/name: cert-manager
  18929. app.kubernetes.io/instance: cert-manager
  18930. app.kubernetes.io/managed-by: Helm
  18931. app.kubernetes.io/component: "controller"
  18932. helm.sh/chart: cert-manager-v0.16.1
  18933. roleRef:
  18934. apiGroup: rbac.authorization.k8s.io
  18935. kind: ClusterRole
  18936. name: cert-manager-controller-certificates
  18937. subjects:
  18938. - name: cert-manager
  18939. namespace: "cert-manager"
  18940. kind: ServiceAccount
  18941. ---
  18942. # Source: cert-manager/templates/rbac.yaml
  18943. apiVersion: rbac.authorization.k8s.io/v1
  18944. kind: ClusterRoleBinding
  18945. metadata:
  18946. name: cert-manager-controller-orders
  18947. labels:
  18948. app: cert-manager
  18949. app.kubernetes.io/name: cert-manager
  18950. app.kubernetes.io/instance: cert-manager
  18951. app.kubernetes.io/managed-by: Helm
  18952. app.kubernetes.io/component: "controller"
  18953. helm.sh/chart: cert-manager-v0.16.1
  18954. roleRef:
  18955. apiGroup: rbac.authorization.k8s.io
  18956. kind: ClusterRole
  18957. name: cert-manager-controller-orders
  18958. subjects:
  18959. - name: cert-manager
  18960. namespace: "cert-manager"
  18961. kind: ServiceAccount
  18962. ---
  18963. # Source: cert-manager/templates/rbac.yaml
  18964. apiVersion: rbac.authorization.k8s.io/v1
  18965. kind: ClusterRoleBinding
  18966. metadata:
  18967. name: cert-manager-controller-challenges
  18968. labels:
  18969. app: cert-manager
  18970. app.kubernetes.io/name: cert-manager
  18971. app.kubernetes.io/instance: cert-manager
  18972. app.kubernetes.io/managed-by: Helm
  18973. app.kubernetes.io/component: "controller"
  18974. helm.sh/chart: cert-manager-v0.16.1
  18975. roleRef:
  18976. apiGroup: rbac.authorization.k8s.io
  18977. kind: ClusterRole
  18978. name: cert-manager-controller-challenges
  18979. subjects:
  18980. - name: cert-manager
  18981. namespace: "cert-manager"
  18982. kind: ServiceAccount
  18983. ---
  18984. # Source: cert-manager/templates/rbac.yaml
  18985. apiVersion: rbac.authorization.k8s.io/v1
  18986. kind: ClusterRoleBinding
  18987. metadata:
  18988. name: cert-manager-controller-ingress-shim
  18989. labels:
  18990. app: cert-manager
  18991. app.kubernetes.io/name: cert-manager
  18992. app.kubernetes.io/instance: cert-manager
  18993. app.kubernetes.io/managed-by: Helm
  18994. app.kubernetes.io/component: "controller"
  18995. helm.sh/chart: cert-manager-v0.16.1
  18996. roleRef:
  18997. apiGroup: rbac.authorization.k8s.io
  18998. kind: ClusterRole
  18999. name: cert-manager-controller-ingress-shim
  19000. subjects:
  19001. - name: cert-manager
  19002. namespace: "cert-manager"
  19003. kind: ServiceAccount
  19004. ---
  19005. # Source: cert-manager/templates/cainjector-rbac.yaml
  19006. # leader election rules
  19007. apiVersion: rbac.authorization.k8s.io/v1
  19008. kind: Role
  19009. metadata:
  19010. name: cert-manager-cainjector:leaderelection
  19011. namespace: kube-system
  19012. labels:
  19013. app: cainjector
  19014. app.kubernetes.io/name: cainjector
  19015. app.kubernetes.io/instance: cert-manager
  19016. app.kubernetes.io/managed-by: Helm
  19017. app.kubernetes.io/component: "cainjector"
  19018. helm.sh/chart: cert-manager-v0.16.1
  19019. rules:
  19020. # Used for leader election by the controller
  19021. # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
  19022. # see cmd/cainjector/start.go#L113
  19023. # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
  19024. # see cmd/cainjector/start.go#L137
  19025. - apiGroups: [""]
  19026. resources: ["configmaps"]
  19027. resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
  19028. verbs: ["get", "update", "patch"]
  19029. - apiGroups: [""]
  19030. resources: ["configmaps"]
  19031. verbs: ["create"]
  19032. ---
  19033. # Source: cert-manager/templates/rbac.yaml
  19034. apiVersion: rbac.authorization.k8s.io/v1
  19035. kind: Role
  19036. metadata:
  19037. name: cert-manager:leaderelection
  19038. namespace: kube-system
  19039. labels:
  19040. app: cert-manager
  19041. app.kubernetes.io/name: cert-manager
  19042. app.kubernetes.io/instance: cert-manager
  19043. app.kubernetes.io/managed-by: Helm
  19044. app.kubernetes.io/component: "controller"
  19045. helm.sh/chart: cert-manager-v0.16.1
  19046. rules:
  19047. # Used for leader election by the controller
  19048. - apiGroups: [""]
  19049. resources: ["configmaps"]
  19050. resourceNames: ["cert-manager-controller"]
  19051. verbs: ["get", "update", "patch"]
  19052. - apiGroups: [""]
  19053. resources: ["configmaps"]
  19054. verbs: ["create"]
  19055. ---
  19056. # Source: cert-manager/templates/webhook-rbac.yaml
  19057. apiVersion: rbac.authorization.k8s.io/v1
  19058. kind: Role
  19059. metadata:
  19060. name: cert-manager-webhook:dynamic-serving
  19061. namespace: "cert-manager"
  19062. labels:
  19063. app: webhook
  19064. app.kubernetes.io/name: webhook
  19065. app.kubernetes.io/instance: cert-manager
  19066. app.kubernetes.io/managed-by: Helm
  19067. app.kubernetes.io/component: "webhook"
  19068. helm.sh/chart: cert-manager-v0.16.1
  19069. rules:
  19070. - apiGroups: [""]
  19071. resources: ["secrets"]
  19072. resourceNames:
  19073. - 'cert-manager-webhook-ca'
  19074. verbs: ["get", "list", "watch", "update"]
  19075. # It's not possible to grant CREATE permission on a single resourceName.
  19076. - apiGroups: [""]
  19077. resources: ["secrets"]
  19078. verbs: ["create"]
  19079. ---
  19080. # Source: cert-manager/templates/cainjector-rbac.yaml
  19081. # grant cert-manager permission to manage the leaderelection configmap in the
  19082. # leader election namespace
  19083. apiVersion: rbac.authorization.k8s.io/v1
  19084. kind: RoleBinding
  19085. metadata:
  19086. name: cert-manager-cainjector:leaderelection
  19087. namespace: kube-system
  19088. labels:
  19089. app: cainjector
  19090. app.kubernetes.io/name: cainjector
  19091. app.kubernetes.io/instance: cert-manager
  19092. app.kubernetes.io/managed-by: Helm
  19093. app.kubernetes.io/component: "cainjector"
  19094. helm.sh/chart: cert-manager-v0.16.1
  19095. roleRef:
  19096. apiGroup: rbac.authorization.k8s.io
  19097. kind: Role
  19098. name: cert-manager-cainjector:leaderelection
  19099. subjects:
  19100. - kind: ServiceAccount
  19101. name: cert-manager-cainjector
  19102. namespace: cert-manager
  19103. ---
  19104. # Source: cert-manager/templates/rbac.yaml
  19105. # grant cert-manager permission to manage the leaderelection configmap in the
  19106. # leader election namespace
  19107. apiVersion: rbac.authorization.k8s.io/v1
  19108. kind: RoleBinding
  19109. metadata:
  19110. name: cert-manager:leaderelection
  19111. namespace: kube-system
  19112. labels:
  19113. app: cert-manager
  19114. app.kubernetes.io/name: cert-manager
  19115. app.kubernetes.io/instance: cert-manager
  19116. app.kubernetes.io/managed-by: Helm
  19117. app.kubernetes.io/component: "controller"
  19118. helm.sh/chart: cert-manager-v0.16.1
  19119. roleRef:
  19120. apiGroup: rbac.authorization.k8s.io
  19121. kind: Role
  19122. name: cert-manager:leaderelection
  19123. subjects:
  19124. - apiGroup: ""
  19125. kind: ServiceAccount
  19126. name: cert-manager
  19127. namespace: cert-manager
  19128. ---
  19129. # Source: cert-manager/templates/webhook-rbac.yaml
  19130. apiVersion: rbac.authorization.k8s.io/v1
  19131. kind: RoleBinding
  19132. metadata:
  19133. name: cert-manager-webhook:dynamic-serving
  19134. namespace: "cert-manager"
  19135. labels:
  19136. app: webhook
  19137. app.kubernetes.io/name: webhook
  19138. app.kubernetes.io/instance: cert-manager
  19139. app.kubernetes.io/managed-by: Helm
  19140. app.kubernetes.io/component: "webhook"
  19141. helm.sh/chart: cert-manager-v0.16.1
  19142. roleRef:
  19143. apiGroup: rbac.authorization.k8s.io
  19144. kind: Role
  19145. name: cert-manager-webhook:dynamic-serving
  19146. subjects:
  19147. - apiGroup: ""
  19148. kind: ServiceAccount
  19149. name: cert-manager-webhook
  19150. namespace: cert-manager
  19151. ---
  19152. # Source: cert-manager/templates/service.yaml
  19153. apiVersion: v1
  19154. kind: Service
  19155. metadata:
  19156. name: cert-manager
  19157. namespace: "cert-manager"
  19158. labels:
  19159. app: cert-manager
  19160. app.kubernetes.io/name: cert-manager
  19161. app.kubernetes.io/instance: cert-manager
  19162. app.kubernetes.io/managed-by: Helm
  19163. app.kubernetes.io/component: "controller"
  19164. helm.sh/chart: cert-manager-v0.16.1
  19165. spec:
  19166. type: ClusterIP
  19167. ports:
  19168. - protocol: TCP
  19169. port: 9402
  19170. targetPort: 9402
  19171. selector:
  19172. app.kubernetes.io/name: cert-manager
  19173. app.kubernetes.io/instance: cert-manager
  19174. app.kubernetes.io/component: "controller"
  19175. ---
  19176. # Source: cert-manager/templates/webhook-service.yaml
  19177. apiVersion: v1
  19178. kind: Service
  19179. metadata:
  19180. name: cert-manager-webhook
  19181. namespace: "cert-manager"
  19182. labels:
  19183. app: webhook
  19184. app.kubernetes.io/name: webhook
  19185. app.kubernetes.io/instance: cert-manager
  19186. app.kubernetes.io/managed-by: Helm
  19187. app.kubernetes.io/component: "webhook"
  19188. helm.sh/chart: cert-manager-v0.16.1
  19189. spec:
  19190. type: ClusterIP
  19191. ports:
  19192. - name: https
  19193. port: 443
  19194. targetPort: 10250
  19195. selector:
  19196. app.kubernetes.io/name: webhook
  19197. app.kubernetes.io/instance: cert-manager
  19198. app.kubernetes.io/component: "webhook"
  19199. ---
  19200. # Source: cert-manager/templates/cainjector-deployment.yaml
  19201. apiVersion: apps/v1
  19202. kind: Deployment
  19203. metadata:
  19204. name: cert-manager-cainjector
  19205. namespace: "cert-manager"
  19206. labels:
  19207. app: cainjector
  19208. app.kubernetes.io/name: cainjector
  19209. app.kubernetes.io/instance: cert-manager
  19210. app.kubernetes.io/managed-by: Helm
  19211. app.kubernetes.io/component: "cainjector"
  19212. helm.sh/chart: cert-manager-v0.16.1
  19213. spec:
  19214. replicas: 1
  19215. selector:
  19216. matchLabels:
  19217. app.kubernetes.io/name: cainjector
  19218. app.kubernetes.io/instance: cert-manager
  19219. app.kubernetes.io/component: "cainjector"
  19220. template:
  19221. metadata:
  19222. labels:
  19223. app: cainjector
  19224. app.kubernetes.io/name: cainjector
  19225. app.kubernetes.io/instance: cert-manager
  19226. app.kubernetes.io/managed-by: Helm
  19227. app.kubernetes.io/component: "cainjector"
  19228. helm.sh/chart: cert-manager-v0.16.1
  19229. spec:
  19230. serviceAccountName: cert-manager-cainjector
  19231. containers:
  19232. - name: cert-manager
  19233. image: "quay.io/jetstack/cert-manager-cainjector:v0.16.1"
  19234. imagePullPolicy: IfNotPresent
  19235. args:
  19236. - --v=2
  19237. - --leader-election-namespace=kube-system
  19238. env:
  19239. - name: POD_NAMESPACE
  19240. valueFrom:
  19241. fieldRef:
  19242. fieldPath: metadata.namespace
  19243. resources:
  19244. {}
  19245. ---
  19246. # Source: cert-manager/templates/deployment.yaml
  19247. apiVersion: apps/v1
  19248. kind: Deployment
  19249. metadata:
  19250. name: cert-manager
  19251. namespace: "cert-manager"
  19252. labels:
  19253. app: cert-manager
  19254. app.kubernetes.io/name: cert-manager
  19255. app.kubernetes.io/instance: cert-manager
  19256. app.kubernetes.io/managed-by: Helm
  19257. app.kubernetes.io/component: "controller"
  19258. helm.sh/chart: cert-manager-v0.16.1
  19259. spec:
  19260. replicas: 1
  19261. selector:
  19262. matchLabels:
  19263. app.kubernetes.io/name: cert-manager
  19264. app.kubernetes.io/instance: cert-manager
  19265. app.kubernetes.io/component: "controller"
  19266. template:
  19267. metadata:
  19268. labels:
  19269. app: cert-manager
  19270. app.kubernetes.io/name: cert-manager
  19271. app.kubernetes.io/instance: cert-manager
  19272. app.kubernetes.io/component: "controller"
  19273. app.kubernetes.io/managed-by: Helm
  19274. helm.sh/chart: cert-manager-v0.16.1
  19275. annotations:
  19276. prometheus.io/path: "/metrics"
  19277. prometheus.io/scrape: 'true'
  19278. prometheus.io/port: '9402'
  19279. spec:
  19280. serviceAccountName: cert-manager
  19281. containers:
  19282. - name: cert-manager
  19283. image: "quay.io/jetstack/cert-manager-controller:v0.16.1"
  19284. imagePullPolicy: IfNotPresent
  19285. args:
  19286. - --v=2
  19287. - --cluster-resource-namespace=$(POD_NAMESPACE)
  19288. - --leader-election-namespace=kube-system
  19289. ports:
  19290. - containerPort: 9402
  19291. protocol: TCP
  19292. env:
  19293. - name: POD_NAMESPACE
  19294. valueFrom:
  19295. fieldRef:
  19296. fieldPath: metadata.namespace
  19297. resources:
  19298. {}
  19299. ---
  19300. # Source: cert-manager/templates/webhook-deployment.yaml
  19301. apiVersion: apps/v1
  19302. kind: Deployment
  19303. metadata:
  19304. name: cert-manager-webhook
  19305. namespace: "cert-manager"
  19306. labels:
  19307. app: webhook
  19308. app.kubernetes.io/name: webhook
  19309. app.kubernetes.io/instance: cert-manager
  19310. app.kubernetes.io/managed-by: Helm
  19311. app.kubernetes.io/component: "webhook"
  19312. helm.sh/chart: cert-manager-v0.16.1
  19313. spec:
  19314. replicas: 1
  19315. selector:
  19316. matchLabels:
  19317. app.kubernetes.io/name: webhook
  19318. app.kubernetes.io/instance: cert-manager
  19319. app.kubernetes.io/component: "webhook"
  19320. template:
  19321. metadata:
  19322. labels:
  19323. app: webhook
  19324. app.kubernetes.io/name: webhook
  19325. app.kubernetes.io/instance: cert-manager
  19326. app.kubernetes.io/managed-by: Helm
  19327. app.kubernetes.io/component: "webhook"
  19328. helm.sh/chart: cert-manager-v0.16.1
  19329. spec:
  19330. serviceAccountName: cert-manager-webhook
  19331. containers:
  19332. - name: cert-manager
  19333. image: "quay.io/jetstack/cert-manager-webhook:v0.16.1"
  19334. imagePullPolicy: IfNotPresent
  19335. args:
  19336. - --v=2
  19337. - --secure-port=10250
  19338. - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
  19339. - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
  19340. - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.cert-manager,cert-manager-webhook.cert-manager.svc
  19341. ports:
  19342. - name: https
  19343. containerPort: 10250
  19344. livenessProbe:
  19345. httpGet:
  19346. path: /livez
  19347. port: 6080
  19348. scheme: HTTP
  19349. initialDelaySeconds: 60
  19350. periodSeconds: 10
  19351. readinessProbe:
  19352. httpGet:
  19353. path: /healthz
  19354. port: 6080
  19355. scheme: HTTP
  19356. initialDelaySeconds: 5
  19357. periodSeconds: 5
  19358. env:
  19359. - name: POD_NAMESPACE
  19360. valueFrom:
  19361. fieldRef:
  19362. fieldPath: metadata.namespace
  19363. resources:
  19364. {}
  19365. ---
  19366. # Source: cert-manager/templates/webhook-mutating-webhook.yaml
  19367. apiVersion: admissionregistration.k8s.io/v1
  19368. kind: MutatingWebhookConfiguration
  19369. metadata:
  19370. name: cert-manager-webhook
  19371. labels:
  19372. app: webhook
  19373. app.kubernetes.io/name: webhook
  19374. app.kubernetes.io/instance: cert-manager
  19375. app.kubernetes.io/managed-by: Helm
  19376. app.kubernetes.io/component: "webhook"
  19377. helm.sh/chart: cert-manager-v0.16.1
  19378. annotations:
  19379. cert-manager.io/inject-ca-from-secret: "cert-manager/cert-manager-webhook-ca"
  19380. webhooks:
  19381. - name: webhook.cert-manager.io
  19382. rules:
  19383. - apiGroups:
  19384. - "cert-manager.io"
  19385. - "acme.cert-manager.io"
  19386. apiVersions:
  19387. - "*"
  19388. operations:
  19389. - CREATE
  19390. - UPDATE
  19391. resources:
  19392. - "*/*"
  19393. failurePolicy: Fail
  19394. # Only include 'sideEffects' field in Kubernetes 1.12+
  19395. sideEffects: None
  19396. clientConfig:
  19397. service:
  19398. name: cert-manager-webhook
  19399. namespace: "cert-manager"
  19400. path: /mutate
  19401. ---
  19402. # Source: cert-manager/templates/webhook-validating-webhook.yaml
  19403. apiVersion: admissionregistration.k8s.io/v1
  19404. kind: ValidatingWebhookConfiguration
  19405. metadata:
  19406. name: cert-manager-webhook
  19407. labels:
  19408. app: webhook
  19409. app.kubernetes.io/name: webhook
  19410. app.kubernetes.io/instance: cert-manager
  19411. app.kubernetes.io/managed-by: Helm
  19412. app.kubernetes.io/component: "webhook"
  19413. helm.sh/chart: cert-manager-v0.16.1
  19414. annotations:
  19415. cert-manager.io/inject-ca-from-secret: "cert-manager/cert-manager-webhook-ca"
  19416. webhooks:
  19417. - name: webhook.cert-manager.io
  19418. namespaceSelector:
  19419. matchExpressions:
  19420. - key: "cert-manager.io/disable-validation"
  19421. operator: "NotIn"
  19422. values:
  19423. - "true"
  19424. - key: "name"
  19425. operator: "NotIn"
  19426. values:
  19427. - cert-manager
  19428. rules:
  19429. - apiGroups:
  19430. - "cert-manager.io"
  19431. - "acme.cert-manager.io"
  19432. apiVersions:
  19433. - "*"
  19434. operations:
  19435. - CREATE
  19436. - UPDATE
  19437. resources:
  19438. - "*/*"
  19439. failurePolicy: Fail
  19440. # Only include 'sideEffects' field in Kubernetes 1.12+
  19441. sideEffects: None
  19442. clientConfig:
  19443. service:
  19444. name: cert-manager-webhook
  19445. namespace: "cert-manager"
  19446. path: /validate