Command line client for Carina™
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
client
cmd
common
console
internal/testhelpers
magnum
make-coe
makeswarm
script
version
.dockerignore
.gitignore
.travis.yml
Dockerfile.build
ISSUE_TEMPLATE.md
LICENSE
Makefile
README.md
config.toml
glide.lock
glide.yaml
main.go
myget.ps1
pre-myget.ps1
templates.go
test-kubernetes.sh
test-swarm.sh

README.md

Carina™ client

Travis Build Status MyGet Build Status

Create and interact with clusters on both Rackspace Public and Private Cloud.

Carina Constellation

See the official documentation and an overview of Carina.

Building

The build script assumes you're running go 1.7 or later. If not, upgrade or use something like gimme.

make

This creates carina in the current directory (there is no make install currently).

Make Targets

  • make: First run for newcomers.
  • make get-deps: Retrieves dependencies into the vendor/ directory using glide.
  • make validate: Run tools like fmt.
  • make test: Run unit tests.
  • make local: Build for the current dev env, using whatever dependencies that happen to be on the local machine.
  • make cross-build: The official build.

Editing libcarina

Here's how to work on libcarina and the cli at the same time locally:

  1. Run go get github.com/getcarina/libcarina.
  2. Make required changes to libcarina in $GOPATH/src/github.com/getcarina/libcarina.
  3. In $GOPATH/src/github.com/getcarina/carina, run rm $GOPATH/src/github.com/getcarina/carina/vendor/github.com/getcarina/libcarina so that Go will pickup your local edits, and not use the vendored version. Use make local to build. Don't use make as it will restore the vendored copy of libcarina, overriding your local changes.
  4. When everything is looking good, run make in $GOPATH/src/github.com/getcarina/libcarina to validate and format your changes.
  5. Submit a PR to libcarina and once it is merged to master, note the commit hash.
  6. In $GOPATH/src/github.com/getcarina/carina/glide.lock update the commit hash for libcarina. Make sure you are editing the libcarina package and not libmakeswarm. They are same repository, but represent different branches.
  7. In $GOPATH/src/github.com/getcarina/carina, run make and verify that libcarina is restored the right vendored commit hash and everything still works.

Releasing

Beta Builds

Here's how to release a beta build:

  1. Checkout the release branch: git checkout release/v2.0.0

  2. Create a tag for the beta release: git tag v2.0.0-beta.8 -a -m ""

  3. Push the tag: git push --follow-tags

  4. Watch the Travis CI build, and wait for a successful deploy.

  5. Validate the uploaded binary

    curl -sL https://download.getcarina.com/carina/beta/$(uname -s)/$(uname -m)/carina -o carina
    chmod +x carina
    ./carina --version
    # Should print the new version