Environment Templates and Classifications

This page introduces environment templates and classifications and explains how they can be used to streamline the configuration and deployment of environments within an organization.

Approx Reading Time: 3 minutes

Overview

Environment templates and classifications provide a powerful mechanism for managing and standardizing the configuration of environments across projects within an organization. By leveraging these concepts, you can establish a common base infrastructure, share configuration settings, and define promotion sequences for your applications.

What is a classification?

A classification represents a specific type of environment and stores its associated configuration. It encompasses various elements such as security policies, environment and Terraform variables, and the sequence in which the environment should be created. For instance, if you want to enforce a standardized Dev -> Staging -> Production setup for developers in your organization, you can create a classification for each environment type. Each classification would define the appropriate security policies, variables, and promotion sequence. When combined with an environment template, these classifications enable the creation of the corresponding environments within a project.

What is an environment template?

An environment template specifies the Terraform code and version that will be used to create an environment. Typically, this Terraform code represents the "base environment" upon which application dependencies can be installed later. When multiple classifications are applied, it results in the deployment of multiple interconnected environments that form a promotion sequence. The Terraform code within the template can be customized using variables specified in the classifications. This allows you to represent the differences between various environments, such as staging and production.

By utilizing environment templates and classifications, you can streamline the setup and configuration of environments, promote code through different stages, and ensure consistency and reusability across projects within your organization.

Note: The examples provided in this article assume the usage of Terraform for infrastructure provisioning.