Commit graph

42 commits

Author SHA1 Message Date
6a2ebe83b6 Wire option merging for scheduled test executions
Fetch user/domain/service-level plugin options via GetTestPluginOptions
and merge them with schedule-specific options (schedule opts take priority)
before running a test. Previously tests only used schedule.Options.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 18:28:49 +07:00
f72149b854 Add panic recovery in plugin execution goroutine
Wrap plugin.RunTest() call with defer/recover so a panicking plugin sends
an error to errorChan instead of silently killing the worker goroutine.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 18:28:49 +07:00
8d4dd2d913 Implement cleanup stubs for test result retention
- Add DeleteTestResultsBefore/DeleteCompletedExecutionsBefore to storage interface and KV implementation
- Implement CleanupOldResults() using configured ResultRetentionDays (default 90 days)
- Implement DeleteCompletedExecutions() removing records older than given duration
- Wire both into testScheduler.cleanup() so daily cleanup actually prunes data

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 18:28:49 +07:00
2d1a74c38c Add admin API and frontend for scheduler management 2026-02-11 18:28:49 +07:00
c32e2febe6 Implement tests scheduler 2026-02-11 18:28:49 +07:00
d74c8ec4ba Implement backend model for test results and schedule 2026-02-11 18:28:49 +07:00
5ec9884df0 Implement plugin options retrieval 2026-02-11 18:25:52 +07:00
15dfecf2b0 Add usescases to handle test plugins 2026-02-11 18:25:52 +07:00
960ab87612 plugins: Refactor with intermediate structs 2026-02-11 18:25:52 +07:00
6df6a4f219 Load tests plugins 2026-02-11 18:25:52 +07:00
0d4348fc3b Create admin interface base 2026-01-26 12:34:55 +08:00
33e2743da4 Refactor provider usecase: simplification 2025-11-07 17:59:57 +07:00
28ce266659 Refactor authuser usecase: simplification 2025-11-07 17:59:57 +07:00
03558359da Refactor domain usecase: simplification 2025-11-07 17:59:57 +07:00
5cc3275fa5 Refactor domain_log usecase: simplification 2025-11-07 17:59:57 +07:00
87f71c4e5a Refactor session usecase: simplification 2025-11-07 17:59:57 +07:00
8fa8efcefc insights: Send stats about users' settings
Some checks failed
continuous-integration/drone/push Build is failing
2025-06-12 20:07:57 +02:00
c6c8c13ea0 insights: In case of error, retry during the next hour 2025-06-12 14:45:13 +02:00
ebb5d34be5 Use ListRecordsUC when generating zonefile 2025-06-10 09:53:44 +02:00
b2b6467575 Refactor domain/provider/zone usecase: split in multiple files 2025-05-28 23:02:22 +02:00
1408e04f45 Refactor domain's logs usecase: split in multiple files 2025-05-28 23:02:22 +02:00
ef10d16e09 Refactor user usecase: split in multiple files 2025-05-28 23:02:22 +02:00
0495ab4693 Refactor auth_user usecase: split in multiple files 2025-05-28 23:02:22 +02:00
cffbc104ae Refactor session usecase: split in multiple files 2025-05-28 22:00:02 +02:00
356e733e76 Move config struct to model, avoid dependancy to storage 2025-05-28 22:00:02 +02:00
5ef9419072 refactor: restructure project architecture and folder hierarchy
- Moved usecases into internal/usecase
- Renamed internal/utils to internal/helpers for better naming semantics
- Clarified separation between domain model, usecases, adapters, and web/API
2025-05-28 22:00:02 +02:00
b77e2b8c3a Refactor App to add clarity 2025-05-22 15:46:06 +02:00
fb971236f9 Rename Service to Usecase to be consistent 2025-05-22 15:46:06 +02:00
eb60145ca2 Rename DoMigration to improve self-readability 2025-05-22 15:46:05 +02:00
401ba892f7 Use iterators in return to ListAll database functions 2025-05-22 15:46:05 +02:00
72b9602f71 Update database calls terminology 2025-05-22 15:46:05 +02:00
f4daca892e Simplify database calls and move the logic in usecases: providers 2025-05-22 15:46:05 +02:00
f36337e14c Reports usage statistics to happydomain.org 2025-04-22 14:29:08 +02:00
0edc2e66e2 Clean architecture refactoring 2025-04-22 14:15:03 +02:00
f0c24ea80e Implement OIDC authentication
Fixes: https://github.com/happyDomain/happydomain/issues/27
2024-05-23 17:29:34 +02:00
3d9aecf214 Refactor session to use gorilla like sessions 2024-05-23 17:29:34 +02:00
1035610be0 Relicense the project to AGPL-3.0 2023-12-24 11:42:00 +01:00
a72a889442 Fix potential Slowloris Attack because ReadHeaderTimeout was not configured (CWE-400) 2023-11-22 10:03:43 +01:00
56b22bade5 Fix project name to permit go get
Some checks are pending
continuous-integration/drone/push Build is running
2023-09-07 11:37:18 +02:00
79c60c1472 Add listening info log 2023-08-23 23:37:42 +02:00
c0a3ea2d4c This is happyDomain now
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-18 10:16:32 +01:00
cf416224d1 Refactor to use gin-gonic 2021-06-09 22:51:13 +02:00