Story #1209

Updated by bmbouter over 5 years ago

As user, I can upload docker v2 blobs and v2 manifest directly to pulp without performing sync operation. The solution
will consists of
2 new importers: docker_blob_importer, docker_manifest_importer. Each of them allows user to upload different kind of content directly from local machine.

new types:
+BLOB_TYPE_ID = 'docker_blob'
+BLOB_IMPORTER_TYPE_ID = 'docker_blob_importer'
+BLOB_IMPORTER_CONFIG_FILE_NAME = 'server/plugins.conf.d/docker_blob_importer.json'

+MANIFEST_TYPE_ID = 'docker_manifest' # <- not sure if this will be needed
+MANIFEST_IMPORTER_TYPE_ID = 'docker_manifest_importer'
+MANIFEST_IMPORTER_CONFIG_FILE_NAME = 'server/plugins.conf.d/docker_manifest_importer.json'

docker_blob type will be implemented as models.Blob (already in the upstream code)

blob_importer import sequence (similar as in IsoImporter):
- init_unit
- move file
- save_unit

manifest_importer import steps (this is how I image it)
- parse manifest
- set specified repo attributes
- validation?