diff --git a/CHANGES.md b/CHANGES.md index 0d8f6456..5f1590b3 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 807195a5..d1d313f3 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 59e20c47..72805055 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 0d853d11..4e37e06a 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 fbd2ce19..4bb8b714 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 3a358f31..de37ea31 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 de04d6c3..f13f410f 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 45472aab..ec9ff84d 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 b7084636..44fa04ef 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 ac1c6d57..32de8988 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 626047c0..58b58654 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 d01dc683..f5ec9560 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 1f25d39b..3af8dc8a 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 570b58c5..229184c6 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 62f885c6..ddf5b01e 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 9503e4f0..be59b052 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 a97e9909..8fa40aad 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 b243d950..83d2d71b 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 430f6a9e..fa5414f3 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 5a0b790a..434f02f0 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 f433abaf..1012d52b 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 cb1fb9db..d7fe8f73 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 e0e9c3a4..2c911c04 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 80f74049..30265ee8 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 ae30443f..8fed0043 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 = [] }