* some cleanup * results from mvn spotless:apply * fix contructor --> constructor * revert change to fix CdsHooksServletIT * revert change to charts README.md * bump chart version, required due to changes in README.md
80 lines
2.7 KiB
Go Template
80 lines
2.7 KiB
Go Template
# HAPI FHIR JPA Server Starter Helm Chart
|
|
|
|
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
|
|
This helm chart will help you install the HAPI FHIR JPA Server in a Kubernetes environment.
|
|
|
|
## Sample usage
|
|
|
|
```sh
|
|
helm repo add hapifhir https://hapifhir.github.io/hapi-fhir-jpaserver-starter/
|
|
helm install hapi-fhir-jpaserver hapifhir/hapi-fhir-jpaserver
|
|
```
|
|
|
|
{{ template "chart.requirementsSection" . }}
|
|
|
|
{{ template "chart.valuesSection" . }}
|
|
|
|
## Development
|
|
|
|
To update the Helm chart when a new version of the `hapiproject/hapi` image is released, [values.yaml](values.yaml) `image.tag` and the [Chart.yaml](Chart.yaml)'s
|
|
`version` and optionally the `appVersion` field need to be updated. Afterwards, re-generate the [README.md](README.md)
|
|
by running:
|
|
|
|
```sh
|
|
$ helm-docs
|
|
INFO[2021-11-20T12:38:04Z] Found Chart directories [charts/hapi-fhir-jpaserver]
|
|
INFO[2021-11-20T12:38:04Z] Generating README Documentation for chart /usr/src/app/charts/hapi-fhir-jpaserver
|
|
```
|
|
|
|
## Enable Distributed Tracing based on the OpenTelemetry Java Agent
|
|
|
|
The container image includes the [OpenTelemetry Java agent JAR](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
|
|
which can be used to enable distributed tracing. It can be configured entirely using environment variables,
|
|
see <https://opentelemetry.io/docs/instrumentation/java/automatic/agent-config/> for details.
|
|
|
|
Here's an example setup deploying [Jaeger](https://www.jaegertracing.io/) as a tracing backend:
|
|
|
|
```sh
|
|
# required by the Jaeger Operator
|
|
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
|
|
kubectl create namespace observability
|
|
kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.37.0/jaeger-operator.yaml -n observability
|
|
|
|
cat <<EOF | kubectl apply -n observability -f -
|
|
# simple, all-in-one Jaeger installation. Not suitable for production use.
|
|
apiVersion: jaegertracing.io/v1
|
|
kind: Jaeger
|
|
metadata:
|
|
name: simplest
|
|
EOF
|
|
```
|
|
|
|
Use this chart's `extraEnv` value to set the required environment variables:
|
|
|
|
```yaml
|
|
extraEnv:
|
|
- name: JAVA_TOOL_OPTIONS
|
|
value: "-javaagent:/app/opentelemetry-javaagent.jar"
|
|
- name: OTEL_METRICS_EXPORTER
|
|
value: "none"
|
|
- name: OTEL_LOGS_EXPORTER
|
|
value: "none"
|
|
- name: OTEL_TRACES_EXPORTER
|
|
value: "jaeger"
|
|
- name: OTEL_SERVICE_NAME
|
|
value: "hapi-fhir-jpaserver"
|
|
- name: OTEL_EXPORTER_JAEGER_ENDPOINT
|
|
value: "http://simplest-collector.observability.svc:14250"
|
|
```
|
|
|
|
Finally, you can open the Jaeger query UI by running:
|
|
|
|
```sh
|
|
kubectl port-forward -n observability service/simplest-query 16686:16686
|
|
```
|
|
|
|
and opening <http://localhost:16686/> in your browser.
|
|
|
|
{{ template "helm-docs.versionFooter" . }}
|