containers / containers/podlet

Support for "depends_on ... service_healthy" in Compose

Open
#164 4 comments 9 reactions 0 assignees View on GitHub
blocked enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.