fix: restrict /metrics auth, harden exception filter, add issue templ… - #565
Merged
james2177 merged 2 commits intoSep 30, 2026
Conversation
…ates and OpenAPI drift check - fix(stellar-vortex-protocol#298): add Bearer-token auth guard to GET /metrics (METRICS_TOKEN env var, required + min-16-char in production; env disabled by default in dev/test) - fix(stellar-vortex-protocol#304): replace verbatim custom-body passthrough in HttpExceptionFilter with an explicit allowlist (error, intentId, minDstAmount, fillAmount); strips any future accidental fields before they reach the client - feat(stellar-vortex-protocol#309): add .github/ISSUE_TEMPLATE/ with bug_report.md, feature_request.md, and contributor_claim.md so contributors no longer open blank issues - feat(stellar-vortex-protocol#318): add openapi-drift CI job that regenerates src/generated/ and fails the build if the checked-in files are stale Closes stellar-vortex-protocol#298, stellar-vortex-protocol#304, stellar-vortex-protocol#309, stellar-vortex-protocol#318
…-security-and-infra # Conflicts: # .env.example # .env.mainnet.example # .env.testnet.example # .github/workflows/ci.yml # src/common/http-exception.filter.spec.ts # src/common/http-exception.filter.ts # src/config/configuration.ts # src/config/env.validation.ts # src/metrics/metrics.controller.ts
benedictworks-home
added a commit
to benedictworks-home/vortex-backend
that referenced
this pull request
Oct 2, 2026
Restores content that was zeroed or lost in the interleaved merges and applies the type/lint fixes `tsc --noEmit` and `npm run lint` require. Highlights: - env: enforce the stellar-vortex-protocol#298 METRICS_TOKEN contract (required, at least 16 chars in production) that .env.example already documented, and add the token-persistence, price-feed, quote-auction and reputation-weight vars (stellar-vortex-protocol#565 stellar-vortex-protocol#566 stellar-vortex-protocol#570 stellar-vortex-protocol#444) with their configuration.ts wiring; DATASETS_* names are aligned with .env.example so check:env-drift is clean. - intents: restore gateway handshake/heartbeat/eligibility-feed content (stellar-vortex-protocol#436 stellar-vortex-protocol#454 stellar-vortex-protocol#492 stellar-vortex-protocol#511), controller error paths (stellar-vortex-protocol#569 stellar-vortex-protocol#429 stellar-vortex-protocol#220) and sweeper backfill (stellar-vortex-protocol#62 stellar-vortex-protocol#437 stellar-vortex-protocol#269). - soroban: signer, settlement client, module wiring and registry/bond services restored and type-clean; token repositories and module keep status handling (active/paused/delisted) intact end to end. - abuse, common, health, metrics, tracing: guard, egress, validator and instrumentation repairs needed for a clean lint/typecheck pass.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…ates and OpenAPI drift check
GET /metrics#298): add Bearer-token auth guard to GET /metrics (METRICS_TOKEN env var, required + min-16-char in production; env disabled by default in dev/test)HttpExceptionFilter's custom-shaped-body passthrough for unintended field leakage #304): replace verbatim custom-body passthrough in HttpExceptionFilter with an explicit allowlist (error, intentId, minDstAmount, fillAmount); strips any future accidental fields before they reach the client.github/ISSUE_TEMPLATE/#309): add .github/ISSUE_TEMPLATE/ with bug_report.md, feature_request.md, and contributor_claim.md so contributors no longer open blank issuessrc/generated/openapi.json#318): add openapi-drift CI job that regenerates src/generated/ and fails the build if the checked-in files are staleCloses #298,
Closes #304,
Closes #309,
Closes #318
Summary
Related issue
Type of change
Component
vortex-contract)vortex-backend)vortex-frontend)Checklist
Screenshots / notes