Skip to content

Terraform module to create Production Grade CIVO Kubernetes cluster and associated resources

License

Notifications You must be signed in to change notification settings

initializ/terraform-civo-kubernetes

Repository files navigation

CIVO Kubernetes

Terraform module to create Production Grade CIVO Kubernetes cluster and associated resources

Features enabled:

  • Network Creation
  • Firewall Creation with access via Authorized Network
  • Application Installation

Usage

You can find a fully functional, production-ready example on the examples/ folder.

Requirements

Name Version
terraform >= 1.0.0
civo >= 1.1.2

Providers

Name Version
civo >= 1.1.2

Resources

Name Type
civo_firewall.this resource
civo_kubernetes_cluster.this resource
civo_kubernetes_node_pool.this resource
civo_network.this resource

Inputs

Name Description Type Default Required
authorized_networks Authorized networks for Kubernetes API server set(string)
[
"0.0.0.0/0"
]
no
cluster_name name of the kubernetes cluster string "initializ-sandbox" yes
cni The cni for the k3s to install string "cilium" no
cluster_version supported version of the kubernetes cluster string "1.28.7-k3s1" no
cluster_type supported type of the kubernetes cluster - k3s or talos string "k3s" no
network_name name of the network to be created string "initializ-sandbox" no
node_count Number of nodes into the cluster number 1 no
node_instance_size Instance type of the target nodes. string "g4s.kube.medium" no
node_label Label of the main node pool string "initializ-sandbox" no
node_pool_labels Additional Node Pool Labels map(string) {} no
taint Node Taints
list(object({ 
key = string
value = string
effect = string }))
[] no
node_pools Addons node pools
list(object({
label = string
node_count = number
size = string
labels= map(string)
taint =
list(object({
key = string
value = string
effect = string }))
}))
[] no
region The region in which the cluster should be created. string "NYC1" no
tags Tags string "initializ-sandbox" no

Outputs

Name Description
kubernetes_cluster_name The name of the CIVO Kubernetes cluster
kubernetes_cluster_endpoint Endpoint for your Kubernetes API server
kubernetes_cluster_id The id of the CIVO Kubernetes cluster
kubernetes_cluster_status Status of the Cluster if it's Active or not
kubernetes_cluster_ready Is cluster really ready
kubernetes_cluster_version Kubernetes Cluster version
network_id The ID of the Civo Network
node_pool_ids List of IDs of the Civo Kubernetes Node Pools
node_pool_instance_names List of instance names in each node pool

About

Terraform module to create Production Grade CIVO Kubernetes cluster and associated resources

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages