The required values to pass to helm install
or helm template
commands can be found by showing what is validated:
$ head -n 9 <eoapi-k8s-repo>/values.schema.json
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"required": [
"service",
"gitSha"
],
Most of the required fields have common-sense defaults.
The table below and the values.yaml
comments should explain what the options and defaults are:
Values Key | Description | Default | Choices |
---|---|---|---|
service.port |
the port that all vector/raster/stac services run on used in kind: Service and kind: Ingress |
8080 | your favorite port |
gitSha |
sha attached to a kind: Deployment key metadata.labels |
gitshaABC123 | your favorite sha |
Running helm install
from https://devseed.com/eoapi-k8s/ should spin up similar infrastructure in EKS or GKE:
In EKS or GKE you'll by default get:
- a HA PostgreSQL database deployment and service via Crunchdata's Postgresl Operator
- the same vector and raster data fixtures used for testing loaded into the DB
- a load balancer and nginx-compatible ingress with the following path rewrites:
- a
/stac
service forstac_fastapi.pgstac
- a
/raster
service fortitler.pgstac
- a
/vector
service fortipg.pgstac
- a
Here's a simplified high-level diagram to grok:
Values Key | Description | Default | Choices |
---|---|---|---|
autoscaling.type |
a simple example of a default metric (cpu ) and custom metric (requestRate ) to scale by. If selecting both the metric that results in the "highest amount of change" wins. See k8s documentation for more info |
requestRate | requestRate cpu both |
These are normal k8s autoscaling pass throughs. They are stablization windows in seconds to for scaling up or down to prevent flapping from happening. Read more about the options on the k8s documentation