Kapil Thangavelu has proposed merging lp:~hazmat/juju-gui/readme-update into lp:juju-gui.
Requested reviews: Juju GUI Hackers (juju-gui) For more details, see: https://code.launchpad.net/~hazmat/juju-gui/readme-update/+merge/130690 Update readme instructions Document manual environment install and dev setup using improv script https://codereview.appspot.com/6734052/ -- https://code.launchpad.net/~hazmat/juju-gui/readme-update/+merge/130690 Your team Juju GUI Hackers is requested to review the proposed merge of lp:~hazmat/juju-gui/readme-update into lp:juju-gui.
=== modified file 'README' --- README 2012-10-04 17:07:28 +0000 +++ README 2012-10-20 22:39:20 +0000 @@ -1,62 +1,60 @@ Developer Install ----------------- - Juju GUI uses nodejs based development tools. - - You'll need nodejs & npm from the ppa:: - -sudo add-apt-repository ppa:chris-lea/node.js -sudo apt-get update -sudo apt-get install nodejs npm - - The linter will be installed locally per branch, but if you want editor - integration, you may want to install jshint globally in your system. - -sudo npm install -g jshint - - For building the docs, you also need sphinx. - -sudo apt-get install python-sphinx - - The gui frontend can be installed with:: - -bzr branch lp:juju-ui trunk -cd trunk -make server - - - You'll also need to deploy a juju environment with REST api - access. Currently that work resides in a pipeline of juju - branches. The recommended branch to utilize as a server is - ``lp:~hazmat/juju/rapi-delta``. - - - You can utilize it with any environment, but for dev purposes, a - local environment works well. One environment option specific to this - branch is the api-port. A sample configuration appropriate:: - -default: dev -environments: - dev: - type: local - data-dir: /home/kapil/.juju/local - admin-secret: b3a5dee4fb8c4fc9a4db04751e5936f4 - default-series: precise - juju-origin: ppa - api-port: 8081 - - Note juju-origin is set to the ppa, the api server runs outside of - the container, and is launched using whichever branch your using. - - Also note the api-port should be spec'd at 8081, which the gui's - initial environment connection currently defaults to. - - You'll need to bootstrap the local environment, and deploy one - service. The api server needs access to the provisioning credentials - which are lazy initialized in juju upon usage. - - After which the gui should be functional (it automatically polls the - api server for establishing a websocket). +Juju GUI uses nodejs based development tools for testing, package installation, +and templating. The product releases are static html and javascript with no +node.js dependency. + +You'll need nodejs & npm from the ppa:: + + sudo add-apt-repository ppa:chris-lea/node.js + sudo apt-get update + sudo apt-get install nodejs npm + +A javascript linter will be installed locally per branch, but if you want editor +integration, you may want to install jshint globally in your system:: + + sudo npm install -g jshint + +For building the docs, you also need sphinx:: + + sudo apt-get install python-sphinx + +The gui frontend can be installed with:: + + bzr branch lp:juju-ui trunk + cd trunk + make server + +You'll also need to deploy a juju environment with REST api +access. Currently that work resides in a pipeline of juju +branches. The recommended branch to utilize as a server is +``lp:~hazmat/juju/rapi-rollup``. + +The recommended REST endpoint for development is to use the environment +simulator located in the rapi branch, as it allows testing large scale +environments for gui development at minimal cost. It can be invoked by:: + + cd rapi-rollup + python improv.py -f sample.json + +This will create an environment based on the specification in sample.json +and startup an api server on port 8081. The gui defaults to using this port +on localhost. + +However you can utilize the gui with any environment, but atm the installation +process is a bit manual. The environment needs to be bootstrapped with a client +from the rapi branch. The security group for the given machine needs to allow +port 80 access (websocket) manually by provider specific mechanism (none +needed for maas or local). The api server needs access to the provider +abstraction/credentials in order to fufill the cli api. That means you'll need +to deploy at least one service with the cli before the API server is functional +(as this will sync the provider credentials to the environment). The gui +app/config.js will need to be updated to point to the address of the bootstrap +node. + +After which the gui should be functional (it automatically polls the +api server for establishing a websocket). Running unit tests.
-- Mailing list: https://launchpad.net/~yellow Post to : [email protected] Unsubscribe : https://launchpad.net/~yellow More help : https://help.launchpad.net/ListHelp

