annotate packages.py @ 56:4c15fc1e879d

bump some tool versions
author drewp@bigasterisk.com
date Wed, 06 Apr 2022 19:22:13 -0700
parents 23c1450eb9a3
children a949704defd0
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
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
3 from pyinfra.operations import apt, files, ssh, server
12
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 is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux']
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
6 is_wifi_pi = host.name in ['frontdoor', 'living']
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
7
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
8 if not is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
9 apt.key(keyserver='keyserver.ubuntu.com', keyid='8B48AD6246925553')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
10
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
11 if is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
12 apt.packages(packages=['mandb', 'apt-listchanges'], present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
13 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
14 # 'apt upgrade'?
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
15 apt.packages(
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
16 update=False, # see system.py
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
17 packages=['dirmngr', 'gnupg2', 'apt-utils'])
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
18
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.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-8-security.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
21 apt.key(src='https://ftp-master.debian.org/keys/archive-key-9-security.asc')
13
d0ca4e569009 upgrade ubuntu on bang
drewp@bigasterisk.com
parents: 12
diff changeset
22 apt.key(keyserver='keyserver.ubuntu.com', keyid='04EE7237B7D453EC')
d0ca4e569009 upgrade ubuntu on bang
drewp@bigasterisk.com
parents: 12
diff changeset
23 apt.key(keyserver='keyserver.ubuntu.com', keyid='648ACFD622F3D138')
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
24
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
25 files.file(path='/etc/apt/sources.list.d/raspi.list', present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
26
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
27 if is_wifi_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
28 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
29 ssh.command(host.name, "iw wlan0 set power_save off")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
30
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
31 files.template(src='templates/boot_config.txt.j2', dest='/boot/config.txt')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
32
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
33 if not is_pi and host.name != 'prime':
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
34 apt.key(src='https://dl.google.com/linux/linux_signing_key.pub')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
35 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
36
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
37 apt.key(src='https://packages.microsoft.com/keys/microsoft.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
38 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
39
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
40 apt.key(keyserver='keyserver.ubuntu.com', keyid='F24AEA9FB05498B7')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
41 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
42
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
43 apt.packages(packages=[
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
44 'build-essential',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
45 # 'i2c-tools',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
46 'rsync',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
47 'dstat',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
48 'ifstat',
24
ebcc782fabb8 more pkgs for all hosts
drewp@bigasterisk.com
parents: 13
diff changeset
49 'mosquitto-clients',
ebcc782fabb8 more pkgs for all hosts
drewp@bigasterisk.com
parents: 13
diff changeset
50 'ncdu',
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
51 "udns-utils",
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
52 "atool",
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
53 ])
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
54
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
55 if not is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
56 apt.packages(packages=[
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
57 'keychain',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
58 'python3-docker',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
59 'python3-invoke',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
60 'python3-pip',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
61 'python3-virtualenv',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
62 'sysstat',
24
ebcc782fabb8 more pkgs for all hosts
drewp@bigasterisk.com
parents: 13
diff changeset
63 'debian-goodies',
25
16cd19a68832 add lxterminal (because kitty isn't configured yet)
drewp@bigasterisk.com
parents: 24
diff changeset
64 'lxterminal',
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
65 'iotop',
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
66 'lpr',
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
67 'nodejs',
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
68 'npm',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
69 ])
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
70 vers = '0.24.4' # see https://github.com/kovidgoyal/kitty/releases
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
71 home = '/home/drewp'
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
72 local = f"{home}/.local/kitty"
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
73 dl = f'/tmp/kitty-{vers}-x86_64.txz'
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
74 files.download(src=f"https://github.com/kovidgoyal/kitty/releases/download/v{vers}/kitty-{vers}-x86_64.txz",
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
75 dest=dl)
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
76 files.makedirs(local, exist_ok=True)
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
77 server.shell([
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
78 f"mkdir -p {local}", # https://github.com/Fizzadar/pyinfra/issues/777
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
79 f"aunpack --extract-to={local} {dl}",
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
80 ])
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
81 files.link(target="{local}/bin/kitty", path="{home}/bin/kitty")
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
82
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
83 server.shell([
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
84 "npm install -g pnpm@6.32.3",
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
85 ])
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
86
13
d0ca4e569009 upgrade ubuntu on bang
drewp@bigasterisk.com
parents: 12
diff changeset
87 if not is_pi and not (host.name == 'prime'):
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
88 apt.packages(packages='mlocate', present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
89 apt.packages(packages='plocate')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
90
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
91 if host.name == "bang":
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
92 apt.packages(packages=[
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
93 'iptables',
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
94 'openntpd',
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
95 'ntpdate',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
96 'zfsutils-linux',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
97 'zfs-zed',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
98 'zfs-auto-snapshot',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
99 ])
37
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
100
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
101 if host.name == 'plus':
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
102 apt.packages(packages=['network-manager'])