Automate easier and build pipelines in Gaia
Why should you program in a language you hate or write endless YAML-code? We take a look at the new automation platform on the scene: Gaia. Currently in its alpha stage, Gaia already promises ease of use, a user-friendly graphical output, and support for various programming languages.
Automation should be easier. That’s an obvious, yet bold statement. But how?
Gaia is a new open source automation platform for building pipelines in an array of programming languages. Founded by SRE/Ops/Developer Michael Vocks, it is currently in its alpha stages, so be warned: do not use Gaia for any critical jobs just yet.
Despite being in alpha stage, Gaia is fleshed out and powerful. It clones your code repo, compiles it to binary, executes it on-demand, and streams it back to a sleek looking graphical output.
Let’s see what makes this platform special!
From GitHub, here’s the basics on how Gaia does its job:
Gaia is based on HashiCorp’s go-plugin. It’s a plugin system that uses gRPC to communicate over HTTP2. HashiCorp developed this tool initially for Packer but it’s now heavily used by Terraform, Nomad, and Vault too.
Pipelines can be written in any programming language (gRPC support is a prerequisite) and can be compiled locally or simply over the build system. Gaia clones the git repository and automatically builds the included pipeline.
After a pipeline has been started, all log output from the included jobs are returned back to Gaia and displayed in a detailed overview with their final result status.
Gaia uses boltDB for storage. This makes the installation step super easy. No external database is currently required.
All of these features combine for a user-first experience. Did we mention speed? Gaia is fast and lightweight. (Who has time to be bogged down by unnecessary features?)
Since you can choose your programming language, you can stick to your old favorite. So whether you have a firm grasp on Go and won’t let anyone take your love for the gopher away from you, or if you love the classics like Java, Gaia doesn’t force. In the future, additional supported languages chosen by the community will be added. Let your voice be heard and make a stand for your favorite to be the newest one.
(If Go is your weapon of choice, there’s some examples already up to browse.)
On Gaia’s GitHub page, the motivation for its creation is described as a “back to the roots” approach. Automation tools often make developers jump through time-consuming hurdles. Between being forced to write YAML-code, using outdated libraries, and writing in your least favorite programming language, there needed to be a new solution that appealed to DevOps, cloud engineers, platform engineers, SRE, and automation engineers.
Give Gaia a go!
Check out GitHub for some sample screenshots and see just how sleek this platform is and the simplicity of starting a new pipeline. (Appreciate that charcoal grey too! Why isn’t night mode the default on more UIs?)
Installation is just an easy command in Docker, or it can be installed manually onto your host system. Why not check it out? If you like what you see, be sure to give feedback to its founder and star the repo for more exposure. And remember, Gaia is in alpha, so features will be added in the future, including unit- and integration tests.
Of course, Gaia is searching for contributors to help the project grow. Browse issues, solve other users’ problems, and help enhance this repo.
There is also a Gitter for questions and help. Happy pipeline building!