Quickstart

In order to get going with Snap CD do the following:

Create a User Account

Create a free user account on snapcd.io.

Create an Organization

On your first login you will be asked to create an organization. Pick a unique name. You user will automatically be set as an Owner on the organization.

(Optional) Pick a Subscription

By default your organization will be on the (free) Community subscription. You can upgrade this to a paid subscription at snapcd.io/Subscription at any time, which will give you higher limits, better support and access to Pay-as-you-Go. If you are interested in a more bespoke arrangement (e.g. dedicated infrastructure or fully self-hosted), please contact us.

(Optional) Invite Users to Your Organization

A single snapcd.io user account can belong to any number of Organizations. You may invite new or existing users to join your organization and assign roles to them as needed. For example: you are the technical owner but someone else at your organization handles billing? Invite them and give them the SubscriptionManager role!

Get to Know the Basics

We provide extensive documentation on how to get the best out of Snap CD. Before you continue with the rest of this quickstart guide, please read the basics.

Start using the Terraform Provider

To start using the Terraform provider you must either:

  • Generate a personal access token for your (Organzation.Owner) user via the snapcd.io portal.

OR

  • Create a Service Principal (via the snapcd.io portal) and grant it sufficient permissions (For getting started we recommend Organization.Owner).

Then configure the provider like this.

Register a Runner

To register a Runner you must:

  1. Create a Service Principal. You may do this via the portal at snapcd.io/ServicePrincipals. Pick unique (within your organization) “Client ID” and set a “Client Secret”. This Service Principal does not need any additional role assignments.
  2. Create a Runner by associating your Service Principal. This can be done via the portal at snapcd.io/Runners. Make the Runner available to Modules within your organization by setting the is_assigned_to_all_modules flag set to true. More granular assignment approaches are discussed here.

Deploy a Runner

Snap CD orchestrates all infrastracture deployments via Runners that you host yourself. This means that Snap CD never needs to gain direct access to any of your infrastructure; it is responsible only for configuration, orchestration, providing inputs, and storing outputs and logs.

We have made the Runner code publicly available at github.com/schrieksoft/snapcd-runner. Binaries and official Docker images are published here and here

The following three repositories provide instructions on how to deploy the Runner

For the purposes of this guide we recomment using the Docker Compose approach.

Create a Stack

Create a Stack called “samples” via the portal at snapcd.io/Stacks. We’ll use this Stack for the sampl ae project.

Create a Secret

Snap CD allows you to create Secrets that can be passed into Modules as inputs. Create a Secret on your “samples” Stack via the portal at snapcd.io/Stacks/samples?action=Secrets. Name the secret “quickstart-secret” and give it any text value.

Deploy the Sample Project

In order to see in practice what a typcial Snap CD project might look like, deploy this sample project.

Last updated on