Skip to content
This repository has been archived by the owner. It is now read-only.
The legacy Giant Swarm CLI, also known as `swarm`
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cli Don't expose endpointPattern Nov 4, 2015
completion/zsh fixed completion files Aug 10, 2015
config Reverting some over-eager boyscouting Nov 4, 2015
create
dist fixed dist/Dockerfile Feb 22, 2015
docker-utils added lisence file Aug 5, 2014
env Replaced errgo.Mask with maskAny Jun 30, 2015
ids Simplifying a bit Nov 4, 2015
int-tests More fixes Dec 21, 2015
registry Fixed build after docker change Jan 14, 2016
user fixed compiling Feb 10, 2016
versioncheck Made info & version command cope better with lack of internet Dec 17, 2015
.gitignore
CONTRIBUTING.md Update CONTRIBUTING.md Sep 1, 2015
LICENSE Add license Aug 31, 2015
Makefile make publish: Use VERSION instead of swarm binary. Apr 1, 2016
README.md Add discontinuation notice Mar 14, 2018
VERSION version: bump to 0.27.0+git Apr 1, 2016
ansi.go separated client library from cli May 14, 2014
bash_completion_template.go added migrate to local commands list Aug 10, 2015
cat.go
completion.go Replaced errgo.Mask with maskAny Jun 30, 2015
create.go Added specific tracking activities Dec 17, 2015
crosscompile.sh use sha256 Apr 11, 2016
delete.go Added specific tracking activities Dec 17, 2015
env.go Preserve tracking info on `swarm env` Jan 4, 2016
errors.go Replaced errgo.Mask with maskAny Jun 30, 2015
exec.go Added specific tracking activities Dec 17, 2015
help.go Fixed usage after cobra change Sep 11, 2015
id.go request/client id Aug 14, 2015
info.go Merge pull request #534 from giantswarm/tracking-headers Dec 21, 2015
list.go Added specific tracking activities Dec 17, 2015
login.go fixed compiling Feb 10, 2016
logout.go Added specific tracking activities Dec 17, 2015
logs.go Added specific tracking activities Dec 17, 2015
main.go Preservice tracking info after login Jan 4, 2016
org.go Added specific tracking activities Dec 17, 2015
ping.go
scale_down.go Added specific tracking activities Dec 17, 2015
scale_up.go Added specific tracking activities Dec 17, 2015
start.go Added specific tracking activities Dec 17, 2015
stats.go Added specific tracking activities Dec 17, 2015
status.go Added specific tracking activities Dec 17, 2015
stop.go Added specific tracking activities Dec 17, 2015
swarmvars.json changed environment Aug 25, 2014
test.sh renamed dockzero to giantswarm and dock to env Jul 3, 2014
up.go Added specific tracking activities Dec 17, 2015
update.go Merge pull request #534 from giantswarm/tracking-headers Dec 21, 2015
user.go Added specific tracking activities Dec 17, 2015
utils.go print one dot per second if the output is not a terminal Nov 27, 2015
version.go Merge pull request #534 from giantswarm/tracking-headers Dec 21, 2015

README.md

This repository is discontinued

We no longer maintain this repository. The latest Giant Swarm command line interface can be found here:

https://github.com/giantswarm/gsctl


This is the swarm CLI command, used to deploy and manage Giant Swarm applications. These build instructions are for Linux and OSX. If you want to run swarm on Windows, you may do so in a Docker container.

Prerequisites

The following tools need to be installed before you can configure the swarm client:

golang

To install go locally on OS X:

brew install go

If you don't have brew installed, head on over to http://brew.sh.

Build and Install

To begin, you'll need to check out the current version of the CLI from Github:

git clone https://github.com/giantswarm/cli.git

Now change into the CLI's directory:

cd cli

Finally, you can build it:

make

The resulting swarm binary will be located in the main directory when the build is done.

Running Cram Tests

Cram Tests check if commands produce the expected output.

On Mac OS X

On OS X, you'll need a to make sure to build the swarm binary for Linux specifically, since the tests are run in a Docker container. Since make on OS X creates an OS X binary, use this command for the build instead:

GOOS=linux make

Next, pick a cluster to run the test services on:

export SWARM_CLUSTER_ID=<cluster-id>

Start the tests:

  • make run-int-tests (for a good sub-set of tests) or
  • make run-full-int-tests (for all tests)

On Linux

Pick a cluster to run the test services on:

export SWARM_CLUSTER_ID=<cluster-id>

Start the tests:

  • make run-int-tests (for a good sub-set of tests) or
  • make run-full-int-tests (for all tests)

CLI Usage

Call the CLI in either of these ways to find out more about the supported commands:

  • swarm
  • swarm help
  • swarm -h

Checkout the CLI reference documentation for all details.

Building a Release

Step 1

Test the cli locally:

make clean
make
export SWARM_CLUSTER_ID=<your-test-cluster>
make run-full-int-tests
make run-test-apps

Step 2

Release the cli:

builder release major|minor|patch

Step 3

Switch git to newly created tag:

git checkout <new-version-tag>

Step 4

Cross compile to compile binaries for all supported platforms and architectures.

make crosscompile

Results are found in the release folder.

Step 5

Re-test (see step 1)

Step 6

Deploy the release. This will upload the binaries to S3 and update the swarm-homebrew git repo.

Have your AWS credentials with access to the S3 bucket downloads.giantswarm.io ready.

aws configure
# interactively enter your AWS credentials


make publish
You can’t perform that action at this time.