Commit Graph

180 Commits

Author SHA1 Message Date
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
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
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
6cabb9b742 Honor proxied_domains' https_disabled when doing https redirects 2023-08-25 19:01:30 +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
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
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
5a15f07872 Include builtins in origin syncing 2023-07-27 16:43:09 +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
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
Brian Picciano
c8176c819f Got basic gemini listening working. Proxying does not yet work, nor does serving the origin 2023-07-22 11:31:55 +02:00
Brian Picciano
2d1e237735 A bit of module structure tidying 2023-07-21 14:43:39 +02:00
Brian Picciano
31782be10d Moved http proxy under the service module 2023-07-19 22:36:29 +02:00
Brian Picciano
f7ecafbc17 Rename Proxy descr to HttpProxy 2023-07-19 21:36:57 +02:00
Brian Picciano
b81b59fc0a Get rid of remove_path_prefix, it's not useful 2023-07-19 21:27:03 +02:00
Brian Picciano
188ebaa30b Add add/remove_path_prefix fields to domain settings 2023-07-19 17:38:37 +02:00
Brian Picciano
edadaab792 Remove serve_protocols option for now, it's not useful 2023-07-19 15:24:43 +02:00
Brian Picciano
63f4975d5a Fix deserialization of FlatDomainSettings boolean flags 2023-07-18 19:05:51 +02:00
Brian Picciano
ccd2285b11 Prevent users from seeing proxy config in web interface 2023-07-18 19:00:37 +02:00
Brian Picciano
87c779ebb6 Fix rendering on domain.html 2023-07-18 18:31:36 +02:00
Brian Picciano
7049252787 Support serve_protocols field on domain settings 2023-07-17 20:22:22 +02:00
Brian Picciano
5099f79260 Add ability to add request headers to proxied requests 2023-07-17 16:54:03 +02:00
Brian Picciano
651f3f4bb7 Pass the full domain::Settings into the proxy code 2023-07-17 16:19:25 +02:00