← Back to use cases

Automation

Designing an open-source CI tool to simplify GitOps with Spinnaker

Who the client is

A company with DevOps teams interested in using original Spinnaker and automated CI/CD pipelines. The goal was an open-source tool for DevOps teams that implement a GitOps workflow with Spinnaker, saving time and minimizing effort while creating complex CI scenarios.

The challenge

Creating complex CI scenarios in Spinnaker took time and human effort. A GitOps workflow needed Spinnaker resources kept as code, with shared parts reusable across pipelines, changes reviewed and tested before they apply, a tracked history and an easy way to revert, across every Spinnaker version.

What was at risk:

  • Slow pipeline creation and human effort spent on every complex CI scenario

What we did

  • Provided expertise in DevOps, automation and deploying CI/CD pipelines.
  • Created the core functionality of Floodgate.
  • Created a rendering mechanism enabling the use of Jsonnet with external libraries.
  • Applied the configuration-as-code approach, making Spinnaker-as-a-Code a reality.
  • Open-sourced the code on GitHub (github.com/codilime/floodgate).
  • Moderated the Floodgate code repository.

How it works

Floodgate keeps Spinnaker resources as Jsonnet code and applies them through a GitOps workflow, in three parts.

  1. Rendering A rendering mechanism enables the use of Jsonnet with external libraries, such as Sponnet.
  2. Resources in Jsonnet Shared parts of pipelines work as a reusable library, public pipeline libraries like Sponnet plug in, and a resource dependencies graph orders the resources.
  3. Configuration as code CI pipelines test changes in pipelines and templated pipelines, configuration changes are reviewed, history is tracked, and a revert is easy.

Outcomes

  • Business

    Faster to real usage

    Floodgate cut the time from pipeline creation to real usage in Spinnaker.

  • Technical

    Configuration as code

    Pipelines are tested in CI, changes reviewed, history tracked and reverts easy, reducing human effort for complex CI scenarios.

  • Made possible

    All Spinnaker versions

    The open-source tool works with every version of Spinnaker.

Tech & stack

  • Go
  • Jsonnet
  • Spinnaker
  • Sponnet

Anonymized example — fuller write-up available on request.

Ready to modernize?

Tell us where your data center is today, and we’ll take it from there — all the way to AI-ready.