A Copier Template to scaffold Infrastructure-as-Code projects, with optional Terraform and/or Ansible.
- Optional Terraform stack (Hetzner Cloud + Cloudflare example), optional standalone Ansible playbook/role — pick either or both.
- When Terraform is selected, choose how the server is bootstrapped: plain cloud-init, or an Ansible playbook run as part of
terraform apply. - Devenv configuration for a reproducible development environment using Nix.
- Direnv integration for automatic environment loading.
- Taskfile as a task runner to simplify common development tasks.
- GitHub Actions CI workflows per selected stack (Terraform plan/apply, Ansible lint/syntax-check).
- Pre-configured linters and formatters (Terraform fmt/tflint, Ansible lint).
- Git commit hooks using Lefthook to enforce code quality before commits.
This template is built with Copier, a Python based project templating tool.
To install copier on your system, follow the instructions at Copier Website
To create a new project using this template, run the following command:
copier copy gh:brpaz/copier-iac /path/to/your/new/projectAnd answer the prompts to customize your new project.
This project is licensed under the MIT License - see the LICENSE file for details.