Commit Graph
2153 Commits
Author SHA1 Message Date
Martin Hoffmann 7e44ba41e2 Remove listeners from event sourcing. 2025-12-08 19:08:20 +01:00
Martin Hoffmann b41d54c8f1 Keep config in KrillContext only. 2025-12-08 17:49:38 +01:00
Martin Hoffmann 94900c6fb6 Remove unnecessary fields from CertAuth commands. 2025-12-08 14:45:37 +01:00
Martin Hoffmann a39b557f8c Part Three of introducing KrillHandle which is now KrillContext. 2025-12-08 12:34:13 +01:00
Martin Hoffmann 047205661e Part Two of introducing KrillHandle. 2025-12-08 10:55:36 +01:00
Martin Hoffmann cd30664ee5 Part One of introducing KrillHandle. 2025-12-05 20:10:40 +01:00
Martin Hoffmann 36515e329b Stop handing around Arc<Config>. 2025-12-05 17:52:07 +01:00
Martin Hoffmann 595d0d7ba7 Allow passing references into command structs to avoid arcs. 2025-12-05 17:17:37 +01:00
Martin Hoffmann 05015fc475 Make components own fewer things. 2025-12-05 15:57:47 +01:00
Martin Hoffmann e21a29945b Remove separate scheduler type. 2025-12-05 12:21:42 +01:00
Martin Hoffmann 3b59fbd33e Merge branch 'main' into clear-sync-async-split 2025-12-05 12:01:51 +01:00
Martin Hoffmann 5d8e7c5187 Should of asked Clippy first. 2025-12-04 18:28:02 +01:00
Martin Hoffmann 255ad48616 Remove all async from the Krill manager. 2025-12-04 18:25:22 +01:00
Martin Hoffmann 5ea098f9d4 Update changelog. 2025-12-02 14:16:55 +01:00
Martin HoffmannandGitHub 8bd1ed3c77 Spawn sweeping of credentials cache. (#1337)
This PR spawns the sweeping of the credentials cache for the authenticator.
Somehow we missed this when rewiring authentication handling.
2025-12-02 14:13:08 +01:00
Koen van HoveandGitHub 206f308b3d Update openidconnect to v4 (#1333) 2025-11-24 12:01:16 +01:00
Martin Hoffmann 40c73f7206 Update changelog. 2025-11-17 17:57:31 +01:00
Martin HoffmannandGitHub dd5c7dcb1d Bring back the built-in RISwhois tree for BGP analysis. (#1329)
This PR brings back the built-in tree of downloaded RISwhois data rather
than using the Roto API. It does so using a memory-optimized tree
implementation and has a much smaller memory footprint than the previous
iteration. At the time of writing, the a full RISwhois dataset requires 55
megabytes of memory.

This PR also reverts the changes to the configuration. It removes the
bgp_api_enabled, bgp_api_uri, and bgp_api_cache_duration fields and adds
bgp_riswhois_enabled, bgp_riswhois_v4_uri, bgp_riswhois_v6_uri, and
bgp_riswhois_refresh_duration fields, all of which are optional.

Because of these config changes, the PR is a breaking change.
2025-11-17 17:54:27 +01:00
Martin Hoffmann 38205078c8 Update changelog. 2025-10-27 16:44:28 +01:00
Koen van HoveandGitHub a776e79abd Fix removing children/parents/CAs with incomplete handshake (#1331)
This PR fixes an issue where removing children or parents from CAs fails
before a successful communication with the remote CA. It also fixes an error
message when CAs without parent, children, and repository are removed.
2025-10-27 16:42:13 +01:00
Koen van HoveandGitHub 836d7fa6c5 Update Ploutos to v9 (#1332) 2025-10-20 18:43:14 +02:00
Martin Hoffmann b32b05c8a1 Update changelog. 2025-10-10 16:18:57 +02:00
Koen van HoveandGitHub ce166d1757 Be more flexible on relations existing in the bgp-api JSON (#1326)
This PR resolves an issue with the new BGP API code which returns no
announcement info even though there is announcement info (but it is
available, but there is no information about its relations).
2025-10-10 16:17:31 +02:00
Martin HoffmannandGitHub 66fe52fedb Simplify storage keys. (#1325)
This PR simplifies the structure of the keys used by the key-value store.
It changes the scope portion from being a sequence of identifiers to an
optional single identifier since the sequence is actually never used. As a
consequence, namespace, scope, and key now all use the same type, the newly
introduced Ident.
2025-10-10 16:14:43 +02:00
Alex BandandGitHub c7eeaae6db Update Mastodon shield 2025-09-25 21:41:14 +02:00
Koen van HoveandGitHub be490b75a2 Fix Clippy not found in CI error (#1323) 2025-09-25 14:01:09 +02:00
Martin HoffmannandGitHub 01bf280229 Code improvements suggested by Clippy 1.90. (#1321) 2025-09-19 12:10:42 +02:00
Koen van HoveandGitHub 986b82e137 Update dependencies (#1317) 2025-08-27 15:37:27 +02:00
Martin Hoffmann 0b5f3d9af7 Bump version. 2025-08-12 13:46:52 +02:00
Martin HoffmannandGitHub c9dedb1610 Release 0.15.0 ‘But I Disgress.’ (#1316)
Breaking Changes

* Refactored command line options processing for all binaries. As a
  result, options for both `krillc` and `krillta` have slightly changed.
  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`. ([#1228])
* Removed support for RTA in `krillc`. Support is currently still
  present in the Krill server, though behind a (non-default) feature flag.
  ([#1228])
* Changed how authorization works with OpenID Connect and configuration
  files. Custom profiles have been replaced with a straightforward mapping
  from access permission to roles and assigning roles to users. For
  configuration file-based authentication, the file format has slightly
  changed but the current format is still accepted. If you are using
  OpenID Connect, you will have to update your configuration. Please, see
  the manual for details. ([#1232])
* Replaced downloading of RISwhois file for ROA analysis with calls to the
  [Roto API](https://github.com/NLnetLabs/roto-api). This can be
  controlled via new configuration settings `bgp_api_enabled`,
  `bgp_api_uri`, and `bgp_api_cache_seconds`. ([#1233], [#1266])

New

* Added a command to re-initialize the trust anchor signer with different
  timing values or TAL URLs. ([#1255])
* Disables the protection against early re-issuance for CA certificates that
  have the full resource set, typically TA certificates. ([#1281])

Bug Fixes

* Fixed a potential infinite recursion in PKCS11 error handling. ([#1215])
* Open ID connect: Re-initialize the connection after 60s to pick up
  configuration changes at the provider. ([#1226])
* Fixed the naming of the trust anchor timing configuration. It was
  expected to be `timing_config` for the config used by Krill and
  `ta_timing` if used by the Krill TA signer. It is now `ta_timing` in
  both cases while `timing_config` is accepted as an alias in both cases.
  ([#1241])
* Improve performance by using buffered reading and writing in the store.
  ([#1300], [#1301])

Other changes

* Refactored Prometheus metrics generation which resulted in a slightly
  different formatting but should still be syntactically correct.
  ([#1249])
* Upgraded the bundled Krill UI to
  [release 0.9.0](https://github.com/NLnetLabs/krill-ui/releases/tag/v0.9.0).
  ([#1295])
* Added packaging support for Ubuntu Noble, RHEL 10, Debian Trixie; removed
  packaging support for Ubuntu Xenial and Bionic, and Debian Stretch.
  ([#1239], [#1297], [#1308])
* The minimum supported Rust version is now 1.85. ([#1288])
v0.15.0
2025-08-12 13:40:16 +02:00
Martin Hoffmann 1cd18451d7 Bump version. 2025-08-11 15:05:38 +02:00
Martin HoffmannandGitHub 517f6255b4 Release 0.15.0-rc6. (#1314)
This RC was only made to properly test upgrading Debian packages. It does
not include any functional changes.

Other changes

* Do not include systemd unit files in krillta and krillup deb packages.
  ([#1313])
v0.15.0-rc6
2025-08-11 15:03:21 +02:00
Martin HoffmannandGitHub a87ced05ab Fix hidden lifetime warnings from Rust 1.89. (#1315)
This PR fixes the “hiding a lifetime that's elided elsewhere is confusing”
warning introduced in Rust 1.89.
2025-08-11 14:29:01 +02:00
Koen van HoveandGitHub 321d384a54 Do not include systemd unit files in krillta and krillup (#1313)
This PR prevents older versions of deb packages from including systemd-unit
files.

Because of the way Krill is set up, this requires both Ubuntu 20.04 and
Debian 11 to have usrmerge (which both have by default, only if upgraded
from an older version it might be missing).
2025-08-11 13:55:32 +02:00
Martin Hoffmann 26dabddea5 Bump version. 2025-08-05 10:41:57 +02:00
Martin HoffmannandGitHub 4559e5a478 Release 0.15.0-rc5. (#1312)
Bug fixes

* Improved the message printed when the TA proxy’s signer request does not
  contain any actual requests. ([#1305])
* Fixed various migration issues. ([#1306], [#1307], [#1309])

Other changes

* Add packaging for Debian 13. ([#1308])
* Updated dependencies. ([#1311])
v0.15.0-rc5
2025-08-05 10:36:20 +02:00
Martin HoffmannandGitHub 594b6bb981 Update dependencies. (#1311) 2025-08-05 10:13:39 +02:00
Martin Hoffmann cf2b64cd97 Update changelog. 2025-08-05 09:58:49 +02:00
Martin HoffmannandGitHub 62b9a6cd5b Initialize properties store to distinguish 0.14 from 0.15. (#1309)
This PR adds a step to the start of the Krill daemon that initializes the
property store with the current version if it hasn’t been initialized
earlier. It also assumes that an uninitialized property store with no
per-store version information indicates that the data is from version 0.14.0
and migrates the stores lock directories accordingly.
2025-08-05 09:57:58 +02:00
Martin Hoffmann 2da31565b4 Update changelog. 2025-07-31 15:14:48 +02:00
Koen van HoveandGitHub 835d9f6052 Add support for Debian Trixie (#1308)
This PR adds support for Debian Trixie (13).

 It also cleans up some old references that are no longer used.
2025-07-31 15:04:10 +02:00
Koen van HoveandGitHub d174f2d7b4 Make TA messaging clearer (#1305)
This PR updates the message presented when the TA proxy creates an
empty TA signer request to better explain the reasons.
2025-07-31 15:03:16 +02:00
Martin HoffmannandGitHub af65419d16 Listing scopes will not include the global scope. (#1307)
This PR changes the function that collects all scopes for a given store to
not include the global scope. This restores the behaviour of kvx.

As a side effect, it changes the store testing code to run on both backends.
2025-07-31 14:36:32 +02:00
Martin HoffmannandGitHub c22f7665b2 Ignore .locks scope when upgrading stores. (#1306)
This PR skips any scope with .locks as its first segment when upgrading
any stores. This is an artifact of moving the lock directory from the top
level of each store to the top level of the storage space.
2025-07-28 16:48:20 +02:00
Martin HoffmannandGitHub 2210e6f84e Code improvements suggested by Clippy 1.88. (#1303) 2025-06-30 14:24:45 +02:00
Martin Hoffmann 265383694f Bump version. 2025-06-26 14:01:45 +02:00
Martin HoffmannandGitHub 5a6ea66af5 Release 0.15.0-rc4. (#1302)
Bug fixes

* Improve performance by using buffered reading and writing in the store.
  ([#1300], [#1301])

Other changes

* Updated dependencies.
v0.15.0-rc4
2025-06-26 13:56:30 +02:00
Martin Hoffmann c6593b10fe Update changelog. 2025-06-26 12:30:52 +02:00
Martin HoffmannandGitHub 2cae6baf26 Use a BufWriter for writing to disk store. (#1301)
This PR uses a buffered writer when writing and serialising data which
should further improve performance.
2025-06-26 12:29:33 +02:00
Martin HoffmannandGitHub 55f1bcabb8 Use a BufReader for reading from disk store. (#1300)
This PR uses a buffered reader when reading and deserialising stored data
which should improve performance quite significantly.
2025-06-25 12:43:54 +02:00