annotate packages.py @ 12:15c5ce7c74b5

refactor, cleanup, split large deploys
author drewp@bigasterisk.com
date Thu, 11 Nov 2021 23:31:21 -0800
parents
children d0ca4e569009
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
1 from pyinfra import host
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
2 from pyinfra.facts.server import LinuxDistribution
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
3 from pyinfra.operations import apt, files, ssh
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
4
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
5 bang_is_old = True # remove after upgrade
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
6 is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux']
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
7 is_wifi_pi = host.name in ['frontdoor', 'living']
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
8
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
9 if not is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
10 apt.key(keyserver='keyserver.ubuntu.com', keyid='8B48AD6246925553')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
11
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
12 if is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
13 apt.packages(packages=['mandb', 'apt-listchanges'], present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
14 files.template(src='templates/pi_sources.list.j2', dest='/etc/apt/sources.list', rel='bullseye')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
15 # 'apt upgrade'?
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
16 apt.packages(update=True, packages=['dirmngr', 'gnupg2', 'apt-utils'])
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
17
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
18 apt.key(src='https://ftp-master.debian.org/keys/archive-key-8.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
19 apt.key(src='https://ftp-master.debian.org/keys/archive-key-8-security.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
20 apt.key(src='https://ftp-master.debian.org/keys/archive-key-9-security.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
21
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
22 files.file(path='/etc/apt/sources.list.d/raspi.list', present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
23
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
24 if is_wifi_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
25 files.put(dest="/etc/network/interfaces.d/wlan0", src="files/pi_wlan0_powersave")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
26 ssh.command(host.name, "iw wlan0 set power_save off")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
27
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
28 files.template(src='templates/boot_config.txt.j2', dest='/boot/config.txt')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
29
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
30 if not is_pi and host.name != 'prime':
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
31 apt.key(src='https://dl.google.com/linux/linux_signing_key.pub')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
32 apt.repo(src='deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
33
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
34 apt.key(src='https://packages.microsoft.com/keys/microsoft.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
35 apt.repo(src="deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
36
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
37 apt.ppa(src="ppa:savoury1/blender")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
38
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
39 apt.key(keyserver='keyserver.ubuntu.com', keyid='F24AEA9FB05498B7')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
40 apt.repo(src="deb [arch=amd64,i386] https://repo.steampowered.com/steam/ stable steam")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
41
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
42 apt.packages(packages=[
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
43 'build-essential',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
44 # 'i2c-tools',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
45 'rsync',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
46 'dstat',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
47 'ifstat',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
48 ])
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
49
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
50 if not is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
51 apt.packages(packages=[
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
52 'keychain',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
53 'python3-docker',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
54 'python3-invoke',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
55 'python3-pip',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
56 'python3-virtualenv',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
57 'sysstat',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
58 ])
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
59
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
60 if not is_pi and not bang_is_old:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
61 apt.packages(packages='mlocate', present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
62 apt.packages(packages='plocate')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
63
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
64 if host.name == "bang":
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
65 apt.packages(packages=[
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
66 'libzfs2linux',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
67 'zfsutils-linux',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
68 'zfs-zed',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
69 'zfs-auto-snapshot',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
70 ])