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
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 reliable 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 reliable repo's Terraform composition engine (internal/reliabletf/) 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 viaPresetKeyMapincontracts.go(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. - Send to Oracle — The composed Terraform is sent to the Oracle deployment service which runs
terraform init/plan/apply.
After changing presets here, pull the latest version in the reliable repo:
go get github.com/luthersystems/insideout-terraform-presets@mainEach 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