The NYPR "whats-on" service accepts XML from the NexGen/DAVID radio systems and keeps information about what's currently playing in a key:value store.
- Requires
Python 3.6+
Clone the Repo
git clone git@github.com:nypublicradio/whats-on-microservice
cd whats-on-microservice
Install the Requirements
python -m venv ~/.virtualenvs/whats-on
. ~/.virtualenvs/whats-on/bin/activate
pip install -e .
python setup.py test_requirements
pytest
Symbol | Translation |
---|---|
⚪ | Not required. |
🔴 | Required. |
Required | Config Value | Description |
---|---|---|
🔴 | DYNAMODB_TABLE |
The DynamoDB table to store values. |
⚪ | URL_PREFIX |
API requests must be prefixed with this [Default: /whats-on] |
⚪ | RELEASE |
Release to report to Sentry [Default: None] |
⚪ | ENV |
Environment to report to Sentry [Default: None] |
⚪ | SENTRY_DSN |
URL for reporting uncaught exceptions [Default: None]. |
There are two deployment environments, demo and prod. Both environments are arranged in the same architecture, which is maintained here.
- The project is tested via CircleCI.
- If tests pass, the Lambda zip is built and pushed to AWS.
The demo environment is for staging work.
Any commit to the master
branch will trigger a demo deployment.
The prod environment is for versioned releases.
To release to prod create a release via GitHub.
The release format is v<Major>.<Minor>.<Fix>
.