a3ec69d2be361e30b4bb694f7d4ea5bac1464376
httpx logs every request URL at INFO level, and the GNews search URL carries the API key as a `?token=` query param, so GNEWS_API_KEY was written in plaintext into the pod logs on every news query. Raise the httpx/httpcore loggers to WARNING so request URLs never reach INFO. The bot's own GNews log lines only print the sanitised keyword query (NewsClient._build_query), never the token, so they are unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
polymarket-bot
Bot de paper-trading para Polymarket con estrategia bayesiana, API FastAPI y dashboard React. Corre en k3s vía GitOps (Gitea Actions → registry → ArgoCD).
Componentes
| Componente | Código | Imagen | CMD |
|---|---|---|---|
| bot | bot/ |
polymarket-bot |
python3 -m bot.main |
| api | api/ (+ bot/ como librería) |
polymarket-bot-api |
uvicorn api.main:app |
| dashboard | dashboard/ |
polymarket-bot-dashboard |
nginx estático |
Dashboard: https://polymarket.chemavx.xyz
CI/CD
.gitea/workflows/ci.yml construye solo las imágenes cuyos ficheros
cambiaron en el push (diff contra github.event.before):
bot/,api/,requirements.txt→ bot + api (ambas imágenes copian las mismas fuentes Python; solo cambia el CMD)Dockerfile→ bot ·Dockerfile.api→ api ·dashboard/→ dashboard.gitea/workflows/ci.yml, primer push o force-push → todas (fallback seguro)tests/, docs → ninguna (la CI no construye ni despliega nada)
Las imágenes se tagean con ${GITHUB_SHA::8}; el CI actualiza solo los
deployments reconstruidos en k8s-manifests/polymarket-bot/ y ArgoCD
sincroniza vía webhook en segundos.
Tests
python3 -m pytest tests/ -q
Releases
1
Languages
Python
95.8%
JavaScript
2.9%
CSS
1.1%
Dockerfile
0.1%