From f0c472b1792779e63fdeb97a470b46300de00050 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Tue, 26 Oct 2021 16:19:55 +0200 Subject: feat(web/api): Initial API implementation in Kotlin This change adds the initial implementation of the new API server in Kotlin, replacing the old API written in Python. The implementation uses Quarkus, RESTEasy, and Hibernate to implement the new API endpoints. The reason for replacing the old API server is unifying the build and deployment toolchains, reducing the number of technologies necessary to work with OpenDC. Furthermore, we envision bundling the entire OpenDC project into a single distributions, allowing users to launch their own deployment trivially. --- opendc-web/opendc-web-api/Dockerfile | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 opendc-web/opendc-web-api/Dockerfile (limited to 'opendc-web/opendc-web-api/Dockerfile') diff --git a/opendc-web/opendc-web-api/Dockerfile b/opendc-web/opendc-web-api/Dockerfile deleted file mode 100644 index 505a69de..00000000 --- a/opendc-web/opendc-web-api/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM python:3.9-slim -MAINTAINER OpenDC Maintainers - -# Ensure the STDOUT is not buffered by Python so that our logs become visible -# See https://stackoverflow.com/q/29663459/10213073 -ENV PYTHONUNBUFFERED 1 - -# Copy OpenDC directory -COPY ./ /opendc - -# Fetch web server dependencies -RUN pip install -r /opendc/requirements.txt && pip install pyuwsgi - -# Create opendc user -RUN groupadd --gid 1000 opendc \ - && useradd --uid 1000 --gid opendc --shell /bin/bash --create-home opendc -RUN chown -R opendc:opendc /opendc -USER opendc - -# Set working directory -WORKDIR /opendc - -CMD uwsgi -M --socket 0.0.0.0:80 --protocol=http --wsgi-file app.py --enable-threads --processes 2 --lazy-app -- cgit v1.2.3 From 77d7ffd9a7a33f08109a2db8a35e4094b2761c51 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Thu, 17 Mar 2022 11:34:55 +0100 Subject: refactor(web): Update Docker deployment for new web API This change updates the Docker deployment configuration for the new web API implemented in Kotlin. The new API migrates to Postgres. Furthermore, with this change, we move the Dockerfiles to their corresponding module. --- opendc-web/opendc-web-api/Dockerfile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 opendc-web/opendc-web-api/Dockerfile (limited to 'opendc-web/opendc-web-api/Dockerfile') diff --git a/opendc-web/opendc-web-api/Dockerfile b/opendc-web/opendc-web-api/Dockerfile new file mode 100644 index 00000000..ff300170 --- /dev/null +++ b/opendc-web/opendc-web-api/Dockerfile @@ -0,0 +1,17 @@ +FROM openjdk:17-slim +MAINTAINER OpenDC Maintainers + +# Obtain (cache) Gradle wrapper +COPY gradlew /app/ +COPY gradle /app/gradle +WORKDIR /app +RUN ./gradlew --version + +# Build project +COPY ./ /app/ +RUN ./gradlew --no-daemon :opendc-web:opendc-web-api:build + +FROM openjdk:17-slim +COPY --from=0 /app/opendc-web/opendc-web-api/build/quarkus-app /opt/opendc +WORKDIR /opt/opendc +CMD java -jar quarkus-run.jar -- cgit v1.2.3