https://github.com/livekit/traefik-readiness-plugin
Traefik Readiness Plugin
https://github.com/livekit/traefik-readiness-plugin
traefik traefik-plugin
Last synced: 11 months ago
JSON representation
Traefik Readiness Plugin
- Host: GitHub
- URL: https://github.com/livekit/traefik-readiness-plugin
- Owner: livekit
- License: apache-2.0
- Created: 2024-04-17T05:37:09.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T17:53:58.000Z (almost 2 years ago)
- Last Synced: 2024-09-10T20:02:02.098Z (almost 2 years ago)
- Topics: traefik, traefik-plugin
- Language: Go
- Homepage:
- Size: 1.5 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Traefik Readiness Plugin
This plugin adds an readiness endpoint that is useful when Traefik is deployed in Kubernetes. The plugin:
- Only returns a 200 OK response after Traefik has finished loading all dynamic configuration.
- Makes sure container CPU usage is below a conifurable threshold. This is useful when Traefik serves long running requests, especially when using autoscaling.
## Configuration
Traefik Helm chart values:
```yaml
deployment:
healthchecksPort: 8082
readinessPath: /ready # depends on https://github.com/traefik/traefik-helm-chart/pull/1041
experimental:
plugins:
readiness:
moduleName: github.com/livekit/traefik-readiness-plugin
version: v0.0.2-alpha.1
ingressRoute:
healthcheck:
enabled: true
matchRule: PathPrefix(`/ping`) || PathPrefix(`/ready`)
entryPoints:
- ping
middlewares:
- name: readiness
readinessProbe:
initialDelaySeconds: 5
livenessProbe:
initialDelaySeconds: 5
ports:
ping:
port: 8082
expose:
default: true
exposedPort: 8082
protocol: TCP
```
Middleware:
```yaml
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: readiness
namespace: traefik
spec:
plugin:
readiness:
ReadyPath: /ready
ReadyCPULimit: 0.8
```