devfile / api

Kube-native API for cloud development workspaces specification
Apache License 2.0
235 stars 58 forks source link

[Spike] Investigate registry support scripts to identify missing podman support #1503

Closed michael-valdron closed 4 weeks ago

michael-valdron commented 1 month ago

Which area/kind this issue is related to?

/area registry

Issue Description

Currently there are issues #1426 and #1502 open that identified missing/broken podman support for a few registry-support scripts. There should be an investigation done on the scripts under this repository to identify which scripts that perform container engine operations (with docker) do not have proper podman support, such missing the inclusion of build_registry.sh#L21 and build_registry.sh#L28 at the beginning of the scripts.

Acceptance Criteria

Jdubrick commented 1 month ago

Here is a summary of my investigation and changes made:

No-changes

The scripts contained under /build-tools utilize the docker container engine, however, these are used in various CI pipelines as they are all running with docker. A user does not need to run these scripts to perform local development. As a result of their use-case, I am opting to leave these unavailable to the podman engine as it would require extensive changes across multiple repositories to adopt this change without breaking CI.

Changes

With the PR attached to this issue all of the major components that make up the registry-support repository will be buildable with both docker and podman engines. That includes the /index/server, /oci-registry, and /registry-library. Additionally, the scripts in the root of the registry-support repo, such as build_registry.sh, also support both docker and podman.

As a result of all these changes a developer should be able to run all of the necessary build scripts for each component of the registry-support repo with their choice of docker or podman.

michael-valdron commented 1 month ago

The scripts contained under /build-tools utilize the docker container engine, however, these are used in various CI pipelines as they are all running with docker. A user does not need to run these scripts to perform local development. As a result of their use-case, I am opting to leave these unavailable to the podman engine as it would require extensive changes across multiple repositories to adopt this change without breaking CI.

@Jdubrick Though I agree that given the current setup and use cases makes the priority of supporting podman on these scripts low, I feel there should be a separate issue created for supporting these scripts as it is possible although rare that users directly use these scripts, i.e. debugging, and there might come a day where the pipelines may use podman instead of docker as the container engine.

Prior for issue could be set as minor and let go rotten if no interest arises in the near future, we could always re-open later.

WDYT?

Jdubrick commented 4 weeks ago

The scripts contained under /build-tools utilize the docker container engine, however, these are used in various CI pipelines as they are all running with docker. A user does not need to run these scripts to perform local development. As a result of their use-case, I am opting to leave these unavailable to the podman engine as it would require extensive changes across multiple repositories to adopt this change without breaking CI.

@Jdubrick Though I agree that given the current setup and use cases makes the priority of supporting podman on these scripts low, I feel there should be a separate issue created for supporting these scripts as it is possible although rare that users directly use these scripts, i.e. debugging, and there might come a day where the pipelines may use podman instead of docker as the container engine.

Prior for issue could be set as minor and let go rotten if no interest arises in the near future, we could always re-open later.

WDYT?

Yeah that sounds like a good idea, you are right about future-proofing it incase we can only use podman moving forward.

Jdubrick commented 4 weeks ago

Issue opened as a result of this spike for /build-tools scripts: https://github.com/devfile/api/issues/1531