201 Commits

Author SHA1 Message Date
David Anderson
176c8f6c25 Document the ACI container image as well as the docker image.
Fixes #5.
2017-01-05 02:51:41 -08:00
David Anderson
24c1e129d6 dockerfiles: run pixiecore tests while building container.
This is a poor man's version of "only build a container when
the continuous build is green." Travis would be better, but
we can't yet trigger once per commit, only once per build
in the build matrix, so that doesn't work.
2017-01-05 02:33:40 -08:00
David Anderson
d0245412cc Give up on github→travis→quay integration for now.
Travis doesn't support post-all-builds hooks, so a single commit
would trigger 3 builds on quay.io. Travis have plans for fancier
pipelines, until then we'll just build directly.
2017-01-05 02:17:47 -08:00
David Anderson
be99b5e992 Try more escaping in the after_success command. 2017-01-05 01:33:05 -08:00
David Anderson
32bbec67d3 Trigger quay.io build from Travis, after a successful build.
... Maybe, if I got the incantation right.
2017-01-05 01:26:36 -08:00
David Anderson
5ba63cb0f0 cmd/pixiecore: update glide vendored versions.
This is also a test of triggering a quay.io build, even though that
integration still needs work elsewhere.
2017-01-05 00:58:37 -08:00
David Anderson
fbcb237a6d dhcp4: bind listeners to 0.0.0.0 and filter based on received interface.
Some DHCP messages are broadcast to 255.255.255.255, and binding to a
specific address filters those packets out. Instead, we have to translate
the "listen on ip:port" intent to "listen on interface:port", and filter
based on the interface that received the packet.

Fixes #27.
2017-01-05 00:29:13 -08:00
pancho horrillo
441857b277 Drop obsolete GO15VENDOREXPERIMENT env var from Travis CI config (#26)
Now that Go 1.5 is gone from the build matrix, this var is no longer needed,
as it is the default behaviour in Go 1.6+.
2017-01-01 13:40:10 -08:00
David Anderson
84d71de8c1 Remove Go 1.5 from the Travis continuous build.
Policy is to support the latest 2 releases of Go, and some dependent
code just broke on 1.5.
2016-12-24 13:26:24 -08:00
pancho horrillo
b5f135b0d0 pixiecore: Provide a default value for listen-addr flag (#24)
Fixes google/netboot#20
2016-12-24 13:19:19 -08:00
pancho horrillo
5215003867 pixiecore: Fix some backslashes within shell snippets (#23) 2016-12-24 13:18:47 -08:00
pancho horrillo
57a1c9bea2 pixiecore: return file size on apibooter version of ReadBootFile (#14)
Otherwise Content-Length header cannot be properly set, and this
causes issues with iPXE.
2016-10-01 14:20:58 -07:00
pancho horrillo
d1e0ba49c4 Add missing param 'name' to log entry text (#12)
Also add a missing closing parens in the textual description.
2016-09-22 21:24:17 -07:00
pancho horrillo
25de7b4882 Fix directory reference (example-> api-example) (#11) 2016-09-22 20:26:03 -07:00
David Anderson
a4369dcb64 pixiecore: fix import mangled by goimports. 2016-09-19 03:56:42 -07:00
David Anderson
d6d5d3c36a Update .gitignore to ignore pixiecore.test. 2016-09-19 03:55:18 -07:00
David Anderson
395573b8e0 pixiecore: shrink the screenshot again. 2016-09-19 03:49:56 -07:00
David Anderson
ad1a9735e6 pixiecore: reduce the size of the demo screenshot a bit. 2016-09-19 03:47:31 -07:00
David Anderson
8e5c0d0793 pixiecore: Add a basic HTTP status UI.
The UI is optional and need to be explicitly activated, since I
don't want existing users to suddenly have an information-spewing
thing show up on their network.
2016-09-19 03:43:57 -07:00
David Anderson
d2aab56b32 pixiecore: flesh out the boot graph. 2016-09-18 16:23:46 -07:00
David Anderson
5f1d91239d pixiecore: Add a warning that no Content-Length will massively slow down booting. 2016-09-14 20:58:06 -07:00
David Anderson
3aa769557c pixiecore: set Content-Length when serving the kernel/initrd.
iPXE appears to have *really* poor performance (orders of magnitude worse) if
it doesn't know the length of the kernel/initrds that it's downloading. Without
this change, booting CoreOS takes longer than I've had patience to wait. With
this change, the bottleneck becomes the network transfer speed.

Fixes #10.
2016-09-14 20:54:04 -07:00
Dave Anderson
d040347fbd Merge pull request #9 from panchoh/patch-1
pixiecore: update notes on Example API server.
2016-09-04 00:53:27 -07:00
pancho
b4809c5ed3 Update notes on Example API server
. Update dirname
. Drop explanation of features present in v1
. Describe current behaviour (v2)
2016-09-04 09:44:12 +02:00
Dave Anderson
b9cd80144e Merge pull request #8 from panchoh/patch-1
pixiecore: remove superfluous dash from API spec.
2016-09-04 00:29:11 -07:00
pancho
a30021367f Drop the dash to api param
Currently, no dash is expected when specifying api param.
2016-09-04 07:55:42 +02:00
David Anderson
445f92459b pixiecore: only close a non-nil body in API mode.
Fixes #7.
2016-09-02 13:25:27 -07:00
David Anderson
f061a783a7 dhcp4: Don't use the non-binding DHCP Conn silently on linux.
pixiecore: Plumb NewSnooperConn into Server as an advanced option.
pixiecore/cli: Plumb DHCPNoBind to the CLI.

Now, by default, Pixiecore will bind() to the DHCP server port in a way
that shows up in `netstat` by default. If you want to enable the "coexist
with my existing DHCP server" mode, you need to explicitly pass
--dhcp-no-bind.
2016-08-28 16:16:47 -07:00
David Anderson
7bde0dde1b pixiecore/cli: default to a valid IPv4 listen address.
Fixes #6.
2016-08-28 03:57:39 -07:00
David Anderson
6dfafb5bcf pixiecore: link to the docs for the right package. 2016-08-24 02:16:52 -07:00
David Anderson
03b8831533 pixiecore: Add a badge linking to the godoc API reference. 2016-08-24 02:16:12 -07:00
David Anderson
306f73cabf pixiecore: github doesn't correctly serve SVGs. Are you kidding me? 2016-08-24 02:12:35 -07:00
David Anderson
91d63797ed pixiecore: give up on gravizo, just embed directly. 2016-08-24 02:08:47 -07:00
David Anderson
9927c28dea pixiecore: struggle a bit with gravizo to render the graph. 2016-08-24 02:04:55 -07:00
David Anderson
7929a15c6a pixiecore: update the boot walkthrough to include iPXE and UEFI. 2016-08-24 01:58:11 -07:00
David Anderson
fef14c66e8 pixiecore: update README. 2016-08-24 00:59:35 -07:00
David Anderson
d759d198a9 Refactor the dockerfile for Pixiecore.
The way docker hub and quay.io work, you can't easily pass a custom
context to a Dockerfile. So, effectively, if you want multiple dockerfiles
per repository, you need to re-check out the whole repository by hand,
without help from the environment.

This sucks a little bit because it doesn't guarantee that the build happens
at the trigger revision ID, but for my purposes of "just have a recent build up",
it's sufficient.
2016-08-24 00:09:09 -07:00
David Anderson
ec83c11ff0 More twiddling of Dockerfile. 2016-08-23 23:22:22 -07:00
David Anderson
50df31a5a5 Twiddle the Dockerfile in an attempt to get it building. 2016-08-23 23:19:40 -07:00
David Anderson
60831bcf13 cmd/pixiecore: add a Dockerfile to build the Pixiecore binary. 2016-08-23 22:18:02 -07:00
David Anderson
37e2de8ead pixiecore/cli: unify flags related to Pixiecore server configuration. 2016-08-16 14:37:08 -07:00
David Anderson
f54844f56e Update glide.lock with new x/net dependencies. 2016-08-16 14:36:53 -07:00
David Anderson
5b23ef31b7 pixiecore/cli: add the "debug tcpdump" command.
This just runs `tcpdump` as a subprocess, with the right arguments
to capture interesting parts of the boot process (DHCP, PXE, TFTP).
2016-08-16 14:05:33 -07:00
David Anderson
05cc23ebb5 pixiecore/cli: remove the "quick" command family from the CLI for now.
I'll re-add it once I've actually implemented it.
2016-08-16 14:05:06 -07:00
David Anderson
b496cb6c1c pixiecore: checkpoint early bits of a full DHCP server.
I started hacking on this, but I need to take care of other bits
of the port before I embark on such a large feature. The code is
currently dead and not used by pixiecore, but I didn't want to
lose the small bits of address fiddling I've done so far.
2016-08-16 13:49:17 -07:00
David Anderson
e57cdc6354 pixiecore: document Shutdown. 2016-08-16 00:26:03 -07:00
David Anderson
0e0eaa8454 pixiecore: implement orderly shutdown on error or request. 2016-08-16 00:18:23 -07:00
David Anderson
8aa6f59cad pixiecore: give the error message when getting a file by ID fails. 2016-08-15 23:23:32 -07:00
David Anderson
d4fb2bbbe4 Add Go 1.7 to the test matrix, now that it's released. 2016-08-15 22:01:46 -07:00
David Anderson
ee0987169f pixiecore/cli: implement logging controls.
The v1compat CLI is now complete, with support for --debug. The v2 CLI
additionally supports optional timestamping, so that when you're using
a modern init system that captures logs for you (e.g. systemd), you
don't have stuttering timestamps.
2016-08-15 21:54:47 -07:00