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?