Sign inSign up

talkopsai/aws-orchestrator-agent

By talkopsai

Updated 6 months ago

Multi-agent system to research, generate, and validate AWS Terraform modules.

Image
0

329

talkopsai/aws-orchestrator-agent repository overview

AWS Orchestrator Agent

A multi-agent system that researches, generates, validates, and commits production-ready Terraform modules for AWS — through conversation.

Docker Pulls GitHub Repository Discord

What is this?

Writing Terraform modules isn't the hard part. Writing them well is. AWS Orchestrator takes a different approach: you describe what you need in plain language, and a coordinated team of AI agents handles the research, generation, validation, and delivery.

It evaluates CIS benchmarks, queries the Terraform registry via MCP for the latest provider docs, generates the .tf files in a local sandbox, validates them, and commits them to your GitHub repository.

Features

  • MCP-Powered Research: Queries Terraform Registry for the latest provider versions instead of hallucinating.
  • Complete Outputs: Generates main.tf, variables.tf, outputs.tf, versions.tf, locals.tf, and README.md.
  • Sandbox Validation: Automatically runs terraform init, fmt, and validate inside the container.
  • GitHub Commit: Uses GitHub MCP tools to push the approved modules directly to your repository.
  • Human-in-the-Loop: Halts for mandatory user approval before any destructive checks or GitHub commits.

Quick Start

The quickest way to run the AWS Orchestrator Agent is via docker run. You must provide an LLM API key (Google Gemini is the default).

docker run -d \
  --name aws-orchestrator \
  -p 10104:10104 \
  -e GOOGLE_API_KEY=your_gemini_api_key_here \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=your_github_pat_here \
  -v ./workspace:/app/workspace \
  talkopsai/aws-orchestrator-agent:latest

This will start the agent API running on http://localhost:10104.

Note: To interact with the agent, we highly recommend running the web UI alongside it using Docker Compose.

Running the agent alongside the TalkOps UI gives you rich interactive components, streaming deployment gates, and approval cards.

Create a docker-compose.yml file:

services:
  aws-orchestrator-agent:
    image: talkopsai/aws-orchestrator-agent:latest
    container_name: aws-orchestrator-agent
    ports:
      - "10104:10104"
    environment:
      - GOOGLE_API_KEY=${GOOGLE_API_KEY}
      - GITHUB_PERSONAL_ACCESS_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN}
      - GITHUB_MCP_URL=https://api.githubcopilot.com/mcp
      - TERRAFORM_WORKSPACE=./workspace/terraform_modules
      - ENVIRONMENT=production
      # LLM Config (Gemini used by default)
      - LLM_PROVIDER=google_genai
      - LLM_MODEL=gemini-3.1-flash-lite-preview
      - LLM_HIGHER_MODEL=gemini-3.1-pro-preview
      - LLM_DEEPAGENT_MODEL=gemini-3.1-pro-preview
    volumes:
      - ./workspace:/app/workspace
    restart: unless-stopped
    networks:
      - aws-orchestrator-net

  talkops-ui:
    image: talkopsai/talkops:0.2.0
    container_name: talkops-ui
    ports:
      - "8080:80"
    depends_on:
      - aws-orchestrator-agent
    restart: unless-stopped
    networks:
      - aws-orchestrator-net

networks:
  aws-orchestrator-net:
    driver: bridge

Then run:

GOOGLE_API_KEY=your_key GITHUB_PERSONAL_ACCESS_TOKEN=your_token docker compose up -d

You can now access the UI at http://localhost:8080.


Environment Variables

VariableDescriptionExample / Default
GOOGLE_API_KEYYour Google API Key (if using Gemini)AIzaSy...
OPENAI_API_KEYYour OpenAI API Key (if using OpenAI)sk-...
ANNOTHR_API_KEYYour Anthropic API Key (if using Anthropic)sk-ant-...
GITHUB_PERSONAL_ACCESS_TOKENA GitHub PAT with repo scope for commitsghp_...
LLM_PROVIDERThe LLM provider to usegoogle_genai, openai, anthropic
TERRAFORM_WORKSPACEPath where generated modules are saved./workspace/terraform_modules
LOG_LEVELApplication logging levelINFO, DEBUG

Volumes

If you want to keep the generated Terraform modules locally on your host machine to inspect them outside the container, you should mount a volume to /app/workspace:

-v ./my-local-workspace:/app/workspace

Inside the container, the default generated path for the files is /app/workspace/terraform_modules/<service>.


Getting Help

Tag summary

Content type

Image

Digest

sha256:f0cb10667

Size

274.3 MB

Last updated

6 months ago

docker pull talkopsai/aws-orchestrator-agent