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 Team or Business at snapcd.io 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. To get to know the documentation, start with 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 snapcd.io portal. 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 or API, or with this Terraform resource. You need to also make it available to Modules within your organization (for getting started, create your Runner with the is_assigned_to_all_modules flag set to true"), other options are discussed here.

Deploy a Runner

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

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

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

Deploy a Sample Project

We recommend you create a Stack called “samples” or something similar and use that for the sample projects.

You are now ready to start using Snap CD. Next:

  • consider deploying this very simple sample project.
  • or this more advanced one. NOTE, on the [snapcd.io] portal, open up the “samples” Stack and navigate to the “Dependency Graph” section to see how the Snap CD deals with the dependencies between these Modules.

Both of the above SnapCD Projects deploy simple terraform modules from this GitHub organization: https://github.com/orgs/snapcd-samples/repositories. The modules do not deploy any actual infrastructure. They are used just to simulate inputs/outputs to build a dependency graph.

Last updated on