mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2026-04-04 14:36:18 +00:00
Add export_configs management command for WireGuard and Caddy configurations
This commit is contained in:
32
wireguard_tools/management/commands/export_configs.py
Normal file
32
wireguard_tools/management/commands/export_configs.py
Normal 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).')
|
||||
Reference in New Issue
Block a user