diff --git a/system_os/digitalocean/do.pkr.hcl b/system_os/digitalocean/do.pkr.hcl new file mode 100644 index 0000000..fd6f1f8 --- /dev/null +++ b/system_os/digitalocean/do.pkr.hcl @@ -0,0 +1,53 @@ + +packer { + required_plugins { + digitalocean = { + version = ">= 1.0.0" + source = "github.com/hashicorp/digitalocean" + } + } +} + +variable "do_api_token" { + type = string + default = "${env("DO_API_TOKEN")}" + sensitive = true +} + +variable "do_region" { + type = string + default = "lon1" +} + +variable "talos_version" { + type = string + default = "v0.11.0" +} + +source "digitalocean" "talos" { + api_token = var.do_api_token + image = "debian-10-x64" + region = var.do_region + size = "s-1vcpu-1gb" + monitoring = false + + ipv6 = true + private_networking = false + + ssh_username = "root" + + snapshot_name = "talos system disk" + snapshot_regions = [var.do_region] +} + +# FIXME +build { + sources = ["source.digitalocean.talos"] + provisioner "shell" { + inline = [ + "apt-get install -y wget", + "wget -O /tmp/digital-ocean.tar.gz https://github.com/talos-systems/talos/releases/download/${var.talos_version}/digital-ocean-amd64.tar.gz", + "cd /tmp && tar xzf /tmp/digital-ocean.tar.gz && dd if=/tmp/disk.raw of=/dev/vda", + ] + } +} diff --git a/system_os/upcloud/upcloud.pkr.hcl b/system_os/upcloud/upcloud.pkr.hcl index 20895f6..87c5569 100644 --- a/system_os/upcloud/upcloud.pkr.hcl +++ b/system_os/upcloud/upcloud.pkr.hcl @@ -45,13 +45,14 @@ source "upcloud" "talos" { # clone_zones = var.upcloud_zones } +# FIXME build { sources = ["source.upcloud.talos"] provisioner "shell" { inline = [ "apt-get install -y wget", "wget -O /tmp/talos.tar.gz https://github.com/talos-systems/talos/releases/download/${var.talos_version}/metal-amd64.tar.gz", - "tar xOzf /tmp/talos.tar.gz | dd of=/dev/vda", + "sync && sync && tar xOzf /tmp/talos.tar.gz | dd of=/dev/vda && systemctl --force --force poweroff", ] } }