[proposal] Update the `devcontainer.json` schema to be able to represent a 'mergedConfiguration'
The goal of this proposal is to:
- Consolidate merged lifecycle hook and
devcontainer.jsonschema - Keep track of the 'origin' of contributions to the merged config for purposes such as logging.
📢 Open questions
<NONE>
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.
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
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?