Spinnaker (Deprecated)
Deprecated Tool
Spinnaker is no longer used in Fawkes. This documentation is retained for historical reference only.
**Migration Path**: Use [ArgoCD](https://argo-cd.readthedocs.io/) for GitOps-based continuous delivery.
See the migration guide below for transitioning from Spinnaker to ArgoCD.
Migration from Spinnaker to ArgoCD
Fawkes has migrated from Spinnaker to ArgoCD for the following reasons:
- GitOps-First: ArgoCD provides native GitOps workflows with Git as the single source of truth
- Simplicity: Simpler architecture with lower operational overhead
- Kubernetes-Native: Built specifically for Kubernetes deployments
- Integration: Better integration with Grafana, Prometheus, and the observability stack
- Cost: Lower infrastructure and maintenance costs
How to Migrate
From Spinnaker Pipelines to ArgoCD Applications
Spinnaker Pipeline (Old):
{
"name": "Deploy to Production",
"stages": [
{
"type": "deployManifest",
"cloudProvider": "kubernetes",
"manifests": [...]
}
]
}
ArgoCD Application (New):
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app-prod
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/your-org/my-app.git
targetRevision: main
path: k8s/overlays/production
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true
Progressive Delivery with Argo Rollouts
For canary and blue-green deployments (previously done in Spinnaker):
Argo Rollout:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: my-app
spec:
replicas: 5
strategy:
canary:
steps:
- setWeight: 20
- pause: { duration: 5m }
- setWeight: 40
- pause: { duration: 5m }
- setWeight: 60
- pause: { duration: 5m }
- setWeight: 80
- pause: { duration: 5m }
template:
spec:
containers:
- name: my-app
image: my-app:v2.0.0
Migration Steps
- Install ArgoCD (if not already installed)
- Create ArgoCD Applications for existing Spinnaker pipelines
- Configure automated sync policies
- Test deployments in development environment
- Migrate production workloads incrementally
- Decommission Spinnaker after full migration
Resources
- Onboard Service to ArgoCD - Start here: Step-by-step migration guide
- Sync ArgoCD Application - Manual and automated sync workflows
- ArgoCD Documentation - Official ArgoCD docs
- Argo Rollouts - Progressive delivery
Historical Documentation (Deprecated)
The content below is retained for historical reference only and should not be used for new deployments.

Spinnaker is an open-source continuous delivery platform that helps you release software changes with high velocity and confidence.
Overview
Spinnaker provides two core sets of features:
- Application Management - Deploy and manage cloud resources
- Application Deployment - Construct and manage continuous delivery workflows
Key Features
| Feature | Description |
|---|---|
| Deploy to multiple cloud providers | |
| Create complex deployment workflows | |
| Automated testing in production | |
| Quick recovery from failed deployments |
Integration with Fawkes
Prerequisites
- Kubernetes cluster
- Helm v3
- kubectl configured with cluster access
Installation
# Add Spinnaker Helm repository
helm repo add spinnaker https://helmcharts.opsmx.com/
helm repo update
# Install Spinnaker
helm install spinnaker spinnaker/spinnaker \
--namespace spinnaker \
--create-namespace \
--values values.yaml
Example values.yaml:
spinnakerConfig:
profiles:
clouddriver:
kubernetes:
enabled: true
accounts:
- name: fawkes-cluster
requiredGroupMembership: []
providerVersion: V2
permissions: {}
dockerRegistries: []
configureImagePullSecrets: true
cacheThreads: 1
namespaces: []
omitNamespaces: []
kinds: []
omitKinds: []
customResources: []
Using Spinnaker with Fawkes
Creating a Deployment Pipeline
- Navigate to Spinnaker UI
-
Create a new application:
-
Name:
fawkes-app - Owner Email:
team@fawkes.io -
Cloud Providers:
Kubernetes V2 -
Create a deployment pipeline:
{ "name": "Deploy to Production", "stages": [ { "type": "deployManifest", "name": "Deploy Application", "cloudProvider": "kubernetes", "account": "fawkes-cluster", "source": "text", "manifests": [ { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "fawkes-app" }, "spec": { "replicas": 3 } } ] } ] }
Best Practices
-
Pipeline Templates
-
Use pipeline templates for consistency
- Version control your templates
-
Share common deployment patterns
-
Security
-
Enable RBAC
- Use service accounts
-
Implement least privilege access
-
Monitoring
- Configure pipeline notifications
- Monitor pipeline executions
- Set up alerting for failures
Troubleshooting
Common issues and solutions:
| Issue | Solution |
|---|---|
| Pipeline fails to start | Check Spinnaker service account permissions |
| Manifest deployment fails | Verify Kubernetes cluster connectivity |
| Images not found | Confirm container registry configuration |