[Pulp-dev] Namespacing one shot upload and copy endpoints

Tatiana Tereshchenko ttereshc at redhat.com
Wed Jul 31 11:03:10 UTC 2019

If the goal is to make endpoints unified across all actions, then I think
we can only do
POST /pulp/api/v3//plugin/action/ types=[]

Having plugin/content_type/upload would be nice, however I'm not sure if it
covers enough use cases.
E.g. For pulp_rpm,  it makes sense for packages or advisories to have a
dedicated endpoint each, however it doesn't make much sense for modulemd or
modulemd_defaults, because usually they are in the same file and uploaded
in bulk (maybe a separate endpoint is needed for this case).

For the copy case, it's common to copy more than one type, I think, so
probably 'plugin/copy/ types=[]' makes more sense.

It would be great to here from more people and other plugins.

On Mon, Jul 29, 2019 at 5:46 PM Pavel Picka <ppicka at redhat.com> wrote:

> +1 for discuss this to keep some standard as I have already opened PRs for
> rpm modulemd[-defaults].
> I like idea of /upload in the end.
> But also think it can work without as it will be differ by POST/GET
> methods.
> On Mon, Jul 29, 2019 at 4:49 PM Dana Walker <dawalker at redhat.com> wrote:
>> Just to provide an added data point, I'll be merging the one-shot PR for
>> pulp_python soon and it currently uses /api/v3/python/upload/
>> I wanted to keep it simple as well, and so would be happy to change it
>> for consistency based on whatever we decide.
>> --Dana
>> Dana Walker
>> She / Her / Hers
>> Software Engineer, Pulp Project
>> Red Hat <https://www.redhat.com>
>> dawalker at redhat.com
>> <https://www.redhat.com>
>> On Mon, Jul 29, 2019 at 10:42 AM Ina Panova <ipanova at redhat.com> wrote:
>>> Hi all,
>>> As of today, plugins have the freedom to define whichever endpoints they
>>> want ( to some extent).
>>> This leads to the question - shall we namespace one-shot upload and copy
>>> endpoints for some consistency?
>>> POST /api/v3/content/rpm/packages/upload/
>>> POST /api/v3/content/rpm/packages/copy/
>>> or
>>> POST /api/v3/content/rpm/upload/ type =package
>>> POST /api/v3/content/rpm/copy/ type = [package, modulemd]
>>> I wanted to bring this up, before it diverges a lot. For the record, I
>>> have checked only RPM plugin, I am not aware of the state of the other
>>> plugins.
>>> Right now we have an active endpoint for one-shot upload of rpm package:
>>> POST /api/v3/content/rpm/upload/
>>> And there is PR for one-shot upload of modulemd-defaults:
>>> POST /api/v3/content/rpm/modulemd-defaults/
>>> For rpm copy we have POST /api/v3/content/rpm/copy/ types=[]
>>> We are starting some work on docker recursive copy, so it would be
>>> helpful to reach some agreement before going further that path.
>>> Thank you!
>>> --------
>>> Regards,
>>> Ina Panova
>>> Senior Software Engineer| Pulp| Red Hat Inc.
>>> "Do not go where the path may lead,
>>>  go instead where there is no path and leave a trail."
>>> _______________________________________________
>>> Pulp-dev mailing list
>>> Pulp-dev at redhat.com
>>> https://www.redhat.com/mailman/listinfo/pulp-dev
>> _______________________________________________
>> Pulp-dev mailing list
>> Pulp-dev at redhat.com
>> https://www.redhat.com/mailman/listinfo/pulp-dev
> --
> Pavel Picka
> Red Hat
> _______________________________________________
> 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/20190731/68e90d1d/attachment.htm>

More information about the Pulp-dev mailing list