# Traefik Redis Provider API [![pipeline status](https://git.siteworxpro.com/rrise/traefik-redis-provider-api/badges/master/pipeline.svg)](https://git.siteworxpro.com/rrise/traefik-redis-provider-api/-/commits/master) [![coverage report](https://git.siteworxpro.com/rrise/traefik-redis-provider-api/badges/master/coverage.svg)](https://git.siteworxpro.com/rrise/traefik-redis-provider-api/-/commits/master) [![Latest Release](https://git.siteworxpro.com/rrise/traefik-redis-provider-api/-/badges/release.svg)](https://git.siteworxpro.com/rrise/traefik-redis-provider-api/-/releases) ![Gitea Tests](https://gitea.siteworxpro.com//Siteworxpro/Traefik-Redis-Api/actions/workflows/tests.yml/badge.svg?branch=master) [Traefik](https://traefik.io/traefik/) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy. This project provides an api manager for the [Redis provider](https://doc.traefik.io/traefik/providers/redis/) for Traefik, allowing you to use Redis as a dynamic configuration backend. ## Running the Project ### Prerequisites - Docker - Traefik - Redis ### Environment Variables - `REDIS_HOST`: The URL of the Redis server. Default is `localhost`. - `REDIS_PORT`: The port of the Redis server. Default is `6379`. - `REDIS_DATABASE`: The database number to use. Default is `0`. - `HTTP_PORT`: The port to run the HTTP server on. Default is `9501`. ```shell docker run --rm -it -p 9501:9501 scr.siteworxpro.com/traefik-api:v1.1.0 ``` ## Usage ### Get All Routes ```http request GET http://localhost:9501/http/routes Accept: application/json ``` ```json [ "route-1", "route-2" ] ``` ### Get a Route ```http request GET http://localhost:9501/http/routes/route-1 Accept: application/json ``` ```json { "id": "route-1", "rule": "Host(`example.com`)", "service": "service-1", "middlewares": [ "middleware-1" ] } ``` ## Dev Environment ### Prerequisites - Docker - Docker Compose ### Starting the Runtime ```shell docker-compose up -d ``` ### Start the server ```shell docker exec -it traefik-redis-api-dev-runtime-1 rr serve ``` You can access the api at `http://localhost:9501/` ### Xdebug xdebug needs to be built into the container before it will work ```shell docker exec -it traefik-redis-api-dev-runtime-1 bin/xdebug.sh ``` ### Install the dependencies ```shell docker run --rm -v $(PWD):/app siteworxpro/composer install --ignore-platform-reqs ``` ### Running all tests ```shell docker run --rm -v $(PWD):/app siteworxpro/composer run tests:all ``` ## License ```text Copyright (c)2025 Siteworx Professionals, LLC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ```