Commit Graph
90 Commits
Author SHA1 Message Date
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 7b3f9df0bf Ignore tmp so it can be used for local testing. 2018-12-12 16:54:21 +01:00
Tim Bruijnzeels 2ac5f9703f Fix private key ser-de. 2018-12-12 11:08:16 +01:00
Tim Bruijnzeels 61b294d84c Merge branch 'master' of github.com:NLnetLabs/tranquility-base 2018-12-11 16:43:07 +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 BruijnzeelsandGitHub 1375ce355f Update README.md for front-end contributor 2018-12-11 11:22:13 +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 be539482a3 Merge branch 'master' of gitlab.nlnetlabs.nl:opennetlabs/rpki-publication-server 2018-11-28 16:09:03 +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
Martin Hoffmann c4a37d657b Point to the right rpki-rs branch. 2018-11-28 13:53:12 +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 a28b132509 Extended integration test to set up client, and add that as a publisher to the server. 2018-11-16 15:45:34 +01:00
Tim Bruijnzeels febec5d16d Failed to extract generic function or macro for boiler plate around response testing in the integration test. Leaving this commented out though for discussion and future work. 2018-11-16 11:09:02 +01:00
Tim Bruijnzeels 6b072a15a3 Generating identity for publication client. 2018-11-15 15:48:19 +01:00
Tim Bruijnzeels e4a1d09b53 Shorten waiting time for server to come up in integration test. 2018-11-15 12:53:13 +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