Skip to content

Latest commit

 

History

History
54 lines (43 loc) · 1.56 KB

README.md

File metadata and controls

54 lines (43 loc) · 1.56 KB

plugin-jam-system

Vue + Spring-Boot System handling plugin jams:

Following are the planned features:

  1. File uploading
  • World upload
  • Plugin upload (Superseded by 4.)
  1. Discord Bot Settings for TeamLeader
  • Project Description
  • Team name editing
  • Link to Github
  1. Orga dashboard
  • Team status
    • active Deployments
    • World downloads
    • plugin jar downloads
  1. Server management
  • Allow preinstalled framework selectionFrameworks
  • Max Playercount
  • Server restart
  • Redeployment request
    • Select which buildtool should be used (maven or gradle)
    • Task selection
    • Artifact path and file name declaration
  1. OAuth2
    • Discord

Build image and run container

We decided against a multistep docker image with a build step for the jar artifact. Observations have shown that the whole process took way longer than building the artifact local.

  1. cd app
  2. ./gradlew clean build
  3. cd ../docker/

Docker

  1. docker-compose build
  2. docker-compose up -d

Kubernetes with nerdctl and kubectl

  1. nerdctl --namespace k8s.io compose build
  2. kubectl apply -f kubernetes/database-persistence.yaml to create persistence data claim separately. We don't want to lose the data when we redeploy.
  3. kubectl apply -k kubernetes

Considerations regarding improving the container setup

  • Not adding the config file on image build instead
    • Docker: Mount the config as volume
    • Kubernetes: Create a configMap using the config file and mount it as well