Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
217 commits
Select commit Hold shift + click to select a range
8fe7239
Updated the settings file to kotlin dsl
this-Aditya Apr 17, 2025
55307c7
Now ignoring the build and gradle generated dirs for all subprojects
this-Aditya Apr 20, 2025
e2612f9
buildSrc: for shared logic
this-Aditya Apr 20, 2025
ceaedbf
Removed groovy bases build
this-Aditya Apr 25, 2025
4ad80e3
Added kotlin dsl build file
this-Aditya Apr 25, 2025
012f615
Successfully migrated build from groovy to kotlin
this-Aditya May 5, 2025
5bd7c31
Synchronizing versions in buildSrc
this-Aditya May 5, 2025
715fe3e
Updated the directory structure to kotlin style
this-Aditya May 5, 2025
86b9890
Reflecting the directory structure change and also using the reposito…
this-Aditya May 5, 2025
97eb93f
Moving spring version to legacy one
this-Aditya May 5, 2025
7e67aa8
Updating the gradle use wrapper task in root build and centralize gro…
this-Aditya May 5, 2025
6901b6c
Defining a convention plugin for appserver
this-Aditya May 6, 2025
2babd55
Created a plugin for creating custom source sets with ease
this-Aditya May 6, 2025
5b48bcd
buildSrc updated
this-Aditya May 6, 2025
ec5fa6f
Optimizing builds
this-Aditya May 6, 2025
48c49ba
Plugin specifically for integration test source set
this-Aditya May 9, 2025
8757c0a
Build updates
this-Aditya May 9, 2025
6383149
Ktlint format
this-Aditya May 9, 2025
7a22ca5
Added file to configure ktlint
this-Aditya May 9, 2025
7db6da4
Added build file to jersey module
this-Aditya May 10, 2025
dfb1512
ktlint format
this-Aditya May 10, 2025
f1c5d39
Added source-sets to appserver-jersey with log4j2 support
this-Aditya May 10, 2025
ab774de
Base setup of application
this-Aditya May 12, 2025
9b02491
Updated config
this-Aditya May 12, 2025
0a6b405
Some work on enhancers and resources
this-Aditya May 12, 2025
5ba53fb
Database setup
this-Aditya May 12, 2025
4003535
Updated build
this-Aditya May 14, 2025
e040d22
Configuration classes updated
this-Aditya May 14, 2025
093c31e
Main class with enhancers and factories
this-Aditya May 14, 2025
2dafd3f
Defined mapper for projects
this-Aditya May 14, 2025
d692e8a
Created dtos and entities for projects
this-Aditya May 14, 2025
196dba8
Created repository and service classes for projects
this-Aditya May 14, 2025
f847587
Custom exceptions and utility classes
this-Aditya May 14, 2025
8c1bdd4
Misc changes
this-Aditya May 14, 2025
9115e00
More work on project endpoint
this-Aditya May 15, 2025
5ee6d8d
Renamed package to org.radarbase.appserver.jersey
this-Aditya May 15, 2025
0cd6333
Renamed config file
this-Aditya May 15, 2025
9aafa18
Utility extension and strict atomic reference class added
this-Aditya May 16, 2025
df66eac
Rename class
this-Aditya May 16, 2025
130735f
Added CachedMap
this-Aditya May 16, 2025
99c0c01
Added service interface for generating schedules from protocols
this-Aditya May 16, 2025
a4ebd1a
Optimizations to use the coroutine based parallel execution instead o…
this-Aditya May 16, 2025
d0fdac1
Added github config and did package renaming
this-Aditya May 17, 2025
039539e
Added utility classes to support caching
this-Aditya May 17, 2025
664d553
Refine configs
this-Aditya May 17, 2025
d86af78
Updated config and caching
this-Aditya May 17, 2025
f0798b4
Github client functions added with some coroutines enhancements
this-Aditya May 17, 2025
b70ee1c
Github service added with coroutine enhancements
this-Aditya May 17, 2025
ec24363
AppserverResourceEnhancer now also binds github client and service
this-Aditya May 17, 2025
a1a1bb7
Making github content fetching work suspending
this-Aditya May 18, 2025
ddc9aa9
Added and refactored constraint validator to use java components inst…
this-Aditya May 18, 2025
8999bd0
Added base64 deserializer for jackson deserialization
this-Aditya May 18, 2025
f2fa1b9
Added referencetimestamp deserializer and also moved to another packa…
this-Aditya May 18, 2025
293c112
Added utility class to support mutex reentrancy
this-Aditya May 18, 2025
f0752a6
Added protocol generator and its implmentation
this-Aditya May 18, 2025
34ff72c
Added protocol fetcher strategy and its implementation
this-Aditya May 18, 2025
a100b3c
Bound protocol fetching interfaces to their implementation
this-Aditya May 18, 2025
1257585
Using runblocking when calling the operator function
this-Aditya May 18, 2025
542ecc9
Exceptions and exception mappers
this-Aditya May 18, 2025
1b2da31
misc changes
this-Aditya May 18, 2025
eef5e09
Scheduling service added
this-Aditya May 18, 2025
16823c4
Created User & UserMetrics entities
this-Aditya May 21, 2025
019a2b1
Updated project entity
this-Aditya May 21, 2025
ea5f9d1
Created user repository and its implementation class
this-Aditya May 21, 2025
0fb21c3
Bound UserRepository to its implentation
this-Aditya May 21, 2025
82bd943
Added user mapper
this-Aditya May 21, 2025
250141b
Config updates
this-Aditya May 21, 2025
605d198
Config updates
this-Aditya May 21, 2025
2155f8c
Updates to UserRepository
this-Aditya May 21, 2025
9411dfe
Added user service
this-Aditya May 22, 2025
d334245
Added invalid user details exception
this-Aditya May 22, 2025
d614276
UserResource created (without auth rn)
this-Aditya May 22, 2025
888064e
Updated project service and repository
this-Aditya May 25, 2025
f26f018
Corrected project service update method
this-Aditya May 25, 2025
1798eac
misc changes on project side
this-Aditya May 25, 2025
d73bb5d
Misc changes to user operations
this-Aditya May 25, 2025
3480c67
Updates to build file
this-Aditya May 25, 2025
884a87f
Config update
this-Aditya May 25, 2025
365a19e
Added event states
this-Aditya May 25, 2025
312eeaf
Created task entity with support classes
this-Aditya May 25, 2025
bb96b5b
Added message and Scheduled entities
this-Aditya May 25, 2025
fb635bf
Added DataMessage entity
this-Aditya May 25, 2025
a63a228
Added notification entity
this-Aditya May 25, 2025
e75d167
Added state event entities
this-Aditya May 25, 2025
5ae987f
Updated existing repository structure
this-Aditya May 25, 2025
ecef206
Created the Repository and its implementation for operations on DataM…
this-Aditya May 25, 2025
01b190a
Added NotificationRepository and its implementation
this-Aditya May 25, 2025
6505085
Optimized checking the existence of the entities
this-Aditya May 25, 2025
598710e
Rejecting when id is already provided
this-Aditya May 25, 2025
e22911b
Added state events repository interfaces
this-Aditya May 25, 2025
fa7cd67
Added protocol handler interface
this-Aditya May 25, 2025
587bcda
Added Schedule and AssessmentSchedule classes
this-Aditya May 25, 2025
68001f8
Added fcm user data access objects
this-Aditya May 25, 2025
812560b
Time calculator service and time period class added
this-Aditya May 25, 2025
76dbfc2
Added simple protocol handler
this-Aditya May 26, 2025
840dadd
Added simple repeat protocol handler
this-Aditya May 26, 2025
26a97d1
Added protocol handler for supporting repeat questionnaire
this-Aditya May 26, 2025
dd560e1
Added RandomRepeatQuestionnaireHandler
this-Aditya May 26, 2025
0d650c2
Added clinical protocol handler
this-Aditya May 26, 2025
a010984
Added task and task notification generator service
this-Aditya May 26, 2025
38d3fa8
Added tasks and notification service
this-Aditya May 26, 2025
e5910c7
More protocol handler implementation in coroutines style
this-Aditya May 26, 2025
2266d83
Added protocol handler for handling reminder protocols
this-Aditya May 26, 2025
a521df4
Added DisabledNotificationHandler
this-Aditya May 26, 2025
47ddc7b
Added factory classes for protocol handlers
this-Aditya May 26, 2025
7fcad7a
Created implementation class of schedule generator service
this-Aditya May 26, 2025
5c4610a
Updated enhancers
this-Aditya May 26, 2025
f269f82
Added classes for search criteria
this-Aditya May 26, 2025
82dc490
Added repositories for state event entities
this-Aditya May 26, 2025
8428c47
Added task repository and its implementation
this-Aditya May 26, 2025
cc7b057
Added firebase sender and config factory
this-Aditya May 27, 2025
eb7bf1b
Added scheduling service factory
this-Aditya May 27, 2025
671db6b
Updated enhancer to bind fcm factories
this-Aditya May 27, 2025
ab55ff6
Added abstract class representing fcm downstream message
this-Aditya May 27, 2025
7493fa3
Added concrete FcmNotificationMessage and FcmDataMessage
this-Aditya May 27, 2025
2504548
Added fcm sender with its implementations
this-Aditya May 27, 2025
bf3b8de
Added custom exceptions for fcm message transimtters
this-Aditya May 27, 2025
d13c00d
Added interfaces for data message and notification transmitters
this-Aditya May 27, 2025
499dd09
Fcm sender config
this-Aditya May 27, 2025
6989f32
Added and bound fcm transmitter
this-Aditya May 27, 2025
fbab48e
Bind Hibernate repositories to their concrete implementations
this-Aditya May 27, 2025
d6b36c7
Added dtos for functioning with guava event bus
this-Aditya May 27, 2025
f0d4bc0
Added dependencies for fcm admin sdk and guava event bus
this-Aditya May 27, 2025
77e39da
Added event listerner for guava event bus
this-Aditya May 27, 2025
27df93b
Moved files
this-Aditya May 27, 2025
959a2f2
Added implementation for guava async event bus
this-Aditya May 27, 2025
e9c45b4
Added supplier for event bus
this-Aditya May 27, 2025
db55e38
Added event listener and supplier to abstract binder
this-Aditya May 27, 2025
43315e9
Added config for event listeners
this-Aditya May 27, 2025
01f1cec
Added dto for data message
this-Aditya May 27, 2025
95990ea
Added and bound DataMessageMapper
this-Aditya May 27, 2025
0a084ed
Added dto for handling multiple messages
this-Aditya May 27, 2025
62b1bb8
Added fcm notification dto
this-Aditya May 27, 2025
54f6f92
Added and bound notification mapper
this-Aditya May 27, 2025
af850a7
Added MessageJob and MessageType
this-Aditya May 27, 2025
01f56ad
QuartzNamingStartegy added and registered
this-Aditya May 27, 2025
e442058
Scheduler service added
this-Aditya May 27, 2025
a1dedb2
Listener for saving state transition of messages
this-Aditya May 28, 2025
217c78d
Added service for scheduling messages
this-Aditya May 28, 2025
188f0fd
Added data message service
this-Aditya May 28, 2025
cbffca1
Added notification service
this-Aditya May 28, 2025
5744b62
Added task service
this-Aditya May 28, 2025
8e26e21
Added custom exception for invalid notification details
this-Aditya May 28, 2025
44b1537
Registered services
this-Aditya May 28, 2025
d5fb8f5
Added Protocol classes for mapping github data
this-Aditya May 28, 2025
c83321f
Misc work
this-Aditya May 28, 2025
cca6fa7
Unimplemented fcm transmitter
this-Aditya May 28, 2025
3a887f2
Utility work for coroutines
this-Aditya May 28, 2025
a4c7c02
Misc work
this-Aditya May 28, 2025
9158e66
Added completed coroutine handler with mixed coroutine and previous work
this-Aditya May 28, 2025
f95993e
Misc changes
this-Aditya May 28, 2025
8d5f196
Added license
this-Aditya May 28, 2025
26fadae
Config update
this-Aditya Jun 24, 2025
bfddde6
Config for enabling or disabling security for endpoints
this-Aditya Jul 6, 2025
b1f516d
Project Resource Added
this-Aditya Jul 6, 2025
918f3aa
Making common method inline and utility one
this-Aditya Jul 6, 2025
1ab8806
New Resource class for handling users
this-Aditya Jul 6, 2025
6e50772
Modifications to ProjectResource
this-Aditya Jul 6, 2025
546cea8
Created dockerfile for appserver jersey project
this-Aditya Jul 8, 2025
dc45139
Docker compose for appserver-jersey
this-Aditya Jul 8, 2025
6cef7c3
Resources for docker compose files
this-Aditya Jul 8, 2025
6b8712a
Docker compose setup for facilitating integration tests
this-Aditya Jul 8, 2025
15a1582
Added dependencies for testing
this-Aditya Jul 8, 2025
aecd796
Commons package for supporting integration tests
this-Aditya Jul 8, 2025
8e2be5d
Integration test for project endpoint
this-Aditya Jul 8, 2025
33d08e0
Added integration tests for User Endpoint and minor updates to other …
this-Aditya Jul 9, 2025
55a3284
Added test for notification endpoint
this-Aditya Jul 9, 2025
96463d2
Added license
this-Aditya Jul 9, 2025
3cdb03b
Added fcm data message resource class
this-Aditya Jul 9, 2025
22f28d7
Misc changes
this-Aditya Jul 9, 2025
4ca72d8
New resource class for fcm notifications
this-Aditya Jul 9, 2025
e4b1025
Misc changes
this-Aditya Jul 9, 2025
52c2737
Efficient updates in repository
this-Aditya Jul 18, 2025
b591729
Updates to project resource and service
this-Aditya Jul 18, 2025
7e438fc
Corrected mp port
this-Aditya Jul 20, 2025
f9e94f1
Added mp project service for validation
this-Aditya Jul 20, 2025
597677c
Binding questionnaire schedule service to hk2
this-Aditya Jul 22, 2025
d9f6b76
Factory for retrieving quartz scheduler
this-Aditya Jul 31, 2025
be86dd3
Scheduler configs and coroutines
this-Aditya Aug 1, 2025
d58a0d5
Fine tuned message scheduler service as per jersey quartz
this-Aditya Aug 1, 2025
efa4325
Scheduler service improvements
this-Aditya Aug 1, 2025
562d6d2
Data message state event's stuff
this-Aditya Aug 1, 2025
9abf1e0
Notification state event service work
this-Aditya Aug 1, 2025
0ca2120
Using questionnaire schedule service with the cutom scheduling servic…
this-Aditya Aug 12, 2025
9de49cc
Updates to UserService
this-Aditya Aug 12, 2025
2b389d4
Updated exceptions error status code
this-Aditya Aug 12, 2025
c1faff9
Using the Date field instead of Instant to maintian consistency with …
this-Aditya Aug 12, 2025
988fb08
Misc changes
this-Aditya Aug 12, 2025
2928cb4
Updates to scheduler, quartz listener
this-Aditya Aug 12, 2025
721a03f
Task and TaskStateEvent setup
this-Aditya Aug 13, 2025
e02f99a
Fine tuned message services and listeners
this-Aditya Aug 13, 2025
4e19aef
Misc changes
this-Aditya Aug 13, 2025
1409c81
Misc changes
this-Aditya Aug 14, 2025
6aa0533
Initializing the jobs using hk2 and quartz support
this-Aditya Aug 14, 2025
3351bc7
Corrected misconfiguration between state event listeners, services an…
this-Aditya Aug 15, 2025
31cd3d6
Fine tuned fcm sender side things
this-Aditya Aug 15, 2025
1b012c7
Github and Protocol Resource classes added
this-Aditya Aug 15, 2025
0a4962a
Github protocols dtos transformed to use kotlinx-serialization
this-Aditya Aug 17, 2025
ebe808e
Using kotlinx-serialization in state event services
this-Aditya Aug 17, 2025
8e582dc
Migrated state event listeners to kotlinx-serialization
this-Aditya Aug 17, 2025
93bf738
Migrated state event listeners to kotlinx-serialization
this-Aditya Aug 17, 2025
2245243
Migrated github protocol strategy jackson work to kotlinx-serialization
this-Aditya Aug 17, 2025
92e4faf
Added custom kotlinx Base64 and ReferenceTimestamp serializers
this-Aditya Aug 17, 2025
4e6e5a2
Removed jackson custom deserializer
this-Aditya Aug 17, 2025
f68a1f5
Misc changes
this-Aditya Aug 17, 2025
d048b5d
Resource classes
this-Aditya Aug 17, 2025
4e8f247
Ktlint format
this-Aditya Aug 17, 2025
c3166ee
Misc changes
this-Aditya Aug 17, 2025
c4e8ce4
Config corrections
this-Aditya Aug 18, 2025
2237080
Using dev environment config
this-Aditya Aug 18, 2025
0853d52
Misc changes
this-Aditya Aug 18, 2025
4cb4b3a
Merge pull request #531 from RADAR-base/rp-second-iteration
this-Aditya Aug 18, 2025
c88dd13
Using env variables
this-Aditya Aug 18, 2025
6409779
Merge branch 'rp-second-iteration' into restructure-project
this-Aditya Aug 18, 2025
c7c661a
Docker setup corrections
this-Aditya Aug 18, 2025
3166cdb
Resource classes rectification
this-Aditya Aug 18, 2025
0c9125f
Comments on config yml file
this-Aditya Aug 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 12 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
/src/test/
/src/integrationTest
/src/gatling
/appserver-jersey/src/test/
/appserver-jersey/src/integrationTest
/appserver-jersey/build
/appserver-legacy/build
/buildSrc/build
/out
/.git
/.gradle*
/gradle/wrapper
/gradlew*
/.idea
/.github
24 changes: 24 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 4

[{*.yml, *.yaml}]
indent_size = 2

[*.gradle]
indent_size = 4

[*.{kt,kts}]
ij_kotlin_allow_trailing_comma_on_call_site = true
ij_kotlin_allow_trailing_comma = true
# To satisfy ktlint rules, see: https://stackoverflow.com/questions/59849619/intellij-does-not-sort-kotlin-imports-according-to-ktlints-expectations
ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.gradle
/build/
**/.gradle
**/build/
!gradle/wrapper/gradle-wrapper.jar

### STS ###
Expand Down
44 changes: 44 additions & 0 deletions Dockerfile.appserver-jersey
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

FROM --platform=$BUILDPLATFORM gradle:8.5-jdk17 AS builder

RUN mkdir /code
WORKDIR /code

ENV GRADLE_USER_HOME=/code/.gradlecache \
GRADLE_OPTS="-Djdk.lang.Process.launchMechanism=vfork -Dorg.gradle.vfs.watch=false"

COPY ./buildSrc /code/buildSrc
COPY ./build.gradle.kts ./settings.gradle.kts /code/
COPY appserver-jersey/build.gradle.kts /code/appserver-jersey/

RUN gradle appserver-jersey:downloadDependencies appserver-jersey:copyDependencies appserver-jersey:startScripts

COPY appserver-jersey/src/ /code/appserver-jersey/src

RUN gradle jar

FROM eclipse-temurin:17-jre

COPY --from=builder /code/appserver-jersey/build/scripts/* /usr/bin/
COPY --from=builder /code/appserver-jersey/build/third-party/* /usr/lib/
COPY --from=builder /code/appserver-jersey/build/libs/*.jar /usr/lib/
COPY --from=builder /code/appserver-jersey/src/main/resources/appserver.yml /etc/appserver-jersey/appserver.yml

USER 101

EXPOSE 8080

CMD ["appserver-jersey"]


100 changes: 100 additions & 0 deletions appserver-jersey/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
plugins {
application
kotlin("plugin.serialization") version Versions.kotlinVersion
id("org.radarbase.radar-kotlin")
kotlin("plugin.allopen")
kotlin("plugin.noarg")
}

application {
mainClass.set("org.radarbase.appserver.jersey.JerseyAppserverKt")

applicationDefaultJvmArgs = listOf(
"-Dcom.sun.management.jmxremote",
"-Dcom.sun.management.jmxremote.local.only=false",
"-Dcom.sun.management.jmxremote.port=9010",
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=false",
)
}

description = "RADAR Appserver for scheduling tasks and notifications."

val integrationTestSourceSet = sourceSets.create("integrationTest") {
compileClasspath += sourceSets.main.get().output
runtimeClasspath += sourceSets.main.get().output
}

val integrationTestImplementation: Configuration by configurations.getting {
extendsFrom(configurations.testImplementation.get())
}

val integrationTest by tasks.registering(Test::class) {
description = "Runs integration tests."
group = "verification"
testClassesDirs = integrationTestSourceSet.output.classesDirs
classpath = integrationTestSourceSet.runtimeClasspath
testLogging.showStandardStreams = true
shouldRunAfter("test")
outputs.upToDateWhen { false }
}

configurations["integrationTestRuntimeOnly"].extendsFrom(configurations.testRuntimeOnly.get())

allOpen {
annotation("jakarta.persistence.MappedSuperclass")
annotation("jakarta.persistence.Entity")
annotation("jakarta.persistence.Embeddable")
}

dependencies {
implementation(kotlin("reflect"))

implementation("org.radarbase:radar-commons-kotlin:${Versions.radarCommonsVersion}")
implementation("org.radarbase:radar-jersey:${Versions.radarJerseyVersion}")
implementation("org.radarbase:radar-jersey-hibernate:${Versions.radarJerseyVersion}") {
runtimeOnly("org.postgresql:postgresql:${Versions.postgresqlVersion}")
}
implementation("com.h2database:h2:${Versions.h2Version}")

implementation("io.ktor:ktor-client-core:${Versions.ktorVersion}")
implementation("io.ktor:ktor-client-cio:${Versions.ktorVersion}")
implementation("org.glassfish.jersey.ext:jersey-bean-validation:3.1.10")

implementation("com.google.firebase:firebase-admin:9.3.0") {
constraints {
implementation("com.google.protobuf:protobuf-java:3.25.5") {
because("Provided version of protobuf has security vulnerabilities")
}
implementation("com.google.protobuf:protobuf-java-util:3.25.5") {
because("Provided version of protobuf has security vulnerabilities")
}
}
}
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")

implementation("com.google.guava:guava:32.1.3-jre")
implementation("org.quartz-scheduler:quartz:2.5.0")

testImplementation("io.mockk:mockk:1.14.4")
testImplementation("org.mockito.kotlin:mockito-kotlin:3.2.0")
testImplementation("org.hamcrest:hamcrest:2.1")
testImplementation("org.assertj:assertj-core:3.24.2")

integrationTestImplementation(platform("io.ktor:ktor-bom:${Versions.ktorVersion}"))
integrationTestImplementation("io.ktor:ktor-client-content-negotiation")
integrationTestImplementation("io.ktor:ktor-serialization-kotlinx-json")
}

ktlint {
ignoreFailures.set(false)
outputColorName.set("RED")
}

radarKotlin {
javaVersion.set(Versions.java)
kotlinVersion.set(Versions.kotlinVersion)
// kotlinApiVersion.set(Versions.kotlinVersion)
junitVersion.set(Versions.junit5Version)
log4j2Version.set(Versions.log4j2)
}
63 changes: 63 additions & 0 deletions appserver-jersey/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
version: '3.8'

services:
#---------------------------------------------------------------------------#
# ManagementPortal Postgres #
#---------------------------------------------------------------------------#
managementportal-postgresql:
image: postgres
environment:
POSTGRES_USER: radarbase
POSTGRES_PASSWORD: radarbase
POSTGRES_DB: managementportal


#---------------------------------------------------------------------------#
# Management Portal #
#---------------------------------------------------------------------------#
managementportal:
image: radarbase/management-portal:2.1.0
environment:
SERVER_PORT: 8081
SPRING_PROFILES_ACTIVE: prod
SPRING_DATASOURCE_URL: jdbc:postgresql://managementportal-postgresql:5432/managementportal
SPRING_DATASOURCE_USERNAME: radarbase
SPRING_DATASOURCE_PASSWORD: radarbase
SPRING_LIQUIBASE_CONTEXTS: dev #includes testing_data, remove for production builds
JHIPSTER_SLEEP: 10 # gives time for the database to boot before the application
JAVA_OPTS: -Xmx512m # maximum heap size for the JVM running ManagementPortal, increase this as necessary
MANAGEMENTPORTAL_COMMON_BASE_URL: http://localhost:8081/managementportal
MANAGEMENTPORTAL_COMMON_MANAGEMENT_PORTAL_BASE_URL: http://localhost:8081/managementportal
MANAGEMENTPORTAL_FRONTEND_CLIENT_SECRET:
MANAGEMENTPORTAL_OAUTH_CLIENTS_FILE: /mp-includes/config/oauth_client_details.csv
volumes:
- ./src/integrationTest/resources/docker/etc/:/mp-includes/

#---------------------------------------------------------------------------#
# Appserver Postgres #
#---------------------------------------------------------------------------#
appserver-postgres:
image: postgres
environment:
POSTGRES_DB: appserver
POSTGRES_USER: radar
POSTGRES_PASSWORD: radar

#---------------------------------------------------------------------------#
# Appserver #
#---------------------------------------------------------------------------#
appserver:
build:
context: ../
dockerfile: Dockerfile.appserver-jersey
image: radarbase/radar-appserver:SNAPSHOT
restart: always
ports:
- "8080:8080"
environment:
JDK_JAVA_OPTIONS: -Xmx4G -Djava.security.egd=file:/dev/./urandom
APPSERVER_JDBC_URL: jdbc:postgresql://postgres:5432/appserver
APPSERVER_JDBC_USERNAME: radar
APPSERVER_JDBC_PASSWORD: radar
APPSERVER_JDBC_DRIVER: org.postgresql.Driver
APPSERVER_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
Loading
Loading