Skip to content

Fail closed on startup and preserve scheduled job state - #19

Merged
theboringhumane merged 6 commits into
sudofrom
feature/hakopod-job-runner
Oct 8, 2026
Merged

theboringhumane merged 6 commits into
sudofrom
feature/hakopod-job-runner

Conversation

@theboringhumane

Copy link
Copy Markdown
Contributor

Apollo could accept traffic after secret or schedule-storage initialization failed. Startup now rejects incomplete Infisical settings, verifies metadata connectivity, opens durable schedule storage, and restores schedules before starting jobs and the listener. Shutdown has a bounded drain.

Storage startup preserves execution history, limits connection use, and migrates legacy SQLite rows. Schedule replacement validates and persists before replacing the old entry. Runs of the same scheduled job cannot overlap, including across replacements, and restored schedules receive distinct execution IDs.

Validation: Azure Linux, Go 1.26.8, 1 CPU / 1 GiB test container. Configuration, secret-bootstrap, SQLite, scheduler, server, and command packages pass. Disposable PostgreSQL 17.6 also passes migration, duplicate-history preservation, and authenticated gRPC tenant checks. No live secret provider or worker deployment qualification is claimed. Native Hakopod invocation support follows separately.

@theboringhumane
theboringhumane merged commit 8dc28cb into sudo Oct 8, 2026
4 checks passed
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