Commit Graph
337 Commits
Author SHA1 Message Date
chemavxandClaude Fable 5 005b13bd91 feat(roswell): corte a secretos Infisical — refs *-infisical en deployment, postgres y backup
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 17:37:14 +00:00
chemavxandClaude Fable 5 1b9a7bdddc fix(roswell): un InfisicalStaticSecret por target — el operator ignora targets extra
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 17:31:04 +00:00
Gitea CI 871af5df11 ci: update roswell-corpus image to 9efbb53b [skip ci] 2026-07-13 17:21:30 +00:00
chemavxandClaude Fable 5 d903fd4631 feat(roswell): postgres a ClusterIP y secretos Infisical preparados (alta manual pendiente en /roswell)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 17:20:25 +00:00
Gitea CI 43e607629f ci: update roswell-corpus image to 6d492bc9 [skip ci] 2026-07-13 17:12:03 +00:00
chemavxandClaude Fable 5 7e60b5e8d5 fix(roswell): pin a chemavx-k8 y límite 6Gi — Whisper large-v3 OOMKilled con 4Gi en el nodo pequeño
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 17:05:03 +00:00
Gitea CI 831d686b5a ci: update roswell-corpus image to 79a0a396 [skip ci] 2026-07-13 16:34:37 +00:00
chemavxandClaude Fable 5 6416c6c3af feat(roswell): despliegue GitOps del corpus — bot+scheduler, backup pg_dump diario, postgres adoptado
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 16:29:19 +00:00
Gitea CI ad3716bf80 ci: update researchowl image to dadc030d [skip ci] 2026-07-10 11:17:43 +00:00
Gitea CI 29b3fb3e5a ci: update researchowl image to 0e9a2e5b [skip ci] 2026-07-10 11:10:43 +00:00
Gitea CI 989064d332 ci: update researchowl image to 4ee9ad06 [skip ci] 2026-07-10 09:42:12 +00:00
chemavxandClaude Fable 5 91bf7d2909 fix(researchowl): memory limit 1Gi → 2Gi
El pod fue OOMKilled el 2026-07-10 durante un research: 20 fuentes
concurrentes con PDFs grandes y pdfplumber superaron 1Gi. El scraper
se endurece en paralelo (cap PDF 15MB, contenido 300k chars), pero el
margen extra evita que un pico legítimo mate la tarea en memoria.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:38:53 +00:00
chemavxandClaude Fable 5 cbfb1ba039 feat(n8n): inyectar TELEGRAM_BOT_TOKEN/CHAT_ID desde telegram-notify-infisical
Para que el workflow 'Health Check General' lea el token del bot de notificaciones
via process.env en vez de hardcodearlo (rotación 2026-07-09).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:54:21 +00:00
chemavxandClaude Fable 5 43c78246a8 security: eliminar token de Telegram en claro de ficheros versionados
- openclaw/golden/openclaw.json: botToken → placeholder (referencia Infisical)
- n8n/health-check-code-node.js: literal → process.env.TELEGRAM_BOT_TOKEN

Token del bot @chemavx_bot rotado 2026-07-09 (BotFather). El valor vivo se
gestiona en Infisical homelab/prod/telegram. NOTA: el token viejo sigue en el
HISTORIAL de git; la revocación en BotFather es lo que lo neutraliza.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:46:04 +00:00
chemavxandClaude Fable 5 395102a85e feat(n8n): auto-reload del deployment al cambiar n8n-secret-infisical (operator Infisical)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 15:16:33 +00:00
chemavxandClaude Fable 5 9dbcb0896e fix(n8n): N8N_BLOCK_ENV_ACCESS_IN_NODE=false — n8n bloquea $env por defecto y el autopost no podía leer GETXAPI_TOKEN
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:38:32 +00:00
chemavxandClaude Fable 5 f29256ca55 feat(n8n): inyectar GETXAPI_TOKEN desde n8n-secret-infisical (rotación token X autopost)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:30:20 +00:00
chemavxandClaude Fable 5 e1a25329d4 feat(monitoring): alerta Telegram para jobs fallidos de backup-system
Regla homelab-backup-job-failed (kube_job_status_failed{namespace="backup-system"} > 0)
en el grupo homelab-infra; cubre backup, rclone-mega-backup y backup-verify.
Aplicado con kubectl replace + rollout restart de Grafana (namespace manual).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 09:37:28 +00:00
chemavxandClaude Fable 5 d1d2fac287 feat(backup-system): migración completa a GitOps
- CronJob rclone-mega-backup entra en git (solo existía imperativo)
- Scripts backup.sh/verify.sh/rclone-mega.sh como ConfigMap backup-scripts
  (antes hostPath /data/backups/scripts — cambios ahora pasan por git+ArgoCD)
- rclone.conf vía InfisicalStaticSecret (homelab/prod//backup-system → RCLONE_CONF),
  sustituye al hostPath de ~/.config/rclone/rclone.conf
- Imágenes pinneadas: rclone 1.74.3, bitnami/kubectl por digest (v1.36.2)
- ClusterRole/CRB de backup-sa entran en git
- Application ArgoCD backup-system (auto-sync + prune + selfHeal)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 09:33:35 +00:00
chemavxandClaude Fable 5 ae0b5f9492 feat(reddit-intel): manifiestos preparados, INACTIVOS hasta promoción
App corre en docker compose en n97 (semana de calibración). El app-of-apps
no es recursivo: nada de este directorio se sincroniza hasta aplicar a mano
argocd-app.yaml. Checklist de activación en PROMOTION.md (imagen construida,
secrets en Infisical /reddit-intel, copia de la BD al PVC).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 17:14:06 +00:00
chemavx f059470fde decommission(F3): activar tarjeta Archived del bot en el portfolio
Merge de feat/portfolio-polymarket-archived con las cifras finales de
cierre (12 trades, +$247.78 realized, 239k evaluaciones, 81 días).
El widget deja de consultar la API (apagada) y pasa a tarjeta estática
con enlace al case study.
2026-07-06 12:20:48 +00:00
chemavx 6cf4615596 decommission(F3): apagar postgres (replicas 0)
El dump definitivo de cierre está tomado y verificado (restore 11/11 en
/data/backups/backups/polymarket-decommission/). El PVC se conserva.
2026-07-06 12:19:33 +00:00
chemavx dd10f26f31 decommission(F3): suspender cronjobs metrics-retention y outcomes-joiner
Sin bot ni postgres ya no hay nada que retener ni joinear; suspend en vez
de borrar para conservar la definición durante la semana de gracia.
2026-07-06 12:19:33 +00:00
chemavx 8a89d0bd46 feat(portfolio): cifras finales del widget al cierre real (239k evaluaciones)
Snapshot del apagado 2026-07-06 con el bot ya detenido: 12 trades,
realized +$247.78, 239.462 evaluaciones, 81 días observados.
2026-07-06 12:16:23 +00:00
chemavx 0f8bd407f4 decommission(F3): apagar bot, api y dashboard (replicas 0)
Primer paso del apagado ordenado: se detiene el ciclo de evaluación con
postgres aún vivo, para que el dump final sea la foto exacta del cierre
sin ciclos a medias. Postgres y cronjobs se apagan en commits siguientes.
2026-07-06 12:05:43 +00:00
chemavx dc45c913a5 decommission(F2): silenciar notificaciones Telegram de la app polymarket-bot
Se retiran las suscripciones on-sync-failed / on-health-degraded: durante
el apagado (F3) generarían ruido sin valor. No hay trigger 'informativo'
viable: escalar a 0 vía git deja la app Synced/Healthy. El resto de apps
conservan sus notificaciones.
2026-07-06 11:47:33 +00:00
chemavx abcb38bd6d decommission(F2): retirar smoke test PostSync de polymarket-bot
El Job notificaba a Telegram tras cada sync; en decomisión ya no hay
deploys que verificar y sus avisos serían ruido durante el apagado.
2026-07-06 11:47:11 +00:00
chemavxandClaude Fable 5 59bc269923 feat(portfolio): tarjeta Polymarket Bot pasa a Archived / case study
Sustituye el widget live (fetch a polymarket.chemavx.xyz/api/summary) por
una tarjeta estática con las cifras finales del paper trading y enlace al
case study en el repo. La tarjeta de servicio apunta al repo de Gitea en
lugar del dominio, que desaparecerá con el apagado.

NO MERGEAR HASTA F2/F3: mientras el bot siga vivo, main mantiene el
widget live. Aplicar esta rama cuando se apague el bot (Fase 3 del plan
de decomisión).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 07:40:09 +00:00
Gitea CI 73bf1b6351 ci: update researchowl image to d31badeb [skip ci] 2026-07-05 16:01:12 +00:00
Gitea CI fea711375e ci: update researchowl image to 7d07375d [skip ci] 2026-07-04 20:26:34 +00:00
Gitea CI 8cd40002c8 ci: update researchowl image to 76c927f0 [skip ci] 2026-07-04 20:20:00 +00:00
Gitea CI b1b86945c3 ci: update researchowl image to 397546a3 [skip ci] 2026-07-04 20:18:47 +00:00
Gitea CI d0e8eaa001 ci: update researchowl image to 57f341fc [skip ci] 2026-07-04 11:26:10 +00:00
Gitea CI a78de3eacd ci: update researchowl image to 6c807212 [skip ci] 2026-07-04 11:21:02 +00:00
Gitea CI 5ef73e6705 ci: update researchowl image to becc43f7 [skip ci] 2026-07-04 11:16:57 +00:00
chemavxandClaude Fable 5 98a939fb22 feat(researchowl): activa ENABLE_NEWS_SEED (seed Bing News RSS)
Flag flip aislado — el código (a23810b) ya está desplegado con el flag
en False por defecto.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 11:03:08 +00:00
Gitea CI 71f4c5ea95 ci: update researchowl image to a23810b9 [skip ci] 2026-07-04 10:59:10 +00:00
Gitea CI 3c70ee7c69 ci: update researchowl image to 8dfd0116 [skip ci] 2026-07-04 10:49:32 +00:00
chemavxandClaude Fable 5 ca520d3ca3 feat(researchowl): daily SQLite backup CronJob + 5Gi backups PVC
Online-safe sqlite3 .backup at 03:00 Europe/Madrid, integrity check,
7-day retention. Data PVC mounted RW (WAL -shm requirement) but only read.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 10:43:41 +00:00
chemavxandClaude Fable 5 214b4a10a4 feat(researchowl): MAX_SOURCES 150 -> 200
Tras el plan F1-F4 del scraper, el seed descubre hasta ~285 fuentes en
topics documentados y el cap de 150 descartaba la mitad (incluida la
recursión que encuentra los PDFs de archive.org). 200 cubre casi todos
los resultados directos + margen de recursión. Implica +2-4 min por
research de topic rico y céntimos más de scoring.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 15:53:18 +00:00
Gitea CI 8a887abaad ci: update researchowl image to c7016281 [skip ci] 2026-07-03 15:49:18 +00:00
Gitea CI facfb70526 ci: update researchowl image to 0ce9933a [skip ci] 2026-07-03 15:46:19 +00:00
Gitea CI 3991297b65 ci: update researchowl image to f210b34e [skip ci] 2026-07-03 15:44:03 +00:00
Gitea CI 1c33629920 ci: update researchowl image to 9dae61fd [skip ci] 2026-07-03 15:40:19 +00:00
Gitea CI 557489742c ci: update researchowl image to 200de018 [skip ci] 2026-07-03 15:36:16 +00:00
Gitea CI 73d5f256ba ci: update researchowl image to 228ea5c6 [skip ci] 2026-07-03 15:26:00 +00:00
Gitea CI 8e933f220e ci: update researchowl image to 2cb0cf84 [skip ci] 2026-07-03 15:18:14 +00:00
Gitea CI 824db9e7fd ci: update researchowl image to 5876361a [skip ci] 2026-07-03 15:13:29 +00:00
chemavxandClaude Fable 5 29714cdc29 fix(vaultwarden): bump 1.35.4 -> 1.36.0 (support Bitwarden 2026.x clients)
Extension login failed with 'No Bitwarden-Client-Version header provided'
after the Mac browser extension auto-updated. 1.36.0 supports the new
client login flow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:24:04 +00:00
Gitea CI bbfe3dade1 ci: update researchowl image to 19efc705 [skip ci] 2026-07-03 07:52:36 +00:00