# Deploy

Today there is 3 ways to start a new project in Cycloid:

  1. By selecting an existing stack
  2. By creating a new stack from scratch using our infrastructure designer StackCraft
  3. By importing an existing infrastructure from your Cloud provider as a stack StackImport (by TerraCognita)

# Create my first project using pre-configured resources

The objective of this exercise is to create a project using our pre-configured resources to start with. This is to highlight the best & recommended practices before you start working with your use case and no less importantly to save you some time.

# New project & naming conventions

Give your project name and description using an internally agreed scheme for naming. It should include useful & deducible information based on related regularities so nobody within a team will confuse it with a different project.

# Before you begin

The following sections will guide you through the deployment of Cycloid getting started stack. The goal of this stack is to illustrate how Cycloid works by creating a compute instance on your favorite cloud provider.

For this purpose you will need to provide few elements depending on the choosen cloud provider:

# Project

To begin your journey, start by creating a new project.

On the left menu click on All projects then + Create new project. And enter a project name

# Select stack

A list of all available stacks is now displayed. The list is composed of all Cycloid public stacks and all private stacks in your organization. How to create and share your own private stacks is explained later in this documentation.

Stacks

Let's start by using our getting started stack. This stack is ideal to start using Cycloid on a public cloud provider.

Type in the search area getting-started. and select our Getting started stack.

# Environments

An environment describe a deployment of a stack. Stacks are automated and reproducible via IaC. Which mean, for each environments you will deploy the same infrastructure but you can specify different configuration and variables.

Usual common environments naming are: dev, staging, and prod, those are just common names, and could be of any kind.

Let the Use StackForms interface checked and click next. This will be explained in the next section.

Now choose which use-case to use.

This is not always the case but a stack can provide different use-cases. Those are usually here for a stack to offer to the end-user the choice between different deployment workflow or cloud providers.

Here in the getting started stack, each usecase correspond to a public cloud provider. Select the one you would like to test and jump to the next section.

project_usecase

# Configuration

Earlier in this documentation we let the Use StackForms interface button checked.

If enabled, Code editor view for project configuration will be replaced by StackForms, which takes a more visual approach, using widgets, hints, dropdowns, etc to configure your stack via a user-friendly form.

Form view by StackForms

Optional code editor view

This view is usually reserved for advanced users who want to use specific configurations. In the code editor view all configuration and pipeline template of your stack will be editable in a text editor.

Variables

Cost estimation You might have noticed on the right side section during the configuration, an estimation of the cost to create the infrastructure is given. This estimation is done by our opensource tool TerraCost based on a price estimation given by reading Terraform files.

Variables

After the configuration of your environment, click next button.

# Review & Run

A config repository is required to store the configuration of your project like pipeline variables and each configuration files for the stack. Refer to the stack section if you want to read more about it.

Infrastructure and configuration review at glance. Prior project deployment and even after you can keep editing and tweaking your project as much as you want to. In this instance, just press run and you start exploring the management part of the onboarding.