Skip to content

Pull application from cluster (Devfile as a ConfigMap in the cluster) #5869

Open
@rm3l

Description

@rm3l

User Story

  • As on odo user
  • I want to be able to import/pull application running on the cluster (I don't have it's devfile, and I don't know where the source code is)
  • So that I can make changes to the application and run it with my changes

Acceptance Criteria

  • It should sync the Devfile content to a ConfigMap in the cluster
    - [ ] It should watch for changes to this ConfigMap and handle them in its reconcile loop
  • This ConfigMap should be the parent Kubernetes owner object of all the other objects odo creates (Deployments, Services, ...)
  • This ConfigMap should be used whenever we need to retrieve all Kubernetes objects that pertain to the Devfile
  • Leave room for extension in the ConfigMap spec
  • Make sure the naming scheme allows to store this in a shared namespace. Naming scheme should be consistent with what will be done in Allow multiple odo users share one namespace #5862
  • Update odo delete logic to use this
  • Make sure Devfile changes are handled even if the devfile.yaml is Git-ignore'd. For example, changes to the commands in the Devfile should cause the commands to be restarted in the container. See odo dev: react to changes as soon as possible #5933 (comment)
  • It should also not break the --no-watch flag

Notes

  • side effect odo codebase could be simplified (e.g., ownerReferences / deletion handling, selecting all dependent resources)

- Use new approach based on reconcile loop POC: https://github.com/feloy/odo-dev-controller-poc

Links

/kind user-story

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/user-storyAn issue of user-story kindlifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.priority/LowNice to have issue. It's not immediately on the project roadmap to get it done.

    Type

    No type

    Projects

    • Status

      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions