Refactor environment variables with shorter names and add comprehensive override support

- Rename OVERRIDE_INTERFACE_* to WG_* (shorter, non-conflicting)
- Add interface overrides: WG_PORT, WG_DEVICE, WG_MTU, WG_IPV4_CIDR, WG_IPV6_CIDR, WG_ENABLED
- Add client config overrides: WG_HOST, WG_CLIENT_PORT, WG_DEFAULT_DNS, WG_DEFAULT_ALLOWED_IPS, WG_DEFAULT_MTU, WG_DEFAULT_PERSISTENT_KEEPALIVE
- Add general config overrides: WG_SESSION_TIMEOUT, WG_METRICS_PROMETHEUS, WG_METRICS_JSON
- Update all API endpoints to apply and filter overrides
- Update documentation with all new environment variables
- Exclude AmneziaWG parameters (j*, s*, i*, h*) as requested

Co-authored-by: kaaax0815 <32197462+kaaax0815@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-11-14 13:25:22 +00:00
parent 5fd3ee9843
commit 67185192fd
9 changed files with 189 additions and 23 deletions
+14 -1
View File
@@ -8,7 +8,20 @@ export default definePermissionEventHandler(
event,
validateZod(GeneralUpdateSchema, event)
);
await Database.general.update(data);
// Remove overridden fields from the update data
const updateData = { ...data };
if (WG_GENERAL_OVERRIDE_ENV.SESSION_TIMEOUT !== undefined) {
delete updateData.sessionTimeout;
}
if (WG_GENERAL_OVERRIDE_ENV.METRICS_PROMETHEUS !== undefined) {
delete updateData.metricsPrometheus;
}
if (WG_GENERAL_OVERRIDE_ENV.METRICS_JSON !== undefined) {
delete updateData.metricsJson;
}
await Database.general.update(updateData);
return { success: true };
}
);