-
Notifications
You must be signed in to change notification settings - Fork 340
Description
This proposal is an enhancement idea to the current dev container features proposal.
@edgonmsft @chrmarti @joshspicer @craiglpeters One other thought. I think at one point we'd discussed the idea that a feature could declare the operating systems and architectures it supports. Given the number of hiccups we've seen with arm64 installs with existing features and PRs like microsoft/vscode-dev-containers#1513 (for Gentoo) driving things into different base OS distros, I think it may be a good idea to include this in the spec from the beginning.
We could have normalized architecture values and then support for /etc/os-release detection based on ID or ID_LIKE for distribution. We can also detect the version in a similar way. Most of the features have some code in them to detect and block based on these values. Moving it into the core spec just makes things easier for feature authors and we can provide UX hints if a feature isn't expected to work given the current environment.
e.g., something like this might work
"architectures": [ "x86_64", "arm64"],
"os": "linux",
"version": {
"debian": ["10", "11"],
"ubuntu": ["20.04", "18.04"],
"alpine": true
}
...where "true" means any version.
Originally posted by @Chuxel in #48 (comment)