Skip to content

market: fetch chart bytes from the v2 appstore route - #3958

Draft
pengpeng wants to merge 1 commit into
mainfrom
fix/market-chart-path-v2
Draft

market: fetch chart bytes from the v2 appstore route#3958
pengpeng wants to merge 1 commit into
mainfrom
fix/market-chart-path-v2

Conversation

@pengpeng

@pengpeng pengpeng commented Aug 15, 2026

Copy link
Copy Markdown
Member

Summary

API_CHART_PATH is the last v1 path market still asks its source for. The four
sync paths beside it (API_CATALOG_PATH, API_TAXONOMY_PATH,
API_APPLICATIONS_PATH, API_BROWSE_PATH) moved to /api/v2 some time ago;
this one did not.

One line in
framework/market/.olares/config/cluster/deploy/market_deploy.yaml:

- name: API_CHART_PATH
  value: /api/v2/applications/{chart_name}/chart   # was /api/v1/...

The v1 and v2 chart routes are answered by the same handler upstream, so this
changes the spelling of the request and nothing about the response.

Nothing has to be sequenced against this

beclab/market PR #414 gives the chart download a fallback: a source that
answers 404 on the configured path is asked for the same route under the other
prefix, in either direction. So this line now decides which prefix is tried
first
, not whether charts can be downloaded at all.

market image source's Appstore API Result
with the fallback v1 only (today's remotes) v2 → 404 → v1, works
with the fallback both prefixes, or v2 only hits v2 directly
older, without the fallback both prefixes keeps using v1, works

The one requirement is that the market image deployed by this manifest contains
that fallback — otherwise a v2-only request against a v1-only remote fails, which
is what today's remotes still are:

400  https://appstore-server-prod.bttcdn.com/api/v1/applications/nginx/chart
404  https://appstore-server-prod.bttcdn.com/api/v2/applications/nginx/chart
404  https://appstore-china-server-prod.api.jointerminus.cn/api/v2/applications/nginx/chart

400 means the route exists and rejected the missing version argument; 404 means
there is no route.

Reverting is this one line back to /api/v1/...; no code rollback is involved.

Left alone on purpose

API_HASH_PATH, API_DATA_PATH and API_DETAIL_PATH a few lines above name
variables no market code reads — leftovers from the v1 syncer. Removing them is
worth doing, in a change that is about them rather than about the chart route.

API_CHART_PATH is the last v1 path market still asks its source for; the
four sync paths beside it moved to /api/v2 already. The v1 and v2 chart
routes are answered by one handler upstream, so this changes the spelling
and nothing about the response.

Ordering: the cluster's Appstore API has to serve
/api/v2/applications/{name}/chart before this lands, otherwise every chart
download 404s. Reverting the value restores the v1 route on its own.

API_HASH_PATH, API_DATA_PATH and API_DETAIL_PATH are left as they are:
no market code reads them, and deleting them belongs in a change that is
about them rather than about the chart route.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
olares Ready Ready Preview Aug 15, 2026 2:19pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
olares-docs Ignored Ignored Aug 15, 2026 2:19pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant