Commit Graph

53 Commits

Author SHA1 Message Date
Brian Picciano
188ebaa30b Add add/remove_path_prefix fields to domain settings 2023-07-19 17:38:37 +02:00
Brian Picciano
ccd2285b11 Prevent users from seeing proxy config in web interface 2023-07-18 19:00:37 +02:00
Brian Picciano
651f3f4bb7 Pass the full domain::Settings into the proxy code 2023-07-17 16:19:25 +02:00
Brian Picciano
a917f32f04 Got proxy origin working, more or less 2023-07-16 17:10:13 +02:00
Brian Picciano
9beeffcdcf Revert "Have get_file accept and return structs, which will be easier to extend going forward"
This reverts commit a86020eedf.

Turns out that even with this change proxying won't work properly via
origin::Store, it'll just have to be a special case. I'm keeping the
commit around in case we want this for a later case.
2023-07-16 16:09:37 +02:00
Brian Picciano
a86020eedf Have get_file accept and return structs, which will be easier to extend going forward 2023-07-16 15:40:20 +02:00
Brian Picciano
5dd2e756cc Rename domain::Domain to domain::Settings, finished renaming it everywhere 2023-07-16 14:38:48 +02:00
Brian Picciano
4483185e75 Add builtin domains to configuration 2023-07-15 19:45:56 +02:00
Brian Picciano
03428cef02 Use an HTTP challenge for ensuring that domains are correctly set up, rather than checking DNS records directly 2023-07-12 20:25:35 +02:00
Brian Picciano
ceb2ba3cf4 Move dns records under service in the config 2023-07-09 16:57:36 +02:00
Brian Picciano
7c68702ab8 Introduce domain::Config 2023-07-09 15:09:40 +02:00
Brian Picciano
80e96c47fb Rename domain::Config to domain::Domain, plus other moving 2023-07-09 14:25:01 +02:00
Brian Picciano
82290d8b0b Get rid of read_file_into, use streams to serve files from domain manager 2023-07-08 15:53:40 +02:00
Brian Picciano
8b75b141f4 Alias BoxByteStream, and test git get_file implementation 2023-07-08 15:22:44 +02:00
Brian Picciano
60b90746fc Implement origin::Store::get_file, to deprecate read_file_into 2023-07-08 14:43:36 +02:00
Brian Picciano
0b790ecc4a Use util::BoxedFuture everywhere, for aesthetics 2023-07-06 18:04:29 +02:00
Brian Picciano
5e264093ec Get rid of origin::Origin trait completely, move read_file_into onto the origin::Store itself 2023-07-05 19:03:51 +02:00
Brian Picciano
773001b158 Changes suggested by clippy 2023-07-04 19:42:12 +02:00
Brian Picciano
6863694293 Pass descr around as a reference, generally 2023-07-04 19:33:03 +02:00
Brian Picciano
7a35befffe Don't include Send/Sync in trait requirements 2023-07-03 13:39:44 +02:00
Brian Picciano
bd96581c6a Don't return Box from constructors 2023-06-29 16:54:55 +02:00
Brian Picciano
d0f601a9f7 Make TaskStack cancel each task individually, not all at once 2023-06-21 14:29:47 +02:00
Brian Picciano
5e89d21ce3 Fix formatting in domain manager 2023-06-21 14:05:28 +02:00
Brian Picciano
505015a4bd Removed usage of sync::Arc where possible 2023-06-21 14:02:42 +02:00
Brian Picciano
289a185d42 Make domain manager do cert resolving for tls 2023-06-21 13:47:04 +02:00
Brian Picciano
51cb6aadce use Box for origin::Store 2023-06-21 13:24:00 +02:00
Brian Picciano
7dd52839b1 Use TaskStack to clean up startup/shutdown logic significantly 2023-06-21 13:15:42 +02:00
Brian Picciano
dbc912a9d3 add sync_cert method to domain manager 2023-06-18 14:46:52 +02:00
Brian Picciano
6da68dc042 stop domain manager's inner tasks on shutdown 2023-06-18 14:28:46 +02:00
Brian Picciano
6941ceec8e Remove final Boxed types 2023-06-18 13:53:02 +02:00
Brian Picciano
3d3dfb34ed Got rid of Boxed acme types 2023-06-18 13:44:19 +02:00
Brian Picciano
52f87dc625 Get rid of origin::store::BoxedManager and domain::manager::BoxedManager 2023-06-18 13:12:26 +02:00
Brian Picciano
420f1ff42a implement error::unexpected, use it everywhere
This is an improved form of the previous `error::Unexpected` type, now
with more capabilities and generally better naming.
2023-06-17 15:41:39 +02:00
Brian Picciano
0fd832efdd clippy suggestions 2023-05-20 14:34:45 +02:00
Brian Picciano
06cda77772 Periodically refresh certs for all domains 2023-05-19 13:27:00 +02:00
Brian Picciano
6d8799ce8c Got acme manager implemented, still untested. Not hooked up to user domains yet. 2023-05-18 22:39:12 +02:00
Brian Picciano
a7e74ac5dd Move origin syncing to within manager 2023-05-17 14:37:23 +02:00
Brian Picciano
7daa864739 add mock for domain manager 2023-05-17 14:09:16 +02:00
Brian Picciano
1fdd023f50 Replace usage of boxed dyn errors with new error::Unexpected 2023-05-17 14:08:17 +02:00
Brian Picciano
45597ab8d8 Use GATs in domain manager trait 2023-05-17 12:34:24 +02:00
Brian Picciano
cab7a837a7 Introduced separate 'Boxed' traits, to allow for mocks 2023-05-16 17:17:47 +02:00
Brian Picciano
d9676a4ce7 Issues from clippy 2023-05-16 16:20:01 +02:00
Brian Picciano
e5ce19e850 use IPv4 for now 2023-05-15 22:16:29 +02:00
Brian Picciano
c1b6d982ef Switch to AAAA records 2023-05-15 18:26:49 +02:00
Brian Picciano
e3c13123db Switched to hyper, cleaned up manager lifetimes, got domain_sync working 2023-05-15 17:46:55 +02:00
Brian Picciano
26ebda90e8 Use async dns client, pass tokio runtime into the checker constructor 2023-05-14 11:44:50 +02:00
Brian Picciano
6e88ab967f Fix up init, implement sync (maybe) 2023-05-13 16:34:51 +02:00
Brian Picciano
9e724d3903 got manager being shared properly into render context 2023-05-12 16:43:28 +02:00
Brian Picciano
7718735215 use a validated domain name type, rather than a raw string 2023-05-12 16:43:05 +02:00
Brian Picciano
386b02023c implement most of main, including config and http server 2023-05-11 14:25:51 +02:00