A user-centric client for Joyent's SmartDataCenter.
JavaScript CSS Shell HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
data
lib
public
styles
.dockerignore
.editorconfig
.eslintrc
.gitignore
.sdcportalrc.example
Dockerfile
Gruntfile.js
LICENSE
README.md
index.js
package.json

README.md

sdc-portal

A user-centric HTTP UI for Joyent's SmartDataCenter.

Features

  • Multi-datacenter and JPC aware.
  • Get details about VMs in different SDC and JPC regions.
  • Perform actions on existing VMs (e.g. start, stop, reboot).
  • Pluggable authentication providers, including "AdminParty" for testing.
  • OAuth can be used for sign-in and mapping to SDC and JPC users.
  • Search for VMs
  • Manage user details

Screenshots

Developer Portal

Instance Search

Action confirmation

Development

To run sdc-portal:

git clone git@github.com:Faithlife/sdc-portal.git;
cd sdc-portal;
cp .sdcportalrc.example ~/.sdcportalrc;
npm install;
export NODE_ENV=development; # necessary if testing against CoaL or other unsigned CloudAPI endpoints
grunt dev;

Configuration file

The configuration file ~/.sdcportalrc needs to be created before sdc-portal can run. An example .sdcportalrc file configured for use with CoaL is in the root of this repository. OAuth configuration, data center details, and user to ssh key mappings need to be added or modified for your particular setup.

Important: Make sure you delete or replace any of the commented out sections of the sample config, otherwise the app will not run properly.

Contributing

Bug reports and feature requests should be submitted here as issues on GitHub https://github.com/Faithlife/sdc-portal/issues. Code contributions should be made via pull requests.

Coding guidelines loosely modeled after Joyent SDC's:

  • JavaScript is checked with jsstyle.
  • Master should be first-customer-ship (FCS) quality at all times.
  • npm test should always be successful
  • Lint is checked with javascriptlint
  • Commits should have matching tests if possible
  • Prefer dependencies that match the stack used with SDC