A pluggable infrastructure code generator and orchestration framework that turns YAML into Terraform/Ansible, with optional execution, state tracking, policies, and notifications.
- Audience: Platform/infrastructure engineers and contributors building or operating InfraFoundry.
- Prereqs: Python 3.12+,
uv, Terraform ≥1.6 or OpenTofu ≥1.6, Ansible ≥2.15, SOPS + age, direnv (optional), and access to a config repo (INFRAFOUNDRY_CONFIG_REPOor--config-dir).
- You want YAML-only definitions that generate Terraform/Ansible for multi-provider environments.
- You need reproducible, policy-enforced plans/applies with state/history and notifications.
- You prefer separating framework and configuration repositories.
git clone https://github.com/yourusername/infrafoundry.git
cd infrafoundry
./scripts/setup-dependencies.sh
./scripts/setup-config.sh
infra validate --env dev --check-api --check-refs
infra plan --env dev
infra apply --env dev- Pluggable providers (Proxmox, OPNsense, Kubernetes; extensible)
- Pluggable secrets (SOPS/age default; Vault/AWS/custom via SecretProvider)
- YAML-only configuration; generated Terraform/Ansible artifacts
- Separate config repos; CI/CD-ready with GitHub/GitLab examples
- State/history tracking (SQLite/PostgreSQL)
- Event system + notifications; policy enforcement; drift detection; dependency graphing
For a comprehensive overview of all documentation, including getting started guides, configuration details, architectural insights, development practices, and more, please refer to the Table of Contents.
- Use Conventional Commits; maintain ≥69% coverage.
- Run locally:
doit format && doit lint && uv run pytest(ordoit coverage). - See docs/development/ci-cd-testing.md and docs/development/coding-standards.md.
- Issues/Discussions: project GitHub
- Docs: docs/ in repo
Last updated: 2025-11-29 14:27 GMT