Originally, our upload story was as follows: The user will upload a new file to Pulp via POST to /artifacts/ (provided by core) The user will create a new plugin specific Content via POST to /path/to/plugin/content/, referencing whatever artifacts that are contained, and whatever fields are expected for the new content. The user will add the new content to a repository via POST to /repositories/1/versions/
However, this is somewhat cumbersome to the user with 3 API calls to accomplish something that only took one call in Pulp 2. There are a couple of different paths plugins have taken to improve the user experience: The Python plugin follows the above workflow, but reads the Artifact file to determine the values for the fields. The RPM plugin has gone even farther and created a new endpoint for "one shot" upload that perform all of this in a single call. I think it is likely that the Python plugin will move more in the "one shot" direction, and other plugins will probably follow. That said, I think we should discuss this as a community to encourage plugins to behave similarly, and because there may also be a possibility for sharing some of code. It is my hope that a "one shot upload" could do 2 things: 1) Upload and create Content. 2) Optionally add that content to repositories.
_______________________________________________ Pulp-dev mailing list Pulp-dev@redhat.com https://www.redhat.com/mailman/listinfo/pulp-dev