|
| 1 | +# geoserver |
| 2 | +A simple Helm chart for GeoServer |
| 3 | + |
| 4 | + |
| 5 | +## TL;DR; |
| 6 | + |
| 7 | +```bash |
| 8 | +$ helm repo add ncsa https://opensource.ncsa.illinois.edu/charts/ |
| 9 | +$ helm install geoserver ncsa/geoserver |
| 10 | +``` |
| 11 | + |
| 12 | +## Prerequisites |
| 13 | + |
| 14 | +- Kubernetes 1.16+ |
| 15 | +- helm 3 |
| 16 | +- PV provisioner support in the underlying infrastructure |
| 17 | + |
| 18 | +## Installing the Chart |
| 19 | + |
| 20 | +To install the chart with the release name `my-release`: |
| 21 | + |
| 22 | +```bash |
| 23 | +$ helm install --name my-release ncsa/geoserver |
| 24 | +``` |
| 25 | + |
| 26 | +The command deploys GeoServer on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. |
| 27 | + |
| 28 | +> **Tip**: List all releases using `helm list` |
| 29 | +
|
| 30 | +## Uninstalling the Chart |
| 31 | + |
| 32 | +To uninstall/delete the `my-release` deployment: |
| 33 | + |
| 34 | +```bash |
| 35 | +$ helm delete my-release |
| 36 | +``` |
| 37 | + |
| 38 | +The command removes all the Kubernetes components associated with the chart and deletes the release. |
| 39 | + |
| 40 | +## Configuration |
| 41 | + |
| 42 | +Below are the supported configuration options that can be overridden or customized in `values.yaml`: |
| 43 | + |
| 44 | +| Key | Description | Default Value | |
| 45 | +| --- | --- |-------------------------------| |
| 46 | +| `persistence.accessModes` | The access mode with which to mount elasticsearch data | `ReadWriteOnce` | |
| 47 | +| `persistence.storageClass` | The storage class to use to provision the elasticsearch data PVC | (empty - use cluster default) | |
| 48 | +| `persistence.capacity` | The size of the PVC to provision for elasticsearch data | `10Gi` | |
| 49 | +| `persistence.existingClaim` | An existing claim to use | None | |
| 50 | +| `image.repository` | The Docker image repo/name to run | `docker.osgeo.org/geoserver` | |
| 51 | +| `image.tag` | The Docker image tag to run, leave blank to use app version | `""` | |
| 52 | +| `image.pullPolicy` | The Docker image pullPolicy to use when running | `IfNotPresent` | |
| 53 | +| `ingress.enabled` | Whether an ingress rule should be deployed for geoserver | `false` | |
| 54 | +| `ingress.host` | The hostname to use for the ingress rule | `geoserver.local` | |
| 55 | +| `resources` | [Resource limits](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) that should be applied to elasticsearch instances | None | |
| 56 | +| `nodeSelector` | [Node selector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) that should be applied to elasticsearch instances | None | |
| 57 | +| `tolerations` | [Tolerations](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) that should be applied to elasticsearch instances | None | |
| 58 | +| `affinity` | [Affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) that should be applied to elasticsearch instances | None | |
| 59 | + |
| 60 | +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, |
| 61 | + |
| 62 | +```bash |
| 63 | +$ helm install --name my-release \ |
| 64 | + --set image.tag=2.23.1 \ |
| 65 | + ncsa/geoserver |
| 66 | +``` |
| 67 | + |
| 68 | +The above command sets the geoserver image's tag to `2.23.1`. |
| 69 | + |
| 70 | +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, |
| 71 | + |
| 72 | +```bash |
| 73 | +$ helm install --name my-release -f values.yaml ncsa/geoserver |
| 74 | +``` |
| 75 | + |
| 76 | +> **Tip**: You can use the default [values.yaml](values.yaml) |
| 77 | +
|
| 78 | +## Persistence |
| 79 | + |
| 80 | +Geoserver can use a disk storage. |
| 81 | + |
| 82 | +### Existing PersistentVolumeClaims |
| 83 | + |
| 84 | +1. Create the PersistentVolume |
| 85 | +1. Create the PersistentVolumeClaim |
| 86 | +1. Install the chart |
| 87 | + |
| 88 | +```bash |
| 89 | +$ helm install --set persistence.existingClaim=PVC_NAME geoserver |
| 90 | +``` |
| 91 | + |
| 92 | +## ChangeLog |
| 93 | + |
| 94 | +### 0.1.0 |
| 95 | + |
| 96 | +- Initial release of helm chart |
0 commit comments