Project

Profile

Help

Task #3371

Updated by jortel@redhat.com about 6 years ago

h1. Overview 

 Add a pulp3 plugin to support OSTree.    Most of the heavy lifting can be canablized from the pulp2 plugin. 
 Mainly just need to: 
 * Port mongoengine models to django models.  
 * Add django scaffolding (viewset, serializers, etc). 
 * Port code from _Steps_ to tasks. 
 * Directly reuse the libostree (lib) module. 

 h2. Model 

 A _remote_id_ is based on the URL to the _remote_ OSTree repository.    In pulp2, this is the SHA256 of the URL because it is used on the filesystem. 

 Metadata(GenericKeyValueModel): 

 Remote(Model): 
 _"This is a local OSTree repository where everything is stored."_ 
 * url (CharField) 
 * storage_path (CharField) 

 Commit(Model): 
 * hash (CharField) 
 * metadata (GenericKeyValueRelation) => Metadata (cascade) 
 * remote (ForeignKey) => Remote (cascade) 

 Ref (Model): 
 * path (CharField) 
 * commit (ForeignKey) => Commit (cascade) 
 * remote (ForeignKey) => Remote (cascade) 

 Branch(Content): 
 * ref (ForeignKey) => Ref (protect) 

 RemoteSummary(Model): 
 * remote (ForeignKey) => Remote (protect) 
 * repository (ForeignKey) => Repository (cascade) 
 * ref (ForeignKey) => Ref (protect) 

 h1. Questions: 

 * How do orphaned refs, commits and remotes get cleaned up?  

Back