From feb516f4110669bb4fdaf3e2ab61627f5776d98c Mon Sep 17 00:00:00 2001 From: devRaGonSa Date: Tue, 19 May 2026 08:56:37 +0200 Subject: [PATCH] chore: disable server3 defaults and simplify deployment --- README.md | 36 +++- ai/architecture-index.md | 2 + ai/repo-context.md | 2 + ...erver3-defaults-and-simplify-deployment.md | 158 ++++++++++++++++++ backend/.env.example | 4 +- backend/README.md | 23 ++- backend/app/config.py | 2 +- docker-compose.yml | 12 +- docs/decisions.md | 13 ++ 9 files changed, 229 insertions(+), 23 deletions(-) create mode 100644 ai/tasks/done/TASK-108-disable-server3-defaults-and-simplify-deployment.md diff --git a/README.md b/README.md index b839df1..158fc24 100644 --- a/README.md +++ b/README.md @@ -91,12 +91,25 @@ estado live de `/api/servers`, pero el histórico sigue dependiendo del scoreboard público porque no hay todavía una canalización persistente basada en eventos/logs RCON. +Modo normal recomendado: + +- levantar solo `backend` + `frontend` +- mantener `historical-runner` y `rcon-historical-worker` como servicios + avanzados bajo demanda +- mantener Comunidad Hispana #03 fuera de los targets RCON por defecto +- dejar Elo/MMR y la materializacion historica compleja en pausa operativa + hasta una reintroduccion explicita + Primer arranque: ```powershell docker compose up --build ``` +Con la configuracion actual, ese comando levanta solo `backend` y `frontend`. +Los workers historicos estan en el perfil Compose `advanced` y no forman parte +del arranque normal. + Accesos locales esperados: - frontend: `http://localhost:8080` @@ -170,8 +183,16 @@ Buenas practicas: despliegue - mantener `HLL_BACKEND_HISTORICAL_DATA_SOURCE=public-scoreboard` hasta tener una ingesta historica RCON realmente persistida +- no reintroducir Comunidad Hispana #03 en `HLL_BACKEND_RCON_TARGETS` salvo que + una task nueva valide su disponibilidad -## Operaciones historicas con Docker +## Operaciones historicas avanzadas con Docker + +Estas operaciones quedan disponibles para uso explicito, pero no son parte del +arranque recomendado. La ruta normal de despliegue es `backend` + `frontend`. +El codigo, las migraciones, los snapshots historicos y Elo/MMR se conservan en +la repo, pero Elo/MMR y la materializacion historica compleja quedan pausados +operativamente en esta fase. Refresh historico puntual dentro del contenedor backend: @@ -191,17 +212,18 @@ Regeneracion puntual de snapshots mediante refresh controlado: docker compose exec backend python -m app.historical_runner --max-runs 1 ``` -Automatizacion horaria recomendada: +Automatizacion horaria avanzada: ```powershell -docker compose up -d backend historical-runner frontend +docker compose --profile advanced up -d backend historical-runner frontend ``` `historical-runner` es un servicio Compose separado que ejecuta -`python -m app.historical_runner --hourly`, refresca el historico de -`comunidad-hispana-01`, `comunidad-hispana-02` y `comunidad-hispana-03`, y -regenera snapshots al terminar cada refresh correcto sin acoplar ese bucle al -proceso HTTP del backend. +`python -m app.historical_runner --hourly`. Sigue disponible para tareas +historicas explicitas, pero no se recomienda como requisito normal de +despliegue. Los targets RCON por defecto solo incluyen `comunidad-hispana-01` +y `comunidad-hispana-02`; `comunidad-hispana-03` queda deshabilitado en la +configuracion por defecto porque ya no es una fuente operativa vigente. Verificacion minima: diff --git a/ai/architecture-index.md b/ai/architecture-index.md index 5c9859c..0f391fd 100644 --- a/ai/architecture-index.md +++ b/ai/architecture-index.md @@ -76,5 +76,7 @@ Community website repository with a static landing in the current phase and a pl - The V1 monthly MVP scoring proposal for persisted historical player metrics is documented in `docs/monthly-mvp-ranking-scoring-design.md`. - The audited boundary between direct live RCON and future event-driven RCON metrics is documented in `docs/rcon-data-capability-audit.md`. - The first V2 player-event foundation now lives in dedicated `player_event_*` backend modules and starts from CRCON match-detail summaries, not from live RCON. +- The default operational deployment is simplified to `backend` + `frontend`; historical workers and RCON historical capture are advanced/manual services. +- Comunidad Hispana #03 is disabled from default RCON targets, while existing historical/Elo code and persisted data remain available for explicit future reintroduction. - Frontend data consumption should remain progressive, endpoint by endpoint, with static fallbacks preserved during migration. - The frontend integration strategy is documented in `docs/frontend-data-consumption-plan.md`. diff --git a/ai/repo-context.md b/ai/repo-context.md index 00eca5c..a2d4c82 100644 --- a/ai/repo-context.md +++ b/ai/repo-context.md @@ -19,6 +19,8 @@ This repository is in foundation stage. The objective is to grow in a controlled - Backend: not implemented yet, but planned in Python - AI Platform: integrated to coordinate planning and task execution - Product goal in current phase: maintain a clean landing and repository structure +- Default deployment: `backend` + `frontend`; historical workers are advanced/manual only. +- Comunidad Hispana #03 is not part of default RCON targets. Historical/Elo code and persisted data are preserved but paused operationally. ## Repository Areas diff --git a/ai/tasks/done/TASK-108-disable-server3-defaults-and-simplify-deployment.md b/ai/tasks/done/TASK-108-disable-server3-defaults-and-simplify-deployment.md new file mode 100644 index 0000000..4c4377e --- /dev/null +++ b/ai/tasks/done/TASK-108-disable-server3-defaults-and-simplify-deployment.md @@ -0,0 +1,158 @@ +--- +id: TASK-108 +title: Disable server #03 defaults and simplify deployment +status: done +type: documentation +team: PM +supporting_teams: + - Backend Senior + - Arquitecto Python +roadmap_item: foundation +priority: high +branch: chore/disable-server3-defaults +--- + +# TASK-108 - Disable server #03 defaults and simplify deployment + +## Goal + +Remove Comunidad Hispana server #03 from the default operational deployment/configuration path and document the simplified normal mode for HLL Vietnam. + +This task must keep the existing Elo/MMR, historical ingestion, migrations, and persisted data available in the repository. The goal is to stop treating server #03 and complex historical/Elo work as default operational requirements for the current phase, not to delete that work. + +## Context + +The AI Platform integration has just been updated and merged into `main`. The project now needs a simpler operational deployment path because the previous Elo/MMR and historical materialization work became too complex for the current phase, and Comunidad Hispana server #03 is no longer relevant because the server appears to have disappeared. + +The recommended default deployment path should be `backend` + `frontend`. Historical workers and RCON historical services may remain available for explicit advanced use, but they should not be part of the recommended normal startup. + +Preserve the current product identity: Spanish-speaking HLL Vietnam community, military/Vietnam/tactical/sober visual direction and controlled repository evolution. + +## Steps + +1. Create or switch to branch `chore/disable-server3-defaults`. +2. Inspect all files listed in **Files to Read First** before changing anything. +3. Locate every default deployment/configuration reference that treats Comunidad Hispana server #03 as part of the normal RCON operational path. +4. Remove Comunidad Hispana server #03 from default RCON targets in `docker-compose.yml`. +5. Ensure the default operational deployment path is clearly `backend` + `frontend`. +6. Keep `historical-runner` and `rcon-historical-worker` available only as explicit/advanced services, not part of the recommended normal startup. +7. Update `README.md` deployment/runbook documentation accordingly. +8. Update any relevant docs to state: + - server #03 is disabled or removed from defaults; + - Elo/MMR and complex historical ranking/materialization are paused for now; + - code and data are not deleted in this task; + - rollback or reintroduction remains possible later. +9. Do not remove code, migrations, persisted data, or database schemas. +10. Do not change live server #01 or #02 definitions except where required for formatting or consistency. +11. Keep secrets as placeholders or environment variables; do not add real passwords. +12. Validate the change with the checks below. +13. Move this task file from `ai/tasks/pending/` to `ai/tasks/done/` when validation is complete, or to `ai/tasks/review/` only if human/orchestrator review is explicitly required. +14. Commit and push the completed work. Do not leave completed work only in local. + +## Files to Read First + +- `ai/architecture-index.md` +- `ai/repo-context.md` +- `docker-compose.yml` +- `README.md` +- `backend/.env.example` +- `backend/app/config.py` +- `backend/app/data_sources.py` +- `backend/app/historical_runner.py` +- `backend/app/rcon_historical_worker.py` if present +- `docs/` + +## Expected Files to Modify + +- `docker-compose.yml` +- `README.md` +- possibly `backend/.env.example` +- possibly docs under `docs/` +- possibly `ai/repo-context.md` +- possibly `ai/architecture-index.md` +- this task file, moved from `ai/tasks/pending/` to `ai/tasks/done/` or `ai/tasks/review/` according to the AI Platform workflow + +If additional files become necessary, explain why in the task outcome and commit message. + +## Expected Files Not to Modify + +- `frontend/**`, unless there is a direct hardcoded visible reference to server #03 that must be removed +- database migrations +- persisted data +- Elo/MMR algorithm implementation files +- unrelated backend modules + +## Constraints + +- Keep the change narrow and operational. +- Do not delete Elo/MMR code. +- Do not delete historical ingestion code. +- Do not delete database migrations or persisted data. +- Do not alter database schemas. +- Do not introduce unnecessary frameworks or dependencies. +- Do not build new backend functionality. +- Do not change frontend behavior unless a visible server #03 default reference is directly found and must be adjusted. +- Do not modify unrelated files. +- Preserve HLL Vietnam project identity. +- Keep secrets as placeholders or environment variables; never add real credentials. + +## Validation + +Before completing the task ensure: + +- Run `git status`. +- Validate that `docker-compose.yml` remains syntactically valid YAML if a YAML parser is available. +- Run `powershell -ExecutionPolicy Bypass -File scripts/run-integration-tests.ps1`. +- Confirm `backend/runtime/` is not created or committed. +- Confirm server #03 is no longer present in default RCON targets. +- Confirm server #01 and server #02 remain present. +- Confirm no Elo/MMR code was deleted. +- Confirm no historical ingestion code was deleted. +- Confirm no database migrations, persisted data, or schema definitions were removed. +- Confirm no frontend behavior was unintentionally changed. +- Review `git diff --name-only` and confirm changed files match the expected scope. + +If any validation cannot be run, document the reason in the outcome before moving the task. + +## Commit And Push Requirements + +1. Run validation before committing. +2. Run `git status`. +3. Stage only intended files. +4. Commit with a clear message, for example: + + ```text + chore: disable server3 defaults and simplify deployment + ``` + +5. Push branch `chore/disable-server3-defaults` to `origin`. + +Do not leave completed work only in local. + +## Outcome + +- Removed Comunidad Hispana #03 from default RCON targets in `docker-compose.yml` and `backend/.env.example`; Comunidad Hispana #01 and #02 remain present. +- Simplified the recommended default deployment to `backend` + `frontend`. `docker compose up --build` now resolves only those services because historical workers are behind the `advanced` profile. +- Kept `historical-runner` and `rcon-historical-worker` available for explicit advanced use via `docker compose --profile advanced ...`. +- Paused Elo/MMR and complex historical materialization in documentation without deleting code, migrations, schemas, snapshots or persisted data. +- Changed backend historical defaults to `public-scoreboard` for normal operation while preserving RCON historical code for explicit advanced use. +- Updated root README, backend README, AI context and the decision log so future work does not treat #03 or historical/Elo automation as the default path. + +Validation performed: + +- `docker compose config --services` returned only `backend` and `frontend` for the default profile. +- Python YAML parser validation was skipped because `PyYAML` is not installed; Compose config validation succeeded instead. +- `powershell -ExecutionPolicy Bypass -File scripts/run-integration-tests.ps1` passed and reported no product integration tests configured for this platform-only scope. +- Confirmed `backend/runtime/` is not present. +- Reviewed `git diff --name-only`; modified files match the expected operational/documentation scope plus backend config default alignment. +- Confirmed no frontend files, migrations, persisted data, Elo/MMR implementation files, historical ingestion implementation files, or database schemas were removed. + +Follow-up: + +- If Comunidad Hispana #03 becomes available again, create a separate validation/reintroduction task instead of restoring it as a default target directly. + +## Change Budget + +- Prefer fewer than 5 modified files. +- Prefer changes under 200 lines when feasible. +- Split the work into follow-up tasks if limits are exceeded. diff --git a/backend/.env.example b/backend/.env.example index eaa6c4e..f07a3dd 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -4,9 +4,9 @@ HLL_BACKEND_STORAGE_PATH=/app/data/hll_vietnam_dev.sqlite3 HLL_BACKEND_ALLOWED_ORIGINS=http://127.0.0.1:8080,http://localhost:8080 HLL_BACKEND_REFRESH_INTERVAL_SECONDS=120 HLL_BACKEND_LIVE_DATA_SOURCE=rcon -HLL_BACKEND_HISTORICAL_DATA_SOURCE=rcon +HLL_BACKEND_HISTORICAL_DATA_SOURCE=public-scoreboard HLL_BACKEND_RCON_TIMEOUT_SECONDS=20 -HLL_BACKEND_RCON_TARGETS=[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #03","slug":"comunidad-hispana-03","external_server_id":"comunidad-hispana-03","host":"5.196.78.45","port":27230,"password":"replace-me-03","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}] +HLL_BACKEND_RCON_TARGETS=[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}] HLL_HISTORICAL_CRCON_PAGE_SIZE=50 HLL_HISTORICAL_CRCON_TIMEOUT_SECONDS=15 HLL_HISTORICAL_CRCON_DETAIL_WORKERS=8 diff --git a/backend/README.md b/backend/README.md index ce12649..d99b2c5 100644 --- a/backend/README.md +++ b/backend/README.md @@ -278,7 +278,7 @@ Valores soportados en esta fase: Defaults actuales: - `HLL_BACKEND_LIVE_DATA_SOURCE=rcon` -- `HLL_BACKEND_HISTORICAL_DATA_SOURCE=rcon` +- `HLL_BACKEND_HISTORICAL_DATA_SOURCE=public-scoreboard` La seleccion efectiva se resuelve en `app/data_sources.py` y en adapters dedicados dentro de `app/providers/`: @@ -399,8 +399,12 @@ Runbook operativo minimo: - modo recomendado por defecto: - `HLL_BACKEND_LIVE_DATA_SOURCE=rcon` - - `HLL_BACKEND_HISTORICAL_DATA_SOURCE=rcon` - - definir `HLL_BACKEND_RCON_TARGETS` fuera de la repo + - `HLL_BACKEND_HISTORICAL_DATA_SOURCE=public-scoreboard` + - usar solo `comunidad-hispana-01` y `comunidad-hispana-02` en los targets + RCON por defecto +- modo historico/RCON avanzado: + - iniciar workers solo de forma explicita + - no reintroducir `comunidad-hispana-03` salvo validacion nueva - override legacy completo: - `HLL_BACKEND_LIVE_DATA_SOURCE=a2s` - `HLL_BACKEND_HISTORICAL_DATA_SOURCE=public-scoreboard` @@ -1211,8 +1215,8 @@ Flags utiles del runner: - `--retry-delay 10` para bajar la espera entre fallos - `--max-runs 1` para una validacion puntual sin bucle indefinido -Para dejar automatizado el refresh historico horario de los tres servidores del -proyecto en local, el comando recomendado es: +Para dejar automatizado el refresh historico horario en local, el comando +avanzado sigue disponible: ```powershell python -m app.historical_runner --hourly @@ -1250,15 +1254,16 @@ Operativa local minima: - `backend/data/snapshots/comunidad-hispana-03/weekly-kills.json` - `backend/data/snapshots/all-servers/monthly-kills.json` -Operativa minima con Docker Compose: +Operativa avanzada con Docker Compose: ```powershell -docker compose up -d backend historical-runner frontend +docker compose --profile advanced up -d backend historical-runner frontend ``` El servicio `historical-runner` usa el mismo volumen persistente `./backend/data` y ejecuta `python -m app.historical_runner --hourly` como bucle operativo -dedicado, sin mezclar el scheduler con el proceso HTTP principal. +dedicado, sin mezclar el scheduler con el proceso HTTP principal. No forma +parte del despliegue normal, que queda limitado a `backend` + `frontend`. En frontend, la landing ya no arranca con cards fake estaticas para servidores: @@ -1340,7 +1345,7 @@ Comprobaciones utiles con Compose: Compose para captura prospectiva RCON: ```powershell -docker compose up -d rcon-historical-worker +docker compose --profile advanced up -d rcon-historical-worker docker compose logs -f rcon-historical-worker docker compose exec backend python -m app.rcon_historical_worker capture ``` diff --git a/backend/app/config.py b/backend/app/config.py index a76ff36..4584381 100644 --- a/backend/app/config.py +++ b/backend/app/config.py @@ -11,7 +11,7 @@ DEFAULT_PORT = 8000 DEFAULT_STORAGE_FILENAME = "hll_vietnam_dev.sqlite3" DEFAULT_REFRESH_INTERVAL_SECONDS = 300 DEFAULT_LIVE_DATA_SOURCE = "rcon" -DEFAULT_HISTORICAL_DATA_SOURCE = "rcon" +DEFAULT_HISTORICAL_DATA_SOURCE = "public-scoreboard" DEFAULT_RCON_TIMEOUT_SECONDS = 20.0 DEFAULT_HISTORICAL_CRCON_PAGE_SIZE = 50 DEFAULT_HISTORICAL_CRCON_TIMEOUT_SECONDS = 15.0 diff --git a/docker-compose.yml b/docker-compose.yml index 49511ee..e37d141 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,10 +7,10 @@ services: - ./backend/.env.example environment: HLL_BACKEND_LIVE_DATA_SOURCE: ${HLL_BACKEND_LIVE_DATA_SOURCE:-rcon} - HLL_BACKEND_HISTORICAL_DATA_SOURCE: ${HLL_BACKEND_HISTORICAL_DATA_SOURCE:-rcon} + HLL_BACKEND_HISTORICAL_DATA_SOURCE: ${HLL_BACKEND_HISTORICAL_DATA_SOURCE:-public-scoreboard} HLL_BACKEND_RCON_TIMEOUT_SECONDS: ${HLL_BACKEND_RCON_TIMEOUT_SECONDS:-20} HLL_BACKEND_RCON_TARGETS: >- - ${HLL_BACKEND_RCON_TARGETS:-[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #03","slug":"comunidad-hispana-03","external_server_id":"comunidad-hispana-03","host":"5.196.78.45","port":27230,"password":"replace-me-03","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}]} + ${HLL_BACKEND_RCON_TARGETS:-[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}]} ports: - "8000:8000" volumes: @@ -18,6 +18,8 @@ services: restart: unless-stopped historical-runner: + profiles: + - advanced build: context: ./backend container_name: hll-vietnam-historical-runner @@ -29,7 +31,7 @@ services: HLL_BACKEND_HISTORICAL_DATA_SOURCE: ${HLL_BACKEND_HISTORICAL_DATA_SOURCE:-rcon} HLL_BACKEND_RCON_TIMEOUT_SECONDS: ${HLL_BACKEND_RCON_TIMEOUT_SECONDS:-20} HLL_BACKEND_RCON_TARGETS: >- - ${HLL_BACKEND_RCON_TARGETS:-[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #03","slug":"comunidad-hispana-03","external_server_id":"comunidad-hispana-03","host":"5.196.78.45","port":27230,"password":"replace-me-03","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}]} + ${HLL_BACKEND_RCON_TARGETS:-[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}]} depends_on: - backend volumes: @@ -37,6 +39,8 @@ services: restart: unless-stopped rcon-historical-worker: + profiles: + - advanced build: context: ./backend container_name: hll-vietnam-rcon-historical-worker @@ -48,7 +52,7 @@ services: HLL_BACKEND_HISTORICAL_DATA_SOURCE: ${HLL_BACKEND_HISTORICAL_DATA_SOURCE:-rcon} HLL_BACKEND_RCON_TIMEOUT_SECONDS: ${HLL_BACKEND_RCON_TIMEOUT_SECONDS:-20} HLL_BACKEND_RCON_TARGETS: >- - ${HLL_BACKEND_RCON_TARGETS:-[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #03","slug":"comunidad-hispana-03","external_server_id":"comunidad-hispana-03","host":"5.196.78.45","port":27230,"password":"replace-me-03","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}]} + ${HLL_BACKEND_RCON_TARGETS:-[{"name":"Comunidad Hispana #01","slug":"comunidad-hispana-01","external_server_id":"comunidad-hispana-01","host":"152.114.195.174","port":7779,"password":"replace-me-01","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null},{"name":"Comunidad Hispana #02","slug":"comunidad-hispana-02","external_server_id":"comunidad-hispana-02","host":"152.114.195.150","port":7879,"password":"replace-me-02","source_name":"community-hispana-rcon","region":"ES","game_port":null,"query_port":null}]} HLL_RCON_HISTORICAL_CAPTURE_INTERVAL_SECONDS: ${HLL_RCON_HISTORICAL_CAPTURE_INTERVAL_SECONDS:-600} HLL_RCON_HISTORICAL_CAPTURE_MAX_RETRIES: ${HLL_RCON_HISTORICAL_CAPTURE_MAX_RETRIES:-2} HLL_RCON_HISTORICAL_CAPTURE_RETRY_DELAY_SECONDS: ${HLL_RCON_HISTORICAL_CAPTURE_RETRY_DELAY_SECONDS:-15} diff --git a/docs/decisions.md b/docs/decisions.md index d92325c..6ce9ce2 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -126,3 +126,16 @@ Las claves estables son: Esto permite bootstrap, refresco incremental e idempotencia sin mezclar semanticas de estado actual con historico persistido. El modelo detallado queda en `docs/historical-domain-model.md`. + +## Decision 014: despliegue normal simplificado sin servidor #03 + +El despliegue operativo normal vuelve a quedar reducido a `backend` + +`frontend`. Los servicios `historical-runner` y `rcon-historical-worker` se +mantienen disponibles solo para uso avanzado y explicito mediante el perfil +Compose `advanced`. + +Comunidad Hispana #03 deja de formar parte de los targets RCON por defecto +porque ya no es una fuente operativa vigente. El codigo historico, los datos +persistidos, las migraciones y las piezas Elo/MMR no se eliminan; quedan +pausadas operativamente para esta fase y pueden reintroducirse mediante una +task futura si se valida de nuevo la fuente y el coste de mantenimiento.