yellow team mailing list archive
-
yellow team
-
Mailing list archive
-
Message #01216
[Merge] lp:~hazmat/juju-gui/readme-update into lp:juju-gui
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.
Follow ups