devcontainers / devcontainers/spec
Installing a dev container `feature` more than once in a `devcontainer.json`
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 5.7k
- Forks
- 496
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
The current [dev container features specification proposal](https://github.com/devcontainers/spec/blob/main/proposals/devcontainer-features.md#execution) is based on an array-like syntax for the 'features' attribute, and thus allows for the invocation of a single feature >1 with different options.
An execution goal stated in the spec is that
> "It should be possible to execute a feature multiple times with different parameters."
We are currently discussing how best to tackle [feature installation order (#43)](https://github.com/devcontainers/spec/issues/43), with the discussion leaning toward proceeding without use of an array, meaning that there is a need to explore other mechanisms for invoking a feature to install >1 times.
## Proposal
The propose extending the [value](https://github.com/devcontainers/cli/blob/main/src/spec-configuration/containerFeaturesConfiguration.ts#L33) to include an array of objects.
```jsonc
{
"image": "azcr.io/joshspicer/my-docker-image",
"features": {
"devcontainers/features/dotnet": [
{
"version": 3.1,
"runtimeOnly": true,
"installUsingApt": true
},
{
"version": 6.0,
"runtimeOnly": false,
"installUsingApt": false
}
]
}
}
```
This `devcontainer.json` will invoke the `devcontainers/features/dotnet` feature twice with two sets of options **in order** (first with the 3.1 set of arguments, and then 6.0 set of arguments).
Beitragsleitfaden
Rechercherichtung
Read the execution section of the dev container features specification proposal and the linked src/spec-configuration/containerFeaturesConfiguration.ts definition first; compare them with the ordering discussion in issue #43. Define an agreed representation that permits repeated feature installations with distinct options in order, and confirm that the specification and configuration type describe the same behavior.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100