Using S3 with Spinnaker instead of Cassandra Backend

Aug 22, 2016 by Ben Mappen

Cassandra is used by Spinnaker to persist pipelines configuration and cluster information. While Cassandra may suit your needs it might be overkill for POCs or early development phases where the number of configurations and continuous deployments are small. While Spinnaker can be configured to have an Amazon S3 backend, it’s not always trivial to setup.

You might find an error in the front50 log that looks like the following:

org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.netflix.spinnaker.front50.model.pipeline.PipelineDAO] is defined: expected single matching bean but found 2: pipelineRepository,s3PipelineDAO

Setting an Active Spring Profile

Spinnaker heavily relies on the Spring framework. The Spring framework expects there only one object that matches the interface for a backend repository.

You can change the default options passed into spinnaker by editing the defaults file for spinnaker /etc/default/spinnaker

in there you can change the default active profile by setting the java front50 options to the following:

FRONT50_OPTS="-Dspring.profiles.active=s3"

Another common mistake is that folks forget to disable Cassandra in their front50.yml which you can find at /opt/spinnaker/config. Make the following change:

    enabled: false```
Hope these changes help!
If you haven't heard of Spinnaker, its a next generation cloud deployment tool originally built by Netflix and subsequently open-sourced.  It's best know for continuous delivery at Netflix and helping them achieve more than 4,000 deployments/day.  It's currently being contributed to by over 30 developers from Google, Pivotal, Netflix, Veritas and Microsoft.

Recently Published Posts

Spinnaker Tips: Setting a github status check on a PR from a pipeline

Oct 12, 2023

A common situation we hit is creating a pull request on github with some terraform changes that are run through our pipelines. We’d like to verify the terraform changes cleanly “plan” before we apply them. An example is when someone has a typo (how many times I’ve left dangling commas in a JSON object!) and […]

Read more

Introducing Pipelines-as-Code Plugin for Open Source Spinnaker

Jul 21, 2023

Easily Scale and Automate with Version Control in Git Developers choose best-of-breed version control systems like GitHub for a reason: they need the ability to collaborate and improve code together.  But a broken Spinnaker deployment pipeline can often be the last thing standing in the way of getting your application to market.  Until now. Armory’s […]

Read more

What is FedRAMP and Why It Matters

Jun 8, 2023

What’s FedRAMP? Federal Risk and Authorization Management Program (FedRAMP) is a government-wide program that provides a standardized approach to security assessment, authorization, and continuous monitoring for cloud products and services. FedRAMP is important since it’s the gold standard for assessing cloud service providers (CSP) within the government. Under this program, authorized FedRAMP cloud service providers […]

Read more