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

3 Common Spinnaker Challenges (and Easy Ways to Solve Them)

Sep 27, 2022

Spinnaker is the most powerful continuous delivery tool on the market.  DevOps engineers and developers recognize this power and are looking to use Spinnaker as a foundational tool in their Continuous Integration and Continuous Delivery (CI/CD) process for hybrid and multi-cloud deployments. Such a powerful, expansive open source tool needs expertise within your organization to […]

Read more

Streamline Advanced Kubernetes Deployments from GitHub Actions with New Armory Service

Sep 23, 2022

Today, Armory is excited to announce the availability of the GitHub Action for Armory Continuous Deployment-as-a-Service. GitHub is where developers shape the future of software. After a developer writes and tests their code in GitHub, it must be deployed. Armory’s GitHub Action for Continuous Deployment-as-a-Service extends the best-in-class deployment capabilities to Kubernetes. CD-as-a-Service enables declarative […]

Read more

When everyone is facing the same headwind, go on the offensive

Sep 12, 2022

Call me Pollyanna, but what a great time to be a Platform or DevOps engineer. If you’re working in a public company, the S&P is off ~20% year over year, so the value of your RSUs has wilted. If you’re working in a private company, venture funding and M&A velocity are anemic, making expansion capital […]

Read more