Commit Graph

197 Commits

Author SHA1 Message Date
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
49ac208286 License under the AGPLv3 2023-08-21 17:18:12 +02:00
Brian Picciano
65933b5cb3 Fix color scheme for dark mode 2023-08-09 16:15:39 +02:00
Brian Picciano
f56acd65b0 More polish to the interface, grammar edits from Kelly 2023-08-05 11:24:04 +02:00
Brian Picciano
bd6684ea2a Even more polish of the web experience 2023-08-04 18:48:04 +02:00
Brian Picciano
17070b30b3 Polish up user interface somewhat 2023-08-04 16:16:55 +02:00
Brian Picciano
c0006e40ce Small bug fixes in interface 2023-08-04 15:04:56 +02:00
Brian Picciano
36052de0c1 Remove apex zone check 2023-08-04 15:02:47 +02:00
Brian Picciano
92f7d3d52a Ensure that the interface_domain gets a cert requested for it 2023-08-04 12:31:04 +02:00
Brian Picciano
818c728258 Move interface_domain under domain configuration 2023-08-04 10:34:09 +02:00
Brian Picciano
083976935c Fix release build 2023-08-03 17:32:32 +02:00
Brian Picciano
0e164f739d Small fixes after some testing 2023-08-03 16:28:28 +02:00
Brian Picciano
dcbf45ec85 Allow for disabling https for proxied domains 2023-08-03 14:58:49 +02:00
Brian Picciano
7a1a2297d4 Move proxy config into domain (bigger change than it sounds like) 2023-08-03 14:14:51 +02:00
Brian Picciano
b44fd575a9 Rename primary_domain to interface_domain, and make it optional 2023-08-03 11:18:31 +02:00
Brian Picciano
e67cd6725a Return all domains from all_domains
This fixes an issue where the domain manager sync job wouldn't have
synced private builtin domains ever.
2023-08-03 10:29:57 +02:00
Brian Picciano
7f8e40c19f Fixed tests for git and acme::store 2023-08-03 10:02:03 +02:00
Brian Picciano
337f3c9cef Do cert syncing within domain manager 2023-08-02 19:59:05 +02:00
Brian Picciano
96b38f2c97 Support for gemini fully fleshed out 2023-08-01 16:44:16 +02:00
Brian Picciano
d429b51cf8 Fix self-signed cert generation, not_before is required apparently 2023-07-31 20:48:00 +02:00
Brian Picciano
8a530d4f7d Fix static file index.gmi 2023-07-31 20:47:14 +02:00
Brian Picciano
5a15f07872 Include builtins in origin syncing 2023-07-27 16:43:09 +02:00
Brian Picciano
24e4dc42b1 Add static directory, useful for testing 2023-07-27 16:42:19 +02:00
Brian Picciano
795817f99d Implement gemini cert store 2023-07-27 16:09:44 +02:00
Brian Picciano
4c1f843048 Move Certificate and PrivateKey into their own tls module 2023-07-27 14:29:04 +02:00
Brian Picciano
7a9ae81376 rename sync_cert to sync_https_cert 2023-07-27 14:12:22 +02:00
Brian Picciano
ef8c5827a0 Include template dev config file, ignore the one actually being used 2023-07-27 14:08:43 +02:00
Brian Picciano
cdd0eacdd8 Update gemini proxying according to feedback from the tokio_rustls issue 2023-07-27 12:50:56 +02:00
Brian Picciano
c1659fab2a Got gemini proxy working, via a custom tokio_rustls branch 2023-07-24 19:06:01 +02:00