Commit Graph
2116 Commits
Author SHA1 Message Date
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
Martin Hoffmann 88f72987b7 Bump version. 2025-06-18 12:50:38 +02:00
Martin HoffmannandGitHub f18ff6c9a2 Release 0.15.0-rc3. (#1299)
Other changes

* Upgraded the bundled Krill UI to release 0.9.0 ([#1295])
* Added packaging support for RHEL 10-alikes. ([#1297])
v0.15.0-rc3
2025-06-18 12:37:18 +02:00
Koen van HoveandGitHub 647df15272 Add support for RHEL 10 (#1297) 2025-06-18 12:10:41 +02:00
Martin Hoffmann 8998a9d707 Update changelog. 2025-06-16 17:53:46 +02:00
Koen van HoveandGitHub e90609bdda Update Krill UI to 0.9.0 (#1295) 2025-06-16 17:50:25 +02:00
Martin Hoffmann 850bf5b63b Only run coverage workflow manually. 2025-06-13 16:35:56 +02:00
Martin Hoffmann 7c0593b195 Bump version. 2025-06-13 16:34:23 +02:00
Martin Hoffmann eafbb9eca5 Fix changelog. v0.15.0-rc2 2025-06-13 16:22:24 +02:00
Martin HoffmannandGitHub e0ce086bb5 Release 0.15.0-rc2. (#1294)
Bug fixes

* Fix Krill refusing to start if the now unnecessary “refresh announcements
  info” task is still present by adding it back as a dummy task. ([#1292])
* Fix redirect of `/` to `/ui` and allow additional segments on the `/ui`
  path in the HTTP server. ([#1293])
2025-06-13 16:21:28 +02:00
Martin HoffmannandGitHub 38eb108f33 Fix redirect from / and fix handling of /ui paths. (#1293)
This PR fixes the redirect from / to /ui and allows subpaths of /ui.
2025-06-13 15:48:26 +02:00
Martin HoffmannandGitHub 8f053968d3 Keep RefreshAnnouncementsInfo task as a dummy. (#1292)
This PR brings the RefreshAnnouncementsInfo task back which was used to
trigger download of the RIS files. While we don’t need the task any more,
it may still be in the task queue which would cause Krill to refuse to
start.
2025-06-13 15:33:47 +02:00
Martin Hoffmann ed64d75466 Bump version. 2025-06-13 14:38:23 +02:00
Martin HoffmannandGitHub ee7e60ab4f Release 0.15.0-rc1. (#1291)
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])

Other changes

* Refactored Prometheus metrics generation which resulted in a slightly
  different formatting but should still be syntactically correct.
  ([#1249])
* Added packaging support for Ubuntu Noble; removed packaging support for
  Ubuntu Xenial and Bionic, and Debian Stretch. ([#1239])
* The minimum supported Rust version is now 1.85. ([#1288])
v0.15.0-rc1
2025-06-13 14:31:29 +02:00
Martin HoffmannandGitHub 3e523cd143 Upgrade to edition 2024. (#1290)
This PR upgrades to edition 2024.

This surfaces an interesting issue as std::env::set_var is unsafe. Krill
relies on various environment variables which are read throughout operation
and set to convey them to those points. This should be replaces by reading
those variables up front and conveying information by other means.
2025-06-12 17:52:41 +02:00
Martin HoffmannandGitHub 74dfd7e0cd Upgrade dependencies for 0.15.0. (#1288)
Some dependency requires edition 2024, so we need to upgrade the minimum
Rust version to 1.85.
2025-06-12 16:20:54 +02:00
Koen van HoveandGitHub 67cb544ab0 Add test to migrate from previous version (#1287)
This test will try to run Krill with old data, to ensure structs that were
used still work and do not crash Krill.
2025-06-12 16:13:58 +02:00
Martin HoffmannandGitHub 7b66408dc6 Mark types that are used for storing state. (#1286)
This PR sticks a warning on all types that are used when serializing
Krill’s state. This hopefully will serve as a reminder that they cannot
be changed without considering migrations.
2025-06-12 14:15:12 +02:00
Martin Hoffmann c445fece1a Try upload-artifacts v4. 2025-06-11 18:21:26 +02:00
Martin Hoffmann 28fa29866d Enable manually triggering coverage workflow. 2025-06-11 18:07:23 +02:00
6e96db1352 Improve feedback given by krillta proxy signer show-request. (#1283)
This changes the feedback provided by krillta proxy signer show-request to
include information about certificate expiration and renewal time.

---------

Co-authored-by: Koen van Hove <koen@nlnetlabs.nl>
2025-06-10 14:09:31 +02:00
Martin HoffmannandGitHub e92c119e0b Revert a field name change in the repo content store. (#1284)
This PR fixes an field name change in a struct that turned out to be used
in stored state date.
2025-06-10 12:31:07 +02:00
Martin Hoffmann 40a0174365 Update changelog. 2025-06-05 15:31:25 +02:00
Koen van HoveandGitHub 4c32c73680 Add caching to BGP analyser (#1266)
This PR adds caching of responses received from the BGP API. The caching
duration can be set via the new config variable `bgp_api_cache_seconds`
which defaults to 1800, i.e., 30 minutes.
2025-06-05 15:29:11 +02:00
Martin HoffmannandGitHub 41d0d27ea0 Force re-issuance of TA-issued certificates if requested. (#1281)
This PR disables the protection against early re-issuance of certificates
for certificates that have the full resource set, typically TA certificates.
2025-06-05 15:18:52 +02:00
Martin HoffmannandGitHub b5b85e18fe Packaging: Remove Centos 7, add Rockylinux 9. (#1280) 2025-06-05 10:52:19 +02:00
Martin HoffmannandGitHub 99e331b18e Remove static-openssl feature. (#1279)
This PR removes the static-openssl feature. If necessary, this features can
be invoked by selecting openssl/vendored directly.

The PR also removes building and testing with default features from the CI
workflow. The only difference between default and all features currently is
rta which is deprecated and will be removed, anyway.

This PR now also fixes a few issues in krillc config simple and the post
install scripts for Debian and RPM packages.
2025-06-04 17:58:28 +02:00
Koen van HoveandGitHub be8d000435 Update dependencies (#1273)
This is primarily related to #1251, which is fixed by upgrading
rpki to 0.18.6. However, whilst we're at it we might as well
upgrade the other dependencies as well. That also keeps
Dependabot happy.
2025-06-04 15:55:04 +02:00
Martin HoffmannandGitHub 4a76408530 Code improvements suggested by Clippy 1.87. (#1278)
This PR implements some of the suggestions made by Clippy 1.87.

Some of the suggestions have been ignored by way of allow attributes.
In particular, we allow the large size of commons::error::Error for now,
but this will need to be fixed in another PR.
2025-06-04 14:51:40 +02:00
Martin HoffmannandGitHub 35cd5d0bb2 Redesign the HTTP service. (#1264)
Initially, this PR was intended to more clearly separate code between Krill
“business logic” – now bundled in a KrillManager –, and the HTTP server code
that serves the API. The former now lives in the server module, the latter
in the daemon module together with all the code to spin up a Krill daemon
driving the HTTP server.

However, along the way it turned into a complete redesign of how the HTTP
server code works. Request handling has been split into three stages that
forces implementers to check for permissions (or actively choose to not
check), and read the body (or check that there isn’t one). Dispatching of
the request has been restructured which should make it easier to follow what
goes on where.

This PR increases the minimum Rust version to 1.81.
2025-04-14 11:17:08 +02:00
Martin Hoffmann 4f5c340eb6 Bump MSRV to 1.81. 2025-04-11 16:07:16 +02:00
Martin Hoffmann 3184410cc4 Bump references rpki-rs commit.
Fixes #1251 via rpki-rs#323.
2025-04-11 15:51:13 +02:00
Koen van HoveandGitHub 949aedcc79 Make Clippy happy (#1267) 2025-04-07 16:59:54 +02:00
Martin HoffmannandGitHub 9a9598ea67 Rename crate::daemon to crate::server. (#1263)
This PR renames the daemon module into the server module. This is in
preparation of separating the “business logic” from the actual daemon
driving it (which will then live in a new daemon module).
2025-03-31 12:17:41 +02:00
Maarten AertsenandGitHub 6964bcacfa Update package.homepage in Cargo.toml (#1256) 2025-03-31 11:57:09 +02:00
Koen van HoveandGitHub eeaa3748cb Make tests run in temporary folder (#1262)
Currently temporary files needed to run the tests are put in the
test-resources directory. This can make repeated tests behave differently.
This copies those files to a temporary directory first so they are always
run using a clean slate.
2025-03-31 11:55:41 +02:00
Martin Hoffmann 5cdce72d93 Update changelog. 2025-03-28 14:35:12 +01:00
Koen van HoveandGitHub f2f94a251b Allow for the reissuance of TA certificates (including HSM support) (#1255)
This PR adds a new command to the TA signer that allows re-initializing it
with new settings.
2025-03-28 14:33:40 +01:00