| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528 |
- ---
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: ingressroutes.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: ingressroutetcps.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: ingressrouteudps.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: middlewares.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: middlewaretcps.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: serverstransports.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: tlsoptions.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: tlsstores.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: traefikservices.traefik.io
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: ingressroutes.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: ingressroutetcps.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: ingressrouteudps.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: middlewares.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: middlewaretcps.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: serverstransports.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: tlsoptions.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: tlsstores.traefik.containo.us
- spec:
- 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/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
- name: traefikservices.traefik.containo.us
- spec:
- 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
|