An app to expose select content to our 3rd-party partners.
- Clone this repo
cd
into the repo- Run
npm i
The app, and all of its dependencies will now have been installed.
To run the app, config the environment values (see below), run npm run start
from your CLI. The app will now be accessible at localhost:3000, where 3000 is the default which can be overridden by specifying the environment value PORT.
This app performs a number of functions. It
- Surfaces FT content to 3rd-party partners (that are otherwise inaccessible) through an RSS feed.
- Allows FT staff members to control which articles are visible
- Checks for, and downloads, any content exposed in an RSS feed that our partners have created for us.
Aspects of Ingestion can be configured with environment variables. These can be included using a dotenv file, or as normal system variables.
Note: A .env file is not required to run the app, but some of the variables are.
An FT Content API key to enable access to FT Articles. If you don't have an API key, you should be able to get one by talking to someone on the UPP team.
This is the url of the server that the app is running on. This address is used when generating the links for the RSS feed that is exposed to the 3rd partys.
An AWS access key ID with permissions for S3 and DynamoDB
The key for the ID stored as AWS_ACCESS_KEY_ID
The name of the DynamoDB database where the UUIDs of exposed articles are stored
The name of the DynamoDB database where the logs of actions and access to Ingestion and its content is stored
The RSS feed can be restricted with basic authentication. This value is the username that a user will have to enter to access the service.
This is the password that a user will have to enter (along with the username) to access the RSS feed, if basic authentication is enabled
A comma-seperated list of values that determine which logs to output and which to not.
If 'dev', Ingestion will not force HTTPS, otherwise all HTTP connections will be switched over to HTTPS
The URL for the RSS feed that exposes audio content we can consume from our partners
The name of the AWS S3 bucket that audio files acquired from our partners will be saved to.
The file format of the 3rd party audio files that we absorb
The region of the AWS services that we're using. Defaults to 'us-west-2' if no option is passed.
The DSN for Sentry (for alerts when things go wrong)
The url of the Admin page listing all the selected pages.
CSV of recipients' email addresses
the permitted subdomain for the 'from' email, ties in with auth token
=audio-article-ingestion
=Audio Article Ingestion