Disable zones instead of deleting them
A disabled zone stays in Jarl with its records, options and history, still editable, but named doesn't load it; enabling it serves it as it is then. Signed zones, and zones another view shares, can't be disabled. jarl zone disable|enable, the zone page's Disable/Enable button. Database schema 7. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
59baccd636
commit
89663e366b
24 files changed
+264
-26
No files matched your search
@@ -477,12 +477,12 @@ func (e *Engine) makePlan(ctx context.Context, base, work *model.State, user str
|
||||
changedPaths[f.Path] = true
|
||||
}
|
||||
for _, z := range work.SortedZones() {
|
||||
if z.Type != model.ZonePrimary {
|
||||
continue
|
||||
if z.Type != model.ZonePrimary || z.Disabled {
|
||||
continue // disabled zones aren't in named: nothing to reload
|
||||
}
|
||||
path := pl.out.ZoneFiles[z.ID]
|
||||
old := base.Zones[z.ID]
|
||||
existedInNamed := old != nil && old.Type == model.ZonePrimary && baseOut.ZoneFiles[old.ID] == path
|
||||
existedInNamed := old != nil && old.Type == model.ZonePrimary && !old.Disabled && baseOut.ZoneFiles[old.ID] == path
|
||||
if !existedInNamed {
|
||||
pl.newZones = true
|
||||
pl.verify[z.ID] = z.SOA.Serial
|
||||
@@ -1054,7 +1054,7 @@ func (e *Engine) Resync(ctx context.Context, p *auth.Principal, opts ApplyOption
|
||||
pl.configChanged = true
|
||||
pl.reloadZones = nil
|
||||
for _, z := range work.SortedZones() {
|
||||
if z.Type == model.ZonePrimary {
|
||||
if z.Type == model.ZonePrimary && !z.Disabled {
|
||||
pl.reloadZones = append(pl.reloadZones, z)
|
||||
pl.verify[z.ID] = z.SOA.Serial
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user