This repository is the microservice that implements the GFW adapter
funcionality, which is exposed on the /gfw
endpoint.
The GFW Adapter microservice is built using Node.js, and can be executed either natively or using Docker, each of which has its own set of requirements.
Native execution requires:
Execution using Docker requires:
Dependencies on other Microservices:
Start by cloning the repository from github to your execution environment
git clone https://github.com/resource-watch/adapter-gfw.git && cd adapter-gfw
After that, follow one of the instructions below:
1 - Set up your environment variables. See dev.env.sample
for a list of variables you should set, which are described in detail in this section of the documentation. Native execution will NOT load the dev.env
file content, so you need to use another way to define those values. One option is to export them from dev.env
:
export $(xargs < dev.env)
2 - Install node dependencies using yarn:
yarn
3 - Start the application server:
yarn start
1 - Create and complete your dev.env
file with your configuration. The meaning of the variables is available in this [section](#Environment variables). You can find an example dev.env.sample
file in the project root.
2 - Execute the following command to run GFW Adapter:
./gfw_adapter.sh develop
There are two ways to run the included tests:
Follow the instruction above for setting up the runtime environment for native execution, then run:
yarn test
Follow the instruction above for setting up the runtime environment for Docker execution, then run:
./gfw_adapter.sh test
- PORT: number => TCP port in which the service will run.
- NODE_PATH: path => relative path to the source code. Should be
app/src
. - MICROSERVICE_TOKEN: string => Admin role token to use with the authorization microservice.
- GATEWAY_URL: URL => AWS Gateway URL in cloud deployment.
- GFW_API_KEY => API key to access GFW DATA API.
- FASTLY_ENABLED: boolean => Whether to enable Fastly caching.
You can optionally set other variables, see this file for an extended list.