Files
claudetools/.claude/memory/reference_gitea_internal.md
Mike Swanson 2a1ccfac73 Add memory-dream skill + additive cross-machine memory sync
memory-dream: read-only memory lint/consolidation analyzer (index, backlinks,
stale refs, dup clusters, profile drift); additive-only --apply-safe, all
merges/deletes are proposals. sync-memory.sh: additive repo<->harness-profile
union (no delete/overwrite, conflicts surfaced), wired to a SessionStart hook.
Migrates the useful profile-only memories into the synced repo store.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 15:22:12 -07:00

1.9 KiB

name, description, type, originSessionId
name description type originSessionId
Gitea Internal API Access git.azcomputerguru.com is NOT behind Cloudflare — it's the office Cox IP NAT'd to NPM (openresty) on Jupiter. Prefer internal 172.16.3.20:3000 for reliability (bypasses NPM SSL-renewal reload blips) reference 511840e9-1aba-40e6-a81e-4905bac958ec

CORRECTED 2026-05-27 (prior note claimed "behind Cloudflare / curl gets a JS challenge" — that is WRONG/outdated).

git.azcomputerguru.com resolves to a direct public A record 72.194.62.10 (an ACG-office Cox static IP, adjacent to ix at .5 — wsip-72-194-62-10.ph.ph.cox.net). NOT Cloudflare-proxied (same answer from 1.1.1.1; no CF edge IP). Path: .10 → office firewall NAT → NPM (Nginx Proxy Manager = openresty) on Jupiter 172.16.3.20 → Gitea container :3000. The NPM proxy host is /data/nginx/proxy_host/4.conf. curl/HTTPS works fine and returns 200 (Server: openresty) — there is no challenge page.

Why prefer the internal address for API/git on-network: the external path goes through NPM, which periodically renews its SSL certs and reloads openresty — that briefly drops external :443 (observed 2026-05-27: ~7-9 min TCP-timeout window, self-recovered when renewal completed). The internal address bypasses NPM, so it's faster and immune to those renewal blips. It is NOT about Cloudflare.

Use the internal LAN/Tailscale address:

http://172.16.3.20:3000/api/v1/...

Works when on LAN or when Tailscale is connected. Requires the API token from vault:

bash D:/vault/scripts/vault.sh get-field services/gitea.sops.yaml credentials.api.api-token
# 9b1da4b79a38ef782268341d25a4b6880572063f

Example issue creation:

TOKEN="9b1da4b79a38ef782268341d25a4b6880572063f"
curl -s -X POST "http://172.16.3.20:3000/api/v1/repos/azcomputerguru/gururmm/issues" \
  -H "Authorization: token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "...", "body": "..."}'