Commit Graph
50 Commits
Author SHA1 Message Date
Tim BruijnzeelsandGitHub 30772b6f36 Suspend krill 092 higher only (#670) (PR #672) 2021-09-23 15:57:05 +02:00
Tim BruijnzeelsandGitHub 5f4189c6eb Reorganise use statements (#647) 2021-09-13 14:01:40 +02:00
Tim Bruijnzeels 6953fe917f Use explicit functions for 'suspend' and 'unsuspend' rather than a boolean. 2021-08-30 10:47:28 +02:00
Tim Bruijnzeels 48c6557bd3 Unsuspend child CA when it sends a valid RFC 6492 request. (#623)
(also make tests more deterministic wrt ca refresh)
2021-08-30 10:47:28 +02:00
Tim Bruijnzeels 319f00081a Add support (and API) for suspending/unsuspending child CAs. (#623) 2021-08-30 10:47:28 +02:00
Tim BruijnzeelsandGitHub 4daf0daea3 Accept insecure certs when submitting protocol CMS (#628, #629)
Includes minor code cleanup:
 - remove unnecessary async
 - do not try to print protocol CMS (not accessible throug CLI and we have logging)
2021-08-10 16:00:52 +02:00
Tim BruijnzeelsandGitHub d85dca7b98 Make 'service_uri' default pick up ip and port 2021-07-13 16:06:49 +02:00
Tim BruijnzeelsandGitHub 8be620b606 Update dependencies: rpki-rs, bytes, tokio, hyper, reqwest (#584)
* Update dependencies: rpki-rs, and therefore bytes, tokio, hyper, reqwest
* Rust 1.51 clippy
* Update minimal rust version to 1.47
    socket2 requires improved const fn support.
    exponential compile-time and type_length_limit and async in 1.46.

See PR #586
2021-07-02 10:20:24 +02:00
Tim Bruijnzeels ff1c7f74f6 Remove krillpubc - use 'pubserver' subcommand in krillc instead. (#527) 2021-05-20 12:51:52 +02:00
Tim Bruijnzeels 59eaac5624 Remove krillpubd - always have both a CaManager and a RepoManager. (#527) 2021-05-20 12:51:52 +02:00
Tim BruijnzeelsandGitHub 3b139e4a9f Clippy and spelling fixes (#471)
* Fix clippy warnings.
* Fix spelling - as agreed use american spelling in code (like RFCs do as well).
2021-04-15 14:42:32 +02:00
7cb5674033 Stabilize API and CLI (#330 and #360)
* Move child_request API endpoint for conststency. (#330)
* Move get RFC 8183 Publisher Request API endpoints (#330)
* Accept XML and json to add/update parent on same endpoints (#330)
* Simplify the JSON to add a child and remove unused fields. (#330)
* Update path to child_request in openapi spec.
* Update path to publisher request.
* Update api spec and documentation.
* Fix update parent API documentation and call by CLI.
* CLI stability
* Update pubd OpenAPI spec t o match changes made to the Krill API.
* Update the e2e test client code to submit only the id_cert and not the whole RFC8183 request, as required by changes made to the Krill API.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2021-04-12 17:24:41 +02:00
a715c82f7f Remove embedded repo/ca choices (#461)
* Remove embedded repository contact option, migrate commands and events.
* Migrate old CA init events. Test upgrade from 0.6.0.
* Migrate embedded in CA history.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2021-04-01 17:18:28 +02:00
23be0b5ef7 Make testbed fully configurable through config section
* Let users configure the AIA to use with TA certificates. Set 'ta_aia' in the config file. (#409)
* Use explicit configuration section for testbed, no longer rely on magic env variables.

Note: this will all be revised again if/when the Publication server and TA vs CA code is fully separated in future.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2021-03-22 16:53:41 +01:00
e662c1553b Change to a hybrid event sourcing model for CAs and Repository. (#426)
This allows us to keep the full history of semantically important events, while not spamming the history and avoiding excessive use of disk space. See issues #370 and #423.

This is a substantial change. Highlights follow:
* Added a developer documentation section
* No longer using events for manifest/crl generation (#370)
* No longer using events for publication deltas (#423)
* Removed pre 0.6.0 migration code - people will have to upgrade to at least 0.6.0 first
* Added migration code for 0.6.0-0.8.1 to this
* Migrate repository by doing a keyroll. (#370)
* Remove archiving code for commands (no longer applicable)

Minor other fixes:
* Use a swap file when writing (avoid corrupt json if disk is full) (#370)
* Make removing publisher content idempotent for publishers already removed.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
Co-authored-by: Jasper den Hertog <jasper@plainspace.com>
2021-03-17 12:08:36 +01:00
Ximon EighteenandGitHub 2d0753ea19 Log errors that occur during Krill startup when started from a test. (#429) 2021-03-08 11:28:32 +01:00
Ximon EighteenandGitHub 248807ebc7 Fix master token access restrictions when not using the multi-user feature. (#415)
* Add a test that should (but doesn't in non-multi-user mode) panic because it tries to create a CA using the wrong master token.

* cargo fmt

* Add some comments explaining what the test does and how it works.

* FIX: Don't permit anonymous users to perform restricted actions in non-multi-user mode (this regression was introduced in the v0.8.1-bis branch, it was never released).
2021-02-10 11:21:30 +01:00
Tim Bruijnzeels a1c8889b56 Remove a CA (CLI and API only) #359 2021-01-05 16:08:23 +01:00
Ximon Eighteen 1a6be4d753 FIX: UI tests time out due to slow route analysis of vast TA resources when TA isn't even needed. 2020-12-31 16:33:54 +01:00
Ximon Eighteen bc1908fa54 Update invocation of start_krill_daemon to match changed fn signature and fold fold duplicate start krill in test mode logic into one place. 2020-12-14 21:56:20 +01:00
Tim Bruijnzeels 9d2d0eabc0 Manage Repository Server init/remove through API (#353) 2020-12-14 16:01:33 +01:00
Tim Bruijnzeels 0f54bf73ef Fix test environment variables. 2020-12-10 15:39:06 +01:00
Tim Bruijnzeels 5efe2fa377 Separate krillpubd and krillpubc. (#338) 2020-12-09 11:31:42 +01:00
Ximon Eighteen 472a0e4751 Merge multi-user branch. Uses Lagosta master branch commit a7e73cba which includes multi-user support. 2020-12-07 16:55:40 +01:00
Tim Bruijnzeels 9db34c1077 Improve effeciency and readability of functional tests.
Also, fixes ROA re-issuance when resources were temporarily removed (#96)
2020-11-26 11:39:36 +01:00
Tim Bruijnzeels d10f65535f Update dependency versions. 2020-10-27 14:33:00 +01:00
Tim Bruijnzeels 7686072c01 Always use testbed mode for testing. 2020-10-26 16:09:42 +01:00
Tim Bruijnzeels 187da0db82 Move test_id_certificate to test and use cfg(test). Without the latter cargo publish won't work since we exclude test resources for space. 2020-10-12 08:24:01 +02:00
Tim Bruijnzeels 31394d3ba0 Cosign RTA (#284) 2020-09-16 16:08:13 +02:00
ximon18andGitHub 203ba20c8e Add testbed mode (#308)
Adds support for a new testbed_enabled boolean flag to configure Krill to permit child/parent CA/repo RFC-8183 relationships to be established by anonymous clients with a CA called testbed and enables a /#/testbed UI page for doing so visually ala other RPKI testbeds such as the APNIC RPKI testbed. Depends on latest Lagosta master/suggestions branches which have the testbed-poc branch already merged in.
2020-09-15 16:30:13 +02:00
Tim Bruijnzeels acd189c486 Prepare keys for multisigned RTA (#284) 2020-09-14 15:08:20 +02:00
Tim Bruijnzeels bc19fb7987 Remember and show (oneoff) RTA. (#284) 2020-09-14 15:08:20 +02:00
Tim Bruijnzeels 7ec21fb539 Make Signer an explicit enum rather than generic. (#314) 2020-09-07 16:13:15 +02:00
Tim Bruijnzeels f7c611b272 Fix clippy 1.46 warnings. 2020-09-03 14:33:44 +02:00
Tim Bruijnzeels abd218a81b Use asynchronous locks to secure write access to CAs and status. (#250) 2020-08-18 11:53:02 +02:00
Tim Bruijnzeels fb059a6d96 Show the statuses of parents through the CLI and API. (#260) 2020-08-03 11:03:20 +02:00
Tim Bruijnzeels 5d3dcf1642 Dry-run ROA updates, show the impact for the affected prefixes. (#290) 2020-07-28 17:03:32 +02:00
Tim Bruijnzeels 3fb4d164b3 Provide (scoped) ROA suggestions. (#289) 2020-07-28 11:16:14 +02:00
Tim Bruijnzeels cc41dde274 Configure rustfmt to allow 120 chars per line. 2020-07-24 14:17:44 +02:00
Tim Bruijnzeels 329e321ed4 Find all specific prefixes for a RoaDefinition max length. (#282) 2020-07-23 15:04:12 +02:00
Tim Bruijnzeels aa89b3dbe7 Sign oneoff RTA (still needs e2e testing). (#283) 2020-07-20 16:54:48 +02:00
Tim Bruijnzeels ee5b6d9f08 Use a lazily initialised configuration static for easier access to config. (#268) 2020-07-10 13:08:24 +02:00
Tim Bruijnzeels 00bad7e5a0 Fix unsafe handling of downloaded RIS dump files, and double check unsafe code elsewhere. 2020-06-28 22:43:34 +02:00
Tim Bruijnzeels b4b6c200a1 Analyse ROA vs Announcements (still needs scoping). #233 2020-05-19 17:06:23 +02:00
Tim Bruijnzeels e755f0ab65 Merge test modules - cleanup. 2020-03-16 14:55:21 -03:00
Tim Bruijnzeels f98bc1878f Restructuring modules (no functional changes). 2019-01-08 16:28:36 +01:00
Tim Bruijnzeels 1d50fad7c7 Restructuring modules 2019-01-08 15:07:24 +01:00
Tim Bruijnzeels 9ea789eec8 Some clean up (document and simplify module structure) 2019-01-08 12:36:36 +01:00
Tim Bruijnzeels 8f7850bb53 Have defaults for everything and update README to show how to configure and run. 2019-01-04 16:45:21 +01:00
Tim Bruijnzeels 850623d52f Naming the project 'Krill', and restructuring things somewhat in anticipation of the CA components. 2019-01-04 15:38:10 +01:00