add WireGuard status processing and caching functionality

This commit is contained in:
Eduardo Silva
2026-01-07 11:07:45 -03:00
parent bf0ada3d89
commit 41fbf442f2
7 changed files with 179 additions and 2 deletions

View File

@@ -155,6 +155,8 @@ STATICFILES_DIRS = [
BASE_DIR / "static_files",
]
WIREGUARD_STATUS_CACHE_ENABLED = True
WIREGUARD_STATUS_CACHE_MAX_AGE = 600
# Default primary key field type
# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field
DNS_CONFIG_FILE = '/etc/dnsmasq/wireguard_webadmin_dns.conf'

View File

@@ -20,7 +20,7 @@ from django.urls import path
from accounts.views import view_create_first_user, view_login, view_logout
from api.views import api_instance_info, api_peer_invite, api_peer_list, cron_check_updates, \
cron_update_peer_latest_handshake, peer_info, routerfleet_authenticate_session, routerfleet_get_user_token, \
wireguard_status
wireguard_status, cron_refresh_wireguard_status_cache
from cluster.cluster_api import api_cluster_status, api_get_worker_config_files, api_get_worker_dnsmasq_config, \
api_worker_ping
from cluster.views import cluster_main, cluster_settings, worker_manage
@@ -75,6 +75,7 @@ urlpatterns = [
path('api/instance_info/', api_instance_info, name='api_instance_info'),
path('api/peer_info/', peer_info, name='api_peer_info'),
path('api/peer_invite/', api_peer_invite, name='api_peer_invite'),
path('api/cron_refresh_wireguard_status_cache/', cron_refresh_wireguard_status_cache, name='cron_refresh_wireguard_status_cache'),
path('api/cron_check_updates/', cron_check_updates, name='cron_check_updates'),
path('api/cron_update_peer_latest_handshake/', cron_update_peer_latest_handshake, name='cron_update_peer_latest_handshake'),
path('api/cluster/status/', api_cluster_status, name='api_cluster_status'),