Terraform for Fedora CoreOS: Immutable Atomic Updates
Provision Fedora CoreOS instances with Terraform: Butane / Ignition config, OSTree updates, and Kubernetes / Podman workloads.
DevOps
Provision Flatcar Container Linux nodes with Terraform: Ignition config, immutable updates, and Kubernetes worker pools on AWS, Azure, and bare metal.
Flatcar Container Linux is the maintained successor to CoreOS Container Linux: minimal, immutable, atomically updated, configured via Ignition. Strong fit for self-managed Kubernetes and edge workloads. Terraform provisions instances and renders the Ignition config from CT (Container Linux Config Transpiler) templates.
data "aws_ami" "flatcar" {
most_recent = true
owners = ["075585003325"] # Kinvolk
filter {
name = "name"
values = ["Flatcar-stable-*-hvm"]
}
}
resource "aws_instance" "flatcar" {
ami = data.aws_ami.flatcar.id
instance_type = "t3.medium"
user_data = data.ct_config.worker.rendered
tags = { Name = "flatcar-worker" }
}data "ct_config" "worker" {
content = file("${path.module}/worker.yaml")
strict = true
}worker.yaml:
variant: flatcar
version: 1.1.0
storage:
files:
- path: /etc/hostname
mode: 0644
contents:
inline: flatcar-worker-1
systemd:
units:
- name: docker.service
enabled: truestorage:
files:
- path: /etc/flatcar/update.conf
mode: 0644
contents:
inline: |
GROUP=stable
REBOOT_STRATEGY=etcd-locketcd-lock coordinates rolling reboots across the cluster.
ct_config provider (poseidon/ct) to generate Ignition — never hand-write JSON.stable, beta, alpha) per environment.etcd-lock or Kured — Flatcar reboots automatically by default.Provision Fedora CoreOS instances with Terraform: Butane / Ignition config, OSTree updates, and Kubernetes / Podman workloads.
Provision Bottlerocket OS Kubernetes nodes with Terraform on Amazon EKS: managed node groups, custom AMIs, settings, and automated updates.
Provision Talos Linux Kubernetes nodes with Terraform on AWS, vSphere, and Proxmox: machine config, talosctl bootstrap, and automated upgrades.
Provision AWS EKS Auto Mode with Terraform. Automated node management, built-in Karpenter, pod identity, and comparison with standard EKS managed node groups.