CivoStatic-verified

Civo Kubernetes Cluster

Fast-launch k3s cluster with node pools, firewall rules, and network.

terraformAlt & Specialty Cloudscivo

Compare Managed Kubernetes across clouds →

civo-k3s-clustervizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • No applicable security policies for this provider
  • Plan tests (mocked: validation rules · outputs)

Provenance

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-06-28 · how we verify

Verify this download

cosign · sha-256

Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.

# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub

# 2. This module's Sigstore bundle
curl -o civo-k3s-cluster-1.0.0.sigstore.json \
  https://www.iac-bazaar.com/api/artifacts/civo-k3s-cluster/signature

# 3. Verify the tarball you downloaded
cosign verify-blob \
  --key cosign.pub \
  --bundle civo-k3s-cluster-1.0.0.sigstore.json \
  civo-k3s-cluster-1.0.0.tar.gz
# → Verified OK

# 4. (optional) confirm the checksum too
echo "6a5aba69d4fe33b10a19d8a5181ef929103a60d0f7673ca636b0cfd21843dcac  civo-k3s-cluster-1.0.0.tar.gz" | sha256sum -c

Use it from the registry

terraform · opentofu
module "k3s_cluster" {
  source  = "www.iac-bazaar.com/iac-bazaar/civo-k3s-cluster/civo"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Cite it in your README

badge · attribution

Paste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads static-verified because the record says so, and the link lands on this page.

README.md, GitLab, Gitea
[![IaC Bazaar: static-verified](https://www.iac-bazaar.com/api/artifacts/civo-k3s-cluster/badge)](https://www.iac-bazaar.com/catalog/civo-k3s-cluster?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

Terraform module 1.0.0, static-verified on IaC Bazaar: [Civo Kubernetes Cluster](https://www.iac-bazaar.com/catalog/civo-k3s-cluster?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

```hcl
module "k3s_cluster" {
  source  = "www.iac-bazaar.com/iac-bazaar/civo-k3s-cluster/civo"
  version = "1.0.0"
}
```

Preview:IaC Bazaar: static-verified

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

civo-k3s-cluster

Status: static-validated, live-test pending. This module ships under live-test quarantine — it passes tofu fmt, tofu validate, and tflint, but the real apply → verify → destroy gate is deferred until a Civo cloud sandbox account is wired into the live-test lane. Treat the secure defaults as reviewed, the cloud behavior as not yet proven end-to-end.

Fast-launch Civo Kubernetes (k3s) cluster on a dedicated private network behind a deny-by-default firewall, with a required built-in node pool plus optional standalone pools. Civo clusters boot in roughly 90 seconds, making this the fastest live-test k8s lane in the catalog. Works with Terraform and OpenTofu (>= 1.6), Civo provider >= 1.0, < 2.0.

Design / secure defaults

  • Dedicated private network (civo_network) per cluster instead of the Civo default network — clean blast-radius isolation.
  • Deny-by-default firewall. The civo_firewall is created with create_default_rules = false, so nothing inbound is permitted until you list CIDRs. The Kubernetes API (tcp/6443) opens only for api_allowed_cidrs; an empty list (the default) leaves the API unreachable rather than world-open. Web ports (80/443) open only for ingress_allowed_cidrs. Egress is allowed so nodes can pull images and reach the control plane.
  • One required inline pool + standalone extras. Civo mandates exactly one inline pools block on the cluster resource; this module exposes it as default_pool and adds further pools as independent civo_kubernetes_node_pool resources so you can churn capacity without recreating the cluster.
  • CNI choice. flannel by default; set cni = "cilium" to get NetworkPolicy enforcement.
  • Kubeconfig is a sensitive output and never printed in plan/apply logs.

Requirements

  • Terraform or OpenTofu >= 1.6
  • civo/civo provider >= 1.0, < 2.0
  • Civo mandates exactly one inline pool — default_pool is always created. Use extra_node_pools for pools you expect to add/remove.
  • kubernetes_version upgrades recycle nodes.

License

Commercial — LicenseRef-IaCBazaar-Commercial.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage
  • Inputs
  • Outputs

Related modules