- Add multi-environment architecture (homelab + production) - Create production environment (mini-vps) for client projects - Create homelab playbook for arch-vps services - Create production playbook for mini-vps services - Move sigvild-gallery from homelab to production - Restructure variables: group_vars/production + host_vars/arch-vps - Add backup-sigvild.yml playbook with auto-restore functionality - Fix restore logic to check for data before creating directories - Add manual variable loading workaround for Ansible 2.20 - Update all documentation for multi-environment setup - Add ADR-007 documenting multi-environment architecture decision
53 lines
2.1 KiB
YAML
53 lines
2.1 KiB
YAML
---
|
|
# =================================================================
|
|
# Production Configuration for mini-vps (Client Projects)
|
|
# =================================================================
|
|
# This host runs production services requiring high uptime
|
|
# Currently hosting: Sigvild Gallery
|
|
|
|
# =================================================================
|
|
# TLS Configuration - Production Setup
|
|
# =================================================================
|
|
caddy_tls_enabled: true
|
|
caddy_domain: "health.sigvild.no"
|
|
caddy_tls_email: "{{ vault_caddy_tls_email }}"
|
|
|
|
# DNS Challenge Configuration (Cloudflare)
|
|
caddy_dns_provider: "cloudflare"
|
|
cloudflare_api_token: "{{ vault_cloudflare_api_token }}"
|
|
|
|
# Production Let's Encrypt CA
|
|
caddy_acme_ca: "https://acme-v02.api.letsencrypt.org/directory"
|
|
|
|
# =================================================================
|
|
# API Service Registration Configuration
|
|
# =================================================================
|
|
# Services now self-register using Caddy's admin API
|
|
caddy_api_enabled: true
|
|
caddy_server_name: "main"
|
|
|
|
# =================================================================
|
|
# Sigvild Gallery Configuration
|
|
# =================================================================
|
|
sigvild_gallery_frontend_domain: "sigvild.no"
|
|
sigvild_gallery_api_domain: "api.sigvild.no"
|
|
|
|
sigvild_gallery_local_project_path: "{{ lookup('env', 'HOME') }}/sigvild-gallery/"
|
|
|
|
# Backup configuration
|
|
sigvild_gallery_backup_enabled: true
|
|
sigvild_gallery_backup_local_path: "{{ lookup('env', 'HOME') }}/sigvild-gallery-backup/"
|
|
|
|
# Vault-encrypted passwords (create with ansible-vault)
|
|
sigvild_gallery_pb_su_email: "{{ vault_pb_su_email}}"
|
|
sigvild_gallery_pb_su_password: "{{ vault_pb_su_password}}"
|
|
sigvild_gallery_host_password: "{{ vault_sigvild_host_password }}"
|
|
sigvild_gallery_guest_password: "{{ vault_sigvild_guest_password }}"
|
|
|
|
# =================================================================
|
|
# Security & Logging
|
|
# =================================================================
|
|
caddy_log_level: "INFO"
|
|
caddy_log_format: "json"
|
|
caddy_systemd_security: true
|