annotate packages.py @ 108:0381ed592b5c

package updates
author drewp@bigasterisk.com
date Sat, 20 Aug 2022 14:12:33 -0700
parents 8b8ef9d8f0fd
children 7e280bf26dba
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
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
3 from pyinfra.operations import apt, files, 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']
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
6
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
7
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
8 def kitty():
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
9 vers = '0.25.2' # see https://github.com/kovidgoyal/kitty/releases
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
10 home = '/home/drewp'
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
11 local = f"{home}/.local/kitty"
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
12 dl = f'/tmp/kitty-{vers}-x86_64.txz'
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
13 files.download(src=f"https://github.com/kovidgoyal/kitty/releases/download/v{vers}/kitty-{vers}-x86_64.txz", dest=dl)
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
14 files.directory(local)
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
15 server.shell([
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
16 f"mkdir -p {local}", # https://github.com/Fizzadar/pyinfra/issues/777
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
17 f"aunpack --extract-to={local} {dl}",
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
18 ])
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
19 files.link(target="{local}/bin/kitty", path="{home}/bin/kitty")
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
20
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
21
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
22 def pnpm():
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
23 server.shell([
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
24 # https://github.com/pnpm/pnpm/releases
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
25 # but also https://pnpm.io/installation#compatibility
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
26 "npm install -g pnpm@6.32.22",
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
27 ])
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
28
69
659e4b228909 new host 'pipe'
drewp@bigasterisk.com
parents: 62
diff changeset
29
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
30 def proper_locate():
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
31 apt.packages(packages='mlocate', present=False)
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
32 if not is_pi and host.name not in ['prime', 'pipe']:
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
33 apt.packages(packages='plocate')
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
34
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
35
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
36 def pi_sources():
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
37 apt.packages(packages=['mandb', 'apt-listchanges'], present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
38 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
39 # 'apt upgrade'?
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
40 apt.packages(
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
41 update=False, # see system.py
74
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
42 packages=['dirmngr', 'gnupg2', 'apt-utils', 'aptitude'])
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
43
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
44 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
45 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
46 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
47 apt.key(keyserver='keyserver.ubuntu.com', keyid='04EE7237B7D453EC')
d0ca4e569009 upgrade ubuntu on bang
drewp@bigasterisk.com
parents: 12
diff changeset
48 apt.key(keyserver='keyserver.ubuntu.com', keyid='648ACFD622F3D138')
12
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 files.file(path='/etc/apt/sources.list.d/raspi.list', present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
51
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
52 files.template(src='templates/boot_config.txt.j2', dest='/boot/config.txt')
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
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
55 if not is_pi:
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
56 apt.key(keyserver='keyserver.ubuntu.com', keyid='8B48AD6246925553')
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
57
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
58 if host.name == 'pipe':
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
59 apt.packages(packages=['mandb', 'apt-listchanges'], present=False)
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
60 files.template(src='templates/odroid_sources.list.j2', dest='/etc/apt/sources.list', rel='focal')
108
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
61 apt.packages(packages=[
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
62 'python3-iptables',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
63 'podman-docker',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
64 ])
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
65 elif is_pi:
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
66 pi_sources()
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
67
108
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
68 apt.packages(packages=[
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
69 'build-essential',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
70 'dstat',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
71 'ifstat',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
72 'iptables',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
73 'iproute2', # needed for wireguard
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
74 'kitty-terminfo',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
75 'mosquitto-clients',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
76 'ncdu',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
77 'rsync',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
78 'xosview',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
79 'zsh',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
80 "atool",
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
81 "udns-utils",
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
82 "wireguard-tools",
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
83 ])
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
84
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
85 if not is_pi:
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
86 if host.name != 'prime':
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
87 apt.key(src='https://dl.google.com/linux/linux_signing_key.pub')
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
88 apt.repo(src='deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main')
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
89
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
90 apt.key(src='https://packages.microsoft.com/keys/microsoft.asc')
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
91 apt.repo(src="deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main")
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
92
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
93 apt.key(keyserver='keyserver.ubuntu.com', keyid='F24AEA9FB05498B7')
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
94 apt.repo(src="deb [arch=amd64,i386] https://repo.steampowered.com/steam/ stable steam")
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
95
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
96 apt.packages(packages=[
93
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
97 'debian-goodies',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
98 'ethtool',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
99 'htop',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
100 'iotop',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
101 'keychain',
93
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
102 'lpr',
108
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
103 'lua5.3',
93
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
104 'mercurial',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
105 'mtr-tiny',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
106 'net-tools',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
107 'nodejs',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
108 'npm',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
109 'oping',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
110 'python3-invoke',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
111 'python3-pip',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
112 'python3-virtualenv',
93
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
113 'speedtest-cli',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
114 'sysstat',
74
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
115 'tcpdump',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
116 ])
93
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
117 if host.name in ['dash', 'slash', 'bang']:
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
118 apt.packages(packages=[
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
119 'podman-docker',
e4613207a78b podman and maybe other pkgs
drewp@bigasterisk.com
parents: 85
diff changeset
120 ])
83
9e66c3f17351 add reptyr
drewp@bigasterisk.com
parents: 77
diff changeset
121 if host.name != 'pipe':
9e66c3f17351 add reptyr
drewp@bigasterisk.com
parents: 77
diff changeset
122 apt.packages(packages=[
9e66c3f17351 add reptyr
drewp@bigasterisk.com
parents: 77
diff changeset
123 'reptyr',
9e66c3f17351 add reptyr
drewp@bigasterisk.com
parents: 77
diff changeset
124 ])
9e66c3f17351 add reptyr
drewp@bigasterisk.com
parents: 77
diff changeset
125
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
126 kitty()
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
127 pnpm()
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
128
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
129
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
130 proper_locate()
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
131
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
132 if host.name == "bang":
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
133 apt.packages(packages=[
85
1ac08aba5ae5 docker->podman, and some pkgs + inventory
drewp@bigasterisk.com
parents: 83
diff changeset
134 'dnsmasq',
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
135 'iptables',
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
136 'ntpdate',
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
137 'openntpd',
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
138 'zfs-auto-snapshot',
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
139 'zfs-zed',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
140 'zfsutils-linux',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
141 ])
37
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
142
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
143 if host.name == 'plus':
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
144 apt.packages(packages=[
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
145 'network-manager',
108
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
146 'brightnessctl',
0381ed592b5c package updates
drewp@bigasterisk.com
parents: 103
diff changeset
147 'xserver-xorg-input-synaptics',
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
148 ])