With the Spinnaker Operator, define all the configurations of Spinnaker in native Kubernetes manifest files, as part of the Kubernetes kind “SpinnakerService,” defined in its own Custom Resource Definition (CRD). With this approach, you can customize, save, deploy, and generally manage Spinnaker configurations in a standard Kubernetes workflow for managing manifests. No need to learn a new CLI like Halyard, or worry about how to run that service.
The Spinnaker Operator has two flavors to choose from, depending on which Spinnaker you want to use: Open Source or Armory.
With the Spinnaker Operator, you can:
- Use “kubectl” to install and configure a brand new Spinnaker (OSS or Armory).
- Take over an existing Spinnaker installation deployed by Halyard and continue managing it with the Operator going forward.
- Use Kustomize or Helm Charts to manage different Spinnaker installations.
- Use Spinnaker profile files to provide service-specific configuration overrides (the equivalent of clouddriver-local.yml, gate-local.yml, etc.)
- Use Spinnaker service settings files to tweak the way Deployment manifests for Spinnaker microservices are generated.
- Use any raw files needed by configs in the SpinnakerService manifest (i.e. packer templates, support config files, etc.)
- Safely store secret-free manifests under source control, since a SpinnakerService manifest can contain references to secrets stored in S3, GCS or Vault (Vault is Armory only).
Additionally, Spinnaker Operator has some exclusive new features not available with other deployment methods like Halyard:
- Spinnaker secrets can be read from Kubernetes secrets.
- Spinnaker is automatically exposed with Kubernetes service load balancers (optional).
- Generated Kubernetes manifests for Spinnaker services can be fully customized by json patches as part of SpinnakerService configuration.
Experimental: Accounts can be provisioned and validated individually by using a different SpinnakerAccount manifest, so that adding new accounts involves creating a new manifest instead of having everything in a single manifest.