As a user, I have a way to import Debian content from an offline source
I had a discussion with a potential user who has a disconnected (airgapped) network, who wants to be able to manage their machines with Pulp. In order to do this they will need a way of importing content from local media, as opposed to syncing it from a remote repo.
#1 Updated by quba42 about 1 year ago
What exactly does "content from local media" mean?
It is already possible to upload individual debian packages (or a folder of debian packages) as follows:
pulp-admin deb repo create --repo-id 'test' --relative-url 'test'
pulp-admin deb repo uploads deb --repo-id 'test' --file <path_to_deb_package>
pulp-admin deb repo uploads deb --repo-id 'test' --dir <path_to_dir_containing_deb_packages>
pulp-admin deb repo publish run --repo-id='test'
(Just an example).
Admittedly this does not appear to be documented anywhere.
If this covers the needed use case we could just write some documentation?
#3 Updated by quba42 about 1 year ago
I am not entirely sure, but I think the uploads mechanism is intended for a pile of debian packages, and not for a fully structured debian repository. It will probably ignore any Release files and publish any packages under a single release + component.
The only workaround for a "local sync" I can come up with is serving the local Debian repository on some local webserver and syncing it as if it was a remote source.
It is unlikely any major new features will still be added to pulp_deb for pulp2 and who knows what exactly pulp_deb for pulp3 will ultimately be capable of...
#4 Updated by email@example.com about 1 year ago
It is indeed correct that mirroring an offline repository is not supported in the current implementation. This is not unlike the yum plugin, where a full yum repository cannot be imported either.
I don't know without checking what underlying library both plugins use, maybe syncing from a file:// URL might work, but either way it's not ideal, since you'd have to copy the repository to the pulp server. Temporarily bringing up a web server to serve the repository is indeed simpler.
Please register to edit this issue