2
0

serving-core.yaml 318 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919
  1. # Copyright 2018 The Knative Authors
  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. # https://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. apiVersion: v1
  15. kind: Namespace
  16. metadata:
  17. name: knative-serving
  18. labels:
  19. serving.knative.dev/release: "v0.26.0"
  20. app.kubernetes.io/version: "0.26.0"
  21. app.kubernetes.io/part-of: knative-serving
  22. ---
  23. # Copyright 2019 The Knative Authors
  24. #
  25. # Licensed under the Apache License, Version 2.0 (the "License");
  26. # you may not use this file except in compliance with the License.
  27. # You may obtain a copy of the License at
  28. #
  29. # https://www.apache.org/licenses/LICENSE-2.0
  30. #
  31. # Unless required by applicable law or agreed to in writing, software
  32. # distributed under the License is distributed on an "AS IS" BASIS,
  33. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  34. # See the License for the specific language governing permissions and
  35. # limitations under the License.
  36. # Use this aggregated ClusterRole when you need readonly access to "Addressables"
  37. apiVersion: rbac.authorization.k8s.io/v1
  38. kind: ClusterRole
  39. metadata:
  40. # Named like this to avoid clashing with eventing's existing `addressable-resolver` role
  41. # (which should be identical, but isn't guaranteed to be installed alongside serving).
  42. name: knative-serving-aggregated-addressable-resolver
  43. labels:
  44. serving.knative.dev/release: "v0.26.0"
  45. app.kubernetes.io/version: "0.26.0"
  46. app.kubernetes.io/part-of: knative-serving
  47. aggregationRule:
  48. clusterRoleSelectors:
  49. - matchLabels:
  50. duck.knative.dev/addressable: "true"
  51. ---
  52. kind: ClusterRole
  53. apiVersion: rbac.authorization.k8s.io/v1
  54. metadata:
  55. name: knative-serving-addressable-resolver
  56. labels:
  57. serving.knative.dev/release: "v0.26.0"
  58. # Labeled to facilitate aggregated cluster roles that act on Addressables.
  59. duck.knative.dev/addressable: "true"
  60. app.kubernetes.io/version: "0.26.0"
  61. app.kubernetes.io/part-of: knative-serving
  62. # Do not use this role directly. These rules will be added to the "addressable-resolver" role.
  63. rules:
  64. - apiGroups:
  65. - serving.knative.dev
  66. resources:
  67. - routes
  68. - routes/status
  69. - services
  70. - services/status
  71. verbs:
  72. - get
  73. - list
  74. - watch
  75. ---
  76. # Copyright 2019 The Knative Authors
  77. #
  78. # Licensed under the Apache License, Version 2.0 (the "License");
  79. # you may not use this file except in compliance with the License.
  80. # You may obtain a copy of the License at
  81. #
  82. # https://www.apache.org/licenses/LICENSE-2.0
  83. #
  84. # Unless required by applicable law or agreed to in writing, software
  85. # distributed under the License is distributed on an "AS IS" BASIS,
  86. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  87. # See the License for the specific language governing permissions and
  88. # limitations under the License.
  89. kind: ClusterRole
  90. apiVersion: rbac.authorization.k8s.io/v1
  91. metadata:
  92. name: knative-serving-namespaced-admin
  93. labels:
  94. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  95. serving.knative.dev/release: "v0.26.0"
  96. app.kubernetes.io/version: "0.26.0"
  97. app.kubernetes.io/part-of: knative-serving
  98. rules:
  99. - apiGroups: ["serving.knative.dev"]
  100. resources: ["*"]
  101. verbs: ["*"]
  102. - apiGroups: ["networking.internal.knative.dev", "autoscaling.internal.knative.dev", "caching.internal.knative.dev"]
  103. resources: ["*"]
  104. verbs: ["get", "list", "watch"]
  105. ---
  106. kind: ClusterRole
  107. apiVersion: rbac.authorization.k8s.io/v1
  108. metadata:
  109. name: knative-serving-namespaced-edit
  110. labels:
  111. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  112. serving.knative.dev/release: "v0.26.0"
  113. app.kubernetes.io/version: "0.26.0"
  114. app.kubernetes.io/part-of: knative-serving
  115. rules:
  116. - apiGroups: ["serving.knative.dev"]
  117. resources: ["*"]
  118. verbs: ["create", "update", "patch", "delete"]
  119. - apiGroups: ["networking.internal.knative.dev", "autoscaling.internal.knative.dev", "caching.internal.knative.dev"]
  120. resources: ["*"]
  121. verbs: ["get", "list", "watch"]
  122. ---
  123. kind: ClusterRole
  124. apiVersion: rbac.authorization.k8s.io/v1
  125. metadata:
  126. name: knative-serving-namespaced-view
  127. labels:
  128. rbac.authorization.k8s.io/aggregate-to-view: "true"
  129. serving.knative.dev/release: "v0.26.0"
  130. app.kubernetes.io/version: "0.26.0"
  131. app.kubernetes.io/part-of: knative-serving
  132. rules:
  133. - apiGroups: ["serving.knative.dev", "networking.internal.knative.dev", "autoscaling.internal.knative.dev", "caching.internal.knative.dev"]
  134. resources: ["*"]
  135. verbs: ["get", "list", "watch"]
  136. ---
  137. # Copyright 2019 The Knative Authors
  138. #
  139. # Licensed under the Apache License, Version 2.0 (the "License");
  140. # you may not use this file except in compliance with the License.
  141. # You may obtain a copy of the License at
  142. #
  143. # https://www.apache.org/licenses/LICENSE-2.0
  144. #
  145. # Unless required by applicable law or agreed to in writing, software
  146. # distributed under the License is distributed on an "AS IS" BASIS,
  147. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  148. # See the License for the specific language governing permissions and
  149. # limitations under the License.
  150. kind: ClusterRole
  151. apiVersion: rbac.authorization.k8s.io/v1
  152. metadata:
  153. name: knative-serving-core
  154. labels:
  155. serving.knative.dev/release: "v0.26.0"
  156. serving.knative.dev/controller: "true"
  157. app.kubernetes.io/version: "0.26.0"
  158. app.kubernetes.io/part-of: knative-serving
  159. rules:
  160. - apiGroups: [""]
  161. resources: ["pods", "namespaces", "secrets", "configmaps", "endpoints", "services", "events", "serviceaccounts"]
  162. verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  163. - apiGroups: [""]
  164. resources: ["endpoints/restricted"] # Permission for RestrictedEndpointsAdmission
  165. verbs: ["create"]
  166. - apiGroups: [""]
  167. resources: ["namespaces/finalizers"] # finalizers are needed for the owner reference of the webhook
  168. verbs: ["update"]
  169. - apiGroups: ["apps"]
  170. resources: ["deployments", "deployments/finalizers"] # finalizers are needed for the owner reference of the webhook
  171. verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  172. - apiGroups: ["admissionregistration.k8s.io"]
  173. resources: ["mutatingwebhookconfigurations", "validatingwebhookconfigurations"]
  174. verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  175. - apiGroups: ["apiextensions.k8s.io"]
  176. resources: ["customresourcedefinitions", "customresourcedefinitions/status"]
  177. verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  178. - apiGroups: ["autoscaling"]
  179. resources: ["horizontalpodautoscalers"]
  180. verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  181. - apiGroups: ["coordination.k8s.io"]
  182. resources: ["leases"]
  183. verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  184. - apiGroups: ["serving.knative.dev", "autoscaling.internal.knative.dev", "networking.internal.knative.dev"]
  185. resources: ["*", "*/status", "*/finalizers"]
  186. verbs: ["get", "list", "create", "update", "delete", "deletecollection", "patch", "watch"]
  187. - apiGroups: ["caching.internal.knative.dev"]
  188. resources: ["images"]
  189. verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
  190. ---
  191. # Copyright 2019 The Knative Authors
  192. #
  193. # Licensed under the Apache License, Version 2.0 (the "License");
  194. # you may not use this file except in compliance with the License.
  195. # You may obtain a copy of the License at
  196. #
  197. # https://www.apache.org/licenses/LICENSE-2.0
  198. #
  199. # Unless required by applicable law or agreed to in writing, software
  200. # distributed under the License is distributed on an "AS IS" BASIS,
  201. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  202. # See the License for the specific language governing permissions and
  203. # limitations under the License.
  204. kind: ClusterRole
  205. apiVersion: rbac.authorization.k8s.io/v1
  206. metadata:
  207. name: knative-serving-podspecable-binding
  208. labels:
  209. serving.knative.dev/release: "v0.26.0"
  210. # Labeled to facilitate aggregated cluster roles that act on PodSpecables.
  211. duck.knative.dev/podspecable: "true"
  212. app.kubernetes.io/version: "0.26.0"
  213. app.kubernetes.io/part-of: knative-serving
  214. # Do not use this role directly. These rules will be added to the "podspecable-binder" role.
  215. rules:
  216. - apiGroups:
  217. - serving.knative.dev
  218. resources:
  219. - configurations
  220. - services
  221. verbs:
  222. - list
  223. - watch
  224. - patch
  225. ---
  226. # Copyright 2018 The Knative Authors
  227. #
  228. # Licensed under the Apache License, Version 2.0 (the "License");
  229. # you may not use this file except in compliance with the License.
  230. # You may obtain a copy of the License at
  231. #
  232. # https://www.apache.org/licenses/LICENSE-2.0
  233. #
  234. # Unless required by applicable law or agreed to in writing, software
  235. # distributed under the License is distributed on an "AS IS" BASIS,
  236. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  237. # See the License for the specific language governing permissions and
  238. # limitations under the License.
  239. apiVersion: v1
  240. kind: ServiceAccount
  241. metadata:
  242. name: controller
  243. namespace: knative-serving
  244. labels:
  245. serving.knative.dev/release: "v0.26.0"
  246. app.kubernetes.io/name: controller
  247. app.kubernetes.io/version: "0.26.0"
  248. app.kubernetes.io/part-of: knative-serving
  249. ---
  250. kind: ClusterRole
  251. apiVersion: rbac.authorization.k8s.io/v1
  252. metadata:
  253. name: knative-serving-admin
  254. labels:
  255. serving.knative.dev/release: "v0.26.0"
  256. app.kubernetes.io/version: "0.26.0"
  257. app.kubernetes.io/part-of: knative-serving
  258. aggregationRule:
  259. clusterRoleSelectors:
  260. - matchLabels:
  261. serving.knative.dev/controller: "true"
  262. ---
  263. apiVersion: rbac.authorization.k8s.io/v1
  264. kind: ClusterRoleBinding
  265. metadata:
  266. name: knative-serving-controller-admin
  267. labels:
  268. serving.knative.dev/release: "v0.26.0"
  269. app.kubernetes.io/name: controller
  270. app.kubernetes.io/version: "0.26.0"
  271. app.kubernetes.io/part-of: knative-serving
  272. subjects:
  273. - kind: ServiceAccount
  274. name: controller
  275. namespace: knative-serving
  276. roleRef:
  277. kind: ClusterRole
  278. name: knative-serving-admin
  279. apiGroup: rbac.authorization.k8s.io
  280. ---
  281. apiVersion: rbac.authorization.k8s.io/v1
  282. kind: ClusterRoleBinding
  283. metadata:
  284. name: knative-serving-controller-addressable-resolver
  285. labels:
  286. serving.knative.dev/release: "v0.26.0"
  287. app.kubernetes.io/name: controller
  288. app.kubernetes.io/version: "0.26.0"
  289. app.kubernetes.io/part-of: knative-serving
  290. subjects:
  291. - kind: ServiceAccount
  292. name: controller
  293. namespace: knative-serving
  294. roleRef:
  295. kind: ClusterRole
  296. name: knative-serving-aggregated-addressable-resolver
  297. apiGroup: rbac.authorization.k8s.io
  298. ---
  299. # Copyright 2018 The Knative Authors
  300. #
  301. # Licensed under the Apache License, Version 2.0 (the "License");
  302. # you may not use this file except in compliance with the License.
  303. # You may obtain a copy of the License at
  304. #
  305. # https://www.apache.org/licenses/LICENSE-2.0
  306. #
  307. # Unless required by applicable law or agreed to in writing, software
  308. # distributed under the License is distributed on an "AS IS" BASIS,
  309. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  310. # See the License for the specific language governing permissions and
  311. # limitations under the License.
  312. apiVersion: apiextensions.k8s.io/v1
  313. kind: CustomResourceDefinition
  314. metadata:
  315. name: images.caching.internal.knative.dev
  316. labels:
  317. knative.dev/crd-install: "true"
  318. spec:
  319. group: caching.internal.knative.dev
  320. names:
  321. kind: Image
  322. plural: images
  323. singular: image
  324. categories:
  325. - knative-internal
  326. - caching
  327. shortNames:
  328. - img
  329. scope: Namespaced
  330. versions:
  331. - name: v1alpha1
  332. served: true
  333. storage: true
  334. subresources:
  335. status: {}
  336. schema:
  337. openAPIV3Schema:
  338. type: object
  339. # this is a work around so we don't need to flush out the
  340. # schema for each version at this time
  341. #
  342. # see issue: https://github.com/knative/serving/issues/912
  343. x-kubernetes-preserve-unknown-fields: true
  344. additionalPrinterColumns:
  345. - name: Image
  346. type: string
  347. jsonPath: .spec.image
  348. ---
  349. # Copyright 2020 The Knative Authors
  350. #
  351. # Licensed under the Apache License, Version 2.0 (the "License");
  352. # you may not use this file except in compliance with the License.
  353. # You may obtain a copy of the License at
  354. #
  355. # https://www.apache.org/licenses/LICENSE-2.0
  356. #
  357. # Unless required by applicable law or agreed to in writing, software
  358. # distributed under the License is distributed on an "AS IS" BASIS,
  359. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  360. # See the License for the specific language governing permissions and
  361. # limitations under the License.
  362. apiVersion: apiextensions.k8s.io/v1
  363. kind: CustomResourceDefinition
  364. metadata:
  365. name: certificates.networking.internal.knative.dev
  366. labels:
  367. serving.knative.dev/release: "v0.26.0"
  368. knative.dev/crd-install: "true"
  369. spec:
  370. group: networking.internal.knative.dev
  371. versions:
  372. - name: v1alpha1
  373. served: true
  374. storage: true
  375. subresources:
  376. status: {}
  377. schema:
  378. openAPIV3Schema:
  379. type: object
  380. # this is a work around so we don't need to flush out the
  381. # schema for each version at this time
  382. #
  383. # see issue: https://github.com/knative/serving/issues/912
  384. x-kubernetes-preserve-unknown-fields: true
  385. additionalPrinterColumns:
  386. - name: Ready
  387. type: string
  388. jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
  389. - name: Reason
  390. type: string
  391. jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  392. names:
  393. kind: Certificate
  394. plural: certificates
  395. singular: certificate
  396. categories:
  397. - knative-internal
  398. - networking
  399. shortNames:
  400. - kcert
  401. scope: Namespaced
  402. ---
  403. # Copyright 2019 The Knative Authors
  404. #
  405. # Licensed under the Apache License, Version 2.0 (the "License");
  406. # you may not use this file except in compliance with the License.
  407. # You may obtain a copy of the License at
  408. #
  409. # https://www.apache.org/licenses/LICENSE-2.0
  410. #
  411. # Unless required by applicable law or agreed to in writing, software
  412. # distributed under the License is distributed on an "AS IS" BASIS,
  413. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  414. # See the License for the specific language governing permissions and
  415. # limitations under the License.
  416. # Note: The schema part of the spec is auto-generated by hack/update-schemas.sh.
  417. apiVersion: apiextensions.k8s.io/v1
  418. kind: CustomResourceDefinition
  419. metadata:
  420. name: configurations.serving.knative.dev
  421. labels:
  422. serving.knative.dev/release: "v0.26.0"
  423. knative.dev/crd-install: "true"
  424. duck.knative.dev/podspecable: "true"
  425. spec:
  426. group: serving.knative.dev
  427. names:
  428. kind: Configuration
  429. plural: configurations
  430. singular: configuration
  431. categories:
  432. - all
  433. - knative
  434. - serving
  435. shortNames:
  436. - config
  437. - cfg
  438. scope: Namespaced
  439. versions:
  440. - name: v1
  441. served: true
  442. storage: true
  443. subresources:
  444. status: {}
  445. additionalPrinterColumns:
  446. - name: LatestCreated
  447. type: string
  448. jsonPath: .status.latestCreatedRevisionName
  449. - name: LatestReady
  450. type: string
  451. jsonPath: .status.latestReadyRevisionName
  452. - name: Ready
  453. type: string
  454. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  455. - name: Reason
  456. type: string
  457. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  458. schema:
  459. openAPIV3Schema:
  460. description: 'Configuration represents the "floating HEAD" of a linear history of Revisions. Users create new Revisions by updating the Configuration''s spec. The "latest created" revision''s name is available under status, as is the "latest ready" revision''s name. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration'
  461. type: object
  462. properties:
  463. apiVersion:
  464. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  465. type: string
  466. kind:
  467. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  468. type: string
  469. metadata:
  470. type: object
  471. spec:
  472. description: ConfigurationSpec holds the desired state of the Configuration (from the client).
  473. type: object
  474. properties:
  475. template:
  476. description: Template holds the latest specification for the Revision to be stamped out.
  477. type: object
  478. properties:
  479. metadata:
  480. type: object
  481. properties:
  482. annotations:
  483. type: object
  484. additionalProperties:
  485. type: string
  486. finalizers:
  487. type: array
  488. items:
  489. type: string
  490. labels:
  491. type: object
  492. additionalProperties:
  493. type: string
  494. name:
  495. type: string
  496. namespace:
  497. type: string
  498. x-kubernetes-preserve-unknown-fields: true
  499. spec:
  500. description: RevisionSpec holds the desired state of the Revision (from the client).
  501. type: object
  502. required:
  503. - containers
  504. properties:
  505. automountServiceAccountToken:
  506. description: AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
  507. type: boolean
  508. containerConcurrency:
  509. description: ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. Defaults to `0` which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
  510. type: integer
  511. format: int64
  512. containers:
  513. description: List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.
  514. type: array
  515. items:
  516. description: A single application container that you want to run within a pod.
  517. type: object
  518. properties:
  519. args:
  520. description: 'Arguments to the entrypoint. The docker image''s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  521. type: array
  522. items:
  523. type: string
  524. command:
  525. description: 'Entrypoint array. Not executed within a shell. The docker image''s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  526. type: array
  527. items:
  528. type: string
  529. env:
  530. description: List of environment variables to set in the container. Cannot be updated.
  531. type: array
  532. items:
  533. description: EnvVar represents an environment variable present in a Container.
  534. type: object
  535. required:
  536. - name
  537. properties:
  538. name:
  539. description: Name of the environment variable. Must be a C_IDENTIFIER.
  540. type: string
  541. value:
  542. description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".'
  543. type: string
  544. valueFrom:
  545. description: Source for the environment variable's value. Cannot be used if value is not empty.
  546. type: object
  547. properties:
  548. configMapKeyRef:
  549. description: Selects a key of a ConfigMap.
  550. type: object
  551. required:
  552. - key
  553. properties:
  554. key:
  555. description: The key to select.
  556. type: string
  557. name:
  558. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  559. type: string
  560. optional:
  561. description: Specify whether the ConfigMap or its key must be defined
  562. type: boolean
  563. secretKeyRef:
  564. description: Selects a key of a secret in the pod's namespace
  565. type: object
  566. required:
  567. - key
  568. properties:
  569. key:
  570. description: The key of the secret to select from. Must be a valid secret key.
  571. type: string
  572. name:
  573. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  574. type: string
  575. optional:
  576. description: Specify whether the Secret or its key must be defined
  577. type: boolean
  578. x-kubernetes-preserve-unknown-fields: true
  579. envFrom:
  580. description: List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
  581. type: array
  582. items:
  583. description: EnvFromSource represents the source of a set of ConfigMaps
  584. type: object
  585. properties:
  586. configMapRef:
  587. description: The ConfigMap to select from
  588. type: object
  589. properties:
  590. name:
  591. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  592. type: string
  593. optional:
  594. description: Specify whether the ConfigMap must be defined
  595. type: boolean
  596. prefix:
  597. description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
  598. type: string
  599. secretRef:
  600. description: The Secret to select from
  601. type: object
  602. properties:
  603. name:
  604. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  605. type: string
  606. optional:
  607. description: Specify whether the Secret must be defined
  608. type: boolean
  609. image:
  610. description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.'
  611. type: string
  612. imagePullPolicy:
  613. description: 'Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  614. type: string
  615. livenessProbe:
  616. description: 'Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  617. type: object
  618. properties:
  619. exec:
  620. description: One and only one of the following should be specified. Exec specifies the action to take.
  621. type: object
  622. properties:
  623. command:
  624. description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
  625. type: array
  626. items:
  627. type: string
  628. failureThreshold:
  629. description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
  630. type: integer
  631. format: int32
  632. httpGet:
  633. description: HTTPGet specifies the http request to perform.
  634. type: object
  635. properties:
  636. host:
  637. description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
  638. type: string
  639. httpHeaders:
  640. description: Custom headers to set in the request. HTTP allows repeated headers.
  641. type: array
  642. items:
  643. description: HTTPHeader describes a custom header to be used in HTTP probes
  644. type: object
  645. required:
  646. - name
  647. - value
  648. properties:
  649. name:
  650. description: The header field name
  651. type: string
  652. value:
  653. description: The header field value
  654. type: string
  655. path:
  656. description: Path to access on the HTTP server.
  657. type: string
  658. scheme:
  659. description: Scheme to use for connecting to the host. Defaults to HTTP.
  660. type: string
  661. x-kubernetes-preserve-unknown-fields: true
  662. initialDelaySeconds:
  663. description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  664. type: integer
  665. format: int32
  666. periodSeconds:
  667. description: How often (in seconds) to perform the probe.
  668. type: integer
  669. format: int32
  670. successThreshold:
  671. description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
  672. type: integer
  673. format: int32
  674. tcpSocket:
  675. description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
  676. type: object
  677. properties:
  678. host:
  679. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  680. type: string
  681. x-kubernetes-preserve-unknown-fields: true
  682. timeoutSeconds:
  683. description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  684. type: integer
  685. format: int32
  686. name:
  687. description: Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
  688. type: string
  689. ports:
  690. description: List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.
  691. type: array
  692. items:
  693. description: ContainerPort represents a network port in a single container.
  694. type: object
  695. required:
  696. - containerPort
  697. properties:
  698. containerPort:
  699. description: Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.
  700. type: integer
  701. format: int32
  702. name:
  703. description: If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.
  704. type: string
  705. protocol:
  706. description: Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".
  707. type: string
  708. default: TCP
  709. x-kubernetes-preserve-unknown-fields: true
  710. x-kubernetes-list-map-keys:
  711. - containerPort
  712. - protocol
  713. x-kubernetes-list-type: map
  714. readinessProbe:
  715. description: 'Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  716. type: object
  717. properties:
  718. exec:
  719. description: One and only one of the following should be specified. Exec specifies the action to take.
  720. type: object
  721. properties:
  722. command:
  723. description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
  724. type: array
  725. items:
  726. type: string
  727. failureThreshold:
  728. description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
  729. type: integer
  730. format: int32
  731. httpGet:
  732. description: HTTPGet specifies the http request to perform.
  733. type: object
  734. properties:
  735. host:
  736. description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
  737. type: string
  738. httpHeaders:
  739. description: Custom headers to set in the request. HTTP allows repeated headers.
  740. type: array
  741. items:
  742. description: HTTPHeader describes a custom header to be used in HTTP probes
  743. type: object
  744. required:
  745. - name
  746. - value
  747. properties:
  748. name:
  749. description: The header field name
  750. type: string
  751. value:
  752. description: The header field value
  753. type: string
  754. path:
  755. description: Path to access on the HTTP server.
  756. type: string
  757. scheme:
  758. description: Scheme to use for connecting to the host. Defaults to HTTP.
  759. type: string
  760. x-kubernetes-preserve-unknown-fields: true
  761. initialDelaySeconds:
  762. description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  763. type: integer
  764. format: int32
  765. periodSeconds:
  766. description: How often (in seconds) to perform the probe.
  767. type: integer
  768. format: int32
  769. successThreshold:
  770. description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
  771. type: integer
  772. format: int32
  773. tcpSocket:
  774. description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
  775. type: object
  776. properties:
  777. host:
  778. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  779. type: string
  780. x-kubernetes-preserve-unknown-fields: true
  781. timeoutSeconds:
  782. description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  783. type: integer
  784. format: int32
  785. resources:
  786. description: 'Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  787. type: object
  788. properties:
  789. limits:
  790. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  791. type: object
  792. additionalProperties:
  793. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  794. anyOf:
  795. - type: integer
  796. - type: string
  797. x-kubernetes-int-or-string: true
  798. requests:
  799. description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  800. type: object
  801. additionalProperties:
  802. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  803. anyOf:
  804. - type: integer
  805. - type: string
  806. x-kubernetes-int-or-string: true
  807. securityContext:
  808. description: 'Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  809. type: object
  810. properties:
  811. capabilities:
  812. description: The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.
  813. type: object
  814. properties:
  815. drop:
  816. description: Removed capabilities
  817. type: array
  818. items:
  819. description: Capability represent POSIX capabilities type
  820. type: string
  821. x-kubernetes-preserve-unknown-fields: true
  822. readOnlyRootFilesystem:
  823. description: Whether this container has a read-only root filesystem. Default is false.
  824. type: boolean
  825. runAsUser:
  826. description: The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  827. type: integer
  828. format: int64
  829. x-kubernetes-preserve-unknown-fields: true
  830. terminationMessagePath:
  831. description: 'Optional: Path at which the file to which the container''s termination message will be written is mounted into the container''s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  832. type: string
  833. terminationMessagePolicy:
  834. description: Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
  835. type: string
  836. volumeMounts:
  837. description: Pod volumes to mount into the container's filesystem. Cannot be updated.
  838. type: array
  839. items:
  840. description: VolumeMount describes a mounting of a Volume within a container.
  841. type: object
  842. required:
  843. - mountPath
  844. - name
  845. properties:
  846. mountPath:
  847. description: Path within the container at which the volume should be mounted. Must not contain ':'.
  848. type: string
  849. name:
  850. description: This must match the Name of a Volume.
  851. type: string
  852. readOnly:
  853. description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
  854. type: boolean
  855. subPath:
  856. description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
  857. type: string
  858. workingDir:
  859. description: Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.
  860. type: string
  861. x-kubernetes-preserve-unknown-fields: true
  862. enableServiceLinks:
  863. description: 'EnableServiceLinks indicates whether information about services should be injected into pod''s environment variables, matching the syntax of Docker links. Optional: Defaults to true.'
  864. type: boolean
  865. imagePullSecrets:
  866. description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  867. type: array
  868. items:
  869. description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
  870. type: object
  871. properties:
  872. name:
  873. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  874. type: string
  875. serviceAccountName:
  876. description: 'ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  877. type: string
  878. timeoutSeconds:
  879. description: TimeoutSeconds is the maximum duration in seconds that the request routing layer will wait for a request delivered to a container to begin replying (send network traffic). If unspecified, a system default will be provided.
  880. type: integer
  881. format: int64
  882. volumes:
  883. description: 'List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  884. type: array
  885. items:
  886. description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
  887. type: object
  888. required:
  889. - name
  890. properties:
  891. configMap:
  892. description: ConfigMap represents a configMap that should populate this volume
  893. type: object
  894. properties:
  895. defaultMode:
  896. description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  897. type: integer
  898. format: int32
  899. items:
  900. description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  901. type: array
  902. items:
  903. description: Maps a string key to a path within a volume.
  904. type: object
  905. required:
  906. - key
  907. - path
  908. properties:
  909. key:
  910. description: The key to project.
  911. type: string
  912. mode:
  913. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  914. type: integer
  915. format: int32
  916. path:
  917. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  918. type: string
  919. name:
  920. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  921. type: string
  922. optional:
  923. description: Specify whether the ConfigMap or its keys must be defined
  924. type: boolean
  925. name:
  926. description: 'Volume''s name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  927. type: string
  928. projected:
  929. description: Items for all in one resources secrets, configmaps, and downward API
  930. type: object
  931. properties:
  932. defaultMode:
  933. description: Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
  934. type: integer
  935. format: int32
  936. sources:
  937. description: list of volume projections
  938. type: array
  939. items:
  940. description: Projection that may be projected along with other supported volume types
  941. type: object
  942. properties:
  943. configMap:
  944. description: information about the configMap data to project
  945. type: object
  946. properties:
  947. items:
  948. description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  949. type: array
  950. items:
  951. description: Maps a string key to a path within a volume.
  952. type: object
  953. required:
  954. - key
  955. - path
  956. properties:
  957. key:
  958. description: The key to project.
  959. type: string
  960. mode:
  961. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  962. type: integer
  963. format: int32
  964. path:
  965. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  966. type: string
  967. name:
  968. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  969. type: string
  970. optional:
  971. description: Specify whether the ConfigMap or its keys must be defined
  972. type: boolean
  973. secret:
  974. description: information about the secret data to project
  975. type: object
  976. properties:
  977. items:
  978. description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  979. type: array
  980. items:
  981. description: Maps a string key to a path within a volume.
  982. type: object
  983. required:
  984. - key
  985. - path
  986. properties:
  987. key:
  988. description: The key to project.
  989. type: string
  990. mode:
  991. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  992. type: integer
  993. format: int32
  994. path:
  995. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  996. type: string
  997. name:
  998. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  999. type: string
  1000. optional:
  1001. description: Specify whether the Secret or its key must be defined
  1002. type: boolean
  1003. serviceAccountToken:
  1004. description: information about the serviceAccountToken data to project
  1005. type: object
  1006. required:
  1007. - path
  1008. properties:
  1009. audience:
  1010. description: Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
  1011. type: string
  1012. expirationSeconds:
  1013. description: ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
  1014. type: integer
  1015. format: int64
  1016. path:
  1017. description: Path is the path relative to the mount point of the file to project the token into.
  1018. type: string
  1019. secret:
  1020. description: 'Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  1021. type: object
  1022. properties:
  1023. defaultMode:
  1024. description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  1025. type: integer
  1026. format: int32
  1027. items:
  1028. description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  1029. type: array
  1030. items:
  1031. description: Maps a string key to a path within a volume.
  1032. type: object
  1033. required:
  1034. - key
  1035. - path
  1036. properties:
  1037. key:
  1038. description: The key to project.
  1039. type: string
  1040. mode:
  1041. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  1042. type: integer
  1043. format: int32
  1044. path:
  1045. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  1046. type: string
  1047. optional:
  1048. description: Specify whether the Secret or its keys must be defined
  1049. type: boolean
  1050. secretName:
  1051. description: 'Name of the secret in the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  1052. type: string
  1053. x-kubernetes-preserve-unknown-fields: true
  1054. x-kubernetes-preserve-unknown-fields: true
  1055. status:
  1056. description: ConfigurationStatus communicates the observed state of the Configuration (from the controller).
  1057. type: object
  1058. properties:
  1059. annotations:
  1060. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  1061. type: object
  1062. additionalProperties:
  1063. type: string
  1064. conditions:
  1065. description: Conditions the latest available observations of a resource's current state.
  1066. type: array
  1067. items:
  1068. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  1069. type: object
  1070. required:
  1071. - status
  1072. - type
  1073. properties:
  1074. lastTransitionTime:
  1075. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  1076. type: string
  1077. format: date-time
  1078. message:
  1079. description: A human readable message indicating details about the transition.
  1080. type: string
  1081. reason:
  1082. description: The reason for the condition's last transition.
  1083. type: string
  1084. severity:
  1085. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  1086. type: string
  1087. status:
  1088. description: Status of the condition, one of True, False, Unknown.
  1089. type: string
  1090. type:
  1091. description: Type of condition.
  1092. type: string
  1093. latestCreatedRevisionName:
  1094. description: LatestCreatedRevisionName is the last revision that was created from this Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
  1095. type: string
  1096. latestReadyRevisionName:
  1097. description: LatestReadyRevisionName holds the name of the latest Revision stamped out from this Configuration that has had its "Ready" condition become "True".
  1098. type: string
  1099. observedGeneration:
  1100. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  1101. type: integer
  1102. format: int64
  1103. ---
  1104. # Copyright 2020 The Knative Authors
  1105. #
  1106. # Licensed under the Apache License, Version 2.0 (the "License");
  1107. # you may not use this file except in compliance with the License.
  1108. # You may obtain a copy of the License at
  1109. #
  1110. # https://www.apache.org/licenses/LICENSE-2.0
  1111. #
  1112. # Unless required by applicable law or agreed to in writing, software
  1113. # distributed under the License is distributed on an "AS IS" BASIS,
  1114. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  1115. # See the License for the specific language governing permissions and
  1116. # limitations under the License.
  1117. apiVersion: apiextensions.k8s.io/v1
  1118. kind: CustomResourceDefinition
  1119. metadata:
  1120. name: clusterdomainclaims.networking.internal.knative.dev
  1121. labels:
  1122. serving.knative.dev/release: "v0.26.0"
  1123. knative.dev/crd-install: "true"
  1124. spec:
  1125. group: networking.internal.knative.dev
  1126. versions:
  1127. - name: v1alpha1
  1128. served: true
  1129. storage: true
  1130. subresources:
  1131. status: {}
  1132. schema:
  1133. openAPIV3Schema:
  1134. type: object
  1135. # this is a work around so we don't need to flush out the
  1136. # schema for each version at this time
  1137. #
  1138. # see issue: https://github.com/knative/serving/issues/912
  1139. x-kubernetes-preserve-unknown-fields: true
  1140. names:
  1141. kind: ClusterDomainClaim
  1142. plural: clusterdomainclaims
  1143. singular: clusterdomainclaim
  1144. categories:
  1145. - knative-internal
  1146. - networking
  1147. shortNames:
  1148. - cdc
  1149. scope: Cluster
  1150. ---
  1151. # Copyright 2020 The Knative Authors
  1152. #
  1153. # Licensed under the Apache License, Version 2.0 (the "License");
  1154. # you may not use this file except in compliance with the License.
  1155. # You may obtain a copy of the License at
  1156. #
  1157. # https://www.apache.org/licenses/LICENSE-2.0
  1158. #
  1159. # Unless required by applicable law or agreed to in writing, software
  1160. # distributed under the License is distributed on an "AS IS" BASIS,
  1161. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  1162. # See the License for the specific language governing permissions and
  1163. # limitations under the License.
  1164. apiVersion: apiextensions.k8s.io/v1
  1165. kind: CustomResourceDefinition
  1166. metadata:
  1167. name: domainmappings.serving.knative.dev
  1168. labels:
  1169. serving.knative.dev/release: "v0.26.0"
  1170. knative.dev/crd-install: "true"
  1171. spec:
  1172. group: serving.knative.dev
  1173. versions:
  1174. - name: v1beta1
  1175. served: true
  1176. storage: false
  1177. subresources:
  1178. status: {}
  1179. additionalPrinterColumns:
  1180. - name: URL
  1181. type: string
  1182. jsonPath: .status.url
  1183. - name: Ready
  1184. type: string
  1185. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  1186. - name: Reason
  1187. type: string
  1188. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  1189. "schema":
  1190. "openAPIV3Schema":
  1191. description: DomainMapping is a mapping from a custom hostname to an Addressable.
  1192. type: object
  1193. properties:
  1194. apiVersion:
  1195. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1196. type: string
  1197. kind:
  1198. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1199. type: string
  1200. metadata:
  1201. type: object
  1202. spec:
  1203. description: 'Spec is the desired state of the DomainMapping. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  1204. type: object
  1205. required:
  1206. - ref
  1207. properties:
  1208. ref:
  1209. description: "Ref specifies the target of the Domain Mapping. \n The object identified by the Ref must be an Addressable with a URL of the form `{name}.{namespace}.{domain}` where `{domain}` is the cluster domain, and `{name}` and `{namespace}` are the name and namespace of a Kubernetes Service. \n This contract is satisfied by Knative types such as Knative Services and Knative Routes, and by Kubernetes Services."
  1210. type: object
  1211. required:
  1212. - kind
  1213. - name
  1214. properties:
  1215. apiVersion:
  1216. description: API version of the referent.
  1217. type: string
  1218. group:
  1219. description: 'Group of the API, without the version of the group. This can be used as an alternative to the APIVersion, and then resolved using ResolveGroup. Note: This API is EXPERIMENTAL and might break anytime. For more details: https://github.com/knative/eventing/issues/5086'
  1220. type: string
  1221. kind:
  1222. description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1223. type: string
  1224. name:
  1225. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1226. type: string
  1227. namespace:
  1228. description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
  1229. type: string
  1230. tls:
  1231. description: TLS allows the DomainMapping to terminate TLS traffic with an existing secret.
  1232. type: object
  1233. required:
  1234. - secretName
  1235. properties:
  1236. secretName:
  1237. description: SecretName is the name of the existing secret used to terminate TLS traffic.
  1238. type: string
  1239. status:
  1240. description: 'Status is the current state of the DomainMapping. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  1241. type: object
  1242. properties:
  1243. address:
  1244. description: Address holds the information needed for a DomainMapping to be the target of an event.
  1245. type: object
  1246. properties:
  1247. url:
  1248. type: string
  1249. annotations:
  1250. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  1251. type: object
  1252. additionalProperties:
  1253. type: string
  1254. conditions:
  1255. description: Conditions the latest available observations of a resource's current state.
  1256. type: array
  1257. items:
  1258. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  1259. type: object
  1260. required:
  1261. - status
  1262. - type
  1263. properties:
  1264. lastTransitionTime:
  1265. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  1266. type: string
  1267. format: date-time
  1268. message:
  1269. description: A human readable message indicating details about the transition.
  1270. type: string
  1271. reason:
  1272. description: The reason for the condition's last transition.
  1273. type: string
  1274. severity:
  1275. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  1276. type: string
  1277. status:
  1278. description: Status of the condition, one of True, False, Unknown.
  1279. type: string
  1280. type:
  1281. description: Type of condition.
  1282. type: string
  1283. observedGeneration:
  1284. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  1285. type: integer
  1286. format: int64
  1287. url:
  1288. description: URL is the URL of this DomainMapping.
  1289. type: string
  1290. - name: v1alpha1
  1291. served: true
  1292. storage: true
  1293. subresources:
  1294. status: {}
  1295. schema:
  1296. openAPIV3Schema:
  1297. description: DomainMapping is a mapping from a custom hostname to an Addressable.
  1298. type: object
  1299. properties:
  1300. apiVersion:
  1301. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1302. type: string
  1303. kind:
  1304. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1305. type: string
  1306. metadata:
  1307. type: object
  1308. spec:
  1309. description: 'Spec is the desired state of the DomainMapping. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  1310. type: object
  1311. required:
  1312. - ref
  1313. properties:
  1314. ref:
  1315. description: "Ref specifies the target of the Domain Mapping. \n The object identified by the Ref must be an Addressable with a URL of the form `{name}.{namespace}.{domain}` where `{domain}` is the cluster domain, and `{name}` and `{namespace}` are the name and namespace of a Kubernetes Service. \n This contract is satisfied by Knative types such as Knative Services and Knative Routes, and by Kubernetes Services."
  1316. type: object
  1317. required:
  1318. - kind
  1319. - name
  1320. properties:
  1321. apiVersion:
  1322. description: API version of the referent.
  1323. type: string
  1324. group:
  1325. description: 'Group of the API, without the version of the group. This can be used as an alternative to the APIVersion, and then resolved using ResolveGroup. Note: This API is EXPERIMENTAL and might break anytime. For more details: https://github.com/knative/eventing/issues/5086'
  1326. type: string
  1327. kind:
  1328. description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1329. type: string
  1330. name:
  1331. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1332. type: string
  1333. namespace:
  1334. description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
  1335. type: string
  1336. tls:
  1337. description: TLS allows the DomainMapping to terminate TLS traffic with an existing secret.
  1338. type: object
  1339. required:
  1340. - secretName
  1341. properties:
  1342. secretName:
  1343. description: SecretName is the name of the existing secret used to terminate TLS traffic.
  1344. type: string
  1345. status:
  1346. description: 'Status is the current state of the DomainMapping. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
  1347. type: object
  1348. properties:
  1349. address:
  1350. description: Address holds the information needed for a DomainMapping to be the target of an event.
  1351. type: object
  1352. properties:
  1353. url:
  1354. type: string
  1355. annotations:
  1356. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  1357. type: object
  1358. additionalProperties:
  1359. type: string
  1360. conditions:
  1361. description: Conditions the latest available observations of a resource's current state.
  1362. type: array
  1363. items:
  1364. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  1365. type: object
  1366. required:
  1367. - status
  1368. - type
  1369. properties:
  1370. lastTransitionTime:
  1371. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  1372. type: string
  1373. format: date-time
  1374. message:
  1375. description: A human readable message indicating details about the transition.
  1376. type: string
  1377. reason:
  1378. description: The reason for the condition's last transition.
  1379. type: string
  1380. severity:
  1381. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  1382. type: string
  1383. status:
  1384. description: Status of the condition, one of True, False, Unknown.
  1385. type: string
  1386. type:
  1387. description: Type of condition.
  1388. type: string
  1389. observedGeneration:
  1390. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  1391. type: integer
  1392. format: int64
  1393. url:
  1394. description: URL is the URL of this DomainMapping.
  1395. type: string
  1396. additionalPrinterColumns:
  1397. - name: URL
  1398. type: string
  1399. jsonPath: .status.url
  1400. - name: Ready
  1401. type: string
  1402. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  1403. - name: Reason
  1404. type: string
  1405. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  1406. names:
  1407. kind: DomainMapping
  1408. plural: domainmappings
  1409. singular: domainmapping
  1410. categories:
  1411. - all
  1412. - knative
  1413. - serving
  1414. shortNames:
  1415. - dm
  1416. scope: Namespaced
  1417. ---
  1418. # Copyright 2020 The Knative Authors
  1419. #
  1420. # Licensed under the Apache License, Version 2.0 (the "License");
  1421. # you may not use this file except in compliance with the License.
  1422. # You may obtain a copy of the License at
  1423. #
  1424. # https://www.apache.org/licenses/LICENSE-2.0
  1425. #
  1426. # Unless required by applicable law or agreed to in writing, software
  1427. # distributed under the License is distributed on an "AS IS" BASIS,
  1428. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  1429. # See the License for the specific language governing permissions and
  1430. # limitations under the License.
  1431. apiVersion: apiextensions.k8s.io/v1
  1432. kind: CustomResourceDefinition
  1433. metadata:
  1434. name: ingresses.networking.internal.knative.dev
  1435. labels:
  1436. serving.knative.dev/release: "v0.26.0"
  1437. knative.dev/crd-install: "true"
  1438. spec:
  1439. group: networking.internal.knative.dev
  1440. versions:
  1441. - name: v1alpha1
  1442. served: true
  1443. storage: true
  1444. subresources:
  1445. status: {}
  1446. schema:
  1447. openAPIV3Schema:
  1448. type: object
  1449. # this is a work around so we don't need to flush out the
  1450. # schema for each version at this time
  1451. #
  1452. # see issue: https://github.com/knative/serving/issues/912
  1453. x-kubernetes-preserve-unknown-fields: true
  1454. additionalPrinterColumns:
  1455. - name: Ready
  1456. type: string
  1457. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  1458. - name: Reason
  1459. type: string
  1460. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  1461. names:
  1462. kind: Ingress
  1463. plural: ingresses
  1464. singular: ingress
  1465. categories:
  1466. - knative-internal
  1467. - networking
  1468. shortNames:
  1469. - kingress
  1470. - king
  1471. scope: Namespaced
  1472. ---
  1473. # Copyright 2019 The Knative Authors
  1474. #
  1475. # Licensed under the Apache License, Version 2.0 (the "License");
  1476. # you may not use this file except in compliance with the License.
  1477. # You may obtain a copy of the License at
  1478. #
  1479. # https://www.apache.org/licenses/LICENSE-2.0
  1480. #
  1481. # Unless required by applicable law or agreed to in writing, software
  1482. # distributed under the License is distributed on an "AS IS" BASIS,
  1483. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  1484. # See the License for the specific language governing permissions and
  1485. # limitations under the License.
  1486. # Note: The schema part of the spec is auto-generated by hack/update-schemas.sh.
  1487. apiVersion: apiextensions.k8s.io/v1
  1488. kind: CustomResourceDefinition
  1489. metadata:
  1490. name: metrics.autoscaling.internal.knative.dev
  1491. labels:
  1492. serving.knative.dev/release: "v0.26.0"
  1493. knative.dev/crd-install: "true"
  1494. spec:
  1495. group: autoscaling.internal.knative.dev
  1496. names:
  1497. kind: Metric
  1498. plural: metrics
  1499. singular: metric
  1500. categories:
  1501. - knative-internal
  1502. - autoscaling
  1503. scope: Namespaced
  1504. versions:
  1505. - name: v1alpha1
  1506. served: true
  1507. storage: true
  1508. subresources:
  1509. status: {}
  1510. additionalPrinterColumns:
  1511. - name: Ready
  1512. type: string
  1513. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  1514. - name: Reason
  1515. type: string
  1516. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  1517. schema:
  1518. openAPIV3Schema:
  1519. description: Metric represents a resource to configure the metric collector with.
  1520. type: object
  1521. properties:
  1522. apiVersion:
  1523. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1524. type: string
  1525. kind:
  1526. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1527. type: string
  1528. metadata:
  1529. type: object
  1530. spec:
  1531. description: Spec holds the desired state of the Metric (from the client).
  1532. type: object
  1533. required:
  1534. - panicWindow
  1535. - scrapeTarget
  1536. - stableWindow
  1537. properties:
  1538. panicWindow:
  1539. description: PanicWindow is the aggregation window for metrics where quick reactions are needed.
  1540. type: integer
  1541. format: int64
  1542. scrapeTarget:
  1543. description: ScrapeTarget is the K8s service that publishes the metric endpoint.
  1544. type: string
  1545. stableWindow:
  1546. description: StableWindow is the aggregation window for metrics in a stable state.
  1547. type: integer
  1548. format: int64
  1549. status:
  1550. description: Status communicates the observed state of the Metric (from the controller).
  1551. type: object
  1552. properties:
  1553. annotations:
  1554. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  1555. type: object
  1556. additionalProperties:
  1557. type: string
  1558. conditions:
  1559. description: Conditions the latest available observations of a resource's current state.
  1560. type: array
  1561. items:
  1562. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  1563. type: object
  1564. required:
  1565. - status
  1566. - type
  1567. properties:
  1568. lastTransitionTime:
  1569. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  1570. type: string
  1571. format: date-time
  1572. message:
  1573. description: A human readable message indicating details about the transition.
  1574. type: string
  1575. reason:
  1576. description: The reason for the condition's last transition.
  1577. type: string
  1578. severity:
  1579. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  1580. type: string
  1581. status:
  1582. description: Status of the condition, one of True, False, Unknown.
  1583. type: string
  1584. type:
  1585. description: Type of condition.
  1586. type: string
  1587. observedGeneration:
  1588. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  1589. type: integer
  1590. format: int64
  1591. ---
  1592. # Copyright 2018 The Knative Authors
  1593. #
  1594. # Licensed under the Apache License, Version 2.0 (the "License");
  1595. # you may not use this file except in compliance with the License.
  1596. # You may obtain a copy of the License at
  1597. #
  1598. # https://www.apache.org/licenses/LICENSE-2.0
  1599. #
  1600. # Unless required by applicable law or agreed to in writing, software
  1601. # distributed under the License is distributed on an "AS IS" BASIS,
  1602. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  1603. # See the License for the specific language governing permissions and
  1604. # limitations under the License.
  1605. # Note: The schema part of the spec is auto-generated by hack/update-schemas.sh.
  1606. apiVersion: apiextensions.k8s.io/v1
  1607. kind: CustomResourceDefinition
  1608. metadata:
  1609. name: podautoscalers.autoscaling.internal.knative.dev
  1610. labels:
  1611. serving.knative.dev/release: "v0.26.0"
  1612. knative.dev/crd-install: "true"
  1613. spec:
  1614. group: autoscaling.internal.knative.dev
  1615. names:
  1616. kind: PodAutoscaler
  1617. plural: podautoscalers
  1618. singular: podautoscaler
  1619. categories:
  1620. - knative-internal
  1621. - autoscaling
  1622. shortNames:
  1623. - kpa
  1624. - pa
  1625. scope: Namespaced
  1626. versions:
  1627. - name: v1alpha1
  1628. served: true
  1629. storage: true
  1630. subresources:
  1631. status: {}
  1632. additionalPrinterColumns:
  1633. - name: DesiredScale
  1634. type: integer
  1635. jsonPath: ".status.desiredScale"
  1636. - name: ActualScale
  1637. type: integer
  1638. jsonPath: ".status.actualScale"
  1639. - name: Ready
  1640. type: string
  1641. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  1642. - name: Reason
  1643. type: string
  1644. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  1645. schema:
  1646. openAPIV3Schema:
  1647. description: 'PodAutoscaler is a Knative abstraction that encapsulates the interface by which Knative components instantiate autoscalers. This definition is an abstraction that may be backed by multiple definitions. For more information, see the Knative Pluggability presentation: https://docs.google.com/presentation/d/10KWynvAJYuOEWy69VBa6bHJVCqIsz1TNdEKosNvcpPY/edit'
  1648. type: object
  1649. properties:
  1650. apiVersion:
  1651. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1652. type: string
  1653. kind:
  1654. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1655. type: string
  1656. metadata:
  1657. type: object
  1658. spec:
  1659. description: Spec holds the desired state of the PodAutoscaler (from the client).
  1660. type: object
  1661. required:
  1662. - protocolType
  1663. - scaleTargetRef
  1664. properties:
  1665. containerConcurrency:
  1666. description: ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. Defaults to `0` which means unlimited concurrency.
  1667. type: integer
  1668. format: int64
  1669. protocolType:
  1670. description: The application-layer protocol. Matches `ProtocolType` inferred from the revision spec.
  1671. type: string
  1672. reachability:
  1673. description: Reachability specifies whether or not the `ScaleTargetRef` can be reached (ie. has a route). Defaults to `ReachabilityUnknown`
  1674. type: string
  1675. scaleTargetRef:
  1676. description: ScaleTargetRef defines the /scale-able resource that this PodAutoscaler is responsible for quickly right-sizing.
  1677. type: object
  1678. properties:
  1679. apiVersion:
  1680. description: API version of the referent.
  1681. type: string
  1682. kind:
  1683. description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1684. type: string
  1685. name:
  1686. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1687. type: string
  1688. status:
  1689. description: Status communicates the observed state of the PodAutoscaler (from the controller).
  1690. type: object
  1691. required:
  1692. - metricsServiceName
  1693. - serviceName
  1694. properties:
  1695. actualScale:
  1696. description: ActualScale shows the actual number of replicas for the revision.
  1697. type: integer
  1698. format: int32
  1699. annotations:
  1700. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  1701. type: object
  1702. additionalProperties:
  1703. type: string
  1704. conditions:
  1705. description: Conditions the latest available observations of a resource's current state.
  1706. type: array
  1707. items:
  1708. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  1709. type: object
  1710. required:
  1711. - status
  1712. - type
  1713. properties:
  1714. lastTransitionTime:
  1715. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  1716. type: string
  1717. format: date-time
  1718. message:
  1719. description: A human readable message indicating details about the transition.
  1720. type: string
  1721. reason:
  1722. description: The reason for the condition's last transition.
  1723. type: string
  1724. severity:
  1725. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  1726. type: string
  1727. status:
  1728. description: Status of the condition, one of True, False, Unknown.
  1729. type: string
  1730. type:
  1731. description: Type of condition.
  1732. type: string
  1733. desiredScale:
  1734. description: DesiredScale shows the current desired number of replicas for the revision.
  1735. type: integer
  1736. format: int32
  1737. metricsServiceName:
  1738. description: MetricsServiceName is the K8s Service name that provides revision metrics. The service is managed by the PA object.
  1739. type: string
  1740. observedGeneration:
  1741. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  1742. type: integer
  1743. format: int64
  1744. serviceName:
  1745. description: ServiceName is the K8s Service name that serves the revision, scaled by this PA. The service is created and owned by the ServerlessService object owned by this PA.
  1746. type: string
  1747. ---
  1748. # Copyright 2019 The Knative Authors
  1749. #
  1750. # Licensed under the Apache License, Version 2.0 (the "License");
  1751. # you may not use this file except in compliance with the License.
  1752. # You may obtain a copy of the License at
  1753. #
  1754. # https://www.apache.org/licenses/LICENSE-2.0
  1755. #
  1756. # Unless required by applicable law or agreed to in writing, software
  1757. # distributed under the License is distributed on an "AS IS" BASIS,
  1758. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  1759. # See the License for the specific language governing permissions and
  1760. # limitations under the License.
  1761. # Note: The schema part of the spec is auto-generated by hack/update-schemas.sh.
  1762. apiVersion: apiextensions.k8s.io/v1
  1763. kind: CustomResourceDefinition
  1764. metadata:
  1765. name: revisions.serving.knative.dev
  1766. labels:
  1767. serving.knative.dev/release: "v0.26.0"
  1768. knative.dev/crd-install: "true"
  1769. spec:
  1770. group: serving.knative.dev
  1771. names:
  1772. kind: Revision
  1773. plural: revisions
  1774. singular: revision
  1775. categories:
  1776. - all
  1777. - knative
  1778. - serving
  1779. shortNames:
  1780. - rev
  1781. scope: Namespaced
  1782. versions:
  1783. - name: v1
  1784. served: true
  1785. storage: true
  1786. subresources:
  1787. status: {}
  1788. additionalPrinterColumns:
  1789. - name: Config Name
  1790. type: string
  1791. jsonPath: ".metadata.labels['serving\\.knative\\.dev/configuration']"
  1792. - name: K8s Service Name
  1793. type: string
  1794. jsonPath: ".status.serviceName"
  1795. - name: Generation
  1796. type: string # int in string form :(
  1797. jsonPath: ".metadata.labels['serving\\.knative\\.dev/configurationGeneration']"
  1798. - name: Ready
  1799. type: string
  1800. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  1801. - name: Reason
  1802. type: string
  1803. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  1804. - name: Actual Replicas
  1805. type: integer
  1806. jsonPath: ".status.actualReplicas"
  1807. - name: Desired Replicas
  1808. type: integer
  1809. jsonPath: ".status.desiredReplicas"
  1810. schema:
  1811. openAPIV3Schema:
  1812. description: "Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. \n See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision"
  1813. type: object
  1814. properties:
  1815. apiVersion:
  1816. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1817. type: string
  1818. kind:
  1819. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1820. type: string
  1821. metadata:
  1822. type: object
  1823. spec:
  1824. description: RevisionSpec holds the desired state of the Revision (from the client).
  1825. type: object
  1826. required:
  1827. - containers
  1828. properties:
  1829. automountServiceAccountToken:
  1830. description: AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
  1831. type: boolean
  1832. containerConcurrency:
  1833. description: ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. Defaults to `0` which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
  1834. type: integer
  1835. format: int64
  1836. containers:
  1837. description: List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.
  1838. type: array
  1839. items:
  1840. description: A single application container that you want to run within a pod.
  1841. type: object
  1842. properties:
  1843. args:
  1844. description: 'Arguments to the entrypoint. The docker image''s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  1845. type: array
  1846. items:
  1847. type: string
  1848. command:
  1849. description: 'Entrypoint array. Not executed within a shell. The docker image''s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  1850. type: array
  1851. items:
  1852. type: string
  1853. env:
  1854. description: List of environment variables to set in the container. Cannot be updated.
  1855. type: array
  1856. items:
  1857. description: EnvVar represents an environment variable present in a Container.
  1858. type: object
  1859. required:
  1860. - name
  1861. properties:
  1862. name:
  1863. description: Name of the environment variable. Must be a C_IDENTIFIER.
  1864. type: string
  1865. value:
  1866. description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".'
  1867. type: string
  1868. valueFrom:
  1869. description: Source for the environment variable's value. Cannot be used if value is not empty.
  1870. type: object
  1871. properties:
  1872. configMapKeyRef:
  1873. description: Selects a key of a ConfigMap.
  1874. type: object
  1875. required:
  1876. - key
  1877. properties:
  1878. key:
  1879. description: The key to select.
  1880. type: string
  1881. name:
  1882. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  1883. type: string
  1884. optional:
  1885. description: Specify whether the ConfigMap or its key must be defined
  1886. type: boolean
  1887. secretKeyRef:
  1888. description: Selects a key of a secret in the pod's namespace
  1889. type: object
  1890. required:
  1891. - key
  1892. properties:
  1893. key:
  1894. description: The key of the secret to select from. Must be a valid secret key.
  1895. type: string
  1896. name:
  1897. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  1898. type: string
  1899. optional:
  1900. description: Specify whether the Secret or its key must be defined
  1901. type: boolean
  1902. x-kubernetes-preserve-unknown-fields: true
  1903. envFrom:
  1904. description: List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
  1905. type: array
  1906. items:
  1907. description: EnvFromSource represents the source of a set of ConfigMaps
  1908. type: object
  1909. properties:
  1910. configMapRef:
  1911. description: The ConfigMap to select from
  1912. type: object
  1913. properties:
  1914. name:
  1915. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  1916. type: string
  1917. optional:
  1918. description: Specify whether the ConfigMap must be defined
  1919. type: boolean
  1920. prefix:
  1921. description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
  1922. type: string
  1923. secretRef:
  1924. description: The Secret to select from
  1925. type: object
  1926. properties:
  1927. name:
  1928. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  1929. type: string
  1930. optional:
  1931. description: Specify whether the Secret must be defined
  1932. type: boolean
  1933. image:
  1934. description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.'
  1935. type: string
  1936. imagePullPolicy:
  1937. description: 'Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  1938. type: string
  1939. livenessProbe:
  1940. description: 'Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1941. type: object
  1942. properties:
  1943. exec:
  1944. description: One and only one of the following should be specified. Exec specifies the action to take.
  1945. type: object
  1946. properties:
  1947. command:
  1948. description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
  1949. type: array
  1950. items:
  1951. type: string
  1952. failureThreshold:
  1953. description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
  1954. type: integer
  1955. format: int32
  1956. httpGet:
  1957. description: HTTPGet specifies the http request to perform.
  1958. type: object
  1959. properties:
  1960. host:
  1961. description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
  1962. type: string
  1963. httpHeaders:
  1964. description: Custom headers to set in the request. HTTP allows repeated headers.
  1965. type: array
  1966. items:
  1967. description: HTTPHeader describes a custom header to be used in HTTP probes
  1968. type: object
  1969. required:
  1970. - name
  1971. - value
  1972. properties:
  1973. name:
  1974. description: The header field name
  1975. type: string
  1976. value:
  1977. description: The header field value
  1978. type: string
  1979. path:
  1980. description: Path to access on the HTTP server.
  1981. type: string
  1982. scheme:
  1983. description: Scheme to use for connecting to the host. Defaults to HTTP.
  1984. type: string
  1985. x-kubernetes-preserve-unknown-fields: true
  1986. initialDelaySeconds:
  1987. description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1988. type: integer
  1989. format: int32
  1990. periodSeconds:
  1991. description: How often (in seconds) to perform the probe.
  1992. type: integer
  1993. format: int32
  1994. successThreshold:
  1995. description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
  1996. type: integer
  1997. format: int32
  1998. tcpSocket:
  1999. description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
  2000. type: object
  2001. properties:
  2002. host:
  2003. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  2004. type: string
  2005. x-kubernetes-preserve-unknown-fields: true
  2006. timeoutSeconds:
  2007. description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2008. type: integer
  2009. format: int32
  2010. name:
  2011. description: Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
  2012. type: string
  2013. ports:
  2014. description: List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.
  2015. type: array
  2016. items:
  2017. description: ContainerPort represents a network port in a single container.
  2018. type: object
  2019. required:
  2020. - containerPort
  2021. properties:
  2022. containerPort:
  2023. description: Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.
  2024. type: integer
  2025. format: int32
  2026. name:
  2027. description: If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.
  2028. type: string
  2029. protocol:
  2030. description: Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".
  2031. type: string
  2032. default: TCP
  2033. x-kubernetes-preserve-unknown-fields: true
  2034. x-kubernetes-list-map-keys:
  2035. - containerPort
  2036. - protocol
  2037. x-kubernetes-list-type: map
  2038. readinessProbe:
  2039. description: 'Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2040. type: object
  2041. properties:
  2042. exec:
  2043. description: One and only one of the following should be specified. Exec specifies the action to take.
  2044. type: object
  2045. properties:
  2046. command:
  2047. description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
  2048. type: array
  2049. items:
  2050. type: string
  2051. failureThreshold:
  2052. description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
  2053. type: integer
  2054. format: int32
  2055. httpGet:
  2056. description: HTTPGet specifies the http request to perform.
  2057. type: object
  2058. properties:
  2059. host:
  2060. description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
  2061. type: string
  2062. httpHeaders:
  2063. description: Custom headers to set in the request. HTTP allows repeated headers.
  2064. type: array
  2065. items:
  2066. description: HTTPHeader describes a custom header to be used in HTTP probes
  2067. type: object
  2068. required:
  2069. - name
  2070. - value
  2071. properties:
  2072. name:
  2073. description: The header field name
  2074. type: string
  2075. value:
  2076. description: The header field value
  2077. type: string
  2078. path:
  2079. description: Path to access on the HTTP server.
  2080. type: string
  2081. scheme:
  2082. description: Scheme to use for connecting to the host. Defaults to HTTP.
  2083. type: string
  2084. x-kubernetes-preserve-unknown-fields: true
  2085. initialDelaySeconds:
  2086. description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2087. type: integer
  2088. format: int32
  2089. periodSeconds:
  2090. description: How often (in seconds) to perform the probe.
  2091. type: integer
  2092. format: int32
  2093. successThreshold:
  2094. description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
  2095. type: integer
  2096. format: int32
  2097. tcpSocket:
  2098. description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
  2099. type: object
  2100. properties:
  2101. host:
  2102. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  2103. type: string
  2104. x-kubernetes-preserve-unknown-fields: true
  2105. timeoutSeconds:
  2106. description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2107. type: integer
  2108. format: int32
  2109. resources:
  2110. description: 'Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2111. type: object
  2112. properties:
  2113. limits:
  2114. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2115. type: object
  2116. additionalProperties:
  2117. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2118. anyOf:
  2119. - type: integer
  2120. - type: string
  2121. x-kubernetes-int-or-string: true
  2122. requests:
  2123. description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  2124. type: object
  2125. additionalProperties:
  2126. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2127. anyOf:
  2128. - type: integer
  2129. - type: string
  2130. x-kubernetes-int-or-string: true
  2131. securityContext:
  2132. description: 'Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  2133. type: object
  2134. properties:
  2135. capabilities:
  2136. description: The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.
  2137. type: object
  2138. properties:
  2139. drop:
  2140. description: Removed capabilities
  2141. type: array
  2142. items:
  2143. description: Capability represent POSIX capabilities type
  2144. type: string
  2145. x-kubernetes-preserve-unknown-fields: true
  2146. readOnlyRootFilesystem:
  2147. description: Whether this container has a read-only root filesystem. Default is false.
  2148. type: boolean
  2149. runAsUser:
  2150. description: The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  2151. type: integer
  2152. format: int64
  2153. x-kubernetes-preserve-unknown-fields: true
  2154. terminationMessagePath:
  2155. description: 'Optional: Path at which the file to which the container''s termination message will be written is mounted into the container''s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  2156. type: string
  2157. terminationMessagePolicy:
  2158. description: Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
  2159. type: string
  2160. volumeMounts:
  2161. description: Pod volumes to mount into the container's filesystem. Cannot be updated.
  2162. type: array
  2163. items:
  2164. description: VolumeMount describes a mounting of a Volume within a container.
  2165. type: object
  2166. required:
  2167. - mountPath
  2168. - name
  2169. properties:
  2170. mountPath:
  2171. description: Path within the container at which the volume should be mounted. Must not contain ':'.
  2172. type: string
  2173. name:
  2174. description: This must match the Name of a Volume.
  2175. type: string
  2176. readOnly:
  2177. description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
  2178. type: boolean
  2179. subPath:
  2180. description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
  2181. type: string
  2182. workingDir:
  2183. description: Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.
  2184. type: string
  2185. x-kubernetes-preserve-unknown-fields: true
  2186. enableServiceLinks:
  2187. description: 'EnableServiceLinks indicates whether information about services should be injected into pod''s environment variables, matching the syntax of Docker links. Optional: Defaults to true.'
  2188. type: boolean
  2189. imagePullSecrets:
  2190. description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  2191. type: array
  2192. items:
  2193. description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
  2194. type: object
  2195. properties:
  2196. name:
  2197. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2198. type: string
  2199. serviceAccountName:
  2200. description: 'ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  2201. type: string
  2202. timeoutSeconds:
  2203. description: TimeoutSeconds is the maximum duration in seconds that the request routing layer will wait for a request delivered to a container to begin replying (send network traffic). If unspecified, a system default will be provided.
  2204. type: integer
  2205. format: int64
  2206. volumes:
  2207. description: 'List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  2208. type: array
  2209. items:
  2210. description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
  2211. type: object
  2212. required:
  2213. - name
  2214. properties:
  2215. configMap:
  2216. description: ConfigMap represents a configMap that should populate this volume
  2217. type: object
  2218. properties:
  2219. defaultMode:
  2220. description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  2221. type: integer
  2222. format: int32
  2223. items:
  2224. description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  2225. type: array
  2226. items:
  2227. description: Maps a string key to a path within a volume.
  2228. type: object
  2229. required:
  2230. - key
  2231. - path
  2232. properties:
  2233. key:
  2234. description: The key to project.
  2235. type: string
  2236. mode:
  2237. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  2238. type: integer
  2239. format: int32
  2240. path:
  2241. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  2242. type: string
  2243. name:
  2244. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2245. type: string
  2246. optional:
  2247. description: Specify whether the ConfigMap or its keys must be defined
  2248. type: boolean
  2249. name:
  2250. description: 'Volume''s name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2251. type: string
  2252. projected:
  2253. description: Items for all in one resources secrets, configmaps, and downward API
  2254. type: object
  2255. properties:
  2256. defaultMode:
  2257. description: Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
  2258. type: integer
  2259. format: int32
  2260. sources:
  2261. description: list of volume projections
  2262. type: array
  2263. items:
  2264. description: Projection that may be projected along with other supported volume types
  2265. type: object
  2266. properties:
  2267. configMap:
  2268. description: information about the configMap data to project
  2269. type: object
  2270. properties:
  2271. items:
  2272. description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  2273. type: array
  2274. items:
  2275. description: Maps a string key to a path within a volume.
  2276. type: object
  2277. required:
  2278. - key
  2279. - path
  2280. properties:
  2281. key:
  2282. description: The key to project.
  2283. type: string
  2284. mode:
  2285. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  2286. type: integer
  2287. format: int32
  2288. path:
  2289. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  2290. type: string
  2291. name:
  2292. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2293. type: string
  2294. optional:
  2295. description: Specify whether the ConfigMap or its keys must be defined
  2296. type: boolean
  2297. secret:
  2298. description: information about the secret data to project
  2299. type: object
  2300. properties:
  2301. items:
  2302. description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  2303. type: array
  2304. items:
  2305. description: Maps a string key to a path within a volume.
  2306. type: object
  2307. required:
  2308. - key
  2309. - path
  2310. properties:
  2311. key:
  2312. description: The key to project.
  2313. type: string
  2314. mode:
  2315. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  2316. type: integer
  2317. format: int32
  2318. path:
  2319. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  2320. type: string
  2321. name:
  2322. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2323. type: string
  2324. optional:
  2325. description: Specify whether the Secret or its key must be defined
  2326. type: boolean
  2327. serviceAccountToken:
  2328. description: information about the serviceAccountToken data to project
  2329. type: object
  2330. required:
  2331. - path
  2332. properties:
  2333. audience:
  2334. description: Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
  2335. type: string
  2336. expirationSeconds:
  2337. description: ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
  2338. type: integer
  2339. format: int64
  2340. path:
  2341. description: Path is the path relative to the mount point of the file to project the token into.
  2342. type: string
  2343. secret:
  2344. description: 'Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  2345. type: object
  2346. properties:
  2347. defaultMode:
  2348. description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  2349. type: integer
  2350. format: int32
  2351. items:
  2352. description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  2353. type: array
  2354. items:
  2355. description: Maps a string key to a path within a volume.
  2356. type: object
  2357. required:
  2358. - key
  2359. - path
  2360. properties:
  2361. key:
  2362. description: The key to project.
  2363. type: string
  2364. mode:
  2365. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  2366. type: integer
  2367. format: int32
  2368. path:
  2369. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  2370. type: string
  2371. optional:
  2372. description: Specify whether the Secret or its keys must be defined
  2373. type: boolean
  2374. secretName:
  2375. description: 'Name of the secret in the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  2376. type: string
  2377. x-kubernetes-preserve-unknown-fields: true
  2378. x-kubernetes-preserve-unknown-fields: true
  2379. status:
  2380. description: RevisionStatus communicates the observed state of the Revision (from the controller).
  2381. type: object
  2382. properties:
  2383. actualReplicas:
  2384. description: ActualReplicas reflects the amount of ready pods running this revision.
  2385. type: integer
  2386. format: int32
  2387. annotations:
  2388. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  2389. type: object
  2390. additionalProperties:
  2391. type: string
  2392. conditions:
  2393. description: Conditions the latest available observations of a resource's current state.
  2394. type: array
  2395. items:
  2396. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  2397. type: object
  2398. required:
  2399. - status
  2400. - type
  2401. properties:
  2402. lastTransitionTime:
  2403. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  2404. type: string
  2405. format: date-time
  2406. message:
  2407. description: A human readable message indicating details about the transition.
  2408. type: string
  2409. reason:
  2410. description: The reason for the condition's last transition.
  2411. type: string
  2412. severity:
  2413. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  2414. type: string
  2415. status:
  2416. description: Status of the condition, one of True, False, Unknown.
  2417. type: string
  2418. type:
  2419. description: Type of condition.
  2420. type: string
  2421. containerStatuses:
  2422. description: 'ContainerStatuses is a slice of images present in .Spec.Container[*].Image to their respective digests and their container name. The digests are resolved during the creation of Revision. ContainerStatuses holds the container name and image digests for both serving and non serving containers. ref: http://bit.ly/image-digests'
  2423. type: array
  2424. items:
  2425. description: ContainerStatus holds the information of container name and image digest value
  2426. type: object
  2427. properties:
  2428. imageDigest:
  2429. type: string
  2430. name:
  2431. type: string
  2432. desiredReplicas:
  2433. description: DesiredReplicas reflects the desired amount of pods running this revision.
  2434. type: integer
  2435. format: int32
  2436. logUrl:
  2437. description: LogURL specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config.
  2438. type: string
  2439. observedGeneration:
  2440. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  2441. type: integer
  2442. format: int64
  2443. ---
  2444. # Copyright 2019 The Knative Authors
  2445. #
  2446. # Licensed under the Apache License, Version 2.0 (the "License");
  2447. # you may not use this file except in compliance with the License.
  2448. # You may obtain a copy of the License at
  2449. #
  2450. # https://www.apache.org/licenses/LICENSE-2.0
  2451. #
  2452. # Unless required by applicable law or agreed to in writing, software
  2453. # distributed under the License is distributed on an "AS IS" BASIS,
  2454. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  2455. # See the License for the specific language governing permissions and
  2456. # limitations under the License.
  2457. # Note: The schema part of the spec is auto-generated by hack/update-schemas.sh.
  2458. apiVersion: apiextensions.k8s.io/v1
  2459. kind: CustomResourceDefinition
  2460. metadata:
  2461. name: routes.serving.knative.dev
  2462. labels:
  2463. serving.knative.dev/release: "v0.26.0"
  2464. knative.dev/crd-install: "true"
  2465. duck.knative.dev/addressable: "true"
  2466. spec:
  2467. group: serving.knative.dev
  2468. names:
  2469. kind: Route
  2470. plural: routes
  2471. singular: route
  2472. categories:
  2473. - all
  2474. - knative
  2475. - serving
  2476. shortNames:
  2477. - rt
  2478. scope: Namespaced
  2479. versions:
  2480. - name: v1
  2481. served: true
  2482. storage: true
  2483. subresources:
  2484. status: {}
  2485. additionalPrinterColumns:
  2486. - name: URL
  2487. type: string
  2488. jsonPath: .status.url
  2489. - name: Ready
  2490. type: string
  2491. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  2492. - name: Reason
  2493. type: string
  2494. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  2495. schema:
  2496. openAPIV3Schema:
  2497. description: 'Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for "latest ready revision" changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route'
  2498. type: object
  2499. properties:
  2500. apiVersion:
  2501. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2502. type: string
  2503. kind:
  2504. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2505. type: string
  2506. metadata:
  2507. type: object
  2508. spec:
  2509. description: Spec holds the desired state of the Route (from the client).
  2510. type: object
  2511. properties:
  2512. traffic:
  2513. description: Traffic specifies how to distribute traffic over a collection of revisions and configurations.
  2514. type: array
  2515. items:
  2516. description: TrafficTarget holds a single entry of the routing table for a Route.
  2517. type: object
  2518. properties:
  2519. configurationName:
  2520. description: ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the "status.latestReadyRevisionName" of the referenced configuration changes, we will automatically migrate traffic from the prior "latest ready" revision to the new one. This field is never set in Route's status, only its spec. This is mutually exclusive with RevisionName.
  2521. type: string
  2522. latestRevision:
  2523. description: LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
  2524. type: boolean
  2525. percent:
  2526. description: 'Percent indicates that percentage based routing should be used and the value indicates the percent of traffic that is be routed to this Revision or Configuration. `0` (zero) mean no traffic, `100` means all traffic. When percentage based routing is being used the follow rules apply: - the sum of all percent values must equal 100 - when not specified, the implied value for `percent` is zero for that particular Revision or Configuration'
  2527. type: integer
  2528. format: int64
  2529. revisionName:
  2530. description: RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName.
  2531. type: string
  2532. tag:
  2533. description: Tag is optionally used to expose a dedicated url for referencing this target exclusively.
  2534. type: string
  2535. url:
  2536. description: URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
  2537. type: string
  2538. status:
  2539. description: Status communicates the observed state of the Route (from the controller).
  2540. type: object
  2541. properties:
  2542. address:
  2543. description: Address holds the information needed for a Route to be the target of an event.
  2544. type: object
  2545. properties:
  2546. url:
  2547. type: string
  2548. annotations:
  2549. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  2550. type: object
  2551. additionalProperties:
  2552. type: string
  2553. conditions:
  2554. description: Conditions the latest available observations of a resource's current state.
  2555. type: array
  2556. items:
  2557. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  2558. type: object
  2559. required:
  2560. - status
  2561. - type
  2562. properties:
  2563. lastTransitionTime:
  2564. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  2565. type: string
  2566. format: date-time
  2567. message:
  2568. description: A human readable message indicating details about the transition.
  2569. type: string
  2570. reason:
  2571. description: The reason for the condition's last transition.
  2572. type: string
  2573. severity:
  2574. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  2575. type: string
  2576. status:
  2577. description: Status of the condition, one of True, False, Unknown.
  2578. type: string
  2579. type:
  2580. description: Type of condition.
  2581. type: string
  2582. observedGeneration:
  2583. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  2584. type: integer
  2585. format: int64
  2586. traffic:
  2587. description: Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
  2588. type: array
  2589. items:
  2590. description: TrafficTarget holds a single entry of the routing table for a Route.
  2591. type: object
  2592. properties:
  2593. configurationName:
  2594. description: ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the "status.latestReadyRevisionName" of the referenced configuration changes, we will automatically migrate traffic from the prior "latest ready" revision to the new one. This field is never set in Route's status, only its spec. This is mutually exclusive with RevisionName.
  2595. type: string
  2596. latestRevision:
  2597. description: LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
  2598. type: boolean
  2599. percent:
  2600. description: 'Percent indicates that percentage based routing should be used and the value indicates the percent of traffic that is be routed to this Revision or Configuration. `0` (zero) mean no traffic, `100` means all traffic. When percentage based routing is being used the follow rules apply: - the sum of all percent values must equal 100 - when not specified, the implied value for `percent` is zero for that particular Revision or Configuration'
  2601. type: integer
  2602. format: int64
  2603. revisionName:
  2604. description: RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName.
  2605. type: string
  2606. tag:
  2607. description: Tag is optionally used to expose a dedicated url for referencing this target exclusively.
  2608. type: string
  2609. url:
  2610. description: URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
  2611. type: string
  2612. url:
  2613. description: URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form http[s]://{route-name}.{route-namespace}.{cluster-level-suffix}
  2614. type: string
  2615. ---
  2616. # Copyright 2019 The Knative Authors
  2617. #
  2618. # Licensed under the Apache License, Version 2.0 (the "License");
  2619. # you may not use this file except in compliance with the License.
  2620. # You may obtain a copy of the License at
  2621. #
  2622. # https://www.apache.org/licenses/LICENSE-2.0
  2623. #
  2624. # Unless required by applicable law or agreed to in writing, software
  2625. # distributed under the License is distributed on an "AS IS" BASIS,
  2626. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  2627. # See the License for the specific language governing permissions and
  2628. # limitations under the License.
  2629. apiVersion: apiextensions.k8s.io/v1
  2630. kind: CustomResourceDefinition
  2631. metadata:
  2632. name: serverlessservices.networking.internal.knative.dev
  2633. labels:
  2634. serving.knative.dev/release: "v0.26.0"
  2635. knative.dev/crd-install: "true"
  2636. spec:
  2637. group: networking.internal.knative.dev
  2638. versions:
  2639. - name: v1alpha1
  2640. served: true
  2641. storage: true
  2642. subresources:
  2643. status: {}
  2644. schema:
  2645. openAPIV3Schema:
  2646. type: object
  2647. # this is a work around so we don't need to flush out the
  2648. # schema for each version at this time
  2649. #
  2650. # see issue: https://github.com/knative/serving/issues/912
  2651. x-kubernetes-preserve-unknown-fields: true
  2652. additionalPrinterColumns:
  2653. - name: Mode
  2654. type: string
  2655. jsonPath: ".spec.mode"
  2656. - name: Activators
  2657. type: integer
  2658. jsonPath: ".spec.numActivators"
  2659. - name: ServiceName
  2660. type: string
  2661. jsonPath: ".status.serviceName"
  2662. - name: PrivateServiceName
  2663. type: string
  2664. jsonPath: ".status.privateServiceName"
  2665. - name: Ready
  2666. type: string
  2667. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  2668. - name: Reason
  2669. type: string
  2670. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  2671. names:
  2672. kind: ServerlessService
  2673. plural: serverlessservices
  2674. singular: serverlessservice
  2675. categories:
  2676. - knative-internal
  2677. - networking
  2678. shortNames:
  2679. - sks
  2680. scope: Namespaced
  2681. ---
  2682. # Copyright 2019 The Knative Authors
  2683. #
  2684. # Licensed under the Apache License, Version 2.0 (the "License");
  2685. # you may not use this file except in compliance with the License.
  2686. # You may obtain a copy of the License at
  2687. #
  2688. # https://www.apache.org/licenses/LICENSE-2.0
  2689. #
  2690. # Unless required by applicable law or agreed to in writing, software
  2691. # distributed under the License is distributed on an "AS IS" BASIS,
  2692. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  2693. # See the License for the specific language governing permissions and
  2694. # limitations under the License.
  2695. # Note: The schema part of the spec is auto-generated by hack/update-schemas.sh.
  2696. apiVersion: apiextensions.k8s.io/v1
  2697. kind: CustomResourceDefinition
  2698. metadata:
  2699. name: services.serving.knative.dev
  2700. labels:
  2701. serving.knative.dev/release: "v0.26.0"
  2702. knative.dev/crd-install: "true"
  2703. duck.knative.dev/addressable: "true"
  2704. duck.knative.dev/podspecable: "true"
  2705. spec:
  2706. group: serving.knative.dev
  2707. names:
  2708. kind: Service
  2709. plural: services
  2710. singular: service
  2711. categories:
  2712. - all
  2713. - knative
  2714. - serving
  2715. shortNames:
  2716. - kservice
  2717. - ksvc
  2718. scope: Namespaced
  2719. versions:
  2720. - name: v1
  2721. served: true
  2722. storage: true
  2723. subresources:
  2724. status: {}
  2725. additionalPrinterColumns:
  2726. - name: URL
  2727. type: string
  2728. jsonPath: .status.url
  2729. - name: LatestCreated
  2730. type: string
  2731. jsonPath: .status.latestCreatedRevisionName
  2732. - name: LatestReady
  2733. type: string
  2734. jsonPath: .status.latestReadyRevisionName
  2735. - name: Ready
  2736. type: string
  2737. jsonPath: ".status.conditions[?(@.type=='Ready')].status"
  2738. - name: Reason
  2739. type: string
  2740. jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  2741. schema:
  2742. openAPIV3Schema:
  2743. description: "Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended. \n The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. \n See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service"
  2744. type: object
  2745. properties:
  2746. apiVersion:
  2747. description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2748. type: string
  2749. kind:
  2750. description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2751. type: string
  2752. metadata:
  2753. type: object
  2754. spec:
  2755. description: ServiceSpec represents the configuration for the Service object. A Service's specification is the union of the specifications for a Route and Configuration. The Service restricts what can be expressed in these fields, e.g. the Route must reference the provided Configuration; however, these limitations also enable friendlier defaulting, e.g. Route never needs a Configuration name, and may be defaulted to the appropriate "run latest" spec.
  2756. type: object
  2757. properties:
  2758. template:
  2759. description: Template holds the latest specification for the Revision to be stamped out.
  2760. type: object
  2761. properties:
  2762. metadata:
  2763. type: object
  2764. properties:
  2765. annotations:
  2766. type: object
  2767. additionalProperties:
  2768. type: string
  2769. finalizers:
  2770. type: array
  2771. items:
  2772. type: string
  2773. labels:
  2774. type: object
  2775. additionalProperties:
  2776. type: string
  2777. name:
  2778. type: string
  2779. namespace:
  2780. type: string
  2781. x-kubernetes-preserve-unknown-fields: true
  2782. spec:
  2783. description: RevisionSpec holds the desired state of the Revision (from the client).
  2784. type: object
  2785. required:
  2786. - containers
  2787. properties:
  2788. automountServiceAccountToken:
  2789. description: AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
  2790. type: boolean
  2791. containerConcurrency:
  2792. description: ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. Defaults to `0` which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.
  2793. type: integer
  2794. format: int64
  2795. containers:
  2796. description: List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.
  2797. type: array
  2798. items:
  2799. description: A single application container that you want to run within a pod.
  2800. type: object
  2801. properties:
  2802. args:
  2803. description: 'Arguments to the entrypoint. The docker image''s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  2804. type: array
  2805. items:
  2806. type: string
  2807. command:
  2808. description: 'Entrypoint array. Not executed within a shell. The docker image''s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  2809. type: array
  2810. items:
  2811. type: string
  2812. env:
  2813. description: List of environment variables to set in the container. Cannot be updated.
  2814. type: array
  2815. items:
  2816. description: EnvVar represents an environment variable present in a Container.
  2817. type: object
  2818. required:
  2819. - name
  2820. properties:
  2821. name:
  2822. description: Name of the environment variable. Must be a C_IDENTIFIER.
  2823. type: string
  2824. value:
  2825. description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".'
  2826. type: string
  2827. valueFrom:
  2828. description: Source for the environment variable's value. Cannot be used if value is not empty.
  2829. type: object
  2830. properties:
  2831. configMapKeyRef:
  2832. description: Selects a key of a ConfigMap.
  2833. type: object
  2834. required:
  2835. - key
  2836. properties:
  2837. key:
  2838. description: The key to select.
  2839. type: string
  2840. name:
  2841. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2842. type: string
  2843. optional:
  2844. description: Specify whether the ConfigMap or its key must be defined
  2845. type: boolean
  2846. secretKeyRef:
  2847. description: Selects a key of a secret in the pod's namespace
  2848. type: object
  2849. required:
  2850. - key
  2851. properties:
  2852. key:
  2853. description: The key of the secret to select from. Must be a valid secret key.
  2854. type: string
  2855. name:
  2856. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2857. type: string
  2858. optional:
  2859. description: Specify whether the Secret or its key must be defined
  2860. type: boolean
  2861. x-kubernetes-preserve-unknown-fields: true
  2862. envFrom:
  2863. description: List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
  2864. type: array
  2865. items:
  2866. description: EnvFromSource represents the source of a set of ConfigMaps
  2867. type: object
  2868. properties:
  2869. configMapRef:
  2870. description: The ConfigMap to select from
  2871. type: object
  2872. properties:
  2873. name:
  2874. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2875. type: string
  2876. optional:
  2877. description: Specify whether the ConfigMap must be defined
  2878. type: boolean
  2879. prefix:
  2880. description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
  2881. type: string
  2882. secretRef:
  2883. description: The Secret to select from
  2884. type: object
  2885. properties:
  2886. name:
  2887. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2888. type: string
  2889. optional:
  2890. description: Specify whether the Secret must be defined
  2891. type: boolean
  2892. image:
  2893. description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.'
  2894. type: string
  2895. imagePullPolicy:
  2896. description: 'Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  2897. type: string
  2898. livenessProbe:
  2899. description: 'Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2900. type: object
  2901. properties:
  2902. exec:
  2903. description: One and only one of the following should be specified. Exec specifies the action to take.
  2904. type: object
  2905. properties:
  2906. command:
  2907. description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
  2908. type: array
  2909. items:
  2910. type: string
  2911. failureThreshold:
  2912. description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
  2913. type: integer
  2914. format: int32
  2915. httpGet:
  2916. description: HTTPGet specifies the http request to perform.
  2917. type: object
  2918. properties:
  2919. host:
  2920. description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
  2921. type: string
  2922. httpHeaders:
  2923. description: Custom headers to set in the request. HTTP allows repeated headers.
  2924. type: array
  2925. items:
  2926. description: HTTPHeader describes a custom header to be used in HTTP probes
  2927. type: object
  2928. required:
  2929. - name
  2930. - value
  2931. properties:
  2932. name:
  2933. description: The header field name
  2934. type: string
  2935. value:
  2936. description: The header field value
  2937. type: string
  2938. path:
  2939. description: Path to access on the HTTP server.
  2940. type: string
  2941. scheme:
  2942. description: Scheme to use for connecting to the host. Defaults to HTTP.
  2943. type: string
  2944. x-kubernetes-preserve-unknown-fields: true
  2945. initialDelaySeconds:
  2946. description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2947. type: integer
  2948. format: int32
  2949. periodSeconds:
  2950. description: How often (in seconds) to perform the probe.
  2951. type: integer
  2952. format: int32
  2953. successThreshold:
  2954. description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
  2955. type: integer
  2956. format: int32
  2957. tcpSocket:
  2958. description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
  2959. type: object
  2960. properties:
  2961. host:
  2962. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  2963. type: string
  2964. x-kubernetes-preserve-unknown-fields: true
  2965. timeoutSeconds:
  2966. description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2967. type: integer
  2968. format: int32
  2969. name:
  2970. description: Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
  2971. type: string
  2972. ports:
  2973. description: List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.
  2974. type: array
  2975. items:
  2976. description: ContainerPort represents a network port in a single container.
  2977. type: object
  2978. required:
  2979. - containerPort
  2980. properties:
  2981. containerPort:
  2982. description: Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.
  2983. type: integer
  2984. format: int32
  2985. name:
  2986. description: If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.
  2987. type: string
  2988. protocol:
  2989. description: Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".
  2990. type: string
  2991. default: TCP
  2992. x-kubernetes-preserve-unknown-fields: true
  2993. x-kubernetes-list-map-keys:
  2994. - containerPort
  2995. - protocol
  2996. x-kubernetes-list-type: map
  2997. readinessProbe:
  2998. description: 'Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2999. type: object
  3000. properties:
  3001. exec:
  3002. description: One and only one of the following should be specified. Exec specifies the action to take.
  3003. type: object
  3004. properties:
  3005. command:
  3006. description: Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
  3007. type: array
  3008. items:
  3009. type: string
  3010. failureThreshold:
  3011. description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
  3012. type: integer
  3013. format: int32
  3014. httpGet:
  3015. description: HTTPGet specifies the http request to perform.
  3016. type: object
  3017. properties:
  3018. host:
  3019. description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
  3020. type: string
  3021. httpHeaders:
  3022. description: Custom headers to set in the request. HTTP allows repeated headers.
  3023. type: array
  3024. items:
  3025. description: HTTPHeader describes a custom header to be used in HTTP probes
  3026. type: object
  3027. required:
  3028. - name
  3029. - value
  3030. properties:
  3031. name:
  3032. description: The header field name
  3033. type: string
  3034. value:
  3035. description: The header field value
  3036. type: string
  3037. path:
  3038. description: Path to access on the HTTP server.
  3039. type: string
  3040. scheme:
  3041. description: Scheme to use for connecting to the host. Defaults to HTTP.
  3042. type: string
  3043. x-kubernetes-preserve-unknown-fields: true
  3044. initialDelaySeconds:
  3045. description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3046. type: integer
  3047. format: int32
  3048. periodSeconds:
  3049. description: How often (in seconds) to perform the probe.
  3050. type: integer
  3051. format: int32
  3052. successThreshold:
  3053. description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
  3054. type: integer
  3055. format: int32
  3056. tcpSocket:
  3057. description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
  3058. type: object
  3059. properties:
  3060. host:
  3061. description: 'Optional: Host name to connect to, defaults to the pod IP.'
  3062. type: string
  3063. x-kubernetes-preserve-unknown-fields: true
  3064. timeoutSeconds:
  3065. description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3066. type: integer
  3067. format: int32
  3068. resources:
  3069. description: 'Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3070. type: object
  3071. properties:
  3072. limits:
  3073. description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3074. type: object
  3075. additionalProperties:
  3076. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3077. anyOf:
  3078. - type: integer
  3079. - type: string
  3080. x-kubernetes-int-or-string: true
  3081. requests:
  3082. description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3083. type: object
  3084. additionalProperties:
  3085. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3086. anyOf:
  3087. - type: integer
  3088. - type: string
  3089. x-kubernetes-int-or-string: true
  3090. securityContext:
  3091. description: 'Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  3092. type: object
  3093. properties:
  3094. capabilities:
  3095. description: The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime.
  3096. type: object
  3097. properties:
  3098. drop:
  3099. description: Removed capabilities
  3100. type: array
  3101. items:
  3102. description: Capability represent POSIX capabilities type
  3103. type: string
  3104. x-kubernetes-preserve-unknown-fields: true
  3105. readOnlyRootFilesystem:
  3106. description: Whether this container has a read-only root filesystem. Default is false.
  3107. type: boolean
  3108. runAsUser:
  3109. description: The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
  3110. type: integer
  3111. format: int64
  3112. x-kubernetes-preserve-unknown-fields: true
  3113. terminationMessagePath:
  3114. description: 'Optional: Path at which the file to which the container''s termination message will be written is mounted into the container''s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
  3115. type: string
  3116. terminationMessagePolicy:
  3117. description: Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
  3118. type: string
  3119. volumeMounts:
  3120. description: Pod volumes to mount into the container's filesystem. Cannot be updated.
  3121. type: array
  3122. items:
  3123. description: VolumeMount describes a mounting of a Volume within a container.
  3124. type: object
  3125. required:
  3126. - mountPath
  3127. - name
  3128. properties:
  3129. mountPath:
  3130. description: Path within the container at which the volume should be mounted. Must not contain ':'.
  3131. type: string
  3132. name:
  3133. description: This must match the Name of a Volume.
  3134. type: string
  3135. readOnly:
  3136. description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
  3137. type: boolean
  3138. subPath:
  3139. description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
  3140. type: string
  3141. workingDir:
  3142. description: Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.
  3143. type: string
  3144. x-kubernetes-preserve-unknown-fields: true
  3145. enableServiceLinks:
  3146. description: 'EnableServiceLinks indicates whether information about services should be injected into pod''s environment variables, matching the syntax of Docker links. Optional: Defaults to true.'
  3147. type: boolean
  3148. imagePullSecrets:
  3149. description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  3150. type: array
  3151. items:
  3152. description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
  3153. type: object
  3154. properties:
  3155. name:
  3156. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  3157. type: string
  3158. serviceAccountName:
  3159. description: 'ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  3160. type: string
  3161. timeoutSeconds:
  3162. description: TimeoutSeconds is the maximum duration in seconds that the request routing layer will wait for a request delivered to a container to begin replying (send network traffic). If unspecified, a system default will be provided.
  3163. type: integer
  3164. format: int64
  3165. volumes:
  3166. description: 'List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  3167. type: array
  3168. items:
  3169. description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
  3170. type: object
  3171. required:
  3172. - name
  3173. properties:
  3174. configMap:
  3175. description: ConfigMap represents a configMap that should populate this volume
  3176. type: object
  3177. properties:
  3178. defaultMode:
  3179. description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  3180. type: integer
  3181. format: int32
  3182. items:
  3183. description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  3184. type: array
  3185. items:
  3186. description: Maps a string key to a path within a volume.
  3187. type: object
  3188. required:
  3189. - key
  3190. - path
  3191. properties:
  3192. key:
  3193. description: The key to project.
  3194. type: string
  3195. mode:
  3196. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  3197. type: integer
  3198. format: int32
  3199. path:
  3200. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  3201. type: string
  3202. name:
  3203. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  3204. type: string
  3205. optional:
  3206. description: Specify whether the ConfigMap or its keys must be defined
  3207. type: boolean
  3208. name:
  3209. description: 'Volume''s name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3210. type: string
  3211. projected:
  3212. description: Items for all in one resources secrets, configmaps, and downward API
  3213. type: object
  3214. properties:
  3215. defaultMode:
  3216. description: Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
  3217. type: integer
  3218. format: int32
  3219. sources:
  3220. description: list of volume projections
  3221. type: array
  3222. items:
  3223. description: Projection that may be projected along with other supported volume types
  3224. type: object
  3225. properties:
  3226. configMap:
  3227. description: information about the configMap data to project
  3228. type: object
  3229. properties:
  3230. items:
  3231. description: If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  3232. type: array
  3233. items:
  3234. description: Maps a string key to a path within a volume.
  3235. type: object
  3236. required:
  3237. - key
  3238. - path
  3239. properties:
  3240. key:
  3241. description: The key to project.
  3242. type: string
  3243. mode:
  3244. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  3245. type: integer
  3246. format: int32
  3247. path:
  3248. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  3249. type: string
  3250. name:
  3251. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  3252. type: string
  3253. optional:
  3254. description: Specify whether the ConfigMap or its keys must be defined
  3255. type: boolean
  3256. secret:
  3257. description: information about the secret data to project
  3258. type: object
  3259. properties:
  3260. items:
  3261. description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  3262. type: array
  3263. items:
  3264. description: Maps a string key to a path within a volume.
  3265. type: object
  3266. required:
  3267. - key
  3268. - path
  3269. properties:
  3270. key:
  3271. description: The key to project.
  3272. type: string
  3273. mode:
  3274. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  3275. type: integer
  3276. format: int32
  3277. path:
  3278. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  3279. type: string
  3280. name:
  3281. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  3282. type: string
  3283. optional:
  3284. description: Specify whether the Secret or its key must be defined
  3285. type: boolean
  3286. serviceAccountToken:
  3287. description: information about the serviceAccountToken data to project
  3288. type: object
  3289. required:
  3290. - path
  3291. properties:
  3292. audience:
  3293. description: Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
  3294. type: string
  3295. expirationSeconds:
  3296. description: ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
  3297. type: integer
  3298. format: int64
  3299. path:
  3300. description: Path is the path relative to the mount point of the file to project the token into.
  3301. type: string
  3302. secret:
  3303. description: 'Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  3304. type: object
  3305. properties:
  3306. defaultMode:
  3307. description: 'Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  3308. type: integer
  3309. format: int32
  3310. items:
  3311. description: If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  3312. type: array
  3313. items:
  3314. description: Maps a string key to a path within a volume.
  3315. type: object
  3316. required:
  3317. - key
  3318. - path
  3319. properties:
  3320. key:
  3321. description: The key to project.
  3322. type: string
  3323. mode:
  3324. description: 'Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  3325. type: integer
  3326. format: int32
  3327. path:
  3328. description: The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  3329. type: string
  3330. optional:
  3331. description: Specify whether the Secret or its keys must be defined
  3332. type: boolean
  3333. secretName:
  3334. description: 'Name of the secret in the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  3335. type: string
  3336. x-kubernetes-preserve-unknown-fields: true
  3337. x-kubernetes-preserve-unknown-fields: true
  3338. traffic:
  3339. description: Traffic specifies how to distribute traffic over a collection of revisions and configurations.
  3340. type: array
  3341. items:
  3342. description: TrafficTarget holds a single entry of the routing table for a Route.
  3343. type: object
  3344. properties:
  3345. configurationName:
  3346. description: ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the "status.latestReadyRevisionName" of the referenced configuration changes, we will automatically migrate traffic from the prior "latest ready" revision to the new one. This field is never set in Route's status, only its spec. This is mutually exclusive with RevisionName.
  3347. type: string
  3348. latestRevision:
  3349. description: LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
  3350. type: boolean
  3351. percent:
  3352. description: 'Percent indicates that percentage based routing should be used and the value indicates the percent of traffic that is be routed to this Revision or Configuration. `0` (zero) mean no traffic, `100` means all traffic. When percentage based routing is being used the follow rules apply: - the sum of all percent values must equal 100 - when not specified, the implied value for `percent` is zero for that particular Revision or Configuration'
  3353. type: integer
  3354. format: int64
  3355. revisionName:
  3356. description: RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName.
  3357. type: string
  3358. tag:
  3359. description: Tag is optionally used to expose a dedicated url for referencing this target exclusively.
  3360. type: string
  3361. url:
  3362. description: URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
  3363. type: string
  3364. status:
  3365. description: ServiceStatus represents the Status stanza of the Service resource.
  3366. type: object
  3367. properties:
  3368. address:
  3369. description: Address holds the information needed for a Route to be the target of an event.
  3370. type: object
  3371. properties:
  3372. url:
  3373. type: string
  3374. annotations:
  3375. description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
  3376. type: object
  3377. additionalProperties:
  3378. type: string
  3379. conditions:
  3380. description: Conditions the latest available observations of a resource's current state.
  3381. type: array
  3382. items:
  3383. description: 'Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
  3384. type: object
  3385. required:
  3386. - status
  3387. - type
  3388. properties:
  3389. lastTransitionTime:
  3390. description: LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
  3391. type: string
  3392. format: date-time
  3393. message:
  3394. description: A human readable message indicating details about the transition.
  3395. type: string
  3396. reason:
  3397. description: The reason for the condition's last transition.
  3398. type: string
  3399. severity:
  3400. description: Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
  3401. type: string
  3402. status:
  3403. description: Status of the condition, one of True, False, Unknown.
  3404. type: string
  3405. type:
  3406. description: Type of condition.
  3407. type: string
  3408. latestCreatedRevisionName:
  3409. description: LatestCreatedRevisionName is the last revision that was created from this Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
  3410. type: string
  3411. latestReadyRevisionName:
  3412. description: LatestReadyRevisionName holds the name of the latest Revision stamped out from this Configuration that has had its "Ready" condition become "True".
  3413. type: string
  3414. observedGeneration:
  3415. description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
  3416. type: integer
  3417. format: int64
  3418. traffic:
  3419. description: Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.
  3420. type: array
  3421. items:
  3422. description: TrafficTarget holds a single entry of the routing table for a Route.
  3423. type: object
  3424. properties:
  3425. configurationName:
  3426. description: ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the "status.latestReadyRevisionName" of the referenced configuration changes, we will automatically migrate traffic from the prior "latest ready" revision to the new one. This field is never set in Route's status, only its spec. This is mutually exclusive with RevisionName.
  3427. type: string
  3428. latestRevision:
  3429. description: LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
  3430. type: boolean
  3431. percent:
  3432. description: 'Percent indicates that percentage based routing should be used and the value indicates the percent of traffic that is be routed to this Revision or Configuration. `0` (zero) mean no traffic, `100` means all traffic. When percentage based routing is being used the follow rules apply: - the sum of all percent values must equal 100 - when not specified, the implied value for `percent` is zero for that particular Revision or Configuration'
  3433. type: integer
  3434. format: int64
  3435. revisionName:
  3436. description: RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName.
  3437. type: string
  3438. tag:
  3439. description: Tag is optionally used to expose a dedicated url for referencing this target exclusively.
  3440. type: string
  3441. url:
  3442. description: URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
  3443. type: string
  3444. url:
  3445. description: URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form http[s]://{route-name}.{route-namespace}.{cluster-level-suffix}
  3446. type: string
  3447. ---
  3448. # Copyright 2018 The Knative Authors
  3449. #
  3450. # Licensed under the Apache License, Version 2.0 (the "License");
  3451. # you may not use this file except in compliance with the License.
  3452. # You may obtain a copy of the License at
  3453. #
  3454. # https://www.apache.org/licenses/LICENSE-2.0
  3455. #
  3456. # Unless required by applicable law or agreed to in writing, software
  3457. # distributed under the License is distributed on an "AS IS" BASIS,
  3458. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3459. # See the License for the specific language governing permissions and
  3460. # limitations under the License.
  3461. apiVersion: caching.internal.knative.dev/v1alpha1
  3462. kind: Image
  3463. metadata:
  3464. name: queue-proxy
  3465. namespace: knative-serving
  3466. labels:
  3467. serving.knative.dev/release: "v0.26.0"
  3468. app.kubernetes.io/name: queue-proxy
  3469. app.kubernetes.io/version: "0.26.0"
  3470. app.kubernetes.io/part-of: knative-serving
  3471. spec:
  3472. # This is the Go import path for the binary that is containerized
  3473. # and substituted here.
  3474. image: registry.cn-beijing.aliyuncs.com/dotbalo/queue:v0.26
  3475. ---
  3476. # Copyright 2018 The Knative Authors
  3477. #
  3478. # Licensed under the Apache License, Version 2.0 (the "License");
  3479. # you may not use this file except in compliance with the License.
  3480. # You may obtain a copy of the License at
  3481. #
  3482. # https://www.apache.org/licenses/LICENSE-2.0
  3483. #
  3484. # Unless required by applicable law or agreed to in writing, software
  3485. # distributed under the License is distributed on an "AS IS" BASIS,
  3486. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3487. # See the License for the specific language governing permissions and
  3488. # limitations under the License.
  3489. apiVersion: v1
  3490. kind: ConfigMap
  3491. metadata:
  3492. name: config-autoscaler
  3493. namespace: knative-serving
  3494. labels:
  3495. serving.knative.dev/release: "v0.26.0"
  3496. app.kubernetes.io/name: autoscaler
  3497. app.kubernetes.io/version: "0.26.0"
  3498. app.kubernetes.io/part-of: knative-serving
  3499. annotations:
  3500. knative.dev/example-checksum: "604cb513"
  3501. data:
  3502. _example: |
  3503. ################################
  3504. # #
  3505. # EXAMPLE CONFIGURATION #
  3506. # #
  3507. ################################
  3508. # This block is not actually functional configuration,
  3509. # but serves to illustrate the available configuration
  3510. # options and document them in a way that is accessible
  3511. # to users that `kubectl edit` this config map.
  3512. #
  3513. # These sample configuration options may be copied out of
  3514. # this example block and unindented to be in the data block
  3515. # to actually change the configuration.
  3516. # The Revision ContainerConcurrency field specifies the maximum number
  3517. # of requests the Container can handle at once. Container concurrency
  3518. # target percentage is how much of that maximum to use in a stable
  3519. # state. E.g. if a Revision specifies ContainerConcurrency of 10, then
  3520. # the Autoscaler will try to maintain 7 concurrent connections per pod
  3521. # on average.
  3522. # Note: this limit will be applied to container concurrency set at every
  3523. # level (ConfigMap, Revision Spec or Annotation).
  3524. # For legacy and backwards compatibility reasons, this value also accepts
  3525. # fractional values in (0, 1] interval (i.e. 0.7 ⇒ 70%).
  3526. # Thus minimal percentage value must be greater than 1.0, or it will be
  3527. # treated as a fraction.
  3528. # NOTE: that this value does not affect actual number of concurrent requests
  3529. # the user container may receive, but only the average number of requests
  3530. # that the revision pods will receive.
  3531. container-concurrency-target-percentage: "70"
  3532. # The container concurrency target default is what the Autoscaler will
  3533. # try to maintain when concurrency is used as the scaling metric for the
  3534. # Revision and the Revision specifies unlimited concurrency.
  3535. # When revision explicitly specifies container concurrency, that value
  3536. # will be used as a scaling target for autoscaler.
  3537. # When specifying unlimited concurrency, the autoscaler will
  3538. # horizontally scale the application based on this target concurrency.
  3539. # This is what we call "soft limit" in the documentation, i.e. it only
  3540. # affects number of pods and does not affect the number of requests
  3541. # individual pod processes.
  3542. # The value must be a positive number such that the value multiplied
  3543. # by container-concurrency-target-percentage is greater than 0.01.
  3544. # NOTE: that this value will be adjusted by application of
  3545. # container-concurrency-target-percentage, i.e. by default
  3546. # the system will target on average 70 concurrent requests
  3547. # per revision pod.
  3548. # NOTE: Only one metric can be used for autoscaling a Revision.
  3549. container-concurrency-target-default: "100"
  3550. # The requests per second (RPS) target default is what the Autoscaler will
  3551. # try to maintain when RPS is used as the scaling metric for a Revision and
  3552. # the Revision specifies unlimited RPS. Even when specifying unlimited RPS,
  3553. # the autoscaler will horizontally scale the application based on this
  3554. # target RPS.
  3555. # Must be greater than 1.0.
  3556. # NOTE: Only one metric can be used for autoscaling a Revision.
  3557. requests-per-second-target-default: "200"
  3558. # The target burst capacity specifies the size of burst in concurrent
  3559. # requests that the system operator expects the system will receive.
  3560. # Autoscaler will try to protect the system from queueing by introducing
  3561. # Activator in the request path if the current spare capacity of the
  3562. # service is less than this setting.
  3563. # If this setting is 0, then Activator will be in the request path only
  3564. # when the revision is scaled to 0.
  3565. # If this setting is > 0 and container-concurrency-target-percentage is
  3566. # 100% or 1.0, then activator will always be in the request path.
  3567. # -1 denotes unlimited target-burst-capacity and activator will always
  3568. # be in the request path.
  3569. # Other negative values are invalid.
  3570. target-burst-capacity: "200"
  3571. # When operating in a stable mode, the autoscaler operates on the
  3572. # average concurrency over the stable window.
  3573. # Stable window must be in whole seconds.
  3574. stable-window: "60s"
  3575. # When observed average concurrency during the panic window reaches
  3576. # panic-threshold-percentage the target concurrency, the autoscaler
  3577. # enters panic mode. When operating in panic mode, the autoscaler
  3578. # scales on the average concurrency over the panic window which is
  3579. # panic-window-percentage of the stable-window.
  3580. # Must be in the [1, 100] range.
  3581. # When computing the panic window it will be rounded to the closest
  3582. # whole second, at least 1s.
  3583. panic-window-percentage: "10.0"
  3584. # The percentage of the container concurrency target at which to
  3585. # enter panic mode when reached within the panic window.
  3586. panic-threshold-percentage: "200.0"
  3587. # Max scale up rate limits the rate at which the autoscaler will
  3588. # increase pod count. It is the maximum ratio of desired pods versus
  3589. # observed pods.
  3590. # Cannot be less or equal to 1.
  3591. # I.e with value of 2.0 the number of pods can at most go N to 2N
  3592. # over single Autoscaler period (2s), but at least N to
  3593. # N+1, if Autoscaler needs to scale up.
  3594. max-scale-up-rate: "1000.0"
  3595. # Max scale down rate limits the rate at which the autoscaler will
  3596. # decrease pod count. It is the maximum ratio of observed pods versus
  3597. # desired pods.
  3598. # Cannot be less or equal to 1.
  3599. # I.e. with value of 2.0 the number of pods can at most go N to N/2
  3600. # over single Autoscaler evaluation period (2s), but at
  3601. # least N to N-1, if Autoscaler needs to scale down.
  3602. max-scale-down-rate: "2.0"
  3603. # Scale to zero feature flag.
  3604. enable-scale-to-zero: "true"
  3605. # Scale to zero grace period is the time an inactive revision is left
  3606. # running before it is scaled to zero (must be positive, but recommended
  3607. # at least a few seconds if running with mesh networking).
  3608. # This is the upper limit and is provided not to enforce timeout after
  3609. # the revision stopped receiving requests for stable window, but to
  3610. # ensure network reprogramming to put activator in the path has completed.
  3611. # If the system determines that a shorter period is satisfactory,
  3612. # then the system will only wait that amount of time before scaling to 0.
  3613. # NOTE: this period might actually be 0, if activator has been
  3614. # in the request path sufficiently long.
  3615. # If there is necessity for the last pod to linger longer use
  3616. # scale-to-zero-pod-retention-period flag.
  3617. scale-to-zero-grace-period: "30s"
  3618. # Scale to zero pod retention period defines the minimum amount
  3619. # of time the last pod will remain after Autoscaler has decided to
  3620. # scale to zero.
  3621. # This flag is for the situations where the pod startup is very expensive
  3622. # and the traffic is bursty (requiring smaller windows for fast action),
  3623. # but patchy.
  3624. # The larger of this flag and `scale-to-zero-grace-period` will effectively
  3625. # determine how the last pod will hang around.
  3626. scale-to-zero-pod-retention-period: "0s"
  3627. # pod-autoscaler-class specifies the default pod autoscaler class
  3628. # that should be used if none is specified. If omitted, the Knative
  3629. # Horizontal Pod Autoscaler (KPA) is used by default.
  3630. pod-autoscaler-class: "kpa.autoscaling.knative.dev"
  3631. # The capacity of a single activator task.
  3632. # The `unit` is one concurrent request proxied by the activator.
  3633. # activator-capacity must be at least 1.
  3634. # This value is used for computation of the Activator subset size.
  3635. # See the algorithm here: http://bit.ly/38XiCZ3.
  3636. # TODO(vagababov): tune after actual benchmarking.
  3637. activator-capacity: "100.0"
  3638. # initial-scale is the cluster-wide default value for the initial target
  3639. # scale of a revision after creation, unless overridden by the
  3640. # "autoscaling.knative.dev/initialScale" annotation.
  3641. # This value must be greater than 0 unless allow-zero-initial-scale is true.
  3642. initial-scale: "1"
  3643. # allow-zero-initial-scale controls whether either the cluster-wide initial-scale flag,
  3644. # or the "autoscaling.knative.dev/initialScale" annotation, can be set to 0.
  3645. allow-zero-initial-scale: "false"
  3646. # max-scale is the cluster-wide default value for the max scale of a revision,
  3647. # unless overridden by the "autoscaling.knative.dev/maxScale" annotation.
  3648. # If set to 0, the revision has no maximum scale.
  3649. max-scale: "0"
  3650. # scale-down-delay is the amount of time that must pass at reduced
  3651. # concurrency before a scale down decision is applied. This can be useful,
  3652. # for example, to maintain replica count and avoid a cold start penalty if
  3653. # more requests come in within the scale down delay period.
  3654. # The default, 0s, imposes no delay at all.
  3655. scale-down-delay: "0s"
  3656. # max-scale-limit sets the maximum permitted value for the max scale of a revision.
  3657. # When this is set to a positive value, a revision with a maxScale above that value
  3658. # (including a maxScale of "0" = unlimited) is disallowed.
  3659. # A value of zero (the default) allows any limit, including unlimited.
  3660. max-scale-limit: "0"
  3661. ---
  3662. # Copyright 2019 The Knative Authors
  3663. #
  3664. # Licensed under the Apache License, Version 2.0 (the "License");
  3665. # you may not use this file except in compliance with the License.
  3666. # You may obtain a copy of the License at
  3667. #
  3668. # https://www.apache.org/licenses/LICENSE-2.0
  3669. #
  3670. # Unless required by applicable law or agreed to in writing, software
  3671. # distributed under the License is distributed on an "AS IS" BASIS,
  3672. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3673. # See the License for the specific language governing permissions and
  3674. # limitations under the License.
  3675. apiVersion: v1
  3676. kind: ConfigMap
  3677. metadata:
  3678. name: config-defaults
  3679. namespace: knative-serving
  3680. labels:
  3681. serving.knative.dev/release: "v0.26.0"
  3682. app.kubernetes.io/version: "0.26.0"
  3683. app.kubernetes.io/part-of: knative-serving
  3684. annotations:
  3685. knative.dev/example-checksum: "cdabec96"
  3686. data:
  3687. _example: |
  3688. ################################
  3689. # #
  3690. # EXAMPLE CONFIGURATION #
  3691. # #
  3692. ################################
  3693. # This block is not actually functional configuration,
  3694. # but serves to illustrate the available configuration
  3695. # options and document them in a way that is accessible
  3696. # to users that `kubectl edit` this config map.
  3697. #
  3698. # These sample configuration options may be copied out of
  3699. # this example block and unindented to be in the data block
  3700. # to actually change the configuration.
  3701. # revision-timeout-seconds contains the default number of
  3702. # seconds to use for the revision's per-request timeout, if
  3703. # none is specified.
  3704. revision-timeout-seconds: "300" # 5 minutes
  3705. # max-revision-timeout-seconds contains the maximum number of
  3706. # seconds that can be used for revision-timeout-seconds.
  3707. # This value must be greater than or equal to revision-timeout-seconds.
  3708. # If omitted, the system default is used (600 seconds).
  3709. #
  3710. # If this value is increased, the activator's terminationGraceTimeSeconds
  3711. # should also be increased to prevent in-flight requests being disrupted.
  3712. max-revision-timeout-seconds: "600" # 10 minutes
  3713. # revision-cpu-request contains the cpu allocation to assign
  3714. # to revisions by default. If omitted, no value is specified
  3715. # and the system default is used.
  3716. # Below is an example of setting revision-cpu-request.
  3717. # By default, it is not set by Knative.
  3718. revision-cpu-request: "400m" # 0.4 of a CPU (aka 400 milli-CPU)
  3719. # revision-memory-request contains the memory allocation to assign
  3720. # to revisions by default. If omitted, no value is specified
  3721. # and the system default is used.
  3722. # Below is an example of setting revision-memory-request.
  3723. # By default, it is not set by Knative.
  3724. revision-memory-request: "100M" # 100 megabytes of memory
  3725. # revision-ephemeral-storage-request contains the ephemeral storage
  3726. # allocation to assign to revisions by default. If omitted, no value is
  3727. # specified and the system default is used.
  3728. revision-ephemeral-storage-request: "500M" # 500 megabytes of storage
  3729. # revision-cpu-limit contains the cpu allocation to limit
  3730. # revisions to by default. If omitted, no value is specified
  3731. # and the system default is used.
  3732. # Below is an example of setting revision-cpu-limit.
  3733. # By default, it is not set by Knative.
  3734. revision-cpu-limit: "1000m" # 1 CPU (aka 1000 milli-CPU)
  3735. # revision-memory-limit contains the memory allocation to limit
  3736. # revisions to by default. If omitted, no value is specified
  3737. # and the system default is used.
  3738. # Below is an example of setting revision-memory-limit.
  3739. # By default, it is not set by Knative.
  3740. revision-memory-limit: "200M" # 200 megabytes of memory
  3741. # revision-ephemeral-storage-limit contains the ephemeral storage
  3742. # allocation to limit revisions to by default. If omitted, no value is
  3743. # specified and the system default is used.
  3744. revision-ephemeral-storage-limit: "750M" # 750 megabytes of storage
  3745. # container-name-template contains a template for the default
  3746. # container name, if none is specified. This field supports
  3747. # Go templating and is supplied with the ObjectMeta of the
  3748. # enclosing Service or Configuration, so values such as
  3749. # {{.Name}} are also valid.
  3750. container-name-template: "user-container"
  3751. # container-concurrency specifies the maximum number
  3752. # of requests the Container can handle at once, and requests
  3753. # above this threshold are queued. Setting a value of zero
  3754. # disables this throttling and lets through as many requests as
  3755. # the pod receives.
  3756. container-concurrency: "0"
  3757. # The container concurrency max limit is an operator setting ensuring that
  3758. # the individual revisions cannot have arbitrary large concurrency
  3759. # values, or autoscaling targets. `container-concurrency` default setting
  3760. # must be at or below this value.
  3761. #
  3762. # Must be greater than 1.
  3763. #
  3764. # Note: even with this set, a user can choose a containerConcurrency
  3765. # of 0 (i.e. unbounded) unless allow-container-concurrency-zero is
  3766. # set to "false".
  3767. container-concurrency-max-limit: "1000"
  3768. # allow-container-concurrency-zero controls whether users can
  3769. # specify 0 (i.e. unbounded) for containerConcurrency.
  3770. allow-container-concurrency-zero: "true"
  3771. # enable-service-links specifies the default value used for the
  3772. # enableServiceLinks field of the PodSpec, when it is omitted by the user.
  3773. # See: https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#accessing-the-service
  3774. #
  3775. # This is a tri-state flag with possible values of (true|false|default).
  3776. #
  3777. # In environments with large number of services it is suggested
  3778. # to set this value to `false`.
  3779. # See https://github.com/knative/serving/issues/8498.
  3780. enable-service-links: "false"
  3781. ---
  3782. # Copyright 2019 The Knative Authors
  3783. #
  3784. # Licensed under the Apache License, Version 2.0 (the "License");
  3785. # you may not use this file except in compliance with the License.
  3786. # You may obtain a copy of the License at
  3787. #
  3788. # https://www.apache.org/licenses/LICENSE-2.0
  3789. #
  3790. # Unless required by applicable law or agreed to in writing, software
  3791. # distributed under the License is distributed on an "AS IS" BASIS,
  3792. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3793. # See the License for the specific language governing permissions and
  3794. # limitations under the License.
  3795. apiVersion: v1
  3796. kind: ConfigMap
  3797. metadata:
  3798. name: config-deployment
  3799. namespace: knative-serving
  3800. labels:
  3801. serving.knative.dev/release: "v0.26.0"
  3802. app.kubernetes.io/version: "0.26.0"
  3803. app.kubernetes.io/part-of: knative-serving
  3804. annotations:
  3805. knative.dev/example-checksum: "9448bd0c"
  3806. data:
  3807. # This is the Go import path for the binary that is containerized
  3808. # and substituted here.
  3809. queueSidecarImage: registry.cn-beijing.aliyuncs.com/dotbalo/queue:v0.26
  3810. _example: |-
  3811. ################################
  3812. # #
  3813. # EXAMPLE CONFIGURATION #
  3814. # #
  3815. ################################
  3816. # This block is not actually functional configuration,
  3817. # but serves to illustrate the available configuration
  3818. # options and document them in a way that is accessible
  3819. # to users that `kubectl edit` this config map.
  3820. #
  3821. # These sample configuration options may be copied out of
  3822. # this example block and unindented to be in the data block
  3823. # to actually change the configuration.
  3824. # List of repositories for which tag to digest resolving should be skipped
  3825. registriesSkippingTagResolving: "kind.local,ko.local,dev.local"
  3826. # digestResolutionTimeout is the maximum time allowed for an image's
  3827. # digests to be resolved.
  3828. digestResolutionTimeout: "10s"
  3829. # ProgressDeadline is the duration we wait for the deployment to
  3830. # be ready before considering it failed.
  3831. progressDeadline: "600s"
  3832. # queueSidecarCPURequest is the requests.cpu to set for the queue proxy sidecar container.
  3833. # If omitted, a default value (currently "25m"), is used.
  3834. queueSidecarCPURequest: "25m"
  3835. # queueSidecarCPULimit is the limits.cpu to set for the queue proxy sidecar container.
  3836. # If omitted, no value is specified and the system default is used.
  3837. queueSidecarCPULimit: "1000m"
  3838. # queueSidecarMemoryRequest is the requests.memory to set for the queue proxy container.
  3839. # If omitted, no value is specified and the system default is used.
  3840. queueSidecarMemoryRequest: "400Mi"
  3841. # queueSidecarMemoryLimit is the limits.memory to set for the queue proxy container.
  3842. # If omitted, no value is specified and the system default is used.
  3843. queueSidecarMemoryLimit: "800Mi"
  3844. # queueSidecarEphemeralStorageRequest is the requests.ephemeral-storage to
  3845. # set for the queue proxy sidecar container.
  3846. # If omitted, no value is specified and the system default is used.
  3847. queueSidecarEphemeralStorageRequest: "512Mi"
  3848. # queueSidecarEphemeralStorageLimit is the limits.ephemeral-storage to set
  3849. # for the queue proxy sidecar container.
  3850. # If omitted, no value is specified and the system default is used.
  3851. queueSidecarEphemeralStorageLimit: "1024Mi"
  3852. # concurrencyStateEndpoint is the endpoint that queue-proxy calls when its traffic
  3853. # drops to zero or scales up from zero.
  3854. # If omitted, queue proxy takes no action (this is the default behavior).
  3855. # When enabled, a serviceAccountToken will be mounted to queue-proxy using a
  3856. # projected volume. This requires the Service Account Token Volume Projection feature
  3857. # to be enabled. For details, see this link:
  3858. # https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection
  3859. #
  3860. # NOTE THAT THIS IS AN EXPERIMENTAL / ALPHA FEATURE
  3861. concurrencyStateEndpoint: ""
  3862. ---
  3863. # Copyright 2018 The Knative Authors
  3864. #
  3865. # Licensed under the Apache License, Version 2.0 (the "License");
  3866. # you may not use this file except in compliance with the License.
  3867. # You may obtain a copy of the License at
  3868. #
  3869. # https://www.apache.org/licenses/LICENSE-2.0
  3870. #
  3871. # Unless required by applicable law or agreed to in writing, software
  3872. # distributed under the License is distributed on an "AS IS" BASIS,
  3873. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3874. # See the License for the specific language governing permissions and
  3875. # limitations under the License.
  3876. apiVersion: v1
  3877. kind: ConfigMap
  3878. metadata:
  3879. name: config-domain
  3880. namespace: knative-serving
  3881. labels:
  3882. serving.knative.dev/release: "v0.26.0"
  3883. app.kubernetes.io/version: "0.26.0"
  3884. app.kubernetes.io/part-of: knative-serving
  3885. annotations:
  3886. knative.dev/example-checksum: "81552d0b"
  3887. data:
  3888. _example: |
  3889. ################################
  3890. # #
  3891. # EXAMPLE CONFIGURATION #
  3892. # #
  3893. ################################
  3894. # This block is not actually functional configuration,
  3895. # but serves to illustrate the available configuration
  3896. # options and document them in a way that is accessible
  3897. # to users that `kubectl edit` this config map.
  3898. #
  3899. # These sample configuration options may be copied out of
  3900. # this example block and unindented to be in the data block
  3901. # to actually change the configuration.
  3902. # Default value for domain.
  3903. # Although it will match all routes, it is the least-specific rule so it
  3904. # will only be used if no other domain matches.
  3905. example.com: |
  3906. # These are example settings of domain.
  3907. # example.org will be used for routes having app=nonprofit.
  3908. example.org: |
  3909. selector:
  3910. app: nonprofit
  3911. # Routes having the cluster domain suffix (by default 'svc.cluster.local')
  3912. # will not be exposed through Ingress. You can define your own label
  3913. # selector to assign that domain suffix to your Route here, or you can set
  3914. # the label
  3915. # "networking.knative.dev/visibility=cluster-local"
  3916. # to achieve the same effect. This shows how to make routes having
  3917. # the label app=secret only exposed to the local cluster.
  3918. svc.cluster.local: |
  3919. selector:
  3920. app: secret
  3921. ---
  3922. # Copyright 2020 The Knative Authors
  3923. #
  3924. # Licensed under the Apache License, Version 2.0 (the "License");
  3925. # you may not use this file except in compliance with the License.
  3926. # You may obtain a copy of the License at
  3927. #
  3928. # https://www.apache.org/licenses/LICENSE-2.0
  3929. #
  3930. # Unless required by applicable law or agreed to in writing, software
  3931. # distributed under the License is distributed on an "AS IS" BASIS,
  3932. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3933. # See the License for the specific language governing permissions and
  3934. # limitations under the License.
  3935. apiVersion: v1
  3936. kind: ConfigMap
  3937. metadata:
  3938. name: config-features
  3939. namespace: knative-serving
  3940. labels:
  3941. serving.knative.dev/release: "v0.26.0"
  3942. app.kubernetes.io/version: "0.26.0"
  3943. app.kubernetes.io/part-of: knative-serving
  3944. annotations:
  3945. knative.dev/example-checksum: "5b8c26fe"
  3946. data:
  3947. _example: |-
  3948. ################################
  3949. # #
  3950. # EXAMPLE CONFIGURATION #
  3951. # #
  3952. ################################
  3953. # This block is not actually functional configuration,
  3954. # but serves to illustrate the available configuration
  3955. # options and document them in a way that is accessible
  3956. # to users that `kubectl edit` this config map.
  3957. #
  3958. # These sample configuration options may be copied out of
  3959. # this example block and unindented to be in the data block
  3960. # to actually change the configuration.
  3961. # Indicates whether multi container support is enabled
  3962. #
  3963. # WARNING: Cannot safely be disabled once enabled.
  3964. # See: https://knative.dev/docs/serving/feature-flags/#multi-containers
  3965. multi-container: "enabled"
  3966. # Indicates whether Kubernetes affinity support is enabled
  3967. #
  3968. # WARNING: Cannot safely be disabled once enabled.
  3969. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-node-affinity
  3970. kubernetes.podspec-affinity: "disabled"
  3971. # Indicates whether Kubernetes hostAliases support is enabled
  3972. #
  3973. # WARNING: Cannot safely be disabled once enabled.
  3974. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-host-aliases
  3975. kubernetes.podspec-hostaliases: "disabled"
  3976. # Indicates whether Kubernetes nodeSelector support is enabled
  3977. #
  3978. # WARNING: Cannot safely be disabled once enabled.
  3979. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-node-selector
  3980. kubernetes.podspec-nodeselector: "disabled"
  3981. # Indicates whether Kubernetes tolerations support is enabled
  3982. #
  3983. # WARNING: Cannot safely be disabled once enabled
  3984. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-toleration
  3985. kubernetes.podspec-tolerations: "disabled"
  3986. # Indicates whether Kubernetes FieldRef support is enabled
  3987. #
  3988. # WARNING: Cannot safely be disabled once enabled.
  3989. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-fieldref
  3990. kubernetes.podspec-fieldref: "disabled"
  3991. # Indicates whether Kubernetes RuntimeClassName support is enabled
  3992. #
  3993. # WARNING: Cannot safely be disabled once enabled.
  3994. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-runtime-class
  3995. kubernetes.podspec-runtimeclassname: "disabled"
  3996. # This feature allows end-users to set a subset of fields on the Pod's SecurityContext
  3997. #
  3998. # When set to "enabled" or "allowed" it allows the following
  3999. # PodSecurityContext properties:
  4000. # - FSGroup
  4001. # - RunAsGroup
  4002. # - RunAsNonRoot
  4003. # - SupplementalGroups
  4004. # - RunAsUser
  4005. #
  4006. # This feature flag should be used with caution as the PodSecurityContext
  4007. # properties may have a side-effect on non-user sidecar containers that come
  4008. # from Knative or your service mesh
  4009. #
  4010. # WARNING: Cannot safely be disabled once enabled.
  4011. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-security-context
  4012. kubernetes.podspec-securitycontext: "disabled"
  4013. # Indicates whether Kubernetes PriorityClassName support is enabled
  4014. #
  4015. # WARNING: Cannot safely be disabled once enabled.
  4016. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-priority-class-name
  4017. kubernetes.podspec-priorityclassname: "disabled"
  4018. # This feature flag allows end-users to add a subset of capabilities on the Pod's SecurityContext.
  4019. #
  4020. # When set to "enabled" or "allowed" it allows capabilities to be added to the container.
  4021. # For a list of possible capabilities, see https://man7.org/linux/man-pages/man7/capabilities.7.html
  4022. kubernetes.containerspec-addcapabilities: "disabled"
  4023. # This feature validates PodSpecs from the validating webhook
  4024. # against the K8s API Server.
  4025. #
  4026. # When "enabled", the server will always run the extra validation.
  4027. # When "allowed", the server will not run the dry-run validation by default.
  4028. # However, clients may enable the behavior on an individual Service by
  4029. # attaching the following metadata annotation: "features.knative.dev/podspec-dryrun":"enabled".
  4030. # See: https://knative.dev/docs/serving/feature-flags/#kubernetes-dry-run
  4031. kubernetes.podspec-dryrun: "allowed"
  4032. # Controls whether tag header based routing feature are enabled or not.
  4033. # 1. Enabled: enabling tag header based routing
  4034. # 2. Disabled: disabling tag header based routing
  4035. # See: https://knative.dev/docs/serving/feature-flags/#tag-header-based-routing
  4036. tag-header-based-routing: "disabled"
  4037. # Controls whether http2 auto-detection should be enabled or not.
  4038. # 1. Enabled: http2 connection will be attempted via upgrade.
  4039. # 2. Disabled: http2 connection will only be attempted when port name is set to "h2c".
  4040. autodetect-http2: "disabled"
  4041. # Controls whether volume support for EmptyDir is enabled or not.
  4042. # 1. Enabled: enabling EmptyDir volume support
  4043. # 2. Disabled: disabling EmptyDir volume support
  4044. kubernetes.podspec-volumes-emptydir: "disabled"
  4045. ---
  4046. # Copyright 2018 The Knative Authors
  4047. #
  4048. # Licensed under the Apache License, Version 2.0 (the "License");
  4049. # you may not use this file except in compliance with the License.
  4050. # You may obtain a copy of the License at
  4051. #
  4052. # https://www.apache.org/licenses/LICENSE-2.0
  4053. #
  4054. # Unless required by applicable law or agreed to in writing, software
  4055. # distributed under the License is distributed on an "AS IS" BASIS,
  4056. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4057. # See the License for the specific language governing permissions and
  4058. # limitations under the License.
  4059. apiVersion: v1
  4060. kind: ConfigMap
  4061. metadata:
  4062. name: config-gc
  4063. namespace: knative-serving
  4064. labels:
  4065. serving.knative.dev/release: "v0.26.0"
  4066. app.kubernetes.io/version: "0.26.0"
  4067. app.kubernetes.io/part-of: knative-serving
  4068. annotations:
  4069. knative.dev/example-checksum: "51b4d68a"
  4070. data:
  4071. _example: |
  4072. ################################
  4073. # #
  4074. # EXAMPLE CONFIGURATION #
  4075. # #
  4076. ################################
  4077. # This block is not actually functional configuration,
  4078. # but serves to illustrate the available configuration
  4079. # options and document them in a way that is accessible
  4080. # to users that `kubectl edit` this config map.
  4081. #
  4082. # These sample configuration options may be copied out of
  4083. # this example block and unindented to be in the data block
  4084. # to actually change the configuration.
  4085. # ---------------------------------------
  4086. # Garbage Collector Settings
  4087. # ---------------------------------------
  4088. #
  4089. # Active
  4090. # * Revisions which are referenced by a Route are considered active.
  4091. # * Individual revisions may be marked with the annotation
  4092. # "serving.knative.dev/no-gc":"true" to be permanently considered active.
  4093. # * Active revisions are not considered for GC.
  4094. # Retention
  4095. # * Revisions are retained if they are any of the following:
  4096. # 1. Active
  4097. # 2. Were created within "retain-since-create-time"
  4098. # 3. Were last referenced by a route within
  4099. # "retain-since-last-active-time"
  4100. # 4. There are fewer than "min-non-active-revisions"
  4101. # If none of these conditions are met, or if the count of revisions exceed
  4102. # "max-non-active-revisions", they will be deleted by GC.
  4103. # The special value "disabled" may be used to turn off these limits.
  4104. #
  4105. # Example config to immediately collect any inactive revision:
  4106. # min-non-active-revisions: "0"
  4107. # retain-since-create-time: "disabled"
  4108. # retain-since-last-active-time: "disabled"
  4109. #
  4110. # Example config to always keep around the last ten non-active revisions:
  4111. # retain-since-create-time: "disabled"
  4112. # retain-since-last-active-time: "disabled"
  4113. # max-non-active-revisions: "10"
  4114. #
  4115. # Example config to disable all GC:
  4116. # retain-since-create-time: "disabled"
  4117. # retain-since-last-active-time: "disabled"
  4118. # max-non-active-revisions: "disabled"
  4119. #
  4120. # Example config to keep recently deployed or active revisions,
  4121. # always maintain the last two in case of rollback, and prevent
  4122. # burst activity from exploding the count of old revisions:
  4123. # retain-since-create-time: "48h"
  4124. # retain-since-last-active-time: "15h"
  4125. # min-non-active-revisions: "2"
  4126. # max-non-active-revisions: "1000"
  4127. # Duration since creation before considering a revision for GC or "disabled".
  4128. retain-since-create-time: "48h"
  4129. # Duration since active before considering a revision for GC or "disabled".
  4130. retain-since-last-active-time: "15h"
  4131. # Minimum number of non-active revisions to retain.
  4132. min-non-active-revisions: "20"
  4133. # Maximum number of non-active revisions to retain
  4134. # or "disabled" to disable any maximum limit.
  4135. max-non-active-revisions: "1000"
  4136. ---
  4137. # Copyright 2020 The Knative Authors
  4138. #
  4139. # Licensed under the Apache License, Version 2.0 (the "License");
  4140. # you may not use this file except in compliance with the License.
  4141. # You may obtain a copy of the License at
  4142. #
  4143. # https://www.apache.org/licenses/LICENSE-2.0
  4144. #
  4145. # Unless required by applicable law or agreed to in writing, software
  4146. # distributed under the License is distributed on an "AS IS" BASIS,
  4147. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4148. # See the License for the specific language governing permissions and
  4149. # limitations under the License.
  4150. apiVersion: v1
  4151. kind: ConfigMap
  4152. metadata:
  4153. name: config-leader-election
  4154. namespace: knative-serving
  4155. labels:
  4156. serving.knative.dev/release: "v0.26.0"
  4157. app.kubernetes.io/version: "0.26.0"
  4158. app.kubernetes.io/part-of: knative-serving
  4159. annotations:
  4160. knative.dev/example-checksum: "96896b00"
  4161. data:
  4162. _example: |
  4163. ################################
  4164. # #
  4165. # EXAMPLE CONFIGURATION #
  4166. # #
  4167. ################################
  4168. # This block is not actually functional configuration,
  4169. # but serves to illustrate the available configuration
  4170. # options and document them in a way that is accessible
  4171. # to users that `kubectl edit` this config map.
  4172. #
  4173. # These sample configuration options may be copied out of
  4174. # this example block and unindented to be in the data block
  4175. # to actually change the configuration.
  4176. # leaseDuration is how long non-leaders will wait to try to acquire the
  4177. # lock; 15 seconds is the value used by core kubernetes controllers.
  4178. leaseDuration: "15s"
  4179. # renewDeadline is how long a leader will try to renew the lease before
  4180. # giving up; 10 seconds is the value used by core kubernetes controllers.
  4181. renewDeadline: "10s"
  4182. # retryPeriod is how long the leader election client waits between tries of
  4183. # actions; 2 seconds is the value used by core kubernetes controllers.
  4184. retryPeriod: "2s"
  4185. # buckets is the number of buckets used to partition key space of each
  4186. # Reconciler. If this number is M and the replica number of the controller
  4187. # is N, the N replicas will compete for the M buckets. The owner of a
  4188. # bucket will take care of the reconciling for the keys partitioned into
  4189. # that bucket.
  4190. buckets: "1"
  4191. ---
  4192. # Copyright 2018 The Knative Authors
  4193. #
  4194. # Licensed under the Apache License, Version 2.0 (the "License");
  4195. # you may not use this file except in compliance with the License.
  4196. # You may obtain a copy of the License at
  4197. #
  4198. # https://www.apache.org/licenses/LICENSE-2.0
  4199. #
  4200. # Unless required by applicable law or agreed to in writing, software
  4201. # distributed under the License is distributed on an "AS IS" BASIS,
  4202. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4203. # See the License for the specific language governing permissions and
  4204. # limitations under the License.
  4205. apiVersion: v1
  4206. kind: ConfigMap
  4207. metadata:
  4208. name: config-logging
  4209. namespace: knative-serving
  4210. labels:
  4211. serving.knative.dev/release: "v0.26.0"
  4212. app.kubernetes.io/version: "0.26.0"
  4213. app.kubernetes.io/part-of: knative-serving
  4214. annotations:
  4215. knative.dev/example-checksum: "c68feb1b"
  4216. data:
  4217. _example: |
  4218. ################################
  4219. # #
  4220. # EXAMPLE CONFIGURATION #
  4221. # #
  4222. ################################
  4223. # This block is not actually functional configuration,
  4224. # but serves to illustrate the available configuration
  4225. # options and document them in a way that is accessible
  4226. # to users that `kubectl edit` this config map.
  4227. #
  4228. # These sample configuration options may be copied out of
  4229. # this example block and unindented to be in the data block
  4230. # to actually change the configuration.
  4231. # Common configuration for all Knative codebase
  4232. zap-logger-config: |
  4233. {
  4234. "level": "info",
  4235. "development": false,
  4236. "outputPaths": ["stdout"],
  4237. "errorOutputPaths": ["stderr"],
  4238. "encoding": "json",
  4239. "encoderConfig": {
  4240. "timeKey": "timestamp",
  4241. "levelKey": "severity",
  4242. "nameKey": "logger",
  4243. "callerKey": "caller",
  4244. "messageKey": "message",
  4245. "stacktraceKey": "stacktrace",
  4246. "lineEnding": "",
  4247. "levelEncoder": "",
  4248. "timeEncoder": "iso8601",
  4249. "durationEncoder": "",
  4250. "callerEncoder": ""
  4251. }
  4252. }
  4253. # Log level overrides
  4254. # For all components except the queue proxy,
  4255. # changes are picked up immediately.
  4256. # For queue proxy, changes require recreation of the pods.
  4257. loglevel.controller: "info"
  4258. loglevel.autoscaler: "info"
  4259. loglevel.queueproxy: "info"
  4260. loglevel.webhook: "info"
  4261. loglevel.activator: "info"
  4262. loglevel.hpaautoscaler: "info"
  4263. loglevel.net-certmanager-controller: "info"
  4264. loglevel.net-istio-controller: "info"
  4265. loglevel.net-nscert-controller: "info"
  4266. ---
  4267. # Copyright 2018 The Knative Authors
  4268. #
  4269. # Licensed under the Apache License, Version 2.0 (the "License");
  4270. # you may not use this file except in compliance with the License.
  4271. # You may obtain a copy of the License at
  4272. #
  4273. # https://www.apache.org/licenses/LICENSE-2.0
  4274. #
  4275. # Unless required by applicable law or agreed to in writing, software
  4276. # distributed under the License is distributed on an "AS IS" BASIS,
  4277. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4278. # See the License for the specific language governing permissions and
  4279. # limitations under the License.
  4280. apiVersion: v1
  4281. kind: ConfigMap
  4282. metadata:
  4283. name: config-network
  4284. namespace: knative-serving
  4285. labels:
  4286. serving.knative.dev/release: "v0.26.0"
  4287. annotations:
  4288. knative.dev/example-checksum: "325e5f98"
  4289. data:
  4290. _example: |
  4291. ################################
  4292. # #
  4293. # EXAMPLE CONFIGURATION #
  4294. # #
  4295. ################################
  4296. # This block is not actually functional configuration,
  4297. # but serves to illustrate the available configuration
  4298. # options and document them in a way that is accessible
  4299. # to users that `kubectl edit` this config map.
  4300. #
  4301. # These sample configuration options may be copied out of
  4302. # this example block and unindented to be in the data block
  4303. # to actually change the configuration.
  4304. # ingress.class specifies the default ingress class
  4305. # to use when not dictated by Route annotation.
  4306. #
  4307. # If not specified, will use the Istio ingress.
  4308. #
  4309. # Note that changing the Ingress class of an existing Route
  4310. # will result in undefined behavior. Therefore it is best to only
  4311. # update this value during the setup of Knative, to avoid getting
  4312. # undefined behavior.
  4313. ingress.class: "istio.ingress.networking.knative.dev"
  4314. # certificate.class specifies the default Certificate class
  4315. # to use when not dictated by Route annotation.
  4316. #
  4317. # If not specified, will use the Cert-Manager Certificate.
  4318. #
  4319. # Note that changing the Certificate class of an existing Route
  4320. # will result in undefined behavior. Therefore it is best to only
  4321. # update this value during the setup of Knative, to avoid getting
  4322. # undefined behavior.
  4323. certificate.class: "cert-manager.certificate.networking.knative.dev"
  4324. # domainTemplate specifies the golang text template string to use
  4325. # when constructing the Knative service's DNS name. The default
  4326. # value is "{{.Name}}.{{.Namespace}}.{{.Domain}}".
  4327. #
  4328. # Valid variables defined in the template include Name, Namespace, Domain,
  4329. # Labels, and Annotations. Name will be the result of the tagTemplate
  4330. # below, if a tag is specified for the route.
  4331. #
  4332. # Changing this value might be necessary when the extra levels in
  4333. # the domain name generated is problematic for wildcard certificates
  4334. # that only support a single level of domain name added to the
  4335. # certificate's domain. In those cases you might consider using a value
  4336. # of "{{.Name}}-{{.Namespace}}.{{.Domain}}", or removing the Namespace
  4337. # entirely from the template. When choosing a new value be thoughtful
  4338. # of the potential for conflicts - for example, when users choose to use
  4339. # characters such as `-` in their service, or namespace, names.
  4340. # {{.Annotations}} or {{.Labels}} can be used for any customization in the
  4341. # go template if needed.
  4342. # We strongly recommend keeping namespace part of the template to avoid
  4343. # domain name clashes:
  4344. # eg. '{{.Name}}-{{.Namespace}}.{{ index .Annotations "sub"}}.{{.Domain}}'
  4345. # and you have an annotation {"sub":"foo"}, then the generated template
  4346. # would be {Name}-{Namespace}.foo.{Domain}
  4347. domainTemplate: "{{.Name}}.{{.Namespace}}.{{.Domain}}"
  4348. # tagTemplate specifies the golang text template string to use
  4349. # when constructing the DNS name for "tags" within the traffic blocks
  4350. # of Routes and Configuration. This is used in conjunction with the
  4351. # domainTemplate above to determine the full URL for the tag.
  4352. tagTemplate: "{{.Tag}}-{{.Name}}"
  4353. # Controls whether TLS certificates are automatically provisioned and
  4354. # installed in the Knative ingress to terminate external TLS connection.
  4355. # 1. Enabled: enabling auto-TLS feature.
  4356. # 2. Disabled: disabling auto-TLS feature.
  4357. autoTLS: "Disabled"
  4358. # Controls the behavior of the HTTP endpoint for the Knative ingress.
  4359. # It requires autoTLS to be enabled.
  4360. # 1. Enabled: The Knative ingress will be able to serve HTTP connection.
  4361. # 2. Disabled: The Knative ingress will reject HTTP traffic.
  4362. # 3. Redirected: The Knative ingress will send a 301 redirect for all
  4363. # http connections, asking the clients to use HTTPS.
  4364. httpProtocol: "Enabled"
  4365. # rolloutDuration contains the minimal duration in seconds over which the
  4366. # Configuration traffic targets are rolled out to the newest revision.
  4367. rolloutDuration: "0"
  4368. # autocreateClusterDomainClaims controls whether ClusterDomainClaims should
  4369. # be automatically created (and deleted) as needed when DomainMappings are
  4370. # reconciled.
  4371. #
  4372. # If this is "false" (the default), the cluster administrator is
  4373. # responsible for creating ClusterDomainClaims and delegating them to
  4374. # namespaces via their spec.Namespace field. This setting should be used in
  4375. # multitenant environments which need to control which namespace can use a
  4376. # particular domain name in a domain mapping.
  4377. #
  4378. # If this is "true", users are able to associate arbitrary names with their
  4379. # services via the DomainMapping feature.
  4380. autocreateClusterDomainClaims: "false"
  4381. # If true, networking plugins can add additional information to deployed
  4382. # applications to make their pods directly accessible via their IPs even if mesh is
  4383. # enabled and thus direct-addressability is usually not possible.
  4384. # Consumers like Knative Serving can use this setting to adjust their behavior
  4385. # accordingly, i.e. to drop fallback solutions for non-pod-addressable systems.
  4386. #
  4387. # NOTE: This flag is in an alpha state and is mostly here to enable internal testing
  4388. # for now. Use with caution.
  4389. enable-mesh-pod-addressability: "false"
  4390. # mesh-compatibility-mode indicates whether consumers of network plugins
  4391. # should directly contact Pod IPs (most efficient), or should use the
  4392. # Cluster IP (less efficient, needed when mesh is enabled unless
  4393. # `enable-mesh-pod-addressability`, above, is set).
  4394. # Permitted values are:
  4395. # - "auto" (default): automatically determine which mesh mode to use by trying Pod IP and falling back to Cluster IP as needed.
  4396. # - "enabled": always use Cluster IP and do not attempt to use Pod IPs.
  4397. # - "disabled": always use Pod IPs and do not fall back to Cluster IP on failure.
  4398. mesh-compatibility-mode: "auto"
  4399. # Defines the scheme used for external URLs if autoTLS is not enabled.
  4400. # This can be used for making Knative report all URLs as "HTTPS" for example, if you're
  4401. # fronting Knative with an external loadbalancer that deals with TLS termination and
  4402. # Knative doesn't know about that otherwise.
  4403. defaultExternalScheme: "http"
  4404. ---
  4405. # Copyright 2018 The Knative Authors
  4406. #
  4407. # Licensed under the Apache License, Version 2.0 (the "License");
  4408. # you may not use this file except in compliance with the License.
  4409. # You may obtain a copy of the License at
  4410. #
  4411. # https://www.apache.org/licenses/LICENSE-2.0
  4412. #
  4413. # Unless required by applicable law or agreed to in writing, software
  4414. # distributed under the License is distributed on an "AS IS" BASIS,
  4415. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4416. # See the License for the specific language governing permissions and
  4417. # limitations under the License.
  4418. apiVersion: v1
  4419. kind: ConfigMap
  4420. metadata:
  4421. name: config-observability
  4422. namespace: knative-serving
  4423. labels:
  4424. serving.knative.dev/release: "v0.26.0"
  4425. app.kubernetes.io/version: "0.26.0"
  4426. app.kubernetes.io/part-of: knative-serving
  4427. annotations:
  4428. knative.dev/example-checksum: "fed4756e"
  4429. data:
  4430. _example: |
  4431. ################################
  4432. # #
  4433. # EXAMPLE CONFIGURATION #
  4434. # #
  4435. ################################
  4436. # This block is not actually functional configuration,
  4437. # but serves to illustrate the available configuration
  4438. # options and document them in a way that is accessible
  4439. # to users that `kubectl edit` this config map.
  4440. #
  4441. # These sample configuration options may be copied out of
  4442. # this example block and unindented to be in the data block
  4443. # to actually change the configuration.
  4444. # logging.enable-var-log-collection defaults to false.
  4445. # The fluentd daemon set will be set up to collect /var/log if
  4446. # this flag is true.
  4447. logging.enable-var-log-collection: "false"
  4448. # logging.revision-url-template provides a template to use for producing the
  4449. # logging URL that is injected into the status of each Revision.
  4450. logging.revision-url-template: "http://logging.example.com/?revisionUID=${REVISION_UID}"
  4451. # If non-empty, this enables queue proxy writing user request logs to stdout, excluding probe
  4452. # requests.
  4453. # NB: after 0.18 release logging.enable-request-log must be explicitly set to true
  4454. # in order for request logging to be enabled.
  4455. #
  4456. # The value determines the shape of the request logs and it must be a valid go text/template.
  4457. # It is important to keep this as a single line. Multiple lines are parsed as separate entities
  4458. # by most collection agents and will split the request logs into multiple records.
  4459. #
  4460. # The following fields and functions are available to the template:
  4461. #
  4462. # Request: An http.Request (see https://golang.org/pkg/net/http/#Request)
  4463. # representing an HTTP request received by the server.
  4464. #
  4465. # Response:
  4466. # struct {
  4467. # Code int // HTTP status code (see https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml)
  4468. # Size int // An int representing the size of the response.
  4469. # Latency float64 // A float64 representing the latency of the response in seconds.
  4470. # }
  4471. #
  4472. # Revision:
  4473. # struct {
  4474. # Name string // Knative revision name
  4475. # Namespace string // Knative revision namespace
  4476. # Service string // Knative service name
  4477. # Configuration string // Knative configuration name
  4478. # PodName string // Name of the pod hosting the revision
  4479. # PodIP string // IP of the pod hosting the revision
  4480. # }
  4481. #
  4482. logging.request-log-template: '{"httpRequest": {"requestMethod": "{{.Request.Method}}", "requestUrl": "{{js .Request.RequestURI}}", "requestSize": "{{.Request.ContentLength}}", "status": {{.Response.Code}}, "responseSize": "{{.Response.Size}}", "userAgent": "{{js .Request.UserAgent}}", "remoteIp": "{{js .Request.RemoteAddr}}", "serverIp": "{{.Revision.PodIP}}", "referer": "{{js .Request.Referer}}", "latency": "{{.Response.Latency}}s", "protocol": "{{.Request.Proto}}"}, "traceId": "{{index .Request.Header "X-B3-Traceid"}}"}'
  4483. # If true, the request logging will be enabled.
  4484. # NB: up to and including Knative version 0.18 if logging.request-log-template is non-empty, this value
  4485. # will be ignored.
  4486. logging.enable-request-log: "false"
  4487. # If true, this enables queue proxy writing request logs for probe requests to stdout.
  4488. # It uses the same template for user requests, i.e. logging.request-log-template.
  4489. logging.enable-probe-request-log: "false"
  4490. # metrics.backend-destination field specifies the system metrics destination.
  4491. # It supports either prometheus (the default) or opencensus.
  4492. metrics.backend-destination: prometheus
  4493. # metrics.request-metrics-backend-destination specifies the request metrics
  4494. # destination. It enables queue proxy to send request metrics.
  4495. # Currently supported values: prometheus (the default), opencensus.
  4496. metrics.request-metrics-backend-destination: prometheus
  4497. # profiling.enable indicates whether it is allowed to retrieve runtime profiling data from
  4498. # the pods via an HTTP server in the format expected by the pprof visualization tool. When
  4499. # enabled, the Knative Serving pods expose the profiling data on an alternate HTTP port 8008.
  4500. # The HTTP context root for profiling is then /debug/pprof/.
  4501. profiling.enable: "false"
  4502. ---
  4503. # Copyright 2019 The Knative Authors
  4504. #
  4505. # Licensed under the Apache License, Version 2.0 (the "License");
  4506. # you may not use this file except in compliance with the License.
  4507. # You may obtain a copy of the License at
  4508. #
  4509. # https://www.apache.org/licenses/LICENSE-2.0
  4510. #
  4511. # Unless required by applicable law or agreed to in writing, software
  4512. # distributed under the License is distributed on an "AS IS" BASIS,
  4513. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4514. # See the License for the specific language governing permissions and
  4515. # limitations under the License.
  4516. apiVersion: v1
  4517. kind: ConfigMap
  4518. metadata:
  4519. name: config-tracing
  4520. namespace: knative-serving
  4521. labels:
  4522. serving.knative.dev/release: "v0.26.0"
  4523. app.kubernetes.io/version: "0.26.0"
  4524. app.kubernetes.io/part-of: knative-serving
  4525. annotations:
  4526. knative.dev/example-checksum: "26614636"
  4527. data:
  4528. _example: |
  4529. ################################
  4530. # #
  4531. # EXAMPLE CONFIGURATION #
  4532. # #
  4533. ################################
  4534. # This block is not actually functional configuration,
  4535. # but serves to illustrate the available configuration
  4536. # options and document them in a way that is accessible
  4537. # to users that `kubectl edit` this config map.
  4538. #
  4539. # These sample configuration options may be copied out of
  4540. # this example block and unindented to be in the data block
  4541. # to actually change the configuration.
  4542. #
  4543. # This may be "zipkin" or "none" (default)
  4544. backend: "none"
  4545. # URL to zipkin collector where traces are sent.
  4546. # This must be specified when backend is "zipkin"
  4547. zipkin-endpoint: "http://zipkin.istio-system.svc.cluster.local:9411/api/v2/spans"
  4548. # Enable zipkin debug mode. This allows all spans to be sent to the server
  4549. # bypassing sampling.
  4550. debug: "false"
  4551. # Percentage (0-1) of requests to trace
  4552. sample-rate: "0.1"
  4553. ---
  4554. # Copyright 2020 The Knative Authors
  4555. #
  4556. # Licensed under the Apache License, Version 2.0 (the "License");
  4557. # you may not use this file except in compliance with the License.
  4558. # You may obtain a copy of the License at
  4559. #
  4560. # https://www.apache.org/licenses/LICENSE-2.0
  4561. #
  4562. # Unless required by applicable law or agreed to in writing, software
  4563. # distributed under the License is distributed on an "AS IS" BASIS,
  4564. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4565. # See the License for the specific language governing permissions and
  4566. # limitations under the License.
  4567. apiVersion: autoscaling/v2beta2
  4568. kind: HorizontalPodAutoscaler
  4569. metadata:
  4570. name: activator
  4571. namespace: knative-serving
  4572. labels:
  4573. serving.knative.dev/release: "v0.26.0"
  4574. app.kubernetes.io/name: activator
  4575. app.kubernetes.io/version: "0.26.0"
  4576. app.kubernetes.io/part-of: knative-serving
  4577. spec:
  4578. minReplicas: 1
  4579. maxReplicas: 20
  4580. scaleTargetRef:
  4581. apiVersion: apps/v1
  4582. kind: Deployment
  4583. name: activator
  4584. metrics:
  4585. - type: Resource
  4586. resource:
  4587. name: cpu
  4588. target:
  4589. type: Utilization
  4590. # Percentage of the requested CPU
  4591. averageUtilization: 100
  4592. ---
  4593. # Activator PDB. Currently we permit unavailability of 20% of tasks at the same time.
  4594. # Given the subsetting and that the activators are partially stateful systems, we want
  4595. # a slow rollout of the new versions and slow migration during node upgrades.
  4596. apiVersion: policy/v1beta1
  4597. kind: PodDisruptionBudget
  4598. metadata:
  4599. name: activator-pdb
  4600. namespace: knative-serving
  4601. labels:
  4602. serving.knative.dev/release: "v0.26.0"
  4603. app.kubernetes.io/name: activator
  4604. app.kubernetes.io/version: "0.26.0"
  4605. app.kubernetes.io/part-of: knative-serving
  4606. spec:
  4607. minAvailable: 80%
  4608. selector:
  4609. matchLabels:
  4610. app: activator
  4611. ---
  4612. # Copyright 2018 The Knative Authors
  4613. #
  4614. # Licensed under the Apache License, Version 2.0 (the "License");
  4615. # you may not use this file except in compliance with the License.
  4616. # You may obtain a copy of the License at
  4617. #
  4618. # https://www.apache.org/licenses/LICENSE-2.0
  4619. #
  4620. # Unless required by applicable law or agreed to in writing, software
  4621. # distributed under the License is distributed on an "AS IS" BASIS,
  4622. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4623. # See the License for the specific language governing permissions and
  4624. # limitations under the License.
  4625. apiVersion: apps/v1
  4626. kind: Deployment
  4627. metadata:
  4628. name: activator
  4629. namespace: knative-serving
  4630. labels:
  4631. serving.knative.dev/release: "v0.26.0"
  4632. app.kubernetes.io/name: activator
  4633. app.kubernetes.io/version: "0.26.0"
  4634. app.kubernetes.io/part-of: knative-serving
  4635. spec:
  4636. selector:
  4637. matchLabels:
  4638. app: activator
  4639. role: activator
  4640. template:
  4641. metadata:
  4642. annotations:
  4643. cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
  4644. labels:
  4645. app: activator
  4646. role: activator
  4647. serving.knative.dev/release: "v0.26.0"
  4648. app.kubernetes.io/name: activator
  4649. app.kubernetes.io/part-of: knative-serving
  4650. app.kubernetes.io/version: "0.26.0"
  4651. spec:
  4652. serviceAccountName: controller
  4653. containers:
  4654. - name: activator
  4655. # This is the Go import path for the binary that is containerized
  4656. # and substituted here.
  4657. image: registry.cn-beijing.aliyuncs.com/dotbalo/activator:v0.26
  4658. # The numbers are based on performance test results from
  4659. # https://github.com/knative/serving/issues/1625#issuecomment-511930023
  4660. resources:
  4661. requests:
  4662. cpu: 300m
  4663. memory: 60Mi
  4664. limits:
  4665. cpu: 1000m
  4666. memory: 600Mi
  4667. env:
  4668. # Run Activator with GC collection when newly generated memory is 500%.
  4669. - name: GOGC
  4670. value: "500"
  4671. - name: POD_NAME
  4672. valueFrom:
  4673. fieldRef:
  4674. fieldPath: metadata.name
  4675. - name: POD_IP
  4676. valueFrom:
  4677. fieldRef:
  4678. fieldPath: status.podIP
  4679. - name: SYSTEM_NAMESPACE
  4680. valueFrom:
  4681. fieldRef:
  4682. fieldPath: metadata.namespace
  4683. - name: CONFIG_LOGGING_NAME
  4684. value: config-logging
  4685. - name: CONFIG_OBSERVABILITY_NAME
  4686. value: config-observability
  4687. # TODO(https://github.com/knative/pkg/pull/953): Remove stackdriver specific config
  4688. - name: METRICS_DOMAIN
  4689. value: knative.dev/internal/serving
  4690. securityContext:
  4691. allowPrivilegeEscalation: false
  4692. readOnlyRootFilesystem: true
  4693. runAsNonRoot: true
  4694. capabilities:
  4695. drop:
  4696. - all
  4697. ports:
  4698. - name: metrics
  4699. containerPort: 9090
  4700. - name: profiling
  4701. containerPort: 8008
  4702. - name: http1
  4703. containerPort: 8012
  4704. - name: h2c
  4705. containerPort: 8013
  4706. readinessProbe:
  4707. httpGet:
  4708. port: 8012
  4709. httpHeaders:
  4710. - name: k-kubelet-probe
  4711. value: "activator"
  4712. failureThreshold: 12
  4713. livenessProbe:
  4714. httpGet:
  4715. port: 8012
  4716. httpHeaders:
  4717. - name: k-kubelet-probe
  4718. value: "activator"
  4719. failureThreshold: 12
  4720. initialDelaySeconds: 15
  4721. # The activator (often) sits on the dataplane, and may proxy long (e.g.
  4722. # streaming, websockets) requests. We give a long grace period for the
  4723. # activator to "lame duck" and drain outstanding requests before we
  4724. # forcibly terminate the pod (and outstanding connections). This value
  4725. # should be at least as large as the upper bound on the Revision's
  4726. # timeoutSeconds property to avoid servicing events disrupting
  4727. # connections.
  4728. terminationGracePeriodSeconds: 600
  4729. ---
  4730. apiVersion: v1
  4731. kind: Service
  4732. metadata:
  4733. name: activator-service
  4734. namespace: knative-serving
  4735. labels:
  4736. app: activator
  4737. serving.knative.dev/release: "v0.26.0"
  4738. app.kubernetes.io/name: activator
  4739. app.kubernetes.io/version: "0.26.0"
  4740. app.kubernetes.io/part-of: knative-serving
  4741. spec:
  4742. selector:
  4743. app: activator
  4744. ports:
  4745. # Define metrics and profiling for them to be accessible within service meshes.
  4746. - name: http-metrics
  4747. port: 9090
  4748. targetPort: 9090
  4749. - name: http-profiling
  4750. port: 8008
  4751. targetPort: 8008
  4752. - name: http
  4753. port: 80
  4754. targetPort: 8012
  4755. - name: http2
  4756. port: 81
  4757. targetPort: 8013
  4758. type: ClusterIP
  4759. ---
  4760. # Copyright 2018 The Knative Authors
  4761. #
  4762. # Licensed under the Apache License, Version 2.0 (the "License");
  4763. # you may not use this file except in compliance with the License.
  4764. # You may obtain a copy of the License at
  4765. #
  4766. # https://www.apache.org/licenses/LICENSE-2.0
  4767. #
  4768. # Unless required by applicable law or agreed to in writing, software
  4769. # distributed under the License is distributed on an "AS IS" BASIS,
  4770. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4771. # See the License for the specific language governing permissions and
  4772. # limitations under the License.
  4773. apiVersion: apps/v1
  4774. kind: Deployment
  4775. metadata:
  4776. name: autoscaler
  4777. namespace: knative-serving
  4778. labels:
  4779. serving.knative.dev/release: "v0.26.0"
  4780. app.kubernetes.io/name: autoscaler
  4781. app.kubernetes.io/part-of: knative-serving
  4782. app.kubernetes.io/version: "0.26.0"
  4783. spec:
  4784. replicas: 1
  4785. selector:
  4786. matchLabels:
  4787. app: autoscaler
  4788. template:
  4789. metadata:
  4790. annotations:
  4791. cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
  4792. labels:
  4793. app: autoscaler
  4794. serving.knative.dev/release: "v0.26.0"
  4795. app.kubernetes.io/name: autoscaler
  4796. app.kubernetes.io/part-of: knative-serving
  4797. app.kubernetes.io/version: "0.26.0"
  4798. spec:
  4799. # To avoid node becoming SPOF, spread our replicas to different nodes.
  4800. affinity:
  4801. podAntiAffinity:
  4802. preferredDuringSchedulingIgnoredDuringExecution:
  4803. - podAffinityTerm:
  4804. labelSelector:
  4805. matchLabels:
  4806. app: autoscaler
  4807. topologyKey: kubernetes.io/hostname
  4808. weight: 100
  4809. serviceAccountName: controller
  4810. containers:
  4811. - name: autoscaler
  4812. # This is the Go import path for the binary that is containerized
  4813. # and substituted here.
  4814. image: registry.cn-beijing.aliyuncs.com/dotbalo/autoscaler:v0.26
  4815. resources:
  4816. requests:
  4817. cpu: 100m
  4818. memory: 100Mi
  4819. limits:
  4820. cpu: 1000m
  4821. memory: 1000Mi
  4822. env:
  4823. - name: POD_NAME
  4824. valueFrom:
  4825. fieldRef:
  4826. fieldPath: metadata.name
  4827. - name: POD_IP
  4828. valueFrom:
  4829. fieldRef:
  4830. fieldPath: status.podIP
  4831. - name: SYSTEM_NAMESPACE
  4832. valueFrom:
  4833. fieldRef:
  4834. fieldPath: metadata.namespace
  4835. - name: CONFIG_LOGGING_NAME
  4836. value: config-logging
  4837. - name: CONFIG_OBSERVABILITY_NAME
  4838. value: config-observability
  4839. # TODO(https://github.com/knative/pkg/pull/953): Remove stackdriver specific config
  4840. - name: METRICS_DOMAIN
  4841. value: knative.dev/serving
  4842. securityContext:
  4843. allowPrivilegeEscalation: false
  4844. readOnlyRootFilesystem: true
  4845. runAsNonRoot: true
  4846. capabilities:
  4847. drop:
  4848. - all
  4849. ports:
  4850. - name: metrics
  4851. containerPort: 9090
  4852. - name: profiling
  4853. containerPort: 8008
  4854. - name: websocket
  4855. containerPort: 8080
  4856. readinessProbe:
  4857. httpGet:
  4858. port: 8080
  4859. httpHeaders:
  4860. - name: k-kubelet-probe
  4861. value: "autoscaler"
  4862. livenessProbe:
  4863. httpGet:
  4864. port: 8080
  4865. httpHeaders:
  4866. - name: k-kubelet-probe
  4867. value: "autoscaler"
  4868. failureThreshold: 6
  4869. ---
  4870. apiVersion: v1
  4871. kind: Service
  4872. metadata:
  4873. labels:
  4874. app: autoscaler
  4875. serving.knative.dev/release: "v0.26.0"
  4876. app.kubernetes.io/name: autoscaler
  4877. app.kubernetes.io/part-of: knative-serving
  4878. app.kubernetes.io/version: "0.26.0"
  4879. name: autoscaler
  4880. namespace: knative-serving
  4881. spec:
  4882. ports:
  4883. # Define metrics and profiling for them to be accessible within service meshes.
  4884. - name: http-metrics
  4885. port: 9090
  4886. targetPort: 9090
  4887. - name: http-profiling
  4888. port: 8008
  4889. targetPort: 8008
  4890. - name: http
  4891. port: 8080
  4892. targetPort: 8080
  4893. selector:
  4894. app: autoscaler
  4895. ---
  4896. # Copyright 2018 The Knative Authors
  4897. #
  4898. # Licensed under the Apache License, Version 2.0 (the "License");
  4899. # you may not use this file except in compliance with the License.
  4900. # You may obtain a copy of the License at
  4901. #
  4902. # https://www.apache.org/licenses/LICENSE-2.0
  4903. #
  4904. # Unless required by applicable law or agreed to in writing, software
  4905. # distributed under the License is distributed on an "AS IS" BASIS,
  4906. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  4907. # See the License for the specific language governing permissions and
  4908. # limitations under the License.
  4909. apiVersion: apps/v1
  4910. kind: Deployment
  4911. metadata:
  4912. name: controller
  4913. namespace: knative-serving
  4914. labels:
  4915. serving.knative.dev/release: "v0.26.0"
  4916. app.kubernetes.io/name: controller
  4917. app.kubernetes.io/version: "0.26.0"
  4918. app.kubernetes.io/part-of: knative-serving
  4919. spec:
  4920. selector:
  4921. matchLabels:
  4922. app: controller
  4923. template:
  4924. metadata:
  4925. annotations:
  4926. cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
  4927. labels:
  4928. app: controller
  4929. serving.knative.dev/release: "v0.26.0"
  4930. app.kubernetes.io/name: controller
  4931. app.kubernetes.io/version: "0.26.0"
  4932. app.kubernetes.io/part-of: knative-serving
  4933. spec:
  4934. # To avoid node becoming SPOF, spread our replicas to different nodes.
  4935. affinity:
  4936. podAntiAffinity:
  4937. preferredDuringSchedulingIgnoredDuringExecution:
  4938. - podAffinityTerm:
  4939. labelSelector:
  4940. matchLabels:
  4941. app: controller
  4942. topologyKey: kubernetes.io/hostname
  4943. weight: 100
  4944. serviceAccountName: controller
  4945. containers:
  4946. - name: controller
  4947. # This is the Go import path for the binary that is containerized
  4948. # and substituted here.
  4949. image: registry.cn-beijing.aliyuncs.com/dotbalo/controller:v0.26
  4950. resources:
  4951. requests:
  4952. cpu: 100m
  4953. memory: 100Mi
  4954. limits:
  4955. cpu: 1000m
  4956. memory: 1000Mi
  4957. env:
  4958. - name: POD_NAME
  4959. valueFrom:
  4960. fieldRef:
  4961. fieldPath: metadata.name
  4962. - name: SYSTEM_NAMESPACE
  4963. valueFrom:
  4964. fieldRef:
  4965. fieldPath: metadata.namespace
  4966. - name: CONFIG_LOGGING_NAME
  4967. value: config-logging
  4968. - name: CONFIG_OBSERVABILITY_NAME
  4969. value: config-observability
  4970. # TODO(https://github.com/knative/pkg/pull/953): Remove stackdriver specific config
  4971. - name: METRICS_DOMAIN
  4972. value: knative.dev/internal/serving
  4973. securityContext:
  4974. allowPrivilegeEscalation: false
  4975. readOnlyRootFilesystem: true
  4976. runAsNonRoot: true
  4977. capabilities:
  4978. drop:
  4979. - all
  4980. ports:
  4981. - name: metrics
  4982. containerPort: 9090
  4983. - name: profiling
  4984. containerPort: 8008
  4985. ---
  4986. apiVersion: v1
  4987. kind: Service
  4988. metadata:
  4989. labels:
  4990. app: controller
  4991. serving.knative.dev/release: "v0.26.0"
  4992. app.kubernetes.io/name: controller
  4993. app.kubernetes.io/version: "0.26.0"
  4994. app.kubernetes.io/part-of: knative-serving
  4995. name: controller
  4996. namespace: knative-serving
  4997. spec:
  4998. ports:
  4999. # Define metrics and profiling for them to be accessible within service meshes.
  5000. - name: http-metrics
  5001. port: 9090
  5002. targetPort: 9090
  5003. - name: http-profiling
  5004. port: 8008
  5005. targetPort: 8008
  5006. selector:
  5007. app: controller
  5008. ---
  5009. # Copyright 2020 The Knative Authors
  5010. #
  5011. # Licensed under the Apache License, Version 2.0 (the "License");
  5012. # you may not use this file except in compliance with the License.
  5013. # You may obtain a copy of the License at
  5014. #
  5015. # https://www.apache.org/licenses/LICENSE-2.0
  5016. #
  5017. # Unless required by applicable law or agreed to in writing, software
  5018. # distributed under the License is distributed on an "AS IS" BASIS,
  5019. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5020. # See the License for the specific language governing permissions and
  5021. # limitations under the License.
  5022. apiVersion: apps/v1
  5023. kind: Deployment
  5024. metadata:
  5025. name: domain-mapping
  5026. namespace: knative-serving
  5027. labels:
  5028. serving.knative.dev/release: "v0.26.0"
  5029. app.kubernetes.io/name: domain-mapping
  5030. app.kubernetes.io/version: "0.26.0"
  5031. app.kubernetes.io/part-of: knative-serving
  5032. spec:
  5033. selector:
  5034. matchLabels:
  5035. app: domain-mapping
  5036. template:
  5037. metadata:
  5038. annotations:
  5039. cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
  5040. labels:
  5041. app: domain-mapping
  5042. serving.knative.dev/release: "v0.26.0"
  5043. app.kubernetes.io/name: domain-mapping
  5044. app.kubernetes.io/part-of: knative-serving
  5045. app.kubernetes.io/version: "0.26.0"
  5046. spec:
  5047. # To avoid node becoming SPOF, spread our replicas to different nodes.
  5048. affinity:
  5049. podAntiAffinity:
  5050. preferredDuringSchedulingIgnoredDuringExecution:
  5051. - podAffinityTerm:
  5052. labelSelector:
  5053. matchLabels:
  5054. app: domain-mapping
  5055. topologyKey: kubernetes.io/hostname
  5056. weight: 100
  5057. serviceAccountName: controller
  5058. containers:
  5059. - name: domain-mapping
  5060. # This is the Go import path for the binary that is containerized
  5061. # and substituted here.
  5062. image: registry.cn-beijing.aliyuncs.com/dotbalo/domain-mapping:v0.26
  5063. resources:
  5064. requests:
  5065. cpu: 30m
  5066. memory: 40Mi
  5067. limits:
  5068. cpu: 300m
  5069. memory: 400Mi
  5070. env:
  5071. - name: SYSTEM_NAMESPACE
  5072. valueFrom:
  5073. fieldRef:
  5074. fieldPath: metadata.namespace
  5075. - name: CONFIG_LOGGING_NAME
  5076. value: config-logging
  5077. - name: CONFIG_OBSERVABILITY_NAME
  5078. value: config-observability
  5079. # TODO(https://github.com/knative/pkg/pull/953): Remove stackdriver specific config
  5080. - name: METRICS_DOMAIN
  5081. value: knative.dev/serving
  5082. securityContext:
  5083. allowPrivilegeEscalation: false
  5084. readOnlyRootFilesystem: true
  5085. runAsNonRoot: true
  5086. capabilities:
  5087. drop:
  5088. - all
  5089. ports:
  5090. - name: metrics
  5091. containerPort: 9090
  5092. - name: profiling
  5093. containerPort: 8008
  5094. ---
  5095. # Copyright 2020 The Knative Authors
  5096. #
  5097. # Licensed under the Apache License, Version 2.0 (the "License");
  5098. # you may not use this file except in compliance with the License.
  5099. # You may obtain a copy of the License at
  5100. #
  5101. # https://www.apache.org/licenses/LICENSE-2.0
  5102. #
  5103. # Unless required by applicable law or agreed to in writing, software
  5104. # distributed under the License is distributed on an "AS IS" BASIS,
  5105. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5106. # See the License for the specific language governing permissions and
  5107. # limitations under the License.
  5108. apiVersion: apps/v1
  5109. kind: Deployment
  5110. metadata:
  5111. name: domainmapping-webhook
  5112. namespace: knative-serving
  5113. labels:
  5114. serving.knative.dev/release: "v0.26.0"
  5115. app.kubernetes.io/name: domainmapping-webhook
  5116. app.kubernetes.io/version: "0.26.0"
  5117. app.kubernetes.io/part-of: knative-serving
  5118. spec:
  5119. selector:
  5120. matchLabels:
  5121. app: domainmapping-webhook
  5122. role: domainmapping-webhook
  5123. template:
  5124. metadata:
  5125. annotations:
  5126. cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
  5127. labels:
  5128. app: domainmapping-webhook
  5129. app.kubernetes.io/name: domainmapping-webhook
  5130. app.kubernetes.io/part-of: knative-serving
  5131. app.kubernetes.io/version: "0.26.0"
  5132. role: domainmapping-webhook
  5133. serving.knative.dev/release: "v0.26.0"
  5134. spec:
  5135. # To avoid node becoming SPOF, spread our replicas to different nodes.
  5136. affinity:
  5137. podAntiAffinity:
  5138. preferredDuringSchedulingIgnoredDuringExecution:
  5139. - podAffinityTerm:
  5140. labelSelector:
  5141. matchLabels:
  5142. app: domainmapping-webhook
  5143. topologyKey: kubernetes.io/hostname
  5144. weight: 100
  5145. serviceAccountName: controller
  5146. containers:
  5147. - name: domainmapping-webhook
  5148. # This is the Go import path for the binary that is containerized
  5149. # and substituted here.
  5150. image: registry.cn-beijing.aliyuncs.com/dotbalo/domain-mapping-webhook:v0.26
  5151. resources:
  5152. requests:
  5153. cpu: 100m
  5154. memory: 100Mi
  5155. limits:
  5156. cpu: 500m
  5157. memory: 500Mi
  5158. env:
  5159. - name: POD_NAME
  5160. valueFrom:
  5161. fieldRef:
  5162. fieldPath: metadata.name
  5163. - name: SYSTEM_NAMESPACE
  5164. valueFrom:
  5165. fieldRef:
  5166. fieldPath: metadata.namespace
  5167. - name: CONFIG_LOGGING_NAME
  5168. value: config-logging
  5169. - name: CONFIG_OBSERVABILITY_NAME
  5170. value: config-observability
  5171. - name: WEBHOOK_PORT
  5172. value: "8443"
  5173. # TODO(https://github.com/knative/pkg/pull/953): Remove stackdriver specific config
  5174. - name: METRICS_DOMAIN
  5175. value: knative.dev/serving
  5176. securityContext:
  5177. allowPrivilegeEscalation: false
  5178. readOnlyRootFilesystem: true
  5179. runAsNonRoot: true
  5180. capabilities:
  5181. drop:
  5182. - all
  5183. ports:
  5184. - name: metrics
  5185. containerPort: 9090
  5186. - name: profiling
  5187. containerPort: 8008
  5188. - name: https-webhook
  5189. containerPort: 8443
  5190. readinessProbe:
  5191. periodSeconds: 1
  5192. httpGet:
  5193. scheme: HTTPS
  5194. port: 8443
  5195. httpHeaders:
  5196. - name: k-kubelet-probe
  5197. value: "webhook"
  5198. livenessProbe:
  5199. periodSeconds: 1
  5200. httpGet:
  5201. scheme: HTTPS
  5202. port: 8443
  5203. httpHeaders:
  5204. - name: k-kubelet-probe
  5205. value: "webhook"
  5206. failureThreshold: 6
  5207. initialDelaySeconds: 20
  5208. # Our webhook should gracefully terminate by lame ducking first, set this to a sufficiently
  5209. # high value that we respect whatever value it has configured for the lame duck grace period.
  5210. terminationGracePeriodSeconds: 300
  5211. ---
  5212. apiVersion: v1
  5213. kind: Service
  5214. metadata:
  5215. labels:
  5216. role: domainmapping-webhook
  5217. serving.knative.dev/release: "v0.26.0"
  5218. app.kubernetes.io/name: domainmapping-webhook
  5219. app.kubernetes.io/version: "0.26.0"
  5220. app.kubernetes.io/part-of: knative-serving
  5221. name: domainmapping-webhook
  5222. namespace: knative-serving
  5223. spec:
  5224. ports:
  5225. # Define metrics and profiling for them to be accessible within service meshes.
  5226. - name: http-metrics
  5227. port: 9090
  5228. targetPort: 9090
  5229. - name: http-profiling
  5230. port: 8008
  5231. targetPort: 8008
  5232. - name: https-webhook
  5233. port: 443
  5234. targetPort: 8443
  5235. selector:
  5236. role: domainmapping-webhook
  5237. ---
  5238. # Copyright 2020 The Knative Authors
  5239. #
  5240. # Licensed under the Apache License, Version 2.0 (the "License");
  5241. # you may not use this file except in compliance with the License.
  5242. # You may obtain a copy of the License at
  5243. #
  5244. # https://www.apache.org/licenses/LICENSE-2.0
  5245. #
  5246. # Unless required by applicable law or agreed to in writing, software
  5247. # distributed under the License is distributed on an "AS IS" BASIS,
  5248. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5249. # See the License for the specific language governing permissions and
  5250. # limitations under the License.
  5251. apiVersion: autoscaling/v2beta2
  5252. kind: HorizontalPodAutoscaler
  5253. metadata:
  5254. name: webhook
  5255. namespace: knative-serving
  5256. labels:
  5257. serving.knative.dev/release: "v0.26.0"
  5258. app.kubernetes.io/name: webhook
  5259. app.kubernetes.io/version: "0.26.0"
  5260. app.kubernetes.io/part-of: knative-serving
  5261. spec:
  5262. minReplicas: 1
  5263. maxReplicas: 5
  5264. scaleTargetRef:
  5265. apiVersion: apps/v1
  5266. kind: Deployment
  5267. name: webhook
  5268. metrics:
  5269. - type: Resource
  5270. resource:
  5271. name: cpu
  5272. target:
  5273. type: Utilization
  5274. # Percentage of the requested CPU
  5275. averageUtilization: 100
  5276. ---
  5277. # Webhook PDB.
  5278. apiVersion: policy/v1beta1
  5279. kind: PodDisruptionBudget
  5280. metadata:
  5281. name: webhook-pdb
  5282. namespace: knative-serving
  5283. labels:
  5284. serving.knative.dev/release: "v0.26.0"
  5285. app.kubernetes.io/name: webhook
  5286. app.kubernetes.io/version: "0.26.0"
  5287. app.kubernetes.io/part-of: knative-serving
  5288. spec:
  5289. minAvailable: 80%
  5290. selector:
  5291. matchLabels:
  5292. app: webhook
  5293. ---
  5294. # Copyright 2018 The Knative Authors
  5295. #
  5296. # Licensed under the Apache License, Version 2.0 (the "License");
  5297. # you may not use this file except in compliance with the License.
  5298. # You may obtain a copy of the License at
  5299. #
  5300. # https://www.apache.org/licenses/LICENSE-2.0
  5301. #
  5302. # Unless required by applicable law or agreed to in writing, software
  5303. # distributed under the License is distributed on an "AS IS" BASIS,
  5304. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5305. # See the License for the specific language governing permissions and
  5306. # limitations under the License.
  5307. apiVersion: apps/v1
  5308. kind: Deployment
  5309. metadata:
  5310. name: webhook
  5311. namespace: knative-serving
  5312. labels:
  5313. serving.knative.dev/release: "v0.26.0"
  5314. app.kubernetes.io/name: webhook
  5315. app.kubernetes.io/version: "0.26.0"
  5316. app.kubernetes.io/part-of: knative-serving
  5317. spec:
  5318. selector:
  5319. matchLabels:
  5320. app: webhook
  5321. role: webhook
  5322. template:
  5323. metadata:
  5324. annotations:
  5325. cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
  5326. labels:
  5327. app: webhook
  5328. role: webhook
  5329. serving.knative.dev/release: "v0.26.0"
  5330. app.kubernetes.io/name: webhook
  5331. app.kubernetes.io/version: "0.26.0"
  5332. app.kubernetes.io/part-of: knative-serving
  5333. spec:
  5334. # To avoid node becoming SPOF, spread our replicas to different nodes.
  5335. affinity:
  5336. podAntiAffinity:
  5337. preferredDuringSchedulingIgnoredDuringExecution:
  5338. - podAffinityTerm:
  5339. labelSelector:
  5340. matchLabels:
  5341. app: webhook
  5342. topologyKey: kubernetes.io/hostname
  5343. weight: 100
  5344. serviceAccountName: controller
  5345. containers:
  5346. - name: webhook
  5347. # This is the Go import path for the binary that is containerized
  5348. # and substituted here.
  5349. image: registry.cn-beijing.aliyuncs.com/dotbalo/webhook:v0.26
  5350. resources:
  5351. requests:
  5352. cpu: 100m
  5353. memory: 100Mi
  5354. limits:
  5355. cpu: 500m
  5356. memory: 500Mi
  5357. env:
  5358. - name: POD_NAME
  5359. valueFrom:
  5360. fieldRef:
  5361. fieldPath: metadata.name
  5362. - name: SYSTEM_NAMESPACE
  5363. valueFrom:
  5364. fieldRef:
  5365. fieldPath: metadata.namespace
  5366. - name: CONFIG_LOGGING_NAME
  5367. value: config-logging
  5368. - name: CONFIG_OBSERVABILITY_NAME
  5369. value: config-observability
  5370. - name: WEBHOOK_NAME
  5371. value: webhook
  5372. - name: WEBHOOK_PORT
  5373. value: "8443"
  5374. # TODO(https://github.com/knative/pkg/pull/953): Remove stackdriver specific config
  5375. - name: METRICS_DOMAIN
  5376. value: knative.dev/internal/serving
  5377. securityContext:
  5378. allowPrivilegeEscalation: false
  5379. readOnlyRootFilesystem: true
  5380. runAsNonRoot: true
  5381. capabilities:
  5382. drop:
  5383. - all
  5384. ports:
  5385. - name: metrics
  5386. containerPort: 9090
  5387. - name: profiling
  5388. containerPort: 8008
  5389. - name: https-webhook
  5390. containerPort: 8443
  5391. readinessProbe:
  5392. periodSeconds: 1
  5393. httpGet:
  5394. scheme: HTTPS
  5395. port: 8443
  5396. httpHeaders:
  5397. - name: k-kubelet-probe
  5398. value: "webhook"
  5399. livenessProbe:
  5400. periodSeconds: 1
  5401. httpGet:
  5402. scheme: HTTPS
  5403. port: 8443
  5404. httpHeaders:
  5405. - name: k-kubelet-probe
  5406. value: "webhook"
  5407. failureThreshold: 6
  5408. initialDelaySeconds: 20
  5409. # Our webhook should gracefully terminate by lame ducking first, set this to a sufficiently
  5410. # high value that we respect whatever value it has configured for the lame duck grace period.
  5411. terminationGracePeriodSeconds: 300
  5412. ---
  5413. apiVersion: v1
  5414. kind: Service
  5415. metadata:
  5416. labels:
  5417. role: webhook
  5418. serving.knative.dev/release: "v0.26.0"
  5419. app.kubernetes.io/name: webhook
  5420. app.kubernetes.io/version: "0.26.0"
  5421. app.kubernetes.io/part-of: knative-serving
  5422. name: webhook
  5423. namespace: knative-serving
  5424. spec:
  5425. ports:
  5426. # Define metrics and profiling for them to be accessible within service meshes.
  5427. - name: http-metrics
  5428. port: 9090
  5429. targetPort: 9090
  5430. - name: http-profiling
  5431. port: 8008
  5432. targetPort: 8008
  5433. - name: https-webhook
  5434. port: 443
  5435. targetPort: 8443
  5436. selector:
  5437. role: webhook
  5438. ---
  5439. # Copyright 2020 The Knative Authors
  5440. #
  5441. # Licensed under the Apache License, Version 2.0 (the "License");
  5442. # you may not use this file except in compliance with the License.
  5443. # You may obtain a copy of the License at
  5444. #
  5445. # https://www.apache.org/licenses/LICENSE-2.0
  5446. #
  5447. # Unless required by applicable law or agreed to in writing, software
  5448. # distributed under the License is distributed on an "AS IS" BASIS,
  5449. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5450. # See the License for the specific language governing permissions and
  5451. # limitations under the License.
  5452. apiVersion: admissionregistration.k8s.io/v1
  5453. kind: ValidatingWebhookConfiguration
  5454. metadata:
  5455. name: config.webhook.serving.knative.dev
  5456. labels:
  5457. serving.knative.dev/release: "v0.26.0"
  5458. app.kubernetes.io/name: configmap-validation-webhook
  5459. app.kubernetes.io/version: "0.26.0"
  5460. app.kubernetes.io/part-of: knative-serving
  5461. webhooks:
  5462. - admissionReviewVersions: ["v1", "v1beta1"]
  5463. clientConfig:
  5464. service:
  5465. name: webhook
  5466. namespace: knative-serving
  5467. failurePolicy: Fail
  5468. sideEffects: None
  5469. name: config.webhook.serving.knative.dev
  5470. namespaceSelector:
  5471. matchExpressions:
  5472. - key: serving.knative.dev/release
  5473. operator: Exists
  5474. timeoutSeconds: 10
  5475. ---
  5476. # Copyright 2020 The Knative Authors
  5477. #
  5478. # Licensed under the Apache License, Version 2.0 (the "License");
  5479. # you may not use this file except in compliance with the License.
  5480. # You may obtain a copy of the License at
  5481. #
  5482. # https://www.apache.org/licenses/LICENSE-2.0
  5483. #
  5484. # Unless required by applicable law or agreed to in writing, software
  5485. # distributed under the License is distributed on an "AS IS" BASIS,
  5486. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5487. # See the License for the specific language governing permissions and
  5488. # limitations under the License.
  5489. apiVersion: admissionregistration.k8s.io/v1
  5490. kind: MutatingWebhookConfiguration
  5491. metadata:
  5492. name: webhook.serving.knative.dev
  5493. labels:
  5494. serving.knative.dev/release: "v0.26.0"
  5495. app.kubernetes.io/name: defaulting-webhook
  5496. app.kubernetes.io/version: "0.26.0"
  5497. app.kubernetes.io/part-of: knative-serving
  5498. webhooks:
  5499. - admissionReviewVersions: ["v1", "v1beta1"]
  5500. clientConfig:
  5501. service:
  5502. name: webhook
  5503. namespace: knative-serving
  5504. failurePolicy: Fail
  5505. sideEffects: None
  5506. name: webhook.serving.knative.dev
  5507. timeoutSeconds: 10
  5508. rules:
  5509. - apiGroups:
  5510. - autoscaling.internal.knative.dev
  5511. - networking.internal.knative.dev
  5512. - serving.knative.dev
  5513. apiVersions:
  5514. - "*"
  5515. operations:
  5516. - CREATE
  5517. - UPDATE
  5518. scope: "*"
  5519. resources:
  5520. - metrics
  5521. - podautoscalers
  5522. - certificates
  5523. - ingresses
  5524. - serverlessservices
  5525. - configurations
  5526. - revisions
  5527. - routes
  5528. - services
  5529. ---
  5530. # Copyright 2020 The Knative Authors
  5531. #
  5532. # Licensed under the Apache License, Version 2.0 (the "License");
  5533. # you may not use this file except in compliance with the License.
  5534. # You may obtain a copy of the License at
  5535. #
  5536. # https://www.apache.org/licenses/LICENSE-2.0
  5537. #
  5538. # Unless required by applicable law or agreed to in writing, software
  5539. # distributed under the License is distributed on an "AS IS" BASIS,
  5540. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5541. # See the License for the specific language governing permissions and
  5542. # limitations under the License.
  5543. apiVersion: admissionregistration.k8s.io/v1
  5544. kind: MutatingWebhookConfiguration
  5545. metadata:
  5546. name: webhook.domainmapping.serving.knative.dev
  5547. labels:
  5548. serving.knative.dev/release: "v0.26.0"
  5549. webhooks:
  5550. - admissionReviewVersions: ["v1", "v1beta1"]
  5551. clientConfig:
  5552. service:
  5553. name: domainmapping-webhook
  5554. namespace: knative-serving
  5555. failurePolicy: Fail
  5556. sideEffects: None
  5557. name: webhook.domainmapping.serving.knative.dev
  5558. timeoutSeconds: 10
  5559. rules:
  5560. - apiGroups:
  5561. - serving.knative.dev
  5562. apiVersions:
  5563. - v1alpha1
  5564. - v1beta1
  5565. operations:
  5566. - CREATE
  5567. - UPDATE
  5568. scope: "*"
  5569. resources:
  5570. - domainmappings
  5571. ---
  5572. # Copyright 2020 The Knative Authors
  5573. #
  5574. # Licensed under the Apache License, Version 2.0 (the "License");
  5575. # you may not use this file except in compliance with the License.
  5576. # You may obtain a copy of the License at
  5577. #
  5578. # https://www.apache.org/licenses/LICENSE-2.0
  5579. #
  5580. # Unless required by applicable law or agreed to in writing, software
  5581. # distributed under the License is distributed on an "AS IS" BASIS,
  5582. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5583. # See the License for the specific language governing permissions and
  5584. # limitations under the License.
  5585. apiVersion: v1
  5586. kind: Secret
  5587. metadata:
  5588. name: domainmapping-webhook-certs
  5589. namespace: knative-serving
  5590. labels:
  5591. serving.knative.dev/release: "v0.26.0"
  5592. # The data is populated at install time.
  5593. ---
  5594. # Copyright 2020 The Knative Authors
  5595. #
  5596. # Licensed under the Apache License, Version 2.0 (the "License");
  5597. # you may not use this file except in compliance with the License.
  5598. # You may obtain a copy of the License at
  5599. #
  5600. # https://www.apache.org/licenses/LICENSE-2.0
  5601. #
  5602. # Unless required by applicable law or agreed to in writing, software
  5603. # distributed under the License is distributed on an "AS IS" BASIS,
  5604. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5605. # See the License for the specific language governing permissions and
  5606. # limitations under the License.
  5607. apiVersion: admissionregistration.k8s.io/v1
  5608. kind: ValidatingWebhookConfiguration
  5609. metadata:
  5610. name: validation.webhook.domainmapping.serving.knative.dev
  5611. labels:
  5612. serving.knative.dev/release: "v0.26.0"
  5613. app.kubernetes.io/name: domainmapping-webhook
  5614. app.kubernetes.io/version: "0.26.0"
  5615. app.kubernetes.io/part-of: knative-serving
  5616. webhooks:
  5617. - admissionReviewVersions: ["v1", "v1beta1"]
  5618. clientConfig:
  5619. service:
  5620. name: domainmapping-webhook
  5621. namespace: knative-serving
  5622. failurePolicy: Fail
  5623. sideEffects: None
  5624. name: validation.webhook.domainmapping.serving.knative.dev
  5625. timeoutSeconds: 10
  5626. rules:
  5627. - apiGroups:
  5628. - serving.knative.dev
  5629. apiVersions:
  5630. - v1alpha1
  5631. - v1beta1
  5632. operations:
  5633. - CREATE
  5634. - UPDATE
  5635. - DELETE
  5636. scope: "*"
  5637. resources:
  5638. - domainmappings
  5639. ---
  5640. # Copyright 2020 The Knative Authors
  5641. #
  5642. # Licensed under the Apache License, Version 2.0 (the "License");
  5643. # you may not use this file except in compliance with the License.
  5644. # You may obtain a copy of the License at
  5645. #
  5646. # https://www.apache.org/licenses/LICENSE-2.0
  5647. #
  5648. # Unless required by applicable law or agreed to in writing, software
  5649. # distributed under the License is distributed on an "AS IS" BASIS,
  5650. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5651. # See the License for the specific language governing permissions and
  5652. # limitations under the License.
  5653. apiVersion: admissionregistration.k8s.io/v1
  5654. kind: ValidatingWebhookConfiguration
  5655. metadata:
  5656. name: validation.webhook.serving.knative.dev
  5657. labels:
  5658. serving.knative.dev/release: "v0.26.0"
  5659. app.kubernetes.io/name: validating-webhook
  5660. app.kubernetes.io/version: "0.26.0"
  5661. app.kubernetes.io/part-of: knative-serving
  5662. webhooks:
  5663. - admissionReviewVersions: ["v1", "v1beta1"]
  5664. clientConfig:
  5665. service:
  5666. name: webhook
  5667. namespace: knative-serving
  5668. failurePolicy: Fail
  5669. sideEffects: None
  5670. name: validation.webhook.serving.knative.dev
  5671. timeoutSeconds: 10
  5672. rules:
  5673. - apiGroups:
  5674. - autoscaling.internal.knative.dev
  5675. - networking.internal.knative.dev
  5676. - serving.knative.dev
  5677. apiVersions:
  5678. - "*"
  5679. operations:
  5680. - CREATE
  5681. - UPDATE
  5682. - DELETE
  5683. scope: "*"
  5684. resources:
  5685. - metrics
  5686. - podautoscalers
  5687. - certificates
  5688. - ingresses
  5689. - serverlessservices
  5690. - configurations
  5691. - revisions
  5692. - routes
  5693. - services
  5694. ---
  5695. # Copyright 2020 The Knative Authors
  5696. #
  5697. # Licensed under the Apache License, Version 2.0 (the "License");
  5698. # you may not use this file except in compliance with the License.
  5699. # You may obtain a copy of the License at
  5700. #
  5701. # https://www.apache.org/licenses/LICENSE-2.0
  5702. #
  5703. # Unless required by applicable law or agreed to in writing, software
  5704. # distributed under the License is distributed on an "AS IS" BASIS,
  5705. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5706. # See the License for the specific language governing permissions and
  5707. # limitations under the License.
  5708. apiVersion: v1
  5709. kind: Secret
  5710. metadata:
  5711. name: webhook-certs
  5712. namespace: knative-serving
  5713. labels:
  5714. serving.knative.dev/release: "v0.26.0"
  5715. app.kubernetes.io/name: webhook
  5716. app.kubernetes.io/version: "0.26.0"
  5717. app.kubernetes.io/part-of: knative-serving
  5718. # The data is populated at install time.
  5719. ---