package albatross

  1. Overview
  2. Docs
Albatross - orchestrate and manage MirageOS unikernels with Solo5

Install

Dune Dependency

Authors

Maintainers

Sources

albatross-1.5.2.tbz
sha256=674117cb5785851badb36aea1cb0aeed9728f27a451b675383514c1a3b85d0e3
sha512=367b45d7b4ed2207d7a2ddbf2efb65f1bb26964e0254d8868e5222156ff20b4aee61b55a6d0e956dcc5a13956ee509845f8a8d94e45cafdee0d8ea0ceb360cda

CHANGES.md.html

v1.5.2 (2022-10-25)

  • BUGFIX policy (vmm_resources): when inserting a policy, check policies above, but not the same one (@hannesm)

  • tls-endpoint: listen on systemd socket, add systemd example (#119 @Julow @reynir)

  • albatross-stats systemd service: allow AF_NETLINK to gather network interface statistics (@reynir)

  • BUGFIX albatross-stats: use if_nametoindex, simplify code (#125 @dinosaure @reynir @hannesm)

  • Add deployment scripts for nixos (#120 @Julow)

v1.5.1 (2022-08-31)

  • Albatross_influx: drop leading ':' if path should be dropped (#114 @hannesm)

  • FreeBSD packaging: rename albatross_stat to albatross_stats (#113 @hannesm)

  • Refactor albatross BHyve stat collection (to avoid exception in List.combine) (#116 @reynir @hannesm)

  • Albatross-client-update: adapt URLs to current builder-web deployment (#117 @hannesm)

  • Albatross-client: allow passing a mac address explicitly to create for each network interface (#107 @reynir)

v1.5.0 (2022-05-16)

  • Revise Name.t to use ':' as path separation, and allow '.' in labels. Previously the path was built by the common name in the X.509 certificate chain and the leaf certificate was appended (i.e. chain certificate "foo", chain certificate "bar", leaf certificate "my.unikernel" lead to the name "foo.bar.my.unikernel" -- and chain certificate "foo", leaf "bar.my.unikernel" lead to the identical name). Since the holder of the certificate and private key "foo" could issue at any point another intermediate certificate for "bar", this is not security critical -- but for resource management this was confusing and lead to some issues (policy could be violated). Now, the path separator is ':' (i.e. "foo:bar:my.unikernel" and "foo:bar.my.unikernel"). In addition, various test cases have been added, for vmm_trie, vmm_resources and also for old and new wire versions (albatross daemon state, command execution) to ensure that old clients continue to work with new server components. The wire version has been bumped to WV5, since the Name.t encoding was changed. (#111, @hannesm @reynir)

  • systemd: fifo are created by albatross_daemon (not albatross_console) (#106, @reynir)

  • systemd: cleanup, use group albatross, (#108, fixes #105, @reynir)

  • documentation: remove solo5-elftool requirement -- since 1.4.0 ocaml-solo5-elftool is used (#109 @hannesm)

  • CI execute tests (#112, @hannesm)

  • fix URL to builder-web (https://builds.robur.coop) which dropped the opam-switch postfix in the URL (#113 @hannesm)

  • albatross-client-local, albatross-client-bistro: support remote (socket/host) '-' to output the command as hexdump (PEM file) on standard output (@hannesm)

v1.4.3 (2022-03-15)

  • Debian packaging: set architecture to DEB_TARGET_ARCH (@reynir)

  • FreeBSD packaging: normalize version number (. instead of -) (@hannesm)

  • Add systemd service script for albatross_influx (@hannesm)

  • Update to cmdliner 1.1.0 (#104 @hannesm)

  • Support IPv6 in daemon (albatross_tls_endpoint) and influx (#104 @hannesm)

v1.4.2 (2022-02-04)

  • fix issues "use OCaml solo5-elftool instead of binary" where the compressed unikernel image was passed to the tool (if albatross-provision-request was used, and in albatross-daemon) (#101 by @palainp, fixed in #102 by @hannesm)

v1.4.1 (2022-01-31)

  • Debian packaging fix typo in lib_exec_dir (create_package.sh, #100 @dinosaure)

v1.4.0 (2022-01-28)

  • albatross-provision-ca: support signing of server certificates

  • use solo5-elftool (developed in OCaml) instead of binary, avoids solo5 dependency for albatross-client-* (#94 @reynir, fixes #93), removes jsonm dependency

  • albatross-influx: reconnect TCP to influx (telegraf) host (#97 @hannesm, fixes #69)

  • by default, do not print argv in unikernel_info (and pp_wire). only if the logging level is verbose (#96 @hannesm, fixes @92)

  • avoid file descriptor leak on Linux in albatross-stats when reading /proc//status (#99 @hannesm)

  • remove astring dependency (#99 @hannesm)

  • Debian packaging

    • install metadata and service scripts with 0644 permissions (@reynir)

    • postinst: do not use sudo (@reynir)

    • postinst: set ownerhip of /var/lib/albatross and /var/lib/albatross/block to $ALBATROSS_USER (@reynir)

    • postinst: create group and user only if they do not exist yet (@reynir)

    • install daemons into /usr/libexec/albatross to avoid accidental invocation (@hannesm #95, fixes #91)

    • add network.target and NetworkManager-wait-online.service to dependencies of albatross_daemon to ensure bridges already exists (#98 @reynir, fixes #90)

v1.3.1 (2021-10-30)

  • Linux: install binaries into /usr/sbin, adjust systemd scripts (#89 by @reynir, fixed by @hannesm)

  • remove rresult dependency (@hannesm)

  • remove deprecated Fmt functions (@dinosaure)

v1.3.0 (2021-09-14)

  • provide arguments for public-key-type and bits, the default is now Ed25519 (used to be RSA) (@hannesm)

  • use happy-eyeballs for name resolution and connection setup (@hannesm)

  • converge albatross-client-* semantics (@hannesm)

  • Implement block_set and block_dump subcommands, also block_add is extended to include the block device data (@hannesm, inspired by @dinosaure)

  • Implement update subcommand for albatross-client-{local,bistro}, which (a) retrieves the digest of a running unikernel (b) looks up that hash on http://builds.robur.coop (a repository of reproducible built unikernels) (c) does a unikernel update (with same arguments and configuration) (@reynir @hannesm)

  • Debian and FreeBSD packaging via orb, available on https://builds.robur.coop (#80 @hannesm @reynir)

  • Linux: add albatross user and group, as done on FreeBSD (#79 #81 @dinosaure)

  • Fixes to README (#78 @yomimono)

v1.2.0 (2021-06-08)

  • linux packaging albatross_stat -> albatross_stats (#73 @smorimoto)

  • albatross_stats: report runtime in microseconds on linux (#74 @hannesm)

  • use metrics-rusage for albatross processes (to report host system usage) (#76 @hannesm)

  • remove albatross_log, instead log to stdandard output (#75 @hannesm)

v1.1.1 (2021-04-23)

  • upgrade to decompress 1.3 (#71 @dinosaure)

  • upgrade to x509 0.13.0 (#72 @hannesm)

v1.1.0 (2021-01-25)

  • fix and improve block device handling (#67 @hannesm)

  • unikernel_info now includes a SHA256 digest of the unikernel image (fixes #61, #64 @hannesm)

  • unikernel_get returns only the image, and a boolean value whether it is compressed or not (#64 @hannesm)

  • allow naming of block devices (#64 @hannesm) similar to network devices

  • albatrossd: wait 3 seconds between socket connection retries, default to 2 retries (previously was 0) (#64 @hannesm)

  • infer dbdir and tmpdir from uname before processing (#60 @hannesm)

  • statistics: adapt to FreeBSD 13 (#62 @sg2342)

  • use binaries with '-' instead of '_' in FreeBSD packaging (to be the same as on Linux)

  • extend PATH with /usr/local/bin and /usr/local/sbin in FreeBSD RC scripts, allowing solo5 utilities installed in PATH (#64 @hannesm)

  • use latest version of decompress (>= 1.2.0 #68 @dinosaure)

  • add test for ASN grammar (#65 @reynir)

v1.0.1 (2020-12-02)

  • Use the conf-libnl3 opam package on Linux (created by @reynir, #57 @hannesm)

  • Avoid using sysctl.h on Linux (#58 @reynir @kit-ty-kate)

v1.0.0 (2020-12-01)

Initial release