Initial commit: C3 (Cached Content Conduit)

A minimal CDN for serving versioned, gzip-compressed static assets,
backed by SQLite and an actor-based (smarm) storage server, with
HTTP serving via urus.

- CLI: create/add/archive packages and versions, serve over HTTP
- Storage: SQLite-backed asset store (src/store.rs) with gzip
  compression on ingest and content-type sniffing by extension
- HTTP: GET /packages (list packages+versions), GET
  /assets/:package/:version/:filename (serves gzip or transparently
  decompressed, with immutable long-lived cache headers)
This commit is contained in:
2026-08-08 16:23:26 +02:00
commit 289630d366
6 changed files with 1009 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
[package]
name = "CCC"
version = "0.1.0"
edition = "2024"
[dependencies]
urus = { git = "https://git.kalsbeek.dev/Markk116/urus.git" }
# Pinned to the same tag urus itself depends on, so Cargo unifies both
# into a single source id/copy of smarm (avoids duplicate #[global_allocator]).
smarm = { git = "https://git.kalsbeek.dev/Markk116/smarm.git", tag = "v0.5.0" }
rusqlite = { version = "0.31", features = ["bundled"] }
flate2 = "1.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1"