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
Brian Picciano
79ba735fd6
Use GATs to remove dynamic dispatch when using origin store
2023-05-11 11:47:38 +02:00
Brian Picciano
d1842943cd
Add locks around git store syncing and getting
2023-05-10 15:12:34 +02:00
Brian Picciano
e5b64f4968
initial implementation of domain manager
2023-05-10 13:34:33 +02:00