- docker-30/zot: add Zot OCI registry with on-demand sync to docker.io, registry.k8s.io, ghcr.io, quay.io - kubernetes-kvm-terraform: wire Kanidm OIDC via structured AuthenticationConfiguration; add reference apiserver manifest and join-node-02 helper - servers: reorganize shadow/ under servers/, add saint vhost config and utility-101 VM definition, add shadow hrajfrisbee.cz vhost and storage-23 notes - experiments: add notes and configs for e2b dev VM, kata + firecracker on kube, microsandbox, orb-stack k3s (terraform + cloud-init), rke2 - vms/docker: document tailscale + node-exporter setup - blog: stub post on Gateway API - chore: gitignore tmp/, smtp_password, and the two local-only credential caches; add per-project .claude/settings.json Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
40 lines
932 B
HCL
40 lines
932 B
HCL
variable "k3s_token" {
|
|
description = "Shared secret for k3s cluster join (set via TF_VAR or tfvars)"
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
module "control_plane" {
|
|
source = "../../modules/base-template"
|
|
name = "k3s-cp"
|
|
node_count = 1
|
|
|
|
extra_cloud_init_parts = [{
|
|
content_type = "text/cloud-config"
|
|
content = templatefile("${path.module}/cloud-init-cp.yaml", {
|
|
k3s_token = var.k3s_token
|
|
})
|
|
}]
|
|
}
|
|
|
|
module "workers" {
|
|
source = "../../modules/base-template"
|
|
name = "k3s-worker"
|
|
node_count = 2
|
|
|
|
extra_cloud_init_parts = [{
|
|
content_type = "text/cloud-config"
|
|
content = templatefile("${path.module}/cloud-init-worker.yaml", {
|
|
cp_ip = values(module.control_plane.machines)[0]
|
|
join_token = var.k3s_token
|
|
})
|
|
}]
|
|
}
|
|
|
|
output "cluster" {
|
|
value = {
|
|
control_plane = module.control_plane.machines
|
|
workers = module.workers.machines
|
|
}
|
|
}
|