CEP request: Standardize http/filesystem channel structure
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.
Some other things to cover:
- Authentication
- Channel labels or subchannels
- Repodata.json v1 schema and related files (current_repodata, repodata_from_packages)
- Repodata patches