No commit activity in last 3 years
No release in over 3 years
Sandox console for Trinidad. It allows to manage the applications deployed on Trinidad.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

>= 0
>= 2.2

Runtime

 Project 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.