Open Sourcing our CLI

by Marian Steinbach on Sep 2, 2015

<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >Open Sourcing our CLI</span>

We are pleased to announce that our ‘swarm’ command line interface (CLI) has been Open Sourced under the Apache 2.0 License!

We are also Open Sourcing all the tooling depended on by the CLI, including builder, a tool written in Go, and our Go client library, client-go which can be used to talk to the the Giant Swarm API with Go-based projects.

The reasons for putting an Open Source license on these tools are:

We want infrastructure to be open, transparent and trustworthy. We believe in the basic right of equal compute infrastructure for all people. Open Source software ensures a robust ecosystem, drives long term innovation and to helps commoditize the core operating system for all processes, wherever they are located.

We want you to have access to adaptable software. Software products can become a better fit for a user if they are able to adapt the features to their specific infrastructure needs.

We want you to learn by example. Our source code serves as the perfect example of how to use our APIs and, if you code in Go(lang), our client library will get you talking to our APIs faster than you can say “Aller Anfang ist schwer”, which roughly means “all beginnings are hard” in German.

We want your contributions. We value our user’s feedback, bug reports, feature requests, opinions, and pull requests. Open Sourcing things allows you to participate and contribute right where all the important stuff gets done: GitHub.

So, without much further ado, here are the direct links to our new Open Source repositories:

  • cli - the command line interface (CLI) we call ‘swarm’.
  • client-go - the Go client library used by the CLI to communicate with our API.
  • builder - a tool to create and push Docker images, automate builds (to build the CLI, for example), manage dependencies and tag git repos.
  • user-config - Go code to handle the Giant Swarm service definition.
  • app-def-transf-go - migration code for our earlier service definition format.

Let the PR karma flow. And may the Source be with you!