eoAPI is a collection of REST APIs for Earth Observation data access and analysis. This repository provides a production-ready Kubernetes deployment solution with flexible database options, unified ingress configuration, and built-in monitoring.
- helm
- A Kubernetes cluster (local or cloud-based)
kubectl
configured for your cluster
The fastest way to get started is using our Makefile commands:
For local development with Minikube:
make minikube
For cloud deployment:
make deploy
This will automatically:
- Install the PostgreSQL operator
- Add the eoAPI helm repository
- Install the eoAPI helm chart
- Set up necessary namespaces and configurations
If you prefer more control over the installation process:
- Install the PostgreSQL operator:
helm upgrade --install \
--set disable_check_for_upgrades=true pgo \
oci://registry.developers.crunchydata.com/crunchydata/pgo \
--version 5.7.4
- Add the eoAPI helm repository:
helm repo add eoapi https://devseed.com/eoapi-k8s/
- Get your current git SHA:
export GITSHA=$(git rev-parse HEAD | cut -c1-10)
- Install eoAPI:
helm upgrade --install \
--namespace eoapi \
--create-namespace \
--set gitSha=$GITSHA \
eoapi devseed/eoapi
- Enable ingress (for Minikube):
minikube addons enable ingress
- Optional: Load sample data:
make ingest
For cloud-based deployments, refer to our detailed setup guides:
- Configuration Guide
- Data Management
- Autoscaling and Monitoring
- Health Checks
- Unified Ingress Configuration
We welcome contributions! See our contributing guide for details.
This project is licensed under the MIT License.