Commit Graph

225 Commits

Author SHA1 Message Date
db5db6fdd5 Set openssl version number when creation certs 2024-06-04 19:49:15 +02:00
27ebc2fac9 Set issuer on self-signed certs 2024-06-02 22:16:09 +02:00
3f7624190b Implement origin::fs 2024-05-30 23:46:05 +02:00
a04855a252 Redifine origin::mux to be actually usable 2024-05-30 23:46:01 +02:00
3a24e5649e Don't automatically create directory at domain.store_dir_path 2024-05-29 22:08:19 +02:00
2e8ec9ff86 Define Descr::FS 2024-05-29 13:42:37 +02:00
4075b3e2cd Remove git-specific error cases from origin errors 2024-05-29 11:43:52 +02:00
1a6f804289 Update hyper-reverse-proxy with fixes
- fixes forwarding to an ipv6 address
- fixes websocket forwarding, which was still buggy
2024-03-05 21:41:28 +01:00
71c9b8dbf5 Upgrade hyper-reverse-proxy to fix websocket forwarding 2024-03-05 21:00:02 +01:00
56796e91b8 create reverse proxy client on a per-http handler basis 2024-03-02 17:49:24 +01:00
e73a120655 Make http optional 2024-02-29 17:55:10 +01:00
fcc8b860fc Handle TcpListener.accept errors more gracefully 2024-02-29 10:48:53 +01:00
c76d7318f0 Upgrade to hyper v1.2.0, potentially fix issues with graceful shutdown 2024-02-29 10:30:21 +01:00
f562b32edb Upgrade to rust stable 1.76.0 and fix clippy errors 2024-02-27 11:30:28 +01:00
e416a76668 Cache tree objects in the git proxy 2024-02-18 20:31:51 +01:00
3651fd0f0c Remove full gix project as a dependency 2024-02-17 20:02:32 +01:00
498a33533f Remove old git implementation completely 2024-02-16 21:22:39 +01:00
1e8f970486 Get gix_proxy working completely 2024-02-15 11:00:59 +01:00
1667bac39c Decompress objects from git server, refactor BoxByteStream in the process 2024-02-13 17:27:00 +01:00
b88f555390 Remove display prefix from unexpected errors, was causing redundancy in nested errors 2024-02-13 15:16:48 +01:00
2302e9ff64 Implement most of new git implementation's get_file method
This includes a refactoring of get_file to be completely async, as well
as to add a new error case.
2024-01-30 18:47:09 +01:00
142fc14916 Loosen up argument type on unexpected::Error::from 2024-01-25 02:01:17 +01:00
5f1f8ce1b7 Fixes from clippy 2024-01-22 16:58:03 +01:00
b60c849a73 Remove all_descrs method from origin store 2024-01-22 16:58:03 +01:00
98ddefad4f Implemented sync method of new git_proxy module
This module is a WIP, intended to replace the existing git store with
one that doesn't require any locally managed state.
2024-01-22 04:04:19 +01:00
57ee5ff30e Pass origin::Descr::Git url around in parsed form, perform stricter validation on it 2024-01-21 23:24:09 +01:00
ac66ebf6cc Fixed how unexpected Option errors were being worded 2024-01-21 23:19:00 +01:00
78b67a02ad Make origin::Store::sync async
In order for this method to make sense as an async, the returned box
must have its lifetime tied to the store. This did not jive well with
the mock implementation of origin::Store, so I ditched that, along with
the mux tests which depended on it. Oh well.
2024-01-21 16:18:31 +01:00
6dd53f96d8 Handle requested path being a directory correctly 2024-01-16 14:31:32 +01:00
6a611c371c Retrieve domain settings within each service, rather than in domain manager
This allows for fewer dependencies when initializing the services, and
more precise handling of the different cases.
2024-01-15 18:07:49 +01:00
43502f82f9 Remove platform suffix from binary produced by default flake target 2024-01-15 17:07:55 +01:00
4009f0da48 Use hyper-reverse-proxy fork with fixed host header behavior: 2024-01-14 17:41:46 +01:00
658ac62347 Fix bug in http proxy where response headers would be deduplicated
The fix was, ultimately, to upgrade hyper-reverse-proxy to an unreleased
version.
2024-01-14 16:43:33 +01:00
92254047b2 Remove https requirement to use external_domains 2024-01-14 16:03:25 +01:00
c95f4b9b39 Split domain manager "sync all domains" task into separate ones
Each new task corresponds to syncing a particular kind of thing for each
domain, e.g. origins, https certs, etc...
2024-01-14 15:51:12 +01:00
70c78b823a add task_stack.push_spawn_periodically, use for domain manager sync job 2024-01-14 14:40:14 +01:00
dbb8e442c8 Fixes from clippy 2024-01-10 10:42:48 +01:00
9c6e3c6240 Update README with release build instructions 2024-01-09 11:24:54 +01:00
7e5aeb5f28 Fix windows build, add release target 2024-01-09 11:17:52 +01:00
c65a201222 Update nix flake with a devShells (plus many other improvements)
A lot of improvements got imported into here based on my work on the
garage nix setup.
2024-01-08 20:31:16 +01:00
0ed265db6f Add arm6vl (rpi) build 2023-11-15 20:39:15 +01:00
ada434032b Got windows cross-compilation working
The resulting binary is still untested, but it _does_ compile!

This required re-jiggering basically everything about the nix flake,
including replacing the toolchain management to fenix.
2023-11-14 22:49:49 +01:00
4ded1c4ab4 Use builtin tokio ctrl-c rather than signal-hook-tokio
signal-hook-tokio does not support windows, and the builtin ctrl-c
function does everything domani really needs.
2023-11-11 21:39:40 +01:00
023dffe70c Add support for i686-linux 2023-11-10 12:58:11 +01:00
dce01bd31b Fix cross-compilation 2023-11-09 23:52:07 +01:00
ab2e5fb55a Refactor nix flake to allow cross compiling 2023-11-08 21:40:25 +01:00
6cabb9b742 Honor proxied_domains' https_disabled when doing https redirects 2023-08-25 19:01:30 +02:00
0b5b2cb3f3 Refactor how the configuration is documented 2023-08-25 18:44:55 +02:00
0b02400f4e Redirect HTTP requests when HTTPS is enabled 2023-08-25 13:21:46 +02:00
eadb53db0b Implement external domain cert syncing 2023-08-22 20:37:10 +02:00