# Weekly LinuxKit dev report for 2017-06-26 to 2017-07-02 (week 26)

This report covers weekly developments in the [linuxkit], [linuxkit-ci], [rtf], and [virtsock] repositories.
This week, we welcome Avi Deitcher ([@deitch]) as an official maintainer to the project! ([#2116] [@justincormack] [@deitch]).

The SIG security agenda for 2017-07-05 is now up, with [@nduaten] due to
talk about his Memorizer project, which he also plans to add as a LinuxKit
project soon. ([#2114] [#2141] [@ndauten] [@riyazdf])

**Vultr provider:** A Vultr.com provider and example is now available in the
mainline tree. ([#2109] [#2101] [@furious-luke] [@riyazdf] [@justincormack])

**Auditing:** The auditd userspace components responsible for writing audit records to the disk are now containerised. ([#2092] [#2121] [@tych0] [@justincormack] [@riyazdf])

**Improvements to kernel build:** ([#2113] [@rn] [@justincormack] [@riyazdf])

- If a package or the kernel is built from a dirty git repository, add `-dirty` to the tag and disallow pushing to hub ([#1812] [@rn]).
- If the latest commit has a tag, also push an image to hub as `<org>/<image>:<tag>`. This should allow us to simplify YAML files once we introduce releases.
- For packages, don't build the package if it already exists on Hub. This was already done for the kernel, but for packages, the check was only performed on push. This should make it easier for CI to just attempt to build all packages.
- For kernel build, merge the `sign` target into push. This brings it in line with the package and other builds which do not have a sign target.
- Update kernels to 4.11.8/4.9.35/4.4.75 ([#2140] [#2111] [@rn] [@RobbKistler])

**Gettying more obvious:** the effort to make it more obvious that Getty and Sshd are namespaced and not running on the host namespace is now merged ([#2120] [@justincormack] [@deitch] [@dave-tucker] [@ijc] [@rn]). We also now ensure `ctr` works in the getty container ([#2102] [#2104] [@talex5] [@justincormack] [@ijc])

**Qemu wih KVM:** There is a `-enable-kvm` option in the `linuxkit` cli to force (attempted) use (or not) of KVM ([#2110] [@justincormack] [@ijc])

## Packaging and Blueprints

The Docker for Mac Blueprint continues to integrate customisations from the downstream use within Docker:

- Previously in Docker for Mac we run `fstrim /var` every 15 minutes from cron to reclaim space. If an image is deleted then it can take a long time for the space to be freed on the host. LinuxKit now has a helper which watches for Docker events and triggers an `fstrim` after an image delete. If a batch of image deletes happen within 10s (e.g. as part of a docker system prune) then only one fstrim will be issued. ([#2112] [@djs55] [@justincormack] [@riyazdf])
- Add support for exposing swarm service ports ([#2124] [@MagnusS] [@riyazdf] [@justincormack])
- Add pkg/chronyd and update DfM blueprint ([#2132]  [@rn] [@justincormack] [@MagnusS])
- Update Docker CE to 17.06.0 ([#2127] [@rn])
- Bind `/etc/docker/daemon.json` in `examples/docker.yml` ([#2130] [@caminada] [@justincormack] [@MagnusS] [@riyazdf])
- Split DfM blueprint in base and docker yml ([#2137]  [@justincormack] [@MagnusS])

## Projects

The MirageSDK project development continues, with support for a new file descriptor sharing daemon
that allows linked containers to drop even more privileges while transmitting data securely
between each other. ([#2129] [@samoht] [@riyazdf])

The overall RFC for point-to-point channels between containers is also
available for review and comment ([#2045] [@samoht]). There is also a yml
example on how to use fdd to create container channels ([#2133] [@samoht]
[@justincormack]).

## Docs and Testing

- Makefile: bump rtf version ([#2115] [@rn])
- Update AUTHORS ([#2125] [#2105] [@justincormack])
- Makefile: Fix bug where network was not disabled ([#2135] [@justincormack])
- Use custom-2-5120 as recommended by Google ([linuxkit-ci#19] [@samoht] [@talex5])
- Add timestamps to LinuxKit build logs ([linuxkit-ci#20] [@talex5])
- Re-add [@rn] to rebuild ACL ([linuxkit-ci#21] [@talex5])
- Fix test sorting for mixed tests/subgroups ([rtf#20] [@dave-tucker])

Other reports in this series can be browsed directly in the repository at [linuxkit:/reports](https://github.com/linuxkit/linuxkit/tree/master/reports/).

[@MagnusS]: https://github.com/MagnusS
[@RobbKistler]: https://github.com/RobbKistler
[@avsm]: https://github.com/avsm
[@caminada]: https://github.com/caminada
[@dave-tucker]: https://github.com/dave-tucker
[@deitch]: https://github.com/deitch
[@djs55]: https://github.com/djs55
[@furious-luke]: https://github.com/furious-luke
[@ijc]: https://github.com/ijc
[@justincormack]: https://github.com/justincormack
[@ndauten]: https://github.com/ndauten
[@pwFoo]: https://github.com/pwFoo
[@riyaz]: https://github.com/riyaz
[@riyazdf]: https://github.com/riyazdf
[@rn]: https://github.com/rn
[@samoht]: https://github.com/samoht
[@talex5]: https://github.com/talex5
[@tych0]: https://github.com/tych0
[@vdemeester]: https://github.com/vdemeester
[@zlim]: https://github.com/zlim
[linuxkit]: https://github.com/linuxkit/linuxkit
[#1377]: https://github.com/linuxkit/linuxkit/issues/1377
[#1654]: https://github.com/linuxkit/linuxkit/pull/1654
[#1778]: https://github.com/linuxkit/linuxkit/issues/1778
[#1812]: https://github.com/linuxkit/linuxkit/issues/1812
[#1924]: https://github.com/linuxkit/linuxkit/issues/1924
[#2003]: https://github.com/linuxkit/linuxkit/pull/2003
[#2045]: https://github.com/linuxkit/linuxkit/issues/2045
[#2053]: https://github.com/linuxkit/linuxkit/issues/2053
[#2063]: https://github.com/linuxkit/linuxkit/pull/2063
[#2078]: https://github.com/linuxkit/linuxkit/issues/2078
[#2081]: https://github.com/linuxkit/linuxkit/issues/2081
[#2085]: https://github.com/linuxkit/linuxkit/issues/2085
[#2092]: https://github.com/linuxkit/linuxkit/pull/2092
[#2098]: https://github.com/linuxkit/linuxkit/pull/2098
[#2101]: https://github.com/linuxkit/linuxkit/pull/2101
[#2102]: https://github.com/linuxkit/linuxkit/pull/2102
[#2103]: https://github.com/linuxkit/linuxkit/pull/2103
[#2104]: https://github.com/linuxkit/linuxkit/pull/2104
[#2105]: https://github.com/linuxkit/linuxkit/pull/2105
[#2106]: https://github.com/linuxkit/linuxkit/issues/2106
[#2107]: https://github.com/linuxkit/linuxkit/pull/2107
[#2108]: https://github.com/linuxkit/linuxkit/pull/2108
[#2109]: https://github.com/linuxkit/linuxkit/pull/2109
[#2110]: https://github.com/linuxkit/linuxkit/pull/2110
[#2111]: https://github.com/linuxkit/linuxkit/pull/2111
[#2112]: https://github.com/linuxkit/linuxkit/pull/2112
[#2113]: https://github.com/linuxkit/linuxkit/pull/2113
[#2114]: https://github.com/linuxkit/linuxkit/pull/2114
[#2115]: https://github.com/linuxkit/linuxkit/pull/2115
[#2116]: https://github.com/linuxkit/linuxkit/pull/2116
[#2118]: https://github.com/linuxkit/linuxkit/pull/2118
[#2119]: https://github.com/linuxkit/linuxkit/pull/2119
[#2120]: https://github.com/linuxkit/linuxkit/pull/2120
[#2121]: https://github.com/linuxkit/linuxkit/pull/2121
[#2122]: https://github.com/linuxkit/linuxkit/issues/2122
[#2123]: https://github.com/linuxkit/linuxkit/issues/2123
[#2124]: https://github.com/linuxkit/linuxkit/pull/2124
[#2125]: https://github.com/linuxkit/linuxkit/pull/2125
[#2127]: https://github.com/linuxkit/linuxkit/pull/2127
[#2128]: https://github.com/linuxkit/linuxkit/issues/2128
[#2129]: https://github.com/linuxkit/linuxkit/pull/2129
[#2130]: https://github.com/linuxkit/linuxkit/pull/2130
[#2132]: https://github.com/linuxkit/linuxkit/pull/2132
[#2133]: https://github.com/linuxkit/linuxkit/pull/2133
[#2134]: https://github.com/linuxkit/linuxkit/issues/2134
[#2135]: https://github.com/linuxkit/linuxkit/pull/2135
[#2136]: https://github.com/linuxkit/linuxkit/issues/2136
[#2137]: https://github.com/linuxkit/linuxkit/pull/2137
[#2138]: https://github.com/linuxkit/linuxkit/pull/2138
[#2140]: https://github.com/linuxkit/linuxkit/pull/2140
[#2141]: https://github.com/linuxkit/linuxkit/pull/2141
[#467]: https://github.com/linuxkit/linuxkit/issues/467
[#52]: https://github.com/linuxkit/linuxkit/issues/52
[#958]: https://github.com/linuxkit/linuxkit/issues/958
[linuxkit-ci]: https://github.com/linuxkit/linuxkit-ci
[linuxkit-ci#16]: https://github.com/linuxkit/linuxkit-ci/pull/16
[linuxkit-ci#17]: https://github.com/linuxkit/linuxkit-ci/pull/17
[linuxkit-ci#18]: https://github.com/linuxkit/linuxkit-ci/pull/18
[linuxkit-ci#19]: https://github.com/linuxkit/linuxkit-ci/pull/19
[linuxkit-ci#20]: https://github.com/linuxkit/linuxkit-ci/pull/20
[linuxkit-ci#21]: https://github.com/linuxkit/linuxkit-ci/pull/21
[linuxkit-ci#22]: https://github.com/linuxkit/linuxkit-ci/pull/22
[rtf]: https://github.com/linuxkit/rtf
[rtf#14]: https://github.com/linuxkit/rtf/issues/14
[rtf#20]: https://github.com/linuxkit/rtf/pull/20
[virtsock]: https://github.com/linuxkit/virtsock


