traefik-crd.yaml 233 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528
  1. ---
  2. apiVersion: apiextensions.k8s.io/v1
  3. kind: CustomResourceDefinition
  4. metadata:
  5. annotations:
  6. controller-gen.kubebuilder.io/version: v0.13.0
  7. name: ingressroutes.traefik.io
  8. spec:
  9. group: traefik.io
  10. names:
  11. kind: IngressRoute
  12. listKind: IngressRouteList
  13. plural: ingressroutes
  14. singular: ingressroute
  15. scope: Namespaced
  16. versions:
  17. - name: v1alpha1
  18. schema:
  19. openAPIV3Schema:
  20. description: IngressRoute is the CRD implementation of a Traefik HTTP Router.
  21. properties:
  22. apiVersion:
  23. description: 'APIVersion defines the versioned schema of this representation
  24. of an object. Servers should convert recognized schemas to the latest
  25. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  26. type: string
  27. kind:
  28. description: 'Kind is a string value representing the REST resource this
  29. object represents. Servers may infer this from the endpoint the client
  30. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  31. type: string
  32. metadata:
  33. type: object
  34. spec:
  35. description: IngressRouteSpec defines the desired state of IngressRoute.
  36. properties:
  37. entryPoints:
  38. description: 'EntryPoints defines the list of entry point names to
  39. bind to. Entry points have to be configured in the static configuration.
  40. More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/
  41. Default: all.'
  42. items:
  43. type: string
  44. type: array
  45. routes:
  46. description: Routes defines the list of routes.
  47. items:
  48. description: Route holds the HTTP route configuration.
  49. properties:
  50. kind:
  51. description: Kind defines the kind of the route. Rule is the
  52. only supported kind.
  53. enum:
  54. - Rule
  55. type: string
  56. match:
  57. description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule'
  58. type: string
  59. middlewares:
  60. description: 'Middlewares defines the list of references to
  61. Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware'
  62. items:
  63. description: MiddlewareRef is a reference to a Middleware
  64. resource.
  65. properties:
  66. name:
  67. description: Name defines the name of the referenced Middleware
  68. resource.
  69. type: string
  70. namespace:
  71. description: Namespace defines the namespace of the referenced
  72. Middleware resource.
  73. type: string
  74. required:
  75. - name
  76. type: object
  77. type: array
  78. priority:
  79. description: 'Priority defines the router''s priority. More
  80. info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority'
  81. type: integer
  82. services:
  83. description: Services defines the list of Service. It can contain
  84. any combination of TraefikService and/or reference to a Kubernetes
  85. Service.
  86. items:
  87. description: Service defines an upstream HTTP service to proxy
  88. traffic to.
  89. properties:
  90. kind:
  91. description: Kind defines the kind of the Service.
  92. enum:
  93. - Service
  94. - TraefikService
  95. type: string
  96. name:
  97. description: Name defines the name of the referenced Kubernetes
  98. Service or TraefikService. The differentiation between
  99. the two is specified in the Kind field.
  100. type: string
  101. namespace:
  102. description: Namespace defines the namespace of the referenced
  103. Kubernetes Service or TraefikService.
  104. type: string
  105. nativeLB:
  106. description: NativeLB controls, when creating the load-balancer,
  107. whether the LB's children are directly the pods IPs
  108. or if the only child is the Kubernetes Service clusterIP.
  109. The Kubernetes Service itself does load-balance to the
  110. pods. By default, NativeLB is false.
  111. type: boolean
  112. passHostHeader:
  113. description: PassHostHeader defines whether the client
  114. Host header is forwarded to the upstream Kubernetes
  115. Service. By default, passHostHeader is true.
  116. type: boolean
  117. port:
  118. anyOf:
  119. - type: integer
  120. - type: string
  121. description: Port defines the port of a Kubernetes Service.
  122. This can be a reference to a named port.
  123. x-kubernetes-int-or-string: true
  124. responseForwarding:
  125. description: ResponseForwarding defines how Traefik forwards
  126. the response from the upstream Kubernetes Service to
  127. the client.
  128. properties:
  129. flushInterval:
  130. description: 'FlushInterval defines the interval,
  131. in milliseconds, in between flushes to the client
  132. while copying the response body. A negative value
  133. means to flush immediately after each write to the
  134. client. This configuration is ignored when ReverseProxy
  135. recognizes a response as a streaming response; for
  136. such responses, writes are flushed to the client
  137. immediately. Default: 100ms'
  138. type: string
  139. type: object
  140. scheme:
  141. description: Scheme defines the scheme to use for the
  142. request to the upstream Kubernetes Service. It defaults
  143. to https when Kubernetes Service port is 443, http otherwise.
  144. type: string
  145. serversTransport:
  146. description: ServersTransport defines the name of ServersTransport
  147. resource to use. It allows to configure the transport
  148. between Traefik and your servers. Can only be used on
  149. a Kubernetes Service.
  150. type: string
  151. sticky:
  152. description: 'Sticky defines the sticky sessions configuration.
  153. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  154. properties:
  155. cookie:
  156. description: Cookie defines the sticky cookie configuration.
  157. properties:
  158. httpOnly:
  159. description: HTTPOnly defines whether the cookie
  160. can be accessed by client-side APIs, such as
  161. JavaScript.
  162. type: boolean
  163. name:
  164. description: Name defines the Cookie name.
  165. type: string
  166. sameSite:
  167. description: 'SameSite defines the same site policy.
  168. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  169. type: string
  170. secure:
  171. description: Secure defines whether the cookie
  172. can only be transmitted over an encrypted connection
  173. (i.e. HTTPS).
  174. type: boolean
  175. type: object
  176. type: object
  177. strategy:
  178. description: Strategy defines the load balancing strategy
  179. between the servers. RoundRobin is the only supported
  180. value at the moment.
  181. type: string
  182. weight:
  183. description: Weight defines the weight and should only
  184. be specified when Name references a TraefikService object
  185. (and to be precise, one that embeds a Weighted Round
  186. Robin).
  187. type: integer
  188. required:
  189. - name
  190. type: object
  191. type: array
  192. required:
  193. - kind
  194. - match
  195. type: object
  196. type: array
  197. tls:
  198. description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls'
  199. properties:
  200. certResolver:
  201. description: 'CertResolver defines the name of the certificate
  202. resolver to use. Cert resolvers have to be configured in the
  203. static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'
  204. type: string
  205. domains:
  206. description: 'Domains defines the list of domains that will be
  207. used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'
  208. items:
  209. description: Domain holds a domain name with SANs.
  210. properties:
  211. main:
  212. description: Main defines the main domain name.
  213. type: string
  214. sans:
  215. description: SANs defines the subject alternative domain
  216. names.
  217. items:
  218. type: string
  219. type: array
  220. type: object
  221. type: array
  222. options:
  223. description: 'Options defines the reference to a TLSOption, that
  224. specifies the parameters of the TLS connection. If not defined,
  225. the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'
  226. properties:
  227. name:
  228. description: 'Name defines the name of the referenced TLSOption.
  229. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'
  230. type: string
  231. namespace:
  232. description: 'Namespace defines the namespace of the referenced
  233. TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'
  234. type: string
  235. required:
  236. - name
  237. type: object
  238. secretName:
  239. description: SecretName is the name of the referenced Kubernetes
  240. Secret to specify the certificate details.
  241. type: string
  242. store:
  243. description: Store defines the reference to the TLSStore, that
  244. will be used to store certificates. Please note that only `default`
  245. TLSStore can be used.
  246. properties:
  247. name:
  248. description: 'Name defines the name of the referenced TLSStore.
  249. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'
  250. type: string
  251. namespace:
  252. description: 'Namespace defines the namespace of the referenced
  253. TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'
  254. type: string
  255. required:
  256. - name
  257. type: object
  258. type: object
  259. required:
  260. - routes
  261. type: object
  262. required:
  263. - metadata
  264. - spec
  265. type: object
  266. served: true
  267. storage: true
  268. ---
  269. apiVersion: apiextensions.k8s.io/v1
  270. kind: CustomResourceDefinition
  271. metadata:
  272. annotations:
  273. controller-gen.kubebuilder.io/version: v0.13.0
  274. name: ingressroutetcps.traefik.io
  275. spec:
  276. group: traefik.io
  277. names:
  278. kind: IngressRouteTCP
  279. listKind: IngressRouteTCPList
  280. plural: ingressroutetcps
  281. singular: ingressroutetcp
  282. scope: Namespaced
  283. versions:
  284. - name: v1alpha1
  285. schema:
  286. openAPIV3Schema:
  287. description: IngressRouteTCP is the CRD implementation of a Traefik TCP Router.
  288. properties:
  289. apiVersion:
  290. description: 'APIVersion defines the versioned schema of this representation
  291. of an object. Servers should convert recognized schemas to the latest
  292. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  293. type: string
  294. kind:
  295. description: 'Kind is a string value representing the REST resource this
  296. object represents. Servers may infer this from the endpoint the client
  297. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  298. type: string
  299. metadata:
  300. type: object
  301. spec:
  302. description: IngressRouteTCPSpec defines the desired state of IngressRouteTCP.
  303. properties:
  304. entryPoints:
  305. description: 'EntryPoints defines the list of entry point names to
  306. bind to. Entry points have to be configured in the static configuration.
  307. More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/
  308. Default: all.'
  309. items:
  310. type: string
  311. type: array
  312. routes:
  313. description: Routes defines the list of routes.
  314. items:
  315. description: RouteTCP holds the TCP route configuration.
  316. properties:
  317. match:
  318. description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1'
  319. type: string
  320. middlewares:
  321. description: Middlewares defines the list of references to MiddlewareTCP
  322. resources.
  323. items:
  324. description: ObjectReference is a generic reference to a Traefik
  325. resource.
  326. properties:
  327. name:
  328. description: Name defines the name of the referenced Traefik
  329. resource.
  330. type: string
  331. namespace:
  332. description: Namespace defines the namespace of the referenced
  333. Traefik resource.
  334. type: string
  335. required:
  336. - name
  337. type: object
  338. type: array
  339. priority:
  340. description: 'Priority defines the router''s priority. More
  341. info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1'
  342. type: integer
  343. services:
  344. description: Services defines the list of TCP services.
  345. items:
  346. description: ServiceTCP defines an upstream TCP service to
  347. proxy traffic to.
  348. properties:
  349. name:
  350. description: Name defines the name of the referenced Kubernetes
  351. Service.
  352. type: string
  353. namespace:
  354. description: Namespace defines the namespace of the referenced
  355. Kubernetes Service.
  356. type: string
  357. nativeLB:
  358. description: NativeLB controls, when creating the load-balancer,
  359. whether the LB's children are directly the pods IPs
  360. or if the only child is the Kubernetes Service clusterIP.
  361. The Kubernetes Service itself does load-balance to the
  362. pods. By default, NativeLB is false.
  363. type: boolean
  364. port:
  365. anyOf:
  366. - type: integer
  367. - type: string
  368. description: Port defines the port of a Kubernetes Service.
  369. This can be a reference to a named port.
  370. x-kubernetes-int-or-string: true
  371. proxyProtocol:
  372. description: 'ProxyProtocol defines the PROXY protocol
  373. configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol'
  374. properties:
  375. version:
  376. description: Version defines the PROXY Protocol version
  377. to use.
  378. type: integer
  379. type: object
  380. terminationDelay:
  381. description: TerminationDelay defines the deadline that
  382. the proxy sets, after one of its connected peers indicates
  383. it has closed the writing capability of its connection,
  384. to close the reading capability as well, hence fully
  385. terminating the connection. It is a duration in milliseconds,
  386. defaulting to 100. A negative value means an infinite
  387. deadline (i.e. the reading capability is never closed).
  388. type: integer
  389. weight:
  390. description: Weight defines the weight used when balancing
  391. requests between multiple Kubernetes Service.
  392. type: integer
  393. required:
  394. - name
  395. - port
  396. type: object
  397. type: array
  398. required:
  399. - match
  400. type: object
  401. type: array
  402. tls:
  403. description: 'TLS defines the TLS configuration on a layer 4 / TCP
  404. Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1'
  405. properties:
  406. certResolver:
  407. description: 'CertResolver defines the name of the certificate
  408. resolver to use. Cert resolvers have to be configured in the
  409. static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'
  410. type: string
  411. domains:
  412. description: 'Domains defines the list of domains that will be
  413. used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'
  414. items:
  415. description: Domain holds a domain name with SANs.
  416. properties:
  417. main:
  418. description: Main defines the main domain name.
  419. type: string
  420. sans:
  421. description: SANs defines the subject alternative domain
  422. names.
  423. items:
  424. type: string
  425. type: array
  426. type: object
  427. type: array
  428. options:
  429. description: 'Options defines the reference to a TLSOption, that
  430. specifies the parameters of the TLS connection. If not defined,
  431. the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'
  432. properties:
  433. name:
  434. description: Name defines the name of the referenced Traefik
  435. resource.
  436. type: string
  437. namespace:
  438. description: Namespace defines the namespace of the referenced
  439. Traefik resource.
  440. type: string
  441. required:
  442. - name
  443. type: object
  444. passthrough:
  445. description: Passthrough defines whether a TLS router will terminate
  446. the TLS connection.
  447. type: boolean
  448. secretName:
  449. description: SecretName is the name of the referenced Kubernetes
  450. Secret to specify the certificate details.
  451. type: string
  452. store:
  453. description: Store defines the reference to the TLSStore, that
  454. will be used to store certificates. Please note that only `default`
  455. TLSStore can be used.
  456. properties:
  457. name:
  458. description: Name defines the name of the referenced Traefik
  459. resource.
  460. type: string
  461. namespace:
  462. description: Namespace defines the namespace of the referenced
  463. Traefik resource.
  464. type: string
  465. required:
  466. - name
  467. type: object
  468. type: object
  469. required:
  470. - routes
  471. type: object
  472. required:
  473. - metadata
  474. - spec
  475. type: object
  476. served: true
  477. storage: true
  478. ---
  479. apiVersion: apiextensions.k8s.io/v1
  480. kind: CustomResourceDefinition
  481. metadata:
  482. annotations:
  483. controller-gen.kubebuilder.io/version: v0.13.0
  484. name: ingressrouteudps.traefik.io
  485. spec:
  486. group: traefik.io
  487. names:
  488. kind: IngressRouteUDP
  489. listKind: IngressRouteUDPList
  490. plural: ingressrouteudps
  491. singular: ingressrouteudp
  492. scope: Namespaced
  493. versions:
  494. - name: v1alpha1
  495. schema:
  496. openAPIV3Schema:
  497. description: IngressRouteUDP is a CRD implementation of a Traefik UDP Router.
  498. properties:
  499. apiVersion:
  500. description: 'APIVersion defines the versioned schema of this representation
  501. of an object. Servers should convert recognized schemas to the latest
  502. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  503. type: string
  504. kind:
  505. description: 'Kind is a string value representing the REST resource this
  506. object represents. Servers may infer this from the endpoint the client
  507. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  508. type: string
  509. metadata:
  510. type: object
  511. spec:
  512. description: IngressRouteUDPSpec defines the desired state of a IngressRouteUDP.
  513. properties:
  514. entryPoints:
  515. description: 'EntryPoints defines the list of entry point names to
  516. bind to. Entry points have to be configured in the static configuration.
  517. More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/
  518. Default: all.'
  519. items:
  520. type: string
  521. type: array
  522. routes:
  523. description: Routes defines the list of routes.
  524. items:
  525. description: RouteUDP holds the UDP route configuration.
  526. properties:
  527. services:
  528. description: Services defines the list of UDP services.
  529. items:
  530. description: ServiceUDP defines an upstream UDP service to
  531. proxy traffic to.
  532. properties:
  533. name:
  534. description: Name defines the name of the referenced Kubernetes
  535. Service.
  536. type: string
  537. namespace:
  538. description: Namespace defines the namespace of the referenced
  539. Kubernetes Service.
  540. type: string
  541. nativeLB:
  542. description: NativeLB controls, when creating the load-balancer,
  543. whether the LB's children are directly the pods IPs
  544. or if the only child is the Kubernetes Service clusterIP.
  545. The Kubernetes Service itself does load-balance to the
  546. pods. By default, NativeLB is false.
  547. type: boolean
  548. port:
  549. anyOf:
  550. - type: integer
  551. - type: string
  552. description: Port defines the port of a Kubernetes Service.
  553. This can be a reference to a named port.
  554. x-kubernetes-int-or-string: true
  555. weight:
  556. description: Weight defines the weight used when balancing
  557. requests between multiple Kubernetes Service.
  558. type: integer
  559. required:
  560. - name
  561. - port
  562. type: object
  563. type: array
  564. type: object
  565. type: array
  566. required:
  567. - routes
  568. type: object
  569. required:
  570. - metadata
  571. - spec
  572. type: object
  573. served: true
  574. storage: true
  575. ---
  576. apiVersion: apiextensions.k8s.io/v1
  577. kind: CustomResourceDefinition
  578. metadata:
  579. annotations:
  580. controller-gen.kubebuilder.io/version: v0.13.0
  581. name: middlewares.traefik.io
  582. spec:
  583. group: traefik.io
  584. names:
  585. kind: Middleware
  586. listKind: MiddlewareList
  587. plural: middlewares
  588. singular: middleware
  589. scope: Namespaced
  590. versions:
  591. - name: v1alpha1
  592. schema:
  593. openAPIV3Schema:
  594. description: 'Middleware is the CRD implementation of a Traefik Middleware.
  595. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/'
  596. properties:
  597. apiVersion:
  598. description: 'APIVersion defines the versioned schema of this representation
  599. of an object. Servers should convert recognized schemas to the latest
  600. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  601. type: string
  602. kind:
  603. description: 'Kind is a string value representing the REST resource this
  604. object represents. Servers may infer this from the endpoint the client
  605. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  606. type: string
  607. metadata:
  608. type: object
  609. spec:
  610. description: MiddlewareSpec defines the desired state of a Middleware.
  611. properties:
  612. addPrefix:
  613. description: 'AddPrefix holds the add prefix middleware configuration.
  614. This middleware updates the path of a request before forwarding
  615. it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/'
  616. properties:
  617. prefix:
  618. description: Prefix is the string to add before the current path
  619. in the requested URL. It should include a leading slash (/).
  620. type: string
  621. type: object
  622. basicAuth:
  623. description: 'BasicAuth holds the basic auth middleware configuration.
  624. This middleware restricts access to your services to known users.
  625. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/'
  626. properties:
  627. headerField:
  628. description: 'HeaderField defines a header field to store the
  629. authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'
  630. type: string
  631. realm:
  632. description: 'Realm allows the protected resources on a server
  633. to be partitioned into a set of protection spaces, each with
  634. its own authentication scheme. Default: traefik.'
  635. type: string
  636. removeHeader:
  637. description: 'RemoveHeader sets the removeHeader option to true
  638. to remove the authorization header before forwarding the request
  639. to your service. Default: false.'
  640. type: boolean
  641. secret:
  642. description: Secret is the name of the referenced Kubernetes Secret
  643. containing user credentials.
  644. type: string
  645. type: object
  646. buffering:
  647. description: 'Buffering holds the buffering middleware configuration.
  648. This middleware retries or limits the size of requests that can
  649. be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes'
  650. properties:
  651. maxRequestBodyBytes:
  652. description: 'MaxRequestBodyBytes defines the maximum allowed
  653. body size for the request (in bytes). If the request exceeds
  654. the allowed size, it is not forwarded to the service, and the
  655. client gets a 413 (Request Entity Too Large) response. Default:
  656. 0 (no maximum).'
  657. format: int64
  658. type: integer
  659. maxResponseBodyBytes:
  660. description: 'MaxResponseBodyBytes defines the maximum allowed
  661. response size from the service (in bytes). If the response exceeds
  662. the allowed size, it is not forwarded to the client. The client
  663. gets a 500 (Internal Server Error) response instead. Default:
  664. 0 (no maximum).'
  665. format: int64
  666. type: integer
  667. memRequestBodyBytes:
  668. description: 'MemRequestBodyBytes defines the threshold (in bytes)
  669. from which the request will be buffered on disk instead of in
  670. memory. Default: 1048576 (1Mi).'
  671. format: int64
  672. type: integer
  673. memResponseBodyBytes:
  674. description: 'MemResponseBodyBytes defines the threshold (in bytes)
  675. from which the response will be buffered on disk instead of
  676. in memory. Default: 1048576 (1Mi).'
  677. format: int64
  678. type: integer
  679. retryExpression:
  680. description: 'RetryExpression defines the retry conditions. It
  681. is a logical combination of functions with operators AND (&&)
  682. and OR (||). More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#retryexpression'
  683. type: string
  684. type: object
  685. chain:
  686. description: 'Chain holds the configuration of the chain middleware.
  687. This middleware enables to define reusable combinations of other
  688. pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/'
  689. properties:
  690. middlewares:
  691. description: Middlewares is the list of MiddlewareRef which composes
  692. the chain.
  693. items:
  694. description: MiddlewareRef is a reference to a Middleware resource.
  695. properties:
  696. name:
  697. description: Name defines the name of the referenced Middleware
  698. resource.
  699. type: string
  700. namespace:
  701. description: Namespace defines the namespace of the referenced
  702. Middleware resource.
  703. type: string
  704. required:
  705. - name
  706. type: object
  707. type: array
  708. type: object
  709. circuitBreaker:
  710. description: CircuitBreaker holds the circuit breaker configuration.
  711. properties:
  712. checkPeriod:
  713. anyOf:
  714. - type: integer
  715. - type: string
  716. description: CheckPeriod is the interval between successive checks
  717. of the circuit breaker condition (when in standby state).
  718. x-kubernetes-int-or-string: true
  719. expression:
  720. description: Expression is the condition that triggers the tripped
  721. state.
  722. type: string
  723. fallbackDuration:
  724. anyOf:
  725. - type: integer
  726. - type: string
  727. description: FallbackDuration is the duration for which the circuit
  728. breaker will wait before trying to recover (from a tripped state).
  729. x-kubernetes-int-or-string: true
  730. recoveryDuration:
  731. anyOf:
  732. - type: integer
  733. - type: string
  734. description: RecoveryDuration is the duration for which the circuit
  735. breaker will try to recover (as soon as it is in recovering
  736. state).
  737. x-kubernetes-int-or-string: true
  738. type: object
  739. compress:
  740. description: 'Compress holds the compress middleware configuration.
  741. This middleware compresses responses before sending them to the
  742. client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/'
  743. properties:
  744. excludedContentTypes:
  745. description: ExcludedContentTypes defines the list of content
  746. types to compare the Content-Type header of the incoming requests
  747. and responses before compressing.
  748. items:
  749. type: string
  750. type: array
  751. minResponseBodyBytes:
  752. description: 'MinResponseBodyBytes defines the minimum amount
  753. of bytes a response body must have to be compressed. Default:
  754. 1024.'
  755. type: integer
  756. type: object
  757. contentType:
  758. description: ContentType holds the content-type middleware configuration.
  759. This middleware exists to enable the correct behavior until at least
  760. the default one can be changed in a future version.
  761. properties:
  762. autoDetect:
  763. description: AutoDetect specifies whether to let the `Content-Type`
  764. header, if it has not been set by the backend, be automatically
  765. set to a value derived from the contents of the response. As
  766. a proxy, the default behavior should be to leave the header
  767. alone, regardless of what the backend did with it. However,
  768. the historic default was to always auto-detect and set the header
  769. if it was nil, and it is going to be kept that way in order
  770. to support users currently relying on it.
  771. type: boolean
  772. type: object
  773. digestAuth:
  774. description: 'DigestAuth holds the digest auth middleware configuration.
  775. This middleware restricts access to your services to known users.
  776. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/'
  777. properties:
  778. headerField:
  779. description: 'HeaderField defines a header field to store the
  780. authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'
  781. type: string
  782. realm:
  783. description: 'Realm allows the protected resources on a server
  784. to be partitioned into a set of protection spaces, each with
  785. its own authentication scheme. Default: traefik.'
  786. type: string
  787. removeHeader:
  788. description: RemoveHeader defines whether to remove the authorization
  789. header before forwarding the request to the backend.
  790. type: boolean
  791. secret:
  792. description: Secret is the name of the referenced Kubernetes Secret
  793. containing user credentials.
  794. type: string
  795. type: object
  796. errors:
  797. description: 'ErrorPage holds the custom error middleware configuration.
  798. This middleware returns a custom page in lieu of the default, according
  799. to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/'
  800. properties:
  801. query:
  802. description: Query defines the URL for the error page (hosted
  803. by service). The {status} variable can be used in order to insert
  804. the status code in the URL.
  805. type: string
  806. service:
  807. description: 'Service defines the reference to a Kubernetes Service
  808. that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service'
  809. properties:
  810. kind:
  811. description: Kind defines the kind of the Service.
  812. enum:
  813. - Service
  814. - TraefikService
  815. type: string
  816. name:
  817. description: Name defines the name of the referenced Kubernetes
  818. Service or TraefikService. The differentiation between the
  819. two is specified in the Kind field.
  820. type: string
  821. namespace:
  822. description: Namespace defines the namespace of the referenced
  823. Kubernetes Service or TraefikService.
  824. type: string
  825. nativeLB:
  826. description: NativeLB controls, when creating the load-balancer,
  827. whether the LB's children are directly the pods IPs or if
  828. the only child is the Kubernetes Service clusterIP. The
  829. Kubernetes Service itself does load-balance to the pods.
  830. By default, NativeLB is false.
  831. type: boolean
  832. passHostHeader:
  833. description: PassHostHeader defines whether the client Host
  834. header is forwarded to the upstream Kubernetes Service.
  835. By default, passHostHeader is true.
  836. type: boolean
  837. port:
  838. anyOf:
  839. - type: integer
  840. - type: string
  841. description: Port defines the port of a Kubernetes Service.
  842. This can be a reference to a named port.
  843. x-kubernetes-int-or-string: true
  844. responseForwarding:
  845. description: ResponseForwarding defines how Traefik forwards
  846. the response from the upstream Kubernetes Service to the
  847. client.
  848. properties:
  849. flushInterval:
  850. description: 'FlushInterval defines the interval, in milliseconds,
  851. in between flushes to the client while copying the response
  852. body. A negative value means to flush immediately after
  853. each write to the client. This configuration is ignored
  854. when ReverseProxy recognizes a response as a streaming
  855. response; for such responses, writes are flushed to
  856. the client immediately. Default: 100ms'
  857. type: string
  858. type: object
  859. scheme:
  860. description: Scheme defines the scheme to use for the request
  861. to the upstream Kubernetes Service. It defaults to https
  862. when Kubernetes Service port is 443, http otherwise.
  863. type: string
  864. serversTransport:
  865. description: ServersTransport defines the name of ServersTransport
  866. resource to use. It allows to configure the transport between
  867. Traefik and your servers. Can only be used on a Kubernetes
  868. Service.
  869. type: string
  870. sticky:
  871. description: 'Sticky defines the sticky sessions configuration.
  872. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  873. properties:
  874. cookie:
  875. description: Cookie defines the sticky cookie configuration.
  876. properties:
  877. httpOnly:
  878. description: HTTPOnly defines whether the cookie can
  879. be accessed by client-side APIs, such as JavaScript.
  880. type: boolean
  881. name:
  882. description: Name defines the Cookie name.
  883. type: string
  884. sameSite:
  885. description: 'SameSite defines the same site policy.
  886. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  887. type: string
  888. secure:
  889. description: Secure defines whether the cookie can
  890. only be transmitted over an encrypted connection
  891. (i.e. HTTPS).
  892. type: boolean
  893. type: object
  894. type: object
  895. strategy:
  896. description: Strategy defines the load balancing strategy
  897. between the servers. RoundRobin is the only supported value
  898. at the moment.
  899. type: string
  900. weight:
  901. description: Weight defines the weight and should only be
  902. specified when Name references a TraefikService object (and
  903. to be precise, one that embeds a Weighted Round Robin).
  904. type: integer
  905. required:
  906. - name
  907. type: object
  908. status:
  909. description: Status defines which status or range of statuses
  910. should result in an error page. It can be either a status code
  911. as a number (500), as multiple comma-separated numbers (500,502),
  912. as ranges by separating two codes with a dash (500-599), or
  913. a combination of the two (404,418,500-599).
  914. items:
  915. type: string
  916. type: array
  917. type: object
  918. forwardAuth:
  919. description: 'ForwardAuth holds the forward auth middleware configuration.
  920. This middleware delegates the request authentication to a Service.
  921. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/'
  922. properties:
  923. address:
  924. description: Address defines the authentication server address.
  925. type: string
  926. authRequestHeaders:
  927. description: AuthRequestHeaders defines the list of the headers
  928. to copy from the request to the authentication server. If not
  929. set or empty then all request headers are passed.
  930. items:
  931. type: string
  932. type: array
  933. authResponseHeaders:
  934. description: AuthResponseHeaders defines the list of headers to
  935. copy from the authentication server response and set on forwarded
  936. request, replacing any existing conflicting headers.
  937. items:
  938. type: string
  939. type: array
  940. authResponseHeadersRegex:
  941. description: 'AuthResponseHeadersRegex defines the regex to match
  942. headers to copy from the authentication server response and
  943. set on forwarded request, after stripping all headers that match
  944. the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex'
  945. type: string
  946. tls:
  947. description: TLS defines the configuration used to secure the
  948. connection to the authentication server.
  949. properties:
  950. caOptional:
  951. type: boolean
  952. caSecret:
  953. description: CASecret is the name of the referenced Kubernetes
  954. Secret containing the CA to validate the server certificate.
  955. The CA certificate is extracted from key `tls.ca` or `ca.crt`.
  956. type: string
  957. certSecret:
  958. description: CertSecret is the name of the referenced Kubernetes
  959. Secret containing the client certificate. The client certificate
  960. is extracted from the keys `tls.crt` and `tls.key`.
  961. type: string
  962. insecureSkipVerify:
  963. description: InsecureSkipVerify defines whether the server
  964. certificates should be validated.
  965. type: boolean
  966. type: object
  967. trustForwardHeader:
  968. description: 'TrustForwardHeader defines whether to trust (ie:
  969. forward) all X-Forwarded-* headers.'
  970. type: boolean
  971. type: object
  972. headers:
  973. description: 'Headers holds the headers middleware configuration.
  974. This middleware manages the requests and responses headers. More
  975. info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders'
  976. properties:
  977. accessControlAllowCredentials:
  978. description: AccessControlAllowCredentials defines whether the
  979. request can include user credentials.
  980. type: boolean
  981. accessControlAllowHeaders:
  982. description: AccessControlAllowHeaders defines the Access-Control-Request-Headers
  983. values sent in preflight response.
  984. items:
  985. type: string
  986. type: array
  987. accessControlAllowMethods:
  988. description: AccessControlAllowMethods defines the Access-Control-Request-Method
  989. values sent in preflight response.
  990. items:
  991. type: string
  992. type: array
  993. accessControlAllowOriginList:
  994. description: AccessControlAllowOriginList is a list of allowable
  995. origins. Can also be a wildcard origin "*".
  996. items:
  997. type: string
  998. type: array
  999. accessControlAllowOriginListRegex:
  1000. description: AccessControlAllowOriginListRegex is a list of allowable
  1001. origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/).
  1002. items:
  1003. type: string
  1004. type: array
  1005. accessControlExposeHeaders:
  1006. description: AccessControlExposeHeaders defines the Access-Control-Expose-Headers
  1007. values sent in preflight response.
  1008. items:
  1009. type: string
  1010. type: array
  1011. accessControlMaxAge:
  1012. description: AccessControlMaxAge defines the time that a preflight
  1013. request may be cached.
  1014. format: int64
  1015. type: integer
  1016. addVaryHeader:
  1017. description: AddVaryHeader defines whether the Vary header is
  1018. automatically added/updated when the AccessControlAllowOriginList
  1019. is set.
  1020. type: boolean
  1021. allowedHosts:
  1022. description: AllowedHosts defines the fully qualified list of
  1023. allowed domain names.
  1024. items:
  1025. type: string
  1026. type: array
  1027. browserXssFilter:
  1028. description: BrowserXSSFilter defines whether to add the X-XSS-Protection
  1029. header with the value 1; mode=block.
  1030. type: boolean
  1031. contentSecurityPolicy:
  1032. description: ContentSecurityPolicy defines the Content-Security-Policy
  1033. header value.
  1034. type: string
  1035. contentTypeNosniff:
  1036. description: ContentTypeNosniff defines whether to add the X-Content-Type-Options
  1037. header with the nosniff value.
  1038. type: boolean
  1039. customBrowserXSSValue:
  1040. description: CustomBrowserXSSValue defines the X-XSS-Protection
  1041. header value. This overrides the BrowserXssFilter option.
  1042. type: string
  1043. customFrameOptionsValue:
  1044. description: CustomFrameOptionsValue defines the X-Frame-Options
  1045. header value. This overrides the FrameDeny option.
  1046. type: string
  1047. customRequestHeaders:
  1048. additionalProperties:
  1049. type: string
  1050. description: CustomRequestHeaders defines the header names and
  1051. values to apply to the request.
  1052. type: object
  1053. customResponseHeaders:
  1054. additionalProperties:
  1055. type: string
  1056. description: CustomResponseHeaders defines the header names and
  1057. values to apply to the response.
  1058. type: object
  1059. featurePolicy:
  1060. description: 'Deprecated: use PermissionsPolicy instead.'
  1061. type: string
  1062. forceSTSHeader:
  1063. description: ForceSTSHeader defines whether to add the STS header
  1064. even when the connection is HTTP.
  1065. type: boolean
  1066. frameDeny:
  1067. description: FrameDeny defines whether to add the X-Frame-Options
  1068. header with the DENY value.
  1069. type: boolean
  1070. hostsProxyHeaders:
  1071. description: HostsProxyHeaders defines the header keys that may
  1072. hold a proxied hostname value for the request.
  1073. items:
  1074. type: string
  1075. type: array
  1076. isDevelopment:
  1077. description: IsDevelopment defines whether to mitigate the unwanted
  1078. effects of the AllowedHosts, SSL, and STS options when developing.
  1079. Usually testing takes place using HTTP, not HTTPS, and on localhost,
  1080. not your production domain. If you would like your development
  1081. environment to mimic production with complete Host blocking,
  1082. SSL redirects, and STS headers, leave this as false.
  1083. type: boolean
  1084. permissionsPolicy:
  1085. description: PermissionsPolicy defines the Permissions-Policy
  1086. header value. This allows sites to control browser features.
  1087. type: string
  1088. publicKey:
  1089. description: PublicKey is the public key that implements HPKP
  1090. to prevent MITM attacks with forged certificates.
  1091. type: string
  1092. referrerPolicy:
  1093. description: ReferrerPolicy defines the Referrer-Policy header
  1094. value. This allows sites to control whether browsers forward
  1095. the Referer header to other sites.
  1096. type: string
  1097. sslForceHost:
  1098. description: 'Deprecated: use RedirectRegex instead.'
  1099. type: boolean
  1100. sslHost:
  1101. description: 'Deprecated: use RedirectRegex instead.'
  1102. type: string
  1103. sslProxyHeaders:
  1104. additionalProperties:
  1105. type: string
  1106. description: 'SSLProxyHeaders defines the header keys with associated
  1107. values that would indicate a valid HTTPS request. It can be
  1108. useful when using other proxies (example: "X-Forwarded-Proto":
  1109. "https").'
  1110. type: object
  1111. sslRedirect:
  1112. description: 'Deprecated: use EntryPoint redirection or RedirectScheme
  1113. instead.'
  1114. type: boolean
  1115. sslTemporaryRedirect:
  1116. description: 'Deprecated: use EntryPoint redirection or RedirectScheme
  1117. instead.'
  1118. type: boolean
  1119. stsIncludeSubdomains:
  1120. description: STSIncludeSubdomains defines whether the includeSubDomains
  1121. directive is appended to the Strict-Transport-Security header.
  1122. type: boolean
  1123. stsPreload:
  1124. description: STSPreload defines whether the preload flag is appended
  1125. to the Strict-Transport-Security header.
  1126. type: boolean
  1127. stsSeconds:
  1128. description: STSSeconds defines the max-age of the Strict-Transport-Security
  1129. header. If set to 0, the header is not set.
  1130. format: int64
  1131. type: integer
  1132. type: object
  1133. inFlightReq:
  1134. description: 'InFlightReq holds the in-flight request middleware configuration.
  1135. This middleware limits the number of requests being processed and
  1136. served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/'
  1137. properties:
  1138. amount:
  1139. description: Amount defines the maximum amount of allowed simultaneous
  1140. in-flight request. The middleware responds with HTTP 429 Too
  1141. Many Requests if there are already amount requests in progress
  1142. (based on the same sourceCriterion strategy).
  1143. format: int64
  1144. type: integer
  1145. sourceCriterion:
  1146. description: 'SourceCriterion defines what criterion is used to
  1147. group requests as originating from a common source. If several
  1148. strategies are defined at the same time, an error will be raised.
  1149. If none are set, the default is to use the requestHost. More
  1150. info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/#sourcecriterion'
  1151. properties:
  1152. ipStrategy:
  1153. description: 'IPStrategy holds the IP strategy configuration
  1154. used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'
  1155. properties:
  1156. depth:
  1157. description: Depth tells Traefik to use the X-Forwarded-For
  1158. header and take the IP located at the depth position
  1159. (starting from the right).
  1160. type: integer
  1161. excludedIPs:
  1162. description: ExcludedIPs configures Traefik to scan the
  1163. X-Forwarded-For header and select the first IP not in
  1164. the list.
  1165. items:
  1166. type: string
  1167. type: array
  1168. type: object
  1169. requestHeaderName:
  1170. description: RequestHeaderName defines the name of the header
  1171. used to group incoming requests.
  1172. type: string
  1173. requestHost:
  1174. description: RequestHost defines whether to consider the request
  1175. Host as the source.
  1176. type: boolean
  1177. type: object
  1178. type: object
  1179. ipWhiteList:
  1180. description: 'IPWhiteList holds the IP whitelist middleware configuration.
  1181. This middleware accepts / refuses requests based on the client IP.
  1182. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/'
  1183. properties:
  1184. ipStrategy:
  1185. description: 'IPStrategy holds the IP strategy configuration used
  1186. by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'
  1187. properties:
  1188. depth:
  1189. description: Depth tells Traefik to use the X-Forwarded-For
  1190. header and take the IP located at the depth position (starting
  1191. from the right).
  1192. type: integer
  1193. excludedIPs:
  1194. description: ExcludedIPs configures Traefik to scan the X-Forwarded-For
  1195. header and select the first IP not in the list.
  1196. items:
  1197. type: string
  1198. type: array
  1199. type: object
  1200. sourceRange:
  1201. description: SourceRange defines the set of allowed IPs (or ranges
  1202. of allowed IPs by using CIDR notation).
  1203. items:
  1204. type: string
  1205. type: array
  1206. type: object
  1207. passTLSClientCert:
  1208. description: 'PassTLSClientCert holds the pass TLS client cert middleware
  1209. configuration. This middleware adds the selected data from the passed
  1210. client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/'
  1211. properties:
  1212. info:
  1213. description: Info selects the specific client certificate details
  1214. you want to add to the X-Forwarded-Tls-Client-Cert-Info header.
  1215. properties:
  1216. issuer:
  1217. description: Issuer defines the client certificate issuer
  1218. details to add to the X-Forwarded-Tls-Client-Cert-Info header.
  1219. properties:
  1220. commonName:
  1221. description: CommonName defines whether to add the organizationalUnit
  1222. information into the issuer.
  1223. type: boolean
  1224. country:
  1225. description: Country defines whether to add the country
  1226. information into the issuer.
  1227. type: boolean
  1228. domainComponent:
  1229. description: DomainComponent defines whether to add the
  1230. domainComponent information into the issuer.
  1231. type: boolean
  1232. locality:
  1233. description: Locality defines whether to add the locality
  1234. information into the issuer.
  1235. type: boolean
  1236. organization:
  1237. description: Organization defines whether to add the organization
  1238. information into the issuer.
  1239. type: boolean
  1240. province:
  1241. description: Province defines whether to add the province
  1242. information into the issuer.
  1243. type: boolean
  1244. serialNumber:
  1245. description: SerialNumber defines whether to add the serialNumber
  1246. information into the issuer.
  1247. type: boolean
  1248. type: object
  1249. notAfter:
  1250. description: NotAfter defines whether to add the Not After
  1251. information from the Validity part.
  1252. type: boolean
  1253. notBefore:
  1254. description: NotBefore defines whether to add the Not Before
  1255. information from the Validity part.
  1256. type: boolean
  1257. sans:
  1258. description: Sans defines whether to add the Subject Alternative
  1259. Name information from the Subject Alternative Name part.
  1260. type: boolean
  1261. serialNumber:
  1262. description: SerialNumber defines whether to add the client
  1263. serialNumber information.
  1264. type: boolean
  1265. subject:
  1266. description: Subject defines the client certificate subject
  1267. details to add to the X-Forwarded-Tls-Client-Cert-Info header.
  1268. properties:
  1269. commonName:
  1270. description: CommonName defines whether to add the organizationalUnit
  1271. information into the subject.
  1272. type: boolean
  1273. country:
  1274. description: Country defines whether to add the country
  1275. information into the subject.
  1276. type: boolean
  1277. domainComponent:
  1278. description: DomainComponent defines whether to add the
  1279. domainComponent information into the subject.
  1280. type: boolean
  1281. locality:
  1282. description: Locality defines whether to add the locality
  1283. information into the subject.
  1284. type: boolean
  1285. organization:
  1286. description: Organization defines whether to add the organization
  1287. information into the subject.
  1288. type: boolean
  1289. organizationalUnit:
  1290. description: OrganizationalUnit defines whether to add
  1291. the organizationalUnit information into the subject.
  1292. type: boolean
  1293. province:
  1294. description: Province defines whether to add the province
  1295. information into the subject.
  1296. type: boolean
  1297. serialNumber:
  1298. description: SerialNumber defines whether to add the serialNumber
  1299. information into the subject.
  1300. type: boolean
  1301. type: object
  1302. type: object
  1303. pem:
  1304. description: PEM sets the X-Forwarded-Tls-Client-Cert header with
  1305. the certificate.
  1306. type: boolean
  1307. type: object
  1308. plugin:
  1309. additionalProperties:
  1310. x-kubernetes-preserve-unknown-fields: true
  1311. description: 'Plugin defines the middleware plugin configuration.
  1312. More info: https://doc.traefik.io/traefik/plugins/'
  1313. type: object
  1314. rateLimit:
  1315. description: 'RateLimit holds the rate limit configuration. This middleware
  1316. ensures that services will receive a fair amount of requests, and
  1317. allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/'
  1318. properties:
  1319. average:
  1320. description: Average is the maximum rate, by default in requests/s,
  1321. allowed for the given source. It defaults to 0, which means
  1322. no rate limiting. The rate is actually defined by dividing Average
  1323. by Period. So for a rate below 1req/s, one needs to define a
  1324. Period larger than a second.
  1325. format: int64
  1326. type: integer
  1327. burst:
  1328. description: Burst is the maximum number of requests allowed to
  1329. arrive in the same arbitrarily small period of time. It defaults
  1330. to 1.
  1331. format: int64
  1332. type: integer
  1333. period:
  1334. anyOf:
  1335. - type: integer
  1336. - type: string
  1337. description: 'Period, in combination with Average, defines the
  1338. actual maximum rate, such as: r = Average / Period. It defaults
  1339. to a second.'
  1340. x-kubernetes-int-or-string: true
  1341. sourceCriterion:
  1342. description: SourceCriterion defines what criterion is used to
  1343. group requests as originating from a common source. If several
  1344. strategies are defined at the same time, an error will be raised.
  1345. If none are set, the default is to use the request's remote
  1346. address field (as an ipStrategy).
  1347. properties:
  1348. ipStrategy:
  1349. description: 'IPStrategy holds the IP strategy configuration
  1350. used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'
  1351. properties:
  1352. depth:
  1353. description: Depth tells Traefik to use the X-Forwarded-For
  1354. header and take the IP located at the depth position
  1355. (starting from the right).
  1356. type: integer
  1357. excludedIPs:
  1358. description: ExcludedIPs configures Traefik to scan the
  1359. X-Forwarded-For header and select the first IP not in
  1360. the list.
  1361. items:
  1362. type: string
  1363. type: array
  1364. type: object
  1365. requestHeaderName:
  1366. description: RequestHeaderName defines the name of the header
  1367. used to group incoming requests.
  1368. type: string
  1369. requestHost:
  1370. description: RequestHost defines whether to consider the request
  1371. Host as the source.
  1372. type: boolean
  1373. type: object
  1374. type: object
  1375. redirectRegex:
  1376. description: 'RedirectRegex holds the redirect regex middleware configuration.
  1377. This middleware redirects a request using regex matching and replacement.
  1378. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex'
  1379. properties:
  1380. permanent:
  1381. description: Permanent defines whether the redirection is permanent
  1382. (301).
  1383. type: boolean
  1384. regex:
  1385. description: Regex defines the regex used to match and capture
  1386. elements from the request URL.
  1387. type: string
  1388. replacement:
  1389. description: Replacement defines how to modify the URL to have
  1390. the new target URL.
  1391. type: string
  1392. type: object
  1393. redirectScheme:
  1394. description: 'RedirectScheme holds the redirect scheme middleware
  1395. configuration. This middleware redirects requests from a scheme/port
  1396. to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/'
  1397. properties:
  1398. permanent:
  1399. description: Permanent defines whether the redirection is permanent
  1400. (301).
  1401. type: boolean
  1402. port:
  1403. description: Port defines the port of the new URL.
  1404. type: string
  1405. scheme:
  1406. description: Scheme defines the scheme of the new URL.
  1407. type: string
  1408. type: object
  1409. replacePath:
  1410. description: 'ReplacePath holds the replace path middleware configuration.
  1411. This middleware replaces the path of the request URL and store the
  1412. original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/'
  1413. properties:
  1414. path:
  1415. description: Path defines the path to use as replacement in the
  1416. request URL.
  1417. type: string
  1418. type: object
  1419. replacePathRegex:
  1420. description: 'ReplacePathRegex holds the replace path regex middleware
  1421. configuration. This middleware replaces the path of a URL using
  1422. regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/'
  1423. properties:
  1424. regex:
  1425. description: Regex defines the regular expression used to match
  1426. and capture the path from the request URL.
  1427. type: string
  1428. replacement:
  1429. description: Replacement defines the replacement path format,
  1430. which can include captured variables.
  1431. type: string
  1432. type: object
  1433. retry:
  1434. description: 'Retry holds the retry middleware configuration. This
  1435. middleware reissues requests a given number of times to a backend
  1436. server if that server does not reply. As soon as the server answers,
  1437. the middleware stops retrying, regardless of the response status.
  1438. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/'
  1439. properties:
  1440. attempts:
  1441. description: Attempts defines how many times the request should
  1442. be retried.
  1443. type: integer
  1444. initialInterval:
  1445. anyOf:
  1446. - type: integer
  1447. - type: string
  1448. description: InitialInterval defines the first wait time in the
  1449. exponential backoff series. The maximum interval is calculated
  1450. as twice the initialInterval. If unspecified, requests will
  1451. be retried immediately. The value of initialInterval should
  1452. be provided in seconds or as a valid duration format, see https://pkg.go.dev/time#ParseDuration.
  1453. x-kubernetes-int-or-string: true
  1454. type: object
  1455. stripPrefix:
  1456. description: 'StripPrefix holds the strip prefix middleware configuration.
  1457. This middleware removes the specified prefixes from the URL path.
  1458. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/'
  1459. properties:
  1460. forceSlash:
  1461. description: 'ForceSlash ensures that the resulting stripped path
  1462. is not the empty string, by replacing it with / when necessary.
  1463. Default: true.'
  1464. type: boolean
  1465. prefixes:
  1466. description: Prefixes defines the prefixes to strip from the request
  1467. URL.
  1468. items:
  1469. type: string
  1470. type: array
  1471. type: object
  1472. stripPrefixRegex:
  1473. description: 'StripPrefixRegex holds the strip prefix regex middleware
  1474. configuration. This middleware removes the matching prefixes from
  1475. the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/'
  1476. properties:
  1477. regex:
  1478. description: Regex defines the regular expression to match the
  1479. path prefix from the request URL.
  1480. items:
  1481. type: string
  1482. type: array
  1483. type: object
  1484. type: object
  1485. required:
  1486. - metadata
  1487. - spec
  1488. type: object
  1489. served: true
  1490. storage: true
  1491. ---
  1492. apiVersion: apiextensions.k8s.io/v1
  1493. kind: CustomResourceDefinition
  1494. metadata:
  1495. annotations:
  1496. controller-gen.kubebuilder.io/version: v0.13.0
  1497. name: middlewaretcps.traefik.io
  1498. spec:
  1499. group: traefik.io
  1500. names:
  1501. kind: MiddlewareTCP
  1502. listKind: MiddlewareTCPList
  1503. plural: middlewaretcps
  1504. singular: middlewaretcp
  1505. scope: Namespaced
  1506. versions:
  1507. - name: v1alpha1
  1508. schema:
  1509. openAPIV3Schema:
  1510. description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
  1511. More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/'
  1512. properties:
  1513. apiVersion:
  1514. description: 'APIVersion defines the versioned schema of this representation
  1515. of an object. Servers should convert recognized schemas to the latest
  1516. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1517. type: string
  1518. kind:
  1519. description: 'Kind is a string value representing the REST resource this
  1520. object represents. Servers may infer this from the endpoint the client
  1521. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1522. type: string
  1523. metadata:
  1524. type: object
  1525. spec:
  1526. description: MiddlewareTCPSpec defines the desired state of a MiddlewareTCP.
  1527. properties:
  1528. inFlightConn:
  1529. description: InFlightConn defines the InFlightConn middleware configuration.
  1530. properties:
  1531. amount:
  1532. description: Amount defines the maximum amount of allowed simultaneous
  1533. connections. The middleware closes the connection if there are
  1534. already amount connections opened.
  1535. format: int64
  1536. type: integer
  1537. type: object
  1538. ipWhiteList:
  1539. description: IPWhiteList defines the IPWhiteList middleware configuration.
  1540. properties:
  1541. sourceRange:
  1542. description: SourceRange defines the allowed IPs (or ranges of
  1543. allowed IPs by using CIDR notation).
  1544. items:
  1545. type: string
  1546. type: array
  1547. type: object
  1548. type: object
  1549. required:
  1550. - metadata
  1551. - spec
  1552. type: object
  1553. served: true
  1554. storage: true
  1555. ---
  1556. apiVersion: apiextensions.k8s.io/v1
  1557. kind: CustomResourceDefinition
  1558. metadata:
  1559. annotations:
  1560. controller-gen.kubebuilder.io/version: v0.13.0
  1561. name: serverstransports.traefik.io
  1562. spec:
  1563. group: traefik.io
  1564. names:
  1565. kind: ServersTransport
  1566. listKind: ServersTransportList
  1567. plural: serverstransports
  1568. singular: serverstransport
  1569. scope: Namespaced
  1570. versions:
  1571. - name: v1alpha1
  1572. schema:
  1573. openAPIV3Schema:
  1574. description: 'ServersTransport is the CRD implementation of a ServersTransport.
  1575. If no serversTransport is specified, the default@internal will be used.
  1576. The default@internal serversTransport is created from the static configuration.
  1577. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1'
  1578. properties:
  1579. apiVersion:
  1580. description: 'APIVersion defines the versioned schema of this representation
  1581. of an object. Servers should convert recognized schemas to the latest
  1582. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1583. type: string
  1584. kind:
  1585. description: 'Kind is a string value representing the REST resource this
  1586. object represents. Servers may infer this from the endpoint the client
  1587. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1588. type: string
  1589. metadata:
  1590. type: object
  1591. spec:
  1592. description: ServersTransportSpec defines the desired state of a ServersTransport.
  1593. properties:
  1594. certificatesSecrets:
  1595. description: CertificatesSecrets defines a list of secret storing
  1596. client certificates for mTLS.
  1597. items:
  1598. type: string
  1599. type: array
  1600. disableHTTP2:
  1601. description: DisableHTTP2 disables HTTP/2 for connections with backend
  1602. servers.
  1603. type: boolean
  1604. forwardingTimeouts:
  1605. description: ForwardingTimeouts defines the timeouts for requests
  1606. forwarded to the backend servers.
  1607. properties:
  1608. dialTimeout:
  1609. anyOf:
  1610. - type: integer
  1611. - type: string
  1612. description: DialTimeout is the amount of time to wait until a
  1613. connection to a backend server can be established.
  1614. x-kubernetes-int-or-string: true
  1615. idleConnTimeout:
  1616. anyOf:
  1617. - type: integer
  1618. - type: string
  1619. description: IdleConnTimeout is the maximum period for which an
  1620. idle HTTP keep-alive connection will remain open before closing
  1621. itself.
  1622. x-kubernetes-int-or-string: true
  1623. pingTimeout:
  1624. anyOf:
  1625. - type: integer
  1626. - type: string
  1627. description: PingTimeout is the timeout after which the HTTP/2
  1628. connection will be closed if a response to ping is not received.
  1629. x-kubernetes-int-or-string: true
  1630. readIdleTimeout:
  1631. anyOf:
  1632. - type: integer
  1633. - type: string
  1634. description: ReadIdleTimeout is the timeout after which a health
  1635. check using ping frame will be carried out if no frame is received
  1636. on the HTTP/2 connection.
  1637. x-kubernetes-int-or-string: true
  1638. responseHeaderTimeout:
  1639. anyOf:
  1640. - type: integer
  1641. - type: string
  1642. description: ResponseHeaderTimeout is the amount of time to wait
  1643. for a server's response headers after fully writing the request
  1644. (including its body, if any).
  1645. x-kubernetes-int-or-string: true
  1646. type: object
  1647. insecureSkipVerify:
  1648. description: InsecureSkipVerify disables SSL certificate verification.
  1649. type: boolean
  1650. maxIdleConnsPerHost:
  1651. description: MaxIdleConnsPerHost controls the maximum idle (keep-alive)
  1652. to keep per-host.
  1653. type: integer
  1654. peerCertURI:
  1655. description: PeerCertURI defines the peer cert URI used to match against
  1656. SAN URI during the peer certificate verification.
  1657. type: string
  1658. rootCAsSecrets:
  1659. description: RootCAsSecrets defines a list of CA secret used to validate
  1660. self-signed certificate.
  1661. items:
  1662. type: string
  1663. type: array
  1664. serverName:
  1665. description: ServerName defines the server name used to contact the
  1666. server.
  1667. type: string
  1668. type: object
  1669. required:
  1670. - metadata
  1671. - spec
  1672. type: object
  1673. served: true
  1674. storage: true
  1675. ---
  1676. apiVersion: apiextensions.k8s.io/v1
  1677. kind: CustomResourceDefinition
  1678. metadata:
  1679. annotations:
  1680. controller-gen.kubebuilder.io/version: v0.13.0
  1681. name: tlsoptions.traefik.io
  1682. spec:
  1683. group: traefik.io
  1684. names:
  1685. kind: TLSOption
  1686. listKind: TLSOptionList
  1687. plural: tlsoptions
  1688. singular: tlsoption
  1689. scope: Namespaced
  1690. versions:
  1691. - name: v1alpha1
  1692. schema:
  1693. openAPIV3Schema:
  1694. description: 'TLSOption is the CRD implementation of a Traefik TLS Option,
  1695. allowing to configure some parameters of the TLS connection. More info:
  1696. https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'
  1697. properties:
  1698. apiVersion:
  1699. description: 'APIVersion defines the versioned schema of this representation
  1700. of an object. Servers should convert recognized schemas to the latest
  1701. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1702. type: string
  1703. kind:
  1704. description: 'Kind is a string value representing the REST resource this
  1705. object represents. Servers may infer this from the endpoint the client
  1706. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1707. type: string
  1708. metadata:
  1709. type: object
  1710. spec:
  1711. description: TLSOptionSpec defines the desired state of a TLSOption.
  1712. properties:
  1713. alpnProtocols:
  1714. description: 'ALPNProtocols defines the list of supported application
  1715. level protocols for the TLS handshake, in order of preference. More
  1716. info: https://doc.traefik.io/traefik/v2.10/https/tls/#alpn-protocols'
  1717. items:
  1718. type: string
  1719. type: array
  1720. cipherSuites:
  1721. description: 'CipherSuites defines the list of supported cipher suites
  1722. for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites'
  1723. items:
  1724. type: string
  1725. type: array
  1726. clientAuth:
  1727. description: ClientAuth defines the server's policy for TLS Client
  1728. Authentication.
  1729. properties:
  1730. clientAuthType:
  1731. description: ClientAuthType defines the client authentication
  1732. type to apply.
  1733. enum:
  1734. - NoClientCert
  1735. - RequestClientCert
  1736. - RequireAnyClientCert
  1737. - VerifyClientCertIfGiven
  1738. - RequireAndVerifyClientCert
  1739. type: string
  1740. secretNames:
  1741. description: SecretNames defines the names of the referenced Kubernetes
  1742. Secret storing certificate details.
  1743. items:
  1744. type: string
  1745. type: array
  1746. type: object
  1747. curvePreferences:
  1748. description: 'CurvePreferences defines the preferred elliptic curves
  1749. in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences'
  1750. items:
  1751. type: string
  1752. type: array
  1753. maxVersion:
  1754. description: 'MaxVersion defines the maximum TLS version that Traefik
  1755. will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,
  1756. VersionTLS13. Default: None.'
  1757. type: string
  1758. minVersion:
  1759. description: 'MinVersion defines the minimum TLS version that Traefik
  1760. will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,
  1761. VersionTLS13. Default: VersionTLS10.'
  1762. type: string
  1763. preferServerCipherSuites:
  1764. description: 'PreferServerCipherSuites defines whether the server
  1765. chooses a cipher suite among his own instead of among the client''s.
  1766. It is enabled automatically when minVersion or maxVersion is set.
  1767. Deprecated: https://github.com/golang/go/issues/45430'
  1768. type: boolean
  1769. sniStrict:
  1770. description: SniStrict defines whether Traefik allows connections
  1771. from clients connections that do not specify a server_name extension.
  1772. type: boolean
  1773. type: object
  1774. required:
  1775. - metadata
  1776. - spec
  1777. type: object
  1778. served: true
  1779. storage: true
  1780. ---
  1781. apiVersion: apiextensions.k8s.io/v1
  1782. kind: CustomResourceDefinition
  1783. metadata:
  1784. annotations:
  1785. controller-gen.kubebuilder.io/version: v0.13.0
  1786. name: tlsstores.traefik.io
  1787. spec:
  1788. group: traefik.io
  1789. names:
  1790. kind: TLSStore
  1791. listKind: TLSStoreList
  1792. plural: tlsstores
  1793. singular: tlsstore
  1794. scope: Namespaced
  1795. versions:
  1796. - name: v1alpha1
  1797. schema:
  1798. openAPIV3Schema:
  1799. description: 'TLSStore is the CRD implementation of a Traefik TLS Store. For
  1800. the time being, only the TLSStore named default is supported. This means
  1801. that you cannot have two stores that are named default in different Kubernetes
  1802. namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores'
  1803. properties:
  1804. apiVersion:
  1805. description: 'APIVersion defines the versioned schema of this representation
  1806. of an object. Servers should convert recognized schemas to the latest
  1807. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1808. type: string
  1809. kind:
  1810. description: 'Kind is a string value representing the REST resource this
  1811. object represents. Servers may infer this from the endpoint the client
  1812. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1813. type: string
  1814. metadata:
  1815. type: object
  1816. spec:
  1817. description: TLSStoreSpec defines the desired state of a TLSStore.
  1818. properties:
  1819. certificates:
  1820. description: Certificates is a list of secret names, each secret holding
  1821. a key/certificate pair to add to the store.
  1822. items:
  1823. description: Certificate holds a secret name for the TLSStore resource.
  1824. properties:
  1825. secretName:
  1826. description: SecretName is the name of the referenced Kubernetes
  1827. Secret to specify the certificate details.
  1828. type: string
  1829. required:
  1830. - secretName
  1831. type: object
  1832. type: array
  1833. defaultCertificate:
  1834. description: DefaultCertificate defines the default certificate configuration.
  1835. properties:
  1836. secretName:
  1837. description: SecretName is the name of the referenced Kubernetes
  1838. Secret to specify the certificate details.
  1839. type: string
  1840. required:
  1841. - secretName
  1842. type: object
  1843. defaultGeneratedCert:
  1844. description: DefaultGeneratedCert defines the default generated certificate
  1845. configuration.
  1846. properties:
  1847. domain:
  1848. description: Domain is the domain definition for the DefaultCertificate.
  1849. properties:
  1850. main:
  1851. description: Main defines the main domain name.
  1852. type: string
  1853. sans:
  1854. description: SANs defines the subject alternative domain names.
  1855. items:
  1856. type: string
  1857. type: array
  1858. type: object
  1859. resolver:
  1860. description: Resolver is the name of the resolver that will be
  1861. used to issue the DefaultCertificate.
  1862. type: string
  1863. type: object
  1864. type: object
  1865. required:
  1866. - metadata
  1867. - spec
  1868. type: object
  1869. served: true
  1870. storage: true
  1871. ---
  1872. apiVersion: apiextensions.k8s.io/v1
  1873. kind: CustomResourceDefinition
  1874. metadata:
  1875. annotations:
  1876. controller-gen.kubebuilder.io/version: v0.13.0
  1877. name: traefikservices.traefik.io
  1878. spec:
  1879. group: traefik.io
  1880. names:
  1881. kind: TraefikService
  1882. listKind: TraefikServiceList
  1883. plural: traefikservices
  1884. singular: traefikservice
  1885. scope: Namespaced
  1886. versions:
  1887. - name: v1alpha1
  1888. schema:
  1889. openAPIV3Schema:
  1890. description: 'TraefikService is the CRD implementation of a Traefik Service.
  1891. TraefikService object allows to: - Apply weight to Services on load-balancing
  1892. - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice'
  1893. properties:
  1894. apiVersion:
  1895. description: 'APIVersion defines the versioned schema of this representation
  1896. of an object. Servers should convert recognized schemas to the latest
  1897. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1898. type: string
  1899. kind:
  1900. description: 'Kind is a string value representing the REST resource this
  1901. object represents. Servers may infer this from the endpoint the client
  1902. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1903. type: string
  1904. metadata:
  1905. type: object
  1906. spec:
  1907. description: TraefikServiceSpec defines the desired state of a TraefikService.
  1908. properties:
  1909. mirroring:
  1910. description: Mirroring defines the Mirroring service configuration.
  1911. properties:
  1912. kind:
  1913. description: Kind defines the kind of the Service.
  1914. enum:
  1915. - Service
  1916. - TraefikService
  1917. type: string
  1918. maxBodySize:
  1919. description: MaxBodySize defines the maximum size allowed for
  1920. the body of the request. If the body is larger, the request
  1921. is not mirrored. Default value is -1, which means unlimited
  1922. size.
  1923. format: int64
  1924. type: integer
  1925. mirrors:
  1926. description: Mirrors defines the list of mirrors where Traefik
  1927. will duplicate the traffic.
  1928. items:
  1929. description: MirrorService holds the mirror configuration.
  1930. properties:
  1931. kind:
  1932. description: Kind defines the kind of the Service.
  1933. enum:
  1934. - Service
  1935. - TraefikService
  1936. type: string
  1937. name:
  1938. description: Name defines the name of the referenced Kubernetes
  1939. Service or TraefikService. The differentiation between
  1940. the two is specified in the Kind field.
  1941. type: string
  1942. namespace:
  1943. description: Namespace defines the namespace of the referenced
  1944. Kubernetes Service or TraefikService.
  1945. type: string
  1946. nativeLB:
  1947. description: NativeLB controls, when creating the load-balancer,
  1948. whether the LB's children are directly the pods IPs or
  1949. if the only child is the Kubernetes Service clusterIP.
  1950. The Kubernetes Service itself does load-balance to the
  1951. pods. By default, NativeLB is false.
  1952. type: boolean
  1953. passHostHeader:
  1954. description: PassHostHeader defines whether the client Host
  1955. header is forwarded to the upstream Kubernetes Service.
  1956. By default, passHostHeader is true.
  1957. type: boolean
  1958. percent:
  1959. description: 'Percent defines the part of the traffic to
  1960. mirror. Supported values: 0 to 100.'
  1961. type: integer
  1962. port:
  1963. anyOf:
  1964. - type: integer
  1965. - type: string
  1966. description: Port defines the port of a Kubernetes Service.
  1967. This can be a reference to a named port.
  1968. x-kubernetes-int-or-string: true
  1969. responseForwarding:
  1970. description: ResponseForwarding defines how Traefik forwards
  1971. the response from the upstream Kubernetes Service to the
  1972. client.
  1973. properties:
  1974. flushInterval:
  1975. description: 'FlushInterval defines the interval, in
  1976. milliseconds, in between flushes to the client while
  1977. copying the response body. A negative value means
  1978. to flush immediately after each write to the client.
  1979. This configuration is ignored when ReverseProxy recognizes
  1980. a response as a streaming response; for such responses,
  1981. writes are flushed to the client immediately. Default:
  1982. 100ms'
  1983. type: string
  1984. type: object
  1985. scheme:
  1986. description: Scheme defines the scheme to use for the request
  1987. to the upstream Kubernetes Service. It defaults to https
  1988. when Kubernetes Service port is 443, http otherwise.
  1989. type: string
  1990. serversTransport:
  1991. description: ServersTransport defines the name of ServersTransport
  1992. resource to use. It allows to configure the transport
  1993. between Traefik and your servers. Can only be used on
  1994. a Kubernetes Service.
  1995. type: string
  1996. sticky:
  1997. description: 'Sticky defines the sticky sessions configuration.
  1998. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  1999. properties:
  2000. cookie:
  2001. description: Cookie defines the sticky cookie configuration.
  2002. properties:
  2003. httpOnly:
  2004. description: HTTPOnly defines whether the cookie
  2005. can be accessed by client-side APIs, such as JavaScript.
  2006. type: boolean
  2007. name:
  2008. description: Name defines the Cookie name.
  2009. type: string
  2010. sameSite:
  2011. description: 'SameSite defines the same site policy.
  2012. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  2013. type: string
  2014. secure:
  2015. description: Secure defines whether the cookie can
  2016. only be transmitted over an encrypted connection
  2017. (i.e. HTTPS).
  2018. type: boolean
  2019. type: object
  2020. type: object
  2021. strategy:
  2022. description: Strategy defines the load balancing strategy
  2023. between the servers. RoundRobin is the only supported
  2024. value at the moment.
  2025. type: string
  2026. weight:
  2027. description: Weight defines the weight and should only be
  2028. specified when Name references a TraefikService object
  2029. (and to be precise, one that embeds a Weighted Round Robin).
  2030. type: integer
  2031. required:
  2032. - name
  2033. type: object
  2034. type: array
  2035. name:
  2036. description: Name defines the name of the referenced Kubernetes
  2037. Service or TraefikService. The differentiation between the two
  2038. is specified in the Kind field.
  2039. type: string
  2040. namespace:
  2041. description: Namespace defines the namespace of the referenced
  2042. Kubernetes Service or TraefikService.
  2043. type: string
  2044. nativeLB:
  2045. description: NativeLB controls, when creating the load-balancer,
  2046. whether the LB's children are directly the pods IPs or if the
  2047. only child is the Kubernetes Service clusterIP. The Kubernetes
  2048. Service itself does load-balance to the pods. By default, NativeLB
  2049. is false.
  2050. type: boolean
  2051. passHostHeader:
  2052. description: PassHostHeader defines whether the client Host header
  2053. is forwarded to the upstream Kubernetes Service. By default,
  2054. passHostHeader is true.
  2055. type: boolean
  2056. port:
  2057. anyOf:
  2058. - type: integer
  2059. - type: string
  2060. description: Port defines the port of a Kubernetes Service. This
  2061. can be a reference to a named port.
  2062. x-kubernetes-int-or-string: true
  2063. responseForwarding:
  2064. description: ResponseForwarding defines how Traefik forwards the
  2065. response from the upstream Kubernetes Service to the client.
  2066. properties:
  2067. flushInterval:
  2068. description: 'FlushInterval defines the interval, in milliseconds,
  2069. in between flushes to the client while copying the response
  2070. body. A negative value means to flush immediately after
  2071. each write to the client. This configuration is ignored
  2072. when ReverseProxy recognizes a response as a streaming response;
  2073. for such responses, writes are flushed to the client immediately.
  2074. Default: 100ms'
  2075. type: string
  2076. type: object
  2077. scheme:
  2078. description: Scheme defines the scheme to use for the request
  2079. to the upstream Kubernetes Service. It defaults to https when
  2080. Kubernetes Service port is 443, http otherwise.
  2081. type: string
  2082. serversTransport:
  2083. description: ServersTransport defines the name of ServersTransport
  2084. resource to use. It allows to configure the transport between
  2085. Traefik and your servers. Can only be used on a Kubernetes Service.
  2086. type: string
  2087. sticky:
  2088. description: 'Sticky defines the sticky sessions configuration.
  2089. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  2090. properties:
  2091. cookie:
  2092. description: Cookie defines the sticky cookie configuration.
  2093. properties:
  2094. httpOnly:
  2095. description: HTTPOnly defines whether the cookie can be
  2096. accessed by client-side APIs, such as JavaScript.
  2097. type: boolean
  2098. name:
  2099. description: Name defines the Cookie name.
  2100. type: string
  2101. sameSite:
  2102. description: 'SameSite defines the same site policy. More
  2103. info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  2104. type: string
  2105. secure:
  2106. description: Secure defines whether the cookie can only
  2107. be transmitted over an encrypted connection (i.e. HTTPS).
  2108. type: boolean
  2109. type: object
  2110. type: object
  2111. strategy:
  2112. description: Strategy defines the load balancing strategy between
  2113. the servers. RoundRobin is the only supported value at the moment.
  2114. type: string
  2115. weight:
  2116. description: Weight defines the weight and should only be specified
  2117. when Name references a TraefikService object (and to be precise,
  2118. one that embeds a Weighted Round Robin).
  2119. type: integer
  2120. required:
  2121. - name
  2122. type: object
  2123. weighted:
  2124. description: Weighted defines the Weighted Round Robin configuration.
  2125. properties:
  2126. services:
  2127. description: Services defines the list of Kubernetes Service and/or
  2128. TraefikService to load-balance, with weight.
  2129. items:
  2130. description: Service defines an upstream HTTP service to proxy
  2131. traffic to.
  2132. properties:
  2133. kind:
  2134. description: Kind defines the kind of the Service.
  2135. enum:
  2136. - Service
  2137. - TraefikService
  2138. type: string
  2139. name:
  2140. description: Name defines the name of the referenced Kubernetes
  2141. Service or TraefikService. The differentiation between
  2142. the two is specified in the Kind field.
  2143. type: string
  2144. namespace:
  2145. description: Namespace defines the namespace of the referenced
  2146. Kubernetes Service or TraefikService.
  2147. type: string
  2148. nativeLB:
  2149. description: NativeLB controls, when creating the load-balancer,
  2150. whether the LB's children are directly the pods IPs or
  2151. if the only child is the Kubernetes Service clusterIP.
  2152. The Kubernetes Service itself does load-balance to the
  2153. pods. By default, NativeLB is false.
  2154. type: boolean
  2155. passHostHeader:
  2156. description: PassHostHeader defines whether the client Host
  2157. header is forwarded to the upstream Kubernetes Service.
  2158. By default, passHostHeader is true.
  2159. type: boolean
  2160. port:
  2161. anyOf:
  2162. - type: integer
  2163. - type: string
  2164. description: Port defines the port of a Kubernetes Service.
  2165. This can be a reference to a named port.
  2166. x-kubernetes-int-or-string: true
  2167. responseForwarding:
  2168. description: ResponseForwarding defines how Traefik forwards
  2169. the response from the upstream Kubernetes Service to the
  2170. client.
  2171. properties:
  2172. flushInterval:
  2173. description: 'FlushInterval defines the interval, in
  2174. milliseconds, in between flushes to the client while
  2175. copying the response body. A negative value means
  2176. to flush immediately after each write to the client.
  2177. This configuration is ignored when ReverseProxy recognizes
  2178. a response as a streaming response; for such responses,
  2179. writes are flushed to the client immediately. Default:
  2180. 100ms'
  2181. type: string
  2182. type: object
  2183. scheme:
  2184. description: Scheme defines the scheme to use for the request
  2185. to the upstream Kubernetes Service. It defaults to https
  2186. when Kubernetes Service port is 443, http otherwise.
  2187. type: string
  2188. serversTransport:
  2189. description: ServersTransport defines the name of ServersTransport
  2190. resource to use. It allows to configure the transport
  2191. between Traefik and your servers. Can only be used on
  2192. a Kubernetes Service.
  2193. type: string
  2194. sticky:
  2195. description: 'Sticky defines the sticky sessions configuration.
  2196. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  2197. properties:
  2198. cookie:
  2199. description: Cookie defines the sticky cookie configuration.
  2200. properties:
  2201. httpOnly:
  2202. description: HTTPOnly defines whether the cookie
  2203. can be accessed by client-side APIs, such as JavaScript.
  2204. type: boolean
  2205. name:
  2206. description: Name defines the Cookie name.
  2207. type: string
  2208. sameSite:
  2209. description: 'SameSite defines the same site policy.
  2210. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  2211. type: string
  2212. secure:
  2213. description: Secure defines whether the cookie can
  2214. only be transmitted over an encrypted connection
  2215. (i.e. HTTPS).
  2216. type: boolean
  2217. type: object
  2218. type: object
  2219. strategy:
  2220. description: Strategy defines the load balancing strategy
  2221. between the servers. RoundRobin is the only supported
  2222. value at the moment.
  2223. type: string
  2224. weight:
  2225. description: Weight defines the weight and should only be
  2226. specified when Name references a TraefikService object
  2227. (and to be precise, one that embeds a Weighted Round Robin).
  2228. type: integer
  2229. required:
  2230. - name
  2231. type: object
  2232. type: array
  2233. sticky:
  2234. description: 'Sticky defines whether sticky sessions are enabled.
  2235. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing'
  2236. properties:
  2237. cookie:
  2238. description: Cookie defines the sticky cookie configuration.
  2239. properties:
  2240. httpOnly:
  2241. description: HTTPOnly defines whether the cookie can be
  2242. accessed by client-side APIs, such as JavaScript.
  2243. type: boolean
  2244. name:
  2245. description: Name defines the Cookie name.
  2246. type: string
  2247. sameSite:
  2248. description: 'SameSite defines the same site policy. More
  2249. info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  2250. type: string
  2251. secure:
  2252. description: Secure defines whether the cookie can only
  2253. be transmitted over an encrypted connection (i.e. HTTPS).
  2254. type: boolean
  2255. type: object
  2256. type: object
  2257. type: object
  2258. type: object
  2259. required:
  2260. - metadata
  2261. - spec
  2262. type: object
  2263. served: true
  2264. storage: true
  2265. ---
  2266. apiVersion: apiextensions.k8s.io/v1
  2267. kind: CustomResourceDefinition
  2268. metadata:
  2269. annotations:
  2270. controller-gen.kubebuilder.io/version: v0.13.0
  2271. name: ingressroutes.traefik.containo.us
  2272. spec:
  2273. group: traefik.containo.us
  2274. names:
  2275. kind: IngressRoute
  2276. listKind: IngressRouteList
  2277. plural: ingressroutes
  2278. singular: ingressroute
  2279. scope: Namespaced
  2280. versions:
  2281. - name: v1alpha1
  2282. schema:
  2283. openAPIV3Schema:
  2284. description: IngressRoute is the CRD implementation of a Traefik HTTP Router.
  2285. properties:
  2286. apiVersion:
  2287. description: 'APIVersion defines the versioned schema of this representation
  2288. of an object. Servers should convert recognized schemas to the latest
  2289. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2290. type: string
  2291. kind:
  2292. description: 'Kind is a string value representing the REST resource this
  2293. object represents. Servers may infer this from the endpoint the client
  2294. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2295. type: string
  2296. metadata:
  2297. type: object
  2298. spec:
  2299. description: IngressRouteSpec defines the desired state of IngressRoute.
  2300. properties:
  2301. entryPoints:
  2302. description: 'EntryPoints defines the list of entry point names to
  2303. bind to. Entry points have to be configured in the static configuration.
  2304. More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/
  2305. Default: all.'
  2306. items:
  2307. type: string
  2308. type: array
  2309. routes:
  2310. description: Routes defines the list of routes.
  2311. items:
  2312. description: Route holds the HTTP route configuration.
  2313. properties:
  2314. kind:
  2315. description: Kind defines the kind of the route. Rule is the
  2316. only supported kind.
  2317. enum:
  2318. - Rule
  2319. type: string
  2320. match:
  2321. description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule'
  2322. type: string
  2323. middlewares:
  2324. description: 'Middlewares defines the list of references to
  2325. Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware'
  2326. items:
  2327. description: MiddlewareRef is a reference to a Middleware
  2328. resource.
  2329. properties:
  2330. name:
  2331. description: Name defines the name of the referenced Middleware
  2332. resource.
  2333. type: string
  2334. namespace:
  2335. description: Namespace defines the namespace of the referenced
  2336. Middleware resource.
  2337. type: string
  2338. required:
  2339. - name
  2340. type: object
  2341. type: array
  2342. priority:
  2343. description: 'Priority defines the router''s priority. More
  2344. info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority'
  2345. type: integer
  2346. services:
  2347. description: Services defines the list of Service. It can contain
  2348. any combination of TraefikService and/or reference to a Kubernetes
  2349. Service.
  2350. items:
  2351. description: Service defines an upstream HTTP service to proxy
  2352. traffic to.
  2353. properties:
  2354. kind:
  2355. description: Kind defines the kind of the Service.
  2356. enum:
  2357. - Service
  2358. - TraefikService
  2359. type: string
  2360. name:
  2361. description: Name defines the name of the referenced Kubernetes
  2362. Service or TraefikService. The differentiation between
  2363. the two is specified in the Kind field.
  2364. type: string
  2365. namespace:
  2366. description: Namespace defines the namespace of the referenced
  2367. Kubernetes Service or TraefikService.
  2368. type: string
  2369. nativeLB:
  2370. description: NativeLB controls, when creating the load-balancer,
  2371. whether the LB's children are directly the pods IPs
  2372. or if the only child is the Kubernetes Service clusterIP.
  2373. The Kubernetes Service itself does load-balance to the
  2374. pods. By default, NativeLB is false.
  2375. type: boolean
  2376. passHostHeader:
  2377. description: PassHostHeader defines whether the client
  2378. Host header is forwarded to the upstream Kubernetes
  2379. Service. By default, passHostHeader is true.
  2380. type: boolean
  2381. port:
  2382. anyOf:
  2383. - type: integer
  2384. - type: string
  2385. description: Port defines the port of a Kubernetes Service.
  2386. This can be a reference to a named port.
  2387. x-kubernetes-int-or-string: true
  2388. responseForwarding:
  2389. description: ResponseForwarding defines how Traefik forwards
  2390. the response from the upstream Kubernetes Service to
  2391. the client.
  2392. properties:
  2393. flushInterval:
  2394. description: 'FlushInterval defines the interval,
  2395. in milliseconds, in between flushes to the client
  2396. while copying the response body. A negative value
  2397. means to flush immediately after each write to the
  2398. client. This configuration is ignored when ReverseProxy
  2399. recognizes a response as a streaming response; for
  2400. such responses, writes are flushed to the client
  2401. immediately. Default: 100ms'
  2402. type: string
  2403. type: object
  2404. scheme:
  2405. description: Scheme defines the scheme to use for the
  2406. request to the upstream Kubernetes Service. It defaults
  2407. to https when Kubernetes Service port is 443, http otherwise.
  2408. type: string
  2409. serversTransport:
  2410. description: ServersTransport defines the name of ServersTransport
  2411. resource to use. It allows to configure the transport
  2412. between Traefik and your servers. Can only be used on
  2413. a Kubernetes Service.
  2414. type: string
  2415. sticky:
  2416. description: 'Sticky defines the sticky sessions configuration.
  2417. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  2418. properties:
  2419. cookie:
  2420. description: Cookie defines the sticky cookie configuration.
  2421. properties:
  2422. httpOnly:
  2423. description: HTTPOnly defines whether the cookie
  2424. can be accessed by client-side APIs, such as
  2425. JavaScript.
  2426. type: boolean
  2427. name:
  2428. description: Name defines the Cookie name.
  2429. type: string
  2430. sameSite:
  2431. description: 'SameSite defines the same site policy.
  2432. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  2433. type: string
  2434. secure:
  2435. description: Secure defines whether the cookie
  2436. can only be transmitted over an encrypted connection
  2437. (i.e. HTTPS).
  2438. type: boolean
  2439. type: object
  2440. type: object
  2441. strategy:
  2442. description: Strategy defines the load balancing strategy
  2443. between the servers. RoundRobin is the only supported
  2444. value at the moment.
  2445. type: string
  2446. weight:
  2447. description: Weight defines the weight and should only
  2448. be specified when Name references a TraefikService object
  2449. (and to be precise, one that embeds a Weighted Round
  2450. Robin).
  2451. type: integer
  2452. required:
  2453. - name
  2454. type: object
  2455. type: array
  2456. required:
  2457. - kind
  2458. - match
  2459. type: object
  2460. type: array
  2461. tls:
  2462. description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls'
  2463. properties:
  2464. certResolver:
  2465. description: 'CertResolver defines the name of the certificate
  2466. resolver to use. Cert resolvers have to be configured in the
  2467. static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'
  2468. type: string
  2469. domains:
  2470. description: 'Domains defines the list of domains that will be
  2471. used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'
  2472. items:
  2473. description: Domain holds a domain name with SANs.
  2474. properties:
  2475. main:
  2476. description: Main defines the main domain name.
  2477. type: string
  2478. sans:
  2479. description: SANs defines the subject alternative domain
  2480. names.
  2481. items:
  2482. type: string
  2483. type: array
  2484. type: object
  2485. type: array
  2486. options:
  2487. description: 'Options defines the reference to a TLSOption, that
  2488. specifies the parameters of the TLS connection. If not defined,
  2489. the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'
  2490. properties:
  2491. name:
  2492. description: 'Name defines the name of the referenced TLSOption.
  2493. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'
  2494. type: string
  2495. namespace:
  2496. description: 'Namespace defines the namespace of the referenced
  2497. TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'
  2498. type: string
  2499. required:
  2500. - name
  2501. type: object
  2502. secretName:
  2503. description: SecretName is the name of the referenced Kubernetes
  2504. Secret to specify the certificate details.
  2505. type: string
  2506. store:
  2507. description: Store defines the reference to the TLSStore, that
  2508. will be used to store certificates. Please note that only `default`
  2509. TLSStore can be used.
  2510. properties:
  2511. name:
  2512. description: 'Name defines the name of the referenced TLSStore.
  2513. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'
  2514. type: string
  2515. namespace:
  2516. description: 'Namespace defines the namespace of the referenced
  2517. TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'
  2518. type: string
  2519. required:
  2520. - name
  2521. type: object
  2522. type: object
  2523. required:
  2524. - routes
  2525. type: object
  2526. required:
  2527. - metadata
  2528. - spec
  2529. type: object
  2530. served: true
  2531. storage: true
  2532. ---
  2533. apiVersion: apiextensions.k8s.io/v1
  2534. kind: CustomResourceDefinition
  2535. metadata:
  2536. annotations:
  2537. controller-gen.kubebuilder.io/version: v0.13.0
  2538. name: ingressroutetcps.traefik.containo.us
  2539. spec:
  2540. group: traefik.containo.us
  2541. names:
  2542. kind: IngressRouteTCP
  2543. listKind: IngressRouteTCPList
  2544. plural: ingressroutetcps
  2545. singular: ingressroutetcp
  2546. scope: Namespaced
  2547. versions:
  2548. - name: v1alpha1
  2549. schema:
  2550. openAPIV3Schema:
  2551. description: IngressRouteTCP is the CRD implementation of a Traefik TCP Router.
  2552. properties:
  2553. apiVersion:
  2554. description: 'APIVersion defines the versioned schema of this representation
  2555. of an object. Servers should convert recognized schemas to the latest
  2556. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2557. type: string
  2558. kind:
  2559. description: 'Kind is a string value representing the REST resource this
  2560. object represents. Servers may infer this from the endpoint the client
  2561. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2562. type: string
  2563. metadata:
  2564. type: object
  2565. spec:
  2566. description: IngressRouteTCPSpec defines the desired state of IngressRouteTCP.
  2567. properties:
  2568. entryPoints:
  2569. description: 'EntryPoints defines the list of entry point names to
  2570. bind to. Entry points have to be configured in the static configuration.
  2571. More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/
  2572. Default: all.'
  2573. items:
  2574. type: string
  2575. type: array
  2576. routes:
  2577. description: Routes defines the list of routes.
  2578. items:
  2579. description: RouteTCP holds the TCP route configuration.
  2580. properties:
  2581. match:
  2582. description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1'
  2583. type: string
  2584. middlewares:
  2585. description: Middlewares defines the list of references to MiddlewareTCP
  2586. resources.
  2587. items:
  2588. description: ObjectReference is a generic reference to a Traefik
  2589. resource.
  2590. properties:
  2591. name:
  2592. description: Name defines the name of the referenced Traefik
  2593. resource.
  2594. type: string
  2595. namespace:
  2596. description: Namespace defines the namespace of the referenced
  2597. Traefik resource.
  2598. type: string
  2599. required:
  2600. - name
  2601. type: object
  2602. type: array
  2603. priority:
  2604. description: 'Priority defines the router''s priority. More
  2605. info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1'
  2606. type: integer
  2607. services:
  2608. description: Services defines the list of TCP services.
  2609. items:
  2610. description: ServiceTCP defines an upstream TCP service to
  2611. proxy traffic to.
  2612. properties:
  2613. name:
  2614. description: Name defines the name of the referenced Kubernetes
  2615. Service.
  2616. type: string
  2617. namespace:
  2618. description: Namespace defines the namespace of the referenced
  2619. Kubernetes Service.
  2620. type: string
  2621. nativeLB:
  2622. description: NativeLB controls, when creating the load-balancer,
  2623. whether the LB's children are directly the pods IPs
  2624. or if the only child is the Kubernetes Service clusterIP.
  2625. The Kubernetes Service itself does load-balance to the
  2626. pods. By default, NativeLB is false.
  2627. type: boolean
  2628. port:
  2629. anyOf:
  2630. - type: integer
  2631. - type: string
  2632. description: Port defines the port of a Kubernetes Service.
  2633. This can be a reference to a named port.
  2634. x-kubernetes-int-or-string: true
  2635. proxyProtocol:
  2636. description: 'ProxyProtocol defines the PROXY protocol
  2637. configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol'
  2638. properties:
  2639. version:
  2640. description: Version defines the PROXY Protocol version
  2641. to use.
  2642. type: integer
  2643. type: object
  2644. terminationDelay:
  2645. description: TerminationDelay defines the deadline that
  2646. the proxy sets, after one of its connected peers indicates
  2647. it has closed the writing capability of its connection,
  2648. to close the reading capability as well, hence fully
  2649. terminating the connection. It is a duration in milliseconds,
  2650. defaulting to 100. A negative value means an infinite
  2651. deadline (i.e. the reading capability is never closed).
  2652. type: integer
  2653. weight:
  2654. description: Weight defines the weight used when balancing
  2655. requests between multiple Kubernetes Service.
  2656. type: integer
  2657. required:
  2658. - name
  2659. - port
  2660. type: object
  2661. type: array
  2662. required:
  2663. - match
  2664. type: object
  2665. type: array
  2666. tls:
  2667. description: 'TLS defines the TLS configuration on a layer 4 / TCP
  2668. Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1'
  2669. properties:
  2670. certResolver:
  2671. description: 'CertResolver defines the name of the certificate
  2672. resolver to use. Cert resolvers have to be configured in the
  2673. static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'
  2674. type: string
  2675. domains:
  2676. description: 'Domains defines the list of domains that will be
  2677. used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'
  2678. items:
  2679. description: Domain holds a domain name with SANs.
  2680. properties:
  2681. main:
  2682. description: Main defines the main domain name.
  2683. type: string
  2684. sans:
  2685. description: SANs defines the subject alternative domain
  2686. names.
  2687. items:
  2688. type: string
  2689. type: array
  2690. type: object
  2691. type: array
  2692. options:
  2693. description: 'Options defines the reference to a TLSOption, that
  2694. specifies the parameters of the TLS connection. If not defined,
  2695. the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'
  2696. properties:
  2697. name:
  2698. description: Name defines the name of the referenced Traefik
  2699. resource.
  2700. type: string
  2701. namespace:
  2702. description: Namespace defines the namespace of the referenced
  2703. Traefik resource.
  2704. type: string
  2705. required:
  2706. - name
  2707. type: object
  2708. passthrough:
  2709. description: Passthrough defines whether a TLS router will terminate
  2710. the TLS connection.
  2711. type: boolean
  2712. secretName:
  2713. description: SecretName is the name of the referenced Kubernetes
  2714. Secret to specify the certificate details.
  2715. type: string
  2716. store:
  2717. description: Store defines the reference to the TLSStore, that
  2718. will be used to store certificates. Please note that only `default`
  2719. TLSStore can be used.
  2720. properties:
  2721. name:
  2722. description: Name defines the name of the referenced Traefik
  2723. resource.
  2724. type: string
  2725. namespace:
  2726. description: Namespace defines the namespace of the referenced
  2727. Traefik resource.
  2728. type: string
  2729. required:
  2730. - name
  2731. type: object
  2732. type: object
  2733. required:
  2734. - routes
  2735. type: object
  2736. required:
  2737. - metadata
  2738. - spec
  2739. type: object
  2740. served: true
  2741. storage: true
  2742. ---
  2743. apiVersion: apiextensions.k8s.io/v1
  2744. kind: CustomResourceDefinition
  2745. metadata:
  2746. annotations:
  2747. controller-gen.kubebuilder.io/version: v0.13.0
  2748. name: ingressrouteudps.traefik.containo.us
  2749. spec:
  2750. group: traefik.containo.us
  2751. names:
  2752. kind: IngressRouteUDP
  2753. listKind: IngressRouteUDPList
  2754. plural: ingressrouteudps
  2755. singular: ingressrouteudp
  2756. scope: Namespaced
  2757. versions:
  2758. - name: v1alpha1
  2759. schema:
  2760. openAPIV3Schema:
  2761. description: IngressRouteUDP is a CRD implementation of a Traefik UDP Router.
  2762. properties:
  2763. apiVersion:
  2764. description: 'APIVersion defines the versioned schema of this representation
  2765. of an object. Servers should convert recognized schemas to the latest
  2766. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2767. type: string
  2768. kind:
  2769. description: 'Kind is a string value representing the REST resource this
  2770. object represents. Servers may infer this from the endpoint the client
  2771. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2772. type: string
  2773. metadata:
  2774. type: object
  2775. spec:
  2776. description: IngressRouteUDPSpec defines the desired state of a IngressRouteUDP.
  2777. properties:
  2778. entryPoints:
  2779. description: 'EntryPoints defines the list of entry point names to
  2780. bind to. Entry points have to be configured in the static configuration.
  2781. More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/
  2782. Default: all.'
  2783. items:
  2784. type: string
  2785. type: array
  2786. routes:
  2787. description: Routes defines the list of routes.
  2788. items:
  2789. description: RouteUDP holds the UDP route configuration.
  2790. properties:
  2791. services:
  2792. description: Services defines the list of UDP services.
  2793. items:
  2794. description: ServiceUDP defines an upstream UDP service to
  2795. proxy traffic to.
  2796. properties:
  2797. name:
  2798. description: Name defines the name of the referenced Kubernetes
  2799. Service.
  2800. type: string
  2801. namespace:
  2802. description: Namespace defines the namespace of the referenced
  2803. Kubernetes Service.
  2804. type: string
  2805. nativeLB:
  2806. description: NativeLB controls, when creating the load-balancer,
  2807. whether the LB's children are directly the pods IPs
  2808. or if the only child is the Kubernetes Service clusterIP.
  2809. The Kubernetes Service itself does load-balance to the
  2810. pods. By default, NativeLB is false.
  2811. type: boolean
  2812. port:
  2813. anyOf:
  2814. - type: integer
  2815. - type: string
  2816. description: Port defines the port of a Kubernetes Service.
  2817. This can be a reference to a named port.
  2818. x-kubernetes-int-or-string: true
  2819. weight:
  2820. description: Weight defines the weight used when balancing
  2821. requests between multiple Kubernetes Service.
  2822. type: integer
  2823. required:
  2824. - name
  2825. - port
  2826. type: object
  2827. type: array
  2828. type: object
  2829. type: array
  2830. required:
  2831. - routes
  2832. type: object
  2833. required:
  2834. - metadata
  2835. - spec
  2836. type: object
  2837. served: true
  2838. storage: true
  2839. ---
  2840. apiVersion: apiextensions.k8s.io/v1
  2841. kind: CustomResourceDefinition
  2842. metadata:
  2843. annotations:
  2844. controller-gen.kubebuilder.io/version: v0.13.0
  2845. name: middlewares.traefik.containo.us
  2846. spec:
  2847. group: traefik.containo.us
  2848. names:
  2849. kind: Middleware
  2850. listKind: MiddlewareList
  2851. plural: middlewares
  2852. singular: middleware
  2853. scope: Namespaced
  2854. versions:
  2855. - name: v1alpha1
  2856. schema:
  2857. openAPIV3Schema:
  2858. description: 'Middleware is the CRD implementation of a Traefik Middleware.
  2859. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/'
  2860. properties:
  2861. apiVersion:
  2862. description: 'APIVersion defines the versioned schema of this representation
  2863. of an object. Servers should convert recognized schemas to the latest
  2864. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2865. type: string
  2866. kind:
  2867. description: 'Kind is a string value representing the REST resource this
  2868. object represents. Servers may infer this from the endpoint the client
  2869. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2870. type: string
  2871. metadata:
  2872. type: object
  2873. spec:
  2874. description: MiddlewareSpec defines the desired state of a Middleware.
  2875. properties:
  2876. addPrefix:
  2877. description: 'AddPrefix holds the add prefix middleware configuration.
  2878. This middleware updates the path of a request before forwarding
  2879. it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/'
  2880. properties:
  2881. prefix:
  2882. description: Prefix is the string to add before the current path
  2883. in the requested URL. It should include a leading slash (/).
  2884. type: string
  2885. type: object
  2886. basicAuth:
  2887. description: 'BasicAuth holds the basic auth middleware configuration.
  2888. This middleware restricts access to your services to known users.
  2889. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/'
  2890. properties:
  2891. headerField:
  2892. description: 'HeaderField defines a header field to store the
  2893. authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'
  2894. type: string
  2895. realm:
  2896. description: 'Realm allows the protected resources on a server
  2897. to be partitioned into a set of protection spaces, each with
  2898. its own authentication scheme. Default: traefik.'
  2899. type: string
  2900. removeHeader:
  2901. description: 'RemoveHeader sets the removeHeader option to true
  2902. to remove the authorization header before forwarding the request
  2903. to your service. Default: false.'
  2904. type: boolean
  2905. secret:
  2906. description: Secret is the name of the referenced Kubernetes Secret
  2907. containing user credentials.
  2908. type: string
  2909. type: object
  2910. buffering:
  2911. description: 'Buffering holds the buffering middleware configuration.
  2912. This middleware retries or limits the size of requests that can
  2913. be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes'
  2914. properties:
  2915. maxRequestBodyBytes:
  2916. description: 'MaxRequestBodyBytes defines the maximum allowed
  2917. body size for the request (in bytes). If the request exceeds
  2918. the allowed size, it is not forwarded to the service, and the
  2919. client gets a 413 (Request Entity Too Large) response. Default:
  2920. 0 (no maximum).'
  2921. format: int64
  2922. type: integer
  2923. maxResponseBodyBytes:
  2924. description: 'MaxResponseBodyBytes defines the maximum allowed
  2925. response size from the service (in bytes). If the response exceeds
  2926. the allowed size, it is not forwarded to the client. The client
  2927. gets a 500 (Internal Server Error) response instead. Default:
  2928. 0 (no maximum).'
  2929. format: int64
  2930. type: integer
  2931. memRequestBodyBytes:
  2932. description: 'MemRequestBodyBytes defines the threshold (in bytes)
  2933. from which the request will be buffered on disk instead of in
  2934. memory. Default: 1048576 (1Mi).'
  2935. format: int64
  2936. type: integer
  2937. memResponseBodyBytes:
  2938. description: 'MemResponseBodyBytes defines the threshold (in bytes)
  2939. from which the response will be buffered on disk instead of
  2940. in memory. Default: 1048576 (1Mi).'
  2941. format: int64
  2942. type: integer
  2943. retryExpression:
  2944. description: 'RetryExpression defines the retry conditions. It
  2945. is a logical combination of functions with operators AND (&&)
  2946. and OR (||). More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#retryexpression'
  2947. type: string
  2948. type: object
  2949. chain:
  2950. description: 'Chain holds the configuration of the chain middleware.
  2951. This middleware enables to define reusable combinations of other
  2952. pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/'
  2953. properties:
  2954. middlewares:
  2955. description: Middlewares is the list of MiddlewareRef which composes
  2956. the chain.
  2957. items:
  2958. description: MiddlewareRef is a reference to a Middleware resource.
  2959. properties:
  2960. name:
  2961. description: Name defines the name of the referenced Middleware
  2962. resource.
  2963. type: string
  2964. namespace:
  2965. description: Namespace defines the namespace of the referenced
  2966. Middleware resource.
  2967. type: string
  2968. required:
  2969. - name
  2970. type: object
  2971. type: array
  2972. type: object
  2973. circuitBreaker:
  2974. description: CircuitBreaker holds the circuit breaker configuration.
  2975. properties:
  2976. checkPeriod:
  2977. anyOf:
  2978. - type: integer
  2979. - type: string
  2980. description: CheckPeriod is the interval between successive checks
  2981. of the circuit breaker condition (when in standby state).
  2982. x-kubernetes-int-or-string: true
  2983. expression:
  2984. description: Expression is the condition that triggers the tripped
  2985. state.
  2986. type: string
  2987. fallbackDuration:
  2988. anyOf:
  2989. - type: integer
  2990. - type: string
  2991. description: FallbackDuration is the duration for which the circuit
  2992. breaker will wait before trying to recover (from a tripped state).
  2993. x-kubernetes-int-or-string: true
  2994. recoveryDuration:
  2995. anyOf:
  2996. - type: integer
  2997. - type: string
  2998. description: RecoveryDuration is the duration for which the circuit
  2999. breaker will try to recover (as soon as it is in recovering
  3000. state).
  3001. x-kubernetes-int-or-string: true
  3002. type: object
  3003. compress:
  3004. description: 'Compress holds the compress middleware configuration.
  3005. This middleware compresses responses before sending them to the
  3006. client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/'
  3007. properties:
  3008. excludedContentTypes:
  3009. description: ExcludedContentTypes defines the list of content
  3010. types to compare the Content-Type header of the incoming requests
  3011. and responses before compressing.
  3012. items:
  3013. type: string
  3014. type: array
  3015. minResponseBodyBytes:
  3016. description: 'MinResponseBodyBytes defines the minimum amount
  3017. of bytes a response body must have to be compressed. Default:
  3018. 1024.'
  3019. type: integer
  3020. type: object
  3021. contentType:
  3022. description: ContentType holds the content-type middleware configuration.
  3023. This middleware exists to enable the correct behavior until at least
  3024. the default one can be changed in a future version.
  3025. properties:
  3026. autoDetect:
  3027. description: AutoDetect specifies whether to let the `Content-Type`
  3028. header, if it has not been set by the backend, be automatically
  3029. set to a value derived from the contents of the response. As
  3030. a proxy, the default behavior should be to leave the header
  3031. alone, regardless of what the backend did with it. However,
  3032. the historic default was to always auto-detect and set the header
  3033. if it was nil, and it is going to be kept that way in order
  3034. to support users currently relying on it.
  3035. type: boolean
  3036. type: object
  3037. digestAuth:
  3038. description: 'DigestAuth holds the digest auth middleware configuration.
  3039. This middleware restricts access to your services to known users.
  3040. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/'
  3041. properties:
  3042. headerField:
  3043. description: 'HeaderField defines a header field to store the
  3044. authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'
  3045. type: string
  3046. realm:
  3047. description: 'Realm allows the protected resources on a server
  3048. to be partitioned into a set of protection spaces, each with
  3049. its own authentication scheme. Default: traefik.'
  3050. type: string
  3051. removeHeader:
  3052. description: RemoveHeader defines whether to remove the authorization
  3053. header before forwarding the request to the backend.
  3054. type: boolean
  3055. secret:
  3056. description: Secret is the name of the referenced Kubernetes Secret
  3057. containing user credentials.
  3058. type: string
  3059. type: object
  3060. errors:
  3061. description: 'ErrorPage holds the custom error middleware configuration.
  3062. This middleware returns a custom page in lieu of the default, according
  3063. to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/'
  3064. properties:
  3065. query:
  3066. description: Query defines the URL for the error page (hosted
  3067. by service). The {status} variable can be used in order to insert
  3068. the status code in the URL.
  3069. type: string
  3070. service:
  3071. description: 'Service defines the reference to a Kubernetes Service
  3072. that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service'
  3073. properties:
  3074. kind:
  3075. description: Kind defines the kind of the Service.
  3076. enum:
  3077. - Service
  3078. - TraefikService
  3079. type: string
  3080. name:
  3081. description: Name defines the name of the referenced Kubernetes
  3082. Service or TraefikService. The differentiation between the
  3083. two is specified in the Kind field.
  3084. type: string
  3085. namespace:
  3086. description: Namespace defines the namespace of the referenced
  3087. Kubernetes Service or TraefikService.
  3088. type: string
  3089. nativeLB:
  3090. description: NativeLB controls, when creating the load-balancer,
  3091. whether the LB's children are directly the pods IPs or if
  3092. the only child is the Kubernetes Service clusterIP. The
  3093. Kubernetes Service itself does load-balance to the pods.
  3094. By default, NativeLB is false.
  3095. type: boolean
  3096. passHostHeader:
  3097. description: PassHostHeader defines whether the client Host
  3098. header is forwarded to the upstream Kubernetes Service.
  3099. By default, passHostHeader is true.
  3100. type: boolean
  3101. port:
  3102. anyOf:
  3103. - type: integer
  3104. - type: string
  3105. description: Port defines the port of a Kubernetes Service.
  3106. This can be a reference to a named port.
  3107. x-kubernetes-int-or-string: true
  3108. responseForwarding:
  3109. description: ResponseForwarding defines how Traefik forwards
  3110. the response from the upstream Kubernetes Service to the
  3111. client.
  3112. properties:
  3113. flushInterval:
  3114. description: 'FlushInterval defines the interval, in milliseconds,
  3115. in between flushes to the client while copying the response
  3116. body. A negative value means to flush immediately after
  3117. each write to the client. This configuration is ignored
  3118. when ReverseProxy recognizes a response as a streaming
  3119. response; for such responses, writes are flushed to
  3120. the client immediately. Default: 100ms'
  3121. type: string
  3122. type: object
  3123. scheme:
  3124. description: Scheme defines the scheme to use for the request
  3125. to the upstream Kubernetes Service. It defaults to https
  3126. when Kubernetes Service port is 443, http otherwise.
  3127. type: string
  3128. serversTransport:
  3129. description: ServersTransport defines the name of ServersTransport
  3130. resource to use. It allows to configure the transport between
  3131. Traefik and your servers. Can only be used on a Kubernetes
  3132. Service.
  3133. type: string
  3134. sticky:
  3135. description: 'Sticky defines the sticky sessions configuration.
  3136. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  3137. properties:
  3138. cookie:
  3139. description: Cookie defines the sticky cookie configuration.
  3140. properties:
  3141. httpOnly:
  3142. description: HTTPOnly defines whether the cookie can
  3143. be accessed by client-side APIs, such as JavaScript.
  3144. type: boolean
  3145. name:
  3146. description: Name defines the Cookie name.
  3147. type: string
  3148. sameSite:
  3149. description: 'SameSite defines the same site policy.
  3150. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  3151. type: string
  3152. secure:
  3153. description: Secure defines whether the cookie can
  3154. only be transmitted over an encrypted connection
  3155. (i.e. HTTPS).
  3156. type: boolean
  3157. type: object
  3158. type: object
  3159. strategy:
  3160. description: Strategy defines the load balancing strategy
  3161. between the servers. RoundRobin is the only supported value
  3162. at the moment.
  3163. type: string
  3164. weight:
  3165. description: Weight defines the weight and should only be
  3166. specified when Name references a TraefikService object (and
  3167. to be precise, one that embeds a Weighted Round Robin).
  3168. type: integer
  3169. required:
  3170. - name
  3171. type: object
  3172. status:
  3173. description: Status defines which status or range of statuses
  3174. should result in an error page. It can be either a status code
  3175. as a number (500), as multiple comma-separated numbers (500,502),
  3176. as ranges by separating two codes with a dash (500-599), or
  3177. a combination of the two (404,418,500-599).
  3178. items:
  3179. type: string
  3180. type: array
  3181. type: object
  3182. forwardAuth:
  3183. description: 'ForwardAuth holds the forward auth middleware configuration.
  3184. This middleware delegates the request authentication to a Service.
  3185. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/'
  3186. properties:
  3187. address:
  3188. description: Address defines the authentication server address.
  3189. type: string
  3190. authRequestHeaders:
  3191. description: AuthRequestHeaders defines the list of the headers
  3192. to copy from the request to the authentication server. If not
  3193. set or empty then all request headers are passed.
  3194. items:
  3195. type: string
  3196. type: array
  3197. authResponseHeaders:
  3198. description: AuthResponseHeaders defines the list of headers to
  3199. copy from the authentication server response and set on forwarded
  3200. request, replacing any existing conflicting headers.
  3201. items:
  3202. type: string
  3203. type: array
  3204. authResponseHeadersRegex:
  3205. description: 'AuthResponseHeadersRegex defines the regex to match
  3206. headers to copy from the authentication server response and
  3207. set on forwarded request, after stripping all headers that match
  3208. the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex'
  3209. type: string
  3210. tls:
  3211. description: TLS defines the configuration used to secure the
  3212. connection to the authentication server.
  3213. properties:
  3214. caOptional:
  3215. type: boolean
  3216. caSecret:
  3217. description: CASecret is the name of the referenced Kubernetes
  3218. Secret containing the CA to validate the server certificate.
  3219. The CA certificate is extracted from key `tls.ca` or `ca.crt`.
  3220. type: string
  3221. certSecret:
  3222. description: CertSecret is the name of the referenced Kubernetes
  3223. Secret containing the client certificate. The client certificate
  3224. is extracted from the keys `tls.crt` and `tls.key`.
  3225. type: string
  3226. insecureSkipVerify:
  3227. description: InsecureSkipVerify defines whether the server
  3228. certificates should be validated.
  3229. type: boolean
  3230. type: object
  3231. trustForwardHeader:
  3232. description: 'TrustForwardHeader defines whether to trust (ie:
  3233. forward) all X-Forwarded-* headers.'
  3234. type: boolean
  3235. type: object
  3236. headers:
  3237. description: 'Headers holds the headers middleware configuration.
  3238. This middleware manages the requests and responses headers. More
  3239. info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders'
  3240. properties:
  3241. accessControlAllowCredentials:
  3242. description: AccessControlAllowCredentials defines whether the
  3243. request can include user credentials.
  3244. type: boolean
  3245. accessControlAllowHeaders:
  3246. description: AccessControlAllowHeaders defines the Access-Control-Request-Headers
  3247. values sent in preflight response.
  3248. items:
  3249. type: string
  3250. type: array
  3251. accessControlAllowMethods:
  3252. description: AccessControlAllowMethods defines the Access-Control-Request-Method
  3253. values sent in preflight response.
  3254. items:
  3255. type: string
  3256. type: array
  3257. accessControlAllowOriginList:
  3258. description: AccessControlAllowOriginList is a list of allowable
  3259. origins. Can also be a wildcard origin "*".
  3260. items:
  3261. type: string
  3262. type: array
  3263. accessControlAllowOriginListRegex:
  3264. description: AccessControlAllowOriginListRegex is a list of allowable
  3265. origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/).
  3266. items:
  3267. type: string
  3268. type: array
  3269. accessControlExposeHeaders:
  3270. description: AccessControlExposeHeaders defines the Access-Control-Expose-Headers
  3271. values sent in preflight response.
  3272. items:
  3273. type: string
  3274. type: array
  3275. accessControlMaxAge:
  3276. description: AccessControlMaxAge defines the time that a preflight
  3277. request may be cached.
  3278. format: int64
  3279. type: integer
  3280. addVaryHeader:
  3281. description: AddVaryHeader defines whether the Vary header is
  3282. automatically added/updated when the AccessControlAllowOriginList
  3283. is set.
  3284. type: boolean
  3285. allowedHosts:
  3286. description: AllowedHosts defines the fully qualified list of
  3287. allowed domain names.
  3288. items:
  3289. type: string
  3290. type: array
  3291. browserXssFilter:
  3292. description: BrowserXSSFilter defines whether to add the X-XSS-Protection
  3293. header with the value 1; mode=block.
  3294. type: boolean
  3295. contentSecurityPolicy:
  3296. description: ContentSecurityPolicy defines the Content-Security-Policy
  3297. header value.
  3298. type: string
  3299. contentTypeNosniff:
  3300. description: ContentTypeNosniff defines whether to add the X-Content-Type-Options
  3301. header with the nosniff value.
  3302. type: boolean
  3303. customBrowserXSSValue:
  3304. description: CustomBrowserXSSValue defines the X-XSS-Protection
  3305. header value. This overrides the BrowserXssFilter option.
  3306. type: string
  3307. customFrameOptionsValue:
  3308. description: CustomFrameOptionsValue defines the X-Frame-Options
  3309. header value. This overrides the FrameDeny option.
  3310. type: string
  3311. customRequestHeaders:
  3312. additionalProperties:
  3313. type: string
  3314. description: CustomRequestHeaders defines the header names and
  3315. values to apply to the request.
  3316. type: object
  3317. customResponseHeaders:
  3318. additionalProperties:
  3319. type: string
  3320. description: CustomResponseHeaders defines the header names and
  3321. values to apply to the response.
  3322. type: object
  3323. featurePolicy:
  3324. description: 'Deprecated: use PermissionsPolicy instead.'
  3325. type: string
  3326. forceSTSHeader:
  3327. description: ForceSTSHeader defines whether to add the STS header
  3328. even when the connection is HTTP.
  3329. type: boolean
  3330. frameDeny:
  3331. description: FrameDeny defines whether to add the X-Frame-Options
  3332. header with the DENY value.
  3333. type: boolean
  3334. hostsProxyHeaders:
  3335. description: HostsProxyHeaders defines the header keys that may
  3336. hold a proxied hostname value for the request.
  3337. items:
  3338. type: string
  3339. type: array
  3340. isDevelopment:
  3341. description: IsDevelopment defines whether to mitigate the unwanted
  3342. effects of the AllowedHosts, SSL, and STS options when developing.
  3343. Usually testing takes place using HTTP, not HTTPS, and on localhost,
  3344. not your production domain. If you would like your development
  3345. environment to mimic production with complete Host blocking,
  3346. SSL redirects, and STS headers, leave this as false.
  3347. type: boolean
  3348. permissionsPolicy:
  3349. description: PermissionsPolicy defines the Permissions-Policy
  3350. header value. This allows sites to control browser features.
  3351. type: string
  3352. publicKey:
  3353. description: PublicKey is the public key that implements HPKP
  3354. to prevent MITM attacks with forged certificates.
  3355. type: string
  3356. referrerPolicy:
  3357. description: ReferrerPolicy defines the Referrer-Policy header
  3358. value. This allows sites to control whether browsers forward
  3359. the Referer header to other sites.
  3360. type: string
  3361. sslForceHost:
  3362. description: 'Deprecated: use RedirectRegex instead.'
  3363. type: boolean
  3364. sslHost:
  3365. description: 'Deprecated: use RedirectRegex instead.'
  3366. type: string
  3367. sslProxyHeaders:
  3368. additionalProperties:
  3369. type: string
  3370. description: 'SSLProxyHeaders defines the header keys with associated
  3371. values that would indicate a valid HTTPS request. It can be
  3372. useful when using other proxies (example: "X-Forwarded-Proto":
  3373. "https").'
  3374. type: object
  3375. sslRedirect:
  3376. description: 'Deprecated: use EntryPoint redirection or RedirectScheme
  3377. instead.'
  3378. type: boolean
  3379. sslTemporaryRedirect:
  3380. description: 'Deprecated: use EntryPoint redirection or RedirectScheme
  3381. instead.'
  3382. type: boolean
  3383. stsIncludeSubdomains:
  3384. description: STSIncludeSubdomains defines whether the includeSubDomains
  3385. directive is appended to the Strict-Transport-Security header.
  3386. type: boolean
  3387. stsPreload:
  3388. description: STSPreload defines whether the preload flag is appended
  3389. to the Strict-Transport-Security header.
  3390. type: boolean
  3391. stsSeconds:
  3392. description: STSSeconds defines the max-age of the Strict-Transport-Security
  3393. header. If set to 0, the header is not set.
  3394. format: int64
  3395. type: integer
  3396. type: object
  3397. inFlightReq:
  3398. description: 'InFlightReq holds the in-flight request middleware configuration.
  3399. This middleware limits the number of requests being processed and
  3400. served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/'
  3401. properties:
  3402. amount:
  3403. description: Amount defines the maximum amount of allowed simultaneous
  3404. in-flight request. The middleware responds with HTTP 429 Too
  3405. Many Requests if there are already amount requests in progress
  3406. (based on the same sourceCriterion strategy).
  3407. format: int64
  3408. type: integer
  3409. sourceCriterion:
  3410. description: 'SourceCriterion defines what criterion is used to
  3411. group requests as originating from a common source. If several
  3412. strategies are defined at the same time, an error will be raised.
  3413. If none are set, the default is to use the requestHost. More
  3414. info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/#sourcecriterion'
  3415. properties:
  3416. ipStrategy:
  3417. description: 'IPStrategy holds the IP strategy configuration
  3418. used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'
  3419. properties:
  3420. depth:
  3421. description: Depth tells Traefik to use the X-Forwarded-For
  3422. header and take the IP located at the depth position
  3423. (starting from the right).
  3424. type: integer
  3425. excludedIPs:
  3426. description: ExcludedIPs configures Traefik to scan the
  3427. X-Forwarded-For header and select the first IP not in
  3428. the list.
  3429. items:
  3430. type: string
  3431. type: array
  3432. type: object
  3433. requestHeaderName:
  3434. description: RequestHeaderName defines the name of the header
  3435. used to group incoming requests.
  3436. type: string
  3437. requestHost:
  3438. description: RequestHost defines whether to consider the request
  3439. Host as the source.
  3440. type: boolean
  3441. type: object
  3442. type: object
  3443. ipWhiteList:
  3444. description: 'IPWhiteList holds the IP whitelist middleware configuration.
  3445. This middleware accepts / refuses requests based on the client IP.
  3446. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/'
  3447. properties:
  3448. ipStrategy:
  3449. description: 'IPStrategy holds the IP strategy configuration used
  3450. by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'
  3451. properties:
  3452. depth:
  3453. description: Depth tells Traefik to use the X-Forwarded-For
  3454. header and take the IP located at the depth position (starting
  3455. from the right).
  3456. type: integer
  3457. excludedIPs:
  3458. description: ExcludedIPs configures Traefik to scan the X-Forwarded-For
  3459. header and select the first IP not in the list.
  3460. items:
  3461. type: string
  3462. type: array
  3463. type: object
  3464. sourceRange:
  3465. description: SourceRange defines the set of allowed IPs (or ranges
  3466. of allowed IPs by using CIDR notation).
  3467. items:
  3468. type: string
  3469. type: array
  3470. type: object
  3471. passTLSClientCert:
  3472. description: 'PassTLSClientCert holds the pass TLS client cert middleware
  3473. configuration. This middleware adds the selected data from the passed
  3474. client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/'
  3475. properties:
  3476. info:
  3477. description: Info selects the specific client certificate details
  3478. you want to add to the X-Forwarded-Tls-Client-Cert-Info header.
  3479. properties:
  3480. issuer:
  3481. description: Issuer defines the client certificate issuer
  3482. details to add to the X-Forwarded-Tls-Client-Cert-Info header.
  3483. properties:
  3484. commonName:
  3485. description: CommonName defines whether to add the organizationalUnit
  3486. information into the issuer.
  3487. type: boolean
  3488. country:
  3489. description: Country defines whether to add the country
  3490. information into the issuer.
  3491. type: boolean
  3492. domainComponent:
  3493. description: DomainComponent defines whether to add the
  3494. domainComponent information into the issuer.
  3495. type: boolean
  3496. locality:
  3497. description: Locality defines whether to add the locality
  3498. information into the issuer.
  3499. type: boolean
  3500. organization:
  3501. description: Organization defines whether to add the organization
  3502. information into the issuer.
  3503. type: boolean
  3504. province:
  3505. description: Province defines whether to add the province
  3506. information into the issuer.
  3507. type: boolean
  3508. serialNumber:
  3509. description: SerialNumber defines whether to add the serialNumber
  3510. information into the issuer.
  3511. type: boolean
  3512. type: object
  3513. notAfter:
  3514. description: NotAfter defines whether to add the Not After
  3515. information from the Validity part.
  3516. type: boolean
  3517. notBefore:
  3518. description: NotBefore defines whether to add the Not Before
  3519. information from the Validity part.
  3520. type: boolean
  3521. sans:
  3522. description: Sans defines whether to add the Subject Alternative
  3523. Name information from the Subject Alternative Name part.
  3524. type: boolean
  3525. serialNumber:
  3526. description: SerialNumber defines whether to add the client
  3527. serialNumber information.
  3528. type: boolean
  3529. subject:
  3530. description: Subject defines the client certificate subject
  3531. details to add to the X-Forwarded-Tls-Client-Cert-Info header.
  3532. properties:
  3533. commonName:
  3534. description: CommonName defines whether to add the organizationalUnit
  3535. information into the subject.
  3536. type: boolean
  3537. country:
  3538. description: Country defines whether to add the country
  3539. information into the subject.
  3540. type: boolean
  3541. domainComponent:
  3542. description: DomainComponent defines whether to add the
  3543. domainComponent information into the subject.
  3544. type: boolean
  3545. locality:
  3546. description: Locality defines whether to add the locality
  3547. information into the subject.
  3548. type: boolean
  3549. organization:
  3550. description: Organization defines whether to add the organization
  3551. information into the subject.
  3552. type: boolean
  3553. organizationalUnit:
  3554. description: OrganizationalUnit defines whether to add
  3555. the organizationalUnit information into the subject.
  3556. type: boolean
  3557. province:
  3558. description: Province defines whether to add the province
  3559. information into the subject.
  3560. type: boolean
  3561. serialNumber:
  3562. description: SerialNumber defines whether to add the serialNumber
  3563. information into the subject.
  3564. type: boolean
  3565. type: object
  3566. type: object
  3567. pem:
  3568. description: PEM sets the X-Forwarded-Tls-Client-Cert header with
  3569. the certificate.
  3570. type: boolean
  3571. type: object
  3572. plugin:
  3573. additionalProperties:
  3574. x-kubernetes-preserve-unknown-fields: true
  3575. description: 'Plugin defines the middleware plugin configuration.
  3576. More info: https://doc.traefik.io/traefik/plugins/'
  3577. type: object
  3578. rateLimit:
  3579. description: 'RateLimit holds the rate limit configuration. This middleware
  3580. ensures that services will receive a fair amount of requests, and
  3581. allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/'
  3582. properties:
  3583. average:
  3584. description: Average is the maximum rate, by default in requests/s,
  3585. allowed for the given source. It defaults to 0, which means
  3586. no rate limiting. The rate is actually defined by dividing Average
  3587. by Period. So for a rate below 1req/s, one needs to define a
  3588. Period larger than a second.
  3589. format: int64
  3590. type: integer
  3591. burst:
  3592. description: Burst is the maximum number of requests allowed to
  3593. arrive in the same arbitrarily small period of time. It defaults
  3594. to 1.
  3595. format: int64
  3596. type: integer
  3597. period:
  3598. anyOf:
  3599. - type: integer
  3600. - type: string
  3601. description: 'Period, in combination with Average, defines the
  3602. actual maximum rate, such as: r = Average / Period. It defaults
  3603. to a second.'
  3604. x-kubernetes-int-or-string: true
  3605. sourceCriterion:
  3606. description: SourceCriterion defines what criterion is used to
  3607. group requests as originating from a common source. If several
  3608. strategies are defined at the same time, an error will be raised.
  3609. If none are set, the default is to use the request's remote
  3610. address field (as an ipStrategy).
  3611. properties:
  3612. ipStrategy:
  3613. description: 'IPStrategy holds the IP strategy configuration
  3614. used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'
  3615. properties:
  3616. depth:
  3617. description: Depth tells Traefik to use the X-Forwarded-For
  3618. header and take the IP located at the depth position
  3619. (starting from the right).
  3620. type: integer
  3621. excludedIPs:
  3622. description: ExcludedIPs configures Traefik to scan the
  3623. X-Forwarded-For header and select the first IP not in
  3624. the list.
  3625. items:
  3626. type: string
  3627. type: array
  3628. type: object
  3629. requestHeaderName:
  3630. description: RequestHeaderName defines the name of the header
  3631. used to group incoming requests.
  3632. type: string
  3633. requestHost:
  3634. description: RequestHost defines whether to consider the request
  3635. Host as the source.
  3636. type: boolean
  3637. type: object
  3638. type: object
  3639. redirectRegex:
  3640. description: 'RedirectRegex holds the redirect regex middleware configuration.
  3641. This middleware redirects a request using regex matching and replacement.
  3642. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex'
  3643. properties:
  3644. permanent:
  3645. description: Permanent defines whether the redirection is permanent
  3646. (301).
  3647. type: boolean
  3648. regex:
  3649. description: Regex defines the regex used to match and capture
  3650. elements from the request URL.
  3651. type: string
  3652. replacement:
  3653. description: Replacement defines how to modify the URL to have
  3654. the new target URL.
  3655. type: string
  3656. type: object
  3657. redirectScheme:
  3658. description: 'RedirectScheme holds the redirect scheme middleware
  3659. configuration. This middleware redirects requests from a scheme/port
  3660. to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/'
  3661. properties:
  3662. permanent:
  3663. description: Permanent defines whether the redirection is permanent
  3664. (301).
  3665. type: boolean
  3666. port:
  3667. description: Port defines the port of the new URL.
  3668. type: string
  3669. scheme:
  3670. description: Scheme defines the scheme of the new URL.
  3671. type: string
  3672. type: object
  3673. replacePath:
  3674. description: 'ReplacePath holds the replace path middleware configuration.
  3675. This middleware replaces the path of the request URL and store the
  3676. original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/'
  3677. properties:
  3678. path:
  3679. description: Path defines the path to use as replacement in the
  3680. request URL.
  3681. type: string
  3682. type: object
  3683. replacePathRegex:
  3684. description: 'ReplacePathRegex holds the replace path regex middleware
  3685. configuration. This middleware replaces the path of a URL using
  3686. regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/'
  3687. properties:
  3688. regex:
  3689. description: Regex defines the regular expression used to match
  3690. and capture the path from the request URL.
  3691. type: string
  3692. replacement:
  3693. description: Replacement defines the replacement path format,
  3694. which can include captured variables.
  3695. type: string
  3696. type: object
  3697. retry:
  3698. description: 'Retry holds the retry middleware configuration. This
  3699. middleware reissues requests a given number of times to a backend
  3700. server if that server does not reply. As soon as the server answers,
  3701. the middleware stops retrying, regardless of the response status.
  3702. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/'
  3703. properties:
  3704. attempts:
  3705. description: Attempts defines how many times the request should
  3706. be retried.
  3707. type: integer
  3708. initialInterval:
  3709. anyOf:
  3710. - type: integer
  3711. - type: string
  3712. description: InitialInterval defines the first wait time in the
  3713. exponential backoff series. The maximum interval is calculated
  3714. as twice the initialInterval. If unspecified, requests will
  3715. be retried immediately. The value of initialInterval should
  3716. be provided in seconds or as a valid duration format, see https://pkg.go.dev/time#ParseDuration.
  3717. x-kubernetes-int-or-string: true
  3718. type: object
  3719. stripPrefix:
  3720. description: 'StripPrefix holds the strip prefix middleware configuration.
  3721. This middleware removes the specified prefixes from the URL path.
  3722. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/'
  3723. properties:
  3724. forceSlash:
  3725. description: 'ForceSlash ensures that the resulting stripped path
  3726. is not the empty string, by replacing it with / when necessary.
  3727. Default: true.'
  3728. type: boolean
  3729. prefixes:
  3730. description: Prefixes defines the prefixes to strip from the request
  3731. URL.
  3732. items:
  3733. type: string
  3734. type: array
  3735. type: object
  3736. stripPrefixRegex:
  3737. description: 'StripPrefixRegex holds the strip prefix regex middleware
  3738. configuration. This middleware removes the matching prefixes from
  3739. the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/'
  3740. properties:
  3741. regex:
  3742. description: Regex defines the regular expression to match the
  3743. path prefix from the request URL.
  3744. items:
  3745. type: string
  3746. type: array
  3747. type: object
  3748. type: object
  3749. required:
  3750. - metadata
  3751. - spec
  3752. type: object
  3753. served: true
  3754. storage: true
  3755. ---
  3756. apiVersion: apiextensions.k8s.io/v1
  3757. kind: CustomResourceDefinition
  3758. metadata:
  3759. annotations:
  3760. controller-gen.kubebuilder.io/version: v0.13.0
  3761. name: middlewaretcps.traefik.containo.us
  3762. spec:
  3763. group: traefik.containo.us
  3764. names:
  3765. kind: MiddlewareTCP
  3766. listKind: MiddlewareTCPList
  3767. plural: middlewaretcps
  3768. singular: middlewaretcp
  3769. scope: Namespaced
  3770. versions:
  3771. - name: v1alpha1
  3772. schema:
  3773. openAPIV3Schema:
  3774. description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
  3775. More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/'
  3776. properties:
  3777. apiVersion:
  3778. description: 'APIVersion defines the versioned schema of this representation
  3779. of an object. Servers should convert recognized schemas to the latest
  3780. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3781. type: string
  3782. kind:
  3783. description: 'Kind is a string value representing the REST resource this
  3784. object represents. Servers may infer this from the endpoint the client
  3785. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3786. type: string
  3787. metadata:
  3788. type: object
  3789. spec:
  3790. description: MiddlewareTCPSpec defines the desired state of a MiddlewareTCP.
  3791. properties:
  3792. inFlightConn:
  3793. description: InFlightConn defines the InFlightConn middleware configuration.
  3794. properties:
  3795. amount:
  3796. description: Amount defines the maximum amount of allowed simultaneous
  3797. connections. The middleware closes the connection if there are
  3798. already amount connections opened.
  3799. format: int64
  3800. type: integer
  3801. type: object
  3802. ipWhiteList:
  3803. description: IPWhiteList defines the IPWhiteList middleware configuration.
  3804. properties:
  3805. sourceRange:
  3806. description: SourceRange defines the allowed IPs (or ranges of
  3807. allowed IPs by using CIDR notation).
  3808. items:
  3809. type: string
  3810. type: array
  3811. type: object
  3812. type: object
  3813. required:
  3814. - metadata
  3815. - spec
  3816. type: object
  3817. served: true
  3818. storage: true
  3819. ---
  3820. apiVersion: apiextensions.k8s.io/v1
  3821. kind: CustomResourceDefinition
  3822. metadata:
  3823. annotations:
  3824. controller-gen.kubebuilder.io/version: v0.13.0
  3825. name: serverstransports.traefik.containo.us
  3826. spec:
  3827. group: traefik.containo.us
  3828. names:
  3829. kind: ServersTransport
  3830. listKind: ServersTransportList
  3831. plural: serverstransports
  3832. singular: serverstransport
  3833. scope: Namespaced
  3834. versions:
  3835. - name: v1alpha1
  3836. schema:
  3837. openAPIV3Schema:
  3838. description: 'ServersTransport is the CRD implementation of a ServersTransport.
  3839. If no serversTransport is specified, the default@internal will be used.
  3840. The default@internal serversTransport is created from the static configuration.
  3841. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1'
  3842. properties:
  3843. apiVersion:
  3844. description: 'APIVersion defines the versioned schema of this representation
  3845. of an object. Servers should convert recognized schemas to the latest
  3846. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3847. type: string
  3848. kind:
  3849. description: 'Kind is a string value representing the REST resource this
  3850. object represents. Servers may infer this from the endpoint the client
  3851. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3852. type: string
  3853. metadata:
  3854. type: object
  3855. spec:
  3856. description: ServersTransportSpec defines the desired state of a ServersTransport.
  3857. properties:
  3858. certificatesSecrets:
  3859. description: CertificatesSecrets defines a list of secret storing
  3860. client certificates for mTLS.
  3861. items:
  3862. type: string
  3863. type: array
  3864. disableHTTP2:
  3865. description: DisableHTTP2 disables HTTP/2 for connections with backend
  3866. servers.
  3867. type: boolean
  3868. forwardingTimeouts:
  3869. description: ForwardingTimeouts defines the timeouts for requests
  3870. forwarded to the backend servers.
  3871. properties:
  3872. dialTimeout:
  3873. anyOf:
  3874. - type: integer
  3875. - type: string
  3876. description: DialTimeout is the amount of time to wait until a
  3877. connection to a backend server can be established.
  3878. x-kubernetes-int-or-string: true
  3879. idleConnTimeout:
  3880. anyOf:
  3881. - type: integer
  3882. - type: string
  3883. description: IdleConnTimeout is the maximum period for which an
  3884. idle HTTP keep-alive connection will remain open before closing
  3885. itself.
  3886. x-kubernetes-int-or-string: true
  3887. pingTimeout:
  3888. anyOf:
  3889. - type: integer
  3890. - type: string
  3891. description: PingTimeout is the timeout after which the HTTP/2
  3892. connection will be closed if a response to ping is not received.
  3893. x-kubernetes-int-or-string: true
  3894. readIdleTimeout:
  3895. anyOf:
  3896. - type: integer
  3897. - type: string
  3898. description: ReadIdleTimeout is the timeout after which a health
  3899. check using ping frame will be carried out if no frame is received
  3900. on the HTTP/2 connection.
  3901. x-kubernetes-int-or-string: true
  3902. responseHeaderTimeout:
  3903. anyOf:
  3904. - type: integer
  3905. - type: string
  3906. description: ResponseHeaderTimeout is the amount of time to wait
  3907. for a server's response headers after fully writing the request
  3908. (including its body, if any).
  3909. x-kubernetes-int-or-string: true
  3910. type: object
  3911. insecureSkipVerify:
  3912. description: InsecureSkipVerify disables SSL certificate verification.
  3913. type: boolean
  3914. maxIdleConnsPerHost:
  3915. description: MaxIdleConnsPerHost controls the maximum idle (keep-alive)
  3916. to keep per-host.
  3917. type: integer
  3918. peerCertURI:
  3919. description: PeerCertURI defines the peer cert URI used to match against
  3920. SAN URI during the peer certificate verification.
  3921. type: string
  3922. rootCAsSecrets:
  3923. description: RootCAsSecrets defines a list of CA secret used to validate
  3924. self-signed certificate.
  3925. items:
  3926. type: string
  3927. type: array
  3928. serverName:
  3929. description: ServerName defines the server name used to contact the
  3930. server.
  3931. type: string
  3932. type: object
  3933. required:
  3934. - metadata
  3935. - spec
  3936. type: object
  3937. served: true
  3938. storage: true
  3939. ---
  3940. apiVersion: apiextensions.k8s.io/v1
  3941. kind: CustomResourceDefinition
  3942. metadata:
  3943. annotations:
  3944. controller-gen.kubebuilder.io/version: v0.13.0
  3945. name: tlsoptions.traefik.containo.us
  3946. spec:
  3947. group: traefik.containo.us
  3948. names:
  3949. kind: TLSOption
  3950. listKind: TLSOptionList
  3951. plural: tlsoptions
  3952. singular: tlsoption
  3953. scope: Namespaced
  3954. versions:
  3955. - name: v1alpha1
  3956. schema:
  3957. openAPIV3Schema:
  3958. description: 'TLSOption is the CRD implementation of a Traefik TLS Option,
  3959. allowing to configure some parameters of the TLS connection. More info:
  3960. https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'
  3961. properties:
  3962. apiVersion:
  3963. description: 'APIVersion defines the versioned schema of this representation
  3964. of an object. Servers should convert recognized schemas to the latest
  3965. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3966. type: string
  3967. kind:
  3968. description: 'Kind is a string value representing the REST resource this
  3969. object represents. Servers may infer this from the endpoint the client
  3970. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3971. type: string
  3972. metadata:
  3973. type: object
  3974. spec:
  3975. description: TLSOptionSpec defines the desired state of a TLSOption.
  3976. properties:
  3977. alpnProtocols:
  3978. description: 'ALPNProtocols defines the list of supported application
  3979. level protocols for the TLS handshake, in order of preference. More
  3980. info: https://doc.traefik.io/traefik/v2.10/https/tls/#alpn-protocols'
  3981. items:
  3982. type: string
  3983. type: array
  3984. cipherSuites:
  3985. description: 'CipherSuites defines the list of supported cipher suites
  3986. for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites'
  3987. items:
  3988. type: string
  3989. type: array
  3990. clientAuth:
  3991. description: ClientAuth defines the server's policy for TLS Client
  3992. Authentication.
  3993. properties:
  3994. clientAuthType:
  3995. description: ClientAuthType defines the client authentication
  3996. type to apply.
  3997. enum:
  3998. - NoClientCert
  3999. - RequestClientCert
  4000. - RequireAnyClientCert
  4001. - VerifyClientCertIfGiven
  4002. - RequireAndVerifyClientCert
  4003. type: string
  4004. secretNames:
  4005. description: SecretNames defines the names of the referenced Kubernetes
  4006. Secret storing certificate details.
  4007. items:
  4008. type: string
  4009. type: array
  4010. type: object
  4011. curvePreferences:
  4012. description: 'CurvePreferences defines the preferred elliptic curves
  4013. in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences'
  4014. items:
  4015. type: string
  4016. type: array
  4017. maxVersion:
  4018. description: 'MaxVersion defines the maximum TLS version that Traefik
  4019. will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,
  4020. VersionTLS13. Default: None.'
  4021. type: string
  4022. minVersion:
  4023. description: 'MinVersion defines the minimum TLS version that Traefik
  4024. will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,
  4025. VersionTLS13. Default: VersionTLS10.'
  4026. type: string
  4027. preferServerCipherSuites:
  4028. description: 'PreferServerCipherSuites defines whether the server
  4029. chooses a cipher suite among his own instead of among the client''s.
  4030. It is enabled automatically when minVersion or maxVersion is set.
  4031. Deprecated: https://github.com/golang/go/issues/45430'
  4032. type: boolean
  4033. sniStrict:
  4034. description: SniStrict defines whether Traefik allows connections
  4035. from clients connections that do not specify a server_name extension.
  4036. type: boolean
  4037. type: object
  4038. required:
  4039. - metadata
  4040. - spec
  4041. type: object
  4042. served: true
  4043. storage: true
  4044. ---
  4045. apiVersion: apiextensions.k8s.io/v1
  4046. kind: CustomResourceDefinition
  4047. metadata:
  4048. annotations:
  4049. controller-gen.kubebuilder.io/version: v0.13.0
  4050. name: tlsstores.traefik.containo.us
  4051. spec:
  4052. group: traefik.containo.us
  4053. names:
  4054. kind: TLSStore
  4055. listKind: TLSStoreList
  4056. plural: tlsstores
  4057. singular: tlsstore
  4058. scope: Namespaced
  4059. versions:
  4060. - name: v1alpha1
  4061. schema:
  4062. openAPIV3Schema:
  4063. description: 'TLSStore is the CRD implementation of a Traefik TLS Store. For
  4064. the time being, only the TLSStore named default is supported. This means
  4065. that you cannot have two stores that are named default in different Kubernetes
  4066. namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores'
  4067. properties:
  4068. apiVersion:
  4069. description: 'APIVersion defines the versioned schema of this representation
  4070. of an object. Servers should convert recognized schemas to the latest
  4071. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4072. type: string
  4073. kind:
  4074. description: 'Kind is a string value representing the REST resource this
  4075. object represents. Servers may infer this from the endpoint the client
  4076. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4077. type: string
  4078. metadata:
  4079. type: object
  4080. spec:
  4081. description: TLSStoreSpec defines the desired state of a TLSStore.
  4082. properties:
  4083. certificates:
  4084. description: Certificates is a list of secret names, each secret holding
  4085. a key/certificate pair to add to the store.
  4086. items:
  4087. description: Certificate holds a secret name for the TLSStore resource.
  4088. properties:
  4089. secretName:
  4090. description: SecretName is the name of the referenced Kubernetes
  4091. Secret to specify the certificate details.
  4092. type: string
  4093. required:
  4094. - secretName
  4095. type: object
  4096. type: array
  4097. defaultCertificate:
  4098. description: DefaultCertificate defines the default certificate configuration.
  4099. properties:
  4100. secretName:
  4101. description: SecretName is the name of the referenced Kubernetes
  4102. Secret to specify the certificate details.
  4103. type: string
  4104. required:
  4105. - secretName
  4106. type: object
  4107. defaultGeneratedCert:
  4108. description: DefaultGeneratedCert defines the default generated certificate
  4109. configuration.
  4110. properties:
  4111. domain:
  4112. description: Domain is the domain definition for the DefaultCertificate.
  4113. properties:
  4114. main:
  4115. description: Main defines the main domain name.
  4116. type: string
  4117. sans:
  4118. description: SANs defines the subject alternative domain names.
  4119. items:
  4120. type: string
  4121. type: array
  4122. type: object
  4123. resolver:
  4124. description: Resolver is the name of the resolver that will be
  4125. used to issue the DefaultCertificate.
  4126. type: string
  4127. type: object
  4128. type: object
  4129. required:
  4130. - metadata
  4131. - spec
  4132. type: object
  4133. served: true
  4134. storage: true
  4135. ---
  4136. apiVersion: apiextensions.k8s.io/v1
  4137. kind: CustomResourceDefinition
  4138. metadata:
  4139. annotations:
  4140. controller-gen.kubebuilder.io/version: v0.13.0
  4141. name: traefikservices.traefik.containo.us
  4142. spec:
  4143. group: traefik.containo.us
  4144. names:
  4145. kind: TraefikService
  4146. listKind: TraefikServiceList
  4147. plural: traefikservices
  4148. singular: traefikservice
  4149. scope: Namespaced
  4150. versions:
  4151. - name: v1alpha1
  4152. schema:
  4153. openAPIV3Schema:
  4154. description: 'TraefikService is the CRD implementation of a Traefik Service.
  4155. TraefikService object allows to: - Apply weight to Services on load-balancing
  4156. - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice'
  4157. properties:
  4158. apiVersion:
  4159. description: 'APIVersion defines the versioned schema of this representation
  4160. of an object. Servers should convert recognized schemas to the latest
  4161. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4162. type: string
  4163. kind:
  4164. description: 'Kind is a string value representing the REST resource this
  4165. object represents. Servers may infer this from the endpoint the client
  4166. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4167. type: string
  4168. metadata:
  4169. type: object
  4170. spec:
  4171. description: TraefikServiceSpec defines the desired state of a TraefikService.
  4172. properties:
  4173. mirroring:
  4174. description: Mirroring defines the Mirroring service configuration.
  4175. properties:
  4176. kind:
  4177. description: Kind defines the kind of the Service.
  4178. enum:
  4179. - Service
  4180. - TraefikService
  4181. type: string
  4182. maxBodySize:
  4183. description: MaxBodySize defines the maximum size allowed for
  4184. the body of the request. If the body is larger, the request
  4185. is not mirrored. Default value is -1, which means unlimited
  4186. size.
  4187. format: int64
  4188. type: integer
  4189. mirrors:
  4190. description: Mirrors defines the list of mirrors where Traefik
  4191. will duplicate the traffic.
  4192. items:
  4193. description: MirrorService holds the mirror configuration.
  4194. properties:
  4195. kind:
  4196. description: Kind defines the kind of the Service.
  4197. enum:
  4198. - Service
  4199. - TraefikService
  4200. type: string
  4201. name:
  4202. description: Name defines the name of the referenced Kubernetes
  4203. Service or TraefikService. The differentiation between
  4204. the two is specified in the Kind field.
  4205. type: string
  4206. namespace:
  4207. description: Namespace defines the namespace of the referenced
  4208. Kubernetes Service or TraefikService.
  4209. type: string
  4210. nativeLB:
  4211. description: NativeLB controls, when creating the load-balancer,
  4212. whether the LB's children are directly the pods IPs or
  4213. if the only child is the Kubernetes Service clusterIP.
  4214. The Kubernetes Service itself does load-balance to the
  4215. pods. By default, NativeLB is false.
  4216. type: boolean
  4217. passHostHeader:
  4218. description: PassHostHeader defines whether the client Host
  4219. header is forwarded to the upstream Kubernetes Service.
  4220. By default, passHostHeader is true.
  4221. type: boolean
  4222. percent:
  4223. description: 'Percent defines the part of the traffic to
  4224. mirror. Supported values: 0 to 100.'
  4225. type: integer
  4226. port:
  4227. anyOf:
  4228. - type: integer
  4229. - type: string
  4230. description: Port defines the port of a Kubernetes Service.
  4231. This can be a reference to a named port.
  4232. x-kubernetes-int-or-string: true
  4233. responseForwarding:
  4234. description: ResponseForwarding defines how Traefik forwards
  4235. the response from the upstream Kubernetes Service to the
  4236. client.
  4237. properties:
  4238. flushInterval:
  4239. description: 'FlushInterval defines the interval, in
  4240. milliseconds, in between flushes to the client while
  4241. copying the response body. A negative value means
  4242. to flush immediately after each write to the client.
  4243. This configuration is ignored when ReverseProxy recognizes
  4244. a response as a streaming response; for such responses,
  4245. writes are flushed to the client immediately. Default:
  4246. 100ms'
  4247. type: string
  4248. type: object
  4249. scheme:
  4250. description: Scheme defines the scheme to use for the request
  4251. to the upstream Kubernetes Service. It defaults to https
  4252. when Kubernetes Service port is 443, http otherwise.
  4253. type: string
  4254. serversTransport:
  4255. description: ServersTransport defines the name of ServersTransport
  4256. resource to use. It allows to configure the transport
  4257. between Traefik and your servers. Can only be used on
  4258. a Kubernetes Service.
  4259. type: string
  4260. sticky:
  4261. description: 'Sticky defines the sticky sessions configuration.
  4262. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  4263. properties:
  4264. cookie:
  4265. description: Cookie defines the sticky cookie configuration.
  4266. properties:
  4267. httpOnly:
  4268. description: HTTPOnly defines whether the cookie
  4269. can be accessed by client-side APIs, such as JavaScript.
  4270. type: boolean
  4271. name:
  4272. description: Name defines the Cookie name.
  4273. type: string
  4274. sameSite:
  4275. description: 'SameSite defines the same site policy.
  4276. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  4277. type: string
  4278. secure:
  4279. description: Secure defines whether the cookie can
  4280. only be transmitted over an encrypted connection
  4281. (i.e. HTTPS).
  4282. type: boolean
  4283. type: object
  4284. type: object
  4285. strategy:
  4286. description: Strategy defines the load balancing strategy
  4287. between the servers. RoundRobin is the only supported
  4288. value at the moment.
  4289. type: string
  4290. weight:
  4291. description: Weight defines the weight and should only be
  4292. specified when Name references a TraefikService object
  4293. (and to be precise, one that embeds a Weighted Round Robin).
  4294. type: integer
  4295. required:
  4296. - name
  4297. type: object
  4298. type: array
  4299. name:
  4300. description: Name defines the name of the referenced Kubernetes
  4301. Service or TraefikService. The differentiation between the two
  4302. is specified in the Kind field.
  4303. type: string
  4304. namespace:
  4305. description: Namespace defines the namespace of the referenced
  4306. Kubernetes Service or TraefikService.
  4307. type: string
  4308. nativeLB:
  4309. description: NativeLB controls, when creating the load-balancer,
  4310. whether the LB's children are directly the pods IPs or if the
  4311. only child is the Kubernetes Service clusterIP. The Kubernetes
  4312. Service itself does load-balance to the pods. By default, NativeLB
  4313. is false.
  4314. type: boolean
  4315. passHostHeader:
  4316. description: PassHostHeader defines whether the client Host header
  4317. is forwarded to the upstream Kubernetes Service. By default,
  4318. passHostHeader is true.
  4319. type: boolean
  4320. port:
  4321. anyOf:
  4322. - type: integer
  4323. - type: string
  4324. description: Port defines the port of a Kubernetes Service. This
  4325. can be a reference to a named port.
  4326. x-kubernetes-int-or-string: true
  4327. responseForwarding:
  4328. description: ResponseForwarding defines how Traefik forwards the
  4329. response from the upstream Kubernetes Service to the client.
  4330. properties:
  4331. flushInterval:
  4332. description: 'FlushInterval defines the interval, in milliseconds,
  4333. in between flushes to the client while copying the response
  4334. body. A negative value means to flush immediately after
  4335. each write to the client. This configuration is ignored
  4336. when ReverseProxy recognizes a response as a streaming response;
  4337. for such responses, writes are flushed to the client immediately.
  4338. Default: 100ms'
  4339. type: string
  4340. type: object
  4341. scheme:
  4342. description: Scheme defines the scheme to use for the request
  4343. to the upstream Kubernetes Service. It defaults to https when
  4344. Kubernetes Service port is 443, http otherwise.
  4345. type: string
  4346. serversTransport:
  4347. description: ServersTransport defines the name of ServersTransport
  4348. resource to use. It allows to configure the transport between
  4349. Traefik and your servers. Can only be used on a Kubernetes Service.
  4350. type: string
  4351. sticky:
  4352. description: 'Sticky defines the sticky sessions configuration.
  4353. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  4354. properties:
  4355. cookie:
  4356. description: Cookie defines the sticky cookie configuration.
  4357. properties:
  4358. httpOnly:
  4359. description: HTTPOnly defines whether the cookie can be
  4360. accessed by client-side APIs, such as JavaScript.
  4361. type: boolean
  4362. name:
  4363. description: Name defines the Cookie name.
  4364. type: string
  4365. sameSite:
  4366. description: 'SameSite defines the same site policy. More
  4367. info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  4368. type: string
  4369. secure:
  4370. description: Secure defines whether the cookie can only
  4371. be transmitted over an encrypted connection (i.e. HTTPS).
  4372. type: boolean
  4373. type: object
  4374. type: object
  4375. strategy:
  4376. description: Strategy defines the load balancing strategy between
  4377. the servers. RoundRobin is the only supported value at the moment.
  4378. type: string
  4379. weight:
  4380. description: Weight defines the weight and should only be specified
  4381. when Name references a TraefikService object (and to be precise,
  4382. one that embeds a Weighted Round Robin).
  4383. type: integer
  4384. required:
  4385. - name
  4386. type: object
  4387. weighted:
  4388. description: Weighted defines the Weighted Round Robin configuration.
  4389. properties:
  4390. services:
  4391. description: Services defines the list of Kubernetes Service and/or
  4392. TraefikService to load-balance, with weight.
  4393. items:
  4394. description: Service defines an upstream HTTP service to proxy
  4395. traffic to.
  4396. properties:
  4397. kind:
  4398. description: Kind defines the kind of the Service.
  4399. enum:
  4400. - Service
  4401. - TraefikService
  4402. type: string
  4403. name:
  4404. description: Name defines the name of the referenced Kubernetes
  4405. Service or TraefikService. The differentiation between
  4406. the two is specified in the Kind field.
  4407. type: string
  4408. namespace:
  4409. description: Namespace defines the namespace of the referenced
  4410. Kubernetes Service or TraefikService.
  4411. type: string
  4412. nativeLB:
  4413. description: NativeLB controls, when creating the load-balancer,
  4414. whether the LB's children are directly the pods IPs or
  4415. if the only child is the Kubernetes Service clusterIP.
  4416. The Kubernetes Service itself does load-balance to the
  4417. pods. By default, NativeLB is false.
  4418. type: boolean
  4419. passHostHeader:
  4420. description: PassHostHeader defines whether the client Host
  4421. header is forwarded to the upstream Kubernetes Service.
  4422. By default, passHostHeader is true.
  4423. type: boolean
  4424. port:
  4425. anyOf:
  4426. - type: integer
  4427. - type: string
  4428. description: Port defines the port of a Kubernetes Service.
  4429. This can be a reference to a named port.
  4430. x-kubernetes-int-or-string: true
  4431. responseForwarding:
  4432. description: ResponseForwarding defines how Traefik forwards
  4433. the response from the upstream Kubernetes Service to the
  4434. client.
  4435. properties:
  4436. flushInterval:
  4437. description: 'FlushInterval defines the interval, in
  4438. milliseconds, in between flushes to the client while
  4439. copying the response body. A negative value means
  4440. to flush immediately after each write to the client.
  4441. This configuration is ignored when ReverseProxy recognizes
  4442. a response as a streaming response; for such responses,
  4443. writes are flushed to the client immediately. Default:
  4444. 100ms'
  4445. type: string
  4446. type: object
  4447. scheme:
  4448. description: Scheme defines the scheme to use for the request
  4449. to the upstream Kubernetes Service. It defaults to https
  4450. when Kubernetes Service port is 443, http otherwise.
  4451. type: string
  4452. serversTransport:
  4453. description: ServersTransport defines the name of ServersTransport
  4454. resource to use. It allows to configure the transport
  4455. between Traefik and your servers. Can only be used on
  4456. a Kubernetes Service.
  4457. type: string
  4458. sticky:
  4459. description: 'Sticky defines the sticky sessions configuration.
  4460. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'
  4461. properties:
  4462. cookie:
  4463. description: Cookie defines the sticky cookie configuration.
  4464. properties:
  4465. httpOnly:
  4466. description: HTTPOnly defines whether the cookie
  4467. can be accessed by client-side APIs, such as JavaScript.
  4468. type: boolean
  4469. name:
  4470. description: Name defines the Cookie name.
  4471. type: string
  4472. sameSite:
  4473. description: 'SameSite defines the same site policy.
  4474. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  4475. type: string
  4476. secure:
  4477. description: Secure defines whether the cookie can
  4478. only be transmitted over an encrypted connection
  4479. (i.e. HTTPS).
  4480. type: boolean
  4481. type: object
  4482. type: object
  4483. strategy:
  4484. description: Strategy defines the load balancing strategy
  4485. between the servers. RoundRobin is the only supported
  4486. value at the moment.
  4487. type: string
  4488. weight:
  4489. description: Weight defines the weight and should only be
  4490. specified when Name references a TraefikService object
  4491. (and to be precise, one that embeds a Weighted Round Robin).
  4492. type: integer
  4493. required:
  4494. - name
  4495. type: object
  4496. type: array
  4497. sticky:
  4498. description: 'Sticky defines whether sticky sessions are enabled.
  4499. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing'
  4500. properties:
  4501. cookie:
  4502. description: Cookie defines the sticky cookie configuration.
  4503. properties:
  4504. httpOnly:
  4505. description: HTTPOnly defines whether the cookie can be
  4506. accessed by client-side APIs, such as JavaScript.
  4507. type: boolean
  4508. name:
  4509. description: Name defines the Cookie name.
  4510. type: string
  4511. sameSite:
  4512. description: 'SameSite defines the same site policy. More
  4513. info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'
  4514. type: string
  4515. secure:
  4516. description: Secure defines whether the cookie can only
  4517. be transmitted over an encrypted connection (i.e. HTTPS).
  4518. type: boolean
  4519. type: object
  4520. type: object
  4521. type: object
  4522. type: object
  4523. required:
  4524. - metadata
  4525. - spec
  4526. type: object
  4527. served: true
  4528. storage: true