# Weekly LinuxKit dev report for 2017-07-03 to 2017-07-09 (week 27)

This report covers weekly developments in the [linuxkit], [linuxkit-ci], [rtf] and [virtsock] repositories.

**Security SIG on Memorizer:** This week's security SIG featured [@ndauten] explaining his [ops+memorizer project](sig-security/2017-07-05.md) that provides infrastructure for fine-grained security policy enforcement in Linux. There are meeting notes and slides available ([#2153] [#2160] [@ndauten] [@riyazdf]), as well as work-in-progress PR to add a memorizer project to LinuxKit ([#2171] [#2170] [@ndauten] [@justincormack]).

**Kernel:** The kernel images were updated to 4.11.9/4.9.36/4.4.76 from upstream ([#2167] [@rn]).

**Content trust:** This was updated to make it easier to develop against.  An option was added to disable content trust, for the use of (e.g.) projects which are pushing to the linuxkitprojects org (which has no trust setup) rather than the main linuxkit org.  Secondly, when trust is enabled then enable it globally, in particular it is now active for the `docker build` and hence containers referenced in Dockerfiles via `FROM` will be checked. ([#2161] [@ijc] [@riyazdf])

**ARM64:** `linuxkit run` no longer hardcodes x86_64 as the architecture, thus letting ARM64 run more easily ([#2162] [@arm64b]). Work is also ongoing to fix Golang ARM binaries running under emulation ([#1348] [@justincormack] [@rogaha] [@ncopa]) and multiarch manifest generation for base images used by LinuxKit ([#1377] [@arm64b] [@mor1] [@justincormack]).

**Example and build cleanups:** The build now works from behind an HTTP proxy ([#2144] [@kunalkushwaha] [@justincormack] [@rn]) and cleaning build outputs now covers raw files as well ([#2176] [@justincormack]). The example yaml files are also simpler now by moving `ttyS0` after `tty0` as it is more common ([#2177] [@justincormack]), and we also consistently don't use quotes around image names ([#2178] [@justincormack])

**Virtsock:** The virtsock library for HyperV integration had various improvements to build stress tests using it:
- Pass `SOCK_CLOEXEC` to syscall.Socket ([virtsock#35] [@rn])
- Fix TCP/IPv6 and add Unix Domain Socket support to `sock_stress` ([virtsock#38] [@rn])
- Add AUTHORS and script to generate it ([virtsock#36] [@rn])
- Update LICENSE ([virtsock#37] [@justincormack] [@rn])

## Packages

The Docker for Mac blueprint integration continues, and this week the time sync and ACPI infrastructure ([#1773] [@ijc]) was added to LinuxKit:

- Add Docker for Mac host time sync daemon ([#2119] [@riyazdf] [@djs55] [@rn])
- Update Docker for Mac with ACPI and metadata support ([#2157] [@rn] [@MagnusS])
- Add `pkg/acpid` ([#2154]  [@riyazdf] [@rn] [@ijc] [@MagnusS])
- Add ACPI hyperkit test and update platform docs ([#2158] [@MagnusS] [@rn])

- The `metadata` package can now overwrite existing config files, which enables custom defaults to be added to the image ([#2164] [@rn])

## Projects

- The MirageSDK project updated the example unikernels to the latest Capnp-based API.  There is a lot of integration work ongoing to publish the reference interface for building privilege separate, unikernel-friendly server applications that can be directly deployed on LinuxKit ([#2163] [@talex5] [@avsm] [@samoht]).

- There is a work-in-progress PR to add a Memorizer project to LinuxKit ([#2170] [@ndauten] [@justincormack]).

- The `swarmd` project is also being refreshed and networking supported added ([#2126] [@ijc]).

## Docs and Testing

- Add some more CVE writeups ([#2165] [@riyazdf])
- Fix markdown format mistake and text re: disk path ([#2168] [@rn])
- Update AUTHORS ([#2169] [@justincormack] [@rn])
- Add some network namespace stress tests ([#2172] [@justincormack] [@rn])
- Fix formatting error in README.md ([#2175] [@justincormack] [@hansbogert])

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
[@aboyett]: https://github.com/aboyett
[@arm64b]: https://github.com/arm64b
[@avsm]: https://github.com/avsm
[@btheado]: https://github.com/btheado
[@dave-tucker]: https://github.com/dave-tucker
[@deitch]: https://github.com/deitch
[@djs55]: https://github.com/djs55
[@hansbogert]: https://github.com/hansbogert
[@ijc]: https://github.com/ijc
[@justincormack]: https://github.com/justincormack
[@kunalkushwaha]: https://github.com/kunalkushwaha
[@mor1]: https://github.com/mor1
[@ncopa]: https://github.com/ncopa
[@ndauten]: https://github.com/ndauten
[@pwFoo]: https://github.com/pwFoo
[@rajasec]: https://github.com/rajasec
[@riyazdf]: https://github.com/riyazdf
[@rn]: https://github.com/rn
[@rogaha]: https://github.com/rogaha
[@sbourlon]: https://github.com/sbourlon
[@talex5]: https://github.com/talex5
[@thebsdbox]: https://github.com/thebsdbox
[linuxkit]: https://github.com/linuxkit/linuxkit
[#1348]: https://github.com/linuxkit/linuxkit/issues/1348
[#1377]: https://github.com/linuxkit/linuxkit/issues/1377
[#1742]: https://github.com/linuxkit/linuxkit/issues/1742
[#1773]: https://github.com/linuxkit/linuxkit/issues/1773
[#2031]: https://github.com/linuxkit/linuxkit/issues/2031
[#2081]: https://github.com/linuxkit/linuxkit/issues/2081
[#2096]: https://github.com/linuxkit/linuxkit/issues/2096
[#2098]: https://github.com/linuxkit/linuxkit/pull/2098
[#2099]: https://github.com/linuxkit/linuxkit/issues/2099
[#2117]: https://github.com/linuxkit/linuxkit/pull/2117
[#2119]: https://github.com/linuxkit/linuxkit/pull/2119
[#2123]: https://github.com/linuxkit/linuxkit/issues/2123
[#2126]: https://github.com/linuxkit/linuxkit/pull/2126
[#2131]: https://github.com/linuxkit/linuxkit/issues/2131
[#2138]: https://github.com/linuxkit/linuxkit/pull/2138
[#2139]: https://github.com/linuxkit/linuxkit/issues/2139
[#2142]: https://github.com/linuxkit/linuxkit/pull/2142
[#2143]: https://github.com/linuxkit/linuxkit/issues/2143
[#2144]: https://github.com/linuxkit/linuxkit/pull/2144
[#2145]: https://github.com/linuxkit/linuxkit/issues/2145
[#2146]: https://github.com/linuxkit/linuxkit/issues/2146
[#2147]: https://github.com/linuxkit/linuxkit/pull/2147
[#2148]: https://github.com/linuxkit/linuxkit/pull/2148
[#2149]: https://github.com/linuxkit/linuxkit/pull/2149
[#2150]: https://github.com/linuxkit/linuxkit/pull/2150
[#2151]: https://github.com/linuxkit/linuxkit/issues/2151
[#2152]: https://github.com/linuxkit/linuxkit/pull/2152
[#2153]: https://github.com/linuxkit/linuxkit/pull/2153
[#2154]: https://github.com/linuxkit/linuxkit/pull/2154
[#2155]: https://github.com/linuxkit/linuxkit/issues/2155
[#2157]: https://github.com/linuxkit/linuxkit/pull/2157
[#2158]: https://github.com/linuxkit/linuxkit/pull/2158
[#2159]: https://github.com/linuxkit/linuxkit/pull/2159
[#2160]: https://github.com/linuxkit/linuxkit/pull/2160
[#2161]: https://github.com/linuxkit/linuxkit/pull/2161
[#2162]: https://github.com/linuxkit/linuxkit/pull/2162
[#2163]: https://github.com/linuxkit/linuxkit/pull/2163
[#2164]: https://github.com/linuxkit/linuxkit/pull/2164
[#2165]: https://github.com/linuxkit/linuxkit/pull/2165
[#2166]: https://github.com/linuxkit/linuxkit/pull/2166
[#2167]: https://github.com/linuxkit/linuxkit/pull/2167
[#2168]: https://github.com/linuxkit/linuxkit/pull/2168
[#2169]: https://github.com/linuxkit/linuxkit/pull/2169
[#2170]: https://github.com/linuxkit/linuxkit/pull/2170
[#2171]: https://github.com/linuxkit/linuxkit/pull/2171
[#2172]: https://github.com/linuxkit/linuxkit/pull/2172
[#2173]: https://github.com/linuxkit/linuxkit/pull/2173
[#2174]: https://github.com/linuxkit/linuxkit/issues/2174
[#2175]: https://github.com/linuxkit/linuxkit/pull/2175
[#2176]: https://github.com/linuxkit/linuxkit/pull/2176
[#2177]: https://github.com/linuxkit/linuxkit/pull/2177
[#2178]: https://github.com/linuxkit/linuxkit/pull/2178
[linuxkit-ci]: https://github.com/linuxkit/linuxkit-ci
[rtf]: https://github.com/linuxkit/rtf
[virtsock]: https://github.com/linuxkit/virtsock
[virtsock#33]: https://github.com/linuxkit/virtsock/pull/33
[virtsock#34]: https://github.com/linuxkit/virtsock/pull/34
[virtsock#35]: https://github.com/linuxkit/virtsock/pull/35
[virtsock#36]: https://github.com/linuxkit/virtsock/pull/36
[virtsock#37]: https://github.com/linuxkit/virtsock/pull/37
[virtsock#38]: https://github.com/linuxkit/virtsock/pull/38

