Mercurial > code > home > repos > infra
annotate apt.py @ 209:5b7cd39e6504
add coral driver
author | drewp@bigasterisk.com |
---|---|
date | Sat, 22 Jul 2023 12:07:47 -0700 |
parents | 3fd439ae1380 |
children | adb34a04ca43 |
rev | line source |
---|---|
195 | 1 from pathlib import Path |
155 | 2 from pyinfra import host |
3 from pyinfra.facts.files import FindFiles | |
4 from pyinfra.facts.server import Arch, LinuxDistribution | |
5 from pyinfra.operations import apt, files, server | |
6 | |
7 TZ = 'America/Los_Angeles' | |
8 | |
178
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
9 |
155 | 10 def pkg_keys(): |
178
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
11 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
|
12 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
|
13 ('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
|
14 ]: |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
15 files.download(src=url, dest=f'/etc/apt/keyrings/{name}') |
203 | 16 |
17 # vscode keeps making this, but I fetch my own | |
18 files.file(path='/etc/apt/trusted.gpg.d/microsoft.gpg', present=True) | |
19 | |
187
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
20 server.shell(commands=[ |
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
21 f"curl -fsSL {url} | gpg --dearmor > /etc/apt/keyrings/{name}" for (url, name) in [ |
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
22 ('https://packages.microsoft.com/keys/microsoft.asc', 'ms.gpg'), |
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
23 ('https://deb.nodesource.com/gpgkey/nodesource.gpg.key', 'nodesource.gpg'), |
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
24 ('https://dl.google.com/linux/linux_signing_key.pub', 'chrome.gpg'), |
195 | 25 ('https://ftp-master.debian.org/keys/archive-key-11.asc', 'bullseye.gpg'), |
26 ('https://ftp-master.debian.org/keys/archive-key-11-security.asc', 'bullseye-security.gpg'), | |
209 | 27 ('https://packages.cloud.google.com/apt/doc/apt-key.gpg', 'coral.gpg'), |
187
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
28 ] |
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
29 ]) |
195 | 30 if host.get_fact(Arch) == 'armv7l' or host.name == 'bang': # I mean raspbian/debian |
31 # this contaminates the apt-update | |
32 files.file(path="/etc/apt/trusted.gpg.d/podman.asc", present=False) | |
33 | |
34 | |
35 dir = Path('/etc/apt/sources.list.d') | |
36 | |
37 | |
38 def clear_known_sources_files(known=[dir / 'vscode.list']): | |
39 found = map(Path, host.get_fact(FindFiles, dir, quote_path=True)) | |
40 if set(found) - set(known): | |
41 raise SystemExit(f"new files in {host.name} /etc/apt/sources.list.d/ - please remove") | |
42 for f in known: | |
43 files.file(path=f, present=False) | |
155 | 44 |
45 | |
46 def apt_sources(): | |
47 if host.get_fact(Arch) == 'x86_64': | |
48 server.shell(commands=['dpkg --add-architecture i386']) | |
49 | |
50 files.template(src='templates/sources.list.j2', dest='/etc/apt/sources.list') | |
195 | 51 |
52 clear_known_sources_files() | |
155 | 53 apt.packages(update=True, |
187
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
54 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
|
55 packages=['tzdata'], |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
56 force=True, |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
57 _env={ |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
58 'TZ': TZ, |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
59 '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
|
60 'DEBIAN_FRONTEND': 'noninteractive' |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
61 }) |
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
62 |
188 | 63 # squib 1st setup seemed to need more updates for node(nodesource) |
64 # and steam-launcher | |
178
6ec7cd3615f0
another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents:
155
diff
changeset
|
65 |
195 | 66 |
155 | 67 pkg_keys() |
187
466108f0a509
redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents:
178
diff
changeset
|
68 apt_sources() |