Description
Which area this feature is related to?
/area api
/area library
/area devworkspace
Which functionality do you think we should add?
Why is this needed? Is your feature request related to a problem?
Devfile adopters struggle to understand what components will be started when a workspace is provisioned.
Detailed description:
Understanding which components are started automatically (or builded in the case of an image) and which are not is currently complicated.
There is an implicit rule to start only components that are NOT referenced by a command of type apply
. That's a hidden rule that is hard to understand and remember.
The new deployByDefault
and autoBuild
fields have improved the situation but only apply to kubernetes/openshift and image components respectively.
Describe the solution you'd like
Add a runOnDemand
boolean field for components of type containers (false
by default).
Do not rely on the apply
rule anymore, but forbid the following configurations (document in the spec, raise an error in the library):
- a container with
runOnDemand: false
is referenced by an apply a command - a kubernetes/openshift with
deployByDefault: true
is referenced by an apply command - a image with
autobuild: true
is referenced by an apply command
Describe alternatives you've considered
We should add a new command of type delete
that would be the complement of apply
.