You've already forked Traefik-Redis-Api
104 lines
2.9 KiB
Markdown
104 lines
2.9 KiB
Markdown
# Traefik Redis Provider API
|
|
|
|
[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.
|
|
``` |