<div dir="ltr">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.<div><br></div><div>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.</div><div><br></div><div>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.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 3, 2017 at 10:35 AM, Jeff Ortel <span dir="ltr"><<a href="mailto:jortel@redhat.com" target="_blank">jortel@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Wont this mean users cannot run pulp as part of a stack .. like in Satellite?  What about the Katello API?<br>
<div class="HOEnZb"><div class="h5"><br>
On 11/02/2017 04:19 PM, Brian Bouterse wrote:<br>
> We're looking at developing apache/nginx scripts, and I was thinking about documenting the webserver<br>
> requirements. I think Pulp probably has to be rooted at / on any given site so that it can host live APIs.<br>
> Users can still vhost multiple sites at other hostnames so I think it's ok, but I'm interested in what others<br>
> think. I wrote this up here [0] for some discussion on the issue.<br>
><br>
> [0]: <a href="https://pulp.plan.io/issues/3114" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/<wbr>3114</a><br>
><br>
> -Brian<br>
><br>
><br>
</div></div><div class="HOEnZb"><div class="h5">> ______________________________<wbr>_________________<br>
> Pulp-dev mailing list<br>
> <a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
> <a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
><br>
<br>
</div></div><br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><p style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px!important;padding:0px!important"><span style="margin:0px!important;padding:0px!important">Michael</span> <span style="margin:0px!important;padding:0px!important">Hrivnak</span></p><p style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px!important;padding:0px!important"></p><span style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px!important;padding:0px!important"><span style="margin:0px!important;padding:0px!important">Principal Software Engineer</span><span style="margin:0px!important;padding:0px!important">, <span style="margin:0px!important;padding:0px!important">RHCE</span></span> </span><span style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px"></span><br style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px!important;padding:0px!important"><p style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px!important;padding:0px!important">Red Hat</p></div></div>
</div>