jv
14237db9d7
fix: use pip for PyYAML to avoid broken debian mirrors
Homelab Main / validate (push) Failing after 1s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:45:53 -05:00
jv
7f77c7d208
fix: add --no-install-recommends to prevent deprecated package 404s
Homelab Main / validate (push) Failing after 5s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:41:14 -05:00
jv
556e5002f1
fix: use nodesource for nodejs to avoid debian repo 404s
Homelab Main / validate (push) Failing after 21s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:36:03 -05:00
jv
627d0d13b9
fix: use golang:1.23-bullseye container for jeannie-core
Homelab Main / validate (push) Failing after 52s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:25:41 -05:00
jv
bb909f139e
fix: install golang-go for jeannie-core build
Homelab Main / validate (push) Failing after 20s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:20:48 -05:00
jv
25e55e4d7a
fix: install python3-yaml for jeannie validation
Homelab Main / validate (push) Failing after 8s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:09:26 -05:00
jv
ff4d98aa4e
fix: change --depth 0 to --depth 100 for compatibility
Homelab Main / validate (push) Failing after 5s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:07:05 -05:00
jv
0e41c661b7
fix: remove pipefail from sh shell
Homelab Main / validate (push) Failing after 2s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 09:00:49 -05:00
jv
0d6f6ec2a0
fix: replace actions/checkout with manual git clone to fix URL path issue
Homelab Main / validate (push) Failing after 1s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 08:55:05 -05:00
jv
6926e20c83
fix: use default checkout with GITEATOKEN
Homelab Main / validate (push) Failing after 38s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 08:47:21 -05:00
jv
98f69b2677
fix: use full HTTPS URL for checkout to force /git/ path
Homelab Main / validate (push) Failing after 3s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 08:43:30 -05:00
jv
2fc77c0d80
fix: update secret name to GITEATOKEN
Homelab Main / validate (push) Failing after 37s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 08:34:43 -05:00
jv
b0e94c60b6
fix: use repository property to align with ROOT_URL /git/
Homelab Main / validate (push) Failing after 40s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-18 08:07:28 -05:00
jv
b3cbcf525c
fix: remove explicit ref from checkout to avoid repository not found
Homelab Main / validate (push) Failing after 43s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-17 23:38:15 -05:00
jv
dca1d9f0a0
fix: set fetch-depth 0 to fix git error 128
Homelab Main / validate (push) Failing after 42s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-17 23:27:24 -05:00
jv
02f74ce659
fix: clean up workflow duplication and syntax
Homelab Main / validate (push) Failing after 1m17s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-17 23:19:16 -05:00
jv
e635e73e2b
fix: simplify container image definition for k8s runner
2026-09-17 22:32:02 -05:00
jv
6c570f6217
fix: set container image for k8s runner to provide node/python
2026-09-17 22:12:43 -05:00
jv
7bb6f3f819
fix: migrate to actions/checkout for k8s runner
Homelab Main / validate (push) Failing after 12s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-17 22:10:25 -05:00
jv
1dfd3145e5
fix: add k8s label to runner to match workflow
Homelab Main / validate (push) Failing after 0s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-17 21:53:01 -05:00
jv
71add0daef
fix: update gitea-runner with correct registration token
Homelab Main / validate (push) Failing after 1s
Details
Homelab Main / deploy (push) Has been skipped
Details
2026-09-17 21:28:22 -05:00
jv
878c84637b
chore: update workflow to use k8s runner
Homelab Main / validate (push) Waiting to run
Details
Homelab Main / deploy (push) Blocked by required conditions
Details
2026-09-17 20:45:15 -05:00
jv
c0830e2d63
feat: add argocd application for gitea-runner
2026-09-17 20:25:08 -05:00
jv
106a5a4752
fix: correctly encrypt gitea-runner secrets using sops
2026-09-17 20:21:26 -05:00
jv
9c64a79aef
feat: implement containerized gitea-runner with encrypted secrets
2026-09-17 20:20:33 -05:00
jv
4d7b9d0216
chore: update website blog with worker-03 expansion and sync homelab.yml
2026-09-17 16:04:20 -05:00
jv
c7f6e90ba2
Revert blog translation path to Redis (Valkey migration pending)
2026-09-17 08:37:40 -05:00
jv
cafe804d71
Fix render script filename extension bug
2026-09-16 22:17:52 -05:00
jv
be02fa45d2
Modularize documentation and add architecture diagram
2026-09-16 22:00:00 -05:00
jv
6dfae38adf
Platform: re-keyscan Argo CD GitOps SSH host on every apply
...
The argocd_private_repo provisioner only ran when its static triggers
(namespace, repo_url, ssh_key_path) changed. When the Gitea SSH host key
rotated (container rebuild / Debian rekey), the trigger set stayed
identical so tofu apply never re-ran the ssh-keyscan, silently leaving
Argo CD with 'knownhosts: key is unknown' and all Applications in
ComparisonError.
Add a timestamp()-based scan_revision trigger so the keyscan +
configmap/secret merge runs on EVERY apply, self-healing the host key
in argocd-ssh-known-hosts-cm. The provisioner is idempotent (reads the
existing configmap, merges the fresh scan, sorts, reapplies), so
re-running is safe.
2026-09-16 11:54:25 -05:00
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
juvenal.diaz
d6e33250f4
Gates for pimoc workers with less than 2 cpus
2026-07-23 13:16:11 -06:00
juvenal.diaz
fb605ffa8b
Increase argocd limits
2026-07-23 11:32:23 -06:00
juvenal.diaz
6277dfb5d2
Confir what argo is watching
2026-07-22 23:31:10 -06:00
juvenal.diaz
005a3c4b84
Make helm do not block
2026-07-22 23:10:11 -06:00
juvenal.diaz
101668fbc9
Fixes stale state in tofu
2026-07-22 22:35:23 -06:00
juvenal.diaz
318ba53eb0
Fixes stale helm
2026-07-22 22:22:54 -06:00
juvenal.diaz
0d05159054
Fix apt interpolation
2026-07-22 22:11:57 -06:00
juvenal.diaz
9df2dd0fd4
Making apt cms ricker in pimox workers
2026-07-22 22:07:17 -06:00
juvenal.diaz
a47f4b56e9
Using dedicated known host file for ephemeral pimox workers
2026-07-22 21:43:36 -06:00
juvenal.diaz
1f94eebca2
Fixing terraform error
2026-07-22 21:32:24 -06:00
juvenal.diaz
53e7fbd228
Failing faster on no ip for pimox template
2026-07-22 21:17:33 -06:00
juvenal.diaz
7c0936d889
Fixing pimox template ip
2026-07-22 20:42:19 -06:00
juvenal.diaz
58af55e7e0
Fixing pimox worker seen one cpu instead of two
2026-07-22 19:09:55 -06:00
juvdiaz
de990cdfb3
adding platform agument
2026-07-02 21:38:48 -06:00
juvdiaz
7a0a54b60b
untrim srgocd after adding 2nd worker
2026-07-02 21:20:14 -06:00
juvdiaz
8c07e3f27b
wait on iptables lock
2026-07-02 21:02:49 -06:00
juvdiaz
41db105b8b
disabling dex in argo
2026-07-02 20:38:52 -06:00
juvdiaz
d5458a3482
Limit diagnostic to failed component
2026-07-02 20:21:31 -06:00