102 lines
24 KiB
Markdown
102 lines
24 KiB
Markdown
# hapi-fhir-jpaserver
|
|
|
|
[HAPI FHIR JPA Server](https://github.com/hapifhir/hapi-fhir-jpaserver-starter) - Helm chart for deploying the HAPI FHIR JPA starter server
|
|
|
|
## TL;DR;
|
|
|
|
```console
|
|
$ helm repo add hapifhir https://hapifhir.github.io/hapi-fhir-jpaserver-starter
|
|
$ helm repo update
|
|
$ helm install hapi-fhir-jpaserver hapifhir/hapi-fhir-jpaserver -n fhir
|
|
```
|
|
|
|
## Introduction
|
|
|
|
This chart deploys the HAPI FHIR JPA starter server. on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
|
|
## Prerequisites
|
|
|
|
- Kubernetes v1.18+
|
|
- Helm v3
|
|
|
|
## Installing the Chart
|
|
|
|
To install the chart with the release name `hapi-fhir-jpaserver`:
|
|
|
|
```console
|
|
$ helm install hapi-fhir-jpaserver hapifhir/hapi-fhir-jpaserver -n fhir
|
|
```
|
|
|
|
The command deploys the HAPI FHIR JPA starter server. on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
|
|
|
|
> **Tip**: List all releases using `helm list`
|
|
|
|
## Uninstalling the Chart
|
|
|
|
To uninstall/delete the `hapi-fhir-jpaserver`:
|
|
|
|
```console
|
|
$ helm delete hapi-fhir-jpaserver -n fhir
|
|
```
|
|
|
|
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
|
|
|
## Configuration
|
|
|
|
The following table lists the configurable parameters of the `hapi-fhir-jpaserver` chart and their default values.
|
|
|
|
| Parameter | Description | Default |
|
|
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
|
| replicaCount | | `1` |
|
|
| imagePullSecrets | image pull secrets | `[]` |
|
|
| nameOverride | | `""` |
|
|
| fullnameOverride | | `""` |
|
|
| deploymentAnnotations | annotations applied to the server deployment | `{}` |
|
|
| podAnnotations | annotations applied to the server pod | `{}` |
|
|
| podSecurityContext | PodSecurityContext applied to the pod | `{}` |
|
|
| service.type | | `ClusterIP |
|
|
| | | # service port` |
|
|
| service.port | | `8080` |
|
|
| ingress.enabled | | `false |
|
|
| | | # provide any additional annotations which may be required. Evaluated as a template.` |
|
|
| ingress.annotations | | `{}` |
|
|
| ingress.tls | | `[]` |
|
|
| resources | resource requests and limits | `{}` |
|
|
| nodeSelector | choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi node labels for pods assignment see: <https://kubernetes.io/docs/user-guide/node-selection/> | `{}` |
|
|
| tolerations | tolerations for pods assignment see: <https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/> | `[]` |
|
|
| affinity | affinity for pods assignment see: <https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity> | `{}` |
|
|
| postgresql.enabled | if set to `false`, the values under `webApi.db` are used | `true |
|
|
| | | # update the default Postgres version to 13.2` |
|
|
| postgresql.image | | `{"tag":"13.2.0"}` |
|
|
| postgresql.postgresqlDatabase | see: <https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md#creating-a-database-on-first-run> | `"fhir"` |
|
|
| postgresql.existingSecret | The secret has to contain the keys `postgresql-password` which is the password for `postgresqlUsername` when it is different of `postgres`, `postgresql-postgres-password` which will override `postgresqlPassword`, `postgresql-replication-password` which will override `replication.password` and `postgresql-ldap-password` which will be sed to authenticate on LDAP. The value is evaluated as a template. | `""` |
|
|
| postgresql.replication.enabled | | `false |
|
|
| | | # number of read replicas` |
|
|
| postgresql.replication.readReplicas | | `2` |
|
|
| postgresql.replication.synchronousCommit | | `"on"` |
|
|
| postgresql.replication.numSynchronousReplicas | | `1` |
|
|
| postgresql.metrics.enabled | | `false` |
|
|
| postgresql.metrics.serviceMonitor.enabled | | `false |
|
|
| | | # the labels used for Prometheus autodiscover, e.g. could be `release: prometheus`` |
|
|
| postgresql.metrics.serviceMonitor.additionalLabels | | `{}` |
|
|
| externalDatabase.host | | `localhost |
|
|
| | | # non-root Username for FHIR Database` |
|
|
| externalDatabase.user | | `fhir` |
|
|
| externalDatabase.password | | `""` |
|
|
| externalDatabase.existingSecret | | `""` |
|
|
| externalDatabase.database | | `fhir` |
|
|
| externalDatabase.port | | `5432` |
|
|
|
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example:
|
|
|
|
```console
|
|
$ helm install hapi-fhir-jpaserver hapifhir/hapi-fhir-jpaserver -n fhir --set replicaCount=1
|
|
```
|
|
|
|
Alternatively, a YAML file that specifies the values for the parameters can be provided while
|
|
installing the chart. For example:
|
|
|
|
```console
|
|
$ helm install hapi-fhir-jpaserver hapifhir/hapi-fhir-jpaserver -n fhir --values values.yaml
|
|
```
|