Skip to content

Latest commit

 

History

History
90 lines (72 loc) · 2.37 KB

File metadata and controls

90 lines (72 loc) · 2.37 KB
title Quick Start
description Fast installation guide for eoAPI Kubernetes deployment
external_links
name url
eoapi-k8s Repository
name url
Helm Documentation

Quick Start

Prerequisites

  • helm
  • A Kubernetes cluster (local or cloud-based)
  • kubectl configured for your cluster (ensure KUBECONFIG environment variable is set to point to your cluster configuration file, or use kubectl config use-context <your-context> to set the active cluster)
  • helm unittest if contributing to the repository and running ./eoapi-cli test unit

Option 1: One-Command Installation

The fastest way to get started is using our eoAPI CLI:

For local development with k3s/k3d:

./eoapi-cli cluster start
./eoapi-cli deployment run

For cloud deployment:

./eoapi-cli deployment run

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

Warning

Some images do not provide a linux/arm64 compatible download (You may see image pull failures) which causes failures on M1 etc Macs, to get around this, you can pre-pull the image with:

docker pull --platform=linux/amd64 <image>
minikube image load <image>

You can then re-deploy the service and it will now use the local image.

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.8.6
  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 only - k3s has Traefik built-in):
minikube addons enable ingress
  1. Optional: Load sample data:
./eoapi-cli ingest collections.json items.json