Files
Traefik-Redis-Api/README.md

109 lines
3.4 KiB
Markdown

# 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)
[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.
```