149 Commits

Author SHA1 Message Date
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
David Anderson
a943caa093 pixiecore/cli: add missing file with logging functions. 2016-08-15 21:38:39 -07:00
David Anderson
39b02f723b tftp: move the "Listening on" log message to only show when using ListenAndServe. 2016-08-15 21:34:33 -07:00