happyDomain/internal/usecase
Pierre-Olivier Mercier b7714b12b8 checker: add Janitor goroutine to enforce retention policy
The Janitor periodically walks every CheckPlan, loads its executions,
and deletes the ones that the tiered RetentionPolicy says to drop.

Per-user overrides are honoured: if a user's UserQuota.RetentionDays
is set, that horizon replaces the system default for the user's plans.
User lookups are cached per sweep to avoid repeated storage hits.

The janitor is the long-tail counterpart of the (still TODO) cheap
hard cap that will be applied at execution-creation time. It runs
immediately on Start() and then every configured interval (default 6h).
2026-04-15 16:26:49 +07:00
..
authuser inmemory: remove unused fields and simplify test setup 2026-04-11 00:18:31 +07:00
checker checker: add Janitor goroutine to enforce retention policy 2026-04-15 16:26:49 +07:00
domain checkers: add incremental scheduler updates on domain/zone changes 2026-04-15 16:22:22 +07:00
domain_log inmemory: remove unused fields and simplify test setup 2026-04-11 00:18:31 +07:00
insight Fix Swagger annotations in controllers 2026-04-04 22:05:28 +07:00
orchestrator checkers: add incremental scheduler updates on domain/zone changes 2026-04-15 16:22:22 +07:00
provider inmemory: remove unused fields and simplify test setup 2026-04-11 00:18:31 +07:00
service Fix OPENPGPKEY/SMIMEA hash to use SHA-256 truncated per RFC 7929/8162 2026-03-30 21:54:54 +07:00
session inmemory: remove unused fields and simplify test setup 2026-04-11 00:18:31 +07:00
user inmemory: remove unused fields and simplify test setup 2026-04-11 00:18:31 +07:00
zone Add DNS propagation time tracking per service 2026-03-30 11:58:02 +07:00
zone_service fix: wire ActionOnEditableZone into all zone mutation facades 2026-03-16 20:07:47 +07:00
authentication_test.go inmemory: remove unused fields and simplify test setup 2026-04-11 00:18:31 +07:00
authentication_usecase.go security: prevent email enumeration via timing side-channel 2026-03-12 15:03:49 +07:00
doc.go Add missing documentation to some usecases 2026-03-15 17:40:15 +07:00
form_usecase.go Add missing documentation to some usecases 2026-03-15 17:40:15 +07:00
provider_settings_usecase.go Add context.Context to ProviderUsecase and DomainUsecase interfaces 2026-03-30 21:54:54 +07:00
provider_specs_usecase.go providers: move provider registry to internal/provider package 2026-03-24 14:59:24 +07:00
resolver_usecase.go Move config struct to model, avoid dependancy to storage 2025-05-28 22:00:02 +02:00
service_specs_dns_types.go Remove last generation date from generated files for build reproducibility 2026-02-14 19:13:09 +07:00
service_specs_usecase.go services: move service registry to internal/service package 2026-03-24 14:59:24 +07:00
tidy_usecase.go checkers: store observations as json.RawMessage with cross-checker reuse 2026-04-15 16:06:02 +07:00
tidy_usecase_test.go checkers: store observations as json.RawMessage with cross-checker reuse 2026-04-15 16:06:02 +07:00