Front50: Cassandra to Object Store (S3, Azure, or GCS)

    Cassandra is no longer an actively maintained or supported persistence store.

    A migration to S3, GCS, or AZS is recommended.

    Make up a bucket name (or account name if using Azure) that is consistent with the naming policies for the underlying storage service. For purposes of this document, we’ll pick ${USER}-spinnaker since many storage services (including Amazon S3, Google GCS, and Azure AZS) require globally unique names.

    Make up a folder name within the bucket. The default is “front50”. Spinnaker will store all the objects within this folder. The folder name will be used for configuration and managed by Spinnaker. You do not need to physically create the folder.

    Note that currently only Amazon Simple Storage Service (S3), Google Cloud Storage (GCS), or Azure Storage (AZS) are supported, and they are mutually exclusive. Pick only one. This is independent of where you are actually running Spinnaker.

    See Amazon’s Documentation for more information.

    To enable versioning on an existing bucket, follow steps.

    B. Create the bucket in GCS

    If you wish to use GCS as the storage service, Spinnaker can automatically create the bucket (with versioning) for you if it has the right OAuth scopes (Storage Admin). To create it yourself you are best off using the . Using , also turn on versioning within the bucket.

    If you wish to use Azure Storage, Spinnaker can automatically create the container and root folder (with versioning). Follow instructions to create a storage account and make sure to note the storage account name and a key.

    2. Disable Cassandra in spinnaker-local.yml

    1. front50:
    2. cassandra:
    3. enabled: false

    A. Enable S3

    If you wish to use S3 as the storage service, set the following:

    For more information about credentials and obtaining a JSON credentials file, see the discussion on Service Accounts

    1. services:
    2. storage_bucket: YOUR_GCS_BUCKET_NAME (From Step #1)
    3. bucket_root: YOUR_GCS_FOLDER_NAME (From Step #1)
    4. gcs:
    5. enabled: true
    6. project: SEE NOTE
    7. jsonPath: SEE NOTE

    C. Enable AZS

    If you wish to use Azure Storage, set the following:

    4. Export existing applications, pipelines, strategies, notifications and projects

    Replace “FRONT50_HOSTNAME” and “FRONT50_PORT” and run the following (“localhost” and “8080” are the defaults):

    1. #!/bin/sh
    2. rm applications.json
    3. curl http://FRONT50_HOSTNAME:FRONT50_PORT/v2/applications | json_pp > applications.json
    4. rm pipelines.json
    5. curl http://FRONT50_HOSTNAME:FRONT50_PORT/pipelines | json_pp > pipelines.json
    6. rm strategies.json
    7. curl http://FRONT50_HOSTNAME:FRONT50_PORT/strategies | json_pp > strategies.json
    8. rm notifications.json
    9. curl http://FRONT50_HOSTNAME:FRONT50_PORT/notifications | json_pp > notifications.json

    Run sudo restart front50

    6. Import Applications, Pipelines, Strategies, Notifications and Projects

    Replace “FRONT50_HOSTNAME” and “FRONT50_PORT” and run the following (“localhost” and “8080” are the defaults):