[Pulp-dev] Content types which are not compatible with the normal pulp workflow

Jeff Ortel jortel at redhat.com
Thu May 24 17:33:38 UTC 2018

On 05/17/2018 07:46 AM, Daniel Alley wrote:
> Some content types are not going to be compatible with the normal 
> sync/publish/distribute Pulp workflows, and will need to be live 
> API-only.  To what degree should Pulp accomodate these use cases?
> Example:
> Pulp makes the assumptions that
> A) the metadata for a repository can be generated in its entirety by 
> the known set of content in a RepositoryVersion, and
> B) the client wouldn't care if you point it at an older version of the 
> same repository.
> Cargo, the package manager for the Rust programming language, expects 
> the registry url to be a git repository. When a user does a "cargo 
> update", cargo essentially does a "git pull" to update a local copy of 
> the registry.
> Both of those assumptions are false in this case. You cannot generate 
> the git history just from the set of content, and you cannot "roll 
> back" the state of the repository without either breaking it for 
> clients, or adding new commits on top.
> A theoretical Pulp plugin that worked with Cargo would need to ignore 
> almost all of the existing Pulp primitives and very little (if any) of 
> the normal Pulp workflow could be used.
> Should Pulp attempt to cater to plugins like these?  What could Pulp 
> do to provide a benefit for such plugins over writing something from 
> scratch from the ground up?  To what extent would such plugins be able 
> to integrate with the rest of Pulp, if at all?

I think OSTree and Ansible plugins will be in the same boat as Cargo.  
In the case of OSTree, libostree does the heavy lifting for sync and 
publishing and I suspect the same is true for Git based repositories.  
We should consider way to best support distributing (serving) content in 
core for these content types.  I suspect this will mainly entail 
something in the content app and perhaps a new component of a 
Publication like PublishedDirectory that references an OSTree/Git 
repository created in /var/lib/pulp/published.  This may benefit Maven 
as well.

> We don't have to commit to anything pre-GA but it is a good thing to 
> keep in mind.  I'm sure there are other content types out there (not 
> just Cargo) which would face similar problems. pulp_git was inquired 
> about a few months ago, it seems like it would share a few of them.
> _______________________________________________
> Pulp-dev mailing list
> Pulp-dev at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20180524/8c510304/attachment.htm>

More information about the Pulp-dev mailing list