Commit Graph
85 Commits
Author SHA1 Message Date
Johanna LarssonandTangled 66ea8287a0 refactor: drop aws crates for s3
We were just using them for S3 support. This PR switches us over to the s3 crate which works the same way, with some minor differences.

The main implication of this change is that we're no longer doing all the AWS stuff, like checking aws profile in home directory, or automatic discovery of metadata.

This change is covered by our brand new s3 test suite, but I also did the old school `just test-full` with minio.
2026-09-27 09:00:44 +00:00
Johanna LarssonandTangled 1475bdfe30 test(storage): use s3s to test S3BlobStorage
Introduces s3s and s3s-fs to run an in-memory s3 server in tests. With this we can promote s3 tests to run in `just test`, they won't need containers, and they're super fast. Adds `just test-s3` to run them more easily.

```
 Nextest run ID db9a9530-738e-4c92-ad3a-23289252cac2 with nextest profile: default                                                                                                              Starting 6 tests across 1 binary                                                                                                                                                                PASS [   0.356s] tranquil-storage::s3 put_stream_error_aborts_upload                                                                                                                        PASS [   0.356s] tranquil-storage::s3 put_stream_empty_aborts_upload                                                                                                                        PASS [   0.358s] tranquil-storage::s3 copy                                                                                                                                                  PASS [   0.360s] tranquil-storage::s3 put_get_head_delete                                                                                                                                   PASS [   0.360s] tranquil-storage::s3 put_stream                                                                                                                                            PASS [   0.447s] tranquil-storage::s3 put_stream_multipart                                                                                                                          ────────────                                                                                                                                                                                     Summary [   0.448s] 6 tests run: 6 passed, 0 skipped
```

Also optimizes more hashing functions because it matters in tests.
2026-09-26 19:07:04 +00:00
Johanna LarssonandTangled 5fd900ee1a build: switch governor to system time
We can make this test only by adding a feature for it and checking, but it didn't seem immediately worth it to me. Ping me if you want me to change it.

Shaves about 15-20% off of a j2 test run, because we spent about 200ms on every one of the 500 tests against the server just initializing the governor clock.
2026-09-25 16:42:41 +00:00
Johanna LarssonandTangled b5ad3a92cc build: set tikv-jemalloc-sys opt-level to 1
`gcc` uses fortify to do bounds checking or some other important thing and in CI it's failing because it's defaulting to -o0
2026-09-25 13:16:17 +00:00
Johanna LarssonandTangled 4302611e45 build: use ring over aws-lc
All of the codebase uses ring explicitly or implicitly, but the HTTP client used for S3 requests was using aws-lc instead. This commit removes that extra dependency.

Anecdotally it shaves 10s off a dev build on my machine, but slower machines would benefit more from it.
2026-09-25 13:06:17 +00:00
Johanna LarssonandTangled 0c5eda6117 Drop rustls 0.21 copy
It's not being used anyway, so just wasted CPU cycles.
2026-09-23 17:24:44 +00:00
Johanna LarssonandTangled 781be29d7b Speed up bcrypt and blowfish in tests
Build optimized versions of bcrypt and blowfish to speed them up, referencing things like https://github.com/oxidecomputer/omicron/blob/main/Cargo.toml#L981-L982

Password hashing is not a dominating cost, so this doesn't have a significant impact on the overall time, but a lot of tests like `**tranquil-pds::legacy_2fa** **test_legacy_2fa_code_consumed_after_use**` speed up. It goes from 5.6s to 2.7s on my machine.
2026-09-23 17:24:44 +00:00
nelind 75c341b94b chore: bump version to 0.6.7 2026-09-20 22:29:26 +02:00
LewisandTangled 135912194d types: HttpUrl newtypes, shared cache key/JSON helpers
Lewis: May this revision serve well! <did:plc:3fwecdnvtcscjnrx2p4n7alz>
2026-08-16 17:15:23 +00:00
nelind 72fa88d79a chore: bump version to 0.6.6 2026-07-26 00:25:56 +02:00
nelindandTangled 34a47e6e5a chore: clean up Cargo.toml files with cargo-shear and remove default feature on lib crates 2026-07-25 18:31:06 +03:00
LewisandTangled 221b32d66f build: smaller faster prod container
Lewis: May this revision serve well! <lu5a@proton.me>
2026-06-19 09:16:30 +03:00
LewisandTangled 637b817a33 ripple: cluster-key oomf authentication
Lewis: May this revision serve well! <lu5a@proton.me>
2026-06-14 18:46:41 +03:00
LewisandTangled 5bbe2146ff server: serve xrpc over http/3
Lewis: May this revision serve well! <lu5a@proton.me>
2026-06-10 13:18:49 +03:00
Lewis 7e4c9e1dab chore: bump to 0.6.4
Lewis: May this revision serve well! <lu5a@proton.me>
2026-05-30 21:23:02 +03:00
nelind e85394c314 build: bump version to 0.6.3 2026-05-27 19:28:10 +02:00
LewisandTangled a7052e878c feat: tranquil's own TLS handling
Lewis: May this revision serve well! <lu5a@proton.me>
2026-05-27 13:54:33 +03:00
Lewis bdaf510898 build: bump workspace to 0.6.2
Lewis: May this revision serve well! <lu5a@proton.me>
2026-05-17 12:32:05 +03:00
LewisandTangled b1d86caa78 feat(tranquil-comms): prework for email
Lewis: May this revision serve well! <lu5a@proton.me>
2026-05-02 22:28:59 +03:00
LewisandTangled 8f7aad3756 fix(tranquil-pds): same-rkey batch semantics and firehose lag recovery
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-28 22:05:03 +03:00
LewisandTangled 180de29984 fix(tranquil-pds): firehose car carries inductive proof
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-26 20:11:27 +03:00
LewisandTangled b9574f3ec1 fix(lexicons): cache ttl
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-16 19:45:27 +03:00
Lewis d51bfd59da fix(tranquil-store): exclude 0 refcount blocks from has()
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-14 08:40:21 +03:00
LewisandTangled 8ccdd30cb3 fix(repo): use mst diff instead of full tree walk for obsolete blocks
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-13 17:43:07 +00:00
LewisandTangled 1dfbd27cce fix(postgres): semaphore on car endpoint & more efficient query
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-12 17:18:45 +00:00
LewisandTangled 34f050a1f0 feat(oauth): discoverable passkey authentication
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-12 11:16:58 +00:00
Lewis 8d0e0c6810 feat(tranquil-store): whole test suite working
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-10 13:57:44 +03:00
Lewis a5c68a3506 feat(tranquil-store): metastore
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-10 13:57:43 +03:00
Lewis a9e3ec63e1 feat(tranquil-store): blockstore
Lewis: May this revision serve well! <lu5a@proton.me>
2026-04-10 13:54:41 +03:00
LewisandTangled 318818ad51 feat(signal): add admin UI, frontend, and build changes 2026-03-22 07:14:20 +00:00
LewisandTangled e6c8a44a42 feat(signal): add postgres-backed signal protocol store 2026-03-22 07:14:19 +00:00
LewisandTangled 4d86f026df refactor(api): extract common helpers module, extend API error types with auth methods 2026-03-20 13:39:11 +00:00
LewisandTangled 5c8894d531 refactor: update routes, backend verification tweaks, and restyle 2026-03-19 14:26:26 +00:00
LewisandTangled ebf5af4922 fix(backups): remove useless backups concept 2026-03-18 12:17:33 +00:00
LewisandTangled 7926c798c6 feat: cross-pds delegation 2026-03-17 19:22:34 +00:00
LewisandTangled d5ed420dd7 fix: move code to more correct crates 2026-03-17 10:16:36 +00:00
Lewis 546d342136 fix(auth): use authextractor for serviceauth too now 2026-03-14 13:04:14 +02:00
LewisandTangled 458b9b7e0d refactor(pds): integrate tranquil-lexicon for record validation 2026-03-13 19:53:18 +00:00
LewisandTangled 33e96665b8 feat(lexicon): add crate with schema types and format validators 2026-03-13 19:53:18 +00:00
LewisandTangled 2c8568b207 fix: did:web also uses handle domains not hostname 2026-03-09 19:23:35 +00:00
lewisandTangled f78b004df3 fix: user handle domains upgrade 2026-03-08 12:25:04 +00:00
nelindandTangled 34beff2553 feat: add back built-in frontend hosting to the backend 2026-03-06 20:21:10 +00:00
isabelandTangled 66eb9b7dbb refactor: toml config 2026-02-21 18:00:55 +00:00
lewisandTangled 91cfc536c6 fix: bulk type safety improvements, added a couple of tests 2026-02-10 15:25:35 +00:00
lewis 1ff22c3dee fix: removed some bs 2026-02-08 18:31:03 +02:00
lewisandTangled ea27772a47 fix: smaller docker img 2026-02-08 13:49:53 +00:00
lewisandTangled 326aadcdb6 feat: initial in-house cache distribution 2026-02-08 10:03:53 +00:00
lewisandTangled d7b96773fd fix: better type-safety 2026-01-26 17:15:51 +00:00
lewisandTangled 158628f1a7 feat: docs tweaks & standalone frontend 2026-01-18 16:41:41 +00:00
lewis 505dc169eb small bug fixes, code dedup 2026-01-15 19:10:05 +02:00