Civo Kubernetes Cluster
Fast-launch k3s cluster with node pools, firewall rules, and network.
Verification
Static-verifiedPassed: 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
- SHA-256 checksum
- Cosign signature
Functional
- Live test pending (no cloud run yet)
Last verified 2026-06-28 · how we verify
Verify this download
cosign · sha-256Don'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 -cUse it from the registry
terraform · opentofumodule "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 · attributionPaste 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.
[](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:
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, andtflint, 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_firewallis created withcreate_default_rules = false, so nothing inbound is permitted until you list CIDRs. The Kubernetes API (tcp/6443) opens only forapi_allowed_cidrs; an empty list (the default) leaves the API unreachable rather than world-open. Web ports (80/443) open only foringress_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
poolsblock on the cluster resource; this module exposes it asdefault_pooland adds further pools as independentcivo_kubernetes_node_poolresources so you can churn capacity without recreating the cluster. - CNI choice.
flannelby default; setcni = "cilium"to get NetworkPolicy enforcement. - Kubeconfig is a sensitive output and never printed in plan/apply logs.
Requirements
- Terraform or OpenTofu
>= 1.6 civo/civoprovider>= 1.0, < 2.0- Civo mandates exactly one inline pool —
default_poolis always created. Useextra_node_poolsfor pools you expect to add/remove. kubernetes_versionupgrades 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
upcloud-kubernetes
An UpCloud Managed Kubernetes cluster whose API answers only the ranges you list (0.0.0.0/0 by name), with private node groups off the public internet, node storage encrypted at rest (unencrypted by name), anti-affinity across hosts, manual upgrades, and node groups from a map with labels and taints. The plan is the control plane's redundancy and bill.
alicloud-ack-cluster
Managed ACK Kubernetes with node pools, VPC integration, and RAM roles.
azure-aks
Hardened AKS with system/user node pools, workload identity, Entra RBAC integration, Azure CNI overlay, and Container Insights wired in.
do-doks-cluster
Production DOKS with node pools, VPC, registry hookup, and maintenance windows in one apply.
aws-eks
Opinionated EKS cluster with node groups, core add-ons, Pod Identity, and KMS secret encryption.
exoscale-sks-cluster
SKS Kubernetes with node pools, security groups, and anti-affinity.