atuin/atuin-server/Cargo.toml
Eric Hodel d52e576129
feat: Add TLS to atuin-server (#1457)
* Add TLS to atuin-server

atuin as a project already includes most of the dependencies necessary
for server-side TLS.  This allows `atuin server start` to use a TLS
certificate when self-hosting in order to avoid the complication of
wrapping it in a TLS-aware proxy server.

Configuration is handled similar to the metrics server with its own
struct and currently accepts only the private key and certificate file
paths.

Starting a TLS server and a TCP server are divergent because the tests
need to bind to an arbitrary port to avoid collisions across tests.  The
API to accomplish this for a TLS server is much more verbose.

* Fix clippy, fmt

* Add TLS section to self-hosting
2023-12-27 14:15:48 +00:00

43 lines
1.1 KiB
TOML

[package]
name = "atuin-server"
edition = "2018"
description = "server library for atuin"
rust-version = { workspace = true }
version = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
[dependencies]
atuin-common = { path = "../atuin-common", version = "17.1.0" }
atuin-server-database = { path = "../atuin-server-database", version = "17.1.0" }
tracing = "0.1"
time = { workspace = true }
eyre = { workspace = true }
uuid = { workspace = true }
config = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
base64 = { workspace = true }
rand = { workspace = true }
tokio = { workspace = true }
async-trait = { workspace = true }
axum = "0.6.4"
axum-server = { version = "0.5.1", features = ["tls-rustls"] }
http = "0.2"
hyper = "0.14"
hyper-rustls = "0.24"
fs-err = { workspace = true }
tower = "0.4"
tower-http = { version = "0.4", features = ["trace"] }
reqwest = { workspace = true }
rustls = "0.21"
rustls-pemfile = "1.0"
argon2 = "0.5.0"
semver = { workspace = true }
metrics-exporter-prometheus = "0.12.1"
metrics = "0.21.1"