Commit Graph
17 Commits
Author SHA1 Message Date
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 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 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
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
Tim Bruijnzeels 63a76dc370 Moving publisher API definitions to krill-commons, and use updated module names. 2019-03-13 15:26:36 +01:00
Tim Bruijnzeels a1e7b0c69f Taking out all of the CMS Proxy code. This will be moved into a separate project. Fixes issue: #34 2019-03-12 15:38:10 +01:00
Tim Bruijnzeels 225c948902 Using type_id in AggregateId to have aggregate specific name spaces. 2019-03-11 15:42:05 +01:00
Tim Bruijnzeels 8b4db0bfcb Re-architecting the application to use event sourcing (fixes: #35) 2019-02-15 15:24:50 +01:00
Tim Bruijnzeels 5bca26c8f7 Fixing clippy warnings. Just a few ;) 2019-02-06 16:04:31 +01:00
Tim Bruijnzeels 9409ae97ad Starting to use more of the api::rrdp_data in the RRDP module. However, will probably end-up replacing the complete pubd module and components by an event sourced solution. 2019-02-04 16:43:55 +01:00
Tim Bruijnzeels bcff964f56 Splitting the repository server into modules, starting to move RRDP data into api::rrdp_data 2019-01-29 15:05:04 +01:00
Tim Bruijnzeels afb9ba69f3 Re-organising api data module names in prep of also moving RRDP data definitions here (which will help with integration testing) 2019-01-29 14:03:15 +01:00
Tim Bruijnzeels 74709d0c5e Update the RFC8181 code to re-use the API implementations for the messages. I.e. just deal with XML here, and ErrorPdus. 2019-01-25 14:51:20 +01:00
Tim Bruijnzeels 6248f0baf0 Introducing api client (issue #34). Still things to do, see below.
Done:
* api client introduced
* code can do a list and parse the json response

Todo:
* Token validation on API
* Synchronise directory
* Binary for api client
* Format output for client (text/json/none)
* Cleanup, most notably move http client code into util for re-use.
2019-01-23 16:48:14 +01:00
Tim Bruijnzeels 0ffcd18e74 Moving shared API data (between server and client) into its own module. 2019-01-23 16:48:14 +01:00
Tim Bruijnzeels 68b74fb004 Introducing authorisation on the API (issue #8) 2019-01-03 17:03:30 +01:00
Tim Bruijnzeels cfdff770b4 Some more restructuring of the basic API. Closing #4 now, but surely this will still be refactored as more methods are added to the API. 2019-01-02 16:19:41 +01:00