Scaleway Kapsule Cluster
Kapsule Kubernetes with pools, private network, and autoscaling/autoheal presets.
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
- Signature (pending)
Functional
- Live test pending (no cloud run yet)
Last verified 2026-06-28 · how we verify
Documentation
scaleway-kapsule-cluster
A Scaleway Kapsule managed Kubernetes cluster: a private-network-attached cluster with one or more autoscaling node pools, Cilium CNI, and auto-upgrade during a maintenance window.
Status: static-validated, live-test pending. Validated with
tofu validate+tflint+checkovagainst thescaleway/scalewayprovider. Not yet applied against a live Scaleway project, so it ships under live-test quarantine.
Design & secure defaults
- Private network required and provided. Kapsule clusters must attach to a
private network; the module creates a dedicated one unless you pass
private_network_id. - Cilium CNI by default so Kubernetes NetworkPolicies are enforced.
- Auto-upgrade + autohealing on with a configurable maintenance window;
node pools autoscale (
min_size…max_size) by default. - Clean teardown.
delete_additional_resources = trueremoves cluster-created load balancers and volumes on destroy (setfalseto retain). - A precondition enforces
min_size <= size <= max_sizeper autoscaling pool.
Usage
module "kapsule" {
source = "github.com/ITfreak/iacbazaar//artifacts/terraform/scaleway-kapsule-cluster"
name = "prod"
kubernetes_version = "1.30"
node_pools = {
default = { node_type = "PRO2-XXS", size = 3, zone = "fr-par-1" }
}
}
See examples/basic for a complete configuration.
Key inputs
| Variable | Description | Default |
|---|---|---|
name | Cluster name + PN prefix | required |
kubernetes_version | K8s version (1.30) | 1.30 |
cluster_type | kapsule or kapsule-dedicated-* | kapsule |
cni | cilium / calico / flannel | cilium |
private_network_id | Attach to existing PN | null (creates one) |
node_pools | Map of pools (node_type, size, autoscaling bounds, zone) | one PRO2-XXS pool |
auto_upgrade_enable | Auto patch upgrades | true |
maintenance_window_* | Upgrade window | 03:00 / any |
autoscaler_config | Cluster-autoscaler tuning | provider default |
delete_additional_resources | Clean LBs/volumes on destroy | true |
region / project_id | Placement | fr-par / provider default |
Outputs
cluster_id, cluster_name, apiserver_url, kubernetes_version,
wildcard_dns, private_network_id, node_pool_ids (map).
Provider
scaleway/scaleway >= 2.0, < 3.0. Requires Terraform/OpenTofu >= 1.6.
License
Commercial — LicenseRef-IaCBazaar-Commercial. See the IaC Bazaar terms.