I have a use case for creating a local pypi cache which acts as a pull-through (as defined by pulpcore), not requiring the specification of includes for a remote, and not requiring the downloading of all pypi metadata for an on_demand remote.
PythonDistribution extends Distribution, which supports a direct remote link for pull-through cache implementation, but the serializer will have to be updated to include the field in the remote defintion.
https://github.com/pulp/pulpcore/blob/354383883032277e7a1f7dc7ddf2dc0a5bc40fad/pulpcore/app/serializers/publication.py#L202
Discussing this with @gerrod3, he expressed concern with this implementation strategy alone, because it does not store package artifacts for packages that are requested and resolved - the download is streamed directly from pypi every time.
@gerrod3 pointed out that helper methods for the Remote model would need to be updated to store an artifact on_demand in addition to pull-through caching behavior via Distribution remotes.
https://github.com/pulp/pulpcore/blob/9043a56dfd7f66a243f6ffc9c149d22c53fef14b/pulpcore/app/models/repository.py#L388
I have a use case for creating a local pypi cache which acts as a pull-through (as defined by pulpcore), not requiring the specification of includes for a remote, and not requiring the downloading of all pypi metadata for an on_demand remote.
PythonDistribution extends Distribution, which supports a direct remote link for pull-through cache implementation, but the serializer will have to be updated to include the field in the remote defintion.
https://github.com/pulp/pulpcore/blob/354383883032277e7a1f7dc7ddf2dc0a5bc40fad/pulpcore/app/serializers/publication.py#L202
Discussing this with @gerrod3, he expressed concern with this implementation strategy alone, because it does not store package artifacts for packages that are requested and resolved - the download is streamed directly from pypi every time.
@gerrod3 pointed out that helper methods for the Remote model would need to be updated to store an artifact on_demand in addition to pull-through caching behavior via Distribution remotes.
https://github.com/pulp/pulpcore/blob/9043a56dfd7f66a243f6ffc9c149d22c53fef14b/pulpcore/app/models/repository.py#L388