11 Commits

Author SHA1 Message Date
Jeffrey (Dongkyu) Kim 968a3bf854 fix(proxy-ops): run gpu01 watchdog on the real hostname
hostname -s on the production box is marker-multi-gpu-server-01, and
cron does not set KSKILL_PROXY_DEPLOY_HOST, so the watchdog and
trust-proxy default were no-ops. Accept that hostname, keep the cron
env contract, export the user-bus vars cron needs for systemctl, and
persist the proxy unit as Restart=always.

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-09-08 16:48:19 +09:00
jeffrey e01b94fd2e fix(proxy-ops): auto-recover gpu01 services after reboot (#658)
The 2026-08-29 gpu01 reboot left the public proxy (530) and dashboard
(502) dead for ~10 days. Only the Fastify proxy recovered, because the
deploy cron `restart`s it every run; the tunnel and Loki/Grafana/
Promtail stack used Restart=on-failure, which does not revive a clean
SIGTERM, and nothing else ever started them.

- dashboard systemd units: Restart=on-failure -> always,
  StartLimitIntervalSec=0
- commit the previously host-only cloudflared tunnel unit, hardened
  with Restart=always, StartLimitIntervalSec=0, and RequiresMountsFor=
  on the gpu02:/data NFS paths
- deploy cron: ensure_production_services() starts any watched service
  that is installed but inactive, on every run including SHA-noop runs
- document the watchdog and canonical unit locations

Closes #658
2026-09-08 16:15:33 +09:00
Jeffrey (Dongkyu) Kim 47667860a2 fix(proxy): scope trust proxy default to gpu01 production 2026-08-20 22:19:50 +09:00
Jeffrey (Dongkyu) Kim 6e8702307a Merge remote-tracking branch 'origin/dev' into feature/568
# Conflicts:
#	packages/k-skill-proxy/README.md
#	packages/k-skill-proxy/test/server.test.js
#	scripts/deploy-k-skill-proxy-gpu01.sh
#	scripts/skill-docs.test.js
2026-08-20 17:26:44 +09:00
Jeffrey (Dongkyu) Kim 70b384a4c2 fix(proxy): preserve deploy script executable mode 2026-08-19 12:42:59 +09:00
Jeffrey (Dongkyu) Kim a47b21bc1e feat(proxy): publish privacy policy 2026-08-19 12:42:38 +09:00
kingsj0405 b905284ba0 fix(proxy): trust the cloudflared hop on gpu01 2026-08-16 16:21:12 +09:00
ericpapa80 fc01be189b fix(proxy): split Cloudflare rate-limit buckets and retry idempotent GET failures
Use CF-Connecting-IP when trustProxy hops are set so Tunnel clients are not collapsed into one 429 bucket, retry MOLIT/KRX/building/AirKorea GET 5xx/429/network errors, and accept mcp SDK 2.x in myrealtrip-search.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 10:30:42 +09:00
Jeffrey (Dongkyu) Kim 3adccfcf27 fix: migrate proxy deployment from Cloud Run to gpu01 (#414) 2026-07-12 17:36:05 +09:00
Jeffrey (Dongkyu) Kim 1d2e5d6295 Merge dev into main (#410) 2026-07-11 12:17:12 +09:00
Jeffrey (Dongkyu) Kim 9e89f682cc Migrate k-skill-proxy deploy to gpu01 cron 2026-06-25 22:04:42 +09:00