From a01f964b531f12fd89cbdb0f2132aecbfaebf546 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Sat, 30 Jul 2022 12:15:10 +0200 Subject: refactor(web/server): Create standalone OpenDC distribution This change updates the Quarkus configuration of the OpenDC web server to serve as a fully standalone distribution that is capable of serving the web UI, web API, and experiment runner. Such an approach vastly simplifies local deployments. For Docker deployments, we create a custom Quarkus profile that uses PostgreSQL and disables the web UI. --- .../src/main/resources/application.properties | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 opendc-web/opendc-web-server/src/main/resources/application.properties (limited to 'opendc-web/opendc-web-server/src/main/resources/application.properties') diff --git a/opendc-web/opendc-web-server/src/main/resources/application.properties b/opendc-web/opendc-web-server/src/main/resources/application.properties new file mode 100644 index 00000000..d0b567e5 --- /dev/null +++ b/opendc-web/opendc-web-server/src/main/resources/application.properties @@ -0,0 +1,44 @@ +# Copyright (c) 2022 AtLarge Research +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# Enable CORS +quarkus.http.cors=true + +# Security +quarkus.oidc.enabled=${opendc.security.enabled} + +# Runner logging +quarkus.log.category."org.opendc".level=ERROR +quarkus.log.category."org.opendc.web".level=INFO +quarkus.log.category."org.apache".level=WARN + +# OpenAPI and Swagger +quarkus.smallrye-openapi.info-title=OpenDC REST API +%dev.quarkus.smallrye-openapi.info-title=OpenDC REST API (development) +quarkus.smallrye-openapi.info-version=2.1-rc1 +quarkus.smallrye-openapi.info-description=OpenDC is an open-source datacenter simulator for education, featuring real-time online collaboration, diverse simulation models, and detailed performance feedback statistics. +quarkus.smallrye-openapi.info-contact-email=opendc@atlarge-research.com +quarkus.smallrye-openapi.info-contact-name=OpenDC Support +quarkus.smallrye-openapi.info-contact-url=https://opendc.org +quarkus.smallrye-openapi.info-license-name=MIT +quarkus.smallrye-openapi.info-license-url=https://github.com/atlarge-research/opendc/blob/master/LICENSE.txt + +quarkus.swagger-ui.path=docs +quarkus.swagger-ui.always-include=true -- cgit v1.2.3 From acfab9d4ca84e9331bb40c74d300c593915c542a Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 1 Aug 2022 21:51:18 +0200 Subject: feat(web/server): Implement database migrations using Flyway This change updates the Quarkus-based web server to use Flyway for migrating between schema versions. This enables us to evolve the schema and denote it in SQL. --- .../opendc-web-server/src/main/resources/application.properties | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'opendc-web/opendc-web-server/src/main/resources/application.properties') diff --git a/opendc-web/opendc-web-server/src/main/resources/application.properties b/opendc-web/opendc-web-server/src/main/resources/application.properties index d0b567e5..40933304 100644 --- a/opendc-web/opendc-web-server/src/main/resources/application.properties +++ b/opendc-web/opendc-web-server/src/main/resources/application.properties @@ -42,3 +42,7 @@ quarkus.smallrye-openapi.info-license-url=https://github.com/atlarge-research/op quarkus.swagger-ui.path=docs quarkus.swagger-ui.always-include=true + +# Flyway database migrations +quarkus.flyway.baseline-on-migrate=true +quarkus.flyway.migrate-at-start=true -- cgit v1.2.3