Skip to content

Latest commit

 

History

History
67 lines (53 loc) · 4.43 KB

README.md

File metadata and controls

67 lines (53 loc) · 4.43 KB

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