Repository navigation
Releases
Releases · LHelge/hoster
v0.5.0
Features
- stack:
filestable for config files in stack files (7af4fef) - orchestrator: File secrets are versioned, checked and redeployed like env secrets (e310590)
- orchestrator: Require podman 5.4 for stacks with config files (b8f9945)
- runtime: Write config files into containers before they start (d64df87)
- web: Config files on the stack overview, environment tab and apply preview (7d08fb6)
- web: Highlighted TOML editor for stack files (1b8b22d)
- web: Diagnostics while editing a stack file (bb92743)
- web: Field reference, snippets and a starter skeleton beside the stack editor (93ea6da)
- web: Edit a stack's active revision from its page (8a08913)
- stack: Shm_size, tmpfs and init runtime options (0b01c9a)
- stack: Per-service resource limits with cgroup pre-flight (ea63b1c)
- orchestrator: Name OOM kills and show limits on the stack page (2f000d6)
Documentation
- bears: Record the Pingora WebSocket upgrade race behind the flaky proxy test (79a166e)
- adr: ADR-0060 hoster's own stack editor script (aaae79a)
- wiki: Guide to running third-party images (07decb2)
- blog: Release post for hoster 0.5.0 (04399f3)
Other
v0.4.0
Features
- stack: Parse depends_on and health.exec (e2fa737)
- runtime: Exec in container and Healthcheck NONE at create (4ab455c)
- health: Exec checks in deploys and the monitor (7d173ef)
- orchestrator: Start services in dependency order (c652e3f)
- web: Show dependencies and health checks in the UI and docs (b0117a0)
- stack: Publish a JSON Schema for stack files (bc37bfe)
- stack: Add
hoster stack checkfor local and CI validation (8897260) - store/web: Instance name as a run-time setting in the sidebar and Settings → General (185459c)
- notify: Provider trait for notification mail and the Resend provider (4df9701)
- notify: Notification mail templates in the admin UI's style (1d7ce7a)
- store: Notification settings, notifier state and the delivery-failed event (a56eddf)
- notify: Notifier task that mails problems and recoveries from the event log (a8fb0bf)
- web: Settings → Notifications to configure mail, send a test and see the last delivery (ea0349b)
Fixes
- orchestrator: Wait returns what a deployment ended as, and test sandboxes stop racing for ports (4a63e51)
Documentation
- adr: ADR-0056 service dependencies and exec health checks (f676039)
- adr: ADR-0057 config files in stack files (b4db33f)
- adr: ADR-0058 email notifications through a provider trait (d9821c7)
- notify: Mail notifications guide, with install and backup notes (0d45511)
- adr: ADR-0059 runtime options and resource limits (9bc86c1)
- Release post for hoster 0.4.0 (8bd80d0)
Other
- bears: Plan third-party image hosting epics M11–M15 (f3a7f70)
- Require Rust 1.99, the toolchain CI builds with (e945c45)
- Run tests with nextest, skip the static build on PRs that cannot break it, lean release build (bea1ba4)
- Keep the streaming test at 1 GiB on pull requests (a50a0bb)
- bears: Propose k8x, signed registry ports in image references (3c464c9)
- orchestrator: Wait for the stopped container in the Replacing crash test (f068063)
- orchestrator: Forget the bootstrap's probes in both Replacing tests (87f596d)
- orchestrator: A held port forgets its earlier probes (9a5d39d)
- Cargo fmt (dab240e)
v0.3.0
Features
- store: Event log with typed events, EventLog recorder and retention (893fcca)
- orchestrator: Record deploy events in the event log (b0f5b02)
- orchestrator: Record container lifecycle events (8c1ddf0)
- orchestrator: Record certificate events in the event log (12d3ca7)
- orchestrator: Record operator and system events (cad2d51)
- web: Dashboard Recent events card with live append over SSE (b55bd64)
- web: Per-stack event feed and the Events page (210a3cb)
Fixes
- stats: Measure latency to the response header and leave the admin UI out of the dashboard tiles (e5ed55c)
Documentation
v0.2.1
v0.2.0
Features
- web: Lucide icons in the admin UI, served as one cached SVG sprite (ed74f39)
- web: Design tokens, vendored JetBrains Mono and base components (c7c8af3)
- web: App shell with sidebar, page header and nav counts (0137236)
- web: Stacks list as cards with a status filter (ee5853d)
- web: Stack page header and tab bar, redesigned overview (2d1b1b6)
- web: Stack overview KPI tiles, slowest routes, routes and volumes (9789b9c)
- web: Stack services table with uptime and ports, fold /containers into stacks (4c9dcdc)
- web: Stack logs tab with service chips, since presets and follow switch (1ebecb6)
- web: Stack environment tab with env vars and write-only secrets (dc06b46)
- web: Stack deployments tab and deployment detail page (5514751)
- web: Certificates summary tiles, failing-cert alert, table and bulk actions (0716951)
- web: Settings sub-nav, registries field rows and effective config views (e79c70b)
- web: System page version cards, update flow and host facts (0a703d8)
- web: Apply page as "New stack" editor with plan and pre-flight aside (b889a75)
- web: Dashboard KPI tiles, stacks table and certificates card (ec86bf5)
Documentation
- ADR-0054 and the admin UI design reference in docs/design (3a3a9e1)
Other
v0.1.3
v0.1.2
v0.1.1
Fixes
- deploy: Start the unit on Ubuntu, where user namespaces have no capabilities (9001bcc)
v0.1.0
Features
- Cargo crate skeleton, CI and lint setup (1141152)
- Load and validate hoster.toml with HOSTER_* env overrides (8c2467a)
- Stack file model, TOML parsing and validation (1d94457)
- ACME account management with instant-acme (4bb1c52)
- Hoster doctor preflight checks (278ea9f)
- SQLite state store via sqlx with migrations and typed Store API (92824dc)
- Supervisor with startup phases, signal handling and sd_notify (ab03c6e)
- Route normalization and cross-stack collision check (088b3ba)
- Upstream port allocator with round-robin policy and quarantine (4bff3c4)
- ContainerRuntime trait, PodmanRuntime connect and FakeRuntime (c5004e3)
- Systemd user unit, sysctl drop-in, install guide and hardening (e426754)
- Hoster backup db snapshot command and backup docs (01b3d96)
- Axum admin web app skeleton with askama layout, vendored htmx 4 and strict CSP (2fa79e8)
- Run Pingora server on a dedicated thread with channel-driven shutdown (638cd7c)
- RouteTable with longest-segment-prefix lookup built from desired state (b907cc0)
- Image pull by digest with optional per-registry credentials (8877978)
- Podman network and container operations with hoster labels and loopback ports (b9fcea2)
- On-disk certificate store, CertMap and SNI CertResolver (4752f37)
- GitHub OAuth admin login, SQLite sessions and CSRF protection (4c7d252)
- OCI registry client with token discovery and tag-to-digest resolution (bd411c4)
- Routing ProxyHttp with forwarded headers, strip_prefix, per-route timeouts and streaming (dd3e2f2)
- Drain helper for per-upstream in-flight requests (2e6b975)
- Orchestrator and deploy engine v1 with the full deploy state machine (fedf4d6)
- Stream container logs into the web UI over SSE (3deadb2)
- :443 rustls listener and :80 challenge/redirect service (1a1b797)
- Structured JSON logging, proxy access log and deploy event log (a985f6a)
- Env, encrypted secrets and named volumes in deployed containers (d4422f3)
- Health checker with HTTP and TCP probes (30ff3f3)
- Stack removal that aborts deploys, keeps history and confirms volume deletion (62ffb4a)
- HTTP-01 certificate issuance flow (1dd5195)
- Startup and periodic reconciliation of managed containers (0a5e961)
- Web UI stack pages: list, apply with validation and diff, manual deploy, remove (9eb68e5)
- Continuous health monitoring of live services (c9662b9)
- Publish RouteTable from the orchestrator on deploy, remove and reconcile (3a03a8e)
- Route the reserved admin host from Pingora to the Axum app (5d94507)
- Zero-downtime deploys with real health probes, inflight drain and crash recovery (19bd800)
- Web UI for stack secrets, registry credentials and re-resolving tags (4c30cb7)
- ACME background task with renewal, persisted backoff and DNS check (42b76bd)
- Deploy webhook authenticated with GitHub Actions OIDC tokens (5bc36d3)
- Per-stack deploy queue with cancellation and a global pull limit (adabed0)
- In-process statistics for the web UI dashboard (77d42d0)
- Certificates page with DNS check and rate-limit-safe retry (b87a2d6)
- Image garbage collection with per-service rollback retention (f2fc666)
- Edge-triggered digest poller (e2f8131)
- Deployment history with live progress, cancel and rollback in the web UI (a7ac15e)
- Live dashboard overview with warning badges (3c22b51)
- store: Make every migration reversible and report schema versions (d394cfe)
- Versioned binary layout under ~/.local/lib/hoster and
hoster version --json(75b7896) - update: Updater module with release lookup, verified download, switch and rollback (c3073c9)
- install: Curlable install.sh, shellcheck in CI and an install guide built around it (a98a27e)
- update:
hoster updateandhoster rollbackCLI subcommands (bb0a539) - web: System page with version, update check, release notes and Update (e6487ed)
Documentation
- Initial specification, architecture, stack format and ADRs 0001–0051 (2d92bca)
- Spike systemd socket activation for :80/:443 across restarts (61a9b2a)
- CI integration guide and example release workflow (6c0a54e)
- ADR-0052 release, install and self-update; plan M9 in Bears (a8d804b)
- Branch per epic, commit per task, rebase-merged PRs (7d5e2e2)
- Cut releases through a PR now that main is protected (d30a8ef)
Other
- Ignore per-slot target dirs (b4a0fce)
- Static musl release build and tag-triggered release workflow (a4dfa30)
- Ignore agent worktrees, release interrupted Bears tasks (90c1aac)
- End-to-end zero-downtime deploy under load on real podman (d52b8e4)
- Cover the stop-first Replacing step, its 503 gap and the abort path (4e2c748)
- Make gated podman tests runnable alongside the rest of the suite (93d6b90)
- Run on push only for main; branches are checked through their PR (723bea5)
- Aarch64 release binaries, git-cliff notes and a PR-based release.sh (0f0eb8a)