Skip to content

User contributable container features #8

@chrmarti

Description

@chrmarti

Collecting the remaining tasks here.

Required for "self-hosting" built-in features:

  • Cache feature downloads in the 'persistent folder'. (Discussed a lock-less approach with @joshspicer to that.)
  • Use baked-in versions initially, but also check for updates. Requires versioning scheme to avoid having old versions of the implementation update to feature versions using newly introduced functionality.

Required for finalizing the devcontainer-features.json:

  • Revisit include/exclude: These can currently only target the definition id as stored on a Docker image label. (The original definition id is not stored in the devcontainer.json.) Should be investigate reading /etc/os-release to determine compatibility?
  • Move settings/extensions properties to VS Code-property. Similar to #1.
  • Remove old properties like buildArg.
  • Decide on whether using a single env file is good enough or split it up per feature. (Affects layer cache.)
  • devcontainer features: Dependency Management #16
    - How do we handle an inevitable dependency graph?
    - eg 1: In the kitchensink image, we'll perhaps want to install node 14 and node 16. How do we specify "installing a feature twice", which one ends up on the $PATH, etc...
    - eg 2: Installing two features, where the installation of A depends on installation of B (JupyterLabs and python).
  • Naming volumes (see here)

User easy-of-adoptability

Related: #7

/cc @2percentsilk @bamurtaugh

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions