simplified helm chart
This commit is contained in:
committed by
Jens Kristian Villadsen
parent
79fddf8309
commit
eaffce0d42
@@ -1,101 +1,74 @@
|
||||
# hapi-fhir-jpaserver
|
||||
# HAPI FHIR JPA Server Starter Helm Chart
|
||||
|
||||
[HAPI FHIR JPA Server](https://github.com/hapifhir/hapi-fhir-jpaserver-starter) - Helm chart for deploying the HAPI FHIR JPA starter server
|
||||
  
|
||||
|
||||
## TL;DR;
|
||||
This helm chart will help you install the HAPI FHIR JPA Server in a Kubernetes environment.
|
||||
|
||||
```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
|
||||
## Sample usage
|
||||
|
||||
```sh
|
||||
helm repo add hapifhir https://hapifhir.github.io/hapi-fhir-jpaserver-starter/
|
||||
helm install --render-subchart-notes hapi-fhir-jpaserver hapifhir/hapi-fhir-jpaserver
|
||||
```
|
||||
|
||||
## Introduction
|
||||
## Values
|
||||
|
||||
This chart deploys the HAPI FHIR JPA starter server. on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| affinity | object | `{}` | pod affinity |
|
||||
| deploymentAnnotations | object | `{}` | annotations applied to the server deployment |
|
||||
| externalDatabase.database | string | `"fhir"` | database name |
|
||||
| externalDatabase.existingSecret | string | `""` | name of an existing secret resource containing the DB password in the `existingSecretKey` key |
|
||||
| externalDatabase.existingSecretKey | string | `"postgresql-password"` | name of the key inside the `existingSecret` |
|
||||
| externalDatabase.host | string | `"localhost"` | external database host used with `postgresql.enabled=false` |
|
||||
| externalDatabase.password | string | `""` | database password |
|
||||
| externalDatabase.port | int | `5432` | database port number |
|
||||
| externalDatabase.user | string | `"fhir"` | username for the external database |
|
||||
| fullnameOverride | string | `""` | override the chart fullname |
|
||||
| image.flavor | string | `"distroless"` | the flavor or variant of the image to use. appended to the image tag by `-`. |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.registry | string | `"docker.io"` | |
|
||||
| image.repository | string | `"hapiproject/hapi"` | |
|
||||
| image.tag | string | `""` | defaults to `Chart.appVersion` |
|
||||
| imagePullSecrets | list | `[]` | image pull secrets to use when pulling the image |
|
||||
| ingress.annotations | object | `{}` | provide any additional annotations which may be required. Evaluated as a template. |
|
||||
| ingress.enabled | bool | `false` | whether to create an Ingress to expose the FHIR server HTTP endpoint |
|
||||
| ingress.hosts[0].host | string | `"fhir-server.127.0.0.1.nip.io"` | |
|
||||
| ingress.hosts[0].pathType | string | `"ImplementationSpecific"` | |
|
||||
| ingress.hosts[0].paths[0] | string | `"/"` | |
|
||||
| ingress.tls | list | `[]` | ingress TLS config |
|
||||
| nameOverride | string | `""` | override the chart name |
|
||||
| networkPolicy.allowedFrom | list | `[]` | Additional allowed NetworkPolicyPeer specs Evaluated as a template so you could do: Example: allowedFrom: - podSelector: matchLabels: app.kubernetes.io/name: {{ $.Release.Name }} |
|
||||
| networkPolicy.enabled | bool | `false` | enable NetworkPolicy |
|
||||
| networkPolicy.explicitNamespacesSelector | object | `{}` | a Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed |
|
||||
| nodeSelector | object | `{}` | node selector for the pod |
|
||||
| podAnnotations | object | `{}` | annotations applied to the server pod |
|
||||
| podSecurityContext | object | `{}` | pod security context |
|
||||
| postgresql.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | |
|
||||
| postgresql.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | |
|
||||
| postgresql.enabled | bool | `true` | enable an included PostgreSQL DB. see <https://github.com/bitnami/charts/tree/master/bitnami/postgresql> for details if set to `false`, the values under `externalDatabase` are used |
|
||||
| postgresql.existingSecret | string | `""` | Name of existing secret to use for PostgreSQL passwords. 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.postgresqlDatabase | string | `"fhir"` | name of the database to create see: <https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md#creating-a-database-on-first-run> |
|
||||
| readinessProbe.failureThreshold | int | `5` | |
|
||||
| readinessProbe.initialDelaySeconds | int | `30` | |
|
||||
| readinessProbe.periodSeconds | int | `20` | |
|
||||
| readinessProbe.successThreshold | int | `1` | |
|
||||
| readinessProbe.timeoutSeconds | int | `20` | |
|
||||
| replicaCount | int | `1` | number of replicas to deploy |
|
||||
| resources | object | `{}` | configure the FHIR server's resource requests and limits |
|
||||
| securityContext.allowPrivilegeEscalation | bool | `false` | |
|
||||
| securityContext.capabilities.drop[0] | string | `"ALL"` | |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `true` | |
|
||||
| securityContext.runAsNonRoot | bool | `true` | |
|
||||
| securityContext.runAsUser | int | `65532` | |
|
||||
| service.port | int | `8080` | |
|
||||
| service.type | string | `"ClusterIP"` | |
|
||||
| startupProbe.failureThreshold | int | `10` | |
|
||||
| startupProbe.initialDelaySeconds | int | `60` | |
|
||||
| startupProbe.periodSeconds | int | `30` | |
|
||||
| startupProbe.successThreshold | int | `1` | |
|
||||
| startupProbe.timeoutSeconds | int | `30` | |
|
||||
| tolerations | list | `[]` | pod tolerations |
|
||||
|
||||
## 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
|
||||
```
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
||||
|
||||
Reference in New Issue
Block a user