Commit Graph
35 Commits
Author SHA1 Message Date
aramisjohnson b589b18dbd Test framework and Tests 2017-05-02 10:13:30 -07:00
Steve Leon 236468119e Added volume provisioner to Rook
- The provisioner is a Kubernetes external volume provisioner
- It calls the Rook API to create and delete volumes on behalf
  of Kubernetes
- It automatically discover Ceph monitor endpoints
- It locates RBD ceph user keys based on the Rook cluster location
- It uses the in-tree RBD volume plugin to do the map/unmap
- Also modify the documentation to reflect the changes on the
  storageclass
2017-04-17 15:20:44 -07:00
Bassam Tabbara c6c575ed7c build: make promote idempotent 2017-04-05 13:30:24 -07:00
Bassam Tabbara 42629f406f build: use a versioned glide binary 2017-04-04 17:02:25 -07:00
Bassam Tabbara cbacbe957d build: cleanup working directories and mac build
centralized all working directories at .work in the root of the tree.  also centralize all download directories to .download at the root of the tree.

cleaned up the rsync behavior between host and docker cross build when running on non-linux host.
2017-04-04 17:02:25 -07:00
Bassam Tabbara 59f5815115 build: support for promoting a build
support for build promotion. For example, make promote CHANNEL=alpha VERISON=v0.4.0, will push the v0.4.0 bits to the alpha channel.
2017-04-04 17:02:25 -07:00
Bassam Tabbara babcc79603 build: cleanup docker images after publish 2017-04-04 17:01:39 -07:00
Bassam Tabbara eeb2656b1f build: fix vendor handling
we now ensure that glide failures stop the build
2017-04-04 17:01:39 -07:00
Bassam Tabbara 192926c96b build: improve golint and glide tool installation 2017-04-04 17:01:39 -07:00
Bassam Tabbara 1179e45334 build: upload build artifacts to S3
we now publish build artifacts to an S3 bucket, by default
its release.rook.io. We no longer push bits to github on
make publish.

Added support for AWS cli in the cross-build container.
2017-04-04 17:01:39 -07:00
Jared Watts fe0b2b5bfd build: release script arg fixes 2017-03-28 14:47:42 -07:00
Steve Leon 2f0045db2e Adding lint check for syntax and style. 2017-03-16 09:47:49 -07:00
Bassam Tabbara 701d03eead build: add dev target for quick builds 2017-03-06 14:51:32 -08:00
Bassam Tabbara cc6f40649a build: run go builds in parallel 2017-03-06 14:51:32 -08:00
Bassam Tabbara 6e84b161fa build: separate externals into their own project
Move external packages including ceph into a separate project under
the externals subdir.
2017-03-06 14:51:32 -08:00
Bassam Tabbara f65c8ede09 ceph: pickup luminous build 2017-03-06 14:51:32 -08:00
Bassam Tabbara 75523ccb17 build: add support debug builds and backtraces
we now build with debug information on linux even for release builds. Debug
information is save in a separate .debug file that can be loaded by gdb.

switched to using the golangs's facilities for cgo backtraces. had to add
C++ demangling to it but its now on par with the default backtrace facility
that ceph had. This approach works with static builds and relies on the
symbol table alone -- no need for rdynamic or DWARF sections in the binary.

Update the build container so that all packages now build with debug, also
fixed zlib package which had a broken link.

Fixes #135
2017-02-09 19:52:27 -08:00
Bassam Tabbara 194949f51e build: remove stale comments 2017-02-09 17:06:02 -08:00
Bassam Tabbara e8d1470310 build: build more packages from source
we now build all the required packages for rookd from source. also
reorganized the external project a bit to support this.

Removed STATIC makefile option and replaced with LINKMODE
2016-12-12 17:21:52 -05:00
Bassam Tabbara cfdd7d800c ceph: add RGW to embedded ceph
this commit adds RGW to rook.
2016-11-28 09:10:43 -08:00
Bassam Tabbara 2b1806aea4 build: build ceph dependencies from source
With this commit we now build some of the packages ceph depends
on directly from source code. We use cmake and externalproject_add
to build the sources using a superbuild project approach. Not all
packages that are compiled into rook are built from source yet, but
enough are there to work around some of the issues we were ran into
with adding RGW to rook.

Specificaly, libcurl is now built from source and removes the
dependency on openldap and other unused protocols. Boost, zlib,
libblkid, and libuuid are now also built from source. More packages
will be added in the future to complete this approach.

The build container is now based on the yakkety release of ubuntu.
2016-11-28 09:10:43 -08:00
Bassam Tabbara 0216acaa84 build: fix static builds
restructure the build tags and installsuffix usage for golang
to build our projects correctly for static and dynamic builds.
2016-11-16 14:11:29 -08:00
Bassam Tabbara 0aac00ff79 build: use netgo build tag for static builds
pass netgo build tag just for static builds. this required a refactoring of build flags to avoid passing netgo to non-static packages.

Fixes #80
2016-11-14 12:54:02 -08:00
Bassam Tabbara b3c4f18c89 initial docs and licensing 2016-11-07 17:13:39 -08:00
Bassam Tabbara 9b409a444c pickup new updated ceph from rook/ceph 2016-10-28 20:45:59 +02:00
Bassam Tabbara 7da39894c0 rename castle to rook
switched to using quay.io for all containers -- we are no longer
publishing to hub.docker.com.
2016-10-27 13:42:03 +02:00
Bassam Tabbara d7c9d41f04 use rsync to speedup build on macOS
we know use rsync to sync sources to the build container
and avoid osxfs which is painfully slow. the macOS/docker
build now is on par with linux builds
2016-10-18 17:55:36 -07:00
Travis Nielsen 3c9b4e52df print code coverage with tests 2016-10-18 09:01:42 -07:00
Bassam Tabbara f9ace65a79 make castle go gettable
changed the cmd/castlectl pacakge to not have a main function and
added main.go at the root of the tree. this makes the whole
project go gettable.

also fixed a number of makefile issues to deal with go files in the
root of the tree.
2016-10-17 17:07:27 -07:00
Bassam Tabbara c7c64f83a5 improve support for building on the macOS
numerous path fixes in makefiles.

now using a cross-build volume for docker to avoid running heavy I/O paths on docker's osxfs which is super slow.
2016-10-17 10:43:23 -07:00
Bassam Tabbara c1dca04423 Use alpine linux in all containers
We know use alpine linux in containers to bring a few tool
dependencies we need including lsblk and others.

We know generate ACIs from docker containers instead of
creating ACIs with acbuild.
2016-10-14 17:02:38 -07:00
Bassam Tabbara 9ac4a77289 add a vagrant demo file for CoreOS
added a demo vagrant file that starts a bare CoreOS cluster
and runs castle on it.
2016-10-13 17:30:45 -07:00
Bassam Tabbara c89025c913 upload container to quay.io
upload our containers to quay.io where they are automatically
converted to ACIs for use by rkt. Partially addresses #50

remove github-release as it was being flaky.
2016-10-12 21:17:20 -07:00
Bassam Tabbara 76666ba508 support for release builds
This commit adds support for build release artifacts and
publishing them. Currently we support binaries that are published
to github release, docker containers that go to hub.docker.com,
and rkt ACIs (which are not currently published).
2016-10-12 10:34:16 -07:00
Bassam Tabbara 0c30d20386 Simplify Makefile to support cross compiling
Makefile has been simplified to take advantage of incremental
build support in golang, and to setup for cross compiling.
2016-10-10 15:35:38 -07:00