So far, when building camlistored docker image for CoreOS, we were not
using make.go, and we were neither running gopherjs nor embedding the
resources (but rather provide the UI resources at their default
filesystem location).
Now that we're using gopherjs for the web UI, it is a hard dependency
for the camlistore server.
We could reproduce the steps in make.go to build gopherjs, run it to
build the web ui resources, and then move the resources at the right
place, but since make.go already does the equivalent work it seems
to make more sense to use it, which is the main point of this CL.
Similarly, it seems to make more sense to now build a binary with the
resources embedded, which is the default make.go behaviour, instead of
building a "raw" camlistored, and provide the resources as additional
directories in the container image, so this CL takes that approach too.
Finally, it was necessary to add the "-static" flag to make.go, so we
can keep on building a static camlistored binary, that does not rely on
libc for DNS. Because our container image is FROM SCRATCH, with just the
necessary binaries, in order to get a container image of a reasonable
size.
One drawback of now using make.go in
misc/docker/server/build-camlistore-server.go is we're doing some
unnecessary (since we're already running in the isolation of a
container) copying to the virtual gopath, but that seems a very tiny
price to pay. Especially considering how rarely we run that code.
Change-Id: I416c86d366cd4ed2d3b8b1636a6a65a83b9f15d7
rev b9bcb1da229a59cc1e1d168401662cb6450aae08
Also added pkg/misc/fakefsnotify just so we only have to do:
- "github.com/fsnotify/fsnotify"
+ fsnotify "camlistore.org/pkg/misc/fakefsnotify"
in vendor/github.com/gopherjs/gopherjs/build/build.go
in order to avoid vendoring fsnotify, without having to grossly
patch the gopherjs code as we previously did.
Change-Id: Ic106a6afa1117d2061415355c236433f835895f1
Issue #839 suggests to not cut the rev at all, and let it be user
defined. I have no good argument against, but I'm taking the more
conservative approach suggested by others in issue #888.
Fixes#888
Change-Id: Id65b1b074e6646a756353119a12081330775e066
Requires updating vendor/cloud.google.com/go/storage because of the
BucketHandle.List removal, which in turns triggers a bunch of other
updates or additions.
cloud.google.com/go/internal/optional
cloud.google.com/go/storage
at rev 641b1469e744485a8e6235bffc3b7bf366758a85
github.com/googleapis/gax-go
at rev da06d194a00e19ce00d9011a13931c3f6f6887c7
google.golang.org/api/*
at rev f7e067168bd43883b2156f16b6c2fd91beec76e2
Fixes#884
Change-Id: I7e27a24fa2ffbb747e66bde0d10dabaad1ac60d6
Because docker unpacks the file without its +x, which makes go generate
fail when trying to execute it.
Change-Id: I9998b849110437c6faff89090f5dbe98fe2f2c9b
Because it makes full integration with gopherjs impossible (without
polluting the user's GOPATH), as long as
https://github.com/gopherjs/gopherjs/issues/415 is not fixed.
Also it is kind of antithetical with the point of make.go anyway.
We still rely on CAMLI_MAKE_USEGOPATH for the integration tests that run
make.go to know that they shouldn't recursively create another temp
GOPATH (when they're already in such a temp dir, because they're started
through devcam test).
Change-Id: Icc6af46ec5976fdf08e9b8bf4249e307a15499cf
storage.Client.CopyObject does not exist anymore. Replaced with CopyTo
calls.
Also removed checks based on the presence of /.dockerinit to know
whether we're on docker because apparently they're gone or something.
I'll investigate why and a replacement later; we want a new GCE docker
image asap and I'm pressed for time.
Change-Id: I6b3ebcb048f03bdf53db94b41fe96ddcb6ed7537
Program to create the zip file containing the Camlistore source for a
release.
Issues #690 and #688
Change-Id: Ibbd3596a6c76cf70c2c29a415c3098bedf48b17f
The import path was added to the go file that included the package
documentation if one existed. Otherwise, I used what seemed to be the
primary file for the package.
Fixes#689
Change-Id: If51be0e86529fd6f179e80af6781e639f8550fd2
Version in binaries will now be:
"X.Y (git rev xxxxx)"
if X.Y is specified with --tarball_version,
"xxxx"
otherwise.
Also uniformized the flags names and use in other programs.
Fixes#665
Change-Id: I958094f69b279437504854a3ff10e924d42c4fb6
rev 2375e186ca77be721a7c9c7b13a659738a8511d2
This is so we can use storage.Client in pkg/wkfs/gcs (and later in
other places) instead of pkg/googlestorage
Change-Id: I1d0eafbffd40e0326c41214692754f6671ec1d5d
The systemd-docker image on Docker Hub uses an out of date version
of the Docker client. We build our own to get the version required
by recent CoreOS releases. See #646.
Change-Id: I0b1dc6c70f44055c8f92be44cf16269df8a63f0e
Update our Go image to use Go1.5.
Also, with Go1.5, we can compile static binaries (with CGO_ENABLED=0 and
--tags=netgo) without having to first rebuild Go itself from source with
CGO_ENABLED=0.
Finally, with Go1.5, we can now cross-compile straight outta the (linux)
binary tarball (without having to first build the necessary runtime in
src).
For both these above reasons, we don't need to use the Go -src tarball,
and we don't need to have a dedicated Go docker image for each GOOS we
cross-compile too.
Yay, progress!
Change-Id: Ibafb542a4771b151638e796ad3df78e0c8f1a4bf
See https://golang.org/s/go15vendor
This commit moves the google.golang.org/cloud/... packages. The rest
of third_party will move later.
This commit is a dependency for some cloud logging work which we'll
develop in Camlistore's tree.
Some new features (build binaries tarballs) added in commit
988fc8a43c depend on some files that were
added to the camli repo in that very commit.
So for these new features to work, the Camlistore source used must be >=
to that revision, hence that bump.
Change-Id: Ibb68c0f1a1c85277becc02ad73b902d77b5bc465