Skip to content

Add Rust Actix Web and Diesel redirect links example - #466

Draft
sdairs wants to merge 2 commits into
mainfrom
codex/redirect-links
Draft

sdairs wants to merge 2 commits into
mainfrom
codex/redirect-links

Conversation

@sdairs

@sdairs sdairs commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Adds a Rust/Actix Web/Diesel example for operator-scoped redirect links. Operators create canonical globally unique slugs, page their links and disable them by revision; public GET/HEAD returns a temporary no-store redirect only for enabled, unexpired links. Destinations are parsed and stored without being fetched.

Account-row locking keeps the cap counter and insert in one synchronous Diesel transaction. Pool checkout and the full operation run inside web::block; an owned admission permit stays in the blocking closure after waiter cancellation. Explicit owner migrations, restricted runtime grants, libpq verify-full, exact dependency pins and bounded input/page/pool limits are documented, including the shared-role trust boundary and absence of creation replay keys.

Validation on native Ubuntu 24.04 ARM64: locked Rust 1.99.0 build, formatter, Clippy, 3 unit tests and separate compiled HTTP/SIGTERM preflight. Eleven distinct real ClickHouse Managed Postgres checks passed across native cancellation and targeted HTTP runs: canonical/owner behavior, independent held-lock contention and cap, second-write and deferred COMMIT rollback, numeric paging including INT64_MAX, expiry/disable, grants/constraints, certificate-specific TLS negatives with positive control, and exact saved-state restart. Empty-schema migration plus repeated migration/seed followed the documented roles. Earlier harness attempts and corrections are retained locally. CI uses no Cloud secrets; the owned test service was deleted and its absence verified.

Companion article and detailed evidence remain local for review. No article publication or root index changes are included.

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