Disable records instead of deleting them

A disabled record stays in Jarl with its ID, TTL and comment but is
left out of the zone; the zone file lists it as a comment. Web UI
toggle, jarl record disable|enable, record.disable|enable operations
and API endpoints. Database schema 5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
adamandClaude Opus 5.5 committed 2026-10-09 22:33:02 +00:00
1 parent 5f04ab523b
commit 295c549479
29 files changed
+815 -60

No files matched your search

+17
View File
@@ -6,6 +6,23 @@ All notable changes to Jarl are documented here. The format follows
## [Unreleased]
### Added
- Disabled records: a record can be disabled instead of deleted. It stays
in Jarl with its ID, TTL and comment but is left out of the zone (the
zone file lists it as a comment), and enabling it puts it back exactly
as it was. Web UI: a Disable/Enable button on each record, disabled
records greyed out with a badge, a filter for them, and a count in the
zone list. CLI: `jarl record disable|enable` (by ID or by name, type and
data, `--ptr` for the PTR record, `--missing-ok`), `record list
--disabled`, and `disable:`/`enable:` entries for `jarl apply -f`. API:
`POST /records/{id}/disable|enable`, `POST
/zones/{zone}/records/disable|enable`, a `disabled` field on records,
`?disabled=` on record lists and `record.disable|enable` operations.
Validation checks the zone as it is served: the last NS record can't be
disabled, enabling a record is checked like adding it, and a disabled
record that a CNAME now blocks gets a warning. Database schema 5.
### Changed
- Records table: names are no longer greyed out when they repeat the row