Skip to content

developmentseed/eoapi-k8s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eoapi-k8s

eoapi-k8s

Test License Artifact Hub

What is eoAPI?

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.

Quick Start

Prerequisites

  • helm
  • A Kubernetes cluster (local or cloud-based)
  • kubectl configured for your cluster

Option 1: One-Command Installation

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:

  1. Install the PostgreSQL operator
  2. Add the eoAPI helm repository
  3. Install the eoAPI helm chart
  4. Set up necessary namespaces and configurations

Option 2: Step-by-Step Installation

If you prefer more control over the installation process:

  1. 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
  1. Add the eoAPI helm repository:
helm repo add eoapi https://devseed.com/eoapi-k8s/
  1. Get your current git SHA:
export GITSHA=$(git rev-parse HEAD | cut -c1-10)
  1. Install eoAPI:
helm upgrade --install \
  --namespace eoapi \
  --create-namespace \
  --set gitSha=$GITSHA \
  eoapi devseed/eoapi

Post-Installation

  1. Enable ingress (for Minikube):
minikube addons enable ingress
  1. Optional: Load sample data:
make ingest

Cloud Provider Setup

For cloud-based deployments, refer to our detailed setup guides:

Documentation

Important Notice: If you're upgrading from a version prior to 0.7.0, please read the upgrade guide for important database permission changes.

Contributing

We welcome contributions! See our contributing guide for details.

License

This project is licensed under the MIT License.