Skip to content

Commit

Permalink
Merge pull request #7 from RADAR-base/release-0.2.0
Browse files Browse the repository at this point in the history
Release 0.2.0
  • Loading branch information
blootsvoets authored Oct 7, 2020
2 parents 126727f + a6adf6d commit f93dc5c
Show file tree
Hide file tree
Showing 40 changed files with 269 additions and 760 deletions.
9 changes: 4 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
kotlin("jvm") apply false
// Apply the Kotlin JVM plugin to add support for Kotlin on the JVM.
id("org.jetbrains.kotlin.jvm").version("1.4.0").apply(false)
idea
id("org.jetbrains.gradle.plugin.idea-ext").version("0.9")
id("org.jetbrains.gradle.plugin.idea-ext") version "0.9"
}

subprojects {
version = "0.1.1"
version = "0.2.0"

repositories {
// Use jcenter for resolving your dependencies.
Expand All @@ -26,5 +25,5 @@ subprojects {
}

tasks.wrapper {
gradleVersion = "6.6"
gradleVersion = "6.6.1"
}
44 changes: 22 additions & 22 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ services:
# Management Portal #
#---------------------------------------------------------------------------#
managementportal:
image: radarbase/management-portal:0.5.6
image: radarbase/management-portal:0.6.0
depends_on:
- mp-postgresql
ports:
Expand Down Expand Up @@ -41,19 +41,19 @@ services:
#---------------------------------------------------------------------------#
# RADAR Upload Source connector #
#---------------------------------------------------------------------------#
# app-config:
# build:
# context: .
# dockerfile: radar-app-config/Dockerfile
# image: radarbase/radar-app-config
# restart: on-failure
# volumes:
# - ./etc/appconfig.yml:/etc/radar-app-config/appconfig.yml
# depends_on:
# - managementportal
# labels:
# - "traefik.http.routers.appconfig.rule=PathPrefix(`/appconfig/api`)"
# - "traefik.http.services.appconfig.loadbalancer.server.port=8090"
app-config:
build:
context: .
dockerfile: radar-app-config/Dockerfile
image: radarbase/radar-app-config
restart: on-failure
volumes:
- ./etc/appconfig.yml:/etc/radar-app-config/appconfig.yml
depends_on:
- managementportal
labels:
- "traefik.http.routers.appconfig.rule=PathPrefix(`/appconfig/api`)"
- "traefik.http.services.appconfig.loadbalancer.server.port=8090"

traefik:
image: traefik:2.1
Expand All @@ -63,14 +63,14 @@ services:
ports:
- "8080:80"

smtp:
image: namshi/smtp
container_name: smtp
restart: always
ports:
- "25:25"
env_file:
- etc/smtp.env
# smtp:
# image: namshi/smtp
# container_name: smtp
# restart: always
# ports:
# - "25:25"
# env_file:
# - etc/smtp.env
# environment:
# - GMAIL_USER=
# - GMAIL_PASSWORD=
Expand Down
16 changes: 9 additions & 7 deletions etc/appconfig.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
baseUri: http://0.0.0.0:8095/appconfig/api
baseUri: http://0.0.0.0:8090/appconfig/api
isJmxEnabled: false

inject:
enhancerFactory: org.radarbase.appconfig.inject.ManagementPortalEnhancerFactory

authentication:
url: http://localhost:8080/managementportal/
clientId: appconfig
clientSecret: test
resourceName: res_appconfig
auth:
managementPortal:
url: http://managementportal:8080/managementportal/
clientId: appconfig
clientSecret: test
jwtResourceName: res_appconfig

jdbc:
database:
driver: "org.h2.Driver"
url: "jdbc:h2:./data/h2"
user:
password:
dialect: org.hibernate.dialect.H2Dialect
2 changes: 1 addition & 1 deletion etc/mp-config/oauth_client_details.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ aRMT;res_ManagementPortal,res_gateway;secret;MEASUREMENT.CREATE,SUBJECT.UPDATE,S
THINC-IT;res_ManagementPortal,res_gateway;secret;MEASUREMENT.CREATE,SUBJECT.UPDATE,SUBJECT.READ,PROJECT.READ,SOURCETYPE.READ,SOURCE.READ,SOURCETYPE.READ,SOURCEDATA.READ,USER.READ,ROLE.READ;refresh_token,authorization_code;;;43200;7948800;{"dynamic_registration": true};
radar_upload_connect;res_ManagementPortal,res_upload;upload_secret;SUBJECT.READ,SUBJECT.UPDATE,PROJECT.READ,SOURCE.READ,SOURCETYPE.READ,MEASUREMENT.CREATE;client_credentials;;;43200;259200;{};
radar_upload_frontend;res_ManagementPortal,res_upload;;SOURCETYPE.READ,MEASUREMENT.CREATE,PROJECT.READ,SUBJECT.READ;authorization_code;http://localhost:8080/upload/login;3600;78000;;
appconfig;res_ManagementPortal;test;SOURCETYPE.READ,MEASUREMENT.CREATE,PROJECT.READ,SUBJECT.READ,OAUTHCLIENTS.READ;client_credentials;;3600;78000;;
appconfig;res_ManagementPortal,res_appconfig;test;SOURCETYPE.READ,MEASUREMENT.CREATE,PROJECT.READ,SUBJECT.READ,OAUTHCLIENTS.READ;client_credentials;;3600;78000;;
appconfig_frontend;res_appconfig;;SOURCETYPE.READ,MEASUREMENT.CREATE,PROJECT.READ,PROJECT.CREATE,PROJECT.UPDATE,SUBJECT.READ,SUBJECT.UPDATE,OAUTHCLIENTS.READ;authorization_code,refresh_token;http://localhost:4200/login;3600;78000;;
8 changes: 7 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
org.jetbrains.idea.gradle.syncTasks=:radar-expression-lang:generateGrammarSource
org.jetbrains.idea.gradle.syncTasks=:radar-expression-lang:generateGrammarSource
kotlinVersion=1.4.10
jacksonVersion=2.11.2
antlrVersion=4.8-1
radarJerseyVersion=0.3.2
h2Version=1.4.200

2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
19 changes: 16 additions & 3 deletions radar-app-config/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,30 @@
FROM gradle:6.6-jdk11 as builder
# 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 gradle:6.6.1-jdk11 as builder

RUN mkdir /code
WORKDIR /code
ENV GRADLE_USER_HOME=/code/.gradlecache

COPY ./build.gradle.kts ./settings.gradle.kts /code/
COPY build.gradle.kts settings.gradle.kts gradle.properties /code/
COPY radar-app-config/build.gradle.kts /code/radar-app-config/
COPY radar-expression-lang/build.gradle.kts /code/radar-expression-lang/
RUN gradle :radar-app-config:downloadDependencies

COPY radar-expression-lang/src /code/radar-expression-lang/src
COPY radar-app-config/src /code/radar-app-config/src

RUN gradle -Dkotlin.compiler.execution.strategy="in-process" -Dorg.gradle.parallel=false -Pkotlin.incremental=false :radar-app-config:distTar \
RUN gradle :radar-app-config:distTar \
&& cd radar-app-config/build/distributions \
&& tar xf *.tar \
&& rm *.tar radar-app-config*/lib/radar-app-config*.jar
Expand Down
31 changes: 4 additions & 27 deletions radar-app-config/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,6 @@ application {
mainClassName = "org.radarbase.appconfig.MainKt"
}

project.extra.apply {
set("okhttpVersion", "4.8.1")
set("radarAuthVersion", "0.2.4")
set("radarSchemasVersion", "0.5.13")
set("jacksonVersion", "2.11.2")
set("slf4jVersion", "1.7.30")
set("logbackVersion", "1.2.3")
set("hibernateVersion", "5.4.20.Final")
set("h2Version", "1.4.200")
set("postgresqlVersion", "42.2.16")
set("liquibaseVersion", "3.10.2")
}

repositories {
jcenter()
maven(url = "https://dl.bintray.com/radar-base/org.radarbase")
Expand All @@ -31,23 +18,13 @@ dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation(kotlin("reflect"))

implementation("com.squareup.okhttp3:okhttp:${project.extra["okhttpVersion"]}")
implementation(project(":radar-expression-lang"))

implementation("org.radarbase:radar-jersey:${project.extra["radarAuthVersion"]}")

implementation("com.fasterxml.jackson.core:jackson-databind:${project.extra["jacksonVersion"]}")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:${project.extra["jacksonVersion"]}")

implementation("org.slf4j:slf4j-api:${project.extra["slf4jVersion"]}")

implementation("org.hibernate:hibernate-core:${project.extra["hibernateVersion"]}")
implementation("org.liquibase:liquibase-core:${project.extra["liquibaseVersion"]}")
val radarJerseyVersion: String by project
implementation("org.radarbase:radar-jersey:$radarJerseyVersion")
implementation("org.radarbase:radar-jersey-hibernate:$radarJerseyVersion")

runtimeOnly("com.h2database:h2:${project.extra["h2Version"]}")
runtimeOnly("org.postgresql:postgresql:${project.extra["postgresqlVersion"]}")
runtimeOnly("ch.qos.logback:logback-classic:${project.extra["logbackVersion"]}")
runtimeOnly("org.hibernate:hibernate-c3p0:${project.extra["hibernateVersion"]}")
runtimeOnly("com.h2database:h2:${project.property("h2Version")}")

testImplementation("org.junit.jupiter:junit-jupiter:5.6.2")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.6.2")
Expand Down
22 changes: 22 additions & 0 deletions radar-app-config/root.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
-----END CERTIFICATE-----

Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package org.radarbase.appconfig.config

import org.radarbase.jersey.auth.AuthConfig
import org.radarbase.jersey.hibernate.config.DatabaseConfig
import java.net.URI

data class ApplicationConfig(
val baseUri: URI = URI.create("http://0.0.0.0:8090/appconfig/"),
val isJmxEnabled: Boolean = true,
val isCorsEnabled: Boolean = false,
val authentication: AuthenticationConfig = AuthenticationConfig(),
val auth: AuthConfig = AuthConfig(jwtResourceName = "res_appconfig"),
val inject: InjectConfig = InjectConfig(),
val jdbc: JdbcConfig? = null)
val database: DatabaseConfig? = null)

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,32 @@ import com.fasterxml.jackson.annotation.JsonProperty
import nl.thehyve.lang.expression.Expression
import nl.thehyve.lang.expression.ResolvedVariable
import nl.thehyve.lang.expression.Scope
import org.radarbase.jersey.service.managementportal.MPOAuthClient
import org.radarbase.jersey.service.managementportal.MPProject
import org.radarbase.jersey.service.managementportal.MPUser
import java.util.stream.Collectors
import java.util.stream.Stream

data class ProjectList(val projects: Collection<Project>)

data class Project(val id: Long, @JsonProperty("projectName") val name: String, @JsonProperty("humanReadableProjectName") val humanReadableName: String? = null, val location: String? = null, val organization: String? = null, val description: String? = null)
data class Project(@JsonProperty("projectName") val name: String, @JsonProperty("humanReadableProjectName") val humanReadableName: String? = null, val location: String? = null, val organization: String? = null, val description: String? = null)
fun MPProject.toProject(): Project = Project(
name = id,
humanReadableName = name,
location = location,
organization = organization,
description = description
)

data class UserList(val users: Collection<User>)
data class User(val id: String, val externalUserId: String? = null, val hasConfig: Boolean? = null)
data class MPUser(val login: String, val externalUserId: String? = null)

fun MPUser.toUser(): User = User(id = id, externalUserId = externalId)

data class OAuthClient(@JsonProperty("clientId") val id: String)

fun MPOAuthClient.toOAuthClient() = OAuthClient(id = id)

data class OAuthClientList(val clients: List<OAuthClient>)

data class ConditionList(val conditions: List<Condition>)
Expand All @@ -41,4 +54,4 @@ data class ClientConfig(val clientId: String?, val scope: String?, val config: L
}
}

data class SingleVariable(val name: String, val value: String?, val scope: String? = null)
data class SingleVariable(val name: String, val value: String?, val scope: String? = null)
Loading

0 comments on commit f93dc5c

Please sign in to comment.