A maintainers' dashboard for all metaKGP projects deployed on the server.
Website
·
Request Feature / Report Bug
Table of Contents
Maintos is a maintainer's dashboard which gives maintainers access to information and control on their projects, without requiring explicit access to the server. Maintainers of a project can start/stop the running containers/services, read logs for the project, as well as see and update environment variables.
- Clone this repository.
- Backend:
- Copy
.env.templateto.envand update the values as per Environment Variables. - For the backend to run, Docker must be installed and running.
- Run the backend:
cargo run
- Copy
- Frontend:
- Set the environment variables in
.env.local:VITE_BACKEND_URL: URL of the backendVITE_GH_OAUTH_CLIENT_ID: Client ID of the GitHub OAuth App.
- Run the frontend:
npm install npm run dev
- Set the environment variables in
This project needs a GitHub App. In the Github App, enable "Organization > Members" read-only and "Repository > Metadata" permissions.
GH_CLIENT_ID,GH_CLIENT_SECRET: Client ID and Client Secret for the GitHub App.GH_ORG_NAME: Name of the GitHub organisationJWT_SECRET: A secure string (for signing JWTs)DEPLOYMENTS_DIR: Absolute path to directory containing all the project git repos (deployed)SERVER_PORT: Port where the backend server listens toCORS_ALLOWED_ORIGINS: Frontend URLs
[WIP]
For each project (repository), a .maint file can be present in the root directory. It can have the following fields:
deploy_dir = "backend" # default: "."
compose_file = "docker-compose.prod.yml" # default: "docker-compose.yaml", "docker-compose.yml" (whichever exists)
env_file = ".production.env" # default: ".env"All the fields are optional.
The currently active maintainer(s) of this project. See https://wiki.metakgp.org/w/Metakgp:Project_Maintainer.