haproxy manager
This commit is contained in:
103
README.md
103
README.md
@@ -1,2 +1,105 @@
|
||||
# HAProxy Manager Base
|
||||
|
||||
A Flask-based API service for managing HAProxy configurations, domains, and SSL certificates.
|
||||
|
||||
## API Endpoints
|
||||
|
||||
### Health Check
|
||||
Check the status of the HAProxy Manager service.
|
||||
|
||||
```bash
|
||||
GET /health
|
||||
|
||||
# Response
|
||||
{
|
||||
"status": "healthy",
|
||||
"haproxy_status": "running",
|
||||
"database": "connected"
|
||||
}
|
||||
```
|
||||
|
||||
### Add Domain
|
||||
Add a new domain with backend servers configuration.
|
||||
|
||||
```bash
|
||||
POST /api/domain
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"domain": "example.com",
|
||||
"backend_name": "example_backend",
|
||||
"servers": [
|
||||
{
|
||||
"name": "server1",
|
||||
"address": "10.0.0.1",
|
||||
"port": 8080,
|
||||
"options": "check"
|
||||
},
|
||||
{
|
||||
"name": "server2",
|
||||
"address": "10.0.0.2",
|
||||
"port": 8080,
|
||||
"options": "check backup"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
# Response
|
||||
{
|
||||
"status": "success",
|
||||
"domain_id": 1
|
||||
}
|
||||
```
|
||||
|
||||
### Enable SSL
|
||||
Request and configure SSL certificate for a domain using Let's Encrypt.
|
||||
|
||||
```bash
|
||||
POST /api/ssl
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"domain": "example.com"
|
||||
}
|
||||
|
||||
# Response
|
||||
{
|
||||
"status": "success"
|
||||
}
|
||||
```
|
||||
|
||||
### Remove Domain
|
||||
Remove a domain and its associated backend configuration.
|
||||
|
||||
```bash
|
||||
DELETE /api/domain
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"domain": "example.com"
|
||||
}
|
||||
|
||||
# Response
|
||||
{
|
||||
"status": "success",
|
||||
"message": "Domain configuration removed"
|
||||
}
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- Automatic HAProxy configuration generation
|
||||
- Let's Encrypt SSL certificate integration
|
||||
- Backend server management
|
||||
- Self-signed certificate generation for development
|
||||
- Health monitoring
|
||||
- Database-backed configuration storage
|
||||
|
||||
## Requirements
|
||||
|
||||
- HAProxy
|
||||
- Python 3.x
|
||||
- Flask
|
||||
- SQLite3
|
||||
- Certbot (for Let's Encrypt certificates)
|
||||
- OpenSSL (for self-signed certificates)
|
||||
|
Reference in New Issue
Block a user