diff --git a/CHANGES.md b/CHANGES.md index 0d8f64568..5f1590b33 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,6 +4,13 @@ Notable changes between versions. ## Latest + +### Fedora CoreOS + +* Update Butane Config version from v1.2.0 to v1.4.0 + * Rename Fedora CoreOS Config to Butane Config + * Require any [snippets](https://typhoon.psdn.io/advanced/customization/#hosts) customizations to update to v1.4.0 + ## v1.21.3 * Kubernetes [v1.21.3](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#v1213) diff --git a/aws/fedora-coreos/kubernetes/fcc/controller.yaml b/aws/fedora-coreos/kubernetes/fcc/controller.yaml index 807195a5a..d1d313f3c 100644 --- a/aws/fedora-coreos/kubernetes/fcc/controller.yaml +++ b/aws/fedora-coreos/kubernetes/fcc/controller.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: etcd-member.service diff --git a/aws/fedora-coreos/kubernetes/variables.tf b/aws/fedora-coreos/kubernetes/variables.tf index 59e20c471..728050558 100644 --- a/aws/fedora-coreos/kubernetes/variables.tf +++ b/aws/fedora-coreos/kubernetes/variables.tf @@ -84,13 +84,13 @@ variable "worker_target_groups" { variable "controller_snippets" { type = list(string) - description = "Controller Fedora CoreOS Config snippets" + description = "Controller Butane snippets" default = [] } variable "worker_snippets" { type = list(string) - description = "Worker Fedora CoreOS Config snippets" + description = "Worker Butane snippets" default = [] } diff --git a/aws/fedora-coreos/kubernetes/workers/fcc/worker.yaml b/aws/fedora-coreos/kubernetes/workers/fcc/worker.yaml index 0d853d117..4e37e06ab 100644 --- a/aws/fedora-coreos/kubernetes/workers/fcc/worker.yaml +++ b/aws/fedora-coreos/kubernetes/workers/fcc/worker.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: docker.service diff --git a/aws/fedora-coreos/kubernetes/workers/variables.tf b/aws/fedora-coreos/kubernetes/workers/variables.tf index fbd2ce191..4bb8b7144 100644 --- a/aws/fedora-coreos/kubernetes/workers/variables.tf +++ b/aws/fedora-coreos/kubernetes/workers/variables.tf @@ -77,7 +77,7 @@ variable "target_groups" { variable "snippets" { type = list(string) - description = "Fedora CoreOS Config snippets" + description = "Butane snippets" default = [] } diff --git a/azure/fedora-coreos/kubernetes/fcc/controller.yaml b/azure/fedora-coreos/kubernetes/fcc/controller.yaml index 3a358f317..de37ea313 100644 --- a/azure/fedora-coreos/kubernetes/fcc/controller.yaml +++ b/azure/fedora-coreos/kubernetes/fcc/controller.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: etcd-member.service diff --git a/azure/fedora-coreos/kubernetes/variables.tf b/azure/fedora-coreos/kubernetes/variables.tf index de04d6c3a..f13f410f2 100644 --- a/azure/fedora-coreos/kubernetes/variables.tf +++ b/azure/fedora-coreos/kubernetes/variables.tf @@ -65,13 +65,13 @@ variable "worker_priority" { variable "controller_snippets" { type = list(string) - description = "Controller Fedora CoreOS Config snippets" + description = "Controller Butane snippets" default = [] } variable "worker_snippets" { type = list(string) - description = "Worker Fedora CoreOS Config snippets" + description = "Worker Butane snippets" default = [] } diff --git a/azure/fedora-coreos/kubernetes/workers/fcc/worker.yaml b/azure/fedora-coreos/kubernetes/workers/fcc/worker.yaml index 45472aab3..ec9ff84dc 100644 --- a/azure/fedora-coreos/kubernetes/workers/fcc/worker.yaml +++ b/azure/fedora-coreos/kubernetes/workers/fcc/worker.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: docker.service diff --git a/azure/fedora-coreos/kubernetes/workers/variables.tf b/azure/fedora-coreos/kubernetes/workers/variables.tf index b7084636b..44fa04ef6 100644 --- a/azure/fedora-coreos/kubernetes/workers/variables.tf +++ b/azure/fedora-coreos/kubernetes/workers/variables.tf @@ -57,7 +57,7 @@ variable "priority" { variable "snippets" { type = list(string) - description = "Fedora CoreOS Config snippets" + description = "Butane snippets" default = [] } diff --git a/bare-metal/fedora-coreos/kubernetes/fcc/controller.yaml b/bare-metal/fedora-coreos/kubernetes/fcc/controller.yaml index ac1c6d57d..32de89881 100644 --- a/bare-metal/fedora-coreos/kubernetes/fcc/controller.yaml +++ b/bare-metal/fedora-coreos/kubernetes/fcc/controller.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: etcd-member.service diff --git a/bare-metal/fedora-coreos/kubernetes/fcc/worker.yaml b/bare-metal/fedora-coreos/kubernetes/fcc/worker.yaml index 626047c09..58b586540 100644 --- a/bare-metal/fedora-coreos/kubernetes/fcc/worker.yaml +++ b/bare-metal/fedora-coreos/kubernetes/fcc/worker.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: docker.service diff --git a/bare-metal/fedora-coreos/kubernetes/variables.tf b/bare-metal/fedora-coreos/kubernetes/variables.tf index d01dc683d..f5ec95609 100644 --- a/bare-metal/fedora-coreos/kubernetes/variables.tf +++ b/bare-metal/fedora-coreos/kubernetes/variables.tf @@ -57,7 +57,7 @@ EOD variable "snippets" { type = map(list(string)) - description = "Map from machine names to lists of Fedora CoreOS Config snippets" + description = "Map from machine names to lists of Butane snippets" default = {} } diff --git a/digital-ocean/fedora-coreos/kubernetes/fcc/controller.yaml b/digital-ocean/fedora-coreos/kubernetes/fcc/controller.yaml index 1f25d39b4..3af8dc8af 100644 --- a/digital-ocean/fedora-coreos/kubernetes/fcc/controller.yaml +++ b/digital-ocean/fedora-coreos/kubernetes/fcc/controller.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: etcd-member.service diff --git a/digital-ocean/fedora-coreos/kubernetes/fcc/worker.yaml b/digital-ocean/fedora-coreos/kubernetes/fcc/worker.yaml index 570b58c5e..229184c6e 100644 --- a/digital-ocean/fedora-coreos/kubernetes/fcc/worker.yaml +++ b/digital-ocean/fedora-coreos/kubernetes/fcc/worker.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: docker.service diff --git a/digital-ocean/fedora-coreos/kubernetes/variables.tf b/digital-ocean/fedora-coreos/kubernetes/variables.tf index 62f885c65..ddf5b01e6 100644 --- a/digital-ocean/fedora-coreos/kubernetes/variables.tf +++ b/digital-ocean/fedora-coreos/kubernetes/variables.tf @@ -48,13 +48,13 @@ variable "os_image" { variable "controller_snippets" { type = list(string) - description = "Controller Fedora CoreOS Config snippets" + description = "Controller Butane snippets" default = [] } variable "worker_snippets" { type = list(string) - description = "Worker Fedora CoreOS Config snippets" + description = "Worker Butane snippets" default = [] } diff --git a/docs/advanced/customization.md b/docs/advanced/customization.md index 9503e4f06..be59b0523 100644 --- a/docs/advanced/customization.md +++ b/docs/advanced/customization.md @@ -12,9 +12,9 @@ Clusters are kept to a minimal Kubernetes control plane by offering components l ## Hosts -Typhoon uses the [Ignition](https://github.com/coreos/ignition) system of Fedora CoreOS and Flatcar Linux to immutably declare a system via first-boot disk provisioning. Fedora CoreOS uses a [Fedora CoreOS Config](https://docs.fedoraproject.org/en-US/fedora-coreos/fcct-config/) (FCC) and Flatcar Linux uses a [Container Linux Config](https://github.com/coreos/container-linux-config-transpiler/blob/master/doc/examples.md) (CLC). These define disk partitions, filesystems, systemd units, dropins, config files, mount units, raid arrays, and users. +Typhoon uses the [Ignition](https://github.com/coreos/ignition) system of Fedora CoreOS and Flatcar Linux to immutably declare a system via first-boot disk provisioning. Fedora CoreOS uses a [Butane Config](https://coreos.github.io/butane/specs/) and Flatcar Linux uses a [Container Linux Config](https://github.com/coreos/container-linux-config-transpiler/blob/master/doc/examples.md) (CLC). These define disk partitions, filesystems, systemd units, dropins, config files, mount units, raid arrays, and users. -Controller and worker instances form a minimal and secure Kubernetes cluster on each platform. Typhoon provides the **snippets** feature to accept Fedora CoreOS Configs or Container Linux Configs to validate and additively merge into instance declarations. This allows advanced host customization and experimentation. +Controller and worker instances form a minimal and secure Kubernetes cluster on each platform. Typhoon provides the **snippets** feature to accept Butane or Container Linux Configs to validate and additively merge into instance declarations. This allows advanced host customization and experimentation. !!! note Snippets cannot be used to modify an already existing instance, the antithesis of immutable provisioning. Ignition fully declares a system on first boot only. @@ -30,14 +30,14 @@ Controller and worker instances form a minimal and secure Kubernetes cluster on !!! note Fedora CoreOS snippets require `terraform-provider-ct` v0.5+ -Define a Fedora CoreOS Config (FCC) ([docs](https://docs.fedoraproject.org/en-US/fedora-coreos/fcct-config/), [config](https://github.com/coreos/fcct/blob/master/docs/configuration-v1_0.md), [examples](https://github.com/coreos/fcct/blob/master/docs/examples.md)) in version control near your Terraform workspace directory (e.g. perhaps in a `snippets` subdirectory). You may organize snippets into multiple files, if desired. +Define a Butane Config ([docs](https://coreos.github.io/butane/specs/), [config](https://github.com/coreos/butane/blob/main/docs/config-fcos-v1_4.md)) in version control near your Terraform workspace directory (e.g. perhaps in a `snippets` subdirectory). You may organize snippets into multiple files, if desired. For example, ensure an `/opt/hello` file is created with permissions 0644. ```yaml # custom-files variant: fcos -version: 1.2.0 +version: 1.4.0 storage: files: - path: /opt/hello @@ -185,7 +185,7 @@ To set an alternative etcd image or Kubelet image, use a snippet to set a system ```yaml # kubelet-image-override.yaml variant: fcos <- remove for Flatcar Linux - version: 1.2.0 <- remove for Flatcar Linux + version: 1.4.0 <- remove for Flatcar Linux systemd: units: - name: kubelet.service @@ -201,7 +201,7 @@ To set an alternative etcd image or Kubelet image, use a snippet to set a system ```yaml # etcd-image-override.yaml variant: fcos <- remove for Flatcar Linux - version: 1.2.0 <- remove for Flatcar Linux + version: 1.4.0 <- remove for Flatcar Linux systemd: units: - name: etcd-member.service diff --git a/docs/fedora-coreos/aws.md b/docs/fedora-coreos/aws.md index a97e99092..8fa40aadf 100644 --- a/docs/fedora-coreos/aws.md +++ b/docs/fedora-coreos/aws.md @@ -216,8 +216,8 @@ Reference the DNS zone id with `aws_route53_zone.zone-for-clusters.zone_id`. | disk_iops | IOPS of the EBS volume | 0 (i.e. auto) | 400 | | worker_target_groups | Target group ARNs to which worker instances should be added | [] | [aws_lb_target_group.app.id] | | worker_price | Spot price in USD for worker instances or 0 to use on-demand instances | 0 | 0.10 | -| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) | -| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) | +| controller_snippets | Controller Butane snippets | [] | [examples](/advanced/customization/) | +| worker_snippets | Worker Butane snippets | [] | [examples](/advanced/customization/) | | networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" | | network_mtu | CNI interface MTU (calico only) | 1480 | 8981 | | host_cidr | CIDR IPv4 range to assign to EC2 instances | "10.0.0.0/16" | "10.1.0.0/16" | diff --git a/docs/fedora-coreos/azure.md b/docs/fedora-coreos/azure.md index b243d9508..83d2d71bc 100644 --- a/docs/fedora-coreos/azure.md +++ b/docs/fedora-coreos/azure.md @@ -243,8 +243,8 @@ Reference the DNS zone with `azurerm_dns_zone.clusters.name` and its resource gr | worker_type | Machine type for workers | "Standard_DS1_v2" | See below | | disk_size | Size of the disk in GB | 30 | 100 | | worker_priority | Set priority to Spot to use reduced cost surplus capacity, with the tradeoff that instances can be deallocated at any time | Regular | Spot | -| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [example](/advanced/customization/#usage) | -| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [example](/advanced/customization/#usage) | +| controller_snippets | Controller Butane snippets | [] | [example](/advanced/customization/#usage) | +| worker_snippets | Worker Butane snippets | [] | [example](/advanced/customization/#usage) | | networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" | | host_cidr | CIDR IPv4 range to assign to instances | "10.0.0.0/16" | "10.0.0.0/20" | | pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | diff --git a/docs/fedora-coreos/bare-metal.md b/docs/fedora-coreos/bare-metal.md index 430f6a9e0..fa5414f33 100644 --- a/docs/fedora-coreos/bare-metal.md +++ b/docs/fedora-coreos/bare-metal.md @@ -335,7 +335,7 @@ Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/bare-me | install_disk | Disk device where Fedora CoreOS should be installed | "sda" (not "/dev/sda" like Container Linux) | "sdb" | | networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" | | network_mtu | CNI interface MTU (calico-only) | 1480 | - | -| snippets | Map from machine names to lists of Fedora CoreOS Config snippets | {} | [examples](/advanced/customization/) | +| snippets | Map from machine names to lists of Butane snippets | {} | [examples](/advanced/customization/) | | network_ip_autodetection_method | Method to detect host IPv4 address (calico-only) | "first-found" | "can-reach=10.0.0.1" | | pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | | service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | diff --git a/docs/fedora-coreos/digitalocean.md b/docs/fedora-coreos/digitalocean.md index 5a0b790a5..434f02f05 100644 --- a/docs/fedora-coreos/digitalocean.md +++ b/docs/fedora-coreos/digitalocean.md @@ -238,8 +238,8 @@ Digital Ocean requires the SSH public key be uploaded to your account, so you ma | worker_count | Number of workers | 1 | 3 | | controller_type | Droplet type for controllers | "s-2vcpu-2gb" | s-2vcpu-2gb, s-2vcpu-4gb, s-4vcpu-8gb, ... | | worker_type | Droplet type for workers | "s-1vcpu-2gb" | s-1vcpu-2gb, s-2vcpu-2gb, ... | -| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [example](/advanced/customization/) | -| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [example](/advanced/customization/) | +| controller_snippets | Controller Butane snippets | [] | [example](/advanced/customization/) | +| worker_snippets | Worker Butane snippets | [] | [example](/advanced/customization/) | | networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" | | pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | | service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | diff --git a/docs/fedora-coreos/google-cloud.md b/docs/fedora-coreos/google-cloud.md index f433abafb..1012d52b5 100644 --- a/docs/fedora-coreos/google-cloud.md +++ b/docs/fedora-coreos/google-cloud.md @@ -218,8 +218,8 @@ resource "google_dns_managed_zone" "zone-for-clusters" { | os_stream | Fedora CoreOS stream for compute instances | "stable" | "stable", "testing", "next" | | disk_size | Size of the disk in GB | 30 | 100 | | worker_preemptible | If enabled, Compute Engine will terminate workers randomly within 24 hours | false | true | -| controller_snippets | Controller Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) | -| worker_snippets | Worker Fedora CoreOS Config snippets | [] | [examples](/advanced/customization/) | +| controller_snippets | Controller Butane snippets | [] | [examples](/advanced/customization/) | +| worker_snippets | Worker Butane snippets | [] | [examples](/advanced/customization/) | | networking | Choice of networking provider | "calico" | "calico" or "cilium" or "flannel" | | pod_cidr | CIDR IPv4 range to assign to Kubernetes pods | "10.2.0.0/16" | "10.22.0.0/16" | | service_cidr | CIDR IPv4 range to assign to Kubernetes services | "10.3.0.0/16" | "10.3.0.0/24" | diff --git a/google-cloud/fedora-coreos/kubernetes/fcc/controller.yaml b/google-cloud/fedora-coreos/kubernetes/fcc/controller.yaml index cb1fb9db9..d7fe8f732 100644 --- a/google-cloud/fedora-coreos/kubernetes/fcc/controller.yaml +++ b/google-cloud/fedora-coreos/kubernetes/fcc/controller.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: etcd-member.service diff --git a/google-cloud/fedora-coreos/kubernetes/variables.tf b/google-cloud/fedora-coreos/kubernetes/variables.tf index e0e9c3a41..2c911c042 100644 --- a/google-cloud/fedora-coreos/kubernetes/variables.tf +++ b/google-cloud/fedora-coreos/kubernetes/variables.tf @@ -71,13 +71,13 @@ variable "worker_preemptible" { variable "controller_snippets" { type = list(string) - description = "Controller Fedora CoreOS Config snippets" + description = "Controller Butane snippets" default = [] } variable "worker_snippets" { type = list(string) - description = "Worker Fedora CoreOS Config snippets" + description = "Worker Butane snippets" default = [] } diff --git a/google-cloud/fedora-coreos/kubernetes/workers/fcc/worker.yaml b/google-cloud/fedora-coreos/kubernetes/workers/fcc/worker.yaml index 80f74049f..30265ee81 100644 --- a/google-cloud/fedora-coreos/kubernetes/workers/fcc/worker.yaml +++ b/google-cloud/fedora-coreos/kubernetes/workers/fcc/worker.yaml @@ -1,6 +1,6 @@ --- variant: fcos -version: 1.2.0 +version: 1.4.0 systemd: units: - name: docker.service diff --git a/google-cloud/fedora-coreos/kubernetes/workers/variables.tf b/google-cloud/fedora-coreos/kubernetes/workers/variables.tf index ae30443fb..8fed0043b 100644 --- a/google-cloud/fedora-coreos/kubernetes/workers/variables.tf +++ b/google-cloud/fedora-coreos/kubernetes/workers/variables.tf @@ -59,7 +59,7 @@ variable "preemptible" { variable "snippets" { type = list(string) - description = "Fedora CoreOS Config snippets" + description = "Butane snippets" default = [] }