Public | Automated Build

Last pushed: 2 months ago
Short Description
Cost Recovery
Full Description

Billing for Cancer Collaboratory

<h1 align="center"> Cancer Collaboratory Billing App </h1> <br>

<p align="center">
<img alt="arch" title="Reporting by cost" src="/docs/billing_cost.png">

<p align="center">
Reporting by cost

<p align="center">
<img alt="arch" title="Reporting by usage" src="/docs/billing_usage.png">

<p align="center">
Reporting by usage


Running as a Docker Container

Pull the latest image:

$ docker pull collaboratory/billing

Once ready, you can run the image. The container has nginx listening on port 8080 so you will need to expose this port. Also you should pass in your configuration file.

$ docker run -p <host_port>:8080 -v <path_to_config>/ collaboratory/billing 

The configuration file takes the form of:

DEBUG = False  # Debug mode for flask
SECRET_KEY = 'random, secret, super duper secret key'
AUTH_URI = 'http://<identity>/v2.0'  # Keystone/Identity API endpoint
MYSQL_URI = 'mysql://<user>:<pass>@<mysql_host>:3306'  # mysql URI
FLASK_LOG_FILE = '/srv/billing-api/logs/billing.log'
BILLING_ROLE = 'billing'
VALID_BUCKET_SIZES = ['daily', 'weekly', 'monthly', 'yearly']  # Bucketing options for query.


Docker Pull Command
Source Repository