acouvreur / traefik-ondemand-service

Traefik ondemand service for the traefik ondemand plugin

Home Page:https://pilot.traefik.io/plugins/605afbdba5f67ab9a1b0e53a/containers-on-demand

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project achieved, please see acouvreur/sablier

Traefik Ondemand Plugin
Traefik Ondemand Service

Traefik Ondemand Service for traefik-ondemand-plugin to control containers and services.

Github Actions

Features

  • Support for Docker containers
  • Support for Docker swarm mode, scale services
  • Support for Kubernetes Deployments and Statefulsets
  • Start your container/service on the first request
  • Dynamic loading page (cloudflare or grafana cloud style)
  • Automatic scale to zero after configured timeout upon last request the service received
  • Support container/service healthcheck and will not redirect until service is healthy

Usage

CLI

./traefik-ondemand-service --swarmMode=true --kubernetesMode=false

Argument Value Description
swarmMode true,false (default true) Enable/Disable swarm mode. Used to determine the scaler implementation.
kubernetesMode true,false (default false) Enable/Disable Kubernetes mode. Used to determine the scaler implementation.
storagePath path/to/storage/file (default nil) Enables persistent storage, file will be used to load previous state upon starting and will sync the current content to memory into the file every 5 seconds

Docker

  • Docker Hub acouvreur/traefik-ondemand-service
  • Ghcr ghcr.io/acouvreur/traefik-ondemand-service

docker run -v /var/run/docker.sock:/var/run/docker.sock -p 10000:10000 ghcr.io/acouvreur/traefik-ondemand-service:latest --swarmode=true

Kubernetes

see KUBERNETES.md

API

GET <service_url>:10000/?name=<service_name>&timeout=<timeout>
Query param Type Description
name string The docker container name, or the swarm service name
timeout time.Duration The duration after which the container/service will be scaled down to 0
Body Status code Description
started 202 Created The container/service is available
starting 201 Accepted The container/service has been scheduled for starting but is not yet available

About

Traefik ondemand service for the traefik ondemand plugin

https://pilot.traefik.io/plugins/605afbdba5f67ab9a1b0e53a/containers-on-demand

License:Apache License 2.0


Languages

Language:Go 97.0%Language:JavaScript 1.2%Language:Dockerfile 1.1%Language:Makefile 0.8%