45 lines
1.1 KiB
Django/Jinja
45 lines
1.1 KiB
Django/Jinja
terraform {
|
|
required_providers {
|
|
scaleway = {
|
|
source = "scaleway/scaleway"
|
|
}
|
|
}
|
|
required_version = ">= 0.13"
|
|
}
|
|
|
|
|
|
resource "scaleway_k8s_cluster" "{{ project_name }}" {
|
|
name = "{{ project_name }}"
|
|
version = "1.24.3"
|
|
cni = "cilium"
|
|
project_id = "{{ project_id }}"
|
|
region = "{{ region_k8s }}"
|
|
}
|
|
|
|
resource "scaleway_k8s_pool" "john" {
|
|
cluster_id = scaleway_k8s_cluster.{{ project_name }}.id
|
|
name = "john"
|
|
node_type = "DEV1-M"
|
|
size = 1
|
|
}
|
|
|
|
resource "null_resource" "kubeconfig" {
|
|
depends_on = [scaleway_k8s_pool.john] # at least one pool here
|
|
triggers = {
|
|
host = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].host
|
|
token = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].token
|
|
cluster_ca_certificate = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].cluster_ca_certificate
|
|
}
|
|
}
|
|
|
|
|
|
provider "kubernetes" {
|
|
load_config_file = "false"
|
|
|
|
host = null_resource.kubeconfig.triggers.host
|
|
token = null_resource.kubeconfig.triggers.token
|
|
cluster_ca_certificate = base64decode(
|
|
null_resource.kubeconfig.triggers.cluster_ca_certificate
|
|
)
|
|
}
|