Currently, it's possible to have packages that belong to a repo but are effectively orphaned due to some missing structure (Release, ReleaseComponent, or PackageReleaseComponent). These are packages that are effectively orphaned within the repository. When you publish a structured publication for such a repo, these packages can't be installed using clients and don't show up in the pool/ folder.
One common use case that causes this issue is when a release or component is removed from a repository. All of its packages remain and appear in the repo when listing the packages via the Pulp API but they are unreachable by clients.
Ideally, I think pulp_deb would provide some feature to prevent this from happening. One option would be to prevent unattached packages entirely by automatically removing them. Perhaps this could be a method called when finalizing the repo version. I think this is an issue though because for simple publications, unattached packages are a supported use case?
Another possibility I think would be to introduce some sort of option to enable this cleanup behavior. The possible options I can think of are a global setting, a repo setting, or a parameter on the repository modify endpoint.
Currently, it's possible to have packages that belong to a repo but are effectively orphaned due to some missing structure (Release, ReleaseComponent, or PackageReleaseComponent). These are packages that are effectively orphaned within the repository. When you publish a structured publication for such a repo, these packages can't be installed using clients and don't show up in the pool/ folder.
One common use case that causes this issue is when a release or component is removed from a repository. All of its packages remain and appear in the repo when listing the packages via the Pulp API but they are unreachable by clients.
Ideally, I think pulp_deb would provide some feature to prevent this from happening. One option would be to prevent unattached packages entirely by automatically removing them. Perhaps this could be a method called when finalizing the repo version. I think this is an issue though because for simple publications, unattached packages are a supported use case?
Another possibility I think would be to introduce some sort of option to enable this cleanup behavior. The possible options I can think of are a global setting, a repo setting, or a parameter on the repository modify endpoint.