Skip to content

fix: generate quadlet units are not project-prefixed (collision across projects) #593

Description

@Jaro-c

generate quadlet writes service-named units, not project-prefixed ones.

For a project sweep with a web service:

$ podup generate quadlet -o ./quad
wrote ./quad/web.container        # not sweep-web.container
[Container]
ContainerName=web                 # not sweep-web
Label=podup.project=sweep

Why this is a problem

  • Collision across projects. Any two compose projects that both have a web service export web.container / ContainerName=web — installing both into ~/.config/containers/systemd clobbers one another.
  • Inconsistent with the running stack. podup up names the container sweep-web; the Quadlet export names it web. The same compose file produces two different container identities depending on how you run it.

Fix

Prefix the unit filename and ContainerName= with the project (e.g. sweep-web.container / ContainerName=sweep-web), matching up's naming. (Worth a look from the quadlet-analyst on the exact convention.)

Found by running podup 1.3.0 against real Podman 5.4.2.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions