containers / containers/podlet
Support for "depends_on ... service_healthy" in Compose
- Dominant language
- Rust
- Stars
- 1.6k
- Forks
- 48
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 1
Description
### Current Behaviour:
When trying to convert a Compose file that uses:
```
depends_on:
postgresql:
condition: service_healthy
```
Podlet fails with the following error:
> Error:
> 0: error converting compose file
> 1: error converting compose file into Quadlet files
> 2: error adding dependency on `postgresql` to service `server`
> 3: dependency condition `service_healthy` is not directly supported
Podlet suggests using `Notify=healthy` in the `[Container]` section manually, but this requires a user to manually modify the generated quadlets, and the idea of using Podlet is so that one doesn't have to do this.
### Feature Request:
- If a Compose service defines a `healthcheck`, the resulting quadlet should include `Notify=healthy`.
- If a Compose service has a `depends_on` entry with `condition: service_healthy`, the resulting quadlet should include the appropriate `Requires=` and `After=` keys referencing the dependency container.
This simplifies the conversion logic and preserves Compose semantics in a way that maps naturally to systemd/Podman quadlets without any user intervention.
Contributor guide
Assessment
This issue has not been assessed yet.