aboutsummaryrefslogtreecommitdiffstats
path: root/crates/server
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--crates/server/Cargo.toml103
-rw-r--r--crates/server/db/server-pg-migrations/20210425153745_create_history.sql (renamed from crates/turtle/db/server-pg-migrations/20210425153745_create_history.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20210425153757_create_users.sql (renamed from crates/turtle/db/server-pg-migrations/20210425153757_create_users.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20210425153800_create_sessions.sql (renamed from crates/turtle/db/server-pg-migrations/20210425153800_create_sessions.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20220419082412_add_count_trigger.sql (renamed from crates/turtle/db/server-pg-migrations/20220419082412_add_count_trigger.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql (renamed from crates/turtle/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20220421174016_larger-commands.sql (renamed from crates/turtle/db/server-pg-migrations/20220421174016_larger-commands.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20220426172813_user-created-at.sql (renamed from crates/turtle/db/server-pg-migrations/20220426172813_user-created-at.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20220505082442_create-events.sql (renamed from crates/turtle/db/server-pg-migrations/20220505082442_create-events.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20220610074049_history-length.sql (renamed from crates/turtle/db/server-pg-migrations/20220610074049_history-length.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20230315220537_drop-events.sql (renamed from crates/turtle/db/server-pg-migrations/20230315220537_drop-events.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20230315224203_create-deleted.sql (renamed from crates/turtle/db/server-pg-migrations/20230315224203_create-deleted.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20230515221038_trigger-delete-only.sql (renamed from crates/turtle/db/server-pg-migrations/20230515221038_trigger-delete-only.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20230623070418_records.sql (renamed from crates/turtle/db/server-pg-migrations/20230623070418_records.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20231202170508_create-store.sql (renamed from crates/turtle/db/server-pg-migrations/20231202170508_create-store.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20231203124112_create-store-idx.sql (renamed from crates/turtle/db/server-pg-migrations/20231203124112_create-store-idx.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20240108124837_drop-some-defaults.sql (renamed from crates/turtle/db/server-pg-migrations/20240108124837_drop-some-defaults.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20240614104159_idx-cache.sql (renamed from crates/turtle/db/server-pg-migrations/20240614104159_idx-cache.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20240621110731_user-verified.sql (renamed from crates/turtle/db/server-pg-migrations/20240621110731_user-verified.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20240702094825_idx_cache_index.sql (renamed from crates/turtle/db/server-pg-migrations/20240702094825_idx_cache_index.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20260127000000_remove-email-verification.sql (renamed from crates/turtle/db/server-pg-migrations/20260127000000_remove-email-verification.sql)0
-rw-r--r--crates/server/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql (renamed from crates/turtle/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql)0
-rw-r--r--crates/server/src/database/db/mod.rs (renamed from crates/turtle/src/atuin_server/database/db/mod.rs)0
-rw-r--r--crates/server/src/database/db/wrappers.rs (renamed from crates/turtle/src/atuin_server/database/db/wrappers.rs)0
-rw-r--r--crates/server/src/database/mod.rs (renamed from crates/turtle/src/atuin_server/database/mod.rs)0
-rw-r--r--crates/server/src/database/models.rs (renamed from crates/turtle/src/atuin_server/database/models.rs)0
-rw-r--r--crates/server/src/handlers/mod.rs (renamed from crates/turtle/src/atuin_server/handlers/mod.rs)2
-rw-r--r--crates/server/src/handlers/v0/mod.rs (renamed from crates/turtle/src/atuin_server/handlers/v0/mod.rs)0
-rw-r--r--crates/server/src/handlers/v0/record.rs (renamed from crates/turtle/src/atuin_server/handlers/v0/record.rs)2
-rw-r--r--crates/server/src/lib.rs (renamed from crates/turtle/src/atuin_server/mod.rs)0
-rw-r--r--crates/server/src/metrics.rs (renamed from crates/turtle/src/atuin_server/metrics.rs)0
-rw-r--r--crates/server/src/router.rs (renamed from crates/turtle/src/atuin_server/router.rs)2
-rw-r--r--crates/server/src/settings.rs (renamed from crates/turtle/src/atuin_server/settings.rs)46
33 files changed, 124 insertions, 31 deletions
diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml
new file mode 100644
index 00000000..982f32b1
--- /dev/null
+++ b/crates/server/Cargo.toml
@@ -0,0 +1,103 @@
+[package]
+name = "turtle-server"
+edition = "2024"
+description = "sync server for turtle history db"
+readme = "./README.md"
+
+rust-version = { workspace = true }
+version = { workspace = true }
+authors = { workspace = true }
+license = { workspace = true }
+homepage = { workspace = true }
+repository = { workspace = true }
+
+[dependencies]
+async-trait = "0.1.58"
+atuin-nucleo-matcher = { workspace = true }
+atuin-nucleo = { workspace = true }
+axum = "0.8"
+base64 = "0.22"
+clap = { version = "4.5.7", features = ["derive"] }
+clap_complete = "4.5.8"
+clap_complete_nushell = "4.5.4"
+colored = "2.0.4"
+config = { version = "0.15.8", default-features = false, features = ["toml"] }
+crossterm = {version = "0.29.0", features = ["use-dev-tty", "serde"] }
+crypto_secretbox = "0.1.1"
+dashmap = "6.1.0"
+directories = "6.0.0"
+eyre = "0.6"
+fs-err = "3.1"
+fs4 = "0.13.1"
+fuzzy-matcher = "0.3.7"
+hyper-util = "0.1"
+indicatif = "0.18.0"
+interim = { version = "0.2.0", features = ["time_0_3"] }
+itertools = "0.14.0"
+lasso = { version = "0.7", features = ["multi-threaded"] }
+log = "0.4"
+metrics = "0.24"
+metrics-exporter-prometheus = { version = "0.18", default-features = false }
+minspan = "0.1.5"
+norm = { version = "0.1.1", features = ["fzf-v2"] }
+notify = "7"
+prost = "0.14"
+rand = { version = "0.8.5", features = ["std"] }
+ratatui = "0.30.0"
+regex = "1.10.5"
+reqwest = { version = "0.13", features = ["json", "rustls-no-provider", "stream"], default-features = false }
+rmp = { version = "0.8.14" }
+runtime-format = "0.1.3"
+rustix = { version = "1.1.4", features = ["process", "fs"] }
+rustls = { version = "0.23", default-features = false, features = [ "ring", "std", "tls12", ] }
+rusty_paserk = { version = "0.5.0", default-features = false, features = [ "v4", "serde", ] }
+rusty_paseto = { version = "0.8.0", default-features = false }
+semver = "1.0.20"
+serde = { version = "1.0.202", features = ["derive"] }
+serde_json = "1.0.119"
+serde_regex = "1.1.0"
+serde_with = "3.8.1"
+shellexpand = "3"
+sql-builder = "3"
+sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "time", "postgres", "uuid", "sqlite", "regexp"] }
+thiserror = "2"
+time = { version = "0.3.47", features = [ "serde-human-readable", "macros", "local-offset", "macros", "formatting", "parsing"] }
+tokio = { version = "1", features = ["full"] }
+tokio-stream = { version = "0.1.14", features = ["net"] }
+toml_edit = "0.25.4"
+tonic = "0.14"
+tonic-prost = "0.14"
+tower = "0.5"
+tower-http = { version = "0.6", features = ["trace"] }
+tracing = "0.1"
+tracing-appender = "0.2"
+tracing-subscriber = { version = "0.3", features = ["ansi", "fmt", "registry", "env-filter", "json"] }
+typed-builder = "0.18.2"
+unicode-segmentation = "1.11.0"
+unicode-width = "0.2"
+url = "2.5.2"
+uuid = { version = "1.9", features = ["v4", "v7", "serde"] }
+vt100 = "0.16"
+whoami = "2.1.0"
+
+[target.'cfg(target_os = "linux")'.dependencies]
+arboard = { version = "3.4", default-features = false, features = [ "wayland-data-control", ] }
+listenfd = "1.0.1"
+
+[target.'cfg(unix)'.dependencies]
+daemonize = "0.5.0"
+portable-pty = "0.9"
+signal-hook = "0.3"
+
+[dev-dependencies]
+tokio = { version = "1", features = ["full"] }
+
+[build-dependencies]
+protox = "0.9"
+tonic-prost-build = "0.14"
+
+[package.metadata.docs.rs]
+all-features = true
+
+[lints]
+workspace = true
diff --git a/crates/turtle/db/server-pg-migrations/20210425153745_create_history.sql b/crates/server/db/server-pg-migrations/20210425153745_create_history.sql
index 2c2d17b0..2c2d17b0 100644
--- a/crates/turtle/db/server-pg-migrations/20210425153745_create_history.sql
+++ b/crates/server/db/server-pg-migrations/20210425153745_create_history.sql
diff --git a/crates/turtle/db/server-pg-migrations/20210425153757_create_users.sql b/crates/server/db/server-pg-migrations/20210425153757_create_users.sql
index a25dcced..a25dcced 100644
--- a/crates/turtle/db/server-pg-migrations/20210425153757_create_users.sql
+++ b/crates/server/db/server-pg-migrations/20210425153757_create_users.sql
diff --git a/crates/turtle/db/server-pg-migrations/20210425153800_create_sessions.sql b/crates/server/db/server-pg-migrations/20210425153800_create_sessions.sql
index c2fb6559..c2fb6559 100644
--- a/crates/turtle/db/server-pg-migrations/20210425153800_create_sessions.sql
+++ b/crates/server/db/server-pg-migrations/20210425153800_create_sessions.sql
diff --git a/crates/turtle/db/server-pg-migrations/20220419082412_add_count_trigger.sql b/crates/server/db/server-pg-migrations/20220419082412_add_count_trigger.sql
index dd1afa88..dd1afa88 100644
--- a/crates/turtle/db/server-pg-migrations/20220419082412_add_count_trigger.sql
+++ b/crates/server/db/server-pg-migrations/20220419082412_add_count_trigger.sql
diff --git a/crates/turtle/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql b/crates/server/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql
index 6198f300..6198f300 100644
--- a/crates/turtle/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql
+++ b/crates/server/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql
diff --git a/crates/turtle/db/server-pg-migrations/20220421174016_larger-commands.sql b/crates/server/db/server-pg-migrations/20220421174016_larger-commands.sql
index 0ac43433..0ac43433 100644
--- a/crates/turtle/db/server-pg-migrations/20220421174016_larger-commands.sql
+++ b/crates/server/db/server-pg-migrations/20220421174016_larger-commands.sql
diff --git a/crates/turtle/db/server-pg-migrations/20220426172813_user-created-at.sql b/crates/server/db/server-pg-migrations/20220426172813_user-created-at.sql
index a9138194..a9138194 100644
--- a/crates/turtle/db/server-pg-migrations/20220426172813_user-created-at.sql
+++ b/crates/server/db/server-pg-migrations/20220426172813_user-created-at.sql
diff --git a/crates/turtle/db/server-pg-migrations/20220505082442_create-events.sql b/crates/server/db/server-pg-migrations/20220505082442_create-events.sql
index 57e16ec7..57e16ec7 100644
--- a/crates/turtle/db/server-pg-migrations/20220505082442_create-events.sql
+++ b/crates/server/db/server-pg-migrations/20220505082442_create-events.sql
diff --git a/crates/turtle/db/server-pg-migrations/20220610074049_history-length.sql b/crates/server/db/server-pg-migrations/20220610074049_history-length.sql
index b1c23016..b1c23016 100644
--- a/crates/turtle/db/server-pg-migrations/20220610074049_history-length.sql
+++ b/crates/server/db/server-pg-migrations/20220610074049_history-length.sql
diff --git a/crates/turtle/db/server-pg-migrations/20230315220537_drop-events.sql b/crates/server/db/server-pg-migrations/20230315220537_drop-events.sql
index fe3cae17..fe3cae17 100644
--- a/crates/turtle/db/server-pg-migrations/20230315220537_drop-events.sql
+++ b/crates/server/db/server-pg-migrations/20230315220537_drop-events.sql
diff --git a/crates/turtle/db/server-pg-migrations/20230315224203_create-deleted.sql b/crates/server/db/server-pg-migrations/20230315224203_create-deleted.sql
index 9a9e6263..9a9e6263 100644
--- a/crates/turtle/db/server-pg-migrations/20230315224203_create-deleted.sql
+++ b/crates/server/db/server-pg-migrations/20230315224203_create-deleted.sql
diff --git a/crates/turtle/db/server-pg-migrations/20230515221038_trigger-delete-only.sql b/crates/server/db/server-pg-migrations/20230515221038_trigger-delete-only.sql
index 3d0bba52..3d0bba52 100644
--- a/crates/turtle/db/server-pg-migrations/20230515221038_trigger-delete-only.sql
+++ b/crates/server/db/server-pg-migrations/20230515221038_trigger-delete-only.sql
diff --git a/crates/turtle/db/server-pg-migrations/20230623070418_records.sql b/crates/server/db/server-pg-migrations/20230623070418_records.sql
index a3e5de2e..a3e5de2e 100644
--- a/crates/turtle/db/server-pg-migrations/20230623070418_records.sql
+++ b/crates/server/db/server-pg-migrations/20230623070418_records.sql
diff --git a/crates/turtle/db/server-pg-migrations/20231202170508_create-store.sql b/crates/server/db/server-pg-migrations/20231202170508_create-store.sql
index ffb57966..ffb57966 100644
--- a/crates/turtle/db/server-pg-migrations/20231202170508_create-store.sql
+++ b/crates/server/db/server-pg-migrations/20231202170508_create-store.sql
diff --git a/crates/turtle/db/server-pg-migrations/20231203124112_create-store-idx.sql b/crates/server/db/server-pg-migrations/20231203124112_create-store-idx.sql
index 56d67145..56d67145 100644
--- a/crates/turtle/db/server-pg-migrations/20231203124112_create-store-idx.sql
+++ b/crates/server/db/server-pg-migrations/20231203124112_create-store-idx.sql
diff --git a/crates/turtle/db/server-pg-migrations/20240108124837_drop-some-defaults.sql b/crates/server/db/server-pg-migrations/20240108124837_drop-some-defaults.sql
index ad2af5a1..ad2af5a1 100644
--- a/crates/turtle/db/server-pg-migrations/20240108124837_drop-some-defaults.sql
+++ b/crates/server/db/server-pg-migrations/20240108124837_drop-some-defaults.sql
diff --git a/crates/turtle/db/server-pg-migrations/20240614104159_idx-cache.sql b/crates/server/db/server-pg-migrations/20240614104159_idx-cache.sql
index 12bbbecc..12bbbecc 100644
--- a/crates/turtle/db/server-pg-migrations/20240614104159_idx-cache.sql
+++ b/crates/server/db/server-pg-migrations/20240614104159_idx-cache.sql
diff --git a/crates/turtle/db/server-pg-migrations/20240621110731_user-verified.sql b/crates/server/db/server-pg-migrations/20240621110731_user-verified.sql
index 6eba02ec..6eba02ec 100644
--- a/crates/turtle/db/server-pg-migrations/20240621110731_user-verified.sql
+++ b/crates/server/db/server-pg-migrations/20240621110731_user-verified.sql
diff --git a/crates/turtle/db/server-pg-migrations/20240702094825_idx_cache_index.sql b/crates/server/db/server-pg-migrations/20240702094825_idx_cache_index.sql
index d1a7b194..d1a7b194 100644
--- a/crates/turtle/db/server-pg-migrations/20240702094825_idx_cache_index.sql
+++ b/crates/server/db/server-pg-migrations/20240702094825_idx_cache_index.sql
diff --git a/crates/turtle/db/server-pg-migrations/20260127000000_remove-email-verification.sql b/crates/server/db/server-pg-migrations/20260127000000_remove-email-verification.sql
index 15309920..15309920 100644
--- a/crates/turtle/db/server-pg-migrations/20260127000000_remove-email-verification.sql
+++ b/crates/server/db/server-pg-migrations/20260127000000_remove-email-verification.sql
diff --git a/crates/turtle/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql b/crates/server/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql
index d31c23e2..d31c23e2 100644
--- a/crates/turtle/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql
+++ b/crates/server/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql
diff --git a/crates/turtle/src/atuin_server/database/db/mod.rs b/crates/server/src/database/db/mod.rs
index 77bd0c61..77bd0c61 100644
--- a/crates/turtle/src/atuin_server/database/db/mod.rs
+++ b/crates/server/src/database/db/mod.rs
diff --git a/crates/turtle/src/atuin_server/database/db/wrappers.rs b/crates/server/src/database/db/wrappers.rs
index 0315e331..0315e331 100644
--- a/crates/turtle/src/atuin_server/database/db/wrappers.rs
+++ b/crates/server/src/database/db/wrappers.rs
diff --git a/crates/turtle/src/atuin_server/database/mod.rs b/crates/server/src/database/mod.rs
index 43fe5c3b..43fe5c3b 100644
--- a/crates/turtle/src/atuin_server/database/mod.rs
+++ b/crates/server/src/database/mod.rs
diff --git a/crates/turtle/src/atuin_server/database/models.rs b/crates/server/src/database/models.rs
index 3fa6f471..3fa6f471 100644
--- a/crates/turtle/src/atuin_server/database/models.rs
+++ b/crates/server/src/database/models.rs
diff --git a/crates/turtle/src/atuin_server/handlers/mod.rs b/crates/server/src/handlers/mod.rs
index b73df27b..c4332f80 100644
--- a/crates/turtle/src/atuin_server/handlers/mod.rs
+++ b/crates/server/src/handlers/mod.rs
@@ -1,7 +1,7 @@
use crate::atuin_common::api::{ErrorResponse, IndexResponse};
use axum::{Json, extract::State, http, response::IntoResponse};
-use crate::atuin_server::router::AppState;
+use crate::router::AppState;
pub(crate) mod v0;
diff --git a/crates/turtle/src/atuin_server/handlers/v0/mod.rs b/crates/server/src/handlers/v0/mod.rs
index 78fb47b8..78fb47b8 100644
--- a/crates/turtle/src/atuin_server/handlers/v0/mod.rs
+++ b/crates/server/src/handlers/v0/mod.rs
diff --git a/crates/turtle/src/atuin_server/handlers/v0/record.rs b/crates/server/src/handlers/v0/record.rs
index 9350e1c8..0381ded8 100644
--- a/crates/turtle/src/atuin_server/handlers/v0/record.rs
+++ b/crates/server/src/handlers/v0/record.rs
@@ -3,7 +3,7 @@ use metrics::counter;
use serde::Deserialize;
use tracing::{error, instrument};
-use crate::atuin_server::{
+use crate::{
handlers::{ErrorResponse, ErrorResponseStatus, RespExt},
router::{AppState, UserAuth},
};
diff --git a/crates/turtle/src/atuin_server/mod.rs b/crates/server/src/lib.rs
index a4b10acf..a4b10acf 100644
--- a/crates/turtle/src/atuin_server/mod.rs
+++ b/crates/server/src/lib.rs
diff --git a/crates/turtle/src/atuin_server/metrics.rs b/crates/server/src/metrics.rs
index 6380bef1..6380bef1 100644
--- a/crates/turtle/src/atuin_server/metrics.rs
+++ b/crates/server/src/metrics.rs
diff --git a/crates/turtle/src/atuin_server/router.rs b/crates/server/src/router.rs
index d6fe9482..2a5c5f15 100644
--- a/crates/turtle/src/atuin_server/router.rs
+++ b/crates/server/src/router.rs
@@ -16,7 +16,7 @@ use tower_http::trace::TraceLayer;
use uuid::Uuid;
use super::handlers;
-use crate::atuin_server::{
+use crate::{
handlers::{ErrorResponseStatus, RespExt},
metrics,
settings::Settings,
diff --git a/crates/turtle/src/atuin_server/settings.rs b/crates/server/src/settings.rs
index 73fc5e42..6a32fb9b 100644
--- a/crates/turtle/src/atuin_server/settings.rs
+++ b/crates/server/src/settings.rs
@@ -6,7 +6,7 @@ use fs_err::create_dir_all;
use serde::{Deserialize, Serialize};
use tracing::info;
-use crate::atuin_server::database::DbSettings;
+use crate::database::DbSettings;
#[derive(Clone, Debug, Deserialize, Serialize)]
pub(crate) struct Metrics {
@@ -50,18 +50,6 @@ pub(crate) struct Settings {
impl Settings {
pub(crate) fn new() -> Result<Self> {
- let mut config_file = std::env::var("ATUIN_CONFIG_DIR").map_or_else(
- |_| {
- let mut config_file = PathBuf::new();
- let config_dir = crate::atuin_common::utils::config_dir();
- config_file.push(config_dir);
- config_file
- },
- PathBuf::from,
- );
-
- config_file.push("server.toml");
-
// create the config file if it does not exist
let mut config_builder = Config::builder()
.set_default("host", "127.0.0.1")?
@@ -79,23 +67,25 @@ impl Settings {
.separator("__"),
);
- config_builder = if config_file.exists() {
- config_builder.add_source(ConfigFile::new(
- config_file.to_str().unwrap(),
- FileFormat::Toml,
- ))
- } else {
- // TODO(@bpeetz): Rework the config handling, so that we can actually auto-write a
- // file with defaults. <2026-06-13>
- create_dir_all(config_file.parent().unwrap())?;
+ if let Ok(mut config_file) = std::env::var("TURTLE_SERVER_CONFIG").map(PathBuf::from) {
+ config_builder = if config_file.exists() {
+ config_builder.add_source(ConfigFile::new(
+ config_file.to_str().unwrap(),
+ FileFormat::Toml,
+ ))
+ } else {
+ // TODO(@bpeetz): Rework the config handling, so that we can actually auto-write a
+ // file with defaults. <2026-06-13>
+ create_dir_all(config_file.parent().unwrap())?;
- info!(
- "No config file at: `{}`. Not adding one.",
- config_file.display()
- );
+ info!(
+ "No config file at: `{}`. Not adding one.",
+ config_file.display()
+ );
- config_builder
- };
+ config_builder
+ };
+ }
let config = config_builder.build()?;