| title | Quick Start | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| description | Fast installation guide for eoAPI Kubernetes deployment | ||||||||||
| external_links |
|
- 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
./eoapi-cli test unit
The fastest way to get started is using our eoAPI CLI:
For local development with k3s/k3d:
./eoapi-cli cluster start
./eoapi-cli deployment runFor cloud deployment:
./eoapi-cli deployment runThis will automatically:
- Install the PostgreSQL operator
- Add the eoAPI helm repository
- Install the eoAPI helm chart
- 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.
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.8.6- 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 only - k3s has Traefik built-in):
minikube addons enable ingress- Optional: Load sample data:
./eoapi-cli ingest collections.json items.json