bertha icon indicating copy to clipboard operation
bertha copied to clipboard

Service to convert google spreadsheets to JSON, CSV and TSV and cache the result

bertha

Bertha is a machine that can produce any item requested of her.

Using Bertha

See the user docs

Running Bertha locally

Prerequisites

First set up developer tooling:

then install the dependencies

$ npm install

Start

$ npm start

The application will now be available on [http://localhost:3000/]. A simple test sheet is used to demonstrate everything working. From there you can visit the correct url according to the user docs.

The PORT may be overridden thusly:

$ PORT=8888 npm start

Redis

If Redis isn't running/unreachable you can start it in another terminal/process

$ redis-server

Smoke tests

With the server already running you may run the smoke tests. These are simple end-to-end integration tests that check things are working correctly. Requires Hurl to be installed.

$ npm run test.smoke

Again if you are running the server on a different port that can be configured:

$ PORT=8888 npm run test.smoke

The BASE_URL for the smoke tests can also be overridden:

$ BASE_URL=https://myreviewapp.herokuapp.com npm run test.smoke

You may also run the smoke tests against production

$ npm run test.smoke.prod

Production

Logs

Logs are sent to Splunk via the Heroku log drain. There is also a Splunk dashboard.

Query the logs:

index=heroku source=bertha

Monitoring

There are checks in Pingdom.

The app does not have a /__health endpoint because if it is unhealthy the app is down and Pingdom checks will fail.

Key management

This is documented in Biz Ops