From 682d5f1e02610181e3fc7c77e0b178314cb9e810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Mare=C5=A1?= Date: Fri, 13 Jun 2025 20:49:39 +0200 Subject: [PATCH] feat: add talos v1.10.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Vojtěch Mareš --- .gitlab-ci.yml | 1 + README.md | 1 + images/talos-v1.10.3.pkr.hcl | 58 ++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 images/talos-v1.10.3.pkr.hcl diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 519e166..a71bf66 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,6 +19,7 @@ stages: matrix: - IMAGE: - flatcar-stable + - talos-v1.10.3 validate: extends: .parallel diff --git a/README.md b/README.md index d6e0fd6..fd6b0ba 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,4 @@ A collection of custom images on my Hetzner Cloud. | **Name** | **Version** | **Path** | | :------: | :---------------: | ------------------------------- | | Flatcar | _Rolling release_ | `images/flatcar-stable.pkr.hcl` | +| Talos | _v1.10.3_ | `images/talos-v1.10.3.pkr.hcl` | diff --git a/images/talos-v1.10.3.pkr.hcl b/images/talos-v1.10.3.pkr.hcl new file mode 100644 index 0000000..c0481c3 --- /dev/null +++ b/images/talos-v1.10.3.pkr.hcl @@ -0,0 +1,58 @@ +# hcloud.pkr.hcl + +packer { + required_plugins { + hcloud = { + source = "github.com/hetznercloud/hcloud" + version = ">= 1.6.0, < 2.0.0" + } + } +} + +locals { + image = "https://factory.talos.dev/image/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba/${local.talos_version}/hcloud-${var.arch}.raw.xz" + talos_version = "v1.10.3" +} + +variable "hcloud_token" { + type = string + default = env("HCLOUD_TOKEN") + sensitive = true +} + +source "hcloud" "talos" { + token = var.hcloud_token + + rescue = "linux64" + image = "debian-11" + location = "fsn1" + ssh_username = "root" + + snapshot_labels = { + type = "infra", + os = "talos", + version = "${local.talos_version}", + } +} + +build { + source "hcloud.talos" { + name = "x86" + server_type = "cx22" + snapshot_name = "talos-${local.talos_version}-amd64-${formatdate("YYYY-MM-DD", timestamp())}" + } + + source "hcloud.talos" { + name = "arm" + server_type = "cax11" + snapshot_name = "talos-${local.talos_version}-arm64-${formatdate("YYYY-MM-DD", timestamp())}" + } + + provisioner "shell" { + inline = [ + "apt-get install -y wget", + "wget -O /tmp/talos.raw.xz ${local.image}", + "xz -d -c /tmp/talos.raw.xz | dd of=/dev/sda && sync", + ] + } +}