-
Notifications
You must be signed in to change notification settings - Fork 212
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add traefik CRDs under new group name (#166)
- Loading branch information
1 parent
09ef4b8
commit 6c233ad
Showing
9 changed files
with
2,269 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,270 @@ | ||
{ | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"type": "array" | ||
} | ||
}, | ||
"required": [ | ||
"kind", | ||
"match" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
}, | ||
"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", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"required": [ | ||
"routes" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"required": [ | ||
"metadata", | ||
"spec" | ||
], | ||
"type": "object" | ||
} |
Oops, something went wrong.