Skip to content

Extend deployByDefault to other components, drop the implicit apply command rule #852

Closed as not planned
@l0rd

Description

@l0rd

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.

Related issues

#204
#693

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/apiEnhancement or issue related to the api/devfile specificationarea/devworkspaceImprovent or additions to the DevWorkspaces CRDarea/libraryCommon devfile library for interacting with devfileslifecycle/rottenRotten items. These items have been stale for 60 days and are now closed.lifecycle/staleStale items. These items have not been updated for 90 days.studentIdentified work that the students can work on

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions