Storage
Spinnaker requires a database for persisting your Application settings and configured Pipelines as well as execution history. A database is used for a few services (clouddriver, front50, orca). Because this data can be sensitive and can be costly to lose, we recommend you use a hosted storage solution you are confident in.
Supported databases
Spinnaker recommends MySQL/MariaDB or Postgresql. It’s recommended for most users to start with MariaDB/MySQL.
Services ship with mysql-connector-java by default. You can provide additional JDBC
connectors on the classpath if desired. MySQL/MariaDB is reported to work all the way
up to version 10 of MariaDB and the latest Aurora MySQL engines.
Before you deploy services, you need to manually create a database and user grants for each service. These are NOT automatically created when spinnaker services start. Note that the kustomize example on the install DOES create these as part of the mariadb init script .
Repeat these creation steps for echo, orca, clouddriver, fiat and front50 (and keel if using keel) replacing the database for each service
CREATE DATABASE `front50` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT
SELECT, INSERT, UPDATE, DELETE, CREATE, EXECUTE, SHOW VIEW
ON `front50`.*
TO 'front50_service'@'%' IDENTIFIED BY "password";
GRANT
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, LOCK TABLES, EXECUTE, SHOW VIEW
ON `front50`.*
TO 'front50_migrate'@'%' IDENTIFIED BY "password";
Configure the services
Configure the services (when not using the native mariadb component in kustomize) to use the SQL configuration passed above. AN example for mariadb:
sql:
enabled: true
connectionPools:
default:
default: true
# additional connection pool parameters are available here,
# for more detail and to view defaults, see:
# https://github.com/spinnaker/kork/blob/master/kork-sql/src/main/kotlin/com/netflix/spinnaker/kork/sql/config/ConnectionPoolProperties.kt
jdbcUrl: jdbc:mysql://mariadb:3306/fiat
user: fiat_service
password: ${FIAT_MARIADB}
migration:
jdbcUrl: jdbc:mysql://mariadb:3306/fiat
user: fiat_migrate
password: ${FIAT_MARIADB}
The default spinnaker-kustomize installation uses a component to auto inject these configurations into the targeted services.
Next steps
After you’ve set up your external storage service, you’re ready to deploy Spinnaker .