aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-server/src/settings.rs (unfollow)
Commit message (Collapse)Author
5 dayschore: Move everything into one big crateBenedikt Peetz
That helps remove duplicated code and rustc/cargo will now also show dead code correctly.
2026-01-27feat: remove user verification functionality (#3108)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-01-22chore(deps)!: update tls deps, remove built-in tls server support (#3091)Ellie Huxtable
Update reqwest from 0.12 to 0.13 and remove the built-in TLS termination from atuin-server. Users should use a reverse proxy (nginx, caddy, traefik) for TLS/HTTPS support instead. This removes: - axum-server and rustls dependencies - The [tls] configuration section - The launch_with_tls function Also updates metrics-exporter-prometheus from 0.17 to 0.18. The reverse proxy approach is standard and provides better flexibility for certificate management. I'd rather keep our server stack as minimal as possible. <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2025-12-18feat: allow disabling sync v1 (#3030)Ellie Huxtable
It takes up a very large amount of our query time, despite having been replaced for >1yr now. We will be dropping support for it on atuin hub
2025-06-23feat: Add sqlite server support for self-hosting (#2770)Scotte Zinn
* Move db_uri setting to DbSettings * WIP: sqlite crate framework * WIP: Migrations * WIP: sqlite implementation * Add sqlite3 to Docker image * verified_at needed for user query * chore(deps): bump debian (#2772) Bumps debian from bookworm-20250428-slim to bookworm-20250520-slim. --- updated-dependencies: - dependency-name: debian dependency-version: bookworm-20250520-slim dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(doctor): mention the required ble.sh version (#2774) References: https://forum.atuin.sh/t/1047 * fix: Don't print errors in `zsh_autosuggest` helper (#2780) Previously, this would result in long multi-line errors when typing, making it hard to see the shell prompt: ``` $ Error: could not load client settings Caused by: 0: could not create config file 1: failed to create file `/home/jyn/.config/atuin/config.toml` 2: Required key not available (os error 126) Location: atuin-client/src/settings.rs:675:54 fError: could not load client settings Caused by: 0: could not create config file 1: failed to create file `/home/jyn/.config/atuin/config.toml` 2: Required key not available (os error 126) Location: atuin-client/src/settings.rs:675:54 faError: could not load client settings ``` Silence these in autosuggestions, such that they only show up when explicitly invoking atuin. * fix: `atuin.nu` enchancements (#2778) * PR feedback * Remove sqlite3 package * fix(search): prevent panic on malformed format strings (#2776) (#2777) * fix(search): prevent panic on malformed format strings (#2776) - Wrap format operations in panic catcher for graceful error handling - Improve error messages with context-aware guidance for common issues - Let runtime-format parser handle validation to avoid blocking valid formats Fixes crash when using malformed format strings by catching formatting errors gracefully and providing actionable guidance without restricting legitimate format patterns like {command} or {time}. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Satisfy cargo fmt * test(search): add regression tests for format string panic (#2776) - Add test for malformed JSON format strings that previously caused panics - Add test to ensure valid format strings continue to work - Prevent future regressions of the format string panic issue 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Koichi Murase <myoga.murase@gmail.com> Co-authored-by: jyn <github@jyn.dev> Co-authored-by: Tyarel8 <98483313+Tyarel8@users.noreply.github.com> Co-authored-by: Brian Cosgrove <cosgroveb@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
2025-03-19chore: migrate to rust 2024 (#2635)Ellie Huxtable
* chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
2024-10-02fix: disable mail by default, resolve #2404 (#2405)Ellie Huxtable
2024-09-09chore(deps): Update rustls and axum-server (#2382)Tobias Genannt
2024-08-06fix(mail): incorrect alias and error logs (#2346)Ellie Huxtable
2024-07-02feat: allow advertising a fake version to clients (#2228)Ellie Huxtable
* feat: allow advertising a fake version to clients The server usually runs unstable Atuin, and is well monitored. But let's not advertised the unstable version to clients, as they will notify users there is an update available. * fix test build
2024-07-02perf: write to the idx cache (#2225)Ellie Huxtable
2024-06-24feat: add user account verification (#2190)Ellie Huxtable
* add verified column to users table * add database functions to check if verified, or to verify * getting there * verification check * use base64 urlsafe no pad * add verification client * clippy * correct docs * fix integration tests
2024-05-14fix: alias enable/enabled in settings (#2021)Ellie Huxtable
2024-04-18chore: move crates into crates/ dir (#1958)Ellie Huxtable
I'd like to tidy up the root a little, and it's nice to have all the rust crates in one place
2024-01-28chore(deps): update axum (#1637)Conrad Ludgate
2024-01-03fix(server): typo with default config (#1493)Ellie Huxtable
Without TLS config, the server fails to load defaults. Until this is released, add this to your server config ``` [tls] enable = false cert_path = "" pkey_path = "" ```
2023-12-27feat: Add TLS to atuin-server (#1457)Eric Hodel
* 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-11-16feat: add metrics server and http metrics (#1394)Ellie Huxtable
* feat: add metrics server and http metrics * setup metrics * update default config * fix tests
2023-10-12Add commands to print the default configuration (#1241)Tobias Genannt
* Add commands to print the default configuration When updating a software I often want to compare my configuration with the configuration of the new version. To make this possible atuin can now print the default configuration. This also updates the example files with the actual values used as default in the settings.rs files. * Changed command name to 'default-config' * Fixed merge
2023-07-14Add new sync (#1093)Ellie Huxtable
* Add record migration * Add database functions for inserting history No real tests yet :( I would like to avoid running postgres lol * Add index handler, use UUIDs not strings * Fix a bunch of tests, remove Option<Uuid> * Add tests, all passing * Working upload sync * Record downloading works * Sync download works * Don't waste requests * Use a page size for uploads, make it variable later * Aaaaaand they're encrypted now too * Add cek * Allow reading tail across hosts * Revert "Allow reading tail across hosts" Not like that This reverts commit 7b0c72e7e050c358172f9b53cbd21b9e44cf4931. * Handle multiple shards properly * format * Format and make clippy happy * use some fancy types (#1098) * use some fancy types * fmt * Goodbye horrible tuple * Update atuin-server-postgres/migrations/20230623070418_records.sql Co-authored-by: Conrad Ludgate <conradludgate@gmail.com> * fmt * Sort tests too because time sucks * fix features --------- Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
2023-06-12refactor server to allow pluggable db and tracing (#1036)Conrad Ludgate
* refactor server to allow pluggable db and tracing * clean up * fix descriptions * remove dependencies
2023-05-21Allow server configured page size (#994)Ellie Huxtable
* Allow server configured page size * Backwards compat via semver checks * Correct header name
2023-03-07Add register notification webhook (#764)Ellie Huxtable
I find it super motivating when people use my stuff, so this makes it _even easier_ to know when someone new signs up!
2022-07-26Add support for prepending a path to all routes for the server (#484)morguldir
* Add support for prepending a path to all routes * Don't nest if there is no path provided Co-authored-by: Conrad Ludgate <oon@conradludgate.com> * Change the default for the path variable * run cargo-fmt Co-authored-by: Conrad Ludgate <oon@conradludgate.com>
2022-06-10Add configurable history length (#447)Ellie Huxtable
* Add configurable history length This allows servers to decide the max length of each history item they want to store! Some users might have much larger history lines than others. This setting can be set to 0 to allow for unlimited history length. This is not recommended for a public server install, but for a private one it can work nicely. * Format lol
2022-05-13Don't create config dir for server in default location if not needed (#406)Jakub Jirutka
...respect ATUIN_CONFIG_DIR. The current behaviour is problematic when running atuin server as a system service with config dir in /etc/atuin.
2022-04-28ignore JetBrains IDEs, tidy-up imports (#348)Jakub Panek
* ignore JB IDEs * tidy-up imports * add rustfmt config
2022-04-22refactor (#327)Conrad Ludgate
2022-04-13provide better error messages (#300)Conrad Ludgate
2022-04-13remove default db uri (#299)Conrad Ludgate
2022-04-12fix env config parsing (#295)Conrad Ludgate
* fix env config parsing * fmt
2022-03-17Update config-rs (#280)Ellie Huxtable
* Update config-rs Also fix our call to current_dir This should resolve #195 Thanks @conradludgate for the upstream fix! * Format
2021-04-25Update docs, unify on SQLx, bugfixes (#40)Ellie Huxtable
* Begin moving to sqlx for local too * Stupid scanners should just have a nice cup of tea Random internet shit searching for /.env or whatever * Remove diesel and rusqlite fully
2021-04-21Bugfixes, show time ago, perf improvementsEllie Huxtable
Also allow unique listing and more ergonomic cwd usage
2021-04-20Use cargo workspaces (#37)Ellie Huxtable
* Switch to Cargo workspaces Breaking things into "client", "server" and "common" makes managing the codebase much easier! client - anything running on a user's machine for adding history server - handles storing/syncing history and running a HTTP server common - request/response API definitions, common utils, etc * Update dockerfile