# LinuxKit dev report for 2017-05-29 to 2017-06-04

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

There will be a [Moby development Summit](https://www.eventbrite.com/e/moby-summit-tickets-34483396768) in the Docker office in San Francisco on June 19, with several of the LinuxKit developers.

## PRs merged this week

**Amazon Web Services:** An AWS provider has been added to the metadata package, so a LinuxKit running on AWS now has a populated `/var/config` ([#1954] [@kencochrane]).  There is now also an AWS example available as a reference to getting started on AWS ([#1958] [@DieterReuter] [@justincormack]) as well as the overall tracking issue with discussion ([#1918] [@DieterReuter] [@dave-tucker] [@justincormack] [@kencochrane] [@allingeek]). Full `push` and `run` support should be integrated soon.

**Docker Editions:** The Docker Editions are being rebased on top of LinuxKit, with a large PR showing all the pieces ([#1942] [@MagnusS]).  The desktop editions have a daemon to forward unix domain sockets over vsock to the host, which is now available for other uses ([virtsock#30] [#1947] [@MagnusS] [@ijc25] [@justincormack]).

**Microsoft Azure:** initial Azure `push` and `run` support has been merged ([#1939] [@radu-matei] [@rneugeba] [@justincormack]).

**ARM64 support**: it now boots on Packet.net and is being prepped for multiarch support.  There is still work needed to boot it on smaller devices that need local disks.  Next step is to add CLI support for architecture selection to the `moby` tool and work on the kernel configuration. ([#1654] [@mort] [@avsm] [@justincormack])

**VMWare vCenter:** the push capability has now been merged into the CLI ([#1929] [@thebsdbox]).

- The new default namespace is `net=host,ipc=host,utc=host` ([#1934] [#1936] [@justincormack]). This is more natural as most containers want to share host networking.
- The usage of the `linuxkit push` function now gives the correct output ([#1935] [@thebsdbox] [@riyazdf])
- There have been several bug fixes with Moby tool ([#1957] [@justincormack])
- `containerd` has been fixing several upstream issues; however another bug have been found ([#1943] [@ijc25])
- Support multiple disks in qemu, so that its easier to pass data through the build chain rather than using the virtual networking ([#1944] [@thebsdbox] [@justincormack]). The `mkimage` tool now uses this feature to pass in images as a tarball rather than baking them into the VM, thus speeding up the build with smaller images and less networking ([#1949] [@justincormack]).

### Projects

There is a proposal to implement a probational channel for projects ([#1945] [@tych0]), details still being decided

- [projects/miragesdk]: added a frontend yaml format to demonstrate how the new privilege separated daemons would be constructed from a yaml fragment ([#1952 [@talex5] [@justincormack] [@samoht] [@avsm]).
- [projects/logging]: fixed the examples so that logging on startup worked again ([#1940] [@MagnusS])
- [projects/compose]: There is a Docker Compose example also available, with both dynamic and static composition available. Static does not require a local registry, whereas dynamic loads the images at runtime ([#1961] [@deitch].
- [projects/swarmd]: has now been modernised and provides a basic SwarmKit+Containerd setup ([#1950] [@ijc25] )

### Packaging

- All remaining packages have been converted to multi-stage Docker build, git tree hash, and Alpine base ([#1937] [@rneugeba]).
- Update to latest Linux kernels: 4.11.3/4.9.30/4.4.70 ([#1930] [@rneugeba] [@RobbKistler])
- We have switched to `sinit` conventions for startup to make it easier to swap
  out `/sbin/init` in the future with a new implementation, such as the experimental
  Rust one that [@mato] is working on. ([#1932] [@mato] [@justincormack])
- Add a simple qemu guest agent package ([#1883] [@ijc25])

### Docs

- Promote the signing documentation to [top level](docs/signing.md) ([#1938] [@riyazdf] [@ijc25])
- Add writeups of recent CVEs ([#1946] [@riyazdf])
- Update configuration docs ([#1953] [@dnephin] [@riyazdf])

## PRs with activity

- Hyperkit: Add `--networking option` allowing disabling networking on hyperkit ([#1926] [@MagnusS] [@rneugeba] [@justincormack])
- EBPF JIT verification ([#1623] [@thestinger] [@l0kod])
- Dev image with Docker and SSHD ([#1850] [@rneugeba] [@justincormack] [@radu-matei])
- Tweak package tests and add more ([#1925] [@rneugeba])
- Fixes disk size output typo ([#1927])
- Remove remaining uses of `tools/go-compile` from packages ([#1928])
- Test that no ports are open ([#1951] [@rneugeba] [@justincormack] [@dave-tucker] [@riyazdf])
- Adding Dynamic VHD mkimage package ([#1955] [@davefreitag] [@justincormack]).
- Update `moby` tool and qemu fixes ([#1959] [@justincormack])

## External Links or Blogs

- ["A quick look at LinuxKit"](
)
- ["LinuxKit meets AWS, a technical POC"](https://bee42.com/blog/linuxkit-with-initial-aws-support/)

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

[@AkihiroSuda]: https://github.com/AkihiroSuda
[@DieterReuter]: https://github.com/DieterReuter
[@GordonTheTurtle]: https://github.com/GordonTheTurtle
[@MagnusS]: https://github.com/MagnusS
[@RobbKistler]: https://github.com/RobbKistler
[@ajeetraina]: https://github.com/ajeetraina
[@allingeek]: https://github.com/allingeek
[@avsm]: https://github.com/avsm
[@dave-tucker]: https://github.com/dave-tucker
[@davefreitag]: https://github.com/davefreitag
[@deitch]: https://github.com/deitch
[@djs55]: https://github.com/djs55
[@dnephin]: https://github.com/dnephin
[@ijc25]: https://github.com/ijc25
[@justincormack]: https://github.com/justincormack
[@kencochrane]: https://github.com/kencochrane
[@l0kod]: https://github.com/l0kod
[@mato]: https://github.com/mato
[@radu-matei]: https://github.com/radu-matei
[@riyazdf]: https://github.com/riyazdf
[@rneugeba]: https://github.com/rneugeba
[@samoht]: https://github.com/samoht
[@talex5]: https://github.com/talex5
[@thebsdbox]: https://github.com/thebsdbox
[@thestinger]: https://github.com/thestinger
[@tych0]: https://github.com/tych0
[@yankunsam]: https://github.com/yankunsam
[linuxkit/linuxkit]: https://github.com/linuxkit/linuxkit
[#1336]: https://github.com/linuxkit/linuxkit/issues/1336
[#1539]: https://github.com/linuxkit/linuxkit/issues/1539
[#1623]: https://github.com/linuxkit/linuxkit/pull/1623
[#1654]: https://github.com/linuxkit/linuxkit/pull/1654
[#1690]: https://github.com/linuxkit/linuxkit/issues/1690
[#1705]: https://github.com/linuxkit/linuxkit/issues/1705
[#1751]: https://github.com/linuxkit/linuxkit/issues/1751
[#1836]: https://github.com/linuxkit/linuxkit/issues/1836
[#1837]: https://github.com/linuxkit/linuxkit/issues/1837
[#1850]: https://github.com/linuxkit/linuxkit/pull/1850
[#1853]: https://github.com/linuxkit/linuxkit/pull/1853
[#1883]: https://github.com/linuxkit/linuxkit/pull/1883
[#1906]: https://github.com/linuxkit/linuxkit/pull/1906
[#1912]: https://github.com/linuxkit/linuxkit/issues/1912
[#1918]: https://github.com/linuxkit/linuxkit/issues/1918
[#1919]: https://github.com/linuxkit/linuxkit/issues/1919
[#1921]: https://github.com/linuxkit/linuxkit/issues/1921
[#1923]: https://github.com/linuxkit/linuxkit/issues/1923
[#1925]: https://github.com/linuxkit/linuxkit/pull/1925
[#1926]: https://github.com/linuxkit/linuxkit/pull/1926
[#1927]: https://github.com/linuxkit/linuxkit/pull/1927
[#1928]: https://github.com/linuxkit/linuxkit/pull/1928
[#1929]: https://github.com/linuxkit/linuxkit/pull/1929
[#1930]: https://github.com/linuxkit/linuxkit/pull/1930
[#1931]: https://github.com/linuxkit/linuxkit/issues/1931
[#1932]: https://github.com/linuxkit/linuxkit/pull/1932
[#1934]: https://github.com/linuxkit/linuxkit/pull/1934
[#1935]: https://github.com/linuxkit/linuxkit/pull/1935
[#1936]: https://github.com/linuxkit/linuxkit/pull/1936
[#1937]: https://github.com/linuxkit/linuxkit/pull/1937
[#1938]: https://github.com/linuxkit/linuxkit/pull/1938
[#1939]: https://github.com/linuxkit/linuxkit/pull/1939
[#1940]: https://github.com/linuxkit/linuxkit/pull/1940
[#1941]: https://github.com/linuxkit/linuxkit/issues/1941
[#1942]: https://github.com/linuxkit/linuxkit/pull/1942
[#1943]: https://github.com/linuxkit/linuxkit/pull/1943
[#1944]: https://github.com/linuxkit/linuxkit/pull/1944
[#1945]: https://github.com/linuxkit/linuxkit/pull/1945
[#1946]: https://github.com/linuxkit/linuxkit/pull/1946
[#1947]: https://github.com/linuxkit/linuxkit/pull/1947
[#1949]: https://github.com/linuxkit/linuxkit/pull/1949
[#1950]: https://github.com/linuxkit/linuxkit/pull/1950
[#1951]: https://github.com/linuxkit/linuxkit/pull/1951
[#1952]: https://github.com/linuxkit/linuxkit/pull/1952
[#1953]: https://github.com/linuxkit/linuxkit/pull/1953
[#1954]: https://github.com/linuxkit/linuxkit/pull/1954
[#1955]: https://github.com/linuxkit/linuxkit/pull/1955
[#1956]: https://github.com/linuxkit/linuxkit/issues/1956
[#1957]: https://github.com/linuxkit/linuxkit/pull/1957
[#1958]: https://github.com/linuxkit/linuxkit/pull/1958
[#1959]: https://github.com/linuxkit/linuxkit/pull/1959
[#1960]: https://github.com/linuxkit/linuxkit/pull/1960
[#1961]: https://github.com/linuxkit/linuxkit/pull/1961
[#450]: https://github.com/linuxkit/linuxkit/issues/450
[linuxkit/linuxkit-ci]: https://github.com/linuxkit/linuxkit-ci
[linuxkit/rtf]: https://github.com/linuxkit/rtf
[linuxkit/virtsock]: https://github.com/linuxkit/virtsock
[virtsock#30]: https://github.com/linuxkit/virtsock/pull/30
