Commit Graph

92 Commits (3f285269ccc54a37c4433c073ad615c62c82ffa4)

Author SHA1 Message Date
James Kyle 361c8dbae5 Support remote docker hosts on OS X.
This commit brings two main changes, notably:

Two new options that can be set as environment variables

- DOCKER_OPTS: any arbitrary set of docker options. Example: --tlsverify
- DOCKER_NATIVE: This forces the use of the native docker available.
                 This is most useful if you're on OS X and do not want
                 to use boot2docker.

Now uses 'docker cp' instead of tar piping to transfer files. This
currently must be done by copying the binaries off of the docker volume
and into a local filesystem (/tmp) before a docker cp is done. This
workaround will no longer be necessary after bug fix
https://github.com/docker/docker/pull/8509 makes it into stable.

This was necessary because the tar | tar method was creating corrupted
archives on OS X even with the < /dev/null workaround.
2014-12-01 11:47:16 -08:00
Joe Beda 5bf43236e3 Support building/packaging Windows client binaries.
Ug -- .exe suffix is a pain.  These are largely untested.
2014-11-24 14:10:28 -08:00
Joe Beda 35313c605c Script to help mark new versions 2014-11-24 12:24:29 -08:00
Joe Beda 3a385a8b0b Squash output from 'which' 2014-11-24 12:23:34 -08:00
Joe Beda d5536abdb5 Better version check on push 2014-11-24 12:23:34 -08:00
derekwaynecarr 628eb57917 Fix error in build package_full_tarball 2014-11-20 11:15:16 -05:00
Joe Beda eb8df9e969 Upload "naked" binaries with releases.
Fixes #2476
2014-11-19 15:48:37 -08:00
Joe Beda df844e3b44 Don't blindly delete stuff on GCS 2014-11-19 15:02:26 -08:00
Joe Beda 0cc03f7433 Upload extras from _output, not main repo. 2014-11-19 14:01:50 -08:00
Eric Paris a99c3c7963 rename kube server binaries to kube-
apiserver becomes kube-apiserver
controller-manager -> kube-controller-manager
scheduler and proxy similarly.

Only thing I promise is that right now hack/build-go.sh and
build/release.sh exit with 0.  That's it.  Who knows if any of this
actually works....
2014-11-13 20:08:26 -05:00
Eric Paris 7365a459d8 do not fail build if unable to relabel selinux content
If the failure is a problem, the build will fail later.  But it is
possible that this is not a fatal issue and we should let things go
forward.  (a filesystem mounted with context=something in permissive
would cause chcon to fail, but the build to work)
2014-11-13 09:37:44 -05:00
Brendan Burns 4fa323e3da Add a windows client build. 2014-11-12 12:29:12 -08:00
Maxwell Forbes 8d32faad29 Make slashes always appended to buckets to avoid forgetting them. 2014-11-11 23:16:04 +00:00
Brendan Burns 1f75d20e9b Merge pull request #2263 from jbeda/clean-volumes
Clean out data volumes for real
2014-11-10 21:16:40 -08:00
Joe Beda df007d1a2f Make sure the 'prefix' has a trailing slash 2014-11-10 16:16:19 -08:00
Joe Beda 8ffa1f6657 Upload extra artifacts with build 2014-11-10 15:35:48 -08:00
Joe Beda a94e8a3d56 Clean out data volumes for real 2014-11-10 12:46:07 -08:00
Joe Beda a839599883 Install client tools on master.
We now include kubecfg and kubectl in "server binary" tar and place them into /usr/local/bin on the master.
2014-11-07 17:13:18 -08:00
Joe Beda b0253c88eb Slim down full release tar 2014-11-07 17:13:18 -08:00
Brendan Burns 8d34231381 Fix a bunch of places where the -machines flag was still attached to the apiserver. 2014-11-01 20:38:45 -07:00
Joe Beda 5d33ce46cc Rework hack/ and build/ directories.
* Rewrite a bunch of the hack/ directory with modular reusable bash libraries.
* Have 'build/*' build on 'hack/*'.  The stuff in build now just runs hack/* in a docker container.
* Use a docker data container to enable faster incremental builds.
* Standardize output to _output/{local,dockerized}/bin/OS/ARCH/*.  This regularized placement makes cross compilation work.
* Move travis specific scripts under hack/travis

With new dockerized incremental builds, I can do a no-op `make quick-release` in ~30s.  This is a significant improvement.
2014-11-01 17:56:41 -07:00
Joe Beda 33869ab644 Don't include '.' in release tars.
Also make ownership, by default, be root.  This won't work on systems that don't have GNU tar so we warn.

Fixes: #1902
2014-10-30 10:51:13 -07:00
Joe Beda 019170e6fb Merge pull request #1716 from proppy/boot2docker-bootstrap
docker: add cluster bootstrap and doc
2014-10-27 11:46:55 -07:00
Johan Euphrosine 966c3dae70 boot2docker: add cluster bootstrap and doc 2014-10-23 18:06:17 -07:00
Vincent Batts 22a457e46f build: cleaner `docker rmi`
no need to pipe to awk for orphan images

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-23 14:28:34 -04:00
Daniel Smith bfabb41604 New e2e script (in go this time) that doesn't completely suck 2014-10-23 11:03:30 -07:00
Joe Beda 0ce5e99ee5 Merge pull request #1658 from proppy/slim-kube-build
build: switch to golang:1.3 and build go for KUBE_CROSSPLATFORMS
2014-10-22 16:55:51 -07:00
Johan Euphrosine 29c4fd6bb3 build: add KUBE_BUILD_GOLANG_VERSION 2014-10-22 16:52:20 -07:00
Joe Beda a7aa41b3c0 Script to do an "official" release push to GCS. 2014-10-21 19:50:04 -07:00
Johan Euphrosine d5e7ddb428 build: fix golang pull message 2014-10-21 15:24:36 -07:00
Johan Euphrosine 6452b0fe97 build: add kube-build:cross base 2014-10-21 15:19:05 -07:00
Johan Euphrosine 521f145fb5 build: switch to golang:1.3 and build go for KUBE_CROSSPLATFORMS 2014-10-21 15:13:20 -07:00
Joe Beda e48cbb2296 Fix boot2docker with /User mapping.
Fixes #1856

Based on #1858 from @nyaxt.
2014-10-17 23:29:05 -07:00
Brendan Burns ed0b94de5a Fix the build w/ docker 1.3.0 on OS X 2014-10-17 23:22:48 -07:00
Joe Beda 3701c2ac0e Add kubectl to build/release scripts.
Also Refactor build helpers into client/cross and server/linux.  This make it easier to tell users what to build to get just the client binaries.
2014-10-15 16:50:17 -07:00
Vojtech Vitek (V-Teq) b1b9dcc737 Fix OS X build
- Use $(uname) instead of $OSTYPE
- Fix shebang
- Fix typo

Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-10-14 17:13:13 +02:00
Joe Beda 5df3f54204 Hook 'build/make-clean.sh' into 'make clean' in Makefile 2014-10-11 07:34:22 -07:00
Joe Beda b2395c76f2 Have `build/make-cross.sh` copy binaries back over if using boot2docker.
Also clarified error message in cluster/kubecfg.sh.
2014-10-11 07:24:12 -07:00
Joe Beda 999aa0f31c One more time.
Basic idea is to clean out the root owned stuff from with the docker build container.
2014-10-10 14:14:37 -07:00
Joe Beda 336cb68e4f Fix things for real this time.
Bash quoting is hard.
2014-10-10 14:12:28 -07:00
Joe Beda 500c77a38e Clean out _output directory from within docker.
This is necessary as some files might be owned by root.
2014-10-10 13:53:06 -07:00
Joe Beda 5f12245d6c Make 'build' commands work with non-interactive shells.
Tested that both './build/release.sh < /dev/null' and './build/shell.sh' work.
2014-10-10 13:35:10 -07:00
Joe Beda 272b9306c4 Uniquify docker names
If you have two repos that are both building at the same time we don't want to have them stomp on each other as they deal with docker.  Work around this by hashing the KUBE_ROOT and mixing that in to the name.
2014-10-10 12:36:58 -07:00
Joe Beda eab54ab000 Apply SELinux policy to _output dir so "build in docker" works on RHEL. 2014-10-10 12:36:58 -07:00
Joe Beda 1c257cb8db Option in `build/release.sh` to skip tests for a quicker dev/test cycle. 2014-10-10 12:36:57 -07:00
Joe Beda b00f045bd3 Confirm pull of golang:cross as it is huge (1.8G) 2014-10-10 12:36:57 -07:00
Joe Beda 96c1bc17ca Set shell options for reliability.
Tweak a few other small things in our shell scripts.
2014-10-10 12:33:36 -07:00
Joe Beda d43a6ec5a3 Standardize how we refer to the kubernetes root.
Now use $KUBE_ROOT as the variable pretty much everywhere.
2014-10-10 12:33:36 -07:00
Joe Beda 38d5906044 Clean up READMEs and broken stuff.
Move all support for clouds that are broken with this change into an `icebox` directory.  We'll move that stuff back out as we fix it up.
2014-10-10 12:33:36 -07:00
Joe Beda 29e42991c2 Update build/README.md 2014-10-10 12:30:12 -07:00