Record the 138f57c8 full go-live VPS release

Deployed everything since 6185dbf (Brīdinājumi draggable symbols, real
open-data station/water-temperature ingestion, synthetic-data removal,
scheduler split, METEO_* deletion, real per-zone water-temperature
ranges), flipped ENABLE_SCHEDULED_JOBS=true on the VPS, and wiped the
VPS weather table's synthetic rows after a PostgreSQL backup.
This commit is contained in:
b0txec
2026-08-23 12:17:27 +03:00
parent 138f57c808
commit 4a104c18dd
2 changed files with 30 additions and 22 deletions
+5 -5
View File
@@ -11,16 +11,16 @@ This directory contains the working documentation for the WeatherTool modernizat
- PostgreSQL is private to the project Compose network; only the Scala application publishes a host port.
- The operator-facing workspaces now use the Latvian workflow names **Stacijas**, **Kartes**, **Faktiskā**, **Ūdens**, **Brīdinājumi**, **Apskats**, **Arhīvs**, **Harmonie**, and **LVĢMC**. Kartes retains custom analytical map outputs, while Faktiskā is a fixed 13-position, latest-temperature newsroom workflow with a locked 3840×1440 export.
- Faktiskā symbol placement is automatic after manual image selection and is anchored to each rendered temperature badge.
- **Ūdens** uses separate authoritative 1920×1080 and 3840×1440 production templates. Its six value rectangles are measured per template and the text is optically centered from rendered glyph bounds; both exports have been visually validated.
- **Brīdinājumi** renders current LVĢMC warning polygons over a production border overlay with feathered severity fills. Its lon/lat-to-pixel projection is an affine fit calibrated against the same validated city pixel positions Kartes/Faktiskā already use, replacing an earlier bounding-box calibration that drifted up to ~200px on the 3840 canvas.
- **Ūdens** auto-populates its six ranges on load with real per-zone water-temperature min/max (65 LVĢMC stations classified into the 6 named zones), with manual override and reset still available. Uses separate authoritative 1920×1080 and 3840×1440 production templates; both exports have been visually validated.
- **Brīdinājumi** renders current LVĢMC warning polygons over a production border overlay with feathered severity fills, plus draggable/resizable per-warning weather-symbol placement. Its lon/lat-to-pixel projection is an affine fit calibrated against the same validated city pixel positions Kartes/Faktiskā already use, replacing an earlier bounding-box calibration that drifted up to ~200px on the 3840 canvas.
- Confirmed local Monda Regular/Bold files provide interface and generated-graphic typography; weather symbols use normalized transparent image assets.
- Release `6185dbf` is deployed as immutable image `weathertool:6185dbfdb0752db7d715f1061d74baab3c43122e`; release `b5150ab` remains the immediate application rollback. This release hardens LVĢMC warning fetching (bounded retry during upstream outages, per-warning fetch isolation, a CKAN filter verified against the live API, and visible logging for a previously-silent vertex-order fallback) on top of the full Brīdinājumi workspace, JSON API, Latvian workflow labels, and calibrated water-temperature work.
- Release `138f57c8` is deployed as immutable image `weathertool:138f57c808631dc17396b22ac0305b670fbcf776`; release `6185dbf` remains the immediate application rollback. This is the full go-live release: real open-data station and water-temperature ingestion, the scheduler safety split (`ENABLE_SCHEDULED_JOBS` vs. `ENABLE_LEGACY_PROVIDER_JOBS`), synthetic-data-generation removal, the dead `METEO_*` path deleted, draggable Brīdinājumi symbol placement, and real per-zone water-temperature ranges — on top of the hardened LVĢMC warning fetching, full Brīdinājumi workspace, JSON API, and Latvian workflow labels already live in `6185dbf`.
- The isolated VPS UAT stack is running and healthy: WeatherTool is bound to `127.0.0.1:8002`, Authelia to `127.0.0.1:9091`, and PostgreSQL has no host port. Public access is routed through Cloudflare, Nginx, and Authelia.
- Cloudflare delegation is active, strict origin TLS covers only `laikapstak.li` and `auth.laikapstak.li`, and the public Nginx/Authelia login flow is operational without changing the existing HOP site.
- The VPS database contains a deliberately limited 14-day, 34-city synthetic dataset for newsroom visual testing. It must be cleared before authorized real-provider ingestion begins.
- The VPS `weather` table now holds only real LVĢMC open-data station observations; its original 14-day synthetic dataset was backed up to `/srv/weathertool/backups/pre-real-data-release/` and wiped on 2026-08-23 as part of the `138f57c8` release. The scheduled open-data job runs on the VPS (minutes 15/45); the legacy FTP/HARMONIE jobs stay off pending real credentials.
- Approved 1920×1080 and 3840×1440 PNG production bases are now the rendering source for Faktiskā and Ūdens temperatūra; code draws only the changing values, selected weather symbols, and wind data over those fixed newsroom graphics.
- Browser branding assets and Latvian Open Graph/Twitter metadata are included for favicon, Apple home-screen icon, and link-preview support. Public crawler access still depends on the Nginx/Authelia policy used for the metadata and preview image.
- Browser verification is complete for the deployed `6185dbf` release, including Brīdinājumi against real live LVĢMC data (a genuinely severe live wind warning tested the hardened fetch path end to end). Newsroom testers will be given the domain first, without walkthrough, to see how intuitive the workflow is before any guidance is provided.
- Browser verification is complete for the deployed `138f57c8` release: exact release image smoke-tested on Rocky before transfer, VPS PostgreSQL backed up before the synthetic-data wipe, checksum verified on both ends, container health/loopback/public HTTPS confirmed, and the scheduled open-data job observed firing and landing 1,577 real rows within ~2 minutes of the deploy. Newsroom testers will be given the domain first, without walkthrough, to see how intuitive the workflow is before any guidance is provided.
- Frontend dependency maintenance is complete: Solid runtime and Vite tooling were updated, obsolete packages were removed, TypeScript checking was added, and a clean Rocky `npm ci`, typecheck, production build, full audit, and production-only audit all pass with zero known vulnerabilities.
- This is not yet approved or hardened for workplace production.