sibyl

command module
v0.0.0-...-5a45d91 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2019 License: AGPL-3.0 Imports: 10 Imported by: 0

README

sibyl - Rapid Agile Estimations

Build Status Go Report Card

Sibyl is an online agile estimation tool that doesn't require sign-ups, entering user stories, or any other time consuming steps that keeps you from doing what matters: estimating on stories.

This repo contains both the back-end and front-end code for running Sibyl.

Sibyl Screenshot

Getting started

Get Sibyl

To get sibyl:

% go get github.com/synacor/sibyl
Run Sibyl

As long as $GOPATH/bin is in your $PATH, you can now run sibyl.

% sibyl
Build Sibyl for Distribution

Sibyl uses the rice.go package to bundle in the templates and that static directory. When running on your local server, it will automatically pull it from the installed directory. If you want to distribute your binary to other servers, you'll want to bundle up those assets. First, you'll need to install the rice command.

% go get github.com/GeertJohan/go.rice/rice

Now you can bundle up the assets in the binary.

% cd $GOPATH/src/github.com/synacor/sibyl
% go build
% rice append --exec sibyl

The binary ./sibyl can now be distributed.

Configuration

Sibyl uses viper for configuration. The following environment variales are supported:

  • SIB_PORT: Specify the port to run sibyl on. Defaults to 5000.
  • SIB_TLS_PORT: Specify the TLS port to run sibyl on. By default, Sibyl does not use TLS.
  • SIB_DEBUG: Outputs additional log details.

Extended configuration can be supplied by created a config.json file in either of the following two locations:

  • ./config.json
  • /etc/sibyl/config.json

Only the first config file found will be used.

The following example JSON file contains all the options and their defaults:

{
    "debug": false,
    "log_level": "INFO",
    "port": 5000,
    "tls_port": 0,
    "force_tls": false,
    "tls_private_key": "",
    "tls_public_key": ""
}
  • debug: Output additional debugging information to STDERR.
  • log_level: Specifies what level of logging should be outputted to STDERR. If debug is on, you probably want this to DEBUG.
  • port: The port to use for HTTP (non-TLS) traffic.
  • tls_port: The port to use for HTTPS (TLS) traffic. Will only turn on TLS support if specified. If you use this option, you need to also specify tls_private_key and tls_public_key.
  • force_tls: If using TLS, redirect non-TLS traffic to use TLS with a permanent redirect.
  • tls_private_key: Path to the private key file.
  • tls_public_key: Path to the public key file.

Known Issues

  • When running the server over HTTP (non-TLS), some antivirus applications that buffer http connections, such as Kaspersky, may cause the web socket connection to disconnect. The workaround is to either run the server with HTTPS, or to disable port 80 filtering in your antivirus.
  • The app does not currently horizontally scale because everything is kept in-memory. Will need to add routing capabailities so that all rooms hit the same instance, or add pub/sub features.

Contributing

All ideas and contributions are appreciated.

License

GNU AGPLv3 License, please see LICENSE for details.

Documentation

Overview

Package main starts a Sibyl server

Directories

Path Synopsis
Package deck provides various deck capabilities
Package deck provides various deck capabilities
Package game provides capabilities for an individual estimation session.
Package game provides capabilities for an individual estimation session.
Package name generates random names
Package name generates random names
Package server contains controller and client logic
Package server contains controller and client logic

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL