menuCohesive docs

Cohesive installation using CLI

To install Cohesive, you just need to run the following command on your terminal:

curl -L app.cohesive.so/install | bash ; cohesive setup

Prerequisites:

  1. A GitHub/ GitLab/ Bitbucket account (with the repositories you want to deploy).
  2. An AWS account.

First things first - We DO NOT read your code. Your code always stays in your own AWS account. The complete build process takes place in your AWS account.

These are the steps which run during installation:

cli-img

Let's now go into details about what happens in each of the steps.

Login

This step will open your browser window and prompt you to login using your git provider. You can login using GitHub, GitLab or Bitbucket. This will create a new user on Cohesive.

Import your organization

After login is complete, this will again redirect you to your browser to import your account and select repositories which you want to deploy using Cohesive.

Generate access key

This would generate the access key needed by your terminal to access your Cohesive account.

Setup infrastructure

This is needed in order to setup Cohesive Cloud infrastructure on your own cloud accounts. Currently we only support AWS account. This is a 7 step process, Here's what happens in each of the steps:

Setup Networking

This is required for your applications to talk to other services over the internet and for your public environments on Cohesive to be accessible over the internet. We also create a Private network where your private environments reside. You can connect to this private network once setup is complete.

This takes approximately 3 minutes to complete.

Setup Cluster Components

Here, we create policies in AWS which define the kind of access we need to resources on your AWS account. Basically access to create EKS Cluster, Nodes, Encryption key to keep kubernetes secrets safe and to do house keeping over Cohesive Platform.

This takes approximately 3 minutes to complete.

Setup Cluster

Using policies created in previous step, we create the EKS cluster and node groups in this step. We create 2 different types of node groups OnDemand and Spot. Spot is used primarily for your environments to keep the cost your bear for infrastructure low.

Note: Only Cohesive Servers can access the EKS cluster running in the Cohesive Cloud on your AWS account. Requests you initiate on the Cohesive App (like request to build an environment, deploy an environment, etc) are executed through Cohesive Servers on the Cohesive Cloud.

This takes approximately 15 minutes to complete.

Setup Platform Components

In this step, we create other components needed for Cohesive platform to work. These are:

  • Load balancer policy and role
  • Autoscaler policy and role
  • Code bucket and Provisioning bucket where we keep your code while building it.
  • Build Policy and role to control build time access of deployments on Cohesive.
  • Environment policy and role to control runtime access of environments on Cohesive.

This takes approximately 2 minutes to complete.

Create TLS Certificate

We create a TLS certificate for https to work for all your public environments on cohesive.so If Route53 of the same AWS account is not your DNS provider, you'll be prompted to make a CNAME entry in your DNS provider.

This takes approximately 5 minutes to complete.

Configure Cluster

Cohesive will install some key components onto the EKS cluster created in Setup Cluster step. No additional AWS resources are created in this step.

This takes approximately 5 minutes to complete.

Create DNS Entry

We create DNS record in your Route53 Zone to route request on your wildcard to Cohesive environments. If Route53 of the same AWS account is not your DNS provider, you'll be prompted to make a CNAME entry in your DNS provider.

This takes approximately 5 minutes to complete.

Click here to learn about the resources that get created in each of the above steps.

Invite members

  • After you import your organisation to Cohesive, you will land on Setup your team screen where you can see the list of people who are a part of your organisation.
  • You can choose the members you want to invite and their roles.
  • After choosing the members and roles, click on Continue button.
  • Now, an invite link will be generated which can be shared with the selected members for onboarding.

Note: This is an optional step which can be done later also.

Now you are all set to create your first project!