feat(ipv6): IPv6-Support für HAProxy + Settings-Toggle

- setup.State.IPv6Enabled + Store.SetIPv6Enabled()
- GET/POST /system/ipv6 im SystemHandler; HAProxy-Reload on save
- HAProxy-Template: bind [::]:80, [::]:443, quic6@:443, [::]:3443
  werden nur emittiert wenn IPv6Enabled=true
- haproxy.View.IPv6Enabled aus SetupStore befüllt
- Settings-UI: neues IPv6-Card (zwischen Auto-Update und Passwort)
- i18n de+en ergänzt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Debian
2026-05-23 16:48:26 +02:00
parent 906c2e17a6
commit 4e01b4569c
8 changed files with 128 additions and 2 deletions

View File

@@ -128,6 +128,10 @@ type View struct {
// OS-Upgrades / Wartungsfenster.
GlobalMaintenance bool
GlobalMaintenanceMessage string
// IPv6Enabled: wenn true fügt das Template zusätzliche
// bind-Direktiven für [::]:80, [::]:443 und [::]:3443 hinzu.
IPv6Enabled bool
}
type DomainView struct {
@@ -270,6 +274,7 @@ func (g *Generator) loadView(ctx context.Context) (*View, error) {
if v.GlobalMaintenanceMessage == "" && v.GlobalMaintenance {
v.GlobalMaintenanceMessage = "EdgeGuard maintenance in progress."
}
v.IPv6Enabled = st.IPv6Enabled
}
}
return v, nil