Skip to content

v0.1.0 — Phase 0: Terraform Foundation

Choose a tag to compare

@igorsilva-dev igorsilva-dev released this 29 Apr 18:52
· 2 commits to main since this release
68da802

First milestone release. All Phase 0 modules from the Portfolio Roadmap are functional, documented, and covered by CI.

Added

  • Module: civo/network — provisions a Civo network and firewall, with optional DNS domain and records (gated by dns_domain).
  • Module: civo/kubernetes — provisions a K3s-based Civo cluster with configurable node pools, optional kubeconfig write to disk.
  • Module: helm — generic helm_release wrapper supporting dynamic "set" and dynamic "set_sensitive" blocks.
  • Module: kubernetes/namespaces-rbac — creates namespaces from a configurable list, optional service accounts, and a read-only ClusterRole with per-namespace bindings.
  • Examples: runnable example for each module under examples/.
  • CI pipeline (.github/workflows/validate.yaml): format check, per-module validate matrix, TFLint, tfsec.
  • Pre-commit config: terraform_fmt, terraform_validate, terraform_tflint, plus standard hygiene hooks.
  • Root README: architecture diagram, module index, quick start, versioning, Civo Object Store remote state pattern, tooling, CI overview, repo layout.
  • Per-module READMEs with inputs/outputs tables.

Changed

  • helm module: set_values is now wired through a dynamic "set" block (previously concatenated into values, which produced invalid YAML).
  • All examples and documentation reference OpenTofu (tofu) consistently.
  • civo-kubernetes example default kubernetes_version bumped from the deprecated 1.32.5-k3s1 to the current stable 1.34.2-k3s1.

Fixed

  • helm module set_values: previously broken concat into values replaced with a proper dynamic "set" block.
  • helm module set_sensitive_values: documented in the README but never wired in code; now implemented via dynamic "set_sensitive".
  • kubernetes/namespaces-rbac: uses _v1 resource variants to avoid provider deprecation warnings.

Notes

  • aws/* modules are experimental scaffolding and not part of the v0.1.0 surface.
  • The reference consumer is civo-infrastructure, which uses Terragrunt with a Civo Object Store S3-compatible backend for state.

See CHANGELOG.md for the canonical changelog.