DEVELOPMENT ENVIRONMENT

~liljamo/anemos-test

ref: 29150865d1c19fecb7f40b3e54bb73ed0ea4e1c3 anemos-test/justfile -rw-r--r-- 2.6 KiB
29150865Jonni Liljamo feat: working anemos config 14 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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}}