| Commit message (Collapse) | Author |
|
I'd like to tidy up the root a little, and it's nice to have all the
rust crates in one place
|
|
|
|
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 = ""
```
|
|
* 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
|
|
* feat: add metrics server and http metrics
* setup metrics
* update default config
* fix tests
|
|
* 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
|
|
* 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>
|
|
* refactor server to allow pluggable db and tracing
* clean up
* fix descriptions
* remove dependencies
|
|
* Allow server configured page size
* Backwards compat via semver checks
* Correct header name
|
|
I find it super motivating when people use my stuff, so this makes it
_even easier_ to know when someone new signs up!
|
|
* 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>
|
|
* 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
|
|
...respect ATUIN_CONFIG_DIR.
The current behaviour is problematic when running atuin server as a
system service with config dir in /etc/atuin.
|
|
* ignore JB IDEs
* tidy-up imports
* add rustfmt config
|
|
|
|
|
|
|
|
* fix env config parsing
* fmt
|
|
* Update config-rs
Also fix our call to current_dir
This should resolve #195
Thanks @conradludgate for the upstream fix!
* Format
|
|
* 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
|
|
Also allow unique listing and more ergonomic cwd usage
|
|
* 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
|