pwais / opengrok-spk

0 stars 0 forks source link

Get code into opengrok-spk #1

Open pwais opened 8 years ago

pwais commented 8 years ago

Currently there's no way to (ahem) get code into an OpenGrok Grain (besides baking the code into the Grain's package).

One way might be to create a servlet that has an endpoint for triggering code pulls. @paulproteus suggests having the servlet expose a Sandstorm HTTP API . However, it should be noted that the servlet would not have network access inside the grain ...

Perhaps we could utilize Gitlab shell somehow, though I haven't fully grasped how it integrates with Sandstorm's Gitlab app.

paulproteus commented 8 years ago

The most trivial thing you could do (WARNING ugh factor ahead) is add a servlet with a simplistic web form that lets you upload a ZIP file and it unzips it into /var/code and then tells OpenGrok to index that.

Another option is to make OpenGrok be able to receive git pushes. This I like more, fwiw.

paulproteus commented 8 years ago

You could look at https://github.com/paulproteus/gitwebpages-sandstorm to see how to do that, but it's something of a mess. @dwrensha is the gitweb expert at Sandstorm and might have other advice.

paulproteus commented 8 years ago

(Also note that I'll be basically AFK until Sun Aug 23. Sorry about that.)

pwais commented 8 years ago

Took a peek a at gogs and the thread about adding it to Sandstorm.

I see that the author actually made some substantial modifications to gogs to get things to work. I tried out the release spk of 0.2 and there's a nice dialog after creating a repository on how to give your localhost's git a sandstorm auth key, and then to clone from sandstorm using this auth key or to add it as a remote. We could definitely take a similar approach here for OpenGrok:

Could also try to wait for webdav on Sandstorm, which might make more sense since OpenGrok indexes a directory rather than a git repo. Ideally, the OpenGrok app might as well support both some sort of git and webdav input method.

What I still don't understand fully: how do these apps get git and webdav to work over Sandstorm's HTTP bridge? I'd have to look much more closely at the gogs modifications ...