Guided Infrastructure as Code generator with a React wizard, Go API, optional AWS credential profiles (encrypted) for VPC/subnet discovery, and a code preview drawer.
- Go 1.22+
- Node.js 20+ and npm
- Docker + Docker Compose (for containerized runs)
- Playwright browsers (installed via
npx playwright install chromiumundertest/ui)
-
Export a master key (64 hex chars, 32 bytes):
export IAC_MASTER_KEY=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 -
API (from
src/api):mkdir -p data export SQLITE_DSN="file:./data/app.sqlite?_pragma=busy_timeout(5000)&_pragma=foreign_keys(1)" export APP_VERSION=$(cat ../../VERSION | tr -d '\n') go run ./cmd/iac-builder-api
-
UI (from
src/ui):npm install npm run dev
Open the UI, complete the wizard, and use Show code for the live preview. API is proxied on /api in dev.
export IAC_MASTER_KEY=... # 64 hex chars
export APP_VERSION=$(cat VERSION | tr -d '\n')
docker compose up --build- API:
http://localhost:8080 - UI:
http://localhost:8081(nginx proxies/apito the API)
make testSee AGENTS.md — merged PR titles may include +(semver:major|minor|patch) to bump VERSION.
docs/local-dev.mddocs/security.mddocs/future-ideas.mddocs/aws-deploy.md— S3 + CloudFront + ALB + Lambda in us-east-1, GitHub Actions deploy/destroy
Manual Deploy AWS and Destroy AWS workflows build the Lambda zip, run Terraform (deploy/terraform/aws), sync the Vite build to S3, and invalidate CloudFront. See docs/aws-deploy.md for OIDC setup and multi-region notes.