Mercurial > code > home > repos > infra
annotate apt.py @ 178:6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
would never upgrade nodejs. I didn't try deleting the host key dirs and
building from scratch yet.
author | drewp@bigasterisk.com |
---|---|
date | Sat, 25 Mar 2023 18:43:42 -0700 |
parents | 522f26c8f691 |
children | 466108f0a509 |
rev | line source |
---|---|
155 | 1 from pyinfra import host |
2 from pyinfra.facts.files import FindFiles | |
3 from pyinfra.facts.server import Arch, LinuxDistribution | |
4 from pyinfra.operations import apt, files, server | |
5 | |
6 TZ = 'America/Los_Angeles' | |
7 | |
178
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
8 |
155 | 9 def pkg_keys(): |
10 # apt.key(keyserver='keyserver.ubuntu.com', keyid='04EE7237B7D453EC') | |
11 # apt.key(keyserver='keyserver.ubuntu.com', keyid='648ACFD622F3D138') | |
12 # apt.key(keyserver='keyserver.ubuntu.com', keyid='8B48AD6246925553') | |
13 # apt.key(keyserver='keyserver.ubuntu.com', keyid='F24AEA9FB05498B7') | |
178
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
14 # if host.name != 'prime': |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
15 # apt.key(keyserver='keyserver.ubuntu.com', keyid='D0392EC59F9583BA') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
16 # apt.key(src='https://dl.google.com/linux/linux_signing_key.pub') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
17 # apt.key(src='https://ftp-master.debian.org/keys/archive-key-8-security.asc') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
18 # apt.key(src='https://ftp-master.debian.org/keys/archive-key-8.asc') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
19 # apt.key(src='https://ftp-master.debian.org/keys/archive-key-9-security.asc') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
20 # apt.key(src='https://packages.microsoft.com/keys/microsoft.asc') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
21 # apt.key(src='https://deb.nodesource.com/gpgkey/nodesource.gpg.key') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
22 |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
23 apt.key(keyserver='keyserver.ubuntu.com', keyid='1655A0AB68576280') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
24 |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
25 files.directory(path='/etc/apt/keyrings/') # for raspi |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
26 for url, name in [ |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
27 ('https://repo.steampowered.com/steam/archive/stable/steam.gpg', 'steam.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
28 ('https://deb.nodesource.com/node_18.x/dists/kinetic/Release.gpg', 'nodesource-kinetic.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
29 ('http://packages.microsoft.com/ubuntu/22.10/prod/dists/kinetic/Release.gpg', 'ms.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
30 ('https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/Debian_Unstable/Release.key', |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
31 'podman.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
32 ('https://dl.google.com/linux/linux_signing_key.pub', 'chrome.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
33 ('https://deb.nodesource.com/gpgkey/nodesource.gpg.key', 'nodesource.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
34 ]: |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
35 files.download(src=url, dest=f'/etc/apt/keyrings/{name}') |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
36 # server.shell(commands=[ |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
37 # f"curl -fsSL {url} | gpg --dearmor > /etc/apt/keyrings/{name}" for (url, name) in [ |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
38 # # ('https://deb.nodesource.com/node_18.x/dists/kinetic/Release.gpg', 'nodesource-kinetic.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
39 # # ('http://packages.microsoft.com/ubuntu/22.10/prod/dists/kinetic/Release.gpg', 'ms.gpg'), |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
40 # ] |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
41 # ]) |
155 | 42 |
43 | |
44 def apt_sources(): | |
45 if host.get_fact(Arch) == 'x86_64': | |
46 server.shell(commands=['dpkg --add-architecture i386']) | |
47 | |
48 files.template(src='templates/sources.list.j2', dest='/etc/apt/sources.list') | |
49 if host.get_fact(FindFiles, '/etc/apt/sources.list.d/', quote_path=True): | |
50 raise SystemExit(f"new files in {host.name} /etc/apt/sources.list.d/ - please remove") | |
51 apt.packages(update=True, | |
52 cache_time=86400, | |
178
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
53 packages=['tzdata'], |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
54 force=True, |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
55 _env={ |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
56 'TZ': TZ, |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
57 'LANG': 'en_US.UTF-8', |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
58 'DEBIAN_FRONTEND': 'noninteractive' |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
59 }) |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
60 |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
61 |
155 | 62 pkg_keys() |
63 apt_sources() |