rkt v1.4.0 Release Notes

  • ๐Ÿ›  This release includes a number of new features and bugfixes like a new config subcommand, man page, and bash completion generation during build time.

    ๐Ÿ†• New features and UX changes

    • ๐Ÿ“š config: add config subcommand (#2405). This new subcommand prints the current rkt configuration. It can be used to get i.e. authentication credentials. See rkt's config subcommand documentation.

    • โš™ run: add --user/--group app flags to rkt run and rkt prepare allowing to override the user and group specified in the image manifest (#2419).

    • ๐Ÿšš gc: Add flag 'mark-only' to mark garbage pods without deleting them (#2400, #2402). This new flag moves exited/aborted pods to the exited-garbage/garbage directory but does not delete them. A third party application can use rkt gc --mark-only=true to mark exited pods as garbage without deleting them.

    • 0๏ธโƒฃ kvm: Add support for app capabilities limitation (#2222). By default kvm flavor has got enabled every capability inside pod. This patch adds support for a restricted set of capabilities inside a kvm flavor of rkt.

    • stage1/init: return exit code 1 on error (#2383). On error, stage1/init was returning a non-zero value between 1 and 7. This change makes it return status code 1 only.

    • api: Add 'CreatedAt', 'StartedAt' in pod's info returned by api service. (#2377).

    ๐Ÿ‘Œ Improved documentation

    • ๐Ÿ“š Minor documentation fixes (#2413, #2395, #2231).

    • ๐Ÿ“š functional tests: Add new test with systemd-proxyd (#2257). Adds a new test and documentation how to use systemd-proxyd with rkt pods.

    ๐Ÿ› Bug fixes

    • ๐Ÿ”จ kvm: refactor volumes support (#2328). This allows users to share regular files as volumes in addition to directories.

    • ๐Ÿ›  kvm: fix rkt status (#2415). Fixes a regression bug were rkt status was no longer reporting the pid of the pod when using the kvm flavor.

    • ๐Ÿ— Build actool for the build architecture (#2372). Fixes a cross compilation issue with acbuild.

    • ๐Ÿ›  rkt: calculate real dataDir path (#2399). Fixes garbage collection when the data directory specified by --dir contains a symlink component.

    • ๐Ÿณ stage1/init: fix docker volume semantics (#2409). Fixes a bug in docker volume semantics when rkt runs with the option --pod-manifest. When a Docker image exposes a mount point that is not mounted by a host volume, Docker volume semantics expect the files in the directory to be available to the application. This was partially fixed in rkt 1.3.0 via #2315 but the bug remained when rkt runs with the option --pod-manifest. This is now fully fixed.

    • rkt/image: check that discovery labels match manifest labels (#2311).

    • store: fix multi process with multi goroutines race on db (#2391). This was a bug when multiple rkt fetch commands were executed concurrently.

    • ๐Ÿ›  kvm: fix pid vs ppid usage (#2396). Fixes a bug in rkt enter in the kvm flavor causing an infinite loop.

    • kvm: Fix connectivity issue in macvtap networks caused by macvlan NICs having incorrect names (#2181).

    • โœ… tests: TestRktListCreatedStarted: fix timing issue causing the test to fail on slow machines (#2366).

    • ๐Ÿšš rkt/image: remove redundant quotes in an error message (#2379).

    • ๐Ÿ“š prepare: Support 'ondisk' verification skip as documented by the global options (#2376). Prior to this commit, rkt prepare would check the ondisk image even if the --insecure-options=ondisk flag was provided. This corrects that.

    Other changes

    • โœ… tests: skip TestSocketProxyd when systemd-socket-proxyd is not installed (#2436).

    • ๐Ÿณ tests: TestDockerVolumeSemantics: more tests with symlinks (#2394).

    • ๐Ÿ— rkt: Improve build shell script used in continuous integration (#2394).

    • protobuf: generate code using a script (#2382).

    • ๐Ÿ‘€ Generate manpages (#2373). This adds support for generating rkt man pages using make manpages and the bash completion file using make bash-completion, see the note for packagers below.

    • โœ… tests/aws.sh: add test for Fedora 24 (#2340).

    ๐Ÿ“ฆ Note for packagers

    ๐Ÿ— Files generated from sources are no longer checked-in the git repository. Instead, packagers should build them:

    • Bash completion file, generated by make bash-completion
    • Man pages, generated by make manpages