Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Extension to allow manage the applications deployed on Trinidad, ala Tomcat manager but built with Sinatra

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 git-hooks
Octocat-spinner-32 lib
Octocat-spinner-32 rakelib
Octocat-spinner-32 spec
Octocat-spinner-32 src
Octocat-spinner-32 trinidad-libs
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 History.txt
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
Octocat-spinner-32 trinidad_sandbox_extension.gemspec
README
Trinidad sandbox extension
======

# DESCRIPTION

Trinidad's management console and REST api.

This extension adds a management console to a Trinidad's instance moreover a rest api to access the applications running on top of it.


# INSTALL

jruby -S gem install trinidad_sandbox_extension

# CONFIGURATION

The extension has to be added within the section "extensions" into the Trinidad's configuration file:

---
  extensions:
    sandbox:

This extension is also a Sinatra web application running on top of Trinidad, so any application configuration parameter is also valid here.
For instance, we can modify the context path where is running the console:

---
  extensions:
    sandbox:
      context_path: management # by default the context path is sandbox

It also supports basic authentication, we'll have to specify the username and password within our section:

---
  extensions:
    sandbox:
      username: manager
      password: XXXXXXX

We can also use the console in readonly mode, so users can see the applications deployed but they cannot deploy new ones or modify them:

--- 
  extensions:
    sandbox:
      readonly: true

# FEATURES

The console as well as the REST api allow to list all the applications managed by that Trinidad's instance and start/stop them.
By security reasons the sandbox application is not listed nor can be stopped.

# GIT DEPLOYMENT

The sandbox console also allows to deploy new applications into Trinidad via Git. By default it uses ssh keys to access to the repository with the user `git`.

We can also use git hooks to deploy applications via a POST-Receive callback. 
In this case we use a token for authentication that must be set in the configuration, then we'll use an url like we show bellow in our hook:

---
  extensions:
    sandbox:
      deploy_token: ULTRA_SECRET_TOKEN

POST-Receive url: http://host/sandbox/deploy?deploy_token=ULTRA_SECRET_TOKEN

If we want to let users to deploy applications in public git repositories we can also disable the ssh authentication with the option `git_ssh`:

---
  extensions:
    sandbox:
      git_ssh: false

# TODO

This can be the starting point to a real management console, we could modify application parameters, show statistics...
Any improvement or redesign in the UI is welcome.
Something went wrong with that request. Please try again.