A modern devcontainer setup for ThothCTL development using the Dev Container Features specification.
| Tool | Purpose |
|---|---|
| OpenTofu | IaC provisioning |
| Terragrunt | IaC orchestration |
| terraform-docs | Module documentation generation |
| Trivy | Vulnerability & misconfiguration scanning |
| TFSec | Terraform security scanner |
| TFLint | Terraform linter |
| ShellCheck | Shell script linter |
| AWS CLI | Cloud operations |
| GitHub CLI | PR workflows, code review |
| Docker-in-Docker | Required for KICS scanner |
- graphviz — Diagram generation (
thothctl document) - libgraph-easy-perl — ASCII topology views (
--format boxart) - wkhtmltopdf — PDF report generation
- ThothCTL installed in editable mode (
pip install -e '.[telemetry]') - pre-commit hooks configured automatically
- Checkov for IaC security scanning
- Install VS Code + Dev Containers extension
- Install Docker
- Clone the repository
- Open in VS Code → "Reopen in Container"
Once built, the container is ready with all tools. ThothCTL runs from source:
thothctl --version
thothctl check iac -type security --recursive
thothctl dashboard start --port 8080
thothctl mcp start| Port | Service |
|---|---|
| 8080 | ThothCTL Dashboard |
| 5001 | MCP Server |
Pass these from your host to configure behavior:
| Variable | Purpose |
|---|---|
THOTHCTL_DEBUG |
Enable debug logging |
THOTH_LOG_LEVEL |
Set log level |
AWS credentials are mounted from ~/.aws automatically.
- Add tools: Add features to
devcontainer.jsonfrom containers.dev/features - Add system packages: Edit the
Dockerfile - Add Python deps: Modify
postCreateCommandindevcontainer.json - Rebuild: Command Palette → "Dev Containers: Rebuild Container"