ceps icon indicating copy to clipboard operation
ceps copied to clipboard

CEP request: Standardize http/filesystem channel structure

Open jaimergp opened this issue 1 year ago • 1 comments

Current practice are based on de facto implementations in conda and conda-index. For clarity, this should be standardized.

Roughly, current setup is:

  • path/or/url/to/channel-name/subdir/repodata.json
  • path/or/url/to/channel-name/subdir/package_name-version-build_string.tar.bz2

Some parts of conda require at least <subdir>/repodata.json to always be present.

In some cases, channel name is empty because the host directly exposes the subdirs in the root (e.g. http://my-custom-channel.org/noarch/repodata.json). This seems to be unintended and also affects how channel::package specs work.

We don't have clear rules for allowed characters or case sensitivity, either.

I wonder if this should be standardized in the context of a HTTP API explicitly (e.g. document expected result of GET requests), like the Open Container specification.

jaimergp avatar Apr 13 '24 10:04 jaimergp

Some other things to cover:

  • Authentication
  • Channel labels or subchannels
  • Repodata.json v1 schema and related files (current_repodata, repodata_from_packages)
  • Repodata patches

jaimergp avatar Apr 13 '24 10:04 jaimergp