Commit Graph

4709 Commits

Author SHA1 Message Date
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
Rolf Neugebauer
4d5bf9d90c Merge pull request #2416 from rn/p4
iPXE boot of arm64 on packet.net
2017-08-15 23:24:11 +01:00
Rolf Neugebauer
a6e25b0825 cmd: Print the packet machine ID when booting
This is useful if the connection to the SOS fails and you
want to debug manually after.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 21:36:10 +01:00
Rolf Neugebauer
f2c7dd7731 doc: Add a note on arm64 on packet.net
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 21:36:10 +01:00
Rolf Neugebauer
20d3b89c5f Merge pull request #2414 from justincormack/ssh-known-hosts
Simpler known_hosts parsing
2017-08-15 18:51:55 +01:00
Rolf Neugebauer
f8c45539cc cmd: Add iPXE support for arm64 on packet.net
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 17:54:38 +01:00
Justin Cormack
b7fbabe2ba Simpler known_hosts parsing
Note it cannot deal with hashed host keys still.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-15 17:22:43 +01:00
Justin Cormack
8bd6465e27 Merge pull request #2412 from talex5/https-unikernel
Update https-unikernel to released capnp-rpc 0.1 API
2017-08-15 15:58:52 +01:00
Justin Cormack
afef11d4f5 Merge pull request #2408 from rn/p3
Add a HTTP server to packet.net to serve iPXE files
2017-08-15 15:52:14 +01:00
Rolf Neugebauer
7ae9fab6b6 cmd: Unify Logging for packet backend
Be less verbose when running.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 14:31:44 +01:00
Rolf Neugebauer
2590c66511 cmd: Remove the packet machine when done
Adds a new option, '-keep' which will keep the machine around,
but by default remove the machine when done.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 14:31:44 +01:00
Rolf Neugebauer
306a7f4be6 docs: Update Packet.net documentation
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 14:31:44 +01:00
Rolf Neugebauer
fced67dab8 cmd: Add a -serve command to the packet.net backend
The -serve command starts a local HTTP server which serves
the kernel and initrd files.  The server can then easily be
made available via ngrok or other means.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 14:31:44 +01:00
Rolf Neugebauer
33e8afb292 cmd: Use the proper packet.net go bindings again
The support for always PXE has been merged.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 14:31:44 +01:00
Thomas Leonard
86b4f01e17 Update https-unikernel to released capnp-rpc 0.1 API
Also, separate out RPC encoding from application logic.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2017-08-15 14:16:35 +01:00
Rolf Neugebauer
629b24246c Merge pull request #2410 from rn/base
tools/alpine: Update base image
2017-08-15 13:51:04 +01:00
Rolf Neugebauer
795ca7d0e4 tools/alpine: Update base image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-15 11:11:30 +01:00
Rolf Neugebauer
236cfad571 Merge pull request #2403 from deitch/alpine-base-sgdisk
Add sgdisk package to linuxkit/alpine
2017-08-15 08:28:45 +01:00
Justin Cormack
9590c00ad1 Merge pull request #2409 from justincormack/mobyup
Update moby commit
2017-08-14 22:37:37 +01:00
Justin Cormack
b0324808ae Update moby commit
fix #2401

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-14 20:44:36 +01:00
Justin Cormack
2e40115f08 Merge pull request #2407 from tych0/sig-security-2017-08-16
add agenda for security SIG on the 16th
2017-08-14 19:42:05 +01:00