This repository has been archived on 2022-08-18. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Richard van der Hoff 11fbdebf64 Rename sample config file
This means that we can have a `rageshake.yaml` on the live server which is used
without faffing with parameters.
2017-04-12 15:27:50 +01:00
hooks fix up the pre-commit hook (#1) 2017-04-05 14:51:07 +01:00
src/github.com/matrix-org/rageshake Make github issue a bit more useful (#7) 2017-04-12 15:06:40 +01:00
vendor Vendor import: gopkg.in/yaml.v2 2017-04-10 09:50:32 +01:00
.gitignore Rename sample config file 2017-04-12 15:27:50 +01:00
.travis.yml Travis build script and gitignores 2017-04-04 12:01:28 +01:00
CONTRIBUTING.rst Add readme, contributing, license 2017-04-04 16:20:50 +01:00
LICENSE Add readme, contributing, license 2017-04-04 16:20:50 +01:00
rageshake.sample.yaml Rename sample config file 2017-04-12 15:27:50 +01:00
README.md Rename sample config file 2017-04-12 15:27:50 +01:00

rageshake Build Status

Web service which collects and serves bug reports.

rageshake requires Go version 1.7 or later.

To run it, do:

go get github.com/constabulary/gb/...
gb build
./bin/rageshake

Optional parameters:

  • -config <path>: The path to a YAML config file; see rageshake.sample.yaml for more information.
  • -listen <address>: TCP network address to listen for HTTP requests on. Example: :9110.

HTTP endpoints

The following HTTP endpoints are exposed:

GET /api/listing/

Serves submitted bug reports. Protected by basic HTTP auth using the username/password provided in the environment. A browsable list, collated by report submission date and time.

POST /api/submit

Submission endpoint: this is where applications should send their reports.

The body of the request should be a JSON object with the following fields:

  • text: A textual description of the problem. Included in the details.log.gz file.

  • user_agent: Application user-agent. Included in the details.log.gz file.

  • app: Identifier for the application (eg 'riot-web'). Should correspond to a mapping configured in the configuration file for github issue reporting to work.

  • version: Application version. Included in the details.log.gz file.

  • logs: an of log files. Each entry in the list should be an object with the following fields:

    • id: textual identifier for the logs. Currently ignored.
    • lines: log data. Lines should be separated by newline characters (encoded as \n, as normal in JSON).
  • data: a set of arbitrary name/value strings to include in the details.log.gz file. (Note that the values must be strings; numbers, objects and arrays will be rejected).