1
0
Fork 0
mirror of https://git.sr.ht/~goorzhel/turboprop synced 2024-12-15 17:50:52 +00:00
Commit graph

262 commits

Author SHA1 Message Date
Antonio Gurgel
97dbdec7f7 Re-implement service-builder
`apiVersions` gave me a headache while writing the foldl so I made it
a separate input.

Now the service modules have this signature, without my having to
change any code in the modules themselves:

{charts, etc, ...} -> [apiVersion] -> {out, extra}
2023-12-03 19:58:28 -08:00
Antonio Gurgel
6b97777fe9 Typo 2023-12-03 18:02:47 -08:00
Antonio Gurgel
0790be8f8c Add service tree
Easier to test here than across flakes.
2023-12-03 18:01:38 -08:00
Antonio Gurgel
b92b4400bb Rid self of flotsam in flake-builders
I'll rethink `paths`.
2023-12-03 18:01:19 -08:00
Antonio Gurgel
6bbd867da3 Experimentally implement mkStages 2023-12-03 18:01:06 -08:00
Antonio Gurgel
1bde5552c5 In ADRs, document assumptions and fix typos 2023-12-03 18:00:15 -08:00
Antonio Gurgel
797ae401ae Truck in haumea 2023-12-03 17:07:21 -08:00
Antonio Gurgel
293032ddee Reimagine flakeBuilders.paths 2023-12-03 13:51:05 -08:00
Antonio Gurgel
dda6ce376f Write ADR 2 2023-12-03 13:50:44 -08:00
Antonio Gurgel
2ad1ad92cd Fix service paths 2023-12-03 09:36:17 -08:00
Antonio Gurgel
70fae512d1 Refactor crisis
Two imperfections have come to bite me simultaneously:
- I wanted strict ordering of services but implemented it very sloppily.
- The flake builders represent implementation leakage. I want to present
  a clean interface to users, not "first, you must evaluate these
  twenty-eight variables".

So now I'm fixing too many things at once. Luckily it's hard to lose
things in Git.
2023-11-29 23:06:13 -08:00
Antonio Gurgel
a43c3c1a62 WORDS 2023-11-29 00:10:40 -08:00
Antonio Gurgel
2da1ed3578 Document fetchers and builders 2023-11-28 23:28:21 -08:00
Antonio Gurgel
32e3576ea0 Words words words words 2023-11-28 22:08:54 -08:00
Antonio Gurgel
92fba41caf Write about trees 2023-11-28 22:08:54 -08:00
Antonio Gurgel
f9683b4411 Convert to RST and significantly expand 2023-11-28 22:08:54 -08:00
Antonio Gurgel
ce881f0c0d Keep writing 2023-11-28 22:08:54 -08:00
Antonio Gurgel
4decddde92 Start writing README 2023-11-28 22:08:54 -08:00
Antonio Gurgel
742612a9d7 rm alwaysList
https://github.com/farcaller/nix-kube-generators/pull/6
2023-11-27 11:40:13 -08:00
Antonio Gurgel
6faf8d9aa4 Provide derivation-builder 2023-11-27 00:35:19 -08:00
Antonio Gurgel
84b62768b4 Add flake-builder input for user data
I stowed my particularities in lib.eureka, but exporting
`packages.*.flakeBuilders` with a pre-pressed `lib` left no way to put
the Eureka module back in. After further consideration, I decided
it's wise to keep `lib`	that way instead of commingling it with
homelab data.
2023-11-27 00:13:06 -08:00
Antonio Gurgel
e3b6f47d1e Export built charts as well 2023-11-27 00:01:47 -08:00
Antonio Gurgel
bc64f70610 Remove everything specific to my cluster 2023-11-26 23:41:14 -08:00
Antonio Gurgel
ffc18857a5 Export lib.rake 2023-11-26 22:38:11 -08:00
Antonio Gurgel
c4bb826b2a Rename project to turboprop
Getting away from manually pressing Helm charts (while, importantly, retaining
integrity checking and determinism) is something I liken to the
transition from sail to flight as the primary mode of intercontinental
travel. As it were, ditching the helm for a yoke.
2023-11-26 22:23:18 -08:00
Antonio Gurgel
b318f9fe5d Upgrade gateway-api to 1.0.0 2023-11-26 22:17:11 -08:00
Antonio Gurgel
be06cac343 Add Kubernetes dashboard 2023-11-26 16:41:55 -08:00
Antonio Gurgel
737eca5b62 Add cluster bootstrap script 2023-11-26 16:15:46 -08:00
Antonio Gurgel
021d366351 Forcibly set namespace on all Helm charts 2023-11-26 13:39:16 -08:00
Antonio Gurgel
1bfa6e2f2d Fix typos in intel-gpu-exporter 2023-11-26 12:31:37 -08:00
Antonio Gurgel
64a723834b Set fsGroup on SOTA bot
Its image has the UID 1900 baked into it, and without the fsGroup
the SOTA bot fails to init the cache.
2023-11-26 12:03:48 -08:00
Antonio Gurgel
3203218d3d Fix volume mounts for Syncthing
Can't have two Volumes using the same existing claim or the pod
never starts.
2023-11-26 12:00:46 -08:00
Antonio Gurgel
fdd535c1fe Missed a spot in c641df6 2023-11-26 11:54:53 -08:00
Antonio Gurgel
d911088d56 Fix busted SMon in intel-gpu-exporter 2023-11-26 11:49:15 -08:00
Antonio Gurgel
a77fec6bca Try newer image for intel-gpu-exporter
This one is crashing with

Traceback (most recent call last):
  File "/app/intel-gpu-exporter.py", line 47, in <module>
    REGISTRY.register(DataCollector(f"http://{host}:{port}/metrics"))
  File "/usr/local/lib/python3.11/site-packages/prometheus_client/registry.py", line 40, in register
    names = self._get_names(collector)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prometheus_client/registry.py", line 80, in _get_names
    for metric in desc_fnc():
  File "/app/intel-gpu-exporter.py", line 21, in collect
    power_watts = data[1].get("power", {}).get("value", 0.0)
                  ~~~~^^^
2023-11-26 11:44:58 -08:00
Antonio Gurgel
7bc0a6ea73 Fix Jellyfin's mount paths 2023-11-26 11:44:29 -08:00
Antonio Gurgel
2df36321a6 Run calibre in users group
To match NFS. Otherwise Calibre tries and fails to chgrp its
data directory.
2023-11-26 11:40:46 -08:00
Antonio Gurgel
dbc9ac3501 Typo 2023-11-26 11:28:10 -08:00
Antonio Gurgel
ffe0f11650 Actually set config mountPath in Jellyfin 2023-11-26 01:25:33 -08:00
Antonio Gurgel
95720df236 Missed a spot in s/releases/services/ 2023-11-26 01:23:19 -08:00
Antonio Gurgel
8dd5735b73 Fix mkExistingClaim
Turns out subPath isn't a top-level attribute, as it used to be.
2023-11-26 01:19:00 -08:00
Antonio Gurgel
ff01a6dcf7 Rant about namespace pitfalls
Several charts have tripped me up by lacking a namespace and therefore
dumping their resources into my default one.
2023-11-26 00:51:49 -08:00
Antonio Gurgel
9594cf686b Deal with colons in image _tags_
intel-gpu-exporter tripped me up because it's pinned to a SHA256.
(As well it should be. I should survey the rest for this possibility.)
2023-11-26 00:42:05 -08:00
Antonio Gurgel
d6a763a614 Just call registry-private registry
Not worth the headache to split more configuration in
lib.eureka.appTemplate.
2023-11-26 00:19:33 -08:00
Antonio Gurgel
205a2e4f54 Got these releases backwards somehow 2023-11-26 00:14:42 -08:00
Antonio Gurgel
39f07b8264 Very few kube-system services should be in services/ 2023-11-26 00:07:39 -08:00
Antonio Gurgel
d798826df3 Move local-path-provisioner to system/kube-system 2023-11-26 00:06:02 -08:00
Antonio Gurgel
c641df6b50 Try again with k8s-intermediate CA
"Not a CA", cert-manager said. I minted it the wrong with easyrsa: I
asked for a server cert when I needed a CA.
2023-11-25 23:44:26 -08:00
Antonio Gurgel
a4d7d25e84 Add forgotten NS to secret/k8s-intermediate 2023-11-25 23:23:34 -08:00
Antonio Gurgel
f2d4a72678 Combine metallb releases
Same reason as an earlier commit: separating a yamlStream release
is pointless because it doesn't depend on `helm template -a`.
2023-11-25 23:17:14 -08:00