Note: This project is currently in Beta. Always review the terraforms before deploying mission-critical production workloads.
This repository contains the standard, tested Terraform module presets used by InsideOut to generate cloud infrastructure.
InsideOut is a streamlined platform to build, configure, deploy, and manage your product infrastructure. It helps you get your infrastructure up and running faster, letting you focus on your application logic.
- Landing Page: insideout.luthersystems.com
- Agent Prototype: insideout.luthersystemsapp.com
- Discord Community: insideout.luthersystems.com/discord
- Subreddit: r/luthersystems
- Kiro IDE Power: insideout-power — Kiro IDE Power for AI-powered cloud infrastructure design
This repository serves as the library of standard Terraform modules that are composed by InsideOut to generate complete cloud stacks. They are designed to be:
- Modular: Composable by nature.
- Standardized: Following cloud best practices and security defaults.
- Tested: Verified through the InsideOut deployment and inspection pipelines.
Based on Luther Enterprise Terraform Modules.
aws/: Terraform modules for Amazon Web Services (VPC, EKS, RDS, S3, etc.)gcp/: Terraform modules for Google Cloud Platform (VPC, GKE, Cloud Run, Cloud SQL, etc.)
This repo is imported as a Go module (github.com/luthersystems/insideout-terraform-presets) by the InsideOut backend. It exposes an embedded fs.FS filesystem (via go:embed) containing Terraform preset files (.tf, .tfvars, .tmpl) organized by cloud provider and component:
aws/vpc/ → variables.tf, main.tf
aws/lambda/ → variables.tf, main.tf
gcp/cloudsql/ → variables.tf, main.tf
...
The InsideOut Terraform composition engine reads these presets at build time and uses them to:
- Compose full Terraform stacks — When a user designs infrastructure through the AI chat, the backend maps each selected component (e.g.
KeyVPC,KeyPostgres) to a preset directory (e.g.KeyPostgres→aws/rds/). - Discover module variables — Parses
variables.tffrom each preset to understand what inputs each module accepts, enabling dynamic variable injection from user-provided config. - Rebase and merge — Preset files are rebased into a unified directory structure under
modules/<component>/and combined with a rootmain.tfthat wires everything together. - Apply — The composed Terraform is handed to the InsideOut deployment service which runs
terraform init/plan/apply.
Downstream consumers should prefer cmd/imported-codegen over hand-maintained mirrors when they need imported-resource metadata in TypeScript or JSON. The generator already emits:
zod: TypeScript Zod schemas and registries for supported imported Terraform types.policy-ts: TypeScript policy projections frompkg/composer/imported/policy.labels,capabilities,dependencies,drift-fields: JSON metadata artifacts for UI/runtime consumers.managed-map: TypeScriptMANAGED_TO_IMPORTED_TFTYPE, generated frompkg/imported.ManagedComponentPrimaryTFTypes.
Example:
go run ./cmd/imported-codegen managed-map --output /path/to/reliable/lib/stack/managed-imported-map.tsWhen adding a new cross-repo mirror, check this generator path first so the canonical data stays in presets and consumer repos regenerate it.
Each directory contains a standard Terraform module with main.tf, variables.tf, and outputs.tf. While these are optimized for composition by the InsideOut engine, they can also be used as standalone Terraform modules.
Apache License 2.0