Skip to content

TTL treatment, webapp fix - #1247

Open
peterthomassen wants to merge 3 commits into
mainfrom
20260820_default_ttl
Open

TTL treatment, webapp fix#1247
peterthomassen wants to merge 3 commits into
mainfrom
20260820_default_ttl

Conversation

@peterthomassen

@peterthomassen peterthomassen commented Aug 20, 2026

Copy link
Copy Markdown
Member

To facilitate lower TTL minimum for custom configured records, to reduce support load. GUI now fills in default TTL (3600), not minimum.

Until now, Domain.minimum_ttl served double duty: it is the lower bound
for RRset TTLs, but it was also used as the TTL suggested to users when
they don't pick one explicitly.  These are different things: the minimum
is a limit (lowered only on request), while the default is a
recommendation chosen for good caching behavior.

Add a separate per-domain default_ttl (3600), exposed read-only in the
API, and adjustable via `manage.py limit` just like the minimum.  The
`ttl` kind of that command is renamed to `minimum_ttl` for clarity.

As the minimum TTL no longer needs to double as the default, converge
existing domains on the configured minimum (900 in production), unless
they have an individually lowered value.
The create dialog hardcoded a TTL of 3600, which happened to match the
minimum TTL of most domains.  Use the domain's default_ttl instead, so
the suggested value follows the API.
vue-router reuses the component instance when navigating between two
routes that differ only in their params, so created() does not run
again.  Views reading $route.params in created() therefore kept showing
data for the previous params: navigating from /domains/a to /domains/b
listed the record sets of domain a, along with its TTL settings.

Key <router-view> by path to force a re-create.  Not by fullPath, as
that would also re-create the view when only the query changes, which
happens in-page (e.g. the domain type selector on the home page).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant