Commit Graph
26 Commits
Author SHA1 Message Date
Martin HoffmannandGitHub 4acdd84ab9 Refactoring and reorganizing. (#1258)
This PR refactors and reorganizes a lot of code. It attempts to organize
things in a way that allows to keep more things private. Conversely, it
made the fields of many data-only structs pub and removed the creator,
accessor, and unpack methods for those.

The PR deliberately avoid any functional code changes given that due to
its sheer size, it is essentially unreviewable.

This is also why it stopped short of re-organizing the structure of the
actual server, ie., the Krillserver and the daemon::http module which
currently have a rather blurry distinction. A follow-up PR will create a
more clear separation but this requires code changes.
2025-03-21 15:20:36 +01:00
Martin HoffmannandGitHub 6d253c22da Refactor cli to use clap’s derive. (#1228)
This PR changes how the clients -- krillc, krillta, as well as the
integration tests -- work to better fit the derive model provided by clap.
This results in basically everything in the cli module and all the
integration tests being different now.

The PR slightly changes the options for both krillc and krillta. For krillc,
the --server, --token, --format, and --api options are now before the first
subcommand (since they affect all commands). For krillta, those options are
now after krillta proxy but before the next subcommand, while --format is
now after krillta signer.

This PR also removes client support and integration tests for RTA.

This is a breaking change.
2024-08-20 14:05:06 +02:00
Martin HoffmannandGitHub 3253d3c4b6 Reformat to 78 character lines. (#1218) 2024-06-26 10:28:34 +02:00
Tim BruijnzeelsandArjen dd037c7e70 Kvx storage 1067 (#1069)
* Depend on kvx 0.6.0
* Update minimum rust version to 1.65 (required by kvx)
---------

Co-authored-by: Arjen <4867268+arjentz@users.noreply.github.com>
2023-10-17 15:31:11 +02:00
Tim BruijnzeelsandGitHub 01e54ff22f Support offline ta (#985) 2023-01-24 10:30:22 +01:00
Tim BruijnzeelsandGitHub 1c5c7ed82f Combine RRDP deltas if configured to do so (#693) 2022-10-13 17:05:28 +02:00
Tim Bruijnzeels 266cf2e06d API to add parent should not change #898 2022-08-29 16:51:39 +02:00
Ximon EighteenandTim Bruijnzeels 802b0fda81 Upgrade rpki crate dependency (fixes #874)
* Upgrade rpki crate dependency (fixes #874).
* Update changelog.
* Fix test to not expect a leading line break in the XML response.
2022-08-29 16:51:39 +02:00
Tim Bruijnzeels d34a7f2fdb Show RFC8183 XML in CLI (#868) 2022-08-29 16:51:39 +02:00
Tim BruijnzeelsandGitHub bbb2267587 Migrate RPKI objects in history (#841)
Ensures that Krill is more robust with regards to stricter validation of RPKI object types in future.
2022-07-18 15:51:26 +02:00
330da84de5 Migrate 8181 8183 6942 support to rpki rs (#820)
* Use types which were ported into rpki-rs.
* Update dependency to rpki-rs 0.14.3-dev.
* IGNORE old_events test for now, see issue: #819
* Quick fix for compilation using --all-features. See issue #821

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2022-05-12 15:24:50 +02:00
Ximon EighteenandGitHub b0be88bc10 HSM support for keys (#21) (#733)
Adds support for PKCS#11 v2.20 and/or KMIP 1.2 compatible HSMs.
Includes backward compatible extensions to the krill.conf syntax.
Includes HSM related developer docs.
Excludes HSM specific API (REST, krillc, Prometheus) or UI extensions.
2022-01-14 14:19:24 +01:00
Tim BruijnzeelsandGitHub 30772b6f36 Suspend krill 092 higher only (#670) (PR #672) 2021-09-23 15:57:05 +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
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 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 dd7d3f41b2 FIX: Avoid stack overflow triggered by addition of new Actor::auth_error field by flattening out chained async API handler invocation. This avoids deep recursive .or_else() macro expansion of calls that pass the large Request value (of which Actor is part) resulting in stack overflow. This fix also removes the need for the boosted recursion_limit compiler setting. 2020-12-31 15:57:02 +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 5efe2fa377 Separate krillpubd and krillpubc. (#338) 2020-12-09 11:31:42 +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 b5b0b03d0f Remove lazy_static! (#349) 2020-11-17 17:15:43 +01:00
Tim Bruijnzeels 84cc7faf7e Using feature for functional-tests to help development speed. 2020-09-23 10:25:43 +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