Commit Graph
38 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
Koen van HoveandGitHub 6da2c80d68 Integrate roto-api in Krill replacing RISwhois (#1233)
This PR replaces the downloading and parsing of RISwhois files in Krill
with the roto-api.
2024-12-20 14:28:00 +01:00
Tim BruijnzeelsandGitHub 0ede4730a6 Update documentation and comment. (#1091) 2024-01-09 12:49:26 +01:00
Tim Bruijnzeels c907478059 Remove no longer needed 'always_recover_data' function #1086 2023-10-17 15:31:11 +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
Ximon EighteenandGitHub b22beb3fa3 Remove Cypress based UI tests (#1035) 2023-04-20 13:28:48 +02:00
Ximon EighteenandGitHub 41cb0dc0a1 Also note how to disable HTTP/2 and HTTP/3 in Google Chrome. 2023-03-07 12:58:17 +01:00
Ximon EighteenandGitHub a7dda6282a Add note about clearing browser state when diagnosing OIDC issues. 2023-03-07 10:34:25 +01:00
Ximon EighteenandGitHub 32f9b1c8dc Improved Wireshark display filters. 2023-03-07 10:15:26 +01:00
Ximon EighteenandGitHub 416615c18b Add diagnostic recipe for OpenID Connect. 2023-03-07 10:03:13 +01:00
Ximon EighteenandGitHub 4d1e63f9ac Also fix the crpytoki crate link in the dev docs. 2022-07-21 12:46:58 +02:00
Ximon EighteenandGitHub d8966d281f Remove incomplete sentence in HSM dev docs. 2022-07-21 11:29:12 +02:00
Ximon EighteenandGitHub 443814e65f Note the change from the pkcs11 crate to the cryptoki crate in the dev docs. 2022-07-21 11:28:40 +02:00
Ximon EighteenandGitHub 09e737789c The HSM feature is now enabled by default. 2022-07-21 11:25:53 +02:00
Tim Bruijnzeels f35ffd7bd3 Fix typo 2022-07-21 10:08:02 +02:00
Tim Bruijnzeels 4e1df9294a Merge 0.9.5-rc8 (main) into dev 2022-03-30 14:05:02 +02:00
ffb7d6ecdd V0.9.5 rc7 prep (#803)
* Use PriorityQueue with time based Priority.
* Improve session sweep logging (make it less noisy)
* Update config file with new refresh settings - cap jitter at 50% of refresh
* Let api schedule repo sync tasks rather than execute it synchronously.
* Update version and readme for RC7
* Use the highest priority in case a task was already in the queue.
* Use consistent capitalization of Krill in config files.
* Update readme regarding ca-parent sync changes
* Update to Lagosta with updated dependencies
* Update developer documentation with new scheduler behaviour.
* Add hidden api end-point for scheduling suspend all - used in testing.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2022-03-28 16:01:51 +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
Ximon EighteenandGitHub faf6bd2549 HSM: Support multiple signers (#539) (#674)
Support multiple signers of different types behind a HSM feature flag, and support in principle selecting which signer to use for which purpose. (#539)
2021-10-05 14:50:58 +02:00
Ximon Eighteen 8aed66bfde Document more details on how the token and user details are passed back to Lagosta post OpenID Connect login. 2021-07-28 11:29:00 +02:00
Ximon Eighteen f508608cb3 Minor improvements to the login flow multi-user developer doc. 2021-07-28 11:15:42 +02:00
Ximon Eighteen cdcd926082 Use the PlantUML Online service to render the diagrams as GitHub doesn't support plantuml syntax rendering. 2021-07-27 16:56:58 +02:00
Ximon Eighteen 07def92bda Initial atttempt at documenting the multi-user login flows from a developer perspective. 2021-07-27 16:54:52 +02:00
Tim Bruijnzeels 85378ff311 Cache the repository content: work around slow deserialization. (#606) 2021-07-16 11:02:47 +02:00
Ximon EighteenandGitHub cdaf0f35b0 Add some images to demonstrate Cyprss interactive UI testing with Krill. 2021-07-12 17:01:26 +02:00
Ximon Eighteen 475b644019 Fix doc image filename and trim doc image border. 2021-07-12 17:00:41 +02:00
Ximon Eighteen 40388d8106 Add some images for use in the development docs. 2021-07-12 16:56:30 +02:00
Tim Bruijnzeels 67227ffaf4 Update developer documentation (#527) 2021-05-20 12:51:52 +02:00
Tim BruijnzeelsandGitHub 8ae546039a Remove resource classes (and withdraw objects) when a parent is removed (#508) 2021-05-04 14:58:28 +02:00
Tim BruijnzeelsandGitHub ba6ee80423 Updates for the v0.9.0-rc1 release (#489)
* Add documentation on releasing.
* Update version in Cargo.
* Update versions in openapi spec.
* Update changelog
2021-04-20 20:13:59 +02:00
Ximon EighteenandGitHub 13b6f7d1f3 Security tweaks (#382) (#484)
* Encrypt session state using ChaCha20-Poly1305 instead of AES-GCM.
* Replace config file users login use of insecure unsalted SHA2 password hashing with secure scrypt salted password hashing.
* Log the start of the request before determining the actor.
* Allow sufficient time for password hashing delays during login with config file user based tests..
* Synced with Lagosta commit b49f23de.
2021-04-20 00:47:22 +02:00
Tim BruijnzeelsandGitHub b43a6815cf Inconsistent and unacceptable token references (#433) (#483) 2021-04-19 22:23:02 +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
Ximon EighteenandGitHub 5c15953738 Add developer docs for the multi-user feature. (#456) 2021-04-12 12:27:31 +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