76 lines
1.8 KiB
Markdown
76 lines
1.8 KiB
Markdown
# Edge VPS
|
|
|
|
Configures edge VPS instances with WireGuard VPN, Traefik reverse proxy, Pangolin, and Elastic Fleet Agent.
|
|
|
|
## Requirements
|
|
|
|
- Docker and Docker Compose installed
|
|
- Ansible community.docker collection
|
|
|
|
## Role Variables
|
|
|
|
### WireGuard
|
|
|
|
| Variable | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `edge_vps_wireguard_address` | `10.133.7.1/24` | WireGuard interface address |
|
|
| `edge_vps_wireguard_port` | `61975` | WireGuard listen port |
|
|
| `edge_vps_wireguard_interface` | `wg0` | WireGuard interface name |
|
|
| `edge_vps_wireguard_routes` | `[]` | List of routes to add (network, gateway) |
|
|
|
|
### Traefik
|
|
|
|
| Variable | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `edge_vps_traefik_config_dir` | `/root/config/traefik` | Traefik config directory |
|
|
| `edge_vps_acme_email` | - | Email for Let's Encrypt |
|
|
|
|
### Pangolin
|
|
|
|
| Variable | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `edge_vps_pangolin_dashboard_url` | - | Pangolin dashboard URL |
|
|
| `edge_vps_pangolin_base_endpoint` | - | Pangolin base endpoint |
|
|
| `edge_vps_pangolin_base_domain` | - | Base domain for Pangolin |
|
|
|
|
### Elastic Agent
|
|
|
|
| Variable | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `edge_vps_elastic_version` | `9.2.2` | Elastic Agent version |
|
|
| `edge_vps_elastic_fleet_url` | - | Fleet server URL |
|
|
| `edge_vps_elastic_dns_server` | `10.43.0.10` | DNS server for agent |
|
|
|
|
## Secrets
|
|
|
|
Store secrets in `vars/group_vars/vps/secrets.yaml` (ansible-vault encrypted):
|
|
|
|
```yaml
|
|
vault_edge_vps:
|
|
wireguard:
|
|
private_key: "..."
|
|
peers: [...]
|
|
pangolin:
|
|
server_secret: "..."
|
|
traefik:
|
|
cloudflare_api_token: "..."
|
|
elastic:
|
|
fleet_enrollment_token: "..."
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
None.
|
|
|
|
## Example Playbook
|
|
|
|
```yaml
|
|
- hosts: vps
|
|
roles:
|
|
- role: edge_vps
|
|
```
|
|
|
|
## License
|
|
|
|
MIT
|