Add new Ansible roles and configuration for the edge proxy and private network architecture: ## New Roles: - **edge-traefik**: Edge reverse proxy that routes to private clients - Dynamic routing configuration for multiple clients - SSL termination at the edge - Routes traffic to private IPs (10.0.0.x) - **nat-gateway**: NAT/gateway configuration for edge server - IP forwarding and masquerading - Allows private network clients to access internet - iptables rules for Docker integration - **diun**: Docker Image Update Notifier - Monitors containers for available updates - Email notifications via Mailgun - Per-client configuration - **kuma**: Uptime monitoring integration - Registers HTTP monitors for client services - Automated monitor creation via API - Checks Authentik, Nextcloud, Collabora endpoints ## New Playbooks: - **setup-edge.yml**: Configure edge server with proxy and NAT ## Configuration: - **host_vars**: Per-client Ansible configuration (valk, white) - SSH bastion configuration for private IPs - Client-specific secrets file references This enables the scalable multi-tenant architecture where: - Edge server has public IP and routes traffic - Client servers use private IPs only (cost savings) - All traffic flows through edge proxy with SSL termination 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
28 lines
812 B
YAML
28 lines
812 B
YAML
---
|
|
# Diun default configuration
|
|
diun_version: "latest"
|
|
diun_schedule: "0 6 * * *" # Daily at 6am UTC
|
|
diun_log_level: "info"
|
|
diun_watch_workers: 10
|
|
|
|
# Notification configuration
|
|
diun_notif_enabled: true
|
|
diun_notif_type: "webhook" # Options: webhook, slack, discord, email, gotify
|
|
diun_webhook_endpoint: "" # Set per environment or via secrets
|
|
diun_webhook_method: "POST"
|
|
diun_webhook_headers: {}
|
|
|
|
# Optional: Slack notification
|
|
diun_slack_webhook_url: ""
|
|
|
|
# Optional: Email notification (Mailgun)
|
|
# Note: Uses per-client SMTP credentials from mailgun role
|
|
diun_email_enabled: true
|
|
diun_smtp_host: "smtp.eu.mailgun.org"
|
|
diun_smtp_port: 587
|
|
diun_smtp_from: "{{ client_name }}@mg.vrije.cloud"
|
|
diun_smtp_to: "pieter@postxsociety.org"
|
|
|
|
# Which containers to watch
|
|
diun_watch_all: true
|
|
diun_exclude_containers: []
|