Shared OpenTofu / Terraform modules used by nullplatform to standardize and reuse infrastructure across cloud providers and the nullplatform control plane.
infrastructure/
├── aws/ # AWS modules (EKS, VPC, IAM, ALB, ACM, ...)
├── azure/ # Azure modules (AKS, VNet, ACR, DNS, ...)
├── gcp/ # GCP modules (GKE, VPC, Cloud DNS, ...)
├── oci/ # OCI modules (OKE, VCN, ...)
└── commons/ # Cloud-agnostic modules (cert-manager, external-dns, istio, prometheus)
nullplatform/ # Nullplatform control-plane modules (agent, api_key, scope_definition, ...)
Each module has its own README.md documenting inputs, outputs, and usage.
Reference any module via its Git source, pinned to a release tag:
module "vpc" {
source = "git::https://github.com/nullplatform/tofu-modules.git//infrastructure/aws/vpc?ref=v1.56.1"
# module inputs ...
}Then:
tofu init
tofu plan
tofu applySee the latest releases for available versions.
Releases follow Semantic Versioning and are automated via release-please. See CHANGELOG.md for the full release history.
Pull requests to main are validated by CI for branch naming and Conventional Commits.
Branch naming: <type>/<description> — e.g. feat/add-eks-module, fix/vpc-cidr-validation, docs/update-readme.
Commit messages: Conventional Commits format. Valid types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert.
feat(aws/eks): add support for managed node groups
fix(gcp/vpc): correct subnet CIDR validation
docs: update root README with usage examples
Pre-commit hooks (optional, recommended) run tofu fmt, tofu validate, tofu test, and commit-message linting locally:
brew install pre-commit
pre-commit install
pre-commit install --hook-type commit-msgSee .pre-commit-config.yaml for the full hook list.