Quick Start¶
Prerequisites¶
- helm
- A Kubernetes cluster (local or cloud-based)
kubectlconfigured for your cluster (ensureKUBECONFIGenvironment variable is set to point to your cluster configuration file, or usekubectl config use-context <your-context>to set the active cluster)- helm unittest if contributing to the repository and running
make tests
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
[!WARNING] Some images do not provide a
linux/arm64compatible 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:You can then re-deploy the service and it will now use the local image.docker pull --platform=linux/amd64 <image> minikube image load <image>
Option 2: Step-by-Step Installation¶
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
Post-Installation¶
-
Enable ingress (for Minikube only - k3s has Traefik built-in):
minikube addons enable ingress -
Optional: Load sample data:
make ingest