From 8231171440db03de02641e60863d39ac54235b0d Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Wed, 28 Jan 2026 22:30:36 +0800 Subject: [PATCH 1/5] add startup gate for paperdebugger to wait for xtramcp --- helm-chart/templates/paperdebugger.yaml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/helm-chart/templates/paperdebugger.yaml b/helm-chart/templates/paperdebugger.yaml index 098d65d2..b02e2f24 100644 --- a/helm-chart/templates/paperdebugger.yaml +++ b/helm-chart/templates/paperdebugger.yaml @@ -15,8 +15,8 @@ spec: spec: imagePullSecrets: - name: ghcr-secret - {{ if .Values.mongo.in_cluster }} initContainers: + {{- if .Values.mongo.in_cluster }} - name: init-mongodb image: mongo:latest command: @@ -26,7 +26,17 @@ spec: "--eval", 'db.isMaster().primary || rs.initiate({_id: "in-cluster", members: [{_id: 0, host: "mongo:27017"}]})', ] - {{ end }} + {{- end }} + - name: wait-for-xtramcp-port + image: busybox:1.36 + command: ["sh", "-c"] + args: + - | + echo "Waiting for paperdebugger-xtramcp-server:8080..." + until nc -z -w 2 paperdebugger-xtramcp-server 8080; do + sleep 2 + done + echo "xtramcp port is open." containers: - name: paperdebugger image: {{ .Values.paperdebugger.image }} From ff90ffe9b5d03b0f0cdd6b71daa4fde37439dd82 Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Wed, 28 Jan 2026 22:36:56 +0800 Subject: [PATCH 2/5] fix: remove dummy defaults to allow backend handling --- hack/dev.sh | 20 +++++++++++--------- hack/prd.sh | 18 +++++++++--------- hack/stg.sh | 18 +++++++++--------- 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/hack/dev.sh b/hack/dev.sh index 78143403..e074ff0a 100755 --- a/hack/dev.sh +++ b/hack/dev.sh @@ -6,20 +6,21 @@ ROOT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." &>/dev/null && pwd) cd $ROOT_DIR OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1} -OPENAI_API_KEY=${OPENAI_API_KEY:-sk-dummy-OPENAI_API_KEY} +OPENAI_API_KEY=${OPENAI_API_KEY:-} INFERENCE_BASE_URL=${INFERENCE_BASE_URL:-https://inference.paperdebugger.workers.dev} -INFERENCE_API_KEY=${INFERENCE_API_KEY:-sk-dummy-OPEN-ROUTER} +INFERENCE_API_KEY=${INFERENCE_API_KEY:-} MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY} MCP_PAPERSCORE_KEY=${MCP_PAPERSCORE_KEY:-sk-dummy-MCP_PAPERSCORE_KEY} XTRAMCP_OPENAI_BASE_URL=${XTRAMCP_OPENAI_BASE_URL:-https://api.openai.com/v1} -XTRAMCP_OPENAI_API_KEY=${XTRAMCP_OPENAI_API_KEY:-sk-dummy-XTRAMCP_OPENAI_API_KEY} +XTRAMCP_OPENAI_API_KEY=${XTRAMCP_OPENAI_API_KEY:-} XTRAMCP_OPENREVIEW_BASE_URL=${XTRAMCP_OPENREVIEW_BASE_URL:-https://api2.openreview.net} -XTRAMCP_OPENREVIEW_USERNAME=${XTRAMCP_OPENREVIEW_USERNAME:-dummy-XTRAMCP_OPENREVIEW_USERNAME} -XTRAMCP_OPENREVIEW_PASSWORD=${XTRAMCP_OPENREVIEW_PASSWORD:-dummy-XTRAMCP_OPENREVIEW_PASSWORD} -XTRAMCP_CROSSREF_EMAIL_ADDRESS=${XTRAMCP_CROSSREF_EMAIL_ADDRESS:-dummy-crossref-email-address} -XTRAMCP_DOI_EMAIL_ADDRESS=${XTRAMCP_DOI_EMAIL_ADDRESS:-dummy-doi-email-address} -XTRAMCP_ARXIV_METADATA_DB_URL=${XTRAMCP_ARXIV_METADATA_DB_URL:-postgresql://dummy-arxiv-metadata-db-url} -XTRAMCP_MONGO_URI=${XTRAMCP_MONGO_URI:-mongodb://dummy-mongo-uri} +XTRAMCP_OPENREVIEW_USERNAME=${XTRAMCP_OPENREVIEW_USERNAME:-} +XTRAMCP_OPENREVIEW_PASSWORD=${XTRAMCP_OPENREVIEW_PASSWORD:-} +XTRAMCP_CROSSREF_EMAIL_ADDRESS=${XTRAMCP_CROSSREF_EMAIL_ADDRESS:-} +XTRAMCP_DOI_EMAIL_ADDRESS=${XTRAMCP_DOI_EMAIL_ADDRESS:-} +XTRAMCP_ACL_METADATA_DB_URL=${XTRAMCP_ACL_METADATA_DB_URL:-} +XTRAMCP_ARXIV_METADATA_DB_URL=${XTRAMCP_ARXIV_METADATA_DB_URL:-} +XTRAMCP_MONGO_URI=${XTRAMCP_MONGO_URI:-} PAPERDEBUGGER_IMAGE=${PAPERDEBUGGER_IMAGE:-ghcr.io/paperdebugger/sharelatex-paperdebugger:latest} MONGO_URI=${MONGO_URI:-} GHCR_DOCKER_CONFIG=${GHCR_DOCKER_CONFIG:-dummy-ghcr-docker-config} @@ -42,6 +43,7 @@ helm template $ROOT_DIR/helm-chart \ --set-string xtramcp_openreview_password=$XTRAMCP_OPENREVIEW_PASSWORD \ --set-string xtramcp_crossref_email_address=$XTRAMCP_CROSSREF_EMAIL_ADDRESS \ --set-string xtramcp_doi_email_address=$XTRAMCP_DOI_EMAIL_ADDRESS \ + --set-string xtramcp_acl_metadata_db_url=$XTRAMCP_ACL_METADATA_DB_URL \ --set-string xtramcp_arxiv_metadata_db_url=$XTRAMCP_ARXIV_METADATA_DB_URL \ --set-string xtramcp_mongo_uri=$XTRAMCP_MONGO_URI \ --set-string paperdebugger.image=$PAPERDEBUGGER_IMAGE \ diff --git a/hack/prd.sh b/hack/prd.sh index e19ecc50..f3995d7b 100755 --- a/hack/prd.sh +++ b/hack/prd.sh @@ -8,19 +8,19 @@ cd $ROOT_DIR OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1} OPENAI_API_KEY=${OPENAI_API_KEY:-} INFERENCE_BASE_URL=${INFERENCE_BASE_URL:-https://inference.paperdebugger.workers.dev} -INFERENCE_API_KEY=${INFERENCE_API_KEY:-sk-dummy-OPEN-ROUTER} +INFERENCE_API_KEY=${INFERENCE_API_KEY:-} MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY} MCP_PAPERSCORE_KEY=${MCP_PAPERSCORE_KEY:-sk-dummy-MCP_PAPERSCORE_KEY} XTRAMCP_OPENAI_BASE_URL=${XTRAMCP_OPENAI_BASE_URL:-https://api.openai.com/v1} -XTRAMCP_OPENAI_API_KEY=${XTRAMCP_OPENAI_API_KEY:-sk-dummy-XTRAMCP_OPENAI_API_KEY} +XTRAMCP_OPENAI_API_KEY=${XTRAMCP_OPENAI_API_KEY:-} XTRAMCP_OPENREVIEW_BASE_URL=${XTRAMCP_OPENREVIEW_BASE_URL:-https://api2.openreview.net} -XTRAMCP_OPENREVIEW_USERNAME=${XTRAMCP_OPENREVIEW_USERNAME:-dummy-XTRAMCP_OPENREVIEW_USERNAME} -XTRAMCP_OPENREVIEW_PASSWORD=${XTRAMCP_OPENREVIEW_PASSWORD:-dummy-XTRAMCP_OPENREVIEW_PASSWORD} -XTRAMCP_CROSSREF_EMAIL_ADDRESS=${XTRAMCP_CROSSREF_EMAIL_ADDRESS:-dummy-crossref-email-address} -XTRAMCP_DOI_EMAIL_ADDRESS=${XTRAMCP_DOI_EMAIL_ADDRESS:-dummy-doi-email-address} -XTRAMCP_ACL_METADATA_DB_URL=${XTRAMCP_ACL_METADATA_DB_URL:-postgresql://dummy-acl-metadata-db-url} -XTRAMCP_ARXIV_METADATA_DB_URL=${XTRAMCP_ARXIV_METADATA_DB_URL:-postgresql://dummy-arxiv-metadata-db-url} -XTRAMCP_MONGO_URI=${XTRAMCP_MONGO_URI:-mongodb://dummy-mongo-uri} +XTRAMCP_OPENREVIEW_USERNAME=${XTRAMCP_OPENREVIEW_USERNAME:-} +XTRAMCP_OPENREVIEW_PASSWORD=${XTRAMCP_OPENREVIEW_PASSWORD:-} +XTRAMCP_CROSSREF_EMAIL_ADDRESS=${XTRAMCP_CROSSREF_EMAIL_ADDRESS:-} +XTRAMCP_DOI_EMAIL_ADDRESS=${XTRAMCP_DOI_EMAIL_ADDRESS:-} +XTRAMCP_ACL_METADATA_DB_URL=${XTRAMCP_ACL_METADATA_DB_URL:-} +XTRAMCP_ARXIV_METADATA_DB_URL=${XTRAMCP_ARXIV_METADATA_DB_URL:-} +XTRAMCP_MONGO_URI=${XTRAMCP_MONGO_URI:-} PAPERDEBUGGER_IMAGE=${PAPERDEBUGGER_IMAGE:-ghcr.io/paperdebugger/sharelatex-paperdebugger:latest} MONGO_URI=${MONGO_URI:-} GHCR_DOCKER_CONFIG=${GHCR_DOCKER_CONFIG:-dummy-ghcr-docker-config} diff --git a/hack/stg.sh b/hack/stg.sh index 9e400860..c1cc86f6 100755 --- a/hack/stg.sh +++ b/hack/stg.sh @@ -8,19 +8,19 @@ cd $ROOT_DIR OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1} OPENAI_API_KEY=${OPENAI_API_KEY:-} INFERENCE_BASE_URL=${INFERENCE_BASE_URL:-https://inference.paperdebugger.workers.dev} -INFERENCE_API_KEY=${INFERENCE_API_KEY:-sk-dummy-OPEN-ROUTER} +INFERENCE_API_KEY=${INFERENCE_API_KEY:-} MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY} MCP_PAPERSCORE_KEY=${MCP_PAPERSCORE_KEY:-sk-dummy-MCP_PAPERSCORE_KEY} XTRAMCP_OPENAI_BASE_URL=${XTRAMCP_OPENAI_BASE_URL:-https://api.openai.com/v1} -XTRAMCP_OPENAI_API_KEY=${XTRAMCP_OPENAI_API_KEY:-sk-dummy-XTRAMCP_OPENAI_API_KEY} +XTRAMCP_OPENAI_API_KEY=${XTRAMCP_OPENAI_API_KEY:-} XTRAMCP_OPENREVIEW_BASE_URL=${XTRAMCP_OPENREVIEW_BASE_URL:-https://api2.openreview.net} -XTRAMCP_OPENREVIEW_USERNAME=${XTRAMCP_OPENREVIEW_USERNAME:-dummy-XTRAMCP_OPENREVIEW_USERNAME} -XTRAMCP_OPENREVIEW_PASSWORD=${XTRAMCP_OPENREVIEW_PASSWORD:-dummy-XTRAMCP_OPENREVIEW_PASSWORD} -XTRAMCP_CROSSREF_EMAIL_ADDRESS=${XTRAMCP_CROSSREF_EMAIL_ADDRESS:-dummy-crossref-email-address} -XTRAMCP_DOI_EMAIL_ADDRESS=${XTRAMCP_DOI_EMAIL_ADDRESS:-dummy-doi-email-address} -XTRAMCP_ACL_METADATA_DB_URL=${XTRAMCP_ACL_METADATA_DB_URL:-postgresql://dummy-acl-metadata-db-url} -XTRAMCP_ARXIV_METADATA_DB_URL=${XTRAMCP_ARXIV_METADATA_DB_URL:-postgresql://dummy-arxiv-metadata-db-url} -XTRAMCP_MONGO_URI=${XTRAMCP_MONGO_URI:-mongodb://dummy-mongo-uri} +XTRAMCP_OPENREVIEW_USERNAME=${XTRAMCP_OPENREVIEW_USERNAME:-} +XTRAMCP_OPENREVIEW_PASSWORD=${XTRAMCP_OPENREVIEW_PASSWORD:-} +XTRAMCP_CROSSREF_EMAIL_ADDRESS=${XTRAMCP_CROSSREF_EMAIL_ADDRESS:-} +XTRAMCP_DOI_EMAIL_ADDRESS=${XTRAMCP_DOI_EMAIL_ADDRESS:-} +XTRAMCP_ACL_METADATA_DB_URL=${XTRAMCP_ACL_METADATA_DB_URL:-} +XTRAMCP_ARXIV_METADATA_DB_URL=${XTRAMCP_ARXIV_METADATA_DB_URL:-} +XTRAMCP_MONGO_URI=${XTRAMCP_MONGO_URI:-} PAPERDEBUGGER_IMAGE=${PAPERDEBUGGER_IMAGE:-ghcr.io/paperdebugger/sharelatex-paperdebugger:latest} MONGO_URI=${MONGO_URI:-} GHCR_DOCKER_CONFIG=${GHCR_DOCKER_CONFIG:-dummy-ghcr-docker-config} From 4b8f3b9650acdd6de2e7727c5eb8c80fac77e300 Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Mon, 2 Feb 2026 00:32:02 +0800 Subject: [PATCH 3/5] replace port readiness check with app readiness --- helm-chart/templates/paperdebugger.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helm-chart/templates/paperdebugger.yaml b/helm-chart/templates/paperdebugger.yaml index b02e2f24..982e1f1a 100644 --- a/helm-chart/templates/paperdebugger.yaml +++ b/helm-chart/templates/paperdebugger.yaml @@ -32,11 +32,11 @@ spec: command: ["sh", "-c"] args: - | - echo "Waiting for paperdebugger-xtramcp-server:8080..." - until nc -z -w 2 paperdebugger-xtramcp-server 8080; do + echo "Waiting for xtramcp health endpoint..." + until wget -q --spider http://paperdebugger-xtramcp-server:8080/health; do sleep 2 done - echo "xtramcp port is open." + echo "xtramcp is healthy." containers: - name: paperdebugger image: {{ .Values.paperdebugger.image }} From 6e195165aa9c0ddca33217623e16e62ac0ff7f1c Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Tue, 3 Feb 2026 19:38:23 +0800 Subject: [PATCH 4/5] update xtramcp tag --- helm-chart/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index 45d80cbb..03bd7e87 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -14,7 +14,7 @@ paperdebuggerMcpServer: image: ghcr.io/paperdebugger/paperdebugger-mcp-server:main-14409c5 paperdebuggerXtraMcpServer: - image: ghcr.io/paperdebugger/xtragpt-mcp-server:sha-3bfcca3 + image: ghcr.io/paperdebugger/xtragpt-mcp-server:sha-00708c8 mongo: in_cluster: true From 7ca5e9b8a69433577337f30b3367dfb86aa9737c Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Tue, 3 Feb 2026 19:47:51 +0800 Subject: [PATCH 5/5] update xtramcp tag --- helm-chart/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index 03bd7e87..e8e2c200 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -14,7 +14,7 @@ paperdebuggerMcpServer: image: ghcr.io/paperdebugger/paperdebugger-mcp-server:main-14409c5 paperdebuggerXtraMcpServer: - image: ghcr.io/paperdebugger/xtragpt-mcp-server:sha-00708c8 + image: ghcr.io/paperdebugger/xtragpt-mcp-server:sha-95f70ce mongo: in_cluster: true