# 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 ```bash python3 -m pytest tests/ -q ```