https://github.com/developmentseed/pearl-backend
PEARL (Planetary Computer Land Cover Mapping) Platform API and Infrastructure
https://github.com/developmentseed/pearl-backend
Last synced: 10 months ago
JSON representation
PEARL (Planetary Computer Land Cover Mapping) Platform API and Infrastructure
- Host: GitHub
- URL: https://github.com/developmentseed/pearl-backend
- Owner: developmentseed
- License: mit
- Created: 2022-02-18T08:51:57.000Z (about 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-03-19T20:06:31.000Z (about 2 years ago)
- Last Synced: 2024-06-11T18:39:20.311Z (almost 2 years ago)
- Language: JavaScript
- Size: 16.9 MB
- Stars: 55
- Watchers: 7
- Forks: 6
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
PEARL API & Infrastructure

PEARL is a landcover mapping platform that uses human in the loop machine learning approach. This repository contains the API and infrastructure to run the platform. The frontend is maintained at [pearl-frontend](https://github.com/developmentseed/pearl-frontend/).
## Overview
PEARL infrastructure uses Kubernetes to manage resources and provide on-demand GPU support. The following is a high-level architecture. A websocket router manages available GPU/CPU and allocates them to clients.

This repository contains code for the `api`, `gpu`, `socket` and `tiles` services in the [`services`](services/) directory. Code to deploy all the services and infrastructure on Azure can be found in the [`deployment`](deployment/) directory. We have also included terraform resource definitions in [`deployment/terraform`](deployment/terraform) and a Helm chart in [`deployment/helm`](deployment/helm/). The Helm chart is published separately at https://devseed.com/pearl-helm-chart and instructions for using the helm chart can be found [here](deployment/helm/pearl-helm/README.md).
The machine learning components [are documented here](docs/ml.md).
## Development
Initial development can be bootstrapped by running all of the services via docker-compose
```sh
docker-compose up --build -d
```
This script will ensure that you have a postgres database set up, and will configure and
start all necessary services locally for a fully functional dev environment
## API Documentation
API documentation can be found by opening the following location in your browser `file:///lulc-infra/api/doc/index.html`
or ideally, once your development environment has been started, API documentation can be found
by navigating to `http://localhost:2000/docs`.
## Deployment and CI
Notes on deploy process and CI integration can be found [here](docs/deploy.md).
You can also `helm` to deploy directly onto a Kubernetes cluster. Instructions can be found [here](deployment/helm/pearl-helm/).
Note: This has currently been tested using AKS on Azure, but should ideally work on any Kubernetes cluster with minimal changes.
## Debugging and Logs
Instructions for accessing the Grafana UI to inspect application logs can be found [here](docs/logs.md)
## LICENSE
[MIT](/LICENSE.md)