feat: add post3 s3 proxy for postgresql

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2026-02-27 11:37:48 +01:00
commit 21bac4a33f
67 changed files with 14403 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
# POST3-009: CI pipeline with Dagger Rust SDK
**Status:** Done
**Priority:** P1
**Blocked by:**
## Description
Set up a Dagger-based CI pipeline using a custom self-contained `ci/` crate with `dagger-sdk` directly (not the external `cuddle-ci` / `dagger-rust` components, which are too opinionated for post3's context).
## What was built
- [x] `ci/` added as workspace member
- [x] `ci/Cargo.toml` with dependencies: dagger-sdk, eyre, tokio, clap
- [x] `ci/src/main.rs` — custom pipeline with:
- `pr` and `main` subcommands (clap CLI)
- Source loading with dependency caching (skeleton files pattern from dagger-components)
- `rustlang/rust:nightly` base with clang + mold 2.3.3 for fast linking
- Dagger cache volumes for target/ and cargo registry
- `cargo check --workspace` compilation check
- PostgreSQL 18 as Dagger service container for integration tests
- `cargo test --workspace -- --test-threads=1` against Dagger PG
- Release binary build + packaging into `debian:bookworm-slim`
- `post3-server --help` sanity check in final image
- [x] `mise.toml` tasks: `ci:pr`, `ci:main`
- [x] No container publish (deferred until registry is decided)
## Reference
Pattern inspired by dagger-components (`/home/kjuulh/git/git.kjuulh.io/kjuulh/dagger-components`) but self-contained — no external git dependencies.