Skip to content

luzlab/harbormaster-apache

Repository files navigation

harbormaster

Build Status

General notes on things to do and how things work.

Features:

  • Users, who are able to login, edit their own profiles, and view the status of Lanes
  • Harbormasters, who can create Users, Ship to all Lanes, and promote Users to Captains or Harbormasters
  • Captains, who can sent Shipments to Lanes they Ply
  • Lanes, which represent deployment paths, comprised of individual Stops
  • Stops, which represent discrete individual deployment commands
  • Shipments, which represent individual executions of a Stop on a Lane
  • Logs, which are the output of Shipments
  • Destinations, which represent individual environments where Stops are executed
  • Manifests, which are the order in which Stops are made at Destinations
  • Salvage Plans, which are specialized Lanes to be executed when a Shipment fails
  • Shipping, the act of initiating discreet Shipments to a Lane
  • Plying, the responsibility of Shipping to a Lane
  • Defining a Lane, which allows input of individual commands as Stops, ordering them, and saving them for later execution
  • Promoting & Demoting Users, allowing Harbormasters to change roles
  • Dynamic stdin, letting users input commands which require user input when run
  • Hooks, allowing remote calls to trigger shipments
  • Abort shipment, canceling a shipment in the middle of it, optionally triggering a Salvage Plan

Environment variables you'll want if you run this docker container:

MAIL_URL=[username]:[password]@[smtp.someserver.com]:[port]
MONGO_URL=mongodb://[user]:[password]@[mongodb url]:[mongodb port]/[db name, usually "harbormaster"]
ROOT_URL=http[s]://[wherever the app is running][:port]
PORT=[usually 80]