Skip to content

Latest commit

 

History

History
177 lines (105 loc) · 4.3 KB

README.md

File metadata and controls

177 lines (105 loc) · 4.3 KB

spark-stats

API exposing public statistics about Spark

Public API

Base URL: http://stats.filspark.com/

Development

Database

Set up PostgreSQL with default settings:

  • Port: 5432
  • User: your system user name
  • Password: blank
  • Database: spark_stats

Alternatively, set the environment variable $DATABASE_URL with postgres://${USER}:${PASS}@${HOST}:${POST}/${DATABASE}.

The Postgres user and database need to exist already, and the user needs full management permissions for the database.

You can also run the following command to set up the PostgreSQL server via Docker:

docker run -d --name spark-db \
  -e POSTGRES_HOST_AUTH_METHOD=trust \
  -e POSTGRES_USER=$USER \
  -e POSTGRES_DB=spark_stats \
  -p 5432:5432 \
  postgres

Next, you need to create spark_evaluate database.

psql postgres://localhost:5432/ -c "CREATE DATABASE spark_evaluate"

Finally, run database schema migration scripts.

npm run migrate

Run the test suite

npm test

Run the spark-stats service

npm start -w stats

You can also run the service against live data in Spark DB running on Fly.io.

  1. Set up a proxy to forward connections to Spark DB Postgres. Connect to the reader replica running on port 5433 (not 5432).

The command below will forward connections to local post 5455 to Spark DB's reader replica.

fly proxy 5455:5433 -a spark-db
  1. Start the service and configure the database connection string to use the proxied connection. Look up the user and the password in our shared 1Password vault.
DATABASE_URL="postgres://user:password@localhost:5455/spark_stats" \
  EVALUATE_DB_URL="postgres://user:password@localhost:5455/spark_evaluate" \
  npm start -w stats

Run the spark-observer service

npm start -w observer

Deployment

git push