Create Your First Template

Templates are the way to add your Terraform code to env0. You will need to tell env0 how to connect to your VCS, and where to find your Terraform code.

Create Your Template

  1. Open the Organization Templates page
468468

Link to Organization Templates

  1. Click on Create new template
22402240

Create New Template

  1. Choose your desired template type
  2. Enter a name for your template in Template Name, and then click on NEXT
14851485

Initial Template Form

  1. Pick the type of VCS that holds your git repository: GitHub, GitLab,Bitbucket or another VCS.

  1. Please follow the next sections per your VCS integration:

GitHub

  1. After clicking on "GitHub.com" button for the first time, you will get a popup from GitHub asking you to install the env0 GitHub App on a GitHub organization. Pick the GitHub organization containing your Terraform repository.
690690

Pick GitHub Organization

  1. Pick the repositories you want env0 GitHub App to have access to, and install the GitHub App
675675

Pick GitHub Repositories

  1. The popup GitHub window will close.
  2. Pick the GitHub repository that contains the code for this template
  3. If you would like to pull the code from a specific revision or branch, enter that in the Revision field. Leaving this field empty will use your default branch, which is usually “master”/"main".
  4. Enter the folder your IaC files are located in under Terraform Folder or Terragrunt Folder. If your IaC files are in the root of the repository, leave this empty.
  5. Click on NEXT to go to the next step, Variables
14411441

GitHub Template Form

GitLab

  1. After clicking on the "GitLab.com" button for the first time, you will get a popup from GitLab asking you to authorize the env0 GitLab application access to your repositories using your account.

  1. The GitLab popup will close.
  2. Pick the GitLab repository that contains the code for this template
  3. If you would like to pull the code from a specific revision or branch, enter that in the Revision field. Leaving this field empty will use your default branch, which is usually “master”/"main".
  4. Enter the folder your IaC files are located in under Terraform Folder or Terragrunt Folder. If your IaC files are in the root of the repository, leave this empty.
  5. Click on NEXT to go to the next step, Variables

Bitbucket

  1. After clicking on the "Bitbucket.org" button for the first time, you will get a popup from Bitbucket asking you to authorize the env0 Bitbucket application access to your workspace using your account.

  1. The Bitbucket popup will close.
  2. Pick the Bitbucket repository that contains the code for this template.
  3. If you would like to pull the code from a specific revision or branch, enter that in the Revision field. Leaving this field empty will use your default branch, which is usually “master”/"main".
  4. Enter the repository sub-folder your IaC files are located in under Terraform Folder or Terragrunt Folder. If your IaC files are in the root of the repository, leave this empty.
  5. Click on NEXT to go to the next step, Variables

Azure DevOps

  1. After clicking on "Azure DevOps" button for the first time, you will get a popup from Azure DevOps asking you to authorize the env0 Azure DevOps application access to your repositories using your account. Grant access for the app.
966966
  1. The Azure DevOps popup will close.
  2. Pick the Azure DevOps repository that contains the code for this template
  3. If you would like to pull the code from a specific revision or branch, enter that in the Branch field. Leaving this field empty will use your default branch, which is usually “master”/"main".
  4. Enter the folder your IaC files are located in under <IaC> Folder (IaC being the template type you chose earlier). If your IaC files are in the root of the repository, leave this empty.
  5. Click on NEXT to go to the next step, Variables

🚧

Notice

You must enable the Third-party application access via OAuth under Organization Settings/Security/Policies for any organization you wish to manage repositories for

Other VCS

1.. Enter the URL to your Terraform repository that contains the code for this template under "Repository URL" - The URL can either be an HTTP/S URL or an SSH URL

  1. If you would like to pull the code from a specific revision or branch, enter that in the Revision field. Leaving this field empty will use your default branch, which is usually “master”/"main".
  2. Enter the folder your Terraform files are located in under Terraform Folder. If your Terraform files are in the root of the repository, leave this empty.
  3. If your repository is private - use the SSH Keys or Git Token dropdown, to select the keys/tokens you created in the Connecting your VCS stage.
  4. Click on NEXT to go to the next step, Variables
14681468

Variables

  1. In the variables section, you can now enter environment variables and terraform variables that will be used when deploying this template. For more info Variables
  2. When you're done adding variables, click on NEXT to go to the final step, Projects

Projects

  1. Pick the projects that you'd like to allow to deploy this template.
  2. Click on DONE when you're done to create the template.

Add Your Template To a Project

In order to run the template, you’ll need to add it to one of the organization's Projects. Your new organization will already have a Default Project.

  1. Go to the Default Organization Project

  1. Click the Project Templates page in the left menu.
22402240
  1. Click Manage and check the checkbox next to the template you’ve created.
22082208
  1. Click Save

What’s Next

Wonderful! You’ve connected your VCS to env0, and created your first template!