DC/OS

DC/OS configuration for Spinnaker consists of a set of DC/OS clusters and a set of Accounts that have credentials to authenticate to one or more of those clusters. Additionally, each account has a set of Docker Registry accounts to be used as a source of images.

Prerequisites

DC/OS Cluster

You need to have a DC/OS cluster running version 1.8 or greater. This setup guide assumes the use of Enterprise DC/OS as the authentication methods described below are only supported in the that version. The provider may work with the open-source DC/OS but only if authentication is disabled. However, it has not been extensively tested.

Docker Registries

Follow the steps under the Docker Registry provider to add any registries containing images you want to deploy. If you have already done so, you can verify that these accounts exist by running:

hal config provider docker-registry account list

Set up the DC/OS provider

First, enable the provider:

hal config provider dcos enable

Next we need to add our DC/OS cluster:

hal config provider dcos cluster add my-dcos-cluster \
    --dcos-url $CLUSTER_URL \
    --skip-tls-verify 
    # For simplicity we won't worry about the
    # certificate for the cluster but this would not be recommended
    # for a production deployment

Create a Spinnaker account that has credentials for the cluster. The credentials can either be for a service account or a user account.

If you are using a service account:

hal config provider dcos account add my-dcos-account \
    --cluster my-dcos-cluster \
    --docker-registries my-docker-registry \
    --uid $DCOS_SERVICE_ACCOUNT \
    --service-key-file $PATH_TO_PRIVATE_KEY

If you are using a user account:

hal config provider dcos account add my-dcos-account \
    --cluster my-dcos-cluster \
    --docker-registries my-docker-registry \
    --uid $DCOS_USER \
    --password $DCOS_PASSWORD

Note: Make sure that your DC/OS user has permission to deploy applications under a group in Marathon named after the Spinnaker account name (e.g. /my-dcos-account)

Advanced Account Settings

If you are looking for more configurability, please see the other options listed in the Halyard Reference for adding accounts and clusters.