Yes, you're right Steven.  Looking at the request / responses to a puppetforge query / installation / installation w specific module version it looks simple enough that I might have a go at hacking together a simple cgi to spew json responses from mongodb (just to prove the concept)...<div>
<br></div><div>puppet module search tomcat....<br><div><br></div><div><div>GET /modules.json?q=tomcat HTTP/1.1</div><div>Host: <a href="http://forge.puppetlabs.com">forge.puppetlabs.com</a></div><div>Accept: */*</div><div>
<br></div><div>HTTP/1.1 200 OK</div><div>Server: nginx/1.2.1</div><div>Date: Tue, 29 Jan 2013 11:50:18 GMT</div><div>Content-Type: application/json</div><div>Content-Length: 2116</div><div>Connection: keep-alive</div><div>
Status: 200 OK</div><div>X-Frame-Options: sameorigin</div><div>X-XSS-Protection: 1; mode=block</div><div>X-Node: forgeweb01</div><div>X-Revision: fb00b97e9f189bebf0bdb5bb8c66012dcc5acdc9</div><div><br></div><div>[{"author":"llehmijo","full_name":"llehmijo/tomcat7_rhel","name":"tomcat7_rhel","desc":"Tomcat 7 for RHEL 6","project_url":"<a href="https://github.com/laurilehmijoki/tomcat7_rhel">https://github.com/laurilehmijoki/tomcat7_rhel</a>","releases":[{"version":"1.4.0"},{"version":"1.3.0"},{"version":"1.2.0"},{"version":"1.1.1"},{"version":"1.1.0"},{"version":"1.0.0"},{"version":"0.3.3"},{"version":"0.3.2"},{"version":"0.3.1"},{"version":"0.3.0"},{"version":"0.2.0"},{"version":"0.1.2"},{"version":"0.1.1"},{"version":"0.1.0"}],"version":"1.4.0","tag_list":["rhel","centos","tomcat7","tomcat"]},{"author":"cloudfront","full_name":"cloudfront/tomcat","name":"tomcat","desc":"# Apache Tomcat Module #","project_url":"<a href="https://github.com/terrancesnyder/bigdata">https://github.com/terrancesnyder/bigdata</a>","releases":[{"version":"0.1.0"}],"version":"0.1.0","tag_list":["tomcat"]},{"author":"yguenane","full_name":"yguenane/tomcat6","name":"tomcat6","desc":"This module aims to install tomcat6 on EL/Debian platforms using their respective package managers and not by compiling the source code","project_url":"<a href="https://github.com/Spredzy/puppet-tomcat6">https://github.com/Spredzy/puppet-tomcat6</a>","releases":[{"version":"0.0.5"},{"version":"0.0.3"},{"version":"0.0.1"}],"version":"0.0.5","tag_list":["tomcat","servlet","tomcat6"]},{"author":"multiverse","full_name":"multiverse/Tomcat","name":"Tomcat","desc":"Module for deploying applications to Tomcat.","project_url":"","releases":[{"version":"0.0.1"}],"version":"0.0.1","tag_list":["tomcat","deployment","wars","applications"]},{"author":"jeffmccune","full_name":"jeffmccune/tomcat","name":"tomcat","desc":"This puppet module manages the [Apache Tomcat](<a href="http://tomcat.apache.org/">http://tomcat.apache.org/</a>) Java Servlet implementation.","project_url":"<a href="http://github.com/puppetlabs/puppetlabs-tomcat">http://github.com/puppetlabs/puppetlabs-tomcat</a>","releases":[{"version":"1.0.1"},{"version":"1.0.0"}],"version":"1.0.1","tag_list":["web","java","jsp","webapp","tomcat","service","servlet","puppetlabs"]},{"author":"camptocamp","full_name":"camptocamp/tomcat","name":"tomcat","desc":"Tomcat Puppet module","project_url":"<a href="http://github.com/camptocamp/puppet-tomcat">http://github.com/camptocamp/puppet-tomcat</a>","releases":[{"version":"0.0.2"},{"version":"0.0.1"}],"version":"0.0.2","tag_list":["webservers","web","java","jsp","languages"]}]</div>
</div><div><br></div><div><br></div><div>puppet module install cloudfront/tomcat...</div><div><br></div><div><div>GET /api/v1/releases.json?module=cloudfront/tomcat HTTP/1.1</div><div>Host: <a href="http://forge.puppetlabs.com">forge.puppetlabs.com</a></div>
<div>Accept: */*</div><div><br></div><div>HTTP/1.1 200 OK</div><div>Server: nginx/1.2.1</div><div>Date: Tue, 29 Jan 2013 11:50:46 GMT</div><div>Content-Type: application/json</div><div>Content-Length: 131</div><div>Connection: keep-alive</div>
<div>Status: 200 OK</div><div>X-Frame-Options: sameorigin</div><div>X-XSS-Protection: 1; mode=block</div><div>X-Node: forgeweb01</div><div>X-Revision: fb00b97e9f189bebf0bdb5bb8c66012dcc5acdc9</div><div><br></div><div>{"cloudfront/tomcat":[{"file":"/system/releases/c/cloudfront/cloudfront-tomcat-0.1.0.tar.gz","version":"0.1.0","dependencies":[]}]}</div>
</div><div><br></div><div><br></div><div>puppet module install cloudfront/tomcat --version 0.1.0...</div><div><br></div><div><div>GET /api/v1/releases.json?module=cloudfront/tomcat&version=0.1.0 HTTP/1.1</div><div>Host: <a href="http://forge.puppetlabs.com">forge.puppetlabs.com</a></div>
<div>Accept: */*</div><div><br></div><div>HTTP/1.1 200 OK</div><div>Server: nginx/1.2.1</div><div>Date: Tue, 29 Jan 2013 11:51:57 GMT</div><div>Content-Type: application/json</div><div>Content-Length: 131</div><div>Connection: keep-alive</div>
<div>Status: 200 OK</div><div>X-Frame-Options: sameorigin</div><div>X-XSS-Protection: 1; mode=block</div><div>X-Node: forgeweb03</div><div>X-Revision: fb00b97e9f189bebf0bdb5bb8c66012dcc5acdc9</div><div><br></div><div>{"cloudfront/tomcat":[{"file":"/system/releases/c/cloudfront/cloudfront-tomcat-0.1.0.tar.gz","version":"0.1.0","dependencies":[]}]}</div>
</div><div><br><div class="gmail_quote">On 30 January 2013 07:09, Steven Roberts <span dir="ltr"><<a href="mailto:strobert@strobe.net" target="_blank">strobert@strobe.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
okay, I stand corrected on the content not being published, pulp_puppet<br>
publishes into a different spot than pulp_rpm so couldn't find it at<br>
first.  Did some more digging and found it at:<br>
<br>
/var/www/pulp_puppet/http/repos/<br>
<br>
after some more poking I also came across this blog post:<br>
<a href="http://www.pulpproject.org/2012/08/29/mirroring-puppet-forge-with-pulp/" target="_blank">http://www.pulpproject.org/2012/08/29/mirroring-puppet-forge-with-pulp/</a><br>
<br>
I think I am seeing what Peter is getting at now though.  the<br>
'puppet module' tool looks like it is expecting some forge API foo<br>
<br>
here is the bit from puppet's forge.rb:<br>
response =<br>
repository.make_http_request("/modules.json?q=#{URI.escape(term)}")<br>
<br>
so looks like the puppet module tools are expecting some URL handling<br>
in adiditon to the basic json content.<br>
<br>
I am wondering if some of it is related to:<br>
<a href="http://projects.puppetlabs.com/issues/5033" target="_blank">http://projects.puppetlabs.com/issues/5033</a><br>
<br>
Steve<br>
<div><div class="h5"><br>
On Tue, Jan 29, 2013 at 09:25:21PM -0800, Steven Roberts wrote:<br>
> On Fri, Jan 18, 2013 at 09:55:16AM -0500, Jay Dobies wrote:<br>
> ><br>
> > >so in 2.0 we've got the repo side going and in theory could then<br>
> > >point "puppet module" at the pulp server and get modules installed<br>
> > >and updated on the pupept master that way.<br>
> > ><br>
> > >Steve<br>
> ><br>
> > That's exactly right.<br>
><br>
> On Wed, Jan 30, 2013 at 12:13:20AM +0000, Peter Hehn wrote:<br>
> > Hello,<br>
> ><br>
> > I've only recently stumbled across Pulp, and I'm loving the repository<br>
> > syncing side of it, but I wonder if I'm missing a trick...  I'm hoping<br>
> > to<br>
> > access those modules using "puppet module install / search" but as far<br>
> > as I<br>
> > can tell the JSON API just isn't there.<br>
> ><br>
> > Have I missed something in the documentation?  I can lend a hand if<br>
> > that<br>
> > task's outstanding (just thought I'd check before I re-invent)<br>
><br>
> Jay, I decided to try out the puppet module use to see if I can<br>
> replicate what Peter is seeing.<br>
><br>
> I made a repo, uploaded a module and ran the publish.  but I'm not<br>
> seeing any files in the published dir.<br>
><br>
> Running 2.1.0-0.1.alpha<br>
><br>
> Steve<br>
><br>
</div></div>> _______________________________________________<br>
> Pulp-list mailing list<br>
> <a href="mailto:Pulp-list@redhat.com">Pulp-list@redhat.com</a><br>
> <a href="https://www.redhat.com/mailman/listinfo/pulp-list" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-list</a><br>
</blockquote></div><br></div></div>

<br>
<hr><span style="font-family:'Times New Roman'">This email was sent by a company owned by Pearson plc, registered office at 80 Strand, London WC2R 0RL.  Registered in England and Wales with company number 53723.</span>