Skip to main content

Spinnaker Sub-Services: Clouddriver, Deck, Echo, Gate, Igor, Orca, Rosco, Armory Lighthouse

Apr 28, 2017 by Armory

Spinnaker is a collection of sub-services that work together to form the Continuous Deployment platform.

Each service follows the single-responsibility principle which allows for faster iteration on each individual component and a more pluggable architecture for custom components.

However, this means that standing up the OSS version of Spinnaker as well as upgrading it can be convoluted due to having to install, configure and upgrade each service manually. Armory Spinnaker’s distribution of enterprise Spinnaker is designed to make Spinnaker easily upgradable.

Below is the list of each sub-service and a short explanation of what it does:

  • Clouddriver

Clouddriver is a core component of Spinnaker which facilitates the interactions between a given cloud provider such as AWS, GCP or Kubernetes. There is a common interface that is used so that additional cloud providers can be added.

  • Deck

Deck is the interactive User Interface for visualizing the state of cloud resources. Deck depends on Gate to interact with the cloud providers.

  • Echo

Echo is the service for Spinnaker which manages notifications, alerts and scheduled pipelines (Cron). It can also propagate these events out to other REST endpoints such as an Elastic Search, Splunk’s HTTP Event Collector or a custom event collector/processor.

  • Gate

Gate is the front-end API that is exposed to the users of your Spinnaker instance. It also manages authentication and authorization for sub-service APIs and resources with Spinnaker. All communication between the User Interface and the back-end services happen through Gate.

  • Igor

Igor is an API which communicates with Jenkins. It takes data from Jenkins then turns the data actionable within Spinnaker.

  • Orca

Orca is responsible for the orchestration of pipelines, stages and tasks within Spinnaker. It acts as the “traffic cop” within Spinnaker making sure that sub-services, their executions and states are passed along correctly.
The smallest atomic unit within Orca is a task – stages are composed of tasks and pipelines are composed of stages.

  • Rosco

Rosco is the “bakery” service. It is a wrapper that uses Hashicorp’s Packer command line tool which bakes images for AWS, GCP, Docker, Azure, and other builders.

  • Armory Lighthouse

Lighthouse is a small, lightweight service written by Armory and is part of Armory Spinnaker’s distribution. Its job is to monitor the health of the Spinnaker sub-services, taking action when needed. Additionally, Lighthouse provides functionality for upgrading the Spinnaker sub-services.

Recently Published Posts

October 26, 2021
|
by Stephen Atwell

How to Take the Pain of Rollbacks out of Deployments

  Software applications have become an integral part of the business climate in most modern organizations. With an ever-increasing demand for new features and enhancement of already-existing ones, software teams constantly face novel challenges, and the pace of software development is growing by the day. To keep up with this fast-paced business climate, software teams […]

Read more

October 20, 2021
|
by Jason McIntosh

Monitoring Spinnaker: Part 1

Overview One of the questions that comes up a lot is how you monitor Spinnaker itself.  Not the apps Spinnaker is deploying, but Spinnaker itself and how it’s performing.  This is a question that has a lot of different answers. There are a few guidelines, but many of the answers are the same as how […]

Read more

October 18, 2021
|
by David Morgenthaler

The Importance of Patents: Interview with Nick Petrella, Head of Legal

    In honor of Armory’s recent acquisition of a patent for continuous software deployment, we sat down with Nick Petrella, Head of Legal, for a casual conversation covering a wide range of subjects, from patent law to Nick’s background as a software engineer and why he made the leap to the law. Check out […]

Read more