devcontainers / devcontainers/spec

[Features] Supported Architectures/OS

Aperta
#58 13 commenti 12 reazioni 0 assegnatari Vedi su GitHub
proposal
Lingua principale
Nessun dato sulla lingua
Stelle
5.7k
Fork
496
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

This proposal is an enhancement idea to the current [dev container features proposal](https://github.com/devcontainers/spec/blob/main/proposals/devcontainer-features.md).

---

@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 https://github.com/microsoft/vscode-dev-containers/pull/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 https://github.com/devcontainers/spec/issues/48#issuecomment-1170035230_

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Leggi proposals/devcontainer-features.md, quindi esamina l’approccio di rilevamento di /etc/os-release a cui si fa riferimento e la pull request di Gentoo collegata. Il lavoro è completato quando la specifica della feature definisce le architetture, i sistemi operativi e le versioni delle distribuzioni supportati, inclusi i valori normalizzati e il comportamento per gli ambienti non supportati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
devops, operating-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.