35 lines
823 B
HCL
35 lines
823 B
HCL
terraform {
|
|
required_providers {
|
|
kubernetes = {
|
|
source = "hashicorp/kubernetes"
|
|
version = ">= 2.0.0"
|
|
}
|
|
}
|
|
}
|
|
|
|
provider "kubernetes" {
|
|
# This tells Terraform how to connect to your k3s cluster.
|
|
# Usually it looks for the file in ~/.kube/config.
|
|
config_path = "~/.kube/config"
|
|
}
|
|
|
|
# Example: Manage a Kubernetes Namespace using Terraform
|
|
resource "kubernetes_namespace" "core" {
|
|
metadata {
|
|
name = "core"
|
|
labels = {
|
|
name = "core"
|
|
environment = "production"
|
|
}
|
|
}
|
|
}
|
|
|
|
# Practical: Point Terraform to your updated .yaml files
|
|
# Instead of you running 'kubectl apply', Terraform will do it.
|
|
|
|
resource "kubernetes_manifest" "worker_orders" {
|
|
manifest = yamldecode(file("${path.module}/../manifests/core/workers.yaml"))
|
|
}
|
|
|
|
# (Add more resources here for nearle, alaska, etc.)
|