2180 Commits
Author SHA1 Message Date
Martin Hoffmann aa6d133f81 Doc typo fix. 2026-08-17 16:53:19 +02:00
Martin HoffmannandGitHub 23c0f07303 Fix Clippy lints new in Rust 1.97. (#1386) 2026-07-10 16:47:57 +02:00
Koen van HoveandGitHub d4696a417b Set file mode on TLS key to 0600. (#1376) 2026-07-10 11:46:24 +02:00
Koen van HoveandGitHub 5c92027dbb Update Krill-UI to 0.10.0 (#1373)
This PR updates the Krill-UI to 0.10.0. The main difference is the new ASPA UI.
2026-07-06 13:33:17 +02:00
Martin Hoffmann feaffbb8ee Update changelog. 2026-07-02 12:09:38 +02:00
Martin HoffmannandGitHub d2765f15b3 Introduce StorageSystem. (#1383)
This PR introduces an additional layer for the key value store that can
keep global information. This is another step in preparation for
introducing support for database storage which will have connection
pools and such that are shared system-wide.

Since this storage system isn’t actually used yet, the PR for now is
just a massive refactoring and does not introduce any functional
changes.

This PR makes the storage_uri (aliased as data_dir) config option
mandatory and drops both it being read from an environment variable or
defaulting to ./data. Because of this, this is a breaking change.
2026-07-02 12:07:47 +02:00
ctybrdsandGitHub 609ba24efa Minor edit to documentation for the cli for krillc config (#1377)
Reflects current operation of the krillc config command. Have not been able to get the --attr flag to work yet.
2026-05-18 17:11:19 +02:00
Koen van HoveandGitHub f1ce48632e Add support for Ubuntu Resolute (#1378) 2026-05-11 15:56:16 +02:00
Martin HoffmannandGitHub 49eadf7d77 Fix useless into_iter Clippy warning. (#1379) 2026-05-11 15:56:02 +02:00
Koen van HoveandGitHub 04b91dccf8 Make Krill not panic on startup (#1374) 2026-04-07 17:08:38 +02:00
Martin HoffmannandGitHub c277854eed Refactor the application call flow. (#1361)
This PR refactors how requests are processed in Krill. It creates a
clear distinction between the HTTP server running async on a Tokio
runtime and the core of Krill running as regular sync code on a thread
pool.

This means that those portions of the core that were previously async,
notable the HTTP requests to remote parents and publishers, end up
blocking a thread now. For most things this should be fine. For
potentially long-running tasks, we have a separate thread pool so they
won’t block all of Krill.
2026-04-02 11:59:18 +02:00
Martin Hoffmann e8faffde60 Bump version. 2026-03-03 11:34:12 +01:00
Martin HoffmannandGitHub b2a26cd9f4 Release 0.16.0. ‘Früher war mehr Lametta’ (#1364)
Breaking changes

* Reverted the use of Roto API for the ROA analysis to downloading
  RISwhois route origin data and optimized the way this data is stored in
  memory.

  Removed the `bgp_api_enabled`, `bgp_api_uri`, and `bgp_api_cache_duration`
  fields and added `bgp_riswhois_enabled`, `bgp_riswhois_v4_uri`,
  `bgp_riswhois_v6_uri`, and `bgp_riswhois_refresh_duration` fields, all of
  which are optional. ([#1329]
* Krill will now refuse to start if the config file contains unknown
  options. ([#1322])

New

* A local `krillc` can now talk to the server via a Unix socket. In this
  case it will use the name of the local user for authentication purposes.
  By default, only the `root` user is allowed with the `admin` role, but
  both allowed users and what role they are mapped to can be configure.
  ([#1322])
* Added a `krillc parents refresh` command to allow refreshing the parents
  of a single CA rather than having to do a bulk refresh which can take a
  very long time if there are many CAs. ([#1353])

Bug fixes

* Fixed an issue  with the new BGP API code which false returns missing
  announcement info. ([#1326])
* Fixed an issue where deleting children or parents of a CA fails before a
  successful communication with the remote CA. ([#1331])
* Fixed an error message when trying to delete a CA which does not
  have any parents, children, or repositories despite actually removing
  the CA. ([#1331])
* Start sweeping the authenticator cache upon daemon startup. This merely
  reduces memory consumption of the cache. Expired authentication tokens
  were not used either way. ([#1337])
* Fixed a bug introduced in 0.15.0 where CAs do to not clear fulfilled
  certification requests causing them to re-request a certificate every
  time they contact their parent. ([#1345])
* Do not re-try syncing with a parent of a CA when that parent isn’t
  known. ([#1349])
* Fixed un-suspending child CAs: rather then re-publishing the previously
  revoked certificate, a new certificate is now issued. ([#1341])

Other changes

* The default config files don’t serve as config documentation any more.
  Rather, there is now a `krill.conf.5` manual page. This manual page is
  also included in the Krill manual. ([#1322])
* The cryptography library used by the rustls TLS implementation has been
  switched to aws-lc-rs. This has some consequences for packaging:
* Dropped packaging for Ubuntu 20.04 (Focal Fossa). ([#1359])
v0.16.0
2026-03-03 11:28:36 +01:00
Alex BandandGitHub 079be1a31b link to forum 2026-02-20 14:30:39 +01:00
Martin Hoffmann 04e37f5a75 Update changelog. 2026-02-19 16:06:14 +01:00
Martin HoffmannandGitHub 94b5c461eb Release 0.16.0-rc1. (#1360)
Breaking changes

* Reverted the use of Roto API for the ROA analysis to downloading
  RISwhois route origin data and optimized the way this data is stored in
  memory.

  Removed the `bgp_api_enabled`, `bgp_api_uri`, and `bgp_api_cache_duration`
  fields and added `bgp_riswhois_enabled`, `bgp_riswhois_v4_uri`,
  `bgp_riswhois_v6_uri`, and `bgp_riswhois_refresh_duration` fields, all of
  which are optional. ([#1329]
* Krill will now refuse to start if the config file contains unknown
  options. ([#1322])

New

* A local `krillc` can now talk to the server via a Unix socket. In this
  case it will use the name of the local user for authentication purposes.
  By default, only the `root` user is allowed with the `admin` role, but
  both allowed users and what role they are mapped to can be configure.
  ([#1322])
* Added a `krillc parents refresh` command to allow refreshing the parents
  of a single CA rather than having to do a bulk refresh which can take a
  very long time if there are many CAs. ([#1353])

Bug fixes

* Fixed an issue  with the new BGP API code which false returns missing
  announcement info. ([#1326])
* Fixed an issue where deleting children or parents of a CA fails before a
  successful communication with the remote CA. ([#1331])
* Fixed an error message when trying to delete a CA which does not
  have any parents, children, or repositories despite actually removing
  the CA. ([#1331])
* Start sweeping the authenticator cache upon daemon startup. This merely
  reduces memory consumption of the cache. Expired authentication tokens
  were not used either way. ([#1337])
* Fixed a bug introduced in 0.15.0 where CAs do to not clear fulfilled
  certification requests causing them to re-request a certificate every
  time they contact their parent. ([#1345])
* Do not re-try syncing with a parent of a CA when that parent isn’t
  known. ([#1349])
* Fixed un-suspending child CAs: rather then re-publishing the previously
  revoked certificate, a new certificate is now issued. ([#1341])

Other changes

* The default config files don’t serve as config documentation any more.
  Rather, there is now a `krill.conf.5` manual page. This manual page is
  also included in the Krill manual. ([#1322])
* The cryptography library used by the rustls TLS implementation has been
  switched to aws-lc-rs. This has some consequences for packaging:
* Dropped packaging for Ubuntu 20.04 (Focal Fossa). ([#1359])
v0.16.0-rc1
2026-02-19 15:56:39 +01:00
Martin Hoffmann a7eaa34e00 Update changelog. 2026-02-19 15:16:44 +01:00
Martin HoffmannandGitHub faf769f691 Drop packaging for Ubuntu focal. (#1359) 2026-02-19 15:14:55 +01:00
Martin Hoffmann cf91bd65b4 Merge branch 'main' of github.com:NLnetLabs/krill 2026-02-19 11:43:37 +01:00
Martin Hoffmann d0534c03b1 Update changelog. 2026-02-19 11:43:22 +01:00
Alex BandandGitHub 62b0d7e220 Link to community forum 2026-02-17 20:55:08 +01:00
Martin HoffmannandGitHub d5ddaa221c Upgrade MSRV to 1.88 and upgrade dependencies. (#1358) 2026-02-17 15:13:54 +01:00
Martin HoffmannandGitHub 71cda3ad7c Upgrade rpki-rs to 0.19.2. (#1357)
This needs some changes as rpki-rs 0.19.2 mandated the use of signing
time and removed the use of binary signing time from RPKI certificates.
Krill did this already, anyway, so there are no functional changes, just
adjustments to changed APIs.
2026-02-17 11:34:51 +01:00
Martin HoffmannandGitHub 60347788be Upgrade rand to 0.10. (#1356) 2026-02-17 11:11:34 +01:00
Martin HoffmannandGitHub 893d52dab3 Upgrade cryptoki to 0.12. (#1355) 2026-02-16 17:17:12 +01:00
Martin Hoffmann f4d9cc5dbc Update changelog. 2026-02-16 16:06:21 +01:00
Martin Hoffmann 9de8d6cb3d Update changelog. 2026-02-13 14:59:56 +01:00
Koen van HoveandGitHub d8b135207f Add krillc parents refresh command (#1353) 2026-02-13 14:58:24 +01:00
Evann DREUMONTandGitHub 65aeec1e0f Improve TA documentation (#1350)
- minors commands typos
- add hint for space coverage

Signed-off-by: Evann DREUMONT <evann@grifon.fr>
2026-02-06 12:32:55 +01:00
Martin Hoffmann 754f09eb65 Update changelog. 2026-01-30 16:07:24 +01:00
Koen van HoveandGitHub 821c05a48d Reissue child certificate after suspension (#1341)
This PR fixes an issue a CA is unsuspending a child CA. Rather then
re-publishing the previously revoked certificate, a all new certificate is
now issued.
2026-01-30 16:05:41 +01:00
Koen van HoveandGitHub 822ff1f78b Do not reschedule parent sync task if parent is unknown. (#1349) 2026-01-30 15:23:06 +01:00
Martin Hoffmann 07b0fc2955 Update changelog. 2026-01-19 16:10:49 +01:00
Martin HoffmannandGitHub 043655766c Clear cert issuance request when receiving a new cert. (#1344)
This PR fixes a bug introduced in 0.15.0 where CAs do to not clear
fulfilled certification requests causing them to re-request a
certificate every time they contact their parent.
2026-01-19 16:09:41 +01:00
Martin HoffmannandGitHub 1ca1635a91 Remove unused src/server/bgp/rotoapi.rs (#1342) 2026-01-13 10:14:23 +01:00
Koen 4f2a8fcffe Update CONTRIBUTING 2026-01-08 15:04:28 +01:00
Martin Hoffmann b271ca2dd0 Update changelog. 2026-01-06 14:33:38 +01:00
Koen van HoveandGitHub 0ccc5cdff4 Add support for UNIX sockets (#1322)
This PR adds API access via a local Unix socket on Unix systems allowing to
use the username of local user accessing the API as the authentication
username.

Configuration options are provided to map user names to roles similar to the
configfile authentication provider.

This will allow using Krill without authentication tokens if it is only
accessed via krillc on the same machine.

The PR also removes the example configuration files and moves the
documentation included in those files into a krill.conf.5 manual page. By
doing this, it simplifies the creation of the configuation file in the binary
packages. Those are now very minimal and only contain the mandatory config
options.
2026-01-06 14:27:31 +01:00
Alex BandandGitHub a5e19935b2 Add Discourse badge 2026-01-06 08:22:29 +01:00
LaunchPadandGitHub f75c9654b1 Fix TreeIter::more_specific to correctly handle IPv6 subprefixes (#1339) 2026-01-05 17:59:51 +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