-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into docs/ingestion-guide
- Loading branch information
Showing
4 changed files
with
145 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Makefile for eoapi-k8s | ||
|
||
# Variables | ||
HELM_REPO_URL=https://devseed.com/eoapi-k8s/ | ||
HELM_CHART_NAME=eoapi/eoapi | ||
PGO_CHART_VERSION=5.5.2 | ||
|
||
.PHONY: all deploy minikube help | ||
|
||
# Default target | ||
all: deploy | ||
|
||
deploy: | ||
@echo "Installing dependencies." | ||
@command -v helm >/dev/null 2>&1 || { echo "helm is required but not installed"; exit 1; } | ||
helm install --set disable_check_for_upgrades=true pgo oci://registry.developers.crunchydata.com/crunchydata/pgo --version $(PGO_CHART_VERSION) | ||
@echo "Adding eoAPI helm repository." | ||
@helm repo add eoapi $(HELM_REPO_URL) | ||
@echo "Installing eoAPI helm chart." | ||
@cd ./helm-chart && \ | ||
helm dependency build ./eoapi && \ | ||
helm install --namespace eoapi --create-namespace --set gitSha=$$(git rev-parse HEAD | cut -c1-10) eoapi ./eoapi | ||
|
||
minikube: | ||
@echo "Starting minikube." | ||
@command -v minikube >/dev/null 2>&1 || { echo "minikube is required but not installed"; exit 1; } | ||
minikube start | ||
# Deploy eoAPI via the regular helm install routine | ||
@make deploy | ||
minikube addons enable ingress | ||
@echo "eoAPI is now available at:" | ||
@minikube service ingress-nginx-controller -n ingress-nginx --url | head -n 1 | ||
|
||
help: | ||
@echo "Makefile commands:" | ||
@echo " make deploy - Install eoAPI on a cluster kubectl is connected to." | ||
@echo " make minikube - Install eoAPI on minikube." | ||
@echo " make help - Show this help message." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Manual Helm Install | ||
|
||
0. `eoapi-k8s` depends on the [Crunchydata Postgresql Operator](https://access.crunchydata.com/documentation/postgres-operator/latest/installation/helm). Install that first: | ||
|
||
```bash | ||
$ helm install --set disable_check_for_upgrades=true pgo oci://registry.developers.crunchydata.com/crunchydata/pgo --version 5.5.2 | ||
``` | ||
|
||
1. Add the eoapi repo from https://devseed.com/eoapi-k8s/: | ||
|
||
```bash | ||
$ helm repo add eoapi https://devseed.com/eoapi-k8s/ | ||
``` | ||
|
||
2. List out the eoapi chart versions | ||
|
||
```bash | ||
$ helm search repo eoapi --versions | ||
NAME CHART VERSION APP VERSION DESCRIPTION | ||
eoapi/eoapi 0.2.14 0.3.1 Create a full Earth Observation API with Metada... | ||
eoapi/eoapi 0.1.13 0.2.11 Create a full Earth Observation API with Metada... | ||
``` | ||
|
||
3. Optionally override keys/values in the default `values.yaml` with a custom `config.yaml` like below: | ||
|
||
```bash | ||
$ cat config.yaml | ||
vector: | ||
enable: false | ||
pgstacBootstrap: | ||
settings: | ||
envVars: | ||
LOAD_FIXTURES: "0" | ||
RUN_FOREVER: "1" | ||
``` | ||
|
||
4. Then `helm install` with those `config.yaml` values: | ||
|
||
```bash | ||
$ helm install -n eoapi --create-namespace eoapi eoapi/eoapi --version 0.1.2 -f config.yaml | ||
``` | ||
|
||
5. or check out this repo and `helm install` from this repo's `helm-chart/` folder: | ||
```bash | ||
###################################################### | ||
# create os environment variables for required secrets | ||
###################################################### | ||
$ export GITSHA=$(git rev-parse HEAD | cut -c1-10) | ||
$ cd ./helm-chart | ||
$ helm install \ | ||
--namespace eoapi \ | ||
--create-namespace \ | ||
--set gitSha=$GITSHA \ | ||
eoapi \ | ||
./eoapi | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
Q: eoapi-k8s uses the postgres-operator from crunchydata. Is there a reason why you have chosen this solution? There is also a postgres-operator from Zalando. What are the benefits using an operator instead of a postgres helm chart? | ||
|
||
A: We made the choice to use Crunchydata's operator over Zalando's operator and cloudnative-pg's operator (they all install operators even if using the helm install option) after considering the following things: | ||
|
||
1. quality of the documentation | ||
2. backlog of issues | ||
3. knowing that a lot of core PG contributors work at Crunchydata and hearing about some of the cutting edge things they are doing | ||
4. talking with other folks in our community | ||
|
||
That said, what we want out of an operator "most" of the above options share: | ||
|
||
1. backups | ||
2. some kind of connection pooling option set up for us | ||
3. good solid docs and choices about how upgrades work | ||
|
||
See also https://github.com/developmentseed/eoapi-k8s/issues/132 |