Permalink
Please sign in to comment.
Showing
with
409 additions
and 3 deletions.
- +34 −0 Makefile
- +25 −3 README.md
- +138 −0 apps.yaml
- +23 −0 clojure.yaml
- +54 −0 node.yaml
- +30 −0 notes/prune-repo.txt
- +33 −0 perl.yaml
- +19 −0 php.yaml
- +27 −0 python.yaml
- +18 −0 ruby.yaml
- +8 −0 test.yaml
@@ -0,0 +1,34 @@ | ||
+YAML2JSON := perl -MYAML::XS -MJSON::XS \ | ||
+ -e 'print JSON::XS->new->pretty->canonical->encode(YAML::XS::LoadFile(shift))' | ||
+VERSION := 1.0 | ||
+BUILD := /tmp/stackato-app-store | ||
+BASE := static/store/$(VERSION) | ||
+ALL := $(shell echo *.yaml) | ||
+ALLJSON := $(ALL:%.yaml=%.json) | ||
+ALLJSONP := $(ALL:%.yaml=%.jsonp) | ||
+ALL := $(ALLJSON) $(ALLJSONP) | ||
+ALL := $(ALL:%=$(BUILD)/%) | ||
+ | ||
+default: build | ||
+build: $(BUILD) $(ALL) | ||
+ | ||
+$(BUILD)/%.jsonp: %.yaml Makefile | ||
+ echo "ConsoleObject.set_app_store_data(" > $@ | ||
+ $(YAML2JSON) $< >> $@ | ||
+ echo >> $@ | ||
+ echo ');' >> $@ | ||
+ | ||
+$(BUILD)/%.json: %.yaml Makefile | ||
+ $(YAML2JSON) $< >> $@ | ||
+ | ||
+$(BUILD): | ||
+ mkdir -p $@ | ||
+ | ||
+live: build | ||
+ git checkout master | ||
+ mkdir -p $(BASE) | ||
+ cp $(BUILD)/* $(BASE) | ||
+ git add $(BASE) | ||
+ -git commit -m "Updating store files" | ||
+ git checkout store | ||
+ rm $(BUILD) -rf |
@@ -1,4 +1,26 @@ | ||
-stackato-app-store | ||
-================== | ||
+## Overview | ||
+ | ||
+The Stackato App Store is a feature of Stackato that allows people to install apps directly from their sources. A Stackato Admin can point their Stackato installation at 1 or more "stores". By default, stackato currently points to this store. | ||
+ | ||
+A store is just a database of pointers to the source locations of apps, and a little extra meta info needed to install the app. | ||
+ | ||
+## Adding Apps to the Store | ||
+ | ||
+This is a set of instructions for adding an app to the current Stackato store. | ||
+ | ||
+### On this branch (store) | ||
+ | ||
+* Edit the `apps.yaml` file with your new app info. | ||
+ * Be sure to add it in alphabetical order by id. | ||
+ * id should be unique, short and lowercase | ||
+ * Look at other apps for guidance | ||
+* Make sure your app entry in the yaml points to a valid repo | ||
+* Run `make` to update the `apps.json` and `apps.jsonp` files. | ||
+* Run `make live` to commit the new files on the master branch. | ||
+ | ||
+### On the master branch | ||
+ | ||
+* `git push` | ||
+ | ||
+That's it. | ||
-Stackato App Store Builder |
@@ -0,0 +1,138 @@ | ||
+store: | ||
+ id: activestate_sample_apps | ||
+ title: ActiveState Sample Stackato Applications | ||
+ contact: Stackato Support <stackato-support@activestate.com> | ||
+ | ||
+apps: | ||
+- id: bugzilla | ||
+ name: Bugzilla | ||
+ desc: A Bug Tracking System | ||
+ framework: perl | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ mysql: mysql-bugzilla | ||
+ repo: git://github.com/Cloud-Apps/bugzilla.git | ||
+ home: https://github.com/Cloud-Apps/bugzilla#readme | ||
+- id: currency | ||
+ name: Currency Converter | ||
+ desc: Bottle Currency Converter | ||
+ framework: python | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ redis: redis-currency | ||
+ repo: git://github.com/Cloud-Apps/bottle-currency.git | ||
+ home: https://github.com/Cloud-Apps/bottle-currency#readme | ||
+- id: drupal | ||
+ name: Drupal | ||
+ desc: A Popular CMS | ||
+ runtime: php | ||
+ framework: php | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ mysql: mysql-drupal | ||
+ filesystem: fs-drupal | ||
+ repo: git://github.com/Cloud-Apps/drupal.git | ||
+ home: https://github.com/Cloud-Apps/drupal#readme | ||
+- id: env | ||
+ name: Env | ||
+ desc: Simple Sample App to Print Environment Variables | ||
+ runtime: node | ||
+ framework: node | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/node-env.git | ||
+ home: https://github.com/Cloud-Apps/node-env#readme | ||
+- id: hello-clojure | ||
+ name: Hello Clojure | ||
+ desc: Hello World Sample App in Clojure | ||
+ framework: clojure | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/hello-clojure.git | ||
+ home: https://github.com/Cloud-Apps/hello-clojure#readme | ||
+- id: live-game-editor | ||
+ name: Live Game Editor | ||
+ desc: Live Video Game Editor in Clojure | ||
+ framework: clojure | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/live-game-editor.git | ||
+ home: https://github.com/Cloud-Apps/live-game-editor#readme | ||
+- id: mezzanine | ||
+ name: Mezzanine | ||
+ desc: Vanilla Mezzanine CMS | ||
+ framework: python | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ env: | ||
+ DJANGO_SETTINGS_MODULE: settings | ||
+ repo: git://github.com/Cloud-Apps/mezzanine.git | ||
+ home: https://github.com/Cloud-Apps/mezzanine#readme | ||
+- id: multisweeper | ||
+ name: MultiSweeper | ||
+ desc: A Multiplayer Minesweeper-style Game | ||
+ runtime: node | ||
+ framework: node | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ redis: redis-multisweeper | ||
+ repo: git://github.com/Cloud-Apps/multisweeper.git | ||
+ home: https://github.com/Cloud-Apps/multisweeper#readme | ||
+- id: nide | ||
+ name: Nide | ||
+ desc: Beautiful IDE for Node.JS | ||
+ runtime: node | ||
+ framework: node | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ filesystem: fs-nide | ||
+ repo: git://github.com/Cloud-Apps/nide.git | ||
+ home: https://github.com/Cloud-Apps/Nide#readme | ||
+- id: perlcritic | ||
+ name: Perl::Critic | ||
+ desc: Perl::Critic Website | ||
+ framework: perl | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/ActiveState/perlcritic.com.git | ||
+ home: https://github.com/ActiveState/perlcritic.com#readme | ||
+- id: photobooth | ||
+ name: Photo Booth | ||
+ desc: A Photo Booth App | ||
+ framework: perl | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/photobooth.git | ||
+ home: https://github.com/Cloud-Apps/photobooth#readme | ||
+- id: prezbuzz | ||
+ name: Prez Buzz | ||
+ desc: Twitter Activity for the American 2012 Presidential Election | ||
+ framework: rails3 | ||
+ runtime: ruby19 | ||
+ license: Unknown | ||
+ mem: 256 | ||
+ services: | ||
+ mysql: mysql-prezbuzz | ||
+ repo: git://github.com/Cloud-Apps/prezbuzz.git | ||
+ home: https://github.com/Cloud-Apps/prezbuzz#readme | ||
+- id: subway | ||
+ name: Subway | ||
+ desc: A web based irc client, built on top of node.js and socket.io | ||
+ framework: node | ||
+ license: MIT | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/subway.git | ||
+ home: https://github.com/Cloud-Apps/subway#readme | ||
+- id: tty-js | ||
+ name: tty-js | ||
+ desc: A terminal in your browser using node.js and socket.io. Based on Fabrice Bellards vt100 for jslinux. | ||
+ framework: node | ||
+ license: MIT | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/tty.js.git | ||
+ home: https://github.com/Cloud-Apps/tty.js#readme |
23
clojure.yaml
@@ -0,0 +1,23 @@ | ||
+store: | ||
+ title: ActiveState Sample Stackato Clojure Applications | ||
+ contact: Stackato Support <stackato-support@activestate.com> | ||
+ icon: http://get.stackato.com/store/icon/clojure.png | ||
+ | ||
+apps: | ||
+- id: hello-clojure | ||
+ name: Hello Clojure | ||
+ desc: Hello World Sample App in Clojure | ||
+ framework: clojure | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/hello-clojure.git | ||
+ home: https://github.com/Cloud-Apps/hello-clojure#readme | ||
+- id: live-game-editor | ||
+ name: Live Game Editor | ||
+ desc: Live Video Game Editor in Clojure | ||
+ framework: clojure | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/live-game-editor.git | ||
+ home: https://github.com/Cloud-Apps/live-game-editor#readme | ||
+ |
@@ -0,0 +1,54 @@ | ||
+store: | ||
+ title: ActiveState Sample Stackato node.js Applications | ||
+ contact: Stackato Support <stackato-support@activestate.com> | ||
+ icon: http://get.stackato.com/store/icon/node.png | ||
+ | ||
+apps: | ||
+- id: env | ||
+ name: Env | ||
+ desc: Simple Sample App to Print Environment Variables | ||
+ runtime: node | ||
+ framework: node | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/node-env.git | ||
+ home: https://github.com/Cloud-Apps/node-env#readme | ||
+- id: multisweeper | ||
+ name: MultiSweeper | ||
+ desc: A Multiplayer Minesweeper-style Game | ||
+ runtime: node | ||
+ framework: node | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ redis: redis-multisweeper | ||
+ repo: git://github.com/Cloud-Apps/multisweeper.git | ||
+ home: https://github.com/Cloud-Apps/multisweeper#readme | ||
+- id: nide | ||
+ name: Nide | ||
+ desc: Beautiful IDE for Node.JS | ||
+ runtime: node | ||
+ framework: node | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ filesystem: fs-nide | ||
+ repo: git://github.com/Cloud-Apps/nide.git | ||
+ home: https://github.com/Cloud-Apps/Nide#readme | ||
+- id: subway | ||
+ name: Subway | ||
+ desc: A web based irc client, built on top of node.js and socket.io | ||
+ framework: node | ||
+ license: MIT | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/subway.git | ||
+ home: https://github.com/Cloud-Apps/subway#readme | ||
+- id: tty-js | ||
+ name: tty-js | ||
+ desc: A terminal in your browser using node.js and socket.io. Based on Fabrice Bellards vt100 for jslinux. | ||
+ framework: node | ||
+ license: MIT | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/tty.js.git | ||
+ home: https://github.com/Cloud-Apps/tty.js#readme | ||
+ |
@@ -0,0 +1,30 @@ | ||
+== How to prune a samples directory into a new repo: | ||
+ | ||
+ # Create repo: git@github.com:Cloud-Apps/node-env.git | ||
+ git clone git@github.com:ActiveState/stackato-samples.git node-env | ||
+ cd node-env/ | ||
+ git filter-branch --prune-empty --subdirectory-filter node/node-env master | ||
+ git remote set-url origin git@github.com:Cloud-Apps/node-env.git | ||
+ git push | ||
+ ls -l | ||
+ git branch -a | ||
+ | ||
+== How I cloned and pruned a repo on a non-master branch | ||
+ | ||
+ # Create repo: git@github.com:Cloud-Apps/drupal.git | ||
+ git clone git@github.com:ActiveState/stackato-samples.git drupal | ||
+ cd drupal/ | ||
+ git branch -a | ||
+ git checkout develop | ||
+ git filter-branch --prune-empty --subdirectory-filter php/drupal develop | ||
+ git branch -d master | ||
+ git checkout -b master | ||
+ git remote set-url origin git@github.com:Cloud-Apps/drupal.git | ||
+ git push origin master | ||
+ cd .. | ||
+ rm -fr drupal | ||
+ git clone git@github.com:Cloud-Apps/drupal.git | ||
+ cd drupal | ||
+ ls -l | ||
+ git branch -a | ||
+ |
@@ -0,0 +1,33 @@ | ||
+store: | ||
+ title: ActiveState Sample Stackato Perl Applications | ||
+ contact: Stackato Support <stackato-support@activestate.com> | ||
+ icon: http://get.stackato.com/store/icon/perl.png | ||
+ | ||
+apps: | ||
+- id: bugzilla | ||
+ name: Bugzilla | ||
+ desc: A Bug Tracking System | ||
+ framework: perl | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ mysql: mysql-bugzilla | ||
+ repo: git://github.com/Cloud-Apps/bugzilla.git | ||
+ home: https://github.com/Cloud-Apps/bugzilla#readme | ||
+- id: perlcritic | ||
+ name: Perl::Critic | ||
+ desc: Perl::Critic Website | ||
+ framework: perl | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/ActiveState/perlcritic.com.git | ||
+ home: https://github.com/ActiveState/perlcritic.com#readme | ||
+- id: photobooth | ||
+ name: Photo Booth | ||
+ desc: A Photo Booth App | ||
+ framework: perl | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ repo: git://github.com/Cloud-Apps/photobooth.git | ||
+ home: https://github.com/Cloud-Apps/photobooth#readme | ||
+ |
@@ -0,0 +1,19 @@ | ||
+store: | ||
+ title: ActiveState Sample Stackato PHP Applications | ||
+ contact: Stackato Support <stackato-support@activestate.com> | ||
+ icon: http://get.stackato.com/store/icon/php.png | ||
+ | ||
+apps: | ||
+- id: drupal | ||
+ name: Drupal | ||
+ desc: A Popular CMS | ||
+ runtime: php | ||
+ framework: php | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ mysql: mysql-drupal | ||
+ filesystem: fs-drupal | ||
+ repo: git://github.com/Cloud-Apps/drupal.git | ||
+ home: https://github.com/Cloud-Apps/drupal#readme | ||
+ |
27
python.yaml
@@ -0,0 +1,27 @@ | ||
+store: | ||
+ title: ActiveState Sample Stackato Python Applications | ||
+ contact: Stackato Support <stackato-support@activestate.com> | ||
+ icon: http://get.stackato.com/store/icon/python.png | ||
+ | ||
+apps: | ||
+- id: currency | ||
+ name: Currency Converter | ||
+ desc: Bottle Currency Converter | ||
+ framework: python | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ services: | ||
+ redis: redis-currency | ||
+ repo: git://github.com/Cloud-Apps/bottle-currency.git | ||
+ home: https://github.com/Cloud-Apps/bottle-currency#readme | ||
+- id: mezzanine | ||
+ name: Mezzanine | ||
+ desc: Vanilla Mezzanine CMS | ||
+ framework: python | ||
+ license: Unknown | ||
+ mem: 128 | ||
+ env: | ||
+ DJANGO_SETTINGS_MODULE: settings | ||
+ repo: git://github.com/Cloud-Apps/mezzanine.git | ||
+ home: https://github.com/Cloud-Apps/mezzanine#readme | ||
+ |

Oops, something went wrong.
0 comments on commit
b5aaabe