payload := "payload.tar.gz" host := "10.1.31.245" ssh_opts := "-i ~/.ssh/id_ed25519_jl" _default: just --list # Download alpine linux keys alpine-keys: #!/usr/bin/env sh mkdir -p files/etc/apk/keys cd files/etc/apk/keys # Copy the names unser APKBUILD from here: # https://git.alpinelinux.org/aports/plain/main/alpine-keys keys=" alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub " for key in $keys; do curl -O "https://git.alpinelinux.org/aports/plain/main/alpine-keys/${key}" done # Test the IMGBUILD test: sudo makeimg rm ./anemos-test.img rm ./anemos-test.packages # Check host reachability via ping check-host: #!/usr/bin/env sh ping -w 1 -c 1 {{host}} if [ $? -ne 0 ]; then echo "Host is not reachable" exit 1 fi # Tar the anemos payload payload: tar czf {{payload}} IMGBUILD files # Initialize with anemos on a new host init: check-host payload scp {{ssh_opts}} {{payload}} files/etc/anemos.conf root@{{host}}: ssh {{ssh_opts}} root@{{host}} wget https://git.sr.ht/~bitfehler/anemos-cli/blob/master/anemos ssh {{ssh_opts}} root@{{host}} chmod +x anemos ssh {{ssh_opts}} root@{{host}} ./anemos -c anemos.conf rm {{payload}} # Deploy with anemos on an existing host deploy: check-host payload scp {{ssh_opts}} {{payload}} root@{{host}}: ssh {{ssh_opts}} root@{{host}} wget https://git.sr.ht/~bitfehler/anemos-cli/blob/master/anemos ssh {{ssh_opts}} root@{{host}} chmod +x anemos ssh {{ssh_opts}} root@{{host}} mount /boot ssh {{ssh_opts}} root@{{host}} ./anemos rm {{payload}}