In no particular order:
* Generalize references to Krill where they are not Krill specific.
* Make argument order consistent with Routinator.
* Various comment tidying and harmless changes for consistency with (e.g. argument order) the Routinator pkg workflow.
* Trigger the pkg workflow for all v* tags as this is simpler than matching specific version patterns and is consistent with the Routinator pkg workflow.
* Don't use ubuntu-latest as we unexpected changes may be introduced when latest moves up to the next Ubuntu release.
* Use the same latest DEB/RPM tool versions and features as the Routinator pkg workflow.
* Parameterize the Docker repo to push to. Don't assume it matches the GH repo name.
* Docker repo name must be lowercase.
* Ensure executables copied into the Docker image have the executable permission.
* Let the compiler choose the right target in the Dockerfile.
* Work around GitHub misapplication of secret protection to the dockerbasetag workflow job output.
* Upgrade to actions/cache@3
* Move the Docker workflow into the main Packaging workflow.
* Extend the Dockerfile to support building from precompiled externally supplied binaries as well as building from sources (to support the cross-compilation case).
* Extend the workflow to support cross-compilation for both Docker images and traditional packages. (#764)
* Extend the workflow to publish a multi-arch Docker manifest.
* Prefix tmp artifact names with 'tmp-' so that packages.nlnetlabs.nl scripts can easily ignore them.
* Use latest upload/download artifact action versions.
* Upload built Docker images as GitHub Actions artifacts.
* Switch to the vault package repository for CentOS 8 now that it is EOL.
* Don't delete cross compiled binaries during pkg job as multiple invocations of the matrix need to access the same artifact.
* Use types which were ported into rpki-rs.
* Update dependency to rpki-rs 0.14.3-dev.
* IGNORE old_events test for now, see issue: #819
* Quick fix for compilation using --all-features. See issue #821
Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
* 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.
Adds support for PKCS#11 v2.20 and/or KMIP 1.2 compatible HSMs.
Includes backward compatible extensions to the krill.conf syntax.
Includes HSM related developer docs.
Excludes HSM specific API (REST, krillc, Prometheus) or UI extensions.