Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync 6.2.2 #41

Merged
merged 233 commits into from
Jan 18, 2023
Merged
Show file tree
Hide file tree
Changes from 231 commits
Commits
Show all changes
233 commits
Select commit Hold shift + click to select a range
395a87e
Bump dep version
tadgh Aug 27, 2021
5038b5b
Remove javamail and replace with simple-java-mail
tadgh Aug 27, 2021
6e876c1
WIP
tadgh Aug 27, 2021
a8a98c3
Remove print
tadgh Aug 28, 2021
e263646
Remove bean override
tadgh Aug 28, 2021
6e2836b
Bump version
tadgh Sep 7, 2021
f3ea680
Add broken test
tadgh Sep 9, 2021
e41c186
Update for new style of container bean
tadgh Sep 9, 2021
370d68a
Bump for new version
tadgh Sep 16, 2021
ac75421
Update to 5.6.0-PRE7_NIH-SNAPSHOT and activate advanced index
michaelabuckley Oct 5, 2021
3272b8c
Disable default flyway processing
michaelabuckley Oct 5, 2021
097db16
Add local_base_urls configuration to feed DaoConfig.setTreatBaseUrlsA…
michaelabuckley Oct 7, 2021
ea3f10e
Added OpenAPI / Swagger option
jkiddo Nov 10, 2021
16559ea
Upgraded to 5.6.0
jkiddo Nov 18, 2021
9645087
Bumped version of Spring Boot in order to fix same issue as https://g…
jkiddo Nov 18, 2021
a58ef1c
Merge pull request #291 from hapifhir/5.6.0-upgrade
jkiddo Nov 18, 2021
0203a36
Update application.yaml
jkiddo Nov 20, 2021
e39d84e
documented use of Values.extraEnv
chgl Nov 20, 2021
304f779
added options for specifying a PodDisruptionBudget
chgl Nov 22, 2021
8ce44c2
simplified chart release workflow
chgl Nov 22, 2021
6092200
Support HTTPS
Nov 25, 2021
ff8302a
Use default application.yaml
Nov 25, 2021
e077091
registering ValueSetOperationProvider
ashaban Dec 1, 2021
2512616
Merge branch 'master' into nih-testing
michaelabuckley Dec 9, 2021
8c6a1a7
Upgrade to 5.7.0-PRE4-SNAPSHOT for testing
michaelabuckley Dec 9, 2021
bfa6ed1
Share elasticsearch configuration
michaelabuckley Dec 9, 2021
18cf0fd
Merge pull request #295 from ashaban/master
jkiddo Dec 11, 2021
7ece4c3
Merge pull request #294 from ZuSe/https-support-for-es
jkiddo Dec 11, 2021
c89b0d4
Merge pull request #293 from chgl/updated-helm-chart
jkiddo Dec 11, 2021
8568132
Fixed compile issues
jkiddo Dec 11, 2021
21f5d1d
Fix misconfiguration
michaelabuckley Dec 16, 2021
42e3e78
Bump to 5.7.0-PRE8-SNAPSHOT
michaelabuckley Dec 17, 2021
22e0e1e
Typo fix in README
vadi2 Jan 3, 2022
528d2bc
Add configuration flag to enable storing of resources in lucene index…
jaison-b Jan 5, 2022
6dd3414
Merge pull request #301 from vadi2/patch-1
jkiddo Jan 8, 2022
5312f78
Add ES native aggregation builder for lastN
Jan 24, 2022
d2984d2
Revert "Add ES native aggregation builder for lastN"
Jan 24, 2022
0f13327
bump version
tadgh Jan 27, 2022
bbd9428
Update for 5.7.x changes
tadgh Jan 27, 2022
24ad411
Fix h2 dialect, replace mail dep
tadgh Jan 27, 2022
abf21f8
Merge commit '528d2bc087ae2f5bf49b2fb38d17dba134feda63'
jkiddo Jan 29, 2022
4952c00
Bump postgresql from 42.2.23 to 42.2.25
dependabot[bot] Feb 2, 2022
4914828
Merge pull request #309 from hapifhir/dependabot/maven/org.postgresql…
patrick-werner Feb 2, 2022
eac87fc
bump Hapi PRE version
michaelabuckley Feb 2, 2022
56f4332
Bump to Hapi 6.0-SNAPSHOT and register the ValueSet provider.
michaelabuckley Feb 3, 2022
2860a42
Merge remote-tracking branch 'origin/nih-testing' into nih-testing
Feb 10, 2022
e45ba6c
Version bump to 5.7.0 and a few other components now draw the version…
jkiddo Feb 17, 2022
3fd8803
Update application.yaml
jkiddo Feb 18, 2022
fa8999b
bump to real version
tadgh Feb 18, 2022
a6abfb9
Merge branch 'master' into rel_5_7
tadgh Feb 18, 2022
deefd59
Merge pull request #316 from hapifhir/rel_5_7
tadgh Feb 21, 2022
94f47f4
Bump version
tadgh Feb 22, 2022
0e4926e
Remove search coord thread pool
tadgh Feb 22, 2022
1a52897
Added instructions about removing Hibernate dialect
MacL3an Feb 22, 2022
28e86bd
Bump HAPI-FHIR version
Feb 23, 2022
f2ba86d
Move to newlines
tadgh Feb 23, 2022
810b090
fix to work with latest hapi-fhir
fil512 Feb 23, 2022
31ed166
Merge branch 'nih-testing' into rel_6_0_0
michaelabuckley Feb 28, 2022
24a20a7
Feature/update docker support (#319)
jkiddo Mar 2, 2022
7db1510
add dao_scheduling_enabled configuration property (#324)
jschneid-nmdp Mar 4, 2022
40d7b9c
added reindexProvider to Config (#326)
patrick-werner Mar 7, 2022
0483db9
Update application.yaml
jkiddo Mar 8, 2022
929a353
Update application.yaml
jkiddo Mar 8, 2022
146b9f6
Bump hapi-fhir version to 'PRE5' (#329)
jaison-b Mar 9, 2022
aeef4b1
Add actuator
jkiddo Mar 20, 2022
403b875
Bump to PRE8
michaelabuckley Mar 23, 2022
da319e8
disable springboot actuator endpoints other than 'health' for securit…
XcrigX Mar 23, 2022
49401c0
Bump to PRE9
Mar 29, 2022
6b3f57c
Update application.yaml (#345)
jkiddo Apr 7, 2022
cdda71b
add support for ms sql server (#347)
XcrigX Apr 9, 2022
bb21ccf
Fix comments in Demo that lead to 404 (#348)
dotasek Apr 11, 2022
4bed69f
updated helm chart to use v5.7.0 and latest PostgreSQL sub-chart (#346)
chgl Apr 11, 2022
bf51c22
Update application.yaml
jkiddo Apr 11, 2022
21165cc
Merge pull request #337 from hapifhir/feature/spring-boot-actuator
patrick-werner Apr 13, 2022
ae724f4
Bump to PRE10
Apr 13, 2022
c607a98
Updated to HAPI FHIR version 5.7.2 (#349)
chgl Apr 15, 2022
f1e18d2
Revert accidental default activation of experimental lucene indexing
michaelabuckley Apr 20, 2022
c8da589
Add disclaimer for advanced_lucene_indexing
patrick-werner Apr 20, 2022
b589542
Merge pull request #352 from hapifhir/mb-turn-off-lucene
michaelabuckley Apr 20, 2022
3a880ee
Merge pull request #353 from hapifhir/advanced-lucene-disclaimer
michaelabuckley Apr 20, 2022
51cf27a
Merge pull request #321 from MacL3an/patch-3
patrick-werner Apr 20, 2022
f736b6d
Bump to hapi PRE11
michaelabuckley Apr 29, 2022
fdfa6fd
Expose Prometheus metrics (#355)
chgl May 1, 2022
91e4105
Add: of-type modifier option in application.yaml (#363)
janol77 May 6, 2022
244113b
Fix applying supported_resource_types option with list that already i…
dennisverspuij May 9, 2022
cd0b8d7
Bump pom and minimum java version
tadgh May 16, 2022
ffd0cb1
Bump ES version
tadgh May 16, 2022
87585ec
hibernate search application properties updates.
May 16, 2022
12ea07b
make lastN test pass
tadgh May 16, 2022
2a71578
Merge branch 'master' into rel_6_0_0_mergeback
tadgh May 19, 2022
5942823
Remove value set provider as it causes a boot failure without lucene
tadgh May 19, 2022
af84261
Fix reindex provider
tadgh May 19, 2022
d4bc6fe
Bump java version for test
tadgh May 19, 2022
7cfbac8
Merge pull request #372 from hapifhir/rel_6_0_0_mergeback
tadgh May 19, 2022
6ad499c
Bump to pre-01
tadgh May 19, 2022
e5b0fc7
fix build
fil512 May 20, 2022
8ac32dd
Merge pull request #373 from hapifhir/20200520-test-failure
tadgh May 20, 2022
4dacf6a
Re-add valuesetoperation provider
tadgh May 21, 2022
f39393c
Disable lucene by default
tadgh May 21, 2022
d660dc1
Re-add valueset operation provider
tadgh May 21, 2022
9882a1c
adding smoke test files
markiantorno May 24, 2022
067c7f1
adding base documentation
markiantorno May 24, 2022
8d6247b
wip
markiantorno May 24, 2022
b71880e
Update src/test/smoketest/SMOKE_TEST.md
markiantorno May 25, 2022
788015f
Update src/test/smoketest/SMOKE_TEST.md
markiantorno May 25, 2022
e9ff226
Update src/test/smoketest/SMOKE_TEST.md
markiantorno May 25, 2022
73d7ee1
bumping to non-snapshot version (#377)
markiantorno May 26, 2022
2daf365
Merge pull request #376 from hapifhir/smoke_tests
markiantorno May 29, 2022
67caa88
updated helm chart to use latest v6.0.1 version of the image (#382)
chgl Jun 4, 2022
41ba07a
add BinaryAccessProvider to BaseJpaRestfulServer
ibrohimislam Jun 17, 2022
a026b1f
Update src/main/java/ca/uhn/fhir/jpa/starter/BaseJpaRestfulServer.java
ibrohimislam Jun 23, 2022
aa56061
Merge pull request #386 from ehealth-co-id/fix-binary
KevinDougan Jun 27, 2022
d6b5bc3
Applying fix from upstream for h2 Binaries
patrick-werner Jul 4, 2022
82d1b35
Merge pull request #396 from hapifhir/patrick-werner-fix-h2
patrick-werner Jul 4, 2022
bea4d47
removed wrong and duplicated config entry
patrick-werner Jul 4, 2022
8a5d2f8
Merge pull request #397 from hapifhir/patrick-werner-remove-config-du…
patrick-werner Jul 4, 2022
cd8b06b
Added OpenTelemetry Java Agent JAR to container image (#391)
chgl Jul 4, 2022
6ad2989
changes to pom.xml to enable publishing
markiantorno Jul 5, 2022
014dd14
Merge pull request #398 from hapifhir/oss_publishing_update
markiantorno Jul 5, 2022
c9dd605
fixed directory of the .war in tomcat-based image
chgl Jul 7, 2022
5c102f7
Merge pull request #400 from chgl/fixed-tomcat-wrong-war-dir
KevinDougan Jul 12, 2022
d148f45
bulk data instrumentation included
amuslim-fn Aug 9, 2022
c617f4e
bulk data instrumentation turned off by default
amuslim-fn Aug 9, 2022
427a147
Merge pull request #410 from amuslim-fn/master
KevinDougan Aug 10, 2022
1753272
updated opentelemetry-java-instrumentation JAR to 1.16.0
chgl Aug 14, 2022
4978f32
Merge pull request #411 from chgl/patch-1
KevinDougan Aug 15, 2022
ee74116
Better support for ARM
jkiddo Aug 18, 2022
956cfb1
Updated Otel Java agent to 1.17.0
chgl Aug 22, 2022
d059954
Updated hapi-fhir to 6.1.0
chgl Aug 22, 2022
ac5364c
Merge pull request #413 from hapifhir/jkiddo-patch-1
patrick-werner Aug 23, 2022
001bc9c
Merge pull request #415 from chgl/updated-to-hapi-6.1.0
markiantorno Aug 23, 2022
68e64f2
Minor Helm chart dependency updates and security improvements
chgl Aug 25, 2022
4790c43
Don't run maven CI on changes to the helm chart
chgl Aug 25, 2022
bdc621e
updated helm chart to use version 6.1.0 of the image
chgl Aug 25, 2022
c5e460d
added appProperties.getInline_resource_storage_below_size() (#420)
patrick-werner Sep 3, 2022
d660d5f
Feat/restructuring (#422)
jkiddo Sep 10, 2022
43d50a0
Extract IG loading (#426)
jkiddo Sep 13, 2022
38f37e4
added back lost config entry: allowed_bundle_types (#427)
patrick-werner Sep 15, 2022
5c1f99b
Bump snakeyaml from 1.30 to 1.31
dependabot[bot] Sep 27, 2022
cd1a2e1
Merge pull request #432 from hapifhir/dependabot/maven/org.yaml-snake…
KevinDougan Sep 27, 2022
3d03cd0
fix: configuration of cors
jkiddo Sep 28, 2022
f3b9ffe
Merge pull request #434 from jkiddo/feat/fix-cors
KevinDougan Sep 30, 2022
531d255
Proper close DB connection after dialect was resolved (#435)
Thopap Oct 1, 2022
7a72c86
removed duplicated and wrong subscription code (#440)
patrick-werner Oct 6, 2022
a95c40d
fixed SubscriptionDebugLogInterceptor adding logic
patrick-werner Oct 6, 2022
d61c8a5
switch to postgres db (#444)
rti Oct 11, 2022
a1e2ca3
revering to H2 (#449)
jkiddo Oct 27, 2022
f8d749a
Tracking Hapi 6.2-PRE releases (#408)
jmarchionatto Nov 12, 2022
64aeb9b
Added hibernate.dialect for Postgress to Readme (#451)
Kai-W Nov 12, 2022
2e1f5f5
fixes for support of R4B / 6.2.0 (#455)
jkiddo Nov 12, 2022
4fb2558
upping hapi version to 6.2.1
markiantorno Nov 17, 2022
daea391
Merge pull request #457 from hapifhir/update_HAPI_version
markiantorno Nov 17, 2022
05d76c7
Updated Helm chart to use image 6.2.1 and latest PostgreSQL (#458)
chgl Nov 24, 2022
19c68e7
Bumped version (#462)
jkiddo Dec 3, 2022
56318b4
Added custom property file
shubham927-ht Jun 8, 2020
01e0199
SAP-1596 Updated custom property file to read values from env
shubham927-ht Jun 10, 2020
1246cf8
SAP-1687 Updated code to allow metadata request for server healthchec…
shubhamparikh927 Jul 30, 2020
98784eb
DEV-769: Update from upstream branch (#9)
hankwallace Sep 10, 2020
f70a02a
Updated docker compose file with required env variables
shubhamparikh927 Feb 5, 2021
8ef381e
SAP-1656 Added enabled parameter for webservlet to enable/disable web…
shubhamparikh927 Jun 26, 2020
99377d9
DEV-769: Update from upstream branch (#9)
hankwallace Sep 10, 2020
cbb7184
Updated code to read url pattern from environment. (#10)
shubhamparikh927 Sep 21, 2020
f8ce387
BT-96 Added OAuth support
ShubhamParikh9 Feb 19, 2021
af1993c
BT-96 Fixed indentation
ShubhamParikh9 Feb 19, 2021
1eede57
BT-96 Fixed spacing
ShubhamParikh9 Feb 19, 2021
f9e75fc
BT-96 Removed unwanted filed
ShubhamParikh9 Feb 19, 2021
8f6f04c
Changes in code as per PR suggestions
ShubhamParikh9 Feb 24, 2021
c76c62b
added rest security extension in metadata
ShubhamParikh9 Mar 10, 2021
f3cc506
Updated PR as per suggestions
ShubhamParikh9 Mar 12, 2021
a69da74
Updated README.md file to run the app with custom property file & env…
ShubhamParikh9 Mar 11, 2021
64ef31f
Updated PR as per suggestions
shubhamparikh927 Mar 12, 2021
96d9c86
Added user role validation in Oauth
ShubhamParikh9 Mar 9, 2021
79a885d
code refactor
ShubhamParikh9 Mar 9, 2021
6d77b6b
Updated code for using single oauth user role
shubhamparikh927 Mar 11, 2021
a36d5a6
Updated code as per PR suggestions
shubhamparikh927 Mar 12, 2021
4624b07
Updated code as pr PR siggestions
shubhamparikh927 Mar 19, 2021
76d7ac5
Added suppoet of delete operation to admin only
shubhamparikh927 Mar 25, 2021
d29624f
Refactored code
shubhamparikh927 Mar 25, 2021
af83852
Added custom search narrowing filter
shubhamparikh927 Mar 25, 2021
020de26
Updated code to work with oauth disabled
shubhamparikh927 Mar 25, 2021
62f07aa
Updated code to get claim name from environment
ShubhamParikh9 Mar 30, 2021
09ed89f
change claim name env varible to proper name
ShubhamParikh9 Mar 30, 2021
d2f36f0
Updated code to use hard-coded claim name
ShubhamParikh9 Apr 5, 2021
e864533
Changed custom mapper claim name to patient from subject
shubhamparikh927 Apr 6, 2021
34171e2
Added rule builder to filter resources
shubhamparikh927 Apr 5, 2021
641caac
code refactor
shubhamparikh927 Apr 6, 2021
a17863f
Update CustomAuthorizationInterceptor.java
shubhamparikh927 Apr 6, 2021
cff040f
updated code to support operations on bundle resources
shubhamparikh927 Apr 9, 2021
435fda1
Added consent rule to allow patch request
shubhamparikh927 May 25, 2021
031d505
Added oauth support for task resource
shubhamparikh927 Jun 25, 2021
c2ae630
Updated code to make refrence check generic method
shubhamparikh927 Jun 29, 2021
4d18c16
Updated method names
shubhamparikh927 Jun 30, 2021
948778f
Updated code as per PR suggestions
shubhamparikh927 Jul 2, 2021
c680638
Update code as per PR suggestion
shubhamparikh927 Jul 7, 2021
6d92b35
Updated code as per PR
shubhamparikh927 Jul 8, 2021
94231de
Added verification of clientId from token
shubhamparikh927 Nov 11, 2021
efa86b4
Added basic authentication
shubhamparikh927 Nov 25, 2021
0afd3f9
Code refactor
shubhamparikh927 Nov 26, 2021
0359fa8
Added username/password check while checking is basic auth enabled
shubhamparikh927 Nov 29, 2021
76c2003
DEV-769: Update from upstream branch (#9)
hankwallace Sep 10, 2020
01c323e
Updated docker compose file with required env variables
shubhamparikh927 Feb 5, 2021
e2a64d8
DEV-769: Update from upstream branch (#9)
hankwallace Sep 10, 2020
011f96f
BT-80 Updated code to allow header x-api-key
shubhamparikh927 Jan 13, 2021
e1d8e14
BT-140 set legacy sql builder based on hibernate to true
ShubhamParikh9 Feb 19, 2021
828364c
BT-96 Fixed spacing
ShubhamParikh9 Feb 19, 2021
8123f95
BT-96 Removed unwanted filed
ShubhamParikh9 Feb 19, 2021
5ff5c07
Changes in code as per PR suggestions
ShubhamParikh9 Feb 24, 2021
fb24b69
Added user role validation in Oauth
ShubhamParikh9 Mar 9, 2021
d256b21
code refactor
ShubhamParikh9 Mar 9, 2021
00764fd
Updated code for using single oauth user role
shubhamparikh927 Mar 11, 2021
867f42b
Updated code as per PR suggestions
shubhamparikh927 Mar 12, 2021
b0f2238
Updated code as pr PR siggestions
shubhamparikh927 Mar 19, 2021
9ba8b1a
Added custom search narrowing filter
shubhamparikh927 Mar 25, 2021
79df30b
Updated code to get claim name from environment
ShubhamParikh9 Mar 30, 2021
f722757
Added rule builder to filter resources
shubhamparikh927 Apr 5, 2021
a1251dd
code refactor
shubhamparikh927 Apr 6, 2021
f3e3222
Added basic authentication
shubhamparikh927 Nov 25, 2021
16333a7
Added hibernate physical_naming_strategy to use proper table names.
shubhamparikh927 Dec 29, 2021
0094213
Removed client id validation from oauth token
Mar 1, 2022
01ff44f
fixed indentation
Mar 2, 2022
326cb7c
PT-669 Updated dockerfile to use user dir path for build
ShubhamParikh9 Jun 28, 2022
1b124e4
Sync 6.1.0 (#38)
shubhamparikh927 Dec 2, 2022
11d5414
Updated docker file to use /user/app dir (#39)
shubhamparikh927 Dec 5, 2022
4537fe8
PT-689 split url (#40)
dimon37 Jan 3, 2023
0cd0810
sync change with version 6.2.2
ShubhamParikh9 Jan 6, 2023
b91616f
sync deployment.yaml
ShubhamParikh9 Jan 6, 2023
c6c663f
added newline in dockerfile
ShubhamParikh9 Jan 6, 2023
36d3283
added new line EOF
ShubhamParikh9 Jan 6, 2023
761f5ef
Merge branch 'master' into sync-6.2.2
shubhamparikh927 Jan 6, 2023
47b036a
Updated code to use non tmp directory
shubhamparikh927 Jan 6, 2023
07f5174
removed duplicate files
shubhamparikh927 Jan 6, 2023
4bdd0a4
Updated code as per PR suggestion
shubhamparikh927 Jan 16, 2023
5ac9c44
Updated code as suggested on pr
shubhamparikh927 Jan 17, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/chart-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Install helm-docs
working-directory: /tmp
env:
HELM_DOCS_URL: https://github.com/norwoodj/helm-docs/releases/download/v1.9.1/helm-docs_1.9.1_Linux_x86_64.tar.gz
HELM_DOCS_URL: https://github.com/norwoodj/helm-docs/releases/download/v1.11.0/helm-docs_1.11.0_Linux_x86_64.tar.gz
run: |
curl -LSs $HELM_DOCS_URL | tar xz && \
mv ./helm-docs /usr/local/bin/helm-docs && \
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,14 @@ name: Java CI with Maven

on:
push:
branches:
- '**'
branches:
- '**'
paths-ignore:
- "charts/**"
pull_request:
branches: [ master ]
paths-ignore:
- "charts/**"

jobs:
build:
Expand Down
20 changes: 13 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
FROM maven:3.8-openjdk-17-slim as build-hapi
WORKDIR /usr/app/hapi-fhir-jpaserver-starter
WORKDIR /usr/app//hapi-fhir-jpaserver-starter

ARG OPENTELEMETRY_JAVA_AGENT_VERSION=1.17.0
RUN curl -LSsO https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v${OPENTELEMETRY_JAVA_AGENT_VERSION}/opentelemetry-javaagent.jar

COPY pom.xml .
COPY server.xml .
RUN mvn -ntp dependency:go-offline

COPY src/ /usr/app/hapi-fhir-jpaserver-starter/src/
COPY src/ /usr/app//hapi-fhir-jpaserver-starter/src/
RUN mvn clean install -DskipTests -Djdk.lang.Process.launchMechanism=vfork

FROM build-hapi AS build-distroless
RUN mvn package spring-boot:repackage -Pboot
RUN mkdir /app && cp /usr/app/hapi-fhir-jpaserver-starter/target/ROOT.war /app/main.war
RUN mkdir /app && cp /usr/app//hapi-fhir-jpaserver-starter/target/ROOT.war /app/main.war


########### bitnami tomcat version is suitable for debugging and comes with a shell
########### it can be built using eg. `docker build --target tomcat .`
FROM bitnami/tomcat:9.0 as tomcat

RUN rm -rf /opt/bitnami/tomcat/webapps/ROOT && \
rm -rf /opt/bitnami/tomcat/webapps_default/ROOT && \
mkdir -p /opt/bitnami/hapi/data/hapi/lucenefiles && \
chmod 775 /opt/bitnami/hapi/data/hapi/lucenefiles

Expand All @@ -28,16 +30,20 @@ USER 1001

COPY --chown=1001:1001 catalina.properties /opt/bitnami/tomcat/conf/catalina.properties
COPY --chown=1001:1001 server.xml /opt/bitnami/tomcat/conf/server.xml
COPY --from=build-hapi --chown=1001:1001 /usr/app/hapi-fhir-jpaserver-starter/target/ROOT.war /opt/bitnami/tomcat/webapps_default/ROOT.war
COPY --from=build-hapi --chown=1001:1001 /usr/app//hapi-fhir-jpaserver-starter/target/ROOT.war /opt/bitnami/tomcat/webapps/ROOT.war
COPY --from=build-hapi --chown=1001:1001 /usr/app//hapi-fhir-jpaserver-starter/opentelemetry-javaagent.jar /app

ENV ALLOW_EMPTY_PASSWORD=yes

########### distroless brings focus on security and runs on plain spring boot - this is the default image
FROM gcr.io/distroless/java17:nonroot as default
COPY --chown=nonroot:nonroot --from=build-distroless /app /app
FROM gcr.io/distroless/java17-debian11:nonroot as default
# 65532 is the nonroot user's uid
# used here instead of the name to allow Kubernetes to easily detect that the container
# is running as a non-root (uid != 0) user.
USER 65532:65532
WORKDIR /app

COPY --chown=nonroot:nonroot --from=build-distroless /app /app
COPY --chown=nonroot:nonroot --from=build-hapi /usr/app//hapi-fhir-jpaserver-starter/opentelemetry-javaagent.jar /app

CMD ["/app/main.war"]
97 changes: 91 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ In order to use this sample, you should have:
- Apache Maven build tool (newest version)

### or
- Docker, as the entire project can be built using multistage docker (with both JDK and maven wrapped in docker) or used directly from [Docker Hub](https://hub.docker.com/repository/docker/hapiproject/hapi)
- Docker, as the entire project can be built using multistage docker (with both JDK and maven wrapped in docker) or used directly from [Docker Hub](https://hub.docker.com/r/hapiproject/hapi)

## Running via [Docker Hub](https://hub.docker.com/repository/docker/hapiproject/hapi)
## Running via [Docker Hub](https://hub.docker.com/r/hapiproject/hapi)

Each tagged/released version of `hapi-fhir-jpaserver` is built as a Docker image and published to Docker hub. To run the published Docker image from DockerHub:

Expand Down Expand Up @@ -184,6 +184,57 @@ volumes:
external: true
```

## Running via [Docker Hub](https://hub.docker.com/repository/docker/hapiproject/hapi)
shubhamparikh927 marked this conversation as resolved.
Show resolved Hide resolved

Each tagged/released version of `hapi-fhir-jpaserver` is built as a Docker image and published to Docker hub. To run the published Docker image from DockerHub:

```
docker pull hapiproject/hapi:latest
docker run -p 8080:8080 hapiproject/hapi:tagname
```

This will run the docker image with the default configuration, mapping port 8080 from the container to port 8080 in the host. Once running, you can access `http://localhost:8080/hapi-fhir-jpaserver/fhir` in the browser to access the HAPI FHIR server's UI.

If you change the mapped port, you need to change the configuration used by HAPI to have the correct `server_address` property/value.

### Configuration via environment variables

You can customize HAPI directly from the `run` command using environment variables. For example:

`docker run -p 8090:8080 -e server_address=http://localhost:8090/hapi-fhir-jpaserver/fhir hapiproject/hapi:tagname`

HAPI looks in the environment variables for properties in the [hapi.properties](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/hapi.properties) file.

### Configuration via overridden hapi.properties file

You can customize HAPI by telling HAPI to look for the `hapi.properties` file in a different location:

`docker run -p 8090:8080 -e hapi.properties=/some/directory/with/hapi.properties hapiproject/hapi:tagname`

### Example docker-compose.yml

```
version: '3.7'
services:
web:
image: "hapiproject/hapi:tagname"
ports:
- "8090:8080"
configs:
- source: hapi
target: /data/hapi/hapi.properties
volumes:
- hapi-data:/data/hapi
environment:
JAVA_OPTS: '-Dhapi.properties=/data/hapi/hapi.properties'
configs:
hapi:
external: true
volumes:
hapi-data:
external: true
```

## Running locally

The easiest way to run this server entirely depends on your environment requirements. At least, the following 4 ways are supported:
Expand Down Expand Up @@ -323,7 +374,7 @@ Also, make sure you are not setting the Hibernate dialect explicitly, in other w
hibernate.dialect: {some none MySQL dialect}
```

On some systems, it might be necessary to override hibernate's default naming strategy. The naming strategy must be set using spring.jpa.hibernate.physical_naming_strategy.
On some systems, it might be necessary to override hibernate's default naming strategy. The naming strategy must be set using spring.jpa.hibernate.physical_naming_strategy.

```yaml
spring:
Expand All @@ -345,6 +396,9 @@ spring:
username: admin
password: admin
driverClassName: org.postgresql.Driver
jpa:
properties:
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
```

Because the integration tests within the project rely on the default H2 database configuration, it is important to either explicity skip the integration tests during the build process, i.e., `mvn install -DskipTests`, or delete the tests altogether. Failure to skip or delete the tests once you've configured PostgreSQL for the datasource.driver, datasource.url, and hibernate.dialect as outlined above will result in build errors and compilation failure.
Expand All @@ -362,12 +416,18 @@ spring:
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
```

Also, make sure you are not setting the Hibernate dialect explicitly, in other words remove any lines similar to:

```
hibernate.dialect: {some none Microsoft SQL dialect}
```


Because the integration tests within the project rely on the default H2 database configuration, it is important to either explicity skip the integration tests during the build process, i.e., `mvn install -DskipTests`, or delete the tests altogether. Failure to skip or delete the tests once you've configured PostgreSQL for the datasource.driver, datasource.url, and hibernate.dialect as outlined above will result in build errors and compilation failure.


NOTE: MS SQL Server by default uses a case-insensitive codepage. This will cause errors with some operations - such as when expanding case-sensitive valuesets (UCUM) as there are unique indexes defined on the terminology tables for codes.
It is recommended to deploy a case-sensitive database prior to running HAPI FHIR when using MS SQL Server to avoid these and potentially other issues.
NOTE: MS SQL Server by default uses a case-insensitive codepage. This will cause errors with some operations - such as when expanding case-sensitive valuesets (UCUM) as there are unique indexes defined on the terminology tables for codes.
It is recommended to deploy a case-sensitive database prior to running HAPI FHIR when using MS SQL Server to avoid these and potentially other issues.

## Customizing The Web Testpage UI

Expand Down Expand Up @@ -495,6 +555,14 @@ Set `hapi.fhir.mdm_enabled=true` in the [application.yaml](https://github.com/ha
Set `empi.enabled=true` in the [hapi.properties](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/hapi.properties) file to enable EMPI on this server. The EMPI matching rules are configured in [empi-rules.json](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/empi-rules.json). The rules in this example file should be replaced with actual matching rules appropriate to your data. Note that EMPI relies on subscriptions, so for EMPI to work, subscriptions must be enabled.


## Enabling EMPI
shubhamparikh927 marked this conversation as resolved.
Show resolved Hide resolved

Set `empi.enabled=true` in the [hapi.properties](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/hapi.properties) file to enable EMPI on this server. The EMPI matching rules are configured in [empi-rules.json](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/empi-rules.json). The rules in this example file should be replaced with actual matching rules appropriate to your data. Note that EMPI relies on subscriptions, so for EMPI to work, subscriptions must be enabled.

## Enabling EMPI

Set `empi.enabled=true` in the [hapi.properties](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/hapi.properties) file to enable EMPI on this server. The EMPI matching rules are configured in [empi-rules.json](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/empi-rules.json). The rules in this example file should be replaced with actual matching rules appropriate to your data. Note that EMPI relies on subscriptions, so for EMPI to work, subscriptions must be enabled.

## Enabling EMPI

Set `empi.enabled=true` in the [hapi.properties](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/hapi.properties) file to enable EMPI on this server. The EMPI matching rules are configured in [empi-rules.json](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/empi-rules.json). The rules in this example file should be replaced with actual matching rules appropriate to your data. Note that EMPI relies on subscriptions, so for EMPI to work, subscriptions must be enabled.
Expand Down Expand Up @@ -526,7 +594,7 @@ Set `hapi.fhir.store_resource_in_lucene_index_enabled` in the [application.yaml]
## Changing cached search results time

It is possible to change the cached search results time. The option `reuse_cached_search_results_millis` in the [application.yaml](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/application.yaml) is 6000 miliseconds by default.
Set `reuse_cached_search_results_millis: -1` in the [application.yaml](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/application.yaml) file to ignore the cache time every search.
Set `reuse_cached_search_results_millis: -1` in the [application.yaml](https://github.com/hapifhir/hapi-fhir-jpaserver-starter/blob/master/src/main/resources/application.yaml) file to ignore the cache time every search.

## Build the distroless variant of the image (for lower footprint and improved security)

Expand All @@ -545,3 +613,20 @@ see the `-distroless` suffix in the image tags.
To add a custom operation, refer to the documentation in the core hapi-fhir libraries [here](https://hapifhir.io/hapi-fhir/docs/server_plain/rest_operations_operations.html).

Within `hapi-fhir-jpaserver-starter`, create a generic class (that does not extend or implement any classes or interfaces), add the `@Operation` as a method within the generic class, and then register the class as a provider using `RestfulServer.registerProvider()`.

## Enable OpenTelemetry auto-instrumentation

The container image includes the [OpenTelemetry Java auto-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
Java agent JAR which can be used to export telemetry data for the HAPI FHIR JPA Server. You can enable it by specifying the `-javaagent` flag,
for example by overriding the `JAVA_TOOL_OPTIONS` environment variable:

```sh
docker run --rm -it -p 8080:8080 \
-e JAVA_TOOL_OPTIONS="-javaagent:/app/opentelemetry-javaagent.jar" \
-e OTEL_TRACES_EXPORTER="jaeger" \
-e OTEL_SERVICE_NAME="hapi-fhir-server" \
-e OTEL_EXPORTER_JAEGER_ENDPOINT="http://jaeger:14250" \
docker.io/hapiproject/hapi:latest
```

You can configure the agent using environment variables or Java system properties, see <https://opentelemetry.io/docs/instrumentation/java/automatic/agent-config/> for details.
6 changes: 3 additions & 3 deletions charts/hapi-fhir-jpaserver/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 11.6.2
digest: sha256:1b96efc47b5dbe28bf34bcb694697325f3d2755a39ce2f1c371b2c9de9fac9d3
generated: "2022-06-03T11:48:19.1684784+02:00"
version: 12.1.2
digest: sha256:525689611a29f90b0bc8cd674df5d97024c99eda8104216390f6747904fd0208
generated: "2022-11-21T22:55:45.1699395+01:00"
32 changes: 7 additions & 25 deletions charts/hapi-fhir-jpaserver/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,39 +7,21 @@ sources:
- https://github.com/hapifhir/hapi-fhir-jpaserver-starter
dependencies:
- name: postgresql
version: 11.6.2
version: 12.1.2
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
appVersion: v6.0.1
version: 0.9.0
appVersion: 6.2.1
version: 0.11.0
annotations:
artifacthub.io/license: Apache-2.0
artifacthub.io/changes: |
# When using the list of objects option the valid supported kinds are
# added, changed, deprecated, removed, fixed, and security.
- kind: changed
description: |
BREAKING CHANGE: updated HAPI FHIR starter image to v6.0.1.
See <https://github.com/hapifhir/hapi-fhir/releases/tag/v6.0.0> for all application changes.
description: updated HAPI FHIR JPA Server app image version to v6.2.1
- kind: changed
description: |
updated included PostgreSQL-subchart to v11.6.2
- kind: fixed
description: |
use a fixed image for the wait-for-database container (docker.io/bitnami/postgresql:14.3.0-debian-10-r20)
instead of relying on the PostgreSQL sub-chart values
- kind: changed
description: |
expose actuator/metrics endpoint on a separate port (8081)
- kind: added
description: |
support for monitoring metrics using ServiceMonitor CRDs
Reduced `startupProbe.initialDelaySeconds` to a more realistic `30` from `60`.
This should allow the server to become ready quicker and recover from failures faster.
- kind: changed
description: |
switched liveness and readiness probes to Spring Boot actuator endpoints
- kind: changed
description: |
BREAKING CHANGE: removed included `NetworkPolicy`, which is subject to more thorough rework
- kind: added
description: |
allow configuring `topologySpreadConstraints` for the deployment
description: "⚠️ BREAKING CHANGE: updated included postgresql chart to v12, which is based on PostgreSQL 15.1"
Loading