spec icon indicating copy to clipboard operation
spec copied to clipboard

[proposal] Update the `devcontainer.json` schema to be able to represent a 'mergedConfiguration'

Open joshspicer opened this issue 2 years ago • 4 comments

The goal of this proposal is to:

  • Consolidate merged lifecycle hook and devcontainer.json schema
  • Keep track of the 'origin' of contributions to the merged config for purposes such as logging.

joshspicer avatar Feb 28 '23 20:02 joshspicer

📢 Open questions

<NONE>

joshspicer avatar Mar 27 '23 22:03 joshspicer

Is there still an appetite for this? In our SDK/CLI I'm tempted to implement something similar to help wrangle types (ours is written in Go, so I unfortunately can't leverage such rich types to keep everything in one place).

Something that would help additionally would be some test cases for how to merge configuration that implementing tools can run against, but that's a matter for another time I think.

avidal avatar Jun 27 '23 17:06 avidal

Thanks for the nudge @avidal, this is definitely something I still want us to move forward with. I'll give this spec's comments another pass right now

joshspicer avatar Jun 27 '23 20:06 joshspicer

Another couple of questions, since this is still in review: this proposal adds an $origin for lifecycle commands when they are merged, as well as $entrypoints to collect entrypoints from features. What about other properties that are merged, such as mounts or securityOpt? What about last-value such as containerUser or the specific semantics of init and privileged?

Do we think it's just not important to be able to report on the origin of those properties? Whereas lifecycle commands can use the origin for output logging?

avidal avatar Nov 03 '23 16:11 avidal