Mercurial > code > home > repos > infra
changeset 313:b3acb9fff274
updates for new ga-iot (pi reformat of host=garage)
author | drewp@bigasterisk.com |
---|---|
date | Mon, 23 Sep 2024 00:32:36 -0700 |
parents | 5f8d328e32b3 |
children | 8a1cbc033fc1 |
files | inventory.py pi-setup/setup_pi.py pi-setup/tasks.py templates/dnsmasq/hosts.j2 templates/wireguard/wg0.conf.j2 users.py |
diffstat | 6 files changed, 11 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/inventory.py Mon Sep 16 20:11:34 2024 -0700 +++ b/inventory.py Mon Sep 23 00:32:36 2024 -0700 @@ -16,6 +16,7 @@ ('ws-printer', {'drewp_uid': 1000, 'drewp_gid': 501, 'wireguard_address': '10.5.0.31', 'ssh_hostname': 'ws-printer5', }), # ('li-drums', {'drewp_uid': 1000, 'drewp_gid': 501, 'wireguard_address': '10.5.0.33', 'ssh_hostname': 'li-drums5', }), # ('gn-music', {'drewp_uid': 1000, 'drewp_gid': 501, 'wireguard_address': '10.5.0.32', 'ssh_hostname': 'gn-music5', }), + ('ga-iot', {'drewp_uid': 1501, 'drewp_gid': 501, 'wireguard_address': '10.5.0.14', 'ssh_hostname': '10.2.0.37', }), ] hosted = [
--- a/pi-setup/setup_pi.py Mon Sep 16 20:11:34 2024 -0700 +++ b/pi-setup/setup_pi.py Mon Sep 23 00:32:36 2024 -0700 @@ -56,6 +56,7 @@ async with mount(WORK, WORK / 'raspios.img', IMG_BOOT_OFFSET) as img_boot: await run('cp', img_boot / 'bcm2710-rpi-3-b-plus.dtb', WORK) await run('cp', img_boot / 'kernel8.img', WORK) + await run('cp', img_boot / 'bootcode.bin', WORK) @step @@ -80,7 +81,7 @@ ['-m', '1G'], ['-smp', '4'], ['-kernel', WORK / 'kernel8.img'], - ['-sd', WORK / 'raspios.img'], + ['-drive', 'file=' + str(WORK / 'raspios.img') + ',format=raw'], ['-append', "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1"], ['-device', 'usb-net,netdev=net0'], ['-netdev', 'user,id=net0,hostfwd=tcp::2222-:22'], @@ -116,7 +117,7 @@ await run('ssh', ssh_opts, 'root@localhost', *cmd_on_pi) -async def _get_iscsi_device(better_be_the_iscsi_device='sde') -> Path: +async def _get_iscsi_device(better_be_the_iscsi_device='sdh') -> Path: # don't screw up- this device is about to get formatted! dev_path = Path(f'/dev/{better_be_the_iscsi_device}') @@ -125,6 +126,7 @@ if f'/dev/{m}' != str(dev_path): raise ValueError(f'surprised by attached iscsi disk {m!r} (try `iscsiadm -m node --logoutall=all`)') + # the following might no longer work. check /dev/disk/by-path/*scsi* too. fdisk = await get_output('fdisk', '-l', dev_path) for m in re.findall(r'Disk model: (\S+)', fdisk): if m != 'VIRTUAL-DISK':
--- a/pi-setup/tasks.py Mon Sep 16 20:11:34 2024 -0700 +++ b/pi-setup/tasks.py Mon Sep 23 00:32:36 2024 -0700 @@ -12,6 +12,7 @@ @task def setup_pi(ctx, hostname, serial): + ctx.run("qemu-img --version") # fail fast ctx.run(cmd + f'pdm run -p .. setup_pi.py {hostname} {serial}', pty=True)
--- a/templates/dnsmasq/hosts.j2 Mon Sep 16 20:11:34 2024 -0700 +++ b/templates/dnsmasq/hosts.j2 Mon Sep 23 00:32:36 2024 -0700 @@ -27,7 +27,7 @@ 10.5.0.5 dash5.bigasterisk.com 10.5.0.6 slash5.bigasterisk.com 10.5.0.7 ditto5.bigasterisk.com -10.5.0.14 garage5.bigasterisk.com +10.5.0.14 ga-iot5.bigasterisk.com 10.5.0.17 frontbed5.bigasterisk.com 10.5.0.30 dot5.bigasterisk.com 10.5.0.31 ws-printer5.bigasterisk.com @@ -52,7 +52,7 @@ 10.5.0.5 dash.bigasterisk.com 10.5.0.6 slash.bigasterisk.com 10.5.0.7 ditto.bigasterisk.com -10.5.0.14 garage.bigasterisk.com +10.5.0.14 ga-iot.bigasterisk.com 10.5.0.17 frontbed.bigasterisk.com 10.5.0.30 dot.bigasterisk.com 10.5.0.110 plus.bigasterisk.com
--- a/templates/wireguard/wg0.conf.j2 Mon Sep 16 20:11:34 2024 -0700 +++ b/templates/wireguard/wg0.conf.j2 Mon Sep 23 00:32:36 2024 -0700 @@ -13,13 +13,13 @@ {{ peer_block('bang', '10.5.0.1/32') }} {{ peer_block('dash', '10.5.0.5/32') }} {{ peer_block('dot', '10.5.0.30/32') }} - {{ peer_block('garage', '10.5.0.14/32') }} {{ peer_block('pipe', '10.5.0.3/32') }} {{ peer_block('prime', '10.5.0.0/24', 'public.bigasterisk.com:1195', 50) }} {{ peer_block('slash', '10.5.0.6/32') }} {{ peer_block('ws-printer', '10.5.0.31/32') }} {{ peer_block('gn-music', '10.5.0.32/32') }} {{ peer_block('li-drums', '10.5.0.33/32') }} + {{ peer_block('ga-iot', '10.5.0.14/32') }} {% elif host.name == 'prime' %} # this list is wg_roamer & ditto & phone: {{ peer_block('ditto', '10.5.0.0/24') }}
--- a/users.py Mon Sep 16 20:11:34 2024 -0700 +++ b/users.py Mon Sep 23 00:32:36 2024 -0700 @@ -10,7 +10,7 @@ drewp_groups = [ 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', 'plugdev', 'games', 'users', 'netdev', 'i2c', 'input', 'spi', 'gpio', 'fuse', - 'docker', 'render', 'mongodb', 'lpadmin' + 'render', 'mongodb', 'lpadmin' ] for group in [ @@ -20,7 +20,6 @@ 'i2c', 'input', 'netdev', - 'docker', 'render', 'lpadmin', ]: @@ -36,11 +35,11 @@ server.user(user=svc, uid=svcIds, group=svc) svcIds += 1 +# the following gets scrambled on new rpi. Run "useradd -u 1501 drewp" as workaround. server.group(group='drewp', gid=drewp_gid) # this won't change existing drewp uid; I've been doing that myself. server.user(user='drewp', uid=drewp_uid, group='drewp', groups=drewp_groups) - if 'pi' not in host.groups: server.group(group='adm', gid=4) server.group(group='cdrom', gid=24) @@ -50,10 +49,7 @@ # prime has something on 109 server.group(group='lpadmin', gid=200) server.group(group='plugdev', gid=46) - server.group(group='docker', system=True) - server.group(group='damon', gid=3011) - server.group(group='ffg', gid=3008) server.user(user='drewp', uid=drewp_uid, @@ -70,11 +66,6 @@ group=name, groups=['audio', 'dialout', 'docker', 'lp', 'lpadmin', 'sudo', 'video']) - server.user(user='ffg', uid=3013, group='ffg') - - server.user(user='darcsweb') - - server.user(user='newsbru', uid=1019) server.user(user='dmcc', uid=1013) server.group(group='elastic', gid=3018) @@ -88,15 +79,3 @@ server.group(group='prometheus', gid=1010) server.user(user='prometheus', uid=1010) - -# delete when garage is diskless -if host.name == 'garage': - server.group(group='fuse') - server.user(user='pi', - uid=1000, - group=7, - groups=[ - 'lp', 'adm', 'dialout', 'cdrom', 'sudo', 'audio', 'video', - 'plugdev', 'games', 'users', 'netdev', 'i2c', 'input', - 'spi', 'gpio', 'fuse', 'docker' - ])