diff --git a/.github/workflows/deploy-staging.yml b/.github/workflows/deploy-staging.yml index 33414c8b21..1d4b50197f 100644 --- a/.github/workflows/deploy-staging.yml +++ b/.github/workflows/deploy-staging.yml @@ -394,7 +394,7 @@ jobs: IPFS_PROVIDER=local IPFS_LOCAL_API_URL=http://ipfs:5001 IPFS_LOCAL_GATEWAY_URL=http://ipfs:8080 - DELEGATED_ROUTING_URL=http://someguy:8190 + DELEGATED_ROUTING_URL=https://delegated-ipfs.dev REDIS_HOST=redis REDIS_PORT=6379 TEE_WORKER_URL=http://tee-worker:3001 diff --git a/.planning/todos/pending/2026-03-23-investigate-someguy-ipns-routing-failure-locally.md b/.planning/todos/pending/2026-03-23-investigate-someguy-ipns-routing-failure-locally.md new file mode 100644 index 0000000000..03f4de36fe --- /dev/null +++ b/.planning/todos/pending/2026-03-23-investigate-someguy-ipns-routing-failure-locally.md @@ -0,0 +1,35 @@ +--- +created: 2026-03-23T00:38:32.141Z +title: Investigate someguy IPNS routing failure locally +area: infra +files: + - docker/docker-compose.yml + - docker/docker-compose.staging.yml + - apps/api/src/ipns/delegated-routing.client.ts +--- + +## Problem + +Someguy v0.11.1 (latest release) has completely non-functional IPNS endpoints on staging. The `/routing/v1/providers/` endpoint works fine (returns results instantly), but `/routing/v1/ipns/` hangs indefinitely on both PUT and GET — curl times out after 30s with zero bytes received. + +This causes every delegated routing publish to fail after 3 retries x 10s timeout. The API falls back to DB cache for resolves, but publishes waste ~30s per attempt. Nearly 2,000 abort errors were observed in a 10-minute window during load testing. + +Staging has been reverted to `https://delegated-ipfs.dev` (PR #322) and someguy removed from the compose stack. + +## Solution + +Reproduce and diagnose locally using the Docker host (192.168.133.114) with Kubo v0.40.0: + +1. Add someguy v0.11.1 to `docker/docker-compose.yml` +2. Point API `DELEGATED_ROUTING_URL` at `http://192.168.133.114:` +3. Test IPNS endpoint directly: `curl --max-time 30 http:///routing/v1/ipns/` +4. If it hangs locally too — check someguy GitHub issues for known IPNS bugs, file one if needed +5. If it works locally — investigate staging-specific factors (networking, resource constraints, DNS) +6. Run SDK E2E (83 tests) and load tests to validate end-to-end + +Key questions: + +- Is this a known someguy bug? +- Does Kubo v0.40.0 (vs v0.34.0 on staging when someguy was deployed) change anything? +- Is someguy's DHT mode (`standard` vs `accelerated`) a factor? +- Are there env vars or config we're missing? diff --git a/docker/alloy-config.river b/docker/alloy-config.river index dd8df7bf98..35680f683f 100644 --- a/docker/alloy-config.river +++ b/docker/alloy-config.river @@ -66,17 +66,6 @@ prometheus.scrape "cipherbox_api" { forward_to = [prometheus.remote_write.grafana_cloud.receiver] } -// Scrape someguy delegated routing sidecar for DHT and HTTP routing metrics -prometheus.scrape "someguy" { - targets = [{ - __address__ = "someguy:8190", - }] - metrics_path = "/debug/metrics/prometheus" - scrape_interval = "30s" - - forward_to = [prometheus.remote_write.grafana_cloud.receiver] -} - // Scrape Kubo /debug/metrics/prometheus endpoint for IPFS node health prometheus.scrape "kubo" { targets = [{ diff --git a/docker/docker-compose.staging.yml b/docker/docker-compose.staging.yml index c938a77b22..ad70624d67 100644 --- a/docker/docker-compose.staging.yml +++ b/docker/docker-compose.staging.yml @@ -84,30 +84,6 @@ services: memory: 2G cpus: '1.0' - someguy: - image: ghcr.io/ipfs/someguy:v0.11.1 - restart: unless-stopped - environment: - SOMEGUY_LISTEN_ADDRESS: 0.0.0.0:8190 - SOMEGUY_DHT: standard - SOMEGUY_LIBP2P_CONNMGR_LOW: 50 - SOMEGUY_LIBP2P_CONNMGR_HIGH: 300 - SOMEGUY_LIBP2P_MAX_MEMORY: 536870912 # 512MB in bytes - GOLOG_LOG_LEVEL: info - GOLOG_LOG_FMT: json - logging: *default-logging - healthcheck: - test: ['CMD-SHELL', 'curl -sf http://localhost:8190/version || exit 1'] - interval: 10s - timeout: 5s - retries: 10 - start_period: 30s - deploy: - resources: - limits: - memory: 768M - cpus: '0.5' - tee-worker: image: ghcr.io/${GITHUB_REPOSITORY_OWNER:-OWNER}/cipherbox-tee-worker:${TAG:-latest} restart: unless-stopped diff --git a/release-please-config.json b/release-please-config.json index 07b97285b3..731caee577 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -1,6 +1,19 @@ { "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", "pull-request-title-pattern": "chore: release v${version}", + "changelog-sections": [ + { "type": "feat", "section": "Features" }, + { "type": "fix", "section": "Bug Fixes" }, + { "type": "build", "section": "Build System" }, + { "type": "perf", "section": "Performance Improvements" }, + { "type": "revert", "section": "Reverts" }, + { "type": "docs", "section": "Documentation", "hidden": true }, + { "type": "style", "section": "Styles", "hidden": true }, + { "type": "chore", "section": "Miscellaneous", "hidden": true }, + { "type": "refactor", "section": "Code Refactoring", "hidden": true }, + { "type": "test", "section": "Tests", "hidden": true }, + { "type": "ci", "section": "Continuous Integration", "hidden": true } + ], "packages": { ".": { "release-type": "node",