| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528 | ---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: ingressroutes.traefik.iospec:  group: traefik.io  names:    kind: IngressRoute    listKind: IngressRouteList    plural: ingressroutes    singular: ingressroute  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: IngressRoute is the CRD implementation of a Traefik HTTP Router.        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: IngressRouteSpec defines the desired state of IngressRoute.            properties:              entryPoints:                description: 'EntryPoints defines the list of entry point names to                  bind to. Entry points have to be configured in the static configuration.                  More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/                  Default: all.'                items:                  type: string                type: array              routes:                description: Routes defines the list of routes.                items:                  description: Route holds the HTTP route configuration.                  properties:                    kind:                      description: Kind defines the kind of the route. Rule is the                        only supported kind.                      enum:                      - Rule                      type: string                    match:                      description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule'                      type: string                    middlewares:                      description: 'Middlewares defines the list of references to                        Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware'                      items:                        description: MiddlewareRef is a reference to a Middleware                          resource.                        properties:                          name:                            description: Name defines the name of the referenced Middleware                              resource.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Middleware resource.                            type: string                        required:                        - name                        type: object                      type: array                    priority:                      description: 'Priority defines the router''s priority. More                        info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority'                      type: integer                    services:                      description: Services defines the list of Service. It can contain                        any combination of TraefikService and/or reference to a Kubernetes                        Service.                      items:                        description: Service defines an upstream HTTP service to proxy                          traffic to.                        properties:                          kind:                            description: Kind defines the kind of the Service.                            enum:                            - Service                            - TraefikService                            type: string                          name:                            description: Name defines the name of the referenced Kubernetes                              Service or TraefikService. The differentiation between                              the two is specified in the Kind field.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Kubernetes Service or TraefikService.                            type: string                          nativeLB:                            description: NativeLB controls, when creating the load-balancer,                              whether the LB's children are directly the pods IPs                              or if the only child is the Kubernetes Service clusterIP.                              The Kubernetes Service itself does load-balance to the                              pods. By default, NativeLB is false.                            type: boolean                          passHostHeader:                            description: PassHostHeader defines whether the client                              Host header is forwarded to the upstream Kubernetes                              Service. By default, passHostHeader is true.                            type: boolean                          port:                            anyOf:                            - type: integer                            - type: string                            description: Port defines the port of a Kubernetes Service.                              This can be a reference to a named port.                            x-kubernetes-int-or-string: true                          responseForwarding:                            description: ResponseForwarding defines how Traefik forwards                              the response from the upstream Kubernetes Service to                              the client.                            properties:                              flushInterval:                                description: 'FlushInterval defines the interval,                                  in milliseconds, in between flushes to the client                                  while copying the response body. A negative value                                  means to flush immediately after each write to the                                  client. This configuration is ignored when ReverseProxy                                  recognizes a response as a streaming response; for                                  such responses, writes are flushed to the client                                  immediately. Default: 100ms'                                type: string                            type: object                          scheme:                            description: Scheme defines the scheme to use for the                              request to the upstream Kubernetes Service. It defaults                              to https when Kubernetes Service port is 443, http otherwise.                            type: string                          serversTransport:                            description: ServersTransport defines the name of ServersTransport                              resource to use. It allows to configure the transport                              between Traefik and your servers. Can only be used on                              a Kubernetes Service.                            type: string                          sticky:                            description: 'Sticky defines the sticky sessions configuration.                              More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                            properties:                              cookie:                                description: Cookie defines the sticky cookie configuration.                                properties:                                  httpOnly:                                    description: HTTPOnly defines whether the cookie                                      can be accessed by client-side APIs, such as                                      JavaScript.                                    type: boolean                                  name:                                    description: Name defines the Cookie name.                                    type: string                                  sameSite:                                    description: 'SameSite defines the same site policy.                                      More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                    type: string                                  secure:                                    description: Secure defines whether the cookie                                      can only be transmitted over an encrypted connection                                      (i.e. HTTPS).                                    type: boolean                                type: object                            type: object                          strategy:                            description: Strategy defines the load balancing strategy                              between the servers. RoundRobin is the only supported                              value at the moment.                            type: string                          weight:                            description: Weight defines the weight and should only                              be specified when Name references a TraefikService object                              (and to be precise, one that embeds a Weighted Round                              Robin).                            type: integer                        required:                        - name                        type: object                      type: array                  required:                  - kind                  - match                  type: object                type: array              tls:                description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls'                properties:                  certResolver:                    description: 'CertResolver defines the name of the certificate                      resolver to use. Cert resolvers have to be configured in the                      static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'                    type: string                  domains:                    description: 'Domains defines the list of domains that will be                      used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'                    items:                      description: Domain holds a domain name with SANs.                      properties:                        main:                          description: Main defines the main domain name.                          type: string                        sans:                          description: SANs defines the subject alternative domain                            names.                          items:                            type: string                          type: array                      type: object                    type: array                  options:                    description: 'Options defines the reference to a TLSOption, that                      specifies the parameters of the TLS connection. If not defined,                      the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'                    properties:                      name:                        description: 'Name defines the name of the referenced TLSOption.                          More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'                        type: string                      namespace:                        description: 'Namespace defines the namespace of the referenced                          TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'                        type: string                    required:                    - name                    type: object                  secretName:                    description: SecretName is the name of the referenced Kubernetes                      Secret to specify the certificate details.                    type: string                  store:                    description: Store defines the reference to the TLSStore, that                      will be used to store certificates. Please note that only `default`                      TLSStore can be used.                    properties:                      name:                        description: 'Name defines the name of the referenced TLSStore.                          More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'                        type: string                      namespace:                        description: 'Namespace defines the namespace of the referenced                          TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'                        type: string                    required:                    - name                    type: object                type: object            required:            - routes            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: ingressroutetcps.traefik.iospec:  group: traefik.io  names:    kind: IngressRouteTCP    listKind: IngressRouteTCPList    plural: ingressroutetcps    singular: ingressroutetcp  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: IngressRouteTCP is the CRD implementation of a Traefik TCP Router.        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: IngressRouteTCPSpec defines the desired state of IngressRouteTCP.            properties:              entryPoints:                description: 'EntryPoints defines the list of entry point names to                  bind to. Entry points have to be configured in the static configuration.                  More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/                  Default: all.'                items:                  type: string                type: array              routes:                description: Routes defines the list of routes.                items:                  description: RouteTCP holds the TCP route configuration.                  properties:                    match:                      description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1'                      type: string                    middlewares:                      description: Middlewares defines the list of references to MiddlewareTCP                        resources.                      items:                        description: ObjectReference is a generic reference to a Traefik                          resource.                        properties:                          name:                            description: Name defines the name of the referenced Traefik                              resource.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Traefik resource.                            type: string                        required:                        - name                        type: object                      type: array                    priority:                      description: 'Priority defines the router''s priority. More                        info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1'                      type: integer                    services:                      description: Services defines the list of TCP services.                      items:                        description: ServiceTCP defines an upstream TCP service to                          proxy traffic to.                        properties:                          name:                            description: Name defines the name of the referenced Kubernetes                              Service.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Kubernetes Service.                            type: string                          nativeLB:                            description: NativeLB controls, when creating the load-balancer,                              whether the LB's children are directly the pods IPs                              or if the only child is the Kubernetes Service clusterIP.                              The Kubernetes Service itself does load-balance to the                              pods. By default, NativeLB is false.                            type: boolean                          port:                            anyOf:                            - type: integer                            - type: string                            description: Port defines the port of a Kubernetes Service.                              This can be a reference to a named port.                            x-kubernetes-int-or-string: true                          proxyProtocol:                            description: 'ProxyProtocol defines the PROXY protocol                              configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol'                            properties:                              version:                                description: Version defines the PROXY Protocol version                                  to use.                                type: integer                            type: object                          terminationDelay:                            description: TerminationDelay defines the deadline that                              the proxy sets, after one of its connected peers indicates                              it has closed the writing capability of its connection,                              to close the reading capability as well, hence fully                              terminating the connection. It is a duration in milliseconds,                              defaulting to 100. A negative value means an infinite                              deadline (i.e. the reading capability is never closed).                            type: integer                          weight:                            description: Weight defines the weight used when balancing                              requests between multiple Kubernetes Service.                            type: integer                        required:                        - name                        - port                        type: object                      type: array                  required:                  - match                  type: object                type: array              tls:                description: 'TLS defines the TLS configuration on a layer 4 / TCP                  Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1'                properties:                  certResolver:                    description: 'CertResolver defines the name of the certificate                      resolver to use. Cert resolvers have to be configured in the                      static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'                    type: string                  domains:                    description: 'Domains defines the list of domains that will be                      used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'                    items:                      description: Domain holds a domain name with SANs.                      properties:                        main:                          description: Main defines the main domain name.                          type: string                        sans:                          description: SANs defines the subject alternative domain                            names.                          items:                            type: string                          type: array                      type: object                    type: array                  options:                    description: 'Options defines the reference to a TLSOption, that                      specifies the parameters of the TLS connection. If not defined,                      the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'                    properties:                      name:                        description: Name defines the name of the referenced Traefik                          resource.                        type: string                      namespace:                        description: Namespace defines the namespace of the referenced                          Traefik resource.                        type: string                    required:                    - name                    type: object                  passthrough:                    description: Passthrough defines whether a TLS router will terminate                      the TLS connection.                    type: boolean                  secretName:                    description: SecretName is the name of the referenced Kubernetes                      Secret to specify the certificate details.                    type: string                  store:                    description: Store defines the reference to the TLSStore, that                      will be used to store certificates. Please note that only `default`                      TLSStore can be used.                    properties:                      name:                        description: Name defines the name of the referenced Traefik                          resource.                        type: string                      namespace:                        description: Namespace defines the namespace of the referenced                          Traefik resource.                        type: string                    required:                    - name                    type: object                type: object            required:            - routes            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: ingressrouteudps.traefik.iospec:  group: traefik.io  names:    kind: IngressRouteUDP    listKind: IngressRouteUDPList    plural: ingressrouteudps    singular: ingressrouteudp  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: IngressRouteUDP is a CRD implementation of a Traefik UDP Router.        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: IngressRouteUDPSpec defines the desired state of a IngressRouteUDP.            properties:              entryPoints:                description: 'EntryPoints defines the list of entry point names to                  bind to. Entry points have to be configured in the static configuration.                  More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/                  Default: all.'                items:                  type: string                type: array              routes:                description: Routes defines the list of routes.                items:                  description: RouteUDP holds the UDP route configuration.                  properties:                    services:                      description: Services defines the list of UDP services.                      items:                        description: ServiceUDP defines an upstream UDP service to                          proxy traffic to.                        properties:                          name:                            description: Name defines the name of the referenced Kubernetes                              Service.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Kubernetes Service.                            type: string                          nativeLB:                            description: NativeLB controls, when creating the load-balancer,                              whether the LB's children are directly the pods IPs                              or if the only child is the Kubernetes Service clusterIP.                              The Kubernetes Service itself does load-balance to the                              pods. By default, NativeLB is false.                            type: boolean                          port:                            anyOf:                            - type: integer                            - type: string                            description: Port defines the port of a Kubernetes Service.                              This can be a reference to a named port.                            x-kubernetes-int-or-string: true                          weight:                            description: Weight defines the weight used when balancing                              requests between multiple Kubernetes Service.                            type: integer                        required:                        - name                        - port                        type: object                      type: array                  type: object                type: array            required:            - routes            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: middlewares.traefik.iospec:  group: traefik.io  names:    kind: Middleware    listKind: MiddlewareList    plural: middlewares    singular: middleware  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'Middleware is the CRD implementation of a Traefik Middleware.          More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: MiddlewareSpec defines the desired state of a Middleware.            properties:              addPrefix:                description: 'AddPrefix holds the add prefix middleware configuration.                  This middleware updates the path of a request before forwarding                  it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/'                properties:                  prefix:                    description: Prefix is the string to add before the current path                      in the requested URL. It should include a leading slash (/).                    type: string                type: object              basicAuth:                description: 'BasicAuth holds the basic auth middleware configuration.                  This middleware restricts access to your services to known users.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/'                properties:                  headerField:                    description: 'HeaderField defines a header field to store the                      authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'                    type: string                  realm:                    description: 'Realm allows the protected resources on a server                      to be partitioned into a set of protection spaces, each with                      its own authentication scheme. Default: traefik.'                    type: string                  removeHeader:                    description: 'RemoveHeader sets the removeHeader option to true                      to remove the authorization header before forwarding the request                      to your service. Default: false.'                    type: boolean                  secret:                    description: Secret is the name of the referenced Kubernetes Secret                      containing user credentials.                    type: string                type: object              buffering:                description: 'Buffering holds the buffering middleware configuration.                  This middleware retries or limits the size of requests that can                  be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes'                properties:                  maxRequestBodyBytes:                    description: 'MaxRequestBodyBytes defines the maximum allowed                      body size for the request (in bytes). If the request exceeds                      the allowed size, it is not forwarded to the service, and the                      client gets a 413 (Request Entity Too Large) response. Default:                      0 (no maximum).'                    format: int64                    type: integer                  maxResponseBodyBytes:                    description: 'MaxResponseBodyBytes defines the maximum allowed                      response size from the service (in bytes). If the response exceeds                      the allowed size, it is not forwarded to the client. The client                      gets a 500 (Internal Server Error) response instead. Default:                      0 (no maximum).'                    format: int64                    type: integer                  memRequestBodyBytes:                    description: 'MemRequestBodyBytes defines the threshold (in bytes)                      from which the request will be buffered on disk instead of in                      memory. Default: 1048576 (1Mi).'                    format: int64                    type: integer                  memResponseBodyBytes:                    description: 'MemResponseBodyBytes defines the threshold (in bytes)                      from which the response will be buffered on disk instead of                      in memory. Default: 1048576 (1Mi).'                    format: int64                    type: integer                  retryExpression:                    description: 'RetryExpression defines the retry conditions. It                      is a logical combination of functions with operators AND (&&)                      and OR (||). More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#retryexpression'                    type: string                type: object              chain:                description: 'Chain holds the configuration of the chain middleware.                  This middleware enables to define reusable combinations of other                  pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/'                properties:                  middlewares:                    description: Middlewares is the list of MiddlewareRef which composes                      the chain.                    items:                      description: MiddlewareRef is a reference to a Middleware resource.                      properties:                        name:                          description: Name defines the name of the referenced Middleware                            resource.                          type: string                        namespace:                          description: Namespace defines the namespace of the referenced                            Middleware resource.                          type: string                      required:                      - name                      type: object                    type: array                type: object              circuitBreaker:                description: CircuitBreaker holds the circuit breaker configuration.                properties:                  checkPeriod:                    anyOf:                    - type: integer                    - type: string                    description: CheckPeriod is the interval between successive checks                      of the circuit breaker condition (when in standby state).                    x-kubernetes-int-or-string: true                  expression:                    description: Expression is the condition that triggers the tripped                      state.                    type: string                  fallbackDuration:                    anyOf:                    - type: integer                    - type: string                    description: FallbackDuration is the duration for which the circuit                      breaker will wait before trying to recover (from a tripped state).                    x-kubernetes-int-or-string: true                  recoveryDuration:                    anyOf:                    - type: integer                    - type: string                    description: RecoveryDuration is the duration for which the circuit                      breaker will try to recover (as soon as it is in recovering                      state).                    x-kubernetes-int-or-string: true                type: object              compress:                description: 'Compress holds the compress middleware configuration.                  This middleware compresses responses before sending them to the                  client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/'                properties:                  excludedContentTypes:                    description: ExcludedContentTypes defines the list of content                      types to compare the Content-Type header of the incoming requests                      and responses before compressing.                    items:                      type: string                    type: array                  minResponseBodyBytes:                    description: 'MinResponseBodyBytes defines the minimum amount                      of bytes a response body must have to be compressed. Default:                      1024.'                    type: integer                type: object              contentType:                description: ContentType holds the content-type middleware configuration.                  This middleware exists to enable the correct behavior until at least                  the default one can be changed in a future version.                properties:                  autoDetect:                    description: AutoDetect specifies whether to let the `Content-Type`                      header, if it has not been set by the backend, be automatically                      set to a value derived from the contents of the response. As                      a proxy, the default behavior should be to leave the header                      alone, regardless of what the backend did with it. However,                      the historic default was to always auto-detect and set the header                      if it was nil, and it is going to be kept that way in order                      to support users currently relying on it.                    type: boolean                type: object              digestAuth:                description: 'DigestAuth holds the digest auth middleware configuration.                  This middleware restricts access to your services to known users.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/'                properties:                  headerField:                    description: 'HeaderField defines a header field to store the                      authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'                    type: string                  realm:                    description: 'Realm allows the protected resources on a server                      to be partitioned into a set of protection spaces, each with                      its own authentication scheme. Default: traefik.'                    type: string                  removeHeader:                    description: RemoveHeader defines whether to remove the authorization                      header before forwarding the request to the backend.                    type: boolean                  secret:                    description: Secret is the name of the referenced Kubernetes Secret                      containing user credentials.                    type: string                type: object              errors:                description: 'ErrorPage holds the custom error middleware configuration.                  This middleware returns a custom page in lieu of the default, according                  to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/'                properties:                  query:                    description: Query defines the URL for the error page (hosted                      by service). The {status} variable can be used in order to insert                      the status code in the URL.                    type: string                  service:                    description: 'Service defines the reference to a Kubernetes Service                      that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service'                    properties:                      kind:                        description: Kind defines the kind of the Service.                        enum:                        - Service                        - TraefikService                        type: string                      name:                        description: Name defines the name of the referenced Kubernetes                          Service or TraefikService. The differentiation between the                          two is specified in the Kind field.                        type: string                      namespace:                        description: Namespace defines the namespace of the referenced                          Kubernetes Service or TraefikService.                        type: string                      nativeLB:                        description: NativeLB controls, when creating the load-balancer,                          whether the LB's children are directly the pods IPs or if                          the only child is the Kubernetes Service clusterIP. The                          Kubernetes Service itself does load-balance to the pods.                          By default, NativeLB is false.                        type: boolean                      passHostHeader:                        description: PassHostHeader defines whether the client Host                          header is forwarded to the upstream Kubernetes Service.                          By default, passHostHeader is true.                        type: boolean                      port:                        anyOf:                        - type: integer                        - type: string                        description: Port defines the port of a Kubernetes Service.                          This can be a reference to a named port.                        x-kubernetes-int-or-string: true                      responseForwarding:                        description: ResponseForwarding defines how Traefik forwards                          the response from the upstream Kubernetes Service to the                          client.                        properties:                          flushInterval:                            description: 'FlushInterval defines the interval, in milliseconds,                              in between flushes to the client while copying the response                              body. A negative value means to flush immediately after                              each write to the client. This configuration is ignored                              when ReverseProxy recognizes a response as a streaming                              response; for such responses, writes are flushed to                              the client immediately. Default: 100ms'                            type: string                        type: object                      scheme:                        description: Scheme defines the scheme to use for the request                          to the upstream Kubernetes Service. It defaults to https                          when Kubernetes Service port is 443, http otherwise.                        type: string                      serversTransport:                        description: ServersTransport defines the name of ServersTransport                          resource to use. It allows to configure the transport between                          Traefik and your servers. Can only be used on a Kubernetes                          Service.                        type: string                      sticky:                        description: 'Sticky defines the sticky sessions configuration.                          More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                        properties:                          cookie:                            description: Cookie defines the sticky cookie configuration.                            properties:                              httpOnly:                                description: HTTPOnly defines whether the cookie can                                  be accessed by client-side APIs, such as JavaScript.                                type: boolean                              name:                                description: Name defines the Cookie name.                                type: string                              sameSite:                                description: 'SameSite defines the same site policy.                                  More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                type: string                              secure:                                description: Secure defines whether the cookie can                                  only be transmitted over an encrypted connection                                  (i.e. HTTPS).                                type: boolean                            type: object                        type: object                      strategy:                        description: Strategy defines the load balancing strategy                          between the servers. RoundRobin is the only supported value                          at the moment.                        type: string                      weight:                        description: Weight defines the weight and should only be                          specified when Name references a TraefikService object (and                          to be precise, one that embeds a Weighted Round Robin).                        type: integer                    required:                    - name                    type: object                  status:                    description: Status defines which status or range of statuses                      should result in an error page. It can be either a status code                      as a number (500), as multiple comma-separated numbers (500,502),                      as ranges by separating two codes with a dash (500-599), or                      a combination of the two (404,418,500-599).                    items:                      type: string                    type: array                type: object              forwardAuth:                description: 'ForwardAuth holds the forward auth middleware configuration.                  This middleware delegates the request authentication to a Service.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/'                properties:                  address:                    description: Address defines the authentication server address.                    type: string                  authRequestHeaders:                    description: AuthRequestHeaders defines the list of the headers                      to copy from the request to the authentication server. If not                      set or empty then all request headers are passed.                    items:                      type: string                    type: array                  authResponseHeaders:                    description: AuthResponseHeaders defines the list of headers to                      copy from the authentication server response and set on forwarded                      request, replacing any existing conflicting headers.                    items:                      type: string                    type: array                  authResponseHeadersRegex:                    description: 'AuthResponseHeadersRegex defines the regex to match                      headers to copy from the authentication server response and                      set on forwarded request, after stripping all headers that match                      the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex'                    type: string                  tls:                    description: TLS defines the configuration used to secure the                      connection to the authentication server.                    properties:                      caOptional:                        type: boolean                      caSecret:                        description: CASecret is the name of the referenced Kubernetes                          Secret containing the CA to validate the server certificate.                          The CA certificate is extracted from key `tls.ca` or `ca.crt`.                        type: string                      certSecret:                        description: CertSecret is the name of the referenced Kubernetes                          Secret containing the client certificate. The client certificate                          is extracted from the keys `tls.crt` and `tls.key`.                        type: string                      insecureSkipVerify:                        description: InsecureSkipVerify defines whether the server                          certificates should be validated.                        type: boolean                    type: object                  trustForwardHeader:                    description: 'TrustForwardHeader defines whether to trust (ie:                      forward) all X-Forwarded-* headers.'                    type: boolean                type: object              headers:                description: 'Headers holds the headers middleware configuration.                  This middleware manages the requests and responses headers. More                  info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders'                properties:                  accessControlAllowCredentials:                    description: AccessControlAllowCredentials defines whether the                      request can include user credentials.                    type: boolean                  accessControlAllowHeaders:                    description: AccessControlAllowHeaders defines the Access-Control-Request-Headers                      values sent in preflight response.                    items:                      type: string                    type: array                  accessControlAllowMethods:                    description: AccessControlAllowMethods defines the Access-Control-Request-Method                      values sent in preflight response.                    items:                      type: string                    type: array                  accessControlAllowOriginList:                    description: AccessControlAllowOriginList is a list of allowable                      origins. Can also be a wildcard origin "*".                    items:                      type: string                    type: array                  accessControlAllowOriginListRegex:                    description: AccessControlAllowOriginListRegex is a list of allowable                      origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/).                    items:                      type: string                    type: array                  accessControlExposeHeaders:                    description: AccessControlExposeHeaders defines the Access-Control-Expose-Headers                      values sent in preflight response.                    items:                      type: string                    type: array                  accessControlMaxAge:                    description: AccessControlMaxAge defines the time that a preflight                      request may be cached.                    format: int64                    type: integer                  addVaryHeader:                    description: AddVaryHeader defines whether the Vary header is                      automatically added/updated when the AccessControlAllowOriginList                      is set.                    type: boolean                  allowedHosts:                    description: AllowedHosts defines the fully qualified list of                      allowed domain names.                    items:                      type: string                    type: array                  browserXssFilter:                    description: BrowserXSSFilter defines whether to add the X-XSS-Protection                      header with the value 1; mode=block.                    type: boolean                  contentSecurityPolicy:                    description: ContentSecurityPolicy defines the Content-Security-Policy                      header value.                    type: string                  contentTypeNosniff:                    description: ContentTypeNosniff defines whether to add the X-Content-Type-Options                      header with the nosniff value.                    type: boolean                  customBrowserXSSValue:                    description: CustomBrowserXSSValue defines the X-XSS-Protection                      header value. This overrides the BrowserXssFilter option.                    type: string                  customFrameOptionsValue:                    description: CustomFrameOptionsValue defines the X-Frame-Options                      header value. This overrides the FrameDeny option.                    type: string                  customRequestHeaders:                    additionalProperties:                      type: string                    description: CustomRequestHeaders defines the header names and                      values to apply to the request.                    type: object                  customResponseHeaders:                    additionalProperties:                      type: string                    description: CustomResponseHeaders defines the header names and                      values to apply to the response.                    type: object                  featurePolicy:                    description: 'Deprecated: use PermissionsPolicy instead.'                    type: string                  forceSTSHeader:                    description: ForceSTSHeader defines whether to add the STS header                      even when the connection is HTTP.                    type: boolean                  frameDeny:                    description: FrameDeny defines whether to add the X-Frame-Options                      header with the DENY value.                    type: boolean                  hostsProxyHeaders:                    description: HostsProxyHeaders defines the header keys that may                      hold a proxied hostname value for the request.                    items:                      type: string                    type: array                  isDevelopment:                    description: IsDevelopment defines whether to mitigate the unwanted                      effects of the AllowedHosts, SSL, and STS options when developing.                      Usually testing takes place using HTTP, not HTTPS, and on localhost,                      not your production domain. If you would like your development                      environment to mimic production with complete Host blocking,                      SSL redirects, and STS headers, leave this as false.                    type: boolean                  permissionsPolicy:                    description: PermissionsPolicy defines the Permissions-Policy                      header value. This allows sites to control browser features.                    type: string                  publicKey:                    description: PublicKey is the public key that implements HPKP                      to prevent MITM attacks with forged certificates.                    type: string                  referrerPolicy:                    description: ReferrerPolicy defines the Referrer-Policy header                      value. This allows sites to control whether browsers forward                      the Referer header to other sites.                    type: string                  sslForceHost:                    description: 'Deprecated: use RedirectRegex instead.'                    type: boolean                  sslHost:                    description: 'Deprecated: use RedirectRegex instead.'                    type: string                  sslProxyHeaders:                    additionalProperties:                      type: string                    description: 'SSLProxyHeaders defines the header keys with associated                      values that would indicate a valid HTTPS request. It can be                      useful when using other proxies (example: "X-Forwarded-Proto":                      "https").'                    type: object                  sslRedirect:                    description: 'Deprecated: use EntryPoint redirection or RedirectScheme                      instead.'                    type: boolean                  sslTemporaryRedirect:                    description: 'Deprecated: use EntryPoint redirection or RedirectScheme                      instead.'                    type: boolean                  stsIncludeSubdomains:                    description: STSIncludeSubdomains defines whether the includeSubDomains                      directive is appended to the Strict-Transport-Security header.                    type: boolean                  stsPreload:                    description: STSPreload defines whether the preload flag is appended                      to the Strict-Transport-Security header.                    type: boolean                  stsSeconds:                    description: STSSeconds defines the max-age of the Strict-Transport-Security                      header. If set to 0, the header is not set.                    format: int64                    type: integer                type: object              inFlightReq:                description: 'InFlightReq holds the in-flight request middleware configuration.                  This middleware limits the number of requests being processed and                  served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/'                properties:                  amount:                    description: Amount defines the maximum amount of allowed simultaneous                      in-flight request. The middleware responds with HTTP 429 Too                      Many Requests if there are already amount requests in progress                      (based on the same sourceCriterion strategy).                    format: int64                    type: integer                  sourceCriterion:                    description: 'SourceCriterion defines what criterion is used to                      group requests as originating from a common source. If several                      strategies are defined at the same time, an error will be raised.                      If none are set, the default is to use the requestHost. More                      info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/#sourcecriterion'                    properties:                      ipStrategy:                        description: 'IPStrategy holds the IP strategy configuration                          used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'                        properties:                          depth:                            description: Depth tells Traefik to use the X-Forwarded-For                              header and take the IP located at the depth position                              (starting from the right).                            type: integer                          excludedIPs:                            description: ExcludedIPs configures Traefik to scan the                              X-Forwarded-For header and select the first IP not in                              the list.                            items:                              type: string                            type: array                        type: object                      requestHeaderName:                        description: RequestHeaderName defines the name of the header                          used to group incoming requests.                        type: string                      requestHost:                        description: RequestHost defines whether to consider the request                          Host as the source.                        type: boolean                    type: object                type: object              ipWhiteList:                description: 'IPWhiteList holds the IP whitelist middleware configuration.                  This middleware accepts / refuses requests based on the client IP.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/'                properties:                  ipStrategy:                    description: 'IPStrategy holds the IP strategy configuration used                      by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'                    properties:                      depth:                        description: Depth tells Traefik to use the X-Forwarded-For                          header and take the IP located at the depth position (starting                          from the right).                        type: integer                      excludedIPs:                        description: ExcludedIPs configures Traefik to scan the X-Forwarded-For                          header and select the first IP not in the list.                        items:                          type: string                        type: array                    type: object                  sourceRange:                    description: SourceRange defines the set of allowed IPs (or ranges                      of allowed IPs by using CIDR notation).                    items:                      type: string                    type: array                type: object              passTLSClientCert:                description: 'PassTLSClientCert holds the pass TLS client cert middleware                  configuration. This middleware adds the selected data from the passed                  client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/'                properties:                  info:                    description: Info selects the specific client certificate details                      you want to add to the X-Forwarded-Tls-Client-Cert-Info header.                    properties:                      issuer:                        description: Issuer defines the client certificate issuer                          details to add to the X-Forwarded-Tls-Client-Cert-Info header.                        properties:                          commonName:                            description: CommonName defines whether to add the organizationalUnit                              information into the issuer.                            type: boolean                          country:                            description: Country defines whether to add the country                              information into the issuer.                            type: boolean                          domainComponent:                            description: DomainComponent defines whether to add the                              domainComponent information into the issuer.                            type: boolean                          locality:                            description: Locality defines whether to add the locality                              information into the issuer.                            type: boolean                          organization:                            description: Organization defines whether to add the organization                              information into the issuer.                            type: boolean                          province:                            description: Province defines whether to add the province                              information into the issuer.                            type: boolean                          serialNumber:                            description: SerialNumber defines whether to add the serialNumber                              information into the issuer.                            type: boolean                        type: object                      notAfter:                        description: NotAfter defines whether to add the Not After                          information from the Validity part.                        type: boolean                      notBefore:                        description: NotBefore defines whether to add the Not Before                          information from the Validity part.                        type: boolean                      sans:                        description: Sans defines whether to add the Subject Alternative                          Name information from the Subject Alternative Name part.                        type: boolean                      serialNumber:                        description: SerialNumber defines whether to add the client                          serialNumber information.                        type: boolean                      subject:                        description: Subject defines the client certificate subject                          details to add to the X-Forwarded-Tls-Client-Cert-Info header.                        properties:                          commonName:                            description: CommonName defines whether to add the organizationalUnit                              information into the subject.                            type: boolean                          country:                            description: Country defines whether to add the country                              information into the subject.                            type: boolean                          domainComponent:                            description: DomainComponent defines whether to add the                              domainComponent information into the subject.                            type: boolean                          locality:                            description: Locality defines whether to add the locality                              information into the subject.                            type: boolean                          organization:                            description: Organization defines whether to add the organization                              information into the subject.                            type: boolean                          organizationalUnit:                            description: OrganizationalUnit defines whether to add                              the organizationalUnit information into the subject.                            type: boolean                          province:                            description: Province defines whether to add the province                              information into the subject.                            type: boolean                          serialNumber:                            description: SerialNumber defines whether to add the serialNumber                              information into the subject.                            type: boolean                        type: object                    type: object                  pem:                    description: PEM sets the X-Forwarded-Tls-Client-Cert header with                      the certificate.                    type: boolean                type: object              plugin:                additionalProperties:                  x-kubernetes-preserve-unknown-fields: true                description: 'Plugin defines the middleware plugin configuration.                  More info: https://doc.traefik.io/traefik/plugins/'                type: object              rateLimit:                description: 'RateLimit holds the rate limit configuration. This middleware                  ensures that services will receive a fair amount of requests, and                  allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/'                properties:                  average:                    description: Average is the maximum rate, by default in requests/s,                      allowed for the given source. It defaults to 0, which means                      no rate limiting. The rate is actually defined by dividing Average                      by Period. So for a rate below 1req/s, one needs to define a                      Period larger than a second.                    format: int64                    type: integer                  burst:                    description: Burst is the maximum number of requests allowed to                      arrive in the same arbitrarily small period of time. It defaults                      to 1.                    format: int64                    type: integer                  period:                    anyOf:                    - type: integer                    - type: string                    description: 'Period, in combination with Average, defines the                      actual maximum rate, such as: r = Average / Period. It defaults                      to a second.'                    x-kubernetes-int-or-string: true                  sourceCriterion:                    description: SourceCriterion defines what criterion is used to                      group requests as originating from a common source. If several                      strategies are defined at the same time, an error will be raised.                      If none are set, the default is to use the request's remote                      address field (as an ipStrategy).                    properties:                      ipStrategy:                        description: 'IPStrategy holds the IP strategy configuration                          used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'                        properties:                          depth:                            description: Depth tells Traefik to use the X-Forwarded-For                              header and take the IP located at the depth position                              (starting from the right).                            type: integer                          excludedIPs:                            description: ExcludedIPs configures Traefik to scan the                              X-Forwarded-For header and select the first IP not in                              the list.                            items:                              type: string                            type: array                        type: object                      requestHeaderName:                        description: RequestHeaderName defines the name of the header                          used to group incoming requests.                        type: string                      requestHost:                        description: RequestHost defines whether to consider the request                          Host as the source.                        type: boolean                    type: object                type: object              redirectRegex:                description: 'RedirectRegex holds the redirect regex middleware configuration.                  This middleware redirects a request using regex matching and replacement.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex'                properties:                  permanent:                    description: Permanent defines whether the redirection is permanent                      (301).                    type: boolean                  regex:                    description: Regex defines the regex used to match and capture                      elements from the request URL.                    type: string                  replacement:                    description: Replacement defines how to modify the URL to have                      the new target URL.                    type: string                type: object              redirectScheme:                description: 'RedirectScheme holds the redirect scheme middleware                  configuration. This middleware redirects requests from a scheme/port                  to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/'                properties:                  permanent:                    description: Permanent defines whether the redirection is permanent                      (301).                    type: boolean                  port:                    description: Port defines the port of the new URL.                    type: string                  scheme:                    description: Scheme defines the scheme of the new URL.                    type: string                type: object              replacePath:                description: 'ReplacePath holds the replace path middleware configuration.                  This middleware replaces the path of the request URL and store the                  original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/'                properties:                  path:                    description: Path defines the path to use as replacement in the                      request URL.                    type: string                type: object              replacePathRegex:                description: 'ReplacePathRegex holds the replace path regex middleware                  configuration. This middleware replaces the path of a URL using                  regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/'                properties:                  regex:                    description: Regex defines the regular expression used to match                      and capture the path from the request URL.                    type: string                  replacement:                    description: Replacement defines the replacement path format,                      which can include captured variables.                    type: string                type: object              retry:                description: 'Retry holds the retry middleware configuration. This                  middleware reissues requests a given number of times to a backend                  server if that server does not reply. As soon as the server answers,                  the middleware stops retrying, regardless of the response status.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/'                properties:                  attempts:                    description: Attempts defines how many times the request should                      be retried.                    type: integer                  initialInterval:                    anyOf:                    - type: integer                    - type: string                    description: InitialInterval defines the first wait time in the                      exponential backoff series. The maximum interval is calculated                      as twice the initialInterval. If unspecified, requests will                      be retried immediately. The value of initialInterval should                      be provided in seconds or as a valid duration format, see https://pkg.go.dev/time#ParseDuration.                    x-kubernetes-int-or-string: true                type: object              stripPrefix:                description: 'StripPrefix holds the strip prefix middleware configuration.                  This middleware removes the specified prefixes from the URL path.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/'                properties:                  forceSlash:                    description: 'ForceSlash ensures that the resulting stripped path                      is not the empty string, by replacing it with / when necessary.                      Default: true.'                    type: boolean                  prefixes:                    description: Prefixes defines the prefixes to strip from the request                      URL.                    items:                      type: string                    type: array                type: object              stripPrefixRegex:                description: 'StripPrefixRegex holds the strip prefix regex middleware                  configuration. This middleware removes the matching prefixes from                  the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/'                properties:                  regex:                    description: Regex defines the regular expression to match the                      path prefix from the request URL.                    items:                      type: string                    type: array                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: middlewaretcps.traefik.iospec:  group: traefik.io  names:    kind: MiddlewareTCP    listKind: MiddlewareTCPList    plural: middlewaretcps    singular: middlewaretcp  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.          More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: MiddlewareTCPSpec defines the desired state of a MiddlewareTCP.            properties:              inFlightConn:                description: InFlightConn defines the InFlightConn middleware configuration.                properties:                  amount:                    description: Amount defines the maximum amount of allowed simultaneous                      connections. The middleware closes the connection if there are                      already amount connections opened.                    format: int64                    type: integer                type: object              ipWhiteList:                description: IPWhiteList defines the IPWhiteList middleware configuration.                properties:                  sourceRange:                    description: SourceRange defines the allowed IPs (or ranges of                      allowed IPs by using CIDR notation).                    items:                      type: string                    type: array                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: serverstransports.traefik.iospec:  group: traefik.io  names:    kind: ServersTransport    listKind: ServersTransportList    plural: serverstransports    singular: serverstransport  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'ServersTransport is the CRD implementation of a ServersTransport.          If no serversTransport is specified, the default@internal will be used.          The default@internal serversTransport is created from the static configuration.          More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: ServersTransportSpec defines the desired state of a ServersTransport.            properties:              certificatesSecrets:                description: CertificatesSecrets defines a list of secret storing                  client certificates for mTLS.                items:                  type: string                type: array              disableHTTP2:                description: DisableHTTP2 disables HTTP/2 for connections with backend                  servers.                type: boolean              forwardingTimeouts:                description: ForwardingTimeouts defines the timeouts for requests                  forwarded to the backend servers.                properties:                  dialTimeout:                    anyOf:                    - type: integer                    - type: string                    description: DialTimeout is the amount of time to wait until a                      connection to a backend server can be established.                    x-kubernetes-int-or-string: true                  idleConnTimeout:                    anyOf:                    - type: integer                    - type: string                    description: IdleConnTimeout is the maximum period for which an                      idle HTTP keep-alive connection will remain open before closing                      itself.                    x-kubernetes-int-or-string: true                  pingTimeout:                    anyOf:                    - type: integer                    - type: string                    description: PingTimeout is the timeout after which the HTTP/2                      connection will be closed if a response to ping is not received.                    x-kubernetes-int-or-string: true                  readIdleTimeout:                    anyOf:                    - type: integer                    - type: string                    description: ReadIdleTimeout is the timeout after which a health                      check using ping frame will be carried out if no frame is received                      on the HTTP/2 connection.                    x-kubernetes-int-or-string: true                  responseHeaderTimeout:                    anyOf:                    - type: integer                    - type: string                    description: ResponseHeaderTimeout is the amount of time to wait                      for a server's response headers after fully writing the request                      (including its body, if any).                    x-kubernetes-int-or-string: true                type: object              insecureSkipVerify:                description: InsecureSkipVerify disables SSL certificate verification.                type: boolean              maxIdleConnsPerHost:                description: MaxIdleConnsPerHost controls the maximum idle (keep-alive)                  to keep per-host.                type: integer              peerCertURI:                description: PeerCertURI defines the peer cert URI used to match against                  SAN URI during the peer certificate verification.                type: string              rootCAsSecrets:                description: RootCAsSecrets defines a list of CA secret used to validate                  self-signed certificate.                items:                  type: string                type: array              serverName:                description: ServerName defines the server name used to contact the                  server.                type: string            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: tlsoptions.traefik.iospec:  group: traefik.io  names:    kind: TLSOption    listKind: TLSOptionList    plural: tlsoptions    singular: tlsoption  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'TLSOption is the CRD implementation of a Traefik TLS Option,          allowing to configure some parameters of the TLS connection. More info:          https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: TLSOptionSpec defines the desired state of a TLSOption.            properties:              alpnProtocols:                description: 'ALPNProtocols defines the list of supported application                  level protocols for the TLS handshake, in order of preference. More                  info: https://doc.traefik.io/traefik/v2.10/https/tls/#alpn-protocols'                items:                  type: string                type: array              cipherSuites:                description: 'CipherSuites defines the list of supported cipher suites                  for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites'                items:                  type: string                type: array              clientAuth:                description: ClientAuth defines the server's policy for TLS Client                  Authentication.                properties:                  clientAuthType:                    description: ClientAuthType defines the client authentication                      type to apply.                    enum:                    - NoClientCert                    - RequestClientCert                    - RequireAnyClientCert                    - VerifyClientCertIfGiven                    - RequireAndVerifyClientCert                    type: string                  secretNames:                    description: SecretNames defines the names of the referenced Kubernetes                      Secret storing certificate details.                    items:                      type: string                    type: array                type: object              curvePreferences:                description: 'CurvePreferences defines the preferred elliptic curves                  in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences'                items:                  type: string                type: array              maxVersion:                description: 'MaxVersion defines the maximum TLS version that Traefik                  will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,                  VersionTLS13. Default: None.'                type: string              minVersion:                description: 'MinVersion defines the minimum TLS version that Traefik                  will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,                  VersionTLS13. Default: VersionTLS10.'                type: string              preferServerCipherSuites:                description: 'PreferServerCipherSuites defines whether the server                  chooses a cipher suite among his own instead of among the client''s.                  It is enabled automatically when minVersion or maxVersion is set.                  Deprecated: https://github.com/golang/go/issues/45430'                type: boolean              sniStrict:                description: SniStrict defines whether Traefik allows connections                  from clients connections that do not specify a server_name extension.                type: boolean            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: tlsstores.traefik.iospec:  group: traefik.io  names:    kind: TLSStore    listKind: TLSStoreList    plural: tlsstores    singular: tlsstore  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'TLSStore is the CRD implementation of a Traefik TLS Store. For          the time being, only the TLSStore named default is supported. This means          that you cannot have two stores that are named default in different Kubernetes          namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: TLSStoreSpec defines the desired state of a TLSStore.            properties:              certificates:                description: Certificates is a list of secret names, each secret holding                  a key/certificate pair to add to the store.                items:                  description: Certificate holds a secret name for the TLSStore resource.                  properties:                    secretName:                      description: SecretName is the name of the referenced Kubernetes                        Secret to specify the certificate details.                      type: string                  required:                  - secretName                  type: object                type: array              defaultCertificate:                description: DefaultCertificate defines the default certificate configuration.                properties:                  secretName:                    description: SecretName is the name of the referenced Kubernetes                      Secret to specify the certificate details.                    type: string                required:                - secretName                type: object              defaultGeneratedCert:                description: DefaultGeneratedCert defines the default generated certificate                  configuration.                properties:                  domain:                    description: Domain is the domain definition for the DefaultCertificate.                    properties:                      main:                        description: Main defines the main domain name.                        type: string                      sans:                        description: SANs defines the subject alternative domain names.                        items:                          type: string                        type: array                    type: object                  resolver:                    description: Resolver is the name of the resolver that will be                      used to issue the DefaultCertificate.                    type: string                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: traefikservices.traefik.iospec:  group: traefik.io  names:    kind: TraefikService    listKind: TraefikServiceList    plural: traefikservices    singular: traefikservice  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'TraefikService is the CRD implementation of a Traefik Service.          TraefikService object allows to: - Apply weight to Services on load-balancing          - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: TraefikServiceSpec defines the desired state of a TraefikService.            properties:              mirroring:                description: Mirroring defines the Mirroring service configuration.                properties:                  kind:                    description: Kind defines the kind of the Service.                    enum:                    - Service                    - TraefikService                    type: string                  maxBodySize:                    description: MaxBodySize defines the maximum size allowed for                      the body of the request. If the body is larger, the request                      is not mirrored. Default value is -1, which means unlimited                      size.                    format: int64                    type: integer                  mirrors:                    description: Mirrors defines the list of mirrors where Traefik                      will duplicate the traffic.                    items:                      description: MirrorService holds the mirror configuration.                      properties:                        kind:                          description: Kind defines the kind of the Service.                          enum:                          - Service                          - TraefikService                          type: string                        name:                          description: Name defines the name of the referenced Kubernetes                            Service or TraefikService. The differentiation between                            the two is specified in the Kind field.                          type: string                        namespace:                          description: Namespace defines the namespace of the referenced                            Kubernetes Service or TraefikService.                          type: string                        nativeLB:                          description: NativeLB controls, when creating the load-balancer,                            whether the LB's children are directly the pods IPs or                            if the only child is the Kubernetes Service clusterIP.                            The Kubernetes Service itself does load-balance to the                            pods. By default, NativeLB is false.                          type: boolean                        passHostHeader:                          description: PassHostHeader defines whether the client Host                            header is forwarded to the upstream Kubernetes Service.                            By default, passHostHeader is true.                          type: boolean                        percent:                          description: 'Percent defines the part of the traffic to                            mirror. Supported values: 0 to 100.'                          type: integer                        port:                          anyOf:                          - type: integer                          - type: string                          description: Port defines the port of a Kubernetes Service.                            This can be a reference to a named port.                          x-kubernetes-int-or-string: true                        responseForwarding:                          description: ResponseForwarding defines how Traefik forwards                            the response from the upstream Kubernetes Service to the                            client.                          properties:                            flushInterval:                              description: 'FlushInterval defines the interval, in                                milliseconds, in between flushes to the client while                                copying the response body. A negative value means                                to flush immediately after each write to the client.                                This configuration is ignored when ReverseProxy recognizes                                a response as a streaming response; for such responses,                                writes are flushed to the client immediately. Default:                                100ms'                              type: string                          type: object                        scheme:                          description: Scheme defines the scheme to use for the request                            to the upstream Kubernetes Service. It defaults to https                            when Kubernetes Service port is 443, http otherwise.                          type: string                        serversTransport:                          description: ServersTransport defines the name of ServersTransport                            resource to use. It allows to configure the transport                            between Traefik and your servers. Can only be used on                            a Kubernetes Service.                          type: string                        sticky:                          description: 'Sticky defines the sticky sessions configuration.                            More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                          properties:                            cookie:                              description: Cookie defines the sticky cookie configuration.                              properties:                                httpOnly:                                  description: HTTPOnly defines whether the cookie                                    can be accessed by client-side APIs, such as JavaScript.                                  type: boolean                                name:                                  description: Name defines the Cookie name.                                  type: string                                sameSite:                                  description: 'SameSite defines the same site policy.                                    More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                  type: string                                secure:                                  description: Secure defines whether the cookie can                                    only be transmitted over an encrypted connection                                    (i.e. HTTPS).                                  type: boolean                              type: object                          type: object                        strategy:                          description: Strategy defines the load balancing strategy                            between the servers. RoundRobin is the only supported                            value at the moment.                          type: string                        weight:                          description: Weight defines the weight and should only be                            specified when Name references a TraefikService object                            (and to be precise, one that embeds a Weighted Round Robin).                          type: integer                      required:                      - name                      type: object                    type: array                  name:                    description: Name defines the name of the referenced Kubernetes                      Service or TraefikService. The differentiation between the two                      is specified in the Kind field.                    type: string                  namespace:                    description: Namespace defines the namespace of the referenced                      Kubernetes Service or TraefikService.                    type: string                  nativeLB:                    description: NativeLB controls, when creating the load-balancer,                      whether the LB's children are directly the pods IPs or if the                      only child is the Kubernetes Service clusterIP. The Kubernetes                      Service itself does load-balance to the pods. By default, NativeLB                      is false.                    type: boolean                  passHostHeader:                    description: PassHostHeader defines whether the client Host header                      is forwarded to the upstream Kubernetes Service. By default,                      passHostHeader is true.                    type: boolean                  port:                    anyOf:                    - type: integer                    - type: string                    description: Port defines the port of a Kubernetes Service. This                      can be a reference to a named port.                    x-kubernetes-int-or-string: true                  responseForwarding:                    description: ResponseForwarding defines how Traefik forwards the                      response from the upstream Kubernetes Service to the client.                    properties:                      flushInterval:                        description: 'FlushInterval defines the interval, in milliseconds,                          in between flushes to the client while copying the response                          body. A negative value means to flush immediately after                          each write to the client. This configuration is ignored                          when ReverseProxy recognizes a response as a streaming response;                          for such responses, writes are flushed to the client immediately.                          Default: 100ms'                        type: string                    type: object                  scheme:                    description: Scheme defines the scheme to use for the request                      to the upstream Kubernetes Service. It defaults to https when                      Kubernetes Service port is 443, http otherwise.                    type: string                  serversTransport:                    description: ServersTransport defines the name of ServersTransport                      resource to use. It allows to configure the transport between                      Traefik and your servers. Can only be used on a Kubernetes Service.                    type: string                  sticky:                    description: 'Sticky defines the sticky sessions configuration.                      More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                    properties:                      cookie:                        description: Cookie defines the sticky cookie configuration.                        properties:                          httpOnly:                            description: HTTPOnly defines whether the cookie can be                              accessed by client-side APIs, such as JavaScript.                            type: boolean                          name:                            description: Name defines the Cookie name.                            type: string                          sameSite:                            description: 'SameSite defines the same site policy. More                              info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                            type: string                          secure:                            description: Secure defines whether the cookie can only                              be transmitted over an encrypted connection (i.e. HTTPS).                            type: boolean                        type: object                    type: object                  strategy:                    description: Strategy defines the load balancing strategy between                      the servers. RoundRobin is the only supported value at the moment.                    type: string                  weight:                    description: Weight defines the weight and should only be specified                      when Name references a TraefikService object (and to be precise,                      one that embeds a Weighted Round Robin).                    type: integer                required:                - name                type: object              weighted:                description: Weighted defines the Weighted Round Robin configuration.                properties:                  services:                    description: Services defines the list of Kubernetes Service and/or                      TraefikService to load-balance, with weight.                    items:                      description: Service defines an upstream HTTP service to proxy                        traffic to.                      properties:                        kind:                          description: Kind defines the kind of the Service.                          enum:                          - Service                          - TraefikService                          type: string                        name:                          description: Name defines the name of the referenced Kubernetes                            Service or TraefikService. The differentiation between                            the two is specified in the Kind field.                          type: string                        namespace:                          description: Namespace defines the namespace of the referenced                            Kubernetes Service or TraefikService.                          type: string                        nativeLB:                          description: NativeLB controls, when creating the load-balancer,                            whether the LB's children are directly the pods IPs or                            if the only child is the Kubernetes Service clusterIP.                            The Kubernetes Service itself does load-balance to the                            pods. By default, NativeLB is false.                          type: boolean                        passHostHeader:                          description: PassHostHeader defines whether the client Host                            header is forwarded to the upstream Kubernetes Service.                            By default, passHostHeader is true.                          type: boolean                        port:                          anyOf:                          - type: integer                          - type: string                          description: Port defines the port of a Kubernetes Service.                            This can be a reference to a named port.                          x-kubernetes-int-or-string: true                        responseForwarding:                          description: ResponseForwarding defines how Traefik forwards                            the response from the upstream Kubernetes Service to the                            client.                          properties:                            flushInterval:                              description: 'FlushInterval defines the interval, in                                milliseconds, in between flushes to the client while                                copying the response body. A negative value means                                to flush immediately after each write to the client.                                This configuration is ignored when ReverseProxy recognizes                                a response as a streaming response; for such responses,                                writes are flushed to the client immediately. Default:                                100ms'                              type: string                          type: object                        scheme:                          description: Scheme defines the scheme to use for the request                            to the upstream Kubernetes Service. It defaults to https                            when Kubernetes Service port is 443, http otherwise.                          type: string                        serversTransport:                          description: ServersTransport defines the name of ServersTransport                            resource to use. It allows to configure the transport                            between Traefik and your servers. Can only be used on                            a Kubernetes Service.                          type: string                        sticky:                          description: 'Sticky defines the sticky sessions configuration.                            More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                          properties:                            cookie:                              description: Cookie defines the sticky cookie configuration.                              properties:                                httpOnly:                                  description: HTTPOnly defines whether the cookie                                    can be accessed by client-side APIs, such as JavaScript.                                  type: boolean                                name:                                  description: Name defines the Cookie name.                                  type: string                                sameSite:                                  description: 'SameSite defines the same site policy.                                    More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                  type: string                                secure:                                  description: Secure defines whether the cookie can                                    only be transmitted over an encrypted connection                                    (i.e. HTTPS).                                  type: boolean                              type: object                          type: object                        strategy:                          description: Strategy defines the load balancing strategy                            between the servers. RoundRobin is the only supported                            value at the moment.                          type: string                        weight:                          description: Weight defines the weight and should only be                            specified when Name references a TraefikService object                            (and to be precise, one that embeds a Weighted Round Robin).                          type: integer                      required:                      - name                      type: object                    type: array                  sticky:                    description: 'Sticky defines whether sticky sessions are enabled.                      More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing'                    properties:                      cookie:                        description: Cookie defines the sticky cookie configuration.                        properties:                          httpOnly:                            description: HTTPOnly defines whether the cookie can be                              accessed by client-side APIs, such as JavaScript.                            type: boolean                          name:                            description: Name defines the Cookie name.                            type: string                          sameSite:                            description: 'SameSite defines the same site policy. More                              info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                            type: string                          secure:                            description: Secure defines whether the cookie can only                              be transmitted over an encrypted connection (i.e. HTTPS).                            type: boolean                        type: object                    type: object                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: ingressroutes.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: IngressRoute    listKind: IngressRouteList    plural: ingressroutes    singular: ingressroute  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: IngressRoute is the CRD implementation of a Traefik HTTP Router.        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: IngressRouteSpec defines the desired state of IngressRoute.            properties:              entryPoints:                description: 'EntryPoints defines the list of entry point names to                  bind to. Entry points have to be configured in the static configuration.                  More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/                  Default: all.'                items:                  type: string                type: array              routes:                description: Routes defines the list of routes.                items:                  description: Route holds the HTTP route configuration.                  properties:                    kind:                      description: Kind defines the kind of the route. Rule is the                        only supported kind.                      enum:                      - Rule                      type: string                    match:                      description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule'                      type: string                    middlewares:                      description: 'Middlewares defines the list of references to                        Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware'                      items:                        description: MiddlewareRef is a reference to a Middleware                          resource.                        properties:                          name:                            description: Name defines the name of the referenced Middleware                              resource.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Middleware resource.                            type: string                        required:                        - name                        type: object                      type: array                    priority:                      description: 'Priority defines the router''s priority. More                        info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority'                      type: integer                    services:                      description: Services defines the list of Service. It can contain                        any combination of TraefikService and/or reference to a Kubernetes                        Service.                      items:                        description: Service defines an upstream HTTP service to proxy                          traffic to.                        properties:                          kind:                            description: Kind defines the kind of the Service.                            enum:                            - Service                            - TraefikService                            type: string                          name:                            description: Name defines the name of the referenced Kubernetes                              Service or TraefikService. The differentiation between                              the two is specified in the Kind field.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Kubernetes Service or TraefikService.                            type: string                          nativeLB:                            description: NativeLB controls, when creating the load-balancer,                              whether the LB's children are directly the pods IPs                              or if the only child is the Kubernetes Service clusterIP.                              The Kubernetes Service itself does load-balance to the                              pods. By default, NativeLB is false.                            type: boolean                          passHostHeader:                            description: PassHostHeader defines whether the client                              Host header is forwarded to the upstream Kubernetes                              Service. By default, passHostHeader is true.                            type: boolean                          port:                            anyOf:                            - type: integer                            - type: string                            description: Port defines the port of a Kubernetes Service.                              This can be a reference to a named port.                            x-kubernetes-int-or-string: true                          responseForwarding:                            description: ResponseForwarding defines how Traefik forwards                              the response from the upstream Kubernetes Service to                              the client.                            properties:                              flushInterval:                                description: 'FlushInterval defines the interval,                                  in milliseconds, in between flushes to the client                                  while copying the response body. A negative value                                  means to flush immediately after each write to the                                  client. This configuration is ignored when ReverseProxy                                  recognizes a response as a streaming response; for                                  such responses, writes are flushed to the client                                  immediately. Default: 100ms'                                type: string                            type: object                          scheme:                            description: Scheme defines the scheme to use for the                              request to the upstream Kubernetes Service. It defaults                              to https when Kubernetes Service port is 443, http otherwise.                            type: string                          serversTransport:                            description: ServersTransport defines the name of ServersTransport                              resource to use. It allows to configure the transport                              between Traefik and your servers. Can only be used on                              a Kubernetes Service.                            type: string                          sticky:                            description: 'Sticky defines the sticky sessions configuration.                              More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                            properties:                              cookie:                                description: Cookie defines the sticky cookie configuration.                                properties:                                  httpOnly:                                    description: HTTPOnly defines whether the cookie                                      can be accessed by client-side APIs, such as                                      JavaScript.                                    type: boolean                                  name:                                    description: Name defines the Cookie name.                                    type: string                                  sameSite:                                    description: 'SameSite defines the same site policy.                                      More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                    type: string                                  secure:                                    description: Secure defines whether the cookie                                      can only be transmitted over an encrypted connection                                      (i.e. HTTPS).                                    type: boolean                                type: object                            type: object                          strategy:                            description: Strategy defines the load balancing strategy                              between the servers. RoundRobin is the only supported                              value at the moment.                            type: string                          weight:                            description: Weight defines the weight and should only                              be specified when Name references a TraefikService object                              (and to be precise, one that embeds a Weighted Round                              Robin).                            type: integer                        required:                        - name                        type: object                      type: array                  required:                  - kind                  - match                  type: object                type: array              tls:                description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls'                properties:                  certResolver:                    description: 'CertResolver defines the name of the certificate                      resolver to use. Cert resolvers have to be configured in the                      static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'                    type: string                  domains:                    description: 'Domains defines the list of domains that will be                      used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'                    items:                      description: Domain holds a domain name with SANs.                      properties:                        main:                          description: Main defines the main domain name.                          type: string                        sans:                          description: SANs defines the subject alternative domain                            names.                          items:                            type: string                          type: array                      type: object                    type: array                  options:                    description: 'Options defines the reference to a TLSOption, that                      specifies the parameters of the TLS connection. If not defined,                      the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'                    properties:                      name:                        description: 'Name defines the name of the referenced TLSOption.                          More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'                        type: string                      namespace:                        description: 'Namespace defines the namespace of the referenced                          TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption'                        type: string                    required:                    - name                    type: object                  secretName:                    description: SecretName is the name of the referenced Kubernetes                      Secret to specify the certificate details.                    type: string                  store:                    description: Store defines the reference to the TLSStore, that                      will be used to store certificates. Please note that only `default`                      TLSStore can be used.                    properties:                      name:                        description: 'Name defines the name of the referenced TLSStore.                          More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'                        type: string                      namespace:                        description: 'Namespace defines the namespace of the referenced                          TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore'                        type: string                    required:                    - name                    type: object                type: object            required:            - routes            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: ingressroutetcps.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: IngressRouteTCP    listKind: IngressRouteTCPList    plural: ingressroutetcps    singular: ingressroutetcp  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: IngressRouteTCP is the CRD implementation of a Traefik TCP Router.        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: IngressRouteTCPSpec defines the desired state of IngressRouteTCP.            properties:              entryPoints:                description: 'EntryPoints defines the list of entry point names to                  bind to. Entry points have to be configured in the static configuration.                  More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/                  Default: all.'                items:                  type: string                type: array              routes:                description: Routes defines the list of routes.                items:                  description: RouteTCP holds the TCP route configuration.                  properties:                    match:                      description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1'                      type: string                    middlewares:                      description: Middlewares defines the list of references to MiddlewareTCP                        resources.                      items:                        description: ObjectReference is a generic reference to a Traefik                          resource.                        properties:                          name:                            description: Name defines the name of the referenced Traefik                              resource.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Traefik resource.                            type: string                        required:                        - name                        type: object                      type: array                    priority:                      description: 'Priority defines the router''s priority. More                        info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1'                      type: integer                    services:                      description: Services defines the list of TCP services.                      items:                        description: ServiceTCP defines an upstream TCP service to                          proxy traffic to.                        properties:                          name:                            description: Name defines the name of the referenced Kubernetes                              Service.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Kubernetes Service.                            type: string                          nativeLB:                            description: NativeLB controls, when creating the load-balancer,                              whether the LB's children are directly the pods IPs                              or if the only child is the Kubernetes Service clusterIP.                              The Kubernetes Service itself does load-balance to the                              pods. By default, NativeLB is false.                            type: boolean                          port:                            anyOf:                            - type: integer                            - type: string                            description: Port defines the port of a Kubernetes Service.                              This can be a reference to a named port.                            x-kubernetes-int-or-string: true                          proxyProtocol:                            description: 'ProxyProtocol defines the PROXY protocol                              configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol'                            properties:                              version:                                description: Version defines the PROXY Protocol version                                  to use.                                type: integer                            type: object                          terminationDelay:                            description: TerminationDelay defines the deadline that                              the proxy sets, after one of its connected peers indicates                              it has closed the writing capability of its connection,                              to close the reading capability as well, hence fully                              terminating the connection. It is a duration in milliseconds,                              defaulting to 100. A negative value means an infinite                              deadline (i.e. the reading capability is never closed).                            type: integer                          weight:                            description: Weight defines the weight used when balancing                              requests between multiple Kubernetes Service.                            type: integer                        required:                        - name                        - port                        type: object                      type: array                  required:                  - match                  type: object                type: array              tls:                description: 'TLS defines the TLS configuration on a layer 4 / TCP                  Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1'                properties:                  certResolver:                    description: 'CertResolver defines the name of the certificate                      resolver to use. Cert resolvers have to be configured in the                      static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers'                    type: string                  domains:                    description: 'Domains defines the list of domains that will be                      used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains'                    items:                      description: Domain holds a domain name with SANs.                      properties:                        main:                          description: Main defines the main domain name.                          type: string                        sans:                          description: SANs defines the subject alternative domain                            names.                          items:                            type: string                          type: array                      type: object                    type: array                  options:                    description: 'Options defines the reference to a TLSOption, that                      specifies the parameters of the TLS connection. If not defined,                      the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'                    properties:                      name:                        description: Name defines the name of the referenced Traefik                          resource.                        type: string                      namespace:                        description: Namespace defines the namespace of the referenced                          Traefik resource.                        type: string                    required:                    - name                    type: object                  passthrough:                    description: Passthrough defines whether a TLS router will terminate                      the TLS connection.                    type: boolean                  secretName:                    description: SecretName is the name of the referenced Kubernetes                      Secret to specify the certificate details.                    type: string                  store:                    description: Store defines the reference to the TLSStore, that                      will be used to store certificates. Please note that only `default`                      TLSStore can be used.                    properties:                      name:                        description: Name defines the name of the referenced Traefik                          resource.                        type: string                      namespace:                        description: Namespace defines the namespace of the referenced                          Traefik resource.                        type: string                    required:                    - name                    type: object                type: object            required:            - routes            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: ingressrouteudps.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: IngressRouteUDP    listKind: IngressRouteUDPList    plural: ingressrouteudps    singular: ingressrouteudp  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: IngressRouteUDP is a CRD implementation of a Traefik UDP Router.        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: IngressRouteUDPSpec defines the desired state of a IngressRouteUDP.            properties:              entryPoints:                description: 'EntryPoints defines the list of entry point names to                  bind to. Entry points have to be configured in the static configuration.                  More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/                  Default: all.'                items:                  type: string                type: array              routes:                description: Routes defines the list of routes.                items:                  description: RouteUDP holds the UDP route configuration.                  properties:                    services:                      description: Services defines the list of UDP services.                      items:                        description: ServiceUDP defines an upstream UDP service to                          proxy traffic to.                        properties:                          name:                            description: Name defines the name of the referenced Kubernetes                              Service.                            type: string                          namespace:                            description: Namespace defines the namespace of the referenced                              Kubernetes Service.                            type: string                          nativeLB:                            description: NativeLB controls, when creating the load-balancer,                              whether the LB's children are directly the pods IPs                              or if the only child is the Kubernetes Service clusterIP.                              The Kubernetes Service itself does load-balance to the                              pods. By default, NativeLB is false.                            type: boolean                          port:                            anyOf:                            - type: integer                            - type: string                            description: Port defines the port of a Kubernetes Service.                              This can be a reference to a named port.                            x-kubernetes-int-or-string: true                          weight:                            description: Weight defines the weight used when balancing                              requests between multiple Kubernetes Service.                            type: integer                        required:                        - name                        - port                        type: object                      type: array                  type: object                type: array            required:            - routes            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: middlewares.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: Middleware    listKind: MiddlewareList    plural: middlewares    singular: middleware  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'Middleware is the CRD implementation of a Traefik Middleware.          More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: MiddlewareSpec defines the desired state of a Middleware.            properties:              addPrefix:                description: 'AddPrefix holds the add prefix middleware configuration.                  This middleware updates the path of a request before forwarding                  it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/'                properties:                  prefix:                    description: Prefix is the string to add before the current path                      in the requested URL. It should include a leading slash (/).                    type: string                type: object              basicAuth:                description: 'BasicAuth holds the basic auth middleware configuration.                  This middleware restricts access to your services to known users.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/'                properties:                  headerField:                    description: 'HeaderField defines a header field to store the                      authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'                    type: string                  realm:                    description: 'Realm allows the protected resources on a server                      to be partitioned into a set of protection spaces, each with                      its own authentication scheme. Default: traefik.'                    type: string                  removeHeader:                    description: 'RemoveHeader sets the removeHeader option to true                      to remove the authorization header before forwarding the request                      to your service. Default: false.'                    type: boolean                  secret:                    description: Secret is the name of the referenced Kubernetes Secret                      containing user credentials.                    type: string                type: object              buffering:                description: 'Buffering holds the buffering middleware configuration.                  This middleware retries or limits the size of requests that can                  be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes'                properties:                  maxRequestBodyBytes:                    description: 'MaxRequestBodyBytes defines the maximum allowed                      body size for the request (in bytes). If the request exceeds                      the allowed size, it is not forwarded to the service, and the                      client gets a 413 (Request Entity Too Large) response. Default:                      0 (no maximum).'                    format: int64                    type: integer                  maxResponseBodyBytes:                    description: 'MaxResponseBodyBytes defines the maximum allowed                      response size from the service (in bytes). If the response exceeds                      the allowed size, it is not forwarded to the client. The client                      gets a 500 (Internal Server Error) response instead. Default:                      0 (no maximum).'                    format: int64                    type: integer                  memRequestBodyBytes:                    description: 'MemRequestBodyBytes defines the threshold (in bytes)                      from which the request will be buffered on disk instead of in                      memory. Default: 1048576 (1Mi).'                    format: int64                    type: integer                  memResponseBodyBytes:                    description: 'MemResponseBodyBytes defines the threshold (in bytes)                      from which the response will be buffered on disk instead of                      in memory. Default: 1048576 (1Mi).'                    format: int64                    type: integer                  retryExpression:                    description: 'RetryExpression defines the retry conditions. It                      is a logical combination of functions with operators AND (&&)                      and OR (||). More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#retryexpression'                    type: string                type: object              chain:                description: 'Chain holds the configuration of the chain middleware.                  This middleware enables to define reusable combinations of other                  pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/'                properties:                  middlewares:                    description: Middlewares is the list of MiddlewareRef which composes                      the chain.                    items:                      description: MiddlewareRef is a reference to a Middleware resource.                      properties:                        name:                          description: Name defines the name of the referenced Middleware                            resource.                          type: string                        namespace:                          description: Namespace defines the namespace of the referenced                            Middleware resource.                          type: string                      required:                      - name                      type: object                    type: array                type: object              circuitBreaker:                description: CircuitBreaker holds the circuit breaker configuration.                properties:                  checkPeriod:                    anyOf:                    - type: integer                    - type: string                    description: CheckPeriod is the interval between successive checks                      of the circuit breaker condition (when in standby state).                    x-kubernetes-int-or-string: true                  expression:                    description: Expression is the condition that triggers the tripped                      state.                    type: string                  fallbackDuration:                    anyOf:                    - type: integer                    - type: string                    description: FallbackDuration is the duration for which the circuit                      breaker will wait before trying to recover (from a tripped state).                    x-kubernetes-int-or-string: true                  recoveryDuration:                    anyOf:                    - type: integer                    - type: string                    description: RecoveryDuration is the duration for which the circuit                      breaker will try to recover (as soon as it is in recovering                      state).                    x-kubernetes-int-or-string: true                type: object              compress:                description: 'Compress holds the compress middleware configuration.                  This middleware compresses responses before sending them to the                  client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/'                properties:                  excludedContentTypes:                    description: ExcludedContentTypes defines the list of content                      types to compare the Content-Type header of the incoming requests                      and responses before compressing.                    items:                      type: string                    type: array                  minResponseBodyBytes:                    description: 'MinResponseBodyBytes defines the minimum amount                      of bytes a response body must have to be compressed. Default:                      1024.'                    type: integer                type: object              contentType:                description: ContentType holds the content-type middleware configuration.                  This middleware exists to enable the correct behavior until at least                  the default one can be changed in a future version.                properties:                  autoDetect:                    description: AutoDetect specifies whether to let the `Content-Type`                      header, if it has not been set by the backend, be automatically                      set to a value derived from the contents of the response. As                      a proxy, the default behavior should be to leave the header                      alone, regardless of what the backend did with it. However,                      the historic default was to always auto-detect and set the header                      if it was nil, and it is going to be kept that way in order                      to support users currently relying on it.                    type: boolean                type: object              digestAuth:                description: 'DigestAuth holds the digest auth middleware configuration.                  This middleware restricts access to your services to known users.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/'                properties:                  headerField:                    description: 'HeaderField defines a header field to store the                      authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield'                    type: string                  realm:                    description: 'Realm allows the protected resources on a server                      to be partitioned into a set of protection spaces, each with                      its own authentication scheme. Default: traefik.'                    type: string                  removeHeader:                    description: RemoveHeader defines whether to remove the authorization                      header before forwarding the request to the backend.                    type: boolean                  secret:                    description: Secret is the name of the referenced Kubernetes Secret                      containing user credentials.                    type: string                type: object              errors:                description: 'ErrorPage holds the custom error middleware configuration.                  This middleware returns a custom page in lieu of the default, according                  to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/'                properties:                  query:                    description: Query defines the URL for the error page (hosted                      by service). The {status} variable can be used in order to insert                      the status code in the URL.                    type: string                  service:                    description: 'Service defines the reference to a Kubernetes Service                      that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service'                    properties:                      kind:                        description: Kind defines the kind of the Service.                        enum:                        - Service                        - TraefikService                        type: string                      name:                        description: Name defines the name of the referenced Kubernetes                          Service or TraefikService. The differentiation between the                          two is specified in the Kind field.                        type: string                      namespace:                        description: Namespace defines the namespace of the referenced                          Kubernetes Service or TraefikService.                        type: string                      nativeLB:                        description: NativeLB controls, when creating the load-balancer,                          whether the LB's children are directly the pods IPs or if                          the only child is the Kubernetes Service clusterIP. The                          Kubernetes Service itself does load-balance to the pods.                          By default, NativeLB is false.                        type: boolean                      passHostHeader:                        description: PassHostHeader defines whether the client Host                          header is forwarded to the upstream Kubernetes Service.                          By default, passHostHeader is true.                        type: boolean                      port:                        anyOf:                        - type: integer                        - type: string                        description: Port defines the port of a Kubernetes Service.                          This can be a reference to a named port.                        x-kubernetes-int-or-string: true                      responseForwarding:                        description: ResponseForwarding defines how Traefik forwards                          the response from the upstream Kubernetes Service to the                          client.                        properties:                          flushInterval:                            description: 'FlushInterval defines the interval, in milliseconds,                              in between flushes to the client while copying the response                              body. A negative value means to flush immediately after                              each write to the client. This configuration is ignored                              when ReverseProxy recognizes a response as a streaming                              response; for such responses, writes are flushed to                              the client immediately. Default: 100ms'                            type: string                        type: object                      scheme:                        description: Scheme defines the scheme to use for the request                          to the upstream Kubernetes Service. It defaults to https                          when Kubernetes Service port is 443, http otherwise.                        type: string                      serversTransport:                        description: ServersTransport defines the name of ServersTransport                          resource to use. It allows to configure the transport between                          Traefik and your servers. Can only be used on a Kubernetes                          Service.                        type: string                      sticky:                        description: 'Sticky defines the sticky sessions configuration.                          More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                        properties:                          cookie:                            description: Cookie defines the sticky cookie configuration.                            properties:                              httpOnly:                                description: HTTPOnly defines whether the cookie can                                  be accessed by client-side APIs, such as JavaScript.                                type: boolean                              name:                                description: Name defines the Cookie name.                                type: string                              sameSite:                                description: 'SameSite defines the same site policy.                                  More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                type: string                              secure:                                description: Secure defines whether the cookie can                                  only be transmitted over an encrypted connection                                  (i.e. HTTPS).                                type: boolean                            type: object                        type: object                      strategy:                        description: Strategy defines the load balancing strategy                          between the servers. RoundRobin is the only supported value                          at the moment.                        type: string                      weight:                        description: Weight defines the weight and should only be                          specified when Name references a TraefikService object (and                          to be precise, one that embeds a Weighted Round Robin).                        type: integer                    required:                    - name                    type: object                  status:                    description: Status defines which status or range of statuses                      should result in an error page. It can be either a status code                      as a number (500), as multiple comma-separated numbers (500,502),                      as ranges by separating two codes with a dash (500-599), or                      a combination of the two (404,418,500-599).                    items:                      type: string                    type: array                type: object              forwardAuth:                description: 'ForwardAuth holds the forward auth middleware configuration.                  This middleware delegates the request authentication to a Service.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/'                properties:                  address:                    description: Address defines the authentication server address.                    type: string                  authRequestHeaders:                    description: AuthRequestHeaders defines the list of the headers                      to copy from the request to the authentication server. If not                      set or empty then all request headers are passed.                    items:                      type: string                    type: array                  authResponseHeaders:                    description: AuthResponseHeaders defines the list of headers to                      copy from the authentication server response and set on forwarded                      request, replacing any existing conflicting headers.                    items:                      type: string                    type: array                  authResponseHeadersRegex:                    description: 'AuthResponseHeadersRegex defines the regex to match                      headers to copy from the authentication server response and                      set on forwarded request, after stripping all headers that match                      the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex'                    type: string                  tls:                    description: TLS defines the configuration used to secure the                      connection to the authentication server.                    properties:                      caOptional:                        type: boolean                      caSecret:                        description: CASecret is the name of the referenced Kubernetes                          Secret containing the CA to validate the server certificate.                          The CA certificate is extracted from key `tls.ca` or `ca.crt`.                        type: string                      certSecret:                        description: CertSecret is the name of the referenced Kubernetes                          Secret containing the client certificate. The client certificate                          is extracted from the keys `tls.crt` and `tls.key`.                        type: string                      insecureSkipVerify:                        description: InsecureSkipVerify defines whether the server                          certificates should be validated.                        type: boolean                    type: object                  trustForwardHeader:                    description: 'TrustForwardHeader defines whether to trust (ie:                      forward) all X-Forwarded-* headers.'                    type: boolean                type: object              headers:                description: 'Headers holds the headers middleware configuration.                  This middleware manages the requests and responses headers. More                  info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders'                properties:                  accessControlAllowCredentials:                    description: AccessControlAllowCredentials defines whether the                      request can include user credentials.                    type: boolean                  accessControlAllowHeaders:                    description: AccessControlAllowHeaders defines the Access-Control-Request-Headers                      values sent in preflight response.                    items:                      type: string                    type: array                  accessControlAllowMethods:                    description: AccessControlAllowMethods defines the Access-Control-Request-Method                      values sent in preflight response.                    items:                      type: string                    type: array                  accessControlAllowOriginList:                    description: AccessControlAllowOriginList is a list of allowable                      origins. Can also be a wildcard origin "*".                    items:                      type: string                    type: array                  accessControlAllowOriginListRegex:                    description: AccessControlAllowOriginListRegex is a list of allowable                      origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/).                    items:                      type: string                    type: array                  accessControlExposeHeaders:                    description: AccessControlExposeHeaders defines the Access-Control-Expose-Headers                      values sent in preflight response.                    items:                      type: string                    type: array                  accessControlMaxAge:                    description: AccessControlMaxAge defines the time that a preflight                      request may be cached.                    format: int64                    type: integer                  addVaryHeader:                    description: AddVaryHeader defines whether the Vary header is                      automatically added/updated when the AccessControlAllowOriginList                      is set.                    type: boolean                  allowedHosts:                    description: AllowedHosts defines the fully qualified list of                      allowed domain names.                    items:                      type: string                    type: array                  browserXssFilter:                    description: BrowserXSSFilter defines whether to add the X-XSS-Protection                      header with the value 1; mode=block.                    type: boolean                  contentSecurityPolicy:                    description: ContentSecurityPolicy defines the Content-Security-Policy                      header value.                    type: string                  contentTypeNosniff:                    description: ContentTypeNosniff defines whether to add the X-Content-Type-Options                      header with the nosniff value.                    type: boolean                  customBrowserXSSValue:                    description: CustomBrowserXSSValue defines the X-XSS-Protection                      header value. This overrides the BrowserXssFilter option.                    type: string                  customFrameOptionsValue:                    description: CustomFrameOptionsValue defines the X-Frame-Options                      header value. This overrides the FrameDeny option.                    type: string                  customRequestHeaders:                    additionalProperties:                      type: string                    description: CustomRequestHeaders defines the header names and                      values to apply to the request.                    type: object                  customResponseHeaders:                    additionalProperties:                      type: string                    description: CustomResponseHeaders defines the header names and                      values to apply to the response.                    type: object                  featurePolicy:                    description: 'Deprecated: use PermissionsPolicy instead.'                    type: string                  forceSTSHeader:                    description: ForceSTSHeader defines whether to add the STS header                      even when the connection is HTTP.                    type: boolean                  frameDeny:                    description: FrameDeny defines whether to add the X-Frame-Options                      header with the DENY value.                    type: boolean                  hostsProxyHeaders:                    description: HostsProxyHeaders defines the header keys that may                      hold a proxied hostname value for the request.                    items:                      type: string                    type: array                  isDevelopment:                    description: IsDevelopment defines whether to mitigate the unwanted                      effects of the AllowedHosts, SSL, and STS options when developing.                      Usually testing takes place using HTTP, not HTTPS, and on localhost,                      not your production domain. If you would like your development                      environment to mimic production with complete Host blocking,                      SSL redirects, and STS headers, leave this as false.                    type: boolean                  permissionsPolicy:                    description: PermissionsPolicy defines the Permissions-Policy                      header value. This allows sites to control browser features.                    type: string                  publicKey:                    description: PublicKey is the public key that implements HPKP                      to prevent MITM attacks with forged certificates.                    type: string                  referrerPolicy:                    description: ReferrerPolicy defines the Referrer-Policy header                      value. This allows sites to control whether browsers forward                      the Referer header to other sites.                    type: string                  sslForceHost:                    description: 'Deprecated: use RedirectRegex instead.'                    type: boolean                  sslHost:                    description: 'Deprecated: use RedirectRegex instead.'                    type: string                  sslProxyHeaders:                    additionalProperties:                      type: string                    description: 'SSLProxyHeaders defines the header keys with associated                      values that would indicate a valid HTTPS request. It can be                      useful when using other proxies (example: "X-Forwarded-Proto":                      "https").'                    type: object                  sslRedirect:                    description: 'Deprecated: use EntryPoint redirection or RedirectScheme                      instead.'                    type: boolean                  sslTemporaryRedirect:                    description: 'Deprecated: use EntryPoint redirection or RedirectScheme                      instead.'                    type: boolean                  stsIncludeSubdomains:                    description: STSIncludeSubdomains defines whether the includeSubDomains                      directive is appended to the Strict-Transport-Security header.                    type: boolean                  stsPreload:                    description: STSPreload defines whether the preload flag is appended                      to the Strict-Transport-Security header.                    type: boolean                  stsSeconds:                    description: STSSeconds defines the max-age of the Strict-Transport-Security                      header. If set to 0, the header is not set.                    format: int64                    type: integer                type: object              inFlightReq:                description: 'InFlightReq holds the in-flight request middleware configuration.                  This middleware limits the number of requests being processed and                  served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/'                properties:                  amount:                    description: Amount defines the maximum amount of allowed simultaneous                      in-flight request. The middleware responds with HTTP 429 Too                      Many Requests if there are already amount requests in progress                      (based on the same sourceCriterion strategy).                    format: int64                    type: integer                  sourceCriterion:                    description: 'SourceCriterion defines what criterion is used to                      group requests as originating from a common source. If several                      strategies are defined at the same time, an error will be raised.                      If none are set, the default is to use the requestHost. More                      info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/#sourcecriterion'                    properties:                      ipStrategy:                        description: 'IPStrategy holds the IP strategy configuration                          used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'                        properties:                          depth:                            description: Depth tells Traefik to use the X-Forwarded-For                              header and take the IP located at the depth position                              (starting from the right).                            type: integer                          excludedIPs:                            description: ExcludedIPs configures Traefik to scan the                              X-Forwarded-For header and select the first IP not in                              the list.                            items:                              type: string                            type: array                        type: object                      requestHeaderName:                        description: RequestHeaderName defines the name of the header                          used to group incoming requests.                        type: string                      requestHost:                        description: RequestHost defines whether to consider the request                          Host as the source.                        type: boolean                    type: object                type: object              ipWhiteList:                description: 'IPWhiteList holds the IP whitelist middleware configuration.                  This middleware accepts / refuses requests based on the client IP.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/'                properties:                  ipStrategy:                    description: 'IPStrategy holds the IP strategy configuration used                      by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'                    properties:                      depth:                        description: Depth tells Traefik to use the X-Forwarded-For                          header and take the IP located at the depth position (starting                          from the right).                        type: integer                      excludedIPs:                        description: ExcludedIPs configures Traefik to scan the X-Forwarded-For                          header and select the first IP not in the list.                        items:                          type: string                        type: array                    type: object                  sourceRange:                    description: SourceRange defines the set of allowed IPs (or ranges                      of allowed IPs by using CIDR notation).                    items:                      type: string                    type: array                type: object              passTLSClientCert:                description: 'PassTLSClientCert holds the pass TLS client cert middleware                  configuration. This middleware adds the selected data from the passed                  client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/'                properties:                  info:                    description: Info selects the specific client certificate details                      you want to add to the X-Forwarded-Tls-Client-Cert-Info header.                    properties:                      issuer:                        description: Issuer defines the client certificate issuer                          details to add to the X-Forwarded-Tls-Client-Cert-Info header.                        properties:                          commonName:                            description: CommonName defines whether to add the organizationalUnit                              information into the issuer.                            type: boolean                          country:                            description: Country defines whether to add the country                              information into the issuer.                            type: boolean                          domainComponent:                            description: DomainComponent defines whether to add the                              domainComponent information into the issuer.                            type: boolean                          locality:                            description: Locality defines whether to add the locality                              information into the issuer.                            type: boolean                          organization:                            description: Organization defines whether to add the organization                              information into the issuer.                            type: boolean                          province:                            description: Province defines whether to add the province                              information into the issuer.                            type: boolean                          serialNumber:                            description: SerialNumber defines whether to add the serialNumber                              information into the issuer.                            type: boolean                        type: object                      notAfter:                        description: NotAfter defines whether to add the Not After                          information from the Validity part.                        type: boolean                      notBefore:                        description: NotBefore defines whether to add the Not Before                          information from the Validity part.                        type: boolean                      sans:                        description: Sans defines whether to add the Subject Alternative                          Name information from the Subject Alternative Name part.                        type: boolean                      serialNumber:                        description: SerialNumber defines whether to add the client                          serialNumber information.                        type: boolean                      subject:                        description: Subject defines the client certificate subject                          details to add to the X-Forwarded-Tls-Client-Cert-Info header.                        properties:                          commonName:                            description: CommonName defines whether to add the organizationalUnit                              information into the subject.                            type: boolean                          country:                            description: Country defines whether to add the country                              information into the subject.                            type: boolean                          domainComponent:                            description: DomainComponent defines whether to add the                              domainComponent information into the subject.                            type: boolean                          locality:                            description: Locality defines whether to add the locality                              information into the subject.                            type: boolean                          organization:                            description: Organization defines whether to add the organization                              information into the subject.                            type: boolean                          organizationalUnit:                            description: OrganizationalUnit defines whether to add                              the organizationalUnit information into the subject.                            type: boolean                          province:                            description: Province defines whether to add the province                              information into the subject.                            type: boolean                          serialNumber:                            description: SerialNumber defines whether to add the serialNumber                              information into the subject.                            type: boolean                        type: object                    type: object                  pem:                    description: PEM sets the X-Forwarded-Tls-Client-Cert header with                      the certificate.                    type: boolean                type: object              plugin:                additionalProperties:                  x-kubernetes-preserve-unknown-fields: true                description: 'Plugin defines the middleware plugin configuration.                  More info: https://doc.traefik.io/traefik/plugins/'                type: object              rateLimit:                description: 'RateLimit holds the rate limit configuration. This middleware                  ensures that services will receive a fair amount of requests, and                  allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/'                properties:                  average:                    description: Average is the maximum rate, by default in requests/s,                      allowed for the given source. It defaults to 0, which means                      no rate limiting. The rate is actually defined by dividing Average                      by Period. So for a rate below 1req/s, one needs to define a                      Period larger than a second.                    format: int64                    type: integer                  burst:                    description: Burst is the maximum number of requests allowed to                      arrive in the same arbitrarily small period of time. It defaults                      to 1.                    format: int64                    type: integer                  period:                    anyOf:                    - type: integer                    - type: string                    description: 'Period, in combination with Average, defines the                      actual maximum rate, such as: r = Average / Period. It defaults                      to a second.'                    x-kubernetes-int-or-string: true                  sourceCriterion:                    description: SourceCriterion defines what criterion is used to                      group requests as originating from a common source. If several                      strategies are defined at the same time, an error will be raised.                      If none are set, the default is to use the request's remote                      address field (as an ipStrategy).                    properties:                      ipStrategy:                        description: 'IPStrategy holds the IP strategy configuration                          used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy'                        properties:                          depth:                            description: Depth tells Traefik to use the X-Forwarded-For                              header and take the IP located at the depth position                              (starting from the right).                            type: integer                          excludedIPs:                            description: ExcludedIPs configures Traefik to scan the                              X-Forwarded-For header and select the first IP not in                              the list.                            items:                              type: string                            type: array                        type: object                      requestHeaderName:                        description: RequestHeaderName defines the name of the header                          used to group incoming requests.                        type: string                      requestHost:                        description: RequestHost defines whether to consider the request                          Host as the source.                        type: boolean                    type: object                type: object              redirectRegex:                description: 'RedirectRegex holds the redirect regex middleware configuration.                  This middleware redirects a request using regex matching and replacement.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex'                properties:                  permanent:                    description: Permanent defines whether the redirection is permanent                      (301).                    type: boolean                  regex:                    description: Regex defines the regex used to match and capture                      elements from the request URL.                    type: string                  replacement:                    description: Replacement defines how to modify the URL to have                      the new target URL.                    type: string                type: object              redirectScheme:                description: 'RedirectScheme holds the redirect scheme middleware                  configuration. This middleware redirects requests from a scheme/port                  to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/'                properties:                  permanent:                    description: Permanent defines whether the redirection is permanent                      (301).                    type: boolean                  port:                    description: Port defines the port of the new URL.                    type: string                  scheme:                    description: Scheme defines the scheme of the new URL.                    type: string                type: object              replacePath:                description: 'ReplacePath holds the replace path middleware configuration.                  This middleware replaces the path of the request URL and store the                  original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/'                properties:                  path:                    description: Path defines the path to use as replacement in the                      request URL.                    type: string                type: object              replacePathRegex:                description: 'ReplacePathRegex holds the replace path regex middleware                  configuration. This middleware replaces the path of a URL using                  regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/'                properties:                  regex:                    description: Regex defines the regular expression used to match                      and capture the path from the request URL.                    type: string                  replacement:                    description: Replacement defines the replacement path format,                      which can include captured variables.                    type: string                type: object              retry:                description: 'Retry holds the retry middleware configuration. This                  middleware reissues requests a given number of times to a backend                  server if that server does not reply. As soon as the server answers,                  the middleware stops retrying, regardless of the response status.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/'                properties:                  attempts:                    description: Attempts defines how many times the request should                      be retried.                    type: integer                  initialInterval:                    anyOf:                    - type: integer                    - type: string                    description: InitialInterval defines the first wait time in the                      exponential backoff series. The maximum interval is calculated                      as twice the initialInterval. If unspecified, requests will                      be retried immediately. The value of initialInterval should                      be provided in seconds or as a valid duration format, see https://pkg.go.dev/time#ParseDuration.                    x-kubernetes-int-or-string: true                type: object              stripPrefix:                description: 'StripPrefix holds the strip prefix middleware configuration.                  This middleware removes the specified prefixes from the URL path.                  More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/'                properties:                  forceSlash:                    description: 'ForceSlash ensures that the resulting stripped path                      is not the empty string, by replacing it with / when necessary.                      Default: true.'                    type: boolean                  prefixes:                    description: Prefixes defines the prefixes to strip from the request                      URL.                    items:                      type: string                    type: array                type: object              stripPrefixRegex:                description: 'StripPrefixRegex holds the strip prefix regex middleware                  configuration. This middleware removes the matching prefixes from                  the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/'                properties:                  regex:                    description: Regex defines the regular expression to match the                      path prefix from the request URL.                    items:                      type: string                    type: array                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: middlewaretcps.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: MiddlewareTCP    listKind: MiddlewareTCPList    plural: middlewaretcps    singular: middlewaretcp  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.          More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: MiddlewareTCPSpec defines the desired state of a MiddlewareTCP.            properties:              inFlightConn:                description: InFlightConn defines the InFlightConn middleware configuration.                properties:                  amount:                    description: Amount defines the maximum amount of allowed simultaneous                      connections. The middleware closes the connection if there are                      already amount connections opened.                    format: int64                    type: integer                type: object              ipWhiteList:                description: IPWhiteList defines the IPWhiteList middleware configuration.                properties:                  sourceRange:                    description: SourceRange defines the allowed IPs (or ranges of                      allowed IPs by using CIDR notation).                    items:                      type: string                    type: array                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: serverstransports.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: ServersTransport    listKind: ServersTransportList    plural: serverstransports    singular: serverstransport  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'ServersTransport is the CRD implementation of a ServersTransport.          If no serversTransport is specified, the default@internal will be used.          The default@internal serversTransport is created from the static configuration.          More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: ServersTransportSpec defines the desired state of a ServersTransport.            properties:              certificatesSecrets:                description: CertificatesSecrets defines a list of secret storing                  client certificates for mTLS.                items:                  type: string                type: array              disableHTTP2:                description: DisableHTTP2 disables HTTP/2 for connections with backend                  servers.                type: boolean              forwardingTimeouts:                description: ForwardingTimeouts defines the timeouts for requests                  forwarded to the backend servers.                properties:                  dialTimeout:                    anyOf:                    - type: integer                    - type: string                    description: DialTimeout is the amount of time to wait until a                      connection to a backend server can be established.                    x-kubernetes-int-or-string: true                  idleConnTimeout:                    anyOf:                    - type: integer                    - type: string                    description: IdleConnTimeout is the maximum period for which an                      idle HTTP keep-alive connection will remain open before closing                      itself.                    x-kubernetes-int-or-string: true                  pingTimeout:                    anyOf:                    - type: integer                    - type: string                    description: PingTimeout is the timeout after which the HTTP/2                      connection will be closed if a response to ping is not received.                    x-kubernetes-int-or-string: true                  readIdleTimeout:                    anyOf:                    - type: integer                    - type: string                    description: ReadIdleTimeout is the timeout after which a health                      check using ping frame will be carried out if no frame is received                      on the HTTP/2 connection.                    x-kubernetes-int-or-string: true                  responseHeaderTimeout:                    anyOf:                    - type: integer                    - type: string                    description: ResponseHeaderTimeout is the amount of time to wait                      for a server's response headers after fully writing the request                      (including its body, if any).                    x-kubernetes-int-or-string: true                type: object              insecureSkipVerify:                description: InsecureSkipVerify disables SSL certificate verification.                type: boolean              maxIdleConnsPerHost:                description: MaxIdleConnsPerHost controls the maximum idle (keep-alive)                  to keep per-host.                type: integer              peerCertURI:                description: PeerCertURI defines the peer cert URI used to match against                  SAN URI during the peer certificate verification.                type: string              rootCAsSecrets:                description: RootCAsSecrets defines a list of CA secret used to validate                  self-signed certificate.                items:                  type: string                type: array              serverName:                description: ServerName defines the server name used to contact the                  server.                type: string            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: tlsoptions.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: TLSOption    listKind: TLSOptionList    plural: tlsoptions    singular: tlsoption  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'TLSOption is the CRD implementation of a Traefik TLS Option,          allowing to configure some parameters of the TLS connection. More info:          https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: TLSOptionSpec defines the desired state of a TLSOption.            properties:              alpnProtocols:                description: 'ALPNProtocols defines the list of supported application                  level protocols for the TLS handshake, in order of preference. More                  info: https://doc.traefik.io/traefik/v2.10/https/tls/#alpn-protocols'                items:                  type: string                type: array              cipherSuites:                description: 'CipherSuites defines the list of supported cipher suites                  for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites'                items:                  type: string                type: array              clientAuth:                description: ClientAuth defines the server's policy for TLS Client                  Authentication.                properties:                  clientAuthType:                    description: ClientAuthType defines the client authentication                      type to apply.                    enum:                    - NoClientCert                    - RequestClientCert                    - RequireAnyClientCert                    - VerifyClientCertIfGiven                    - RequireAndVerifyClientCert                    type: string                  secretNames:                    description: SecretNames defines the names of the referenced Kubernetes                      Secret storing certificate details.                    items:                      type: string                    type: array                type: object              curvePreferences:                description: 'CurvePreferences defines the preferred elliptic curves                  in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences'                items:                  type: string                type: array              maxVersion:                description: 'MaxVersion defines the maximum TLS version that Traefik                  will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,                  VersionTLS13. Default: None.'                type: string              minVersion:                description: 'MinVersion defines the minimum TLS version that Traefik                  will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12,                  VersionTLS13. Default: VersionTLS10.'                type: string              preferServerCipherSuites:                description: 'PreferServerCipherSuites defines whether the server                  chooses a cipher suite among his own instead of among the client''s.                  It is enabled automatically when minVersion or maxVersion is set.                  Deprecated: https://github.com/golang/go/issues/45430'                type: boolean              sniStrict:                description: SniStrict defines whether Traefik allows connections                  from clients connections that do not specify a server_name extension.                type: boolean            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: tlsstores.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: TLSStore    listKind: TLSStoreList    plural: tlsstores    singular: tlsstore  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'TLSStore is the CRD implementation of a Traefik TLS Store. For          the time being, only the TLSStore named default is supported. This means          that you cannot have two stores that are named default in different Kubernetes          namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: TLSStoreSpec defines the desired state of a TLSStore.            properties:              certificates:                description: Certificates is a list of secret names, each secret holding                  a key/certificate pair to add to the store.                items:                  description: Certificate holds a secret name for the TLSStore resource.                  properties:                    secretName:                      description: SecretName is the name of the referenced Kubernetes                        Secret to specify the certificate details.                      type: string                  required:                  - secretName                  type: object                type: array              defaultCertificate:                description: DefaultCertificate defines the default certificate configuration.                properties:                  secretName:                    description: SecretName is the name of the referenced Kubernetes                      Secret to specify the certificate details.                    type: string                required:                - secretName                type: object              defaultGeneratedCert:                description: DefaultGeneratedCert defines the default generated certificate                  configuration.                properties:                  domain:                    description: Domain is the domain definition for the DefaultCertificate.                    properties:                      main:                        description: Main defines the main domain name.                        type: string                      sans:                        description: SANs defines the subject alternative domain names.                        items:                          type: string                        type: array                    type: object                  resolver:                    description: Resolver is the name of the resolver that will be                      used to issue the DefaultCertificate.                    type: string                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true---apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  annotations:    controller-gen.kubebuilder.io/version: v0.13.0  name: traefikservices.traefik.containo.usspec:  group: traefik.containo.us  names:    kind: TraefikService    listKind: TraefikServiceList    plural: traefikservices    singular: traefikservice  scope: Namespaced  versions:  - name: v1alpha1    schema:      openAPIV3Schema:        description: 'TraefikService is the CRD implementation of a Traefik Service.          TraefikService object allows to: - Apply weight to Services on load-balancing          - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice'        properties:          apiVersion:            description: 'APIVersion defines the versioned schema of this representation              of an object. Servers should convert recognized schemas to the latest              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'            type: string          kind:            description: 'Kind is a string value representing the REST resource this              object represents. Servers may infer this from the endpoint the client              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'            type: string          metadata:            type: object          spec:            description: TraefikServiceSpec defines the desired state of a TraefikService.            properties:              mirroring:                description: Mirroring defines the Mirroring service configuration.                properties:                  kind:                    description: Kind defines the kind of the Service.                    enum:                    - Service                    - TraefikService                    type: string                  maxBodySize:                    description: MaxBodySize defines the maximum size allowed for                      the body of the request. If the body is larger, the request                      is not mirrored. Default value is -1, which means unlimited                      size.                    format: int64                    type: integer                  mirrors:                    description: Mirrors defines the list of mirrors where Traefik                      will duplicate the traffic.                    items:                      description: MirrorService holds the mirror configuration.                      properties:                        kind:                          description: Kind defines the kind of the Service.                          enum:                          - Service                          - TraefikService                          type: string                        name:                          description: Name defines the name of the referenced Kubernetes                            Service or TraefikService. The differentiation between                            the two is specified in the Kind field.                          type: string                        namespace:                          description: Namespace defines the namespace of the referenced                            Kubernetes Service or TraefikService.                          type: string                        nativeLB:                          description: NativeLB controls, when creating the load-balancer,                            whether the LB's children are directly the pods IPs or                            if the only child is the Kubernetes Service clusterIP.                            The Kubernetes Service itself does load-balance to the                            pods. By default, NativeLB is false.                          type: boolean                        passHostHeader:                          description: PassHostHeader defines whether the client Host                            header is forwarded to the upstream Kubernetes Service.                            By default, passHostHeader is true.                          type: boolean                        percent:                          description: 'Percent defines the part of the traffic to                            mirror. Supported values: 0 to 100.'                          type: integer                        port:                          anyOf:                          - type: integer                          - type: string                          description: Port defines the port of a Kubernetes Service.                            This can be a reference to a named port.                          x-kubernetes-int-or-string: true                        responseForwarding:                          description: ResponseForwarding defines how Traefik forwards                            the response from the upstream Kubernetes Service to the                            client.                          properties:                            flushInterval:                              description: 'FlushInterval defines the interval, in                                milliseconds, in between flushes to the client while                                copying the response body. A negative value means                                to flush immediately after each write to the client.                                This configuration is ignored when ReverseProxy recognizes                                a response as a streaming response; for such responses,                                writes are flushed to the client immediately. Default:                                100ms'                              type: string                          type: object                        scheme:                          description: Scheme defines the scheme to use for the request                            to the upstream Kubernetes Service. It defaults to https                            when Kubernetes Service port is 443, http otherwise.                          type: string                        serversTransport:                          description: ServersTransport defines the name of ServersTransport                            resource to use. It allows to configure the transport                            between Traefik and your servers. Can only be used on                            a Kubernetes Service.                          type: string                        sticky:                          description: 'Sticky defines the sticky sessions configuration.                            More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                          properties:                            cookie:                              description: Cookie defines the sticky cookie configuration.                              properties:                                httpOnly:                                  description: HTTPOnly defines whether the cookie                                    can be accessed by client-side APIs, such as JavaScript.                                  type: boolean                                name:                                  description: Name defines the Cookie name.                                  type: string                                sameSite:                                  description: 'SameSite defines the same site policy.                                    More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                  type: string                                secure:                                  description: Secure defines whether the cookie can                                    only be transmitted over an encrypted connection                                    (i.e. HTTPS).                                  type: boolean                              type: object                          type: object                        strategy:                          description: Strategy defines the load balancing strategy                            between the servers. RoundRobin is the only supported                            value at the moment.                          type: string                        weight:                          description: Weight defines the weight and should only be                            specified when Name references a TraefikService object                            (and to be precise, one that embeds a Weighted Round Robin).                          type: integer                      required:                      - name                      type: object                    type: array                  name:                    description: Name defines the name of the referenced Kubernetes                      Service or TraefikService. The differentiation between the two                      is specified in the Kind field.                    type: string                  namespace:                    description: Namespace defines the namespace of the referenced                      Kubernetes Service or TraefikService.                    type: string                  nativeLB:                    description: NativeLB controls, when creating the load-balancer,                      whether the LB's children are directly the pods IPs or if the                      only child is the Kubernetes Service clusterIP. The Kubernetes                      Service itself does load-balance to the pods. By default, NativeLB                      is false.                    type: boolean                  passHostHeader:                    description: PassHostHeader defines whether the client Host header                      is forwarded to the upstream Kubernetes Service. By default,                      passHostHeader is true.                    type: boolean                  port:                    anyOf:                    - type: integer                    - type: string                    description: Port defines the port of a Kubernetes Service. This                      can be a reference to a named port.                    x-kubernetes-int-or-string: true                  responseForwarding:                    description: ResponseForwarding defines how Traefik forwards the                      response from the upstream Kubernetes Service to the client.                    properties:                      flushInterval:                        description: 'FlushInterval defines the interval, in milliseconds,                          in between flushes to the client while copying the response                          body. A negative value means to flush immediately after                          each write to the client. This configuration is ignored                          when ReverseProxy recognizes a response as a streaming response;                          for such responses, writes are flushed to the client immediately.                          Default: 100ms'                        type: string                    type: object                  scheme:                    description: Scheme defines the scheme to use for the request                      to the upstream Kubernetes Service. It defaults to https when                      Kubernetes Service port is 443, http otherwise.                    type: string                  serversTransport:                    description: ServersTransport defines the name of ServersTransport                      resource to use. It allows to configure the transport between                      Traefik and your servers. Can only be used on a Kubernetes Service.                    type: string                  sticky:                    description: 'Sticky defines the sticky sessions configuration.                      More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                    properties:                      cookie:                        description: Cookie defines the sticky cookie configuration.                        properties:                          httpOnly:                            description: HTTPOnly defines whether the cookie can be                              accessed by client-side APIs, such as JavaScript.                            type: boolean                          name:                            description: Name defines the Cookie name.                            type: string                          sameSite:                            description: 'SameSite defines the same site policy. More                              info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                            type: string                          secure:                            description: Secure defines whether the cookie can only                              be transmitted over an encrypted connection (i.e. HTTPS).                            type: boolean                        type: object                    type: object                  strategy:                    description: Strategy defines the load balancing strategy between                      the servers. RoundRobin is the only supported value at the moment.                    type: string                  weight:                    description: Weight defines the weight and should only be specified                      when Name references a TraefikService object (and to be precise,                      one that embeds a Weighted Round Robin).                    type: integer                required:                - name                type: object              weighted:                description: Weighted defines the Weighted Round Robin configuration.                properties:                  services:                    description: Services defines the list of Kubernetes Service and/or                      TraefikService to load-balance, with weight.                    items:                      description: Service defines an upstream HTTP service to proxy                        traffic to.                      properties:                        kind:                          description: Kind defines the kind of the Service.                          enum:                          - Service                          - TraefikService                          type: string                        name:                          description: Name defines the name of the referenced Kubernetes                            Service or TraefikService. The differentiation between                            the two is specified in the Kind field.                          type: string                        namespace:                          description: Namespace defines the namespace of the referenced                            Kubernetes Service or TraefikService.                          type: string                        nativeLB:                          description: NativeLB controls, when creating the load-balancer,                            whether the LB's children are directly the pods IPs or                            if the only child is the Kubernetes Service clusterIP.                            The Kubernetes Service itself does load-balance to the                            pods. By default, NativeLB is false.                          type: boolean                        passHostHeader:                          description: PassHostHeader defines whether the client Host                            header is forwarded to the upstream Kubernetes Service.                            By default, passHostHeader is true.                          type: boolean                        port:                          anyOf:                          - type: integer                          - type: string                          description: Port defines the port of a Kubernetes Service.                            This can be a reference to a named port.                          x-kubernetes-int-or-string: true                        responseForwarding:                          description: ResponseForwarding defines how Traefik forwards                            the response from the upstream Kubernetes Service to the                            client.                          properties:                            flushInterval:                              description: 'FlushInterval defines the interval, in                                milliseconds, in between flushes to the client while                                copying the response body. A negative value means                                to flush immediately after each write to the client.                                This configuration is ignored when ReverseProxy recognizes                                a response as a streaming response; for such responses,                                writes are flushed to the client immediately. Default:                                100ms'                              type: string                          type: object                        scheme:                          description: Scheme defines the scheme to use for the request                            to the upstream Kubernetes Service. It defaults to https                            when Kubernetes Service port is 443, http otherwise.                          type: string                        serversTransport:                          description: ServersTransport defines the name of ServersTransport                            resource to use. It allows to configure the transport                            between Traefik and your servers. Can only be used on                            a Kubernetes Service.                          type: string                        sticky:                          description: 'Sticky defines the sticky sessions configuration.                            More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions'                          properties:                            cookie:                              description: Cookie defines the sticky cookie configuration.                              properties:                                httpOnly:                                  description: HTTPOnly defines whether the cookie                                    can be accessed by client-side APIs, such as JavaScript.                                  type: boolean                                name:                                  description: Name defines the Cookie name.                                  type: string                                sameSite:                                  description: 'SameSite defines the same site policy.                                    More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                                  type: string                                secure:                                  description: Secure defines whether the cookie can                                    only be transmitted over an encrypted connection                                    (i.e. HTTPS).                                  type: boolean                              type: object                          type: object                        strategy:                          description: Strategy defines the load balancing strategy                            between the servers. RoundRobin is the only supported                            value at the moment.                          type: string                        weight:                          description: Weight defines the weight and should only be                            specified when Name references a TraefikService object                            (and to be precise, one that embeds a Weighted Round Robin).                          type: integer                      required:                      - name                      type: object                    type: array                  sticky:                    description: 'Sticky defines whether sticky sessions are enabled.                      More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing'                    properties:                      cookie:                        description: Cookie defines the sticky cookie configuration.                        properties:                          httpOnly:                            description: HTTPOnly defines whether the cookie can be                              accessed by client-side APIs, such as JavaScript.                            type: boolean                          name:                            description: Name defines the Cookie name.                            type: string                          sameSite:                            description: 'SameSite defines the same site policy. More                              info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite'                            type: string                          secure:                            description: Secure defines whether the cookie can only                              be transmitted over an encrypted connection (i.e. HTTPS).                            type: boolean                        type: object                    type: object                type: object            type: object        required:        - metadata        - spec        type: object    served: true    storage: true
 |