jv
dce4fa6022
Edge matrix vhost, node-exporter scrape, arr/rpi refinements
...
- bootstrap/edge: add matrix-vhost template + matrix.conf mount
(isolated cert path), config_hash includes matrix.conf so tofu
regenerates edge config when it changes; add node-exporter sidecar
- bootstrap/platform: prometheus additionalScrapeConfigs for rpi-node
and oci-edge-node targets, plus node-exporter edge port 9100
- apps/homelab-alerts: host filesystem >85% alert
- infra/arr-stack + rpi-services: compose refinements
- .gitignore: ignore tofu tfstate backups (*.tfstate.*.backup)
2026-09-16 11:37:35 -05:00
jv
fe661f9b24
Add Matrix/Hermes/Omniroute to jeannie pipeline (SOPS-encrypted secrets)
...
Codify the full Matrix homeserver stack, OmniRoute LLM gateway, and
Hermes agent into the Jeannie deploy pipeline so the repo reproduces
the running homelab from scratch.
New files:
infra/matrix-server/ — Synapse + Postgres + Element docker-compose,
homeserver.yaml.tpl, log_config, element config, bootstrap.sh
infra/omniroute/ — diegosouzapw/omniroute:latest on port 20128
infra/hermes.secret.yaml — SOPS-encrypted bot password + API key
infra/matrix-server/matrix.secret.yaml — SOPS-encrypted Synapse secrets
.sops.yaml — age recipient + encrypted_regex: '.*'
jeannie additions:
deploy_matrix() — renders homeserver.yaml from template, creates
signing key via 'generate' on first boot, delegates to bootstrap.sh
deploy_omniroute() — docker compose up with env-file support
deploy_hermes() — git clone + venv + 'hermes gateway install',
writes ~/.hermes/.env (mode 600), registers non-admin bot via
shared-secret CLI, idempotent
sops_load_secrets() — decrypts *.secret.yaml via age key at deploy
time; fails loudly if the age key is missing
ensure_sops_age_tools() — installs sops from getsops GitHub release
when apt has no sops package (Debian trixie)
DAG: hermes-deploy depends on matrix-deploy + omniroute-deploy.
Root cause: deploy_hermes previously used wrong entrypoint (python
module instead of ./hermes launcher); generate was called with
--generate-config (invalid subcommand); .sops.yaml encrypted_regex
'^password$' left prefixed keys as plaintext — all fixed in this
commit.
2026-09-16 11:37:13 -05:00
juvdiaz
acc88d1ca6
Heimdall seeds
2026-07-02 16:56:56 -06:00
juvdiaz
140fc63a5f
Moving heimdall outside k8s
2026-07-02 15:49:00 -06:00
juvdiaz
04d5b259c0
Update docker root dir in rpi
2026-07-02 09:02:52 -06:00
juvdiaz
8e19df1c71
Restart NotReady Pimox worker during heal
2026-06-30 14:10:27 -06:00
juvdiaz
91df63af96
Heal one highest impact finding at a time
2026-06-30 13:50:00 -06:00
juvdiaz
0d887acd24
Add guarded Jeannie self healing
2026-06-30 13:46:47 -06:00
juvdiaz
f49b8b9673
Add model behavior observatory
2026-06-30 13:24:54 -06:00
juvdiaz
ed3402bb71
Add canary promotion gates
2026-06-30 13:22:50 -06:00
juvdiaz
7f537c4025
Add red blue security loop
2026-06-30 13:21:15 -06:00
juvdiaz
0af1257d86
Add Jeannie memory provenance checks
2026-06-30 13:19:49 -06:00
juvdiaz
edb36592a7
Add AI workload scheduler simulator
2026-06-30 13:17:57 -06:00
juvdiaz
0b886295c8
Add local agent sandbox policy
2026-06-30 13:16:27 -06:00
juvdiaz
c7956638b3
Add safety case generator
2026-06-30 13:15:07 -06:00
juvdiaz
14aa2555c1
Add AI incident commander
2026-06-30 11:50:10 -06:00
juvdiaz
713a1421da
Add homelab AI evals harness
2026-06-30 11:45:29 -06:00
juvdiaz
ae84c3d259
Limit resource recommendations to Kubernetes apps
2026-06-29 21:07:01 -06:00
juvdiaz
3c24b7fbc4
Add AI knowledge exclude list
2026-06-29 21:05:30 -06:00
juvdiaz
1954a2e975
Add capacity limit recommendations
2026-06-29 20:48:17 -06:00
juvdiaz
31723307d5
Add Jeannie change impact analysis
2026-06-29 20:44:49 -06:00
juvdiaz
d0004d99f8
Improve Jeannie explain readability
2026-06-29 20:37:03 -06:00
juvdiaz
86e061dd72
Add Jeannie output explainer
2026-06-29 20:30:03 -06:00
juvdiaz
709881be86
Add blockchain devnet metrics dashboard
2026-06-29 19:22:23 -06:00
juvdiaz
07fbd745ac
Add blockchain RPC gateway
2026-06-29 19:17:16 -06:00
juvdiaz
3738f81416
Add lightweight blockchain explorer
2026-06-29 19:16:13 -06:00
juvdiaz
bedb845270
Add local blockchain devnet
2026-06-29 19:13:23 -06:00
juvdiaz
b1855d4928
Add Pimox golden image ledger
2026-06-29 17:50:24 -06:00
juvdiaz
e8dd88fafe
Add optional artifact cache stack
2026-06-29 17:49:26 -06:00
juvdiaz
e4ff0bac49
Add resource budget policy checks
2026-06-29 17:45:31 -06:00
juvdiaz
3e23b794e7
Fix Pi-hole v6 LAN DNS mode
2026-06-29 14:10:50 -06:00
juvdiaz
727ab402a3
Clean up RPi service reload output
2026-06-29 14:00:42 -06:00
juvdiaz
836eeed40f
Allow LAN DNS queries to Pi-hole
2026-06-29 13:55:14 -06:00
juvdiaz
889396eaa4
Make remote Docker installation opt-in
2026-06-29 12:57:19 -06:00
juvdiaz
b49df4f2eb
Add Debian Docker root repair command
2026-06-29 11:13:29 -06:00
juvdiaz
172bcca975
Add optional homelab AI knowledge index
2026-06-27 23:14:27 -06:00
juvdiaz
acb6817c98
Add repo-managed Tailscale ACL policy
2026-06-27 17:46:21 -06:00
juvdiaz
e4b2057f15
Centralize homelab inventory preflight and pihole state
2026-06-27 16:55:28 -06:00
juvdiaz
6070493b1b
Seed Uptime Kuma monitors
2026-06-27 16:43:51 -06:00
juvdiaz
534c87132e
Add RPi DNS services stack
2026-06-27 16:18:17 -06:00
juvdiaz
84855cd927
Add generated docs config
2026-06-27 15:42:59 -06:00
juvdiaz
3b86eec2d2
Simplify YouTube backup sidecar files
2026-06-27 14:51:34 -06:00
juvdiaz
1dab330a38
Use Node runtime for YouTube backups
2026-06-27 14:30:28 -06:00
juvdiaz
6b673e3bdd
Add YouTube backup runtime packages
2026-06-27 14:28:17 -06:00
juvdiaz
b3160e9feb
Make arr service DNS explicit
2026-06-27 14:13:18 -06:00
juvdiaz
d61c1eebf7
Add DNS defaults to arr stack
2026-06-27 14:10:17 -06:00
juvdiaz
e0684a1d1c
Add YouTube backup helper
2026-06-27 12:55:35 -06:00
juvdiaz
dfda7fccfb
Add external arr compose stack
2026-06-27 09:33:43 -06:00
juvdiaz
84b60979f2
Update debian ip
2026-06-26 22:50:19 -06:00
juvdiaz
2f290b8ce2
Moving gitea to debian host
2026-06-26 22:16:10 -06:00