Skip to content

feat: add Rust Axum web server#16

Merged
amiller68 merged 5 commits intomainfrom
alex/rust
Apr 7, 2026
Merged

feat: add Rust Axum web server#16
amiller68 merged 5 commits intomainfrom
alex/rust

Conversation

@amiller68
Copy link
Copy Markdown
Owner

Summary

  • Adds a complete Rust web application: Axum HTTP server, SQLite (sqlx), HTMX server-side rendering, Apalis background tasks, Google OAuth, and SSE real-time events
  • Introduces key architectural patterns: runtime::Service trait with graceful shutdown, Task trait for self-registering background jobs, struct-patch models with Full/ListItem/Patch types, handler-per-file organization under views/ and actions/
  • Adds Kamal deploy config (config/deploy/rust.yml), Rust CI jobs (fmt, clippy, test, build, Docker), and project documentation
  • Cleans up leftover assets from previous projects (py/geney-2 static files, bin/dev tmux script, bin/worktree)

Test plan

  • cargo build compiles cleanly
  • cargo test passes
  • cargo clippy -- -D warnings no warnings
  • cargo fmt -- --check formatted
  • make dev starts the server, widget CRUD works
  • Process a widget — SSE progress bar streams events in real-time
  • CI workflow passes all Rust jobs

🤖 Generated with Claude Code

amiller68 and others added 5 commits April 7, 2026 16:12
Adds a complete Rust web application built with Axum, SQLite, HTMX,
and Apalis background tasks. Includes Google OAuth, SSE real-time
events, struct-patch models, and a trait-based task registry.

Key patterns:
- runtime::Service trait with graceful shutdown
- Handler-per-file organization (views/ + actions/)
- Task trait for self-registering background jobs
- EventBus with scoped SSE streaming
- Full/ListItem/Patch model types via struct-patch

Also adds Kamal deploy config, Rust CI jobs, and updated docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove stale scripts (bin/dev, bin/minio, bin/check, bin/test,
bin/watch, bin/db, dev_/), old CI workflows (.github/workflows/),
and unused skills (e2e, spawn). Move db-rust skill into rust/
as db.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bump Rust Docker image to 1.89, fix Dockerfile COPY paths for root
context, auto-generate SERVICE_SECRET via rand when not provided,
and remove SERVICE_SECRET from Kamal secrets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Match Kamal's context: "." so COPY rust/... paths resolve correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@amiller68 amiller68 marked this pull request as ready for review April 7, 2026 22:07
@amiller68 amiller68 merged commit 4664b40 into main Apr 7, 2026
16 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