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.
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).
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.
* Support "prepare-upgrade" through "krillup" binary.
* Package the new `krillup` binary and man page into a separate DEB/RPM.
* Also switches to building in a Rocky Linux container due to repeated CentOS 8 vault repo timeouts.
* Mention correct config file location on CLI help.
* Remove incorrect reference to non-existent help subcommand for krillup.
* Add locking to upgrade process.
Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
Cross compile DEB packages for armhf/ARMv7 and aarch64/ARM64 using the Rust Tools team cargo cross tool.
Tested on Raspbian 11/Debian Bullseye on a Raspberry Pi 4b (armhf) and Armbian/Debian Buster on a Rock64 (aarch64).
Doesn't yet support stripping of cross compiled binaries (revisit this when Cargo supports the Rust 1.58.0 strip feature) or automated determination of DEB dependencies for cross compiled binaries.
Also removes a duplicate `--system` argument to `useradd` in the RPM `postinst` script.