Commit Graph
2063 Commits
Author SHA1 Message Date
Koen van HoveandGitHub 7941f84dbb Update Docker Alpine to 3.21 (#1252) 2025-02-17 14:20:59 +01:00
Martin Hoffmann c3d51a6882 Update changelog. 2025-02-05 12:14:57 +01:00
Martin HoffmannandGitHub fc104247ae Restructure authentication policies. (#1232)
This PR restructures how authentication policies are used in Krill. It
removes the use of Oso and its policy definition language and instead
switches to simple, straightforward mappings between permissions, roles,
and users.

The existing concept of roles is augmented to serve as the central
configuration option for limiting a user’s access to certain action and
resources. Roles are now user configurable via the new auth_roles
configuration directive. For each role, a set of permissions has to be
provided. Optionally, a list of resource handles (vulgo: CAs) can be given
in which case access is limited to these resources.

The authentication providers now assign one of these roles to each logged
in user.

The OpenID Connect provider now only determines claims for “id,” i.e., the
user name, and the “role.” Since we replaced the previous use of JMES
paths with custom functions with a more stringent model of matching and
substitution, the configuration had to change in a non-compatible way,
anyway, so we cleaned it up a bit and switched from a map to an array for
the claims.

For the config file provider, this was already possible by adding a “role”
attribute. This has now been changed into a “role” field of the user
details. In order to make upgrading seamless, the “role” attribute is
still accepted but a deprecation warning is logged. Since the auth_users
configuration is not used for the OpenID Connect provider any more, the
password_hash and salt fields of the user details are now mandatory.

Custom policies have been removed.

This is a breaking change.
2025-02-05 11:45:49 +01:00
Martin Hoffmann 14ec86a9e7 Update changelog. 2025-01-27 16:38:14 +01:00
Martin HoffmannandGitHub 068bd6a508 Refactor HTTP metrics. (#1249)
This PR refactors how response for the HTTP metrics endpoint is being
assembled. It uses a very thin layer on top of the bare Prometheus
protocol instead of manually writing all the content.

Ideally, this doesn’t change any of the metrics. It does, however,
slightly change the formatting.
2025-01-27 16:36:31 +01:00
Martin HoffmannandGitHub b4a750831e Update dependencies and resulting fix uuid-related errors. (#1248)
This PR update dependencies and fixes compile errors resulting from changes in the uuid crate.
2025-01-23 16:25:52 +01:00
Martin HoffmannandGitHub 5667312637 Clippy-suggested code improvements. (#1247) 2025-01-23 16:06:32 +01:00
Martin HoffmannandGitHub 9ef5e22134 Replace once_cell::OnceCell with std::sync::OnceLock. (#1246)
This PR removes the dependency on once_cell since all the relevant functionality is now in std.
2025-01-10 12:17:24 +01:00
Koen van HoveandGitHub c13d44fb8a Remove fslock and libflate dependencies. (#1245) 2025-01-08 13:04:19 +01:00
Koen van HoveandGitHub 7d989c16ed Bump dependencies (#1244) 2025-01-06 14:50:14 +01:00
Martin Hoffmann d404974c66 Update changelog. 2024-12-20 14:32:06 +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
Martin Hoffmann 5fa686c692 Update changelog. 2024-12-04 10:17:04 +01:00
Koen van HoveandGitHub 7c14de18e9 Packaging: add Ubuntu Noble, remove Xenial, Bionic, and Debian Stretch (#1239) 2024-12-04 10:15:51 +01:00
Martin Hoffmann 1e383c01ff Update changelog. 2024-12-04 10:11:10 +01:00
Koen van HoveandGitHub b72ad8556f Rename timing_config to ta_config and alias (#1241)
This PR renames the `timing_config` options in the Krill config to
`ta_config`. It was already required to have this name if the config
was used by the Krill TA signer. The `timing_config` name is allowed
as an alias in both cases now.
2024-12-04 10:08:54 +01:00
Martin Hoffmann 1899d5ed82 Add --version to krillup. 2024-12-02 17:15:26 +01:00
Martin HoffmannandGitHub 7b87658192 Clippy-suggested code improvements. (#1240) 2024-12-02 17:14:29 +01:00
Ximon EighteenandGitHub d583a634f5 Delete failing audit workflow.
Fails regularly due to hitting GH API limits, the underlying GH Action hasn't been updated for 4 years, and the functionality is replaced by GH security vuln notifications anyway.
2024-08-21 09:39:06 +02:00
Martin Hoffmann d34df0c881 Switch back to rpki-rs main branch. 2024-08-20 15:57:53 +02:00
Martin Hoffmann 4b00231104 Experimentally update rpki-rs for backslashes in handles. 2024-08-20 14:44:15 +02:00
Martin Hoffmann bb2eef96ae Update dependencies. 2024-08-20 14:12:32 +02:00
Martin Hoffmann 05d9d07e9b Update changelog. 2024-08-20 14:12:23 +02: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 Hoffmann 80654fae9b Update changelog. 2024-07-29 11:41:51 +02:00
Koen van HoveandGitHub 7ba7e22c7f Create new Open ID client if old client is older than 60s (#1226)
This PR adds an explicit lifetime to the Open ID connection, and if the
connection has existed for more than 60 seconds, it will initialise a new
connection in order to pick up possible configuration changes at the provider.
2024-07-29 11:40:14 +02:00
Alex Band afc1e783eb spurious indent 2024-07-17 21:01:28 +02:00
Alex Band da773d49eb Update for RtD changes 2024-07-17 20:57:52 +02:00
Alex Band f5fbb30d63 First pass of typo and formatting fixes 2024-07-03 12:34:21 +02:00
Alex Band a88636428e Remove reference to closed and merged issue 2024-07-03 10:46:23 +02:00
Alex Band 865a26cedc Remove CentOS 6 instructions 2024-07-03 10:43:14 +02:00
Alex Band d507f2c8f3 Add docs Makefile and README 2024-07-03 10:19:04 +02:00
Alex BandandGitHub 64834f089d Update docs link 2024-07-03 09:59:02 +02:00
Alex BandandGitHub 7c0c2bc24e Update docs link 2024-07-03 09:57:58 +02:00
Alex BandandGitHub 40f4b7a4b1 Merge pull request #1221 from NLnetLabs/docs-migration
Migrate docs into main project
2024-07-03 08:34:15 +02:00
Alex Band 1d1ee4f7b1 Update build dependencies 2024-07-02 22:53:43 +02:00
Alex Band f843acc7a9 Updated badges and reflow 2024-07-02 22:39:04 +02:00
Alex Band 58bad844f4 Linting 2024-07-02 22:21:18 +02:00
Alex Band 2d33e14829 Update OS packages 2024-07-02 22:18:00 +02:00
Alex Band 5789368904 Fetch version info from cargo.toml 2024-07-02 21:49:40 +02:00
Alex Band 15f8c2130d Migrate docs into main project 2024-07-02 21:39:13 +02:00
Martin HoffmannandGitHub 3253d3c4b6 Reformat to 78 character lines. (#1218) 2024-06-26 10:28:34 +02:00
Martin Hoffmann c89f18db26 Update changelog. 2024-06-25 16:25:08 +02:00
Martin HoffmannandGitHub 7f6ceadb7c Upgrade to edition 2021. (#1217)
This PR upgrades the codebase to Rust edition 2021.

This mostly just means removing a number of use statements for TryFrom and
TryInto. There are no actual code changes.
2024-06-25 16:20:40 +02:00
Martin HoffmannandGitHub 45eb8f857b Fix Clippy warnings and enable Clippy in CI. (#1216)
This PR fixes all warnings from nightly Clippy as of today and enables a
Clippy run in the CI workflow for the stable channel with all features
enabled.
2024-06-25 15:16:15 +02:00
Martin Hoffmann af6694a799 Merge in changelogs from pre-releases. 2024-06-25 14:15:06 +02:00
Martin HoffmannandGitHub 24a1d3d41c Fix an infinite recursion in PKCS11 error conversion. (#1215)
This PR fixes a potential endless recursion when converting an error in the PKCS11 signer.
2024-06-25 14:12:01 +02:00
Martin Hoffmann 5fb6835b3e Switch to released rpki-rs. 2024-06-25 10:27:52 +02:00
Martin HoffmannandGitHub 5a86110a92 Upgrade cryptoki to 0.7. (#1212)
This PR upgrades cryptoki to 0.7. It doesn’t take advantage of the changes
yet. This will happen in follow-up PRs.
2024-06-24 17:53:19 +02:00
Martin HoffmannandGitHub fff64ce16f Update hyper to 1.3.1 and reqwest to 0.12.5. (#1211)
This PR updates hyper, reqwest, and the rustls stack to their current versions.
2024-06-24 17:32:43 +02:00