CrunchyData / pg_tileserv

A very thin PostGIS-only tile server in Go. Takes in HTTP tile requests, executes SQL, returns MVT tiles.
Apache License 2.0
822 stars 160 forks source link

helm chart? #207

Open driekus77 opened 4 months ago

driekus77 commented 4 months ago

I couldnot find a kubernetes helm chart for pg_tileserv so wrote one myself.

Is there already a helm chart that I overlooked? If not are you interested in a PR?

Thanks for pg_tileserv!

pramsey commented 4 months ago

I don't know what a helm chart is, so...?

driekus77 commented 4 months ago

More info at https://helm.sh/

Its easy to install and uninstall multiple kubernetes entities. Sort of a layer over kubernetes its own yaml.

driekus77 commented 4 months ago

Currently I have this setup:

.
├── Chart.yaml
├── install.sh
├── templates
│   ├── _helpers.tpl
│   ├── configmap.yaml
│   ├── ingress.yaml
│   ├── pods.yaml
│   ├── secrets.yaml
│   └── service.yaml
└── values.yaml

The install.sh is optional the rest is mandatory more or less.

pg_tileserv can be deployed using this command:

helm install  --create-namespace --namespace=tileserv  pgtileserv .

And an uninstall is done through this command:

helm uninstall --namespace=tileserv pgtileserv 

The values.yaml file contains all user specific settings like db password etc.

The pod.yaml uses the latest docker image of pg_tileserv.

driekus77 commented 4 months ago

Nicest thing is install can also be done remote. This means the Chart.yaml files need to be served somewhere.

This can be a public location independed of CrunchyData like:

Or you create a CrunchyData helm chart git repo that serves multi helm charts for e.g. pg_tileserv or pg_featureserv? Example: https://github.com/kartoza/charts/tree/develop/charts

Or you create a charts folder in your git repo per product.

driekus77 commented 4 months ago

In your postgresoperator repo I found kustomize files: https://www.kubecost.com/kubernetes-devops-tools/kustomize-vs-helm/

So helm can be used as alternative and/or add-on for kustomize...