From 48b7be3b14c8a288e67196bd72da041652af10c9 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Thu, 18 Jun 2026 06:53:19 +0000 Subject: [PATCH] =?UTF-8?q?feat(tripit):=20live=20lodging-price=20scrape?= =?UTF-8?q?=20=E2=80=94=20LODGING=5FPROVIDER=3Dplaywright?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Viktor asked to turn lodging prices on and stop using the fake provider. Mirrors the existing FARE_PROVIDER wiring: point the Booking.com/Airbnb lodging scraper at the shared chrome-service browser over CDP (the namespace is already admitted through chrome-service's NetworkPolicy for the fare scrape). The lodging code (ADR-0025, tripit #78) is live in tripit 03973b5, so the env lands after that rollout. Co-Authored-By: Claude Opus 4.8 --- stacks/tripit/main.tf | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/stacks/tripit/main.tf b/stacks/tripit/main.tf index ea6ccb89..ced66a04 100644 --- a/stacks/tripit/main.tf +++ b/stacks/tripit/main.tf @@ -98,6 +98,15 @@ locals { # keep serving), so the env landed AFTER that image rolled out. FARE_PROVIDER = "playwright" FARE_CDP_URL = "http://chrome-service.chrome-service.svc.cluster.local:9222" + # Live lodging-price scrape (tripit ADR-0025, issue #78): the lodging twin of + # FARE_PROVIDER — Playwright driving the SHARED chrome-service browser over CDP + # to read Booking.com + Airbnb nightly rates. Same rate-limit/cache/back-off + + # degrade-to-manual contract; reuses the chrome-service NetworkPolicy admission + # on the namespace below (no per-pod browser). LodgingMode `playwright` only + # exists in images >= the #78 slice (live in 03973b5), so this env lands after + # that rollout — same image-first hold-order as FARE/CALENDAR/RESEARCH above. + LODGING_PROVIDER = "playwright" + LODGING_CDP_URL = "http://chrome-service.chrome-service.svc.cluster.local:9222" # Calendar-conflict column (tripit issue #19): read the owner's Nextcloud # calendar over CalDAV to flag date clashes on a planning Option. Base + # user are non-secret; the app-password arrives via tripit-secrets. Same