Creates a Hetzner ARM VM, downloads a Ruby compiler, compiles it for arm-linux-gnueabihf (for a 32 bit Raspberry Pi, e.g. Raspberry Pi 3 or Zero 2W),zips it up and downlads it to the controlling machine.
We are using Terraform to
- Create a new VM, and
- Install Tailscale
- The environment variable
HCLOUD_TOKENmust be a valid Hetzner Cloud Token. - The environment variable
TAILSCALE_API_KEYmust have a valid Tailscale API key - The server name is set in
variables.tf, and can be overwritten on the command line as-var server_name=foobar.
scripts/createThe playbook will download the compiled Ruby as ruby-4.0.1-armhf-debian13.tar.gz to the controlling machine.
When copied to a Raspberry Pi, it can be unpacked and installed and used using the following commands:
$ sudo tar -xzf ruby-4.0.1-armhf-debian13.tar.gz -C /
$ PATH=/opt/ruby-4.0.1/bin:$PATH ruby --versionscripts/destroy-
Does the server exist in the Hetzner Cloud?
$ hcloud server list
-
Can you ssh into it using
hcloud?$ hcloud server ssh ruby-compiler
-
Did the cloud-init script succeed?
$ less /var/log/cloud-init.log $ less /var/log/cloud-init-output.log
-
Can you
tailscale ssh ruby-compilerinto the machine?Output appears in the cloud-init logfiles as mentioned above.
-
Did the Ansible playbook succeed?