Add export_configs management command for WireGuard and Caddy configurations

This commit is contained in:
Eduardo Silva
2026-03-24 15:18:17 -03:00
parent 018cf1380e
commit d14615a73e
4 changed files with 39 additions and 9 deletions

View File

@@ -0,0 +1,32 @@
import os
from django.conf import settings
from django.core.management.base import BaseCommand
from wireguard_tools.views import export_firewall_configuration, export_wireguard_configuration
class Command(BaseCommand):
help = 'Export WireGuard, firewall and Caddy configuration files'
def handle(self, *args, **options):
self.stdout.write('Exporting WireGuard configuration...')
export_wireguard_configuration()
self.stdout.write(self.style.SUCCESS('WireGuard configuration exported.'))
self.stdout.write('Exporting firewall configuration...')
export_firewall_configuration()
self.stdout.write(self.style.SUCCESS('Firewall configuration exported.'))
if settings.CADDY_ENABLED:
self.stdout.write('Exporting Caddy configuration...')
try:
from app_gateway.caddy_config_export import export_caddy_config
export_caddy_config('/caddy_json_export/')
if settings.DEBUG:
export_caddy_config(os.path.join(settings.BASE_DIR, 'containers', 'caddy', 'config_files'))
self.stdout.write(self.style.SUCCESS('Caddy configuration exported.'))
except Exception as e:
self.stdout.write(self.style.WARNING(f'Failed to export Caddy configuration: {e}'))
else:
self.stdout.write('Skipping Caddy configuration export (CADDY_ENABLED is not set).')