Git hosting and a container registry in one Rust binary (axum + Astro)
| 1 | [package] |
| 2 | name = "irongit" |
| 3 | version = "0.1.0" |
| 4 | edition = "2024" |
| 5 | |
| 6 | [features] |
| 7 | default = ["hot-reload"] |
| 8 | # src/dev.rs: the bun rebuild, the file watcher and /dev-ws. Build a |
| 9 | # production binary with --no-default-features to leave all of it out. |
| 10 | hot-reload = ["dep:notify"] |
| 11 | |
| 12 | [dependencies] |
| 13 | notify = { version = "8", optional = true } |
| 14 | irongit-shared = { path = "../shared" } |
| 15 | anyhow = "1.0.104" |
| 16 | axum = { version = "0.8.9", features = ["ws", "multipart", "macros"] } |
| 17 | tokio = { version = "1.53.2", features = ["full"] } |
| 18 | tower-http = { version = "0.7.1", features = ["trace", "compression-gzip", "limit", "set-header", "timeout"] } |
| 19 | sqlx = { version = "0.9.0", default-features = false, features = ["runtime-tokio", "tls-rustls-ring-webpki", "postgres", "macros", "migrate", "uuid", "chrono", "json"] } |
| 20 | uuid = { version = "1.27.0", features = ["v4", "v7", "serde"] } |
| 21 | chrono = { version = "0.4.45", features = ["serde"] } |
| 22 | serde = { version = "1.0.229", features = ["derive"] } |
| 23 | serde_json = "1.0.151" |
| 24 | mime_guess = "2.0.5" |
| 25 | rust-embed = "8.13.0" |
| 26 | tracing = "0.1.44" |
| 27 | tracing-appender = "0.2.5" |
| 28 | dotenvy = "0.15.7" |
| 29 | argon2 = "0.6.0" |
| 30 | rand = "0.10.3" |
| 31 | sha2 = "0.11.0" |
| 32 | hex = "0.4.3" |
| 33 | hmac = "0.13.0" |
| 34 | base64 = "0.23.1" |
| 35 | bytes = "1.12.1" |
| 36 | futures = "0.3.34" |
| 37 | tokio-util = { version = "0.7.19", features = ["io", "io-util"] } |
| 38 | url = "2.5.8" |
| 39 | maud = { version = "0.27.0", features = ["axum"] } |
| 40 | regex = "1.13.1" |
| 41 | once_cell = "1.21.4" |
| 42 | time = "0.3.55" |
| 43 | tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] } |
| 44 | rusty-s3 = "0.10.2" |
| 45 | reqwest = { version = "0.13.5", default-features = false, features = ["rustls", "stream", "json", "http2", "form", "query"] } |
| 46 | russh = "0.64.1" |
| 47 | comrak = "0.56.0" |
| 48 | syntect = "5.3.0" |
| 49 | flate2 = "1.1.10" |
| 50 | clap = { version = "4.6.7", features = ["derive", "env"] } |
| 51 | lettre = { version = "0.11.23", default-features = false, features = ["tokio1-rustls-tls", "smtp-transport", "builder", "hostname"] } |
| 52 | axum-extra = { version = "0.12.6", features = ["cookie", "typed-header"] } |
| 53 | async-compression = { version = "0.4.50", features = ["tokio", "gzip"] } |