This utility is currently in an alpha release state. It's completely capable of being used as a tool to build and orchestrate Docker containers on Nextthing's C.H.I.P. Pro. However, as it's only been used internally, there's a likelihood of bugs and pain points in the developer workflow. That's where you come in, we'd love to get your feedback!
So what works, and what doesn't? Follow the steps below to get a quick few examples on what works and how to do it.
As far as what doesn't work, the Gadget command-line utility currently doesn't support, but has milestones for the following:
- Pulling images from private Docker registries [images can only be pulled from Dockerhub, or built from a local Dockerfile]
- Porcelain commands for editing all fields in the gadget.yml [e.g.
gadget add-capability SYS_RAWIO mycontainer2]
- Local over the air[OTA] update testing
- Preventing the user from filling the NAND
- WiFi provisioning
- Dependent commands [you must explicitly build a container before you can deploy it]
- Local image creation/backups
- Support for C.H.I.P.
- Multistage Docker image builds
- Download the .CHP and the gadget.zip.
- Flash your C.H.I.P. Pro, and either put the
gadget binary in your
path or precede all the commands with
[in public releases, there will be an installer for that]
- The .CHP has a bug where the C.H.I.P. Pro won't immediately boot,
you'll have to power cycle.
- Targeted/tested platforms: Windows 10 Pro 64-bit, Mac OSX [undefined versions], Linux 64-bit.
- Tested with Docker version 1.12 onward, but will likely put a hard limit on 17.05+ once multistage builds reach Docker's
- For further documentation, check out our Gadget docs page.
- This will create a template
gadget.yml file that is ready to
- This reads the
gadget.yml, and downloads/builds a new container,
from the specified image, the container is unique to your project.
- This pushes over the
- This starts the
- Prints the output of the
- Shows the status of running containers
- Stops running containers
- Deletes running containers