Commit Graph

139 Commits

Author SHA1 Message Date
Gitea CI e76e763548 ci: update researchowl image to e5b77ad7 [skip ci] 2026-05-04 10:35:16 +00:00
Gitea CI 29a105c9f9 ci: update researchowl image to 0d8aee63 [skip ci] 2026-05-04 10:24:10 +00:00
Gitea CI 62a78a4034 ci: update researchowl image to b5518ac9 [skip ci] 2026-05-04 07:48:54 +00:00
Gitea CI 5bdce73e23 ci: update researchowl image to b33ae202 [skip ci] 2026-05-03 20:06:29 +00:00
Gitea CI f8e8cd24d7 ci: update researchowl image to 65917518 [skip ci] 2026-05-03 17:15:42 +00:00
Gitea CI 2a3be79b9c ci: update researchowl image to a681627d [skip ci] 2026-05-03 16:57:13 +00:00
Gitea CI f475fb3484 ci: update researchowl image to 7704f071 [skip ci] 2026-05-03 16:40:49 +00:00
Gitea CI bed00380c7 ci: update researchowl image to e66d728d [skip ci] 2026-04-29 12:59:49 +00:00
Gitea CI 2af9c5d19f ci: update researchowl image to 65b17399 [skip ci] 2026-04-29 09:07:48 +00:00
chemavx 46bc4d0b28 feat(researchowl): add ANTHROPIC_API_KEY, fix OLLAMA_URL, remove Secret template
- Add ANTHROPIC_API_KEY from secret for Claude Haiku relevance scoring
- Fix OLLAMA_URL to internal k8s DNS (ollama.ollama.svc.cluster.local)
- Remove Secret resource (was causing ArgoCD to overwrite with REPLACE_ME)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 08:08:22 +00:00
Gitea CI 1825916b23 ci: update researchowl image to d0e55ddb [skip ci] 2026-04-29 08:06:26 +00:00
Gitea CI b567aad132 ci: update researchowl image to 5feff607 [skip ci] 2026-04-28 10:55:36 +00:00
Gitea CI fef9363f31 ci: update researchowl image to c4fb33fb [skip ci] 2026-04-28 10:17:52 +00:00
Gitea CI 0f47b13294 ci: update researchowl image to f7d62345 [skip ci] 2026-04-27 20:54:31 +00:00
Gitea CI 0042762e61 ci: update researchowl image to 0c7176dd [skip ci] 2026-04-27 20:39:28 +00:00
Gitea CI a8092c9fb3 ci: update researchowl image to bb817135 [skip ci] 2026-04-27 20:22:34 +00:00
chemavx 4e6569ab6c fix: use internal Ollama service URL 2026-04-27 20:22:05 +00:00
chemavx fa01987420 chore: remove Secret from manifest (managed imperatively outside ArgoCD) 2026-04-27 19:59:28 +00:00
Gitea CI 7338989417 ci: update researchowl image to 6a88b7ab [skip ci] 2026-04-27 14:01:51 +00:00
chemavx 65f93b745d feat: add researchowl 2026-04-27 13:53:42 +00:00
chemavx 859bed930f chore: remove Open WebUI and unused OpenClaw k8s resources
- Deleted open-webui namespace, deployment, service, ingress, and PVC
  from cluster (replaced by OpenClaw using Claude API)
- Removed openclaw PVC and RBAC manifests no longer needed
- Removed Uptime Kuma monitor for chat.chemavx.xyz

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 13:13:38 +00:00
chemavx 4897ca3334 feat(grafana): custom emoji message templates per alert + resolve format
Each alert rule's summary annotation now renders a formatted Telegram
message with emoji and multiline context. The contact point passes the
pre-rendered summary through, adding " Resuelto" on resolution.
Also restores the == 1 filter on Pod Failed/Unknown lost in prior rebase.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 07:26:01 +00:00
chemavx 4facdd8515 fix(monitoring): correct alert rule pipeline to A→B(reduce)→C(threshold)
Grafana threshold expression requires a scalar input, not a raw time
series. Added explicit reduce step (type: reduce, reducer: last) as
refId B between the Prometheus query (A) and the threshold check (C).

All 4 rules updated: CrashLoopBackOff, Disco >80%, RAM >85%, Pod Failed.
condition field changed from B → C on each rule.
2026-04-26 15:46:39 +00:00
chemavx bb64cc9e62 fix(monitoring): hardcode chatid as string in Telegram contact point
Grafana env var substitution of a numeric TELEGRAM_CHAT_ID caused
json unmarshal error (number into string field). chatid is not sensitive
so hardcode it directly; only bottoken uses ${TELEGRAM_BOT_TOKEN}.
2026-04-26 15:40:21 +00:00
chemavx 94c059ccb9 feat(monitoring): Grafana alerting → Telegram for homelab
- Secret grafana-telegram: bot token + chat ID (env var injection)
- ConfigMap grafana-alerting: provisioning files for contact point,
  notification policy, and 4 alert rules
  * Pod CrashLoopBackOff (for: 1m, noData: OK)
  * Disk > 80% on non-tmpfs filesystems (for: 5m)
  * RAM > 85% (for: 5m)
  * Pod Failed/Unknown (for: 3m, noData: OK)
- Deployment: TELEGRAM_* env vars from secret + alerting volume mount

Token interpolated via ${TELEGRAM_BOT_TOKEN} in provisioning YAML.
2026-04-26 15:25:07 +00:00
Gitea CI 5df2e9746a ci: update polymarket-bot images to 39cebd3b [skip ci] 2026-04-26 15:03:41 +00:00
chemavx ef11391c80 feat(polymarket): add Telegram bot credentials to bot-secrets 2026-04-26 15:02:22 +00:00
chemavx 48a1ce80f6 backup: add k3s SQLite backup to daily CronJob
- Add hostPath volume for /var/lib/rancher/k3s/server/db (readOnly)
- Script copies state.db + WAL files → k3s-db_<date>.tar.gz in /data/backups/backups/
- Rotation: keeps last 7 copies (same policy as other services)
- rclone-mega-backup picks it up automatically (syncs full /data/backups/backups/)
- Also tracks the CronJob manifest in git (was previously untracked)

Note: k3s uses SQLite/kine (not embedded etcd). etcd-snapshot is disabled.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 10:23:18 +00:00
Gitea CI 4d8c783be2 ci: update polymarket-bot images to 1f40c59e [skip ci] 2026-04-25 10:06:24 +00:00
Gitea CI f25bded509 ci: update n8n image to b6a83c68 [skip ci] 2026-04-25 10:03:27 +00:00
Gitea CI e4fab51d31 ci: update polymarket-bot images to fe242ca5 [skip ci] 2026-04-25 10:03:23 +00:00
chemavx cc8140760f argocd: configure Telegram notifications and add Application manifests
- Configure argocd-notifications-cm with Telegram service, templates and triggers
  for sync-succeeded, sync-failed, and app-degraded events
- Add application-polymarket-bot.yaml and application-n8n.yaml with notification
  subscription annotations (chat_id: 5138407666)

Note: requires kubectl patch of argocd-notifications-secret with telegram-token

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 09:56:35 +00:00
chemavx 8bab07201a ollama: elimina GPU, fija imagen 0.20.7, reduce a qwen2.5:3b
- Imagen: ollama/ollama:latest → ollama/ollama:0.20.7
- Elimina NVIDIA_VISIBLE_DEVICES, NVIDIA_DRIVER_CAPABILITIES
- Elimina nvidia.com/gpu: "1" de resources limits
- Reduce memory: 8/20Gi → 4/8Gi (solo CPU, modelo 3b)
- Startup: auto-pull cambiado a qwen2.5:3b

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 15:34:37 +00:00
chemavx 792b53dee7 openclaw: añade kubectl-ro via initContainer setup-kubectl
- initContainer bitnami/kubectl copia kubectl y crea wrapper kubectl-ro en emptyDir /opt/kube
- kubectl-ro deniega verbos destructivos (delete/apply/patch/edit/exec/scale/rollout/drain/...)
- Main container monta /opt/kube; SA token automontado para in-cluster auth
- Sin kubeconfig manual: kubectl detecta KUBERNETES_SERVICE_HOST/PORT automáticamente

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:33:17 +00:00
chemavx e176bb9810 openclaw: actualiza imagen a 2026.4.22
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:15:49 +00:00
chemavx 74b9a31352 openclaw: corrige mountPath a /home/node/.openclaw
El config dir de OpenClaw es /home/node/.openclaw, no /data.
Monta el PVC en la ruta correcta para que openclaw.json persista.
Elimina OPENCLAW_DATA_DIR (no era el config dir).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:45:56 +00:00
chemavx f465f190d8 openclaw: reinstall limpio con Claude API y ArgoCD
- Manifiestos limpios: namespace, rbac, pvc (5Gi local-path), deployment, service, ingress
- nodeSelector chemavx-k8 en deployment para fijar PVC en el nodo correcto
- Imagen fijada a ghcr.io/openclaw/openclaw:2026.4.12
- Sin initContainers ni secrets en el deployment (config post-arranque via exec)
- Elimina artefactos: configmap-kube-root-ca.crt.yaml, serviceaccount-default.yaml, pvc-openclaw-pvc.yaml, rbac-openclaw-agent.yaml
- Añade argocd/application-openclaw.yaml para gestión GitOps

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:40:08 +00:00
chemavx 8a8f33704c fix: smoke test grep to match compact JSON (no space after colon) 2026-04-23 09:22:53 +00:00
chemavx d3c03d5462 argocd: add PostSync smoke test hooks for polymarket-bot, n8n, portfolio 2026-04-23 09:14:12 +00:00
Gitea CI 6fdad3b667 ci: update n8n image to b9ce8e20 [skip ci] 2026-04-22 20:41:56 +00:00
Gitea CI e5e0d174b0 ci: update polymarket-bot images to ffd3ee2f [skip ci] 2026-04-22 20:37:12 +00:00
chemavx 62abb6134b registry-cache: switch upstream to mirror.gcr.io (bypass Cloudflare R2 block) 2026-04-22 20:29:11 +00:00
Gitea CI e895fc6104 ci: update polymarket-bot images to adf2917c [skip ci] 2026-04-22 16:38:04 +00:00
chemavx 0bf2e746dd feat(registry-cache): add Docker Hub pull-through cache + dind mirror config
Deploy registry:2 as Docker Hub pull-through cache on chemavx-k8 (hostPort 5000,
ClusterIP 10.43.163.56:5000). Configures dind runner to use local mirror via
daemon.json to eliminate Docker Hub rate limit failures in CI/CD.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 11:35:43 +00:00
Gitea CI 25ea82f696 ci: update polymarket-bot images to 6d23e804 [skip ci] 2026-04-22 11:31:08 +00:00
Gitea CI bf7ac532de ci: update polymarket-bot images to 8a56bf77 [skip ci] 2026-04-22 11:11:47 +00:00
Gitea CI 47841eef19 ci: update polymarket-bot images to 8479a631 [skip ci] 2026-04-22 07:09:04 +00:00
Gitea CI 81b4c30fbb ci: update polymarket-bot images to 9a5be275 [skip ci] 2026-04-21 17:37:45 +00:00
Gitea CI 45495a78c7 ci: update polymarket-bot images to 9b62636a [skip ci] 2026-04-21 17:27:59 +00:00
Gitea CI 8ca403f0d3 ci: update polymarket-bot images to 46f8f4b7 [skip ci] 2026-04-21 09:50:40 +00:00