Commit Graph

4579 Commits

Author SHA1 Message Date
Rolf Neugebauer
72ed2b3a06 kernel: Rename kernel_config-4.x.x to kernel_config-4.x.x-x86_64
Consistently arch suffixes for kernel config.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-20 10:46:28 +01:00
Justin Cormack
ca35c06723 Merge pull request #2439 from martencassel/patch-1
Fix typo in docs/faq.md
2017-08-19 22:07:03 +01:00
Rolf Neugebauer
f0609113d8 Merge pull request #2438 from justincormack/packet-metadata
Add Packet metadata and bonding support
2017-08-19 20:59:35 +01:00
marten
c09dc5190a Fix typo in faq
Signed-off-by: Marten <mcpop28@hotmail.com>
2017-08-19 21:46:46 +02:00
Justin Cormack
3e494f7762 Update hashes for metadata
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-19 19:30:04 +01:00
Justin Cormack
ada924b527 Update packet example
- use one shot dhcp
- add a one shot rngd as needs entropy
- add metadata
- remove ssh key from host as we have in metadata

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-19 19:27:37 +01:00
Justin Cormack
a808808ce1 Add vendoring needed for netlink, packet
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-19 19:25:21 +01:00
Justin Cormack
92451cf2e4 Add packet metadata support, with bonding
Use the packet metadata to set up bonding, also get ssh keys and hostname.

This does not yet do anything with disk metadata.

Userdata is not used if it has been used for ipxe, but is otherwise available.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-19 19:25:14 +01:00
Justin Cormack
d01438acd4 Merge pull request #2436 from rn/kern-up
Update Kernel to 4.9.44/4.4.83
2017-08-18 22:35:04 +01:00
Rolf Neugebauer
efe8292e25 Update YAML files to new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 18:08:33 +01:00
Rolf Neugebauer
5898bc9f0d kernel: Update to 4.9.44/4.4.83
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 18:08:32 +01:00
Rolf Neugebauer
6f14a2acda Merge pull request #2435 from rn/karm64
Converge arm64 and x86 kernel configs
2017-08-18 17:56:59 +01:00
Justin Cormack
9506d45d49 Merge pull request #2413 from justincormack/runtime-config
Add a runtime config
2017-08-18 17:45:10 +01:00
Justin Cormack
b1acdbce2f Add a wireguard example and test
This uses the new features

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-18 15:51:57 +01:00
Justin Cormack
86c1d9fb46 Add moby tool version with runtime support
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-18 15:51:57 +01:00
Rolf Neugebauer
516b11d262 kernel: Set DEFAULT_MMAP_MIN_ADDR to 65536/32768
This is a recommended security measure to protect the low portion
of virtual memory. On x86_64 the recommended value is 65536 while
for arm it shouldn't be higher than 32768.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 15:18:38 +01:00
Rolf Neugebauer
edf74c249a kernel: Enable CONFIG_ENABLE_MUST_CHECK
This is a compile time option enabling __must_check annotations
for return values.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 15:18:38 +01:00
Rolf Neugebauer
3e5ba03cdc kernel: Enable Ethernet Team driver support
While at it also disable an un-used NIC vendor (Netronome).

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 15:18:38 +01:00
Rolf Neugebauer
ec7c2fe82d kernel: Align arm64 kernel config more with x86
The resulting kernel boots fine on qemu and on Cavium Thunder,
though the latter still has some issues.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 15:18:38 +01:00
Justin Cormack
99a9860335 Merge pull request #2432 from rn/p6
cmd: Use the main packet.net API repo again
2017-08-18 11:52:32 +01:00
Rolf Neugebauer
c6ab35f721 cmd: Use the main packet.net API repo again
The local changes were merged, so switching back to the original
repository. A minor change in API was needed.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 10:21:36 +01:00
Justin Cormack
32c685d166 Merge pull request #2430 from tych0/sig-security-2017-08-16-notes
add notes from security sig yesterday
2017-08-17 16:41:34 +01:00
Justin Cormack
6d54339091 Merge pull request #2429 from justincormack/optional-metadata
Allow specifying a set of metadata providers
2017-08-17 16:41:20 +01:00
Rolf Neugebauer
e28d960635 Merge pull request #2428 from justincormack/packet-fork
Vendor fork correctly
2017-08-17 15:36:43 +01:00
Tycho Andersen
a42d911d86 add notes from security sig yesterday
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-08-17 08:23:58 -06:00
Justin Cormack
a9bf2a0735 Update hashes for metadata
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 15:03:23 +01:00
Justin Cormack
ad4131ad4b Merge pull request #2426 from arm64b/firmware-file-format
qemu: Specify the firmware file format explicitly
2017-08-17 14:56:35 +01:00
Justin Cormack
9d8f1bd900 Allow specifying a set of metadata providers
run with `cmd: ["metadata", "aws"]` to just check for AWS metadata for example.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 14:50:50 +01:00
Justin Cormack
63f521fd42 Vendor fork correctly
`vndr` has support for forks!

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 14:16:48 +01:00
Justin Cormack
2f915b8cf2 Update init, containerd, runc images
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 13:54:51 +01:00
Justin Cormack
57512b3ec9 Add an ip package
This contans the upstream (non busybox) version of `ip` and also the
Wireguard tools as these aere not yet integrated into `ip`. It is designed
to be used for network configuration.

For example a Wireguard interface can be setup with something like:
```
  - name: wg
    image: linuxkit/ip
    net: new
    binds:
      - /etc/wireguard:/etc/wireguard
    command: ["sh", "-c", "ip link set dev wg0 up; ip address add dev wg0 192.168.2.1 peer 192.168.2.2; wg setconf wg0 /etc/wireguard/wg0.conf; wg show wg0"]
    runtime:
      interfaces:
        - name: wg0
          add: wireguard
          createInRoot: true
      bindNS:
          net: /run/netns/wg
```

This binds the net namespace so other containers can use it later.

Note that `ip` supports batch scripts with `ip -b file` which is quite convenient for
this use case.

Alas `wg-quick` requires `bash` so this is currently a bit bloated, maybe @zx2c4
might be persuaded to rewrite it without bashisms...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 12:18:38 +01:00
Justin Cormack
c82b2fe13e Add vendoring for netlink
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 12:10:28 +01:00
Justin Cormack
0c81ce19e8 Add a runtime config
This adds support for a runtime configuration file that can do:
- `mkdir` to make a directory at runtime, eg in `/var` or `/tmp`, to avoid workarounds
- `interface` that can create network interfaces in a container or move them
- `bindNS` that can bind mount namespaces of an `onboot` container to a file so a service can be started in that namespace.

It merges the `service` and `onboot` tools (in `init`) to avoid duplication. This also saves some size for
eg LCOW which did not use the `onboot` code in `runc`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 12:10:28 +01:00
Justin Cormack
df16f6fb9e Move init command into a subdirectory
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 12:10:28 +01:00
Justin Cormack
fb9805eac5 Merge pull request #2423 from rn/p5
Allowing re-using existing machines on packet.net
2017-08-17 11:34:59 +01:00
Dennis Chen
023dba65c9 qemu: Specify the firmware file format explicitly
Currently we depend on the qemu to detect the firmware file format
automatically, which is dangerous. This patch specify the 'raw'
format explicitly to remove the kind of restrictions.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2017-08-17 09:27:28 +00:00
Rolf Neugebauer
51046353ea Merge pull request #2425 from l1x/patch-1
Update security.md
2017-08-16 23:06:46 +01:00
Rolf Neugebauer
ed6913ad99 Merge pull request #2424 from rn/lcow-up
Update to latest OpenGCS for LCOW
2017-08-16 19:17:32 +01:00
Istvan
4ee0eb006f Update security.md
Fixing typo

Signed-off-by: Istvan Szukacs <istvan@streambrightdata.com>
2017-08-16 20:13:18 +02:00
Rolf Neugebauer
16f6aa9aef blueprint: Update lcow blueprint to use the new init
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-16 16:54:17 +01:00
Rolf Neugebauer
f9f8b5bc42 pkg/lcow-init: Update to latest version of OpenGCS
While at it also update to latest alpine base

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-16 16:50:34 +01:00
Rolf Neugebauer
8e9e43bf94 doc: Update packet documentation
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-16 16:27:50 +01:00
Rolf Neugebauer
56ae6d5055 cmd: Allow re-using an existing packet.net machine
This add a -device option which enables the re-use of an existing
device. The device state is update to use a potentially new base-url
ro PXE boot from. This maybe faster than provisioning a new server.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-16 16:27:50 +01:00
Rolf Neugebauer
d246ea9130 cmd: Temporarily use my fork of the packet.net API
This adds a new call to update an existing device.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-16 16:27:50 +01:00
Justin Cormack
44c4ea5dba Merge pull request #2422 from justincormack/kub-single-node
Add documentation for how to run a single node Kube cluster
2017-08-16 16:09:15 +01:00
Justin Cormack
6107c866b3 Add documentation for how to run a single node Kube cluster
As I keep forgetting where this is documented...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-16 13:52:38 +01:00
Justin Cormack
57fb2df63f Merge pull request #2420 from rn/del-file
Delete accidentally committed and merge file
2017-08-16 10:53:43 +01:00
Rolf Neugebauer
3568d3c08f Merge pull request #2421 from rn/ethtool
tools/alpine: Add ethtool
2017-08-16 09:00:18 +01:00
Rolf Neugebauer
944b6a5816 tools/alpine: Add ethtool
resolves #2419

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-16 00:58:42 +01:00
Rolf Neugebauer
c7f8552f7e Delete accidentally committed and merge file
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-16 00:05:41 +01:00