Repository navigation
Add a stop-consolidation-url config option - #1773
aaronbrethorst wants to merge 2 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
|
The description follows the PR template. |
Performance Smoke Test ResultsStatus: PASSED
Smoke test config: 5 VUs x 30s. Thresholds: p(95) < 300ms, error rate < 1%. Full results uploaded as workflow artifact: k6-smoke-summary. |
0571db8 to
7faee60
Compare
Performance Smoke Test ResultsStatus: PASSED
Smoke test config: 5 VUs x 30s. Thresholds: p(95) < 300ms, error rate < 1%. Full results uploaded as workflow artifact: k6-smoke-summary. |
Performance Smoke Test ResultsStatus: PASSED
Smoke test config: 5 VUs x 30s. Thresholds: p(95) < 300ms, error rate < 1%. Full results uploaded as workflow artifact: k6-smoke-summary. |
burma-shave
left a comment
There was a problem hiding this comment.
Reviewed at 7faee60. The config plumbing is fine, and pulling the checks into validateFeedLocation is a real improvement: the old code returned early for an HTTP static URL, so without the refactor the new field would have skipped path-traversal validation. One scope comment inline about the plan doc.
Minor: there's no -stop-consolidation-url CLI flag to go with -gtfs-url. Fine if JSON-only is intended; worth a line in the description if so.
Generated by Claude Code
| @@ -0,0 +1,127 @@ | |||
| # Stop consolidation: implementation plan | |||
There was a problem hiding this comment.
This plan doc is a separate concern from the config option and will go stale as the stack lands (#1777 and #1808 already edit it). The behaviour table is worth keeping, but I'd move it to the tracking issue #1977 or the wiki's Implementation Decisions (which the doc itself says should record these), and drop this commit from the PR.
Generated by Claude Code
There was a problem hiding this comment.
Agreed. The behavior table, production evidence, token-agency rule and open items now live in §9.4 of the multi-feed spec, and stop.md has an Implementation Decisions note for the absorbed-ID rule. I dropped the plan-doc commit here, and its follow-up edit in #1777, from the stack.
gtfs-static-feed.stop-consolidation-url names a Java OneBusAway stop consolidation file, as an http(s) URL or a local path, and passes it to the GTFS manager. It is the counterpart of the STOP_CONSOLIDATION_URL setting in OneBusAway's Docker bundle builder. It is validated like gtfs-static-feed.url, which now shares the check: no file:// URLs and no path traversal. -dump-config shows it when set.
gtfs-static-feed.stop-consolidation-url could only be set from a JSON config file. Add the matching flag beside -gtfs-url so a flag-only run can load a consolidation file too. It goes through the same validation as the JSON field, so a file:// URL is still rejected.
7faee60 to
538aa41
Compare
|
Also added the |
|
Performance Smoke Test ResultsStatus: PASSED
Smoke test config: 5 VUs x 30s. Thresholds: p(95) < 300ms, error rate < 1%. Full results uploaded as workflow artifact: k6-smoke-summary. |
Performance Smoke Test ResultsStatus: PASSED
Smoke test config: 5 VUs x 30s. Thresholds: p(95) < 300ms, error rate < 1%. Full results uploaded as workflow artifact: k6-smoke-summary. |



Part of #1977
Draft. Stacked on #1776. Draft until multi-feed phases B and C land.
This PR began as the whole import draft. It's now one layer of a stack:
mainApplyWhat it does
gtfs-static-feed.stop-consolidation-urlnames a Java OneBusAway stop consolidation file, as an http(s) URL or a local path. It's the counterpart ofSTOP_CONSOLIDATION_URLin OneBusAway's Docker bundle builder.gtfs-static-feed.url, which now shares the check: nofile://URLs and no path traversal.-dump-configshows it when set.docs/stop-consolidation-plan.md, which covers:Root cause
Exposes #1776's
Config.StopConsolidationURLto operators.Testing
mainbefore this change: n/a (new option).TestToGtfsConfigData_StopConsolidationURL,TestValidate_StopConsolidationURLandTestStopConsolidationURLReachesGTFSConfigAndDump.maglev -f config.json -dump-configshowsstop-consolidation-url, and the server applies the file (results in Apply a stop consolidation file on static import #1776).make testandgo vet(both tag sets) pass.Checklist
mainand passes on this branch.gtfsdb/ortestdata/openapi.yml.