This PR adds support for ASPA to Routinator.
The PR adds a new config option ‘enable_aspa’ that is false by default. Only
if it is set to true will ASPAs be added to the payload set.
It adds support for processing ASPA objects to the engine, adds ASPA related
metrics, and completely refactors the payload storage to be able to deal
with the differing semantics of ASPA payload.
The PR adds a new "aspa" member to the jsonext format and the HTTP delta endpoint. It adds new members to the API status and adds new Prometheus
metrics.
It increases the minimum required Rust version to 0.65.
---------
Co-authored-by: Alex Band <[email protected]>
Co-authored-by: Luuk Hendriks <[email protected]>
This commit replaces the current Packaging pkg.yml and Packaging Docker pkg-docker.yml workflows with a much simpler Packaging pkg.yml workflow that outsources the behaviour to a new equivalent reusable workflow defined in the NLnet Labs organisation wide https://github.com/NLnetLabs/.github repository.
This commit also adds Docker ARMv6, ARMv7 and ARM64 multi-arch support, ARMv6 DEB support, fixes a couple of RPM issues (postuninst script fails to run, user already exists on re-install), and resolves an unattended-upgrade TAR error.
Resolves #763, #773, #774, and #783.
* FIX: Disable testing of the Debian Stretch package as it is no longer available on images.linuxcontainers.org.
* FIX: Step name correction.
* Upgrade cargo-generate-rpm to 0.6.0 and remove no longer needed workaround and disable default LZMA compression used by newer cargo-generate-rpm as it is incompatible with older RHEL/CentOS systems.
* Upgrade cargo-deb to 1.34.2 to support Rust edition 2021 (as <1.34.0 lacks Rust edition 2021 support and >= 1.36.0 fails to produce a valid Xenial package according to Lintian, and >= 1.37.0 doens't compile with LZMA support disabled as needed on Xenial).
* Fix the logic for ensuring that RPMs built for release candidates have a tilda (~) in the package version so that (a) they are considered older than the final non-release candidate version when it is published and (b) the packaging process publishes them in the -proposed repo and not the production repo. This also fixes the wrong version number (with tilda instead of dash) being used in therelease tag URL included in DEB debian/changelog file.
* Don't cache the target directory as subsequent builds can end up with both new and old content in the dir such as an old RPM plus the new one!
Also adds support for package upgrade testing which was not originally in this workflow as there were no prior published package versions to test upgrading from.
Build and test RPMs for CentOS 7 & 8:
- Add a new RPM packaging workflow. We should probably merge this into the main packaging workflow.
- Move packaging scripts under pkg
- Move the generated Debian changelog under target/debian/.
- Inform the user what the `routinator-init` script is trying to do, useful in case it fails (e.g. because it can't find a way to become the 'routinator' user).
- Don't run routinator-init as sudo when root.
- Set cargo-deb search paths correctly for new pkg/ directory structure.