Zero-configuration, read-only JSON API in front of an Airtable base.
You can compile Hurricane into a single executable binary with
go build cmd/hurricane.go -o ./hurricaneRun Hurricane with ./hurricane. Hurricane takes no command line arguments, but reads a couple of configuration strings from the environment:
HURRICANE_BASE_ID Airtable Base ID
HURRICANE_API_KEY Airtable API KEY
(optional)
HURRICANE_PORT The network port on which Hurricane should listen
For a given base and each table, Hurricane exposes a simple API:
List all records in the table / default view as a JSON array.
Retrieve a specific record as a JSON object.
Retrieve all records in a view as a JSON array.
Airtable's API is rate-limited per API key, so Hurricane by default will cache queries to the Airtable API for 60 seconds. You can tweak the Cache instance in the main file to change this.