summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-api/src
AgeCommit message (Collapse)Author
2022-08-03feat(web/runner): Avoid REST layer if possibleFabian Mastenbroek
This change updates the Quarkus extension for the OpenDC runner to avoid the REST layer if possible, by providing an implementation of `JobManager` that directly communicates with the `JobService`. This means the runner does not have to traverse the authentication layer.
2022-08-03refactor(web/runner): Support pluggable job managerFabian Mastenbroek
This change introduces a new interface `JobManager` that is responsible for communicating with the backend about the available jobs and updating their status when the runner is simulating a job. This manager can be injected into the `OpenDCRunner` class and allows users to provide different sources for the jobs, not only the current REST API.
2022-05-18feat(web/runner): Add Quarkus extension for OpenDC runnerFabian Mastenbroek
This change adds a Quarkus extension that hosts the OpenDC web runner for a (potentially local) OpenDC API instance. This functionality enables a simplified developer experience by allowing users to spawn the complete OpenDC stack with a single command.
2022-04-06feat(web/ui): Add support for unauthenticated user accessFabian Mastenbroek
This change updates the web UI and API to support unauthenticated user access. Such functionality is helpful when there is just a single user that wants to try OpenDC.
2022-04-05feat(web/api): Include web UI in development modeFabian Mastenbroek
This change adds support for serving the web UI of OpenDC while in the development mode of the API server.
2022-04-04fix(web/api): Support dynamic JSON type selection for DBFabian Mastenbroek
This change adds support for dynamically selecting the appropriate JSON type for the current database. For Postgres, this will be the JSONB type, while for H2 this is either the BLOB or JSON type.
2022-04-04feat(web/api): Initial API implementation in KotlinFabian Mastenbroek
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.