[Pulp-dev] Webserver owning the entire url namespace?

Michael Hrivnak mhrivnak at redhat.com
Fri Nov 3 19:13:23 UTC 2017


The REST API app should reasonably facilitate being scoped to a base path.
There just isn't a need for a REST API to own the entire path space for an
endpoint (host + port). And it's common to define multiple vhosts on the
same endpoint, serving different APIs at different paths as we've seen with
Pulp 2.

Content serving is another story and is a better fit for owning all of its
path space. We want the ability to tell a user the full URL to their
published repo. That's harder to do if there's a base path controlled by
the deployer, but not impossible. And when letting a user specify a path
where they want a publication to be available (distributed), should they
include that base path? Or not? If they do, should Pulp validate that the
specified path falls within whatever base path the content app is deployed
at? There's no rocket science here, but it does add complexity and
potential for user confusion.

An app like crane can be a special case. Any implementation of the docker
registry needs to own a specific bit of base path ("/v2"), or else it won't
work at all. (a great example of why our REST API should be compatible with
custom base paths) What if some other content type also needed that path
space? This is why crane, and the normal upstream docker registry, are
typically run on a separate port from anything else. It's hard to
generalize this problem. We could accommodate content types that "play
nice" by giving them path space for APIs in the content serving app, but
then we're back to some of the same problems of needing to track that path
space vs. the path space available to Distributions. It's simpler to let
these apps exist on one or more separate endpoints, but I see the value in
looking for opportunities to reduce that need.

On Fri, Nov 3, 2017 at 10:35 AM, Jeff Ortel <jortel at redhat.com> wrote:

> Wont this mean users cannot run pulp as part of a stack .. like in
> Satellite?  What about the Katello API?
>
> On 11/02/2017 04:19 PM, Brian Bouterse wrote:
> > We're looking at developing apache/nginx scripts, and I was thinking
> about documenting the webserver
> > requirements. I think Pulp probably has to be rooted at / on any given
> site so that it can host live APIs.
> > Users can still vhost multiple sites at other hostnames so I think it's
> ok, but I'm interested in what others
> > think. I wrote this up here [0] for some discussion on the issue.
> >
> > [0]: https://pulp.plan.io/issues/3114
> >
> > -Brian
> >
> >
> > _______________________________________________
> > 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
>
>


-- 

Michael Hrivnak

Principal Software Engineer, RHCE

Red Hat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20171103/042aa59b/attachment.htm>


More information about the Pulp-dev mailing list