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 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 is the interactive User Interface for visualizing the state of cloud resources. Deck depends on Gate to interact with the cloud providers.
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 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 is an API which communicates with Jenkins. It takes data from Jenkins then turns the data actionable within Spinnaker.
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 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
A day in the life of a TAM
I’ve been asked what a Technical Account Manager (TAM) does so I wanted to take the opportunity to illustrate it by walking through a standard day in the life. Before we can look at what a day in a life of a TAM is, I should provide some background in what is a TAM and […]
Read more →
Nikema’s Spinnaker Summit 2021 Recap
My Second Spinnaker Summit is in the Books! Last week I attended and spoke at my second Spinnaker Summit. Like last year’s summit, it was fully virtual. This time Spinnaker Summit was co-located with cdCon and took place on the Hopin platform. Last year, I spoke on a panel about Black professionals a few months […]
Read more →
Announcing General Availability of Armory Policy Engine Plugin
Armory Policy Engine provides support for automating policy compliance with Spinnaker. Policy Engine Plugin is the latest version of Policy Engine and adds support for both advanced role-based access control (RBAC) use-cases and open source Spinnaker. The release of Policy Engine Plugin comes with new documentation, including a library of example policies from across Armory’s […]
Read more →