Skip to content

particuleio/terraform-scaleway-kapsule

Repository files navigation

terraform-scaleway-kapsule

Build Status semantic-release

A terraform module to create a managed Kubernetes cluster on Scaleway Element.

Requirements

Name Version
terraform ~> 1.3
random ~> 3.4
scaleway ~> 2.4

Providers

Name Version
random ~> 3.4
scaleway ~> 2.4

Modules

No modules.

Resources

Name Type
random_pet.this resource
scaleway_k8s_cluster.this resource
scaleway_k8s_pool.this resource

Inputs

Name Description Type Default Required
admission_plugins The list of admission plugins to enable on the cluster list(string) [] no
apiserver_cert_sans Additional Subject Alternative Names for the Kubernetes API server certificate list(string) [] no
auto_upgrade The auto upgrade configuration
object({
enable = optional(bool, false)
maintenance_window_start_hour = optional(number)
maintenance_window_day = optional(number)
})
{} no
autoscaler_config The configuration options for the Kubernetes cluster autoscaler
object({
disable_scale_down = optional(bool)
scale_down_delay_after_add = optional(string)
scale_down_unneeded_time = optional(string)
estimator = optional(string)
expander = optional(string)
ignore_daemonsets_utilization = optional(bool)
balance_similar_node_groups = optional(bool)
expendable_pods_priority_cutoff = optional(number)
scale_down_utilization_threshold = optional(number)
max_graceful_termination_sec = optional(number)
})
{} no
cluster_description A description for the Kubernetes cluster string null no
cluster_name The name for the Kubernetes cluster string n/a yes
cluster_tags The tags associated with the Kubernetes cluster list(any) [] no
cluster_type The type of cluster string "kapsule" no
cni_plugin The Container Network Interface (CNI) for the Kubernetes cluster string "cilium" no
delete_additional_resources Delete additional resources like block volumes and loadbalancers that were created in Kubernetes on cluster deletion bool false no
feature_gates The list of feature gates to enable on the cluster list(string) [] no
kubernetes_version The version of the Kubernetes cluster string "1.24.5" no
node_pools Creates and manages Scaleway Kubernetes cluster pools any {} no
node_pools_defaults Default configuration for Kubernetes cluster pools map(any) {} no
open_id_connect_config The OpenID Connect configuration of the cluster
object({
issuer_url = optional(string)
client_id = optional(string)
username_claim = optional(string)
username_prefix = optional(string)
groups_claim = optional(list(string))
groups_prefix = optional(string)
required_claim = optional(list(string))
})
{} no
project_id (Defaults to provider project_id) The ID of the project the cluster is associated with string null no
region (Defaults to provider region) The region in which the cluster should be created string null no
tags Tags applied to all ressources. list(string) [] no

Outputs

Name Description
apiserver_url The URL of the Kubernetes API server.
cluster_ca_cert PEM based cluster ca certificate.
created_at The creation date of the cluster.
id The ID of the cluster.
kubeconfig The Kubernetes configuration.
kubeconfig_file The Kubernetes configuration file.
name The name of the cluster.
node_pools Node Pools configuration and status.
status The status of the Kubernetes cluster.
token Token for authenticating to API-Server.
updated_at The last update date of the cluster.
upgrade_available Set to true if a newer Kubernetes version is available.
wildcard_dns The DNS wildcard that points to all ready nodes.