Tim Bruijnzeels
301a8f0302
Adding logging framework and config to pubd.
2018-12-19 15:22:02 +01:00
Tim Bruijnzeels
b95268c460
Support interacting with the pubd through the pubc CLI, and serve RRDP files.
...
Note:
- Serving the files still needs some improvement with regard to memory (stream rather), and headers for caching.
- Syncing 108MB RIPE NCC repo takes 1m30s initially, and about 2m30s subsequently when there is no update to send.
- Performance could be better, but seems more than good enough for the target use.
2018-12-12 16:54:52 +01:00
Tim Bruijnzeels
2ac5f9703f
Fix private key ser-de.
2018-12-12 11:08:16 +01:00
Tim Bruijnzeels
e9806b2e90
Some code cleanup, and now testing that the correct notification file and delta references are written.
2018-12-11 16:41:50 +01:00
Tim Bruijnzeels
27906b623e
Work in progress - write notification, snapshot and delta files when publishing.
2018-12-11 11:07:21 +01:00
Tim Bruijnzeels
f23bc90b4a
Publishing at the server, from the client, integration test working.
2018-12-05 17:04:01 +01:00
Tim Bruijnzeels
09189d54df
Perform a list query, and parse the reply.
2018-12-04 16:14:53 +01:00
Tim Bruijnzeels
77c0346612
Expose http handler for receiving list and publish requests. Note this will be tested in the integration test once the client side is implemented.
2018-12-03 15:35:47 +01:00
Tim Bruijnzeels
7817e27e93
Using reqwest instead of hyper, because synchronous requests are all we need here, both in testing and for the publication client
2018-12-03 11:31:46 +01:00
Tim Bruijnzeels
93bba5c985
Replacing Hyper with Actix Web for the server.
2018-11-30 16:39:07 +01:00
Tim Bruijnzeels
d59c4e7c4e
Moving file handling code into a separate module for easy re-use by both pubc and pubd.
2018-11-29 16:46:15 +01:00
Tim Bruijnzeels
1f0ee5855b
Handle publish/list requests. Still to do: integration testing, and exposing this in the http handler.
2018-11-28 16:07:14 +01:00
Tim Bruijnzeels
ea7143ef37
Reorganised code somewhat to separate concerns better. Let the PubServer orchestrate between 'Responder', 'PublisherStore' and 'Repository'.
2018-11-27 10:36:41 +01:00
Tim Bruijnzeels
579c44464b
Some clean-up.
2018-11-26 15:47:54 +01:00
Tim Bruijnzeels
00275d852d
Moving PublisherStore into the provisioning module, rather than repo.
2018-11-26 15:08:27 +01:00
Tim Bruijnzeels
b527dbb643
Combining PublisherStore and FileStore in a single Repository. Also passing config options by reference as much as possible.
2018-11-26 14:58:15 +01:00
Tim Bruijnzeels
f247f5ede5
Disallow publish/update/withdraw outside of base uri.
2018-11-23 11:14:29 +01:00
Tim Bruijnzeels
ec8e0bb215
Support processing a publish query (containing publish/update/withdraw elements) in the Repository and RepoPublisher.
2018-11-22 16:56:57 +01:00
Tim Bruijnzeels
5ca20044c1
Adding/removing RepoPublishers to the Repository, and some code clean up here and there.
2018-11-22 11:03:03 +01:00
Tim Bruijnzeels
747e2f8943
Fixing default URI paths
2018-11-21 15:01:51 +01:00
Tim Bruijnzeels
ec59845ec0
Show repository response xml for a known publisher
2018-11-21 14:55:02 +01:00
Tim Bruijnzeels
930dbcca4e
Small re-organisation of code for readability.
2018-11-21 12:07:41 +01:00
Tim Bruijnzeels
48a886a92e
Implemented 'init' subcommand for publication client.
2018-11-20 16:59:49 +01:00
Tim Bruijnzeels
e4b6b79f63
Parse options for publisher client.
2018-11-20 16:34:34 +01:00
Tim Bruijnzeels
b3d73ade3d
Process repository response in publisher client.
2018-11-20 15:27:02 +01:00
Tim Bruijnzeels
200191839a
Let server generate a RepositoryResponse for a Publisher. Also refactored things to use PathBuf for directories, rather than String, in lots of related places.
2018-11-19 16:55:16 +01:00
Tim Bruijnzeels
a9a2daa0fd
Moving the publisher list syncing to the publication server. Use the publication server in the daemon. Initialise the publication server id if needed.
2018-11-19 14:32:47 +01:00
Tim Bruijnzeels
87045dd579
Formatting.
2018-11-19 12:31:06 +01:00
Tim Bruijnzeels
568d86b1b8
Initialise the publication server with identity.
2018-11-19 12:30:39 +01:00
Tim Bruijnzeels
bd68987084
Moving MyIdentity into its own module for re-use by both PubClient and PubServer.
2018-11-16 16:43:43 +01:00
Tim Bruijnzeels
c8f9e491d4
Rename server.rs to daemon.rs, will have separate stateful server (eg with identity) as the next step.
2018-11-16 16:28:04 +01:00
Tim Bruijnzeels
1cb5d036bf
Prove that PubClient can get state from its work directory, and that it can be reinitialised.
2018-11-16 16:09:05 +01:00
Tim Bruijnzeels
6b072a15a3
Generating identity for publication client.
2018-11-15 15:48:19 +01:00
Tim Bruijnzeels
544b5c11a5
Integration test.. can be improved but at least starting a server and parsing a response.
2018-11-14 16:22:15 +01:00
Tim Bruijnzeels
1b4996ad61
Using a 'spawn' for the hyper server to allow for integration testing where the server shuts down at the end of the test.
2018-11-14 12:06:55 +01:00
Tim Bruijnzeels
6139df2a08
Have a pubc and pubd binary.
2018-11-14 11:18:39 +01:00
Tim Bruijnzeels
4adc5444a9
Introducing binary for CLI to publication server.
2018-11-12 12:49:05 +01:00
Tim Bruijnzeels
7cb00cfe92
Some minor code clean up
2018-11-12 12:48:05 +01:00
Tim Bruijnzeels
6f48730fc4
Returning all publishers as json
2018-11-07 15:52:37 +07:00
Tim Bruijnzeels
a8e38e18f0
Fixed comments
2018-11-06 12:21:48 +07:00
Tim Bruijnzeels
9b5d1af34c
Adding openssl based signer, using keystore for storage.
2018-11-06 11:51:12 +07:00
Tim Bruijnzeels
e6226918f8
Removed direct dependency on bcder.rs, this is not needed, everything is in rpki.rs.
2018-10-31 10:01:40 +01:00
Tim Bruijnzeels
423ee6bf8a
Fixing things after removal of PartialEq and Eq on some things in rpki-rs.
2018-10-31 09:47:52 +01:00
Tim Bruijnzeels
c17720a6b8
Value in KeyStore does not need to implement Clone.
2018-10-31 09:35:48 +01:00
Tim Bruijnzeels
cfbaf036e7
Making the PublisherList, KeyStore and CachingKeyStore mutable again, by requiring that the publisher list is clonable. Under the hood, the CachingKeyStore uses an Arc around an RWLock for cheap cloning. Still need to look into the use of PathBuf or other (Bytes?) to store the path to the directories.
2018-10-29 14:42:04 +01:00
Tim Bruijnzeels
cd47bd3b25
Various fixes: keystore is immutable so it can go in an Arc, yet it can update things internally using its RWLock. Now syncing the PublisherList at start up and passing to the server. A start of an integration test was added, but it needs a whole more work to make it play with starting a hyper server for the duration of the test.
2018-10-26 16:47:29 +02:00
Tim Bruijnzeels
22c51861b6
Synchronising the publishers from disk (still needs to be integrated into main).
2018-10-25 16:13:43 +02:00
Tim Bruijnzeels
247fbd1533
Archiving an info message when archiving a version of a value.
2018-10-24 10:22:05 +02:00
Tim Bruijnzeels
54a3e965e5
Remove a publisher.
2018-10-23 12:47:54 +02:00
Tim Bruijnzeels
da43238408
Fixing some documentation and lay-out.
2018-10-23 11:46:32 +02:00