Module Server

101 views
Skip to first unread message

Tom van Dijck

unread,
Mar 24, 2017, 11:22:38 AM3/24/17
to Premake Development

> @tritao What's needed on the server front?


it's a single static webpage right now ;) with one "module" as a test module...


> As an alternative to a stateful server, what do you think about using a Github repository as a stateless index? Libraries could be managed via PRs and a Travis CI job could be setup that automatically recomputes a commits a json/Lua table index file cache on the repository.

> Package files could be fetched/uploaded to any S3-compatible file store, or even FTP, curl supports it, so in theory we could add builtin package upload support to Premake.

> CC'ing @realvictorprm since he mentioned to me some interest on helping on this area before.


Yeah, whatever we want really... That said, having an intermediate 'server' that serves the content has proven to be the right thing to do... rather then directly talking to the github API, which often is rate limitted and requires authentication.. which I really don't want to add to my code.

One thing I did do, setup oauth authentication with github, with the intent that we could make it setup webhooks etc.... If we're going with a fixed index in a single repository, then I don't think we need any of that, since we could just setup a single API Token to fetch that index when it changes, and process it to serve the new content... But again, the server code is all extremely simple right now, and anyone working on it, can rip it apart as much as they want...

As for storing files on an S3 file store... again, I really don't care much either way... AWS costs money, I'm already paying 200,= a year per dedicated box I own, which I'm offering to the community to keep up, I think they have 500GB of storage each, but I don't have any backup mechanism setup, but that is easily fixed.



Tom van Dijck

unread,
Mar 24, 2017, 11:31:57 AM3/24/17
to Premake Development

I did a very simple implementation for testing here:

https://github.com/tvandijck/packagesrv-web


It's live at http://packagesrv.com


In my opinion, what we want:

  • http server hosted somewhere that serves modules as simple zip files.
    • this has proven to be simpler from a usage point of view then communicating directly with github's API
    • Would also allow modules to be hosted on gitlab/bitbucket or elsewhere..
    • don't want to be tied to github.
  • a repository with the authoritative list of modules and their locations. (premake/premake-modules ?? )
  • either 
    • a jenkins/travis/whatever job that takes that list, compiles it, uploads/updates the modules to http server.
    • or, a github webhook on the http server that does that work itself.

  • and somewhat of a pet peeve of mine, it needs to look inviting and professional.

Reply all
Reply to author
Forward
0 new messages