a5291da0b2
fix(gitea): bump restartedAt annotation to clear stuck gitea-runner pods (281 restarts from DNS resolution failures)
2026-07-21 15:36:57 +02:00
platform-engineer
075bdd8ca3
fix(gitea-runner): pin image tag to v0.7.2, add resource limits (256Mi/100m req, 512Mi/500m lim) to prevent OOM restarts
2026-07-20 22:19:37 +00:00
Roger Oriol
e44d7ba1fc
Merge branch 'main' of https://git.rogi.casa/roger/k3s-cluster
2026-07-19 12:01:21 +02:00
Roger Oriol
f1005cd426
change openwebui url to ai.rogi.casa
2026-07-19 12:00:52 +02:00
Roger Oriol
43c0c2561e
fix hermes write folder
2026-07-18 19:29:52 +02:00
8334cd48f8
Merge pull request 'fix(myorg-assistant): add git-clone initContainer to git-sync CronJob' ( #26 ) from fix/myorg-git-sync-clone into main
...
Reviewed-on: roger/k3s-cluster#26
2026-07-18 19:25:00 +02:00
Hermes Platform Engineer
ba7e05a73d
fix(myorg-assistant): add git-clone initContainer to git-sync CronJob
...
The git-sync CronJob only ran `git pull`/`git push` against /data/myorg
but never ensured the repo existed. The clone was solely the Deployment's
git-clone initContainer's job, and when that didn't populate the volume the
cron pod failed with 'Not a git repository: /data/myorg' on every run (and
swallowed the error, exiting 0).
Add an idempotent git-clone initContainer (guarded by [ ! -d /data/myorg/.git ])
so the cron job self-heals and actually syncs.
Refs: myorg-git-sync-* 'Pull: Error: Not a git repository' (last 24h+)
2026-07-18 17:21:26 +00:00
Roger Oriol
8bc3025296
fix platform engineer not allowed to respond to discord messages
2026-07-18 19:20:23 +02:00
Roger Oriol
7a7d67bedc
configure git token env variable in myorg assistant cronjobs
2026-07-18 19:03:46 +02:00
Roger Oriol
19cdc77880
add git token env var to deadline checker
2026-07-18 18:59:36 +02:00
Roger Oriol
8983f482d0
give more memory to homeassistant
2026-07-17 23:59:50 +02:00
Roger Oriol
0b27cefd13
myorg assistant cron jobs env variables
2026-07-15 00:32:23 +02:00
Roger Oriol
279cc1f235
configure litellm models
2026-07-14 21:45:18 +02:00
Roger Oriol
cf6e2784fe
configure litellm models
2026-07-14 21:36:38 +02:00
Roger Oriol
dad38347e7
upgrade n8n memory requirements
2026-07-14 18:50:28 +02:00
Roger Oriol
a5b90994a4
fix myorg assistant
2026-07-11 19:22:57 +02:00
Roger Oriol
04b736287b
fix argocd redirect
2026-07-09 23:48:47 +02:00
Roger Oriol
8c6950fd43
Merge branch 'main' of https://git.rogi.casa/roger/k3s-cluster
2026-07-09 00:45:40 +02:00
Roger Oriol
81dfe6fd60
fix argocd rbac and create agents.md
2026-07-09 00:45:10 +02:00
5d80abf3e8
Merge pull request 'fix: myorg-assistant cronjobs ImagePullBackOff + argocd root drift loop' ( #18 ) from platform-engineer-agent/k3s-cluster:fix-merge-to-main into main
...
Reviewed-on: roger/k3s-cluster#18
2026-07-09 00:22:54 +02:00
48f18d2a3e
Merge branch 'main' into fix-merge-to-main
2026-07-09 00:22:22 +02:00
Roger Oriol
ce08365e06
revert to qwen3.6 for platform engineer
2026-07-07 23:52:37 +02:00
Platform Engineer
0794153e56
fix(myorg-assistant): point cronjobs at registry image + add imagePullSecrets
...
CronJob pods were stuck in ImagePullBackOff because they referenced
the local-only image 'myorg-assistant:latest' which is not present
on the node. Switch all 5 cronjobs to the Gitea registry image
git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf
(matching the Deployment), set imagePullPolicy: Always, and add
imagePullSecrets: gitea-registry so they can authenticate to the
private registry.
2026-07-06 14:11:44 +00:00
Platform Engineer
fc1b4383c1
fix(argocd): add ignoreDifferences to root app to stop Application CRD drift loop
...
The k3s-cluster-root app-of-apps has been in a continuous Synced<->OutOfSync
oscillation (489 transitions in 24h). Each cycle, ArgoCD syncs the 'argocd'
Application CRD, succeeds, then immediately detects drift because ArgoCD
adds status/operation fields to Application resources at runtime.
Adding ignoreDifferences for /status and /operation on Application resources
stops the drift loop while keeping the app-of-apps functional.
2026-07-06 14:11:44 +00:00
Roger Oriol
6b697c9665
configure higher cron schedules
2026-07-05 23:30:51 +02:00
Roger Oriol
08bb4de278
fix platform-engineer agent
2026-07-05 21:01:28 +02:00
Roger Oriol
2cccbc019f
fix rbac role for platform engineer cron seed
2026-07-05 18:15:10 +02:00
Roger Oriol
3f29b77e55
remove k8s event exporter with bad sink
2026-07-05 17:48:38 +02:00
Roger Oriol
440fcf858f
new argocd user platform-engineer
2026-07-05 17:39:54 +02:00
Roger Oriol
9fd7d02c7c
loki + promtail new monitoring services
2026-07-05 17:32:15 +02:00
Roger Oriol
85c8cbfc31
fix searxng
2026-07-04 00:53:17 +02:00
Roger Oriol
9de2897f46
fix searxng
2026-07-04 00:51:11 +02:00
Roger Oriol
c3a07f75ab
fix searxng
2026-07-04 00:44:49 +02:00
Roger Oriol
a567184347
fix searxng
2026-07-04 00:35:17 +02:00
Roger Oriol
54059cdb72
searxng
2026-07-04 00:19:48 +02:00
Roger Oriol
7faaa53855
searxng
2026-07-04 00:10:23 +02:00
Roger Oriol
6e689accd0
fix hermes cron
2026-06-29 00:48:23 +02:00
Roger Oriol
1145214e24
fix hermes qwen model
2026-06-29 00:21:57 +02:00
Roger Oriol
9eb8d344fa
fix pihole liveness probe
2026-06-28 19:08:04 +02:00
Roger Oriol
22ef2a38b2
pihole unbound
2026-06-28 09:34:43 +02:00
Roger Oriol
d00c6fb63d
fix qwen model name in hermes
2026-06-28 09:28:35 +02:00
Roger Oriol
734962d198
fix hermes liveness probe
2026-06-28 00:43:09 +02:00
Roger Oriol
4d9195b32d
use hermes stock image for platform engineer
2026-06-27 21:00:03 +02:00
Roger Oriol
54579df4b3
use hermes stock image for platform engineer
2026-06-27 20:40:42 +02:00
Roger Oriol
3f3467cb13
gitea registry ingress
2026-06-27 11:46:53 +02:00
Roger Oriol
6e02d9a885
new platform engineer agent
2026-06-27 00:09:39 +02:00
Roger Oriol
d8012dfb6c
monitoring: add dashboard ideas doc
...
Survey of dashboards that could be built from existing and not-yet-enabled
metrics across the cluster's services (traefik, coredns, metallb, cert-manager,
phoenix, litellm, gitea, postgres, etc.), with per-service enable steps and
a recommended priority order.
2026-06-26 20:22:54 +02:00
Roger Oriol
bf1387dc3e
monitoring: add Grafana dashboards + kube-state-metrics & node-exporter
...
Dashboards (provisioned via ConfigMaps into Grafana pod, 'K3s Cluster' folder):
- Cluster Overview: per-namespace CPU/mem/net/fs, pod counts, pod health (KSM)
- Pods & Services: per-pod CPU/mem/net/fs, throttling, pod status, restarts, PVCs
- Nodes: per-node CPU%/mem%, load average, disk usage, network (node-exporter)
- Control Plane & API Server: request rate, latency p95, 5xx, kubelet/PLEG
- Prometheus Self-Monitoring: ingestion, series, scrape duration, memory
Exporters (auto-scraped via existing kubernetes-service-endpoints job):
- kube-state-metrics: pod/deployment/PVC/replica state (kube_pod_status_phase,
kube_pod_container_status_restarts_total, kube_persistentvolumeclaim_*)
- node-exporter (DaemonSet, hostNetwork): node_cpu_seconds_total,
node_memory_*, node_filesystem_*, node_load*, node_network_*
2026-06-26 19:48:17 +02:00
Roger Oriol
2eab82b430
fix nas ingress
2026-06-26 19:01:08 +02:00
Roger Oriol
3cdd40153f
fix nas ingress
2026-06-26 18:54:17 +02:00