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
- Upgrade Guide
Important Notice: If you're upgrading from a version prior to 0.7.0, please read the upgrade guide for important database permission changes.
We welcome contributions! See our contributing guide for details.
This project is licensed under the MIT License.