Commit graph

63 commits

Author SHA1 Message Date
Zhaofeng Li 9a9e2c0ce1
Merge pull request #98 from Mic92/sharding
implement sharding
2024-01-01 09:17:18 -07:00
Zhaofeng Li 7b133bca83 server: Upgrade sea-orm to 0.12.10
Co-authored-by: Francesco Gazzetta <fgaz@fgaz.me>
2023-12-18 09:28:58 -07:00
Zhaofeng Li ab4040a267 Trivial semver-incompatible upgrades
Co-authored-by: Francesco Gazzetta <fgaz@fgaz.me>
2023-12-18 09:28:43 -07:00
Zhaofeng Li 9c79f6f5cb server: Upgrade aws-sdk-rust
Co-authored-by: Francesco Gazzetta <fgaz@fgaz.me>
2023-12-18 09:28:43 -07:00
Cole Helbling 26234c294a cargo fmt 2023-12-18 09:28:43 -07:00
Jörg Thalheim 484e38094c implement sharding
didn't actually tested the code
2023-11-11 07:37:17 +01:00
Zhaofeng Li f4cf5704d6 Fix lint
get_or_insert_permission_mut returns a mut reference.

Fixes #77.
2023-08-13 18:23:30 -06:00
Travis Staton 91d8bd5cdc
fix chunk deletion bug
fetch all deleted chunks, not just the ones that just transitioned
2023-06-25 13:51:26 -04:00
Zhaofeng Li 564b4be0f9 Update sea-orm to 0.11.3
This commit drops support of Nixpkgs 22.11. Users should upgrade to
23.05 or use the pinned nixpkgs version in the flake.
2023-06-12 18:52:16 -06:00
Zhaofeng Li 2d0aeefd2f Trivial semver-incompatible upgrades 2023-05-28 15:23:45 -06:00
Zhaofeng Li 1b980a9640 server: Upgrade async-compression 2023-05-28 15:23:45 -06:00
Zhaofeng Li 1a0116fee8 server: Upgrade aws-sdk-rust 2023-05-28 15:23:45 -06:00
Zhaofeng Li 6489d775ae Update deps 2023-05-28 15:23:45 -06:00
Charlotte 🦝 Delenk c686b2c1ea
Increase narinfo size limit to 1MiB
I was still encountering failures due to narinfo files being too large,
even with the increased 64kiB limit. This commit increases it to 1MiB
which is hopefully larger than any “reasonable” derivation, while also
not being too large for the server to keep in memory at once.
2023-04-06 10:03:00 +01:00
Zhaofeng Li 94a1d44a10 server: Only read PUT payload up to the claimed size 2023-03-21 18:45:34 -06:00
Zhaofeng Li ba8bd5d66c Thanks clippy 2023-03-21 18:45:34 -06:00
Zhaofeng Li 22626efd35 Trivial semver-incompatible upgrades 2023-03-05 11:05:11 -07:00
Zhaofeng Li c3c7c10c05 Upgrade toml 2023-03-05 11:05:11 -07:00
Zhaofeng Li 97285de54f Upgrade base64 2023-03-05 11:05:11 -07:00
Zhaofeng Li 7f62e92d71 server: Upgrade fastcdc 2023-03-05 11:05:11 -07:00
Zhaofeng Li b6002b413c server: Upgrade aws-sdk-rust 2023-03-05 11:05:11 -07:00
Zhaofeng Li 18ca2cf29a Update deps 2023-03-05 11:05:11 -07:00
Zhaofeng Li 863f8dcca3 Revert "server: Allow configuring max database connections"
Causes issues with SQLite. To be investigated further.

This reverts commit 9fdec3397d.
2023-02-11 01:42:14 -07:00
Zhaofeng Li 9fdec3397d server: Allow configuring max database connections
We set it to 20 by default. The SQLx default is 10.
2023-02-11 01:16:55 -07:00
Zhaofeng Li a2bc969594 rustfmt 2023-01-29 12:01:54 -07:00
Zhaofeng Li a113845095 server/upload_path: Remove already fixed FIXME 2023-01-29 12:01:54 -07:00
Zhaofeng Li 3c8bebf6b5 upload-path: Support including the upload info as part of the PUT body
Often times there are tight limits on how large headers can be.
2023-01-29 12:01:54 -07:00
Zhaofeng Li 00c3024c41 server: Use the same read_chunk_async implementation 2023-01-29 12:01:54 -07:00
Zhaofeng Li 33d8dfabbd Use common constant for X-Attic-Nar-Info header 2023-01-29 12:01:54 -07:00
Zhaofeng Li 44e179362b server/binary_cache: No need to fetch all chunks for narinfo 2023-01-26 23:17:45 -07:00
Zhaofeng Li 8b52796dcb server/upload_path: Create chunkrefs during the upload 2023-01-17 14:10:27 -07:00
Zhaofeng Li 5b42839f58 Expose deduplication ratio to client 2023-01-17 14:10:27 -07:00
Zhaofeng Li 19111317f7 server/chunking: Add a couple of test cases on buffer size boundaries 2023-01-17 14:10:27 -07:00
Zhaofeng Li 99202303be Fix build with nixpkgs 22.11
We temporarily patch sea-orm to build with a lower MSRV.
2023-01-16 14:14:14 -07:00
Charlotte 🦝 Delenk c2d1a98e3d
fix null insertion in chunkref table 2023-01-16 14:29:11 +01:00
Charlotte 🦝 Delenk fb77c7eb2b
config.rs: Add env variable for db url 2023-01-15 18:38:28 +01:00
Zhaofeng Li fb1101f54d server/upload-path: Set completeness hint when NAR is deduplicated 2023-01-14 23:55:11 -07:00
Zhaofeng Li e8f9f3c04b Add support for chunking 2023-01-14 23:55:10 -07:00
Zhaofeng Li 93a38d1b1e Move read_chunk_async to attic 2023-01-14 23:55:10 -07:00
Zhaofeng Li 5a8df0b1e8 server/upload_path: Refactor 2023-01-14 23:55:10 -07:00
Zhaofeng Li 6d3d07cb14 server/adm: Make --config/-f a global option 2023-01-14 23:55:10 -07:00
Zhaofeng Li 064a747bb4 server/upload_path: Expose the final file size in the response 2023-01-14 23:55:10 -07:00
Zhaofeng Li 3d1961c0ab server: Allow setting an alternative substituter endpoint 2023-01-08 23:00:53 -07:00
Zhaofeng Li c4f843d4ab server: rustfmt
poke ci
2023-01-08 02:44:45 -07:00
Zhaofeng Li 05a5e9cca8 server: Set a custom header if the cache is public
This can be used as a signal to improve caching. Only done for
the Nix Binary Cache APIs for now.
2023-01-08 00:57:22 -07:00
Zhaofeng Li 6c4d04da74 Migrate to jwt-simple 2023-01-08 00:57:22 -07:00
Zhaofeng Li eb34b8ee99 attic: Allow disabling tokio
Not needed at all for parsing usecases.
2023-01-08 00:57:22 -07:00
Zhaofeng Li 77070b9895 Refactor token into a separate crate 2023-01-08 00:57:22 -07:00
Zhaofeng Li b0471c6804 server/config: Support loading HS256 JWT secret from environment variable 2023-01-06 00:59:35 -07:00
Zhaofeng Li 82fb6682d7 Consolidate config loading logic 2023-01-06 00:59:35 -07:00