Install Saturn Cloud Yourself
Overview
This page describes how to perform a manual installation of Saturn Cloud into your own AWS account. The instructions below assume a bash
-compatible shell is in use.
Preparation
In order to follow these instructions, you will need the following:
- Console access to your AWS account.
- Permission in your AWS account to create IAM roles and/or permission to create CloudFormation stacks.
- A place to run Docker containers from (either an SSH session to a machine with docker access, or docker running locally) that has a persistent disk. This location must have internet access, as well as either AWS credentials or an IAM role assigned (if running from an EC2 instance).
Installation
Step 1. Sign up for Saturn Cloud
To begin the signup process, visit the Saturn Manager.
Once installed, Your Saturn Cloud installation will be hosted at “app.{orgname}.saturnenterprise.io”, so the company name will be converted into a valid DNS name.
The Manager will direct you to the AWS Marketplace, where you can subscribe to Saturn Cloud.
Step 2. Create your installation configuration
Contact support@saturncloud.io. We will help you generate your installation configuration. It will look something like this:
customer_authorization_token: ...
external_id: ...
org_name: ...
region: ...
admin_email: ...
is_enterprise: true
aws_account_id: ...
skip_vpc: true
vpc_id: ...
private_subnets:
- ...
- ...
public_subnets:
- ...
- ...
worker_subnets:
- ...
internal_lb: true
populate_examples: true
image_metadata_bucket: saturn-image-metadata
public_cluster_allow_list:
- ...
Store this in an empty directory, with the file name config.yaml
Step 3. Create the installation Role
You can create the role for the Saturn installation via a CloudFormation stack. If you are installing Saturn yourself - this probably means you will want to modify the cloud formation template to adjust the trust relationship. Please contact us if you need assistance doing so.
Step 4.
Set up a few environment variables in your bash shell.
export INSTALLER_TAG=...
export DATA_DIR=....
export AWS_AUTH_VARS=...
We will provide you with the INSTALLER_TAG
, which will point to the latest version of our Installer. DATA_DIR
should point to a directory on disk where you’ve written the config.yaml
from Step 2. AWS_AUTH_VARS
is a set of docker cli args that will authenticate the docker container with IAM credentials.
AWS_AUTH_VARS
If you’ve signed in via
aws configure
and have an~/.aws/config
file that contains credentials:export AWS_AUTH_VARS="-v ${HOME}/.aws:/root/.aws"
If you have
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
, andAWS_DEFAULT_REGION
set:export AWS_AUTH_VARS="-e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_DEFAULT_REGION"
If running from an EC2 instance with an assigned IAM role, then
AWS_AUTH_VARS
isn’t necessary. Set it to an empty string.export AWS_AUTH_VARS=""
5. Run the installer
docker run --rm -it -v ${DATA_DIR}:/sdata ${AWS_AUTH_VARS} saturncloud/saturn-aws:${INSTALLER_TAG} python saturn_aws/scripts/main.py install
This will take some time - typically 15-45 minutes. If you encounter errors, contact us and we will help debug. When installation completes successfully, you will receive an email instructing you to reset your password for the admin
account on your new Saturn deployment.
6. Backup the configuration files to S3
docker run --rm -it -v ${DATA_DIR}:/sdata ${AWS_AUTH_VARS} saturncloud/saturn-aws:${INSTALLER_TAG} python saturn_aws/scripts/main.py backup
That’s it! You’ll receive an email shortly with instructions for how to log in to Saturn
Need help, or have more questions? Contact us at:
- support@saturncloud.io
- On Intercom, using the icon at the bottom right corner of the screen
We'll be happy to help you and answer your questions!