Stacks
Reusable IaC templates that define what infrastructure to provision.
Stacks
A Stack is a reusable infrastructure blueprint — a parameterised Terraform template that defines what cloud resources to provision and what inputs the user must provide. Stacks are the template layer; Workspaces are live deployments created from them.
Stack Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier (e.g. aws-vpc) |
name | string | Display name (e.g. AWS VPC) |
description | string | What this stack provisions |
version | string | Version tag (e.g. v1.5.0) |
providers | string[] | Cloud providers this stack targets (e.g. ["AWS"], ["AWS", "Azure"]) |
createdBy | string | "system" for built-in stacks, or user email for custom stacks |
variableSections | Section[] | Grouped variable sections (e.g. Network, Governance) |
variables | Variable[] | Input variables users fill when creating a workspace |
Variable Fields
| Field | Type | Description |
|---|---|---|
id | string | Variable identifier |
name | string | Display label |
description | string | What this variable controls |
type | text / number / select | Input type |
options | string[] | Enum options when type is select |
defaultValue | string | Pre-filled default |
sectionId | string | Which section this variable belongs to |
required | boolean | Whether this variable must be provided |
resourceType | string | Cloud resource type this variable binds to |
Stack Creation (3-step wizard)
Step 1 — Source
Set the stack identity (name, description, icon) and choose how to define the infrastructure:
| Method | Description |
|---|---|
| Natural Language | Describe requirements in plain text — the platform generates Terraform |
| Blueprint Canvas | Drag-and-drop visual editor: place AWS/Azure resource nodes and draw connections |
| Terraform Files | Upload .tf, .tfvars, .json, or .zip files directly |
The Blueprint Canvas is a React Flow-based editor with:
- Left palette: AWS and Azure resource types (VPC, Subnet, EC2, S3, VM, Disk, etc.)
- Center canvas: place and connect resources
- Mini-map and zoom controls
Step 2 — Configure Variables
Organise variables into named sections (e.g. "Core Settings", "Advanced Options") and define each variable's label, type, default, and whether it's required. Sections and variables can be reordered via drag-and-drop.
Step 3 — Review & Create
Preview the generated Terraform, the variable layout (how users will see sections when provisioning a workspace), and provider/variable counts before confirming.
Built-in Stacks
MCM ships with pre-built stacks for common infrastructure patterns:
AWS
- VPC, Subnet, Route Table, Internet Gateway
- Security Group, NACL
- EC2 Instance, EBS Volume/Snapshot
- S3 Bucket
Azure
- Resource Group, Virtual Network, Subnet
- Network Interface, Network Security Group, Public IP
- Virtual Machine, Managed Disk, Storage Account/Blob
Dashboard KPIs
| Card | Description |
|---|---|
| Total Stacks | All available stack templates |
| Health Index | Percentage of workspaces created from stacks that are healthy |
| Global Sync | Percentage of workspaces in sync with their stack version |
| Auto-runs | Number of scheduled automated applies |