MCMMCM DocsEngineering (Internal)
HLDModulesOrchestration
v1.2 is unreleased — see v1.1 for the current stable release.

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

FieldTypeDescription
idstringUnique identifier (e.g. aws-vpc)
namestringDisplay name (e.g. AWS VPC)
descriptionstringWhat this stack provisions
versionstringVersion tag (e.g. v1.5.0)
providersstring[]Cloud providers this stack targets (e.g. ["AWS"], ["AWS", "Azure"])
createdBystring"system" for built-in stacks, or user email for custom stacks
variableSectionsSection[]Grouped variable sections (e.g. Network, Governance)
variablesVariable[]Input variables users fill when creating a workspace

Variable Fields

FieldTypeDescription
idstringVariable identifier
namestringDisplay label
descriptionstringWhat this variable controls
typetext / number / selectInput type
optionsstring[]Enum options when type is select
defaultValuestringPre-filled default
sectionIdstringWhich section this variable belongs to
requiredbooleanWhether this variable must be provided
resourceTypestringCloud 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:

MethodDescription
Natural LanguageDescribe requirements in plain text — the platform generates Terraform
Blueprint CanvasDrag-and-drop visual editor: place AWS/Azure resource nodes and draw connections
Terraform FilesUpload .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

CardDescription
Total StacksAll available stack templates
Health IndexPercentage of workspaces created from stacks that are healthy
Global SyncPercentage of workspaces in sync with their stack version
Auto-runsNumber of scheduled automated applies

On this page