Skip to content

support existing containers, single service & Multi-service with no dependencies #1122

Description

@yangcao77

Which area this feature is related to?

/area library

Which functionality do you think we should add?

Why is this needed? Is your feature request related to a problem?

Detailed description:

The docker-compose file is only relying on containers that are already built and available in the container catalog (docker-compose not relying on dockerfiles). We should be able to use the docker-compose file and use its services as components for the devfile.

Targets:
We would need to formalize an improvement to the specification, so that it is possible to link devfile components from the docker-compose file - so it'll not be a "conversion" of the docker-compose file to devfile, but a way to use the docker-compose and the devfile together.

Implementation:

Directly use Kompose and convert to a kubernetes component in devfile.
Document the limitation of the conversion. (will be from Kompose tool)

Add a way to refer to a docker-compose file from the devfile, e.g. a docker-compose component element. (should be similar to image component, with a uri reference)
Update the parsing model in the devfile library with a flag, for devfiles with the docker-compose component, convert the docker-compose component to other existing components using the library above, e.g. kubernetes components, and replace the docker-compose component with those generated components

Describe alternatives you've considered

  1. Podman: Limited documentation + only available for CLI.
  2. Parsing the inputs, building an intermediate representation, output the desired files: No documentation available + better considered for supporting new container implementation.

Additional context

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/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

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions