- Starting and stopping processes
- Controlling the Daemon
- Managing clusters
- Installing and running apps
- Remote access and monitoring (e.g. guv-web)
- Web interface
- Web interface - configuration
- Web interface - user management
- Programmatic access
- Programmatic access - local
- Programmatic access - remote
- Programmatic access - events
guvnor lets you deploy applications directly from git repositories.
In order to do this, your application must follow npm conventions. E.g. the root of your repository will contain a package.json
file and either an index.js
file or the package.json
file will have a main
field.
Your npm
managed dependencies will be installed after the install
and setref
commands are executed.
To add an application to guvnor's application list:
guv install <url> [name]
$ guv install https://github.com/achingbrain/http-test.git my-hot-app
The app name is optional - if you omit it, it will be read from package.json.
To show apps that have been installed
guv lsapps
$ guv lsapps
Name User URL
foo alex https://github.com/achingbrain/http-test.git
The URL can be anything that git clone
can resolve - github, bitbucket, smb shares, local paths, etc.
To remove a previously installed app.
guv rmapp <name>
Once installed, use guv start
to start your app, but pass the name of the app instead of the pid.
guv start my-hot-app
Once your app is running, use the normal commands to manage your app, using the pid or the app name.
By default guvnor will deploy the HEAD of master. To deploy other refs use setref
guv setref <appName> <ref>
guv setref my-hot-app tags/v137
To see which refs are available, use lsrefs
guv lsrefs <appName>
$ guv lsrefs my-hot-app
Name Commit
refs/heads/master a548a13a1a456aeb817ebb6c55d4312d62273aa6
refs/remotes/origin/HEAD a548a13a1a456aeb817ebb6c55d4312d62273aa6
refs/remotes/origin/master a548a13a1a456aeb817ebb6c55d4312d62273aa6
refs/tags/1.0 1848ef354377f958a68445b8ec18f0d1611069d4
refs/tags/2.0 20d882056e9df15a43d67697c382dd3c8c440047
refs/tags/3.0 a548a13a1a456aeb817ebb6c55d4312d62273aa6
If you are missing a ref, use the updaterefs
command to fetch the latest history from the upstream repository.
guv updaterefs <appName>
$ guv updaterefs my-hot-app