Skip to content

metakgp/maintos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Contributors Forks Stargazers Issues MIT License Wiki


image

Maintos

A maintainers' dashboard for all metaKGP projects deployed on the server.
Website · Request Feature / Report Bug

Table of Contents

About The Project

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.

(back to top)

Development

  1. Clone this repository.
  2. Backend:
    • Copy .env.template to .env and update the values as per Environment Variables.
    • For the backend to run, Docker must be installed and running.
    • Run the backend:
      cargo run
  3. Frontend:
    • Set the environment variables in .env.local:
      • VITE_BACKEND_URL: URL of the backend
      • VITE_GH_OAUTH_CLIENT_ID: Client ID of the GitHub OAuth App.
    • Run the frontend:
      npm install
      npm run dev

Environment Variables

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 organisation
  • JWT_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 to
  • CORS_ALLOWED_ORIGINS: Frontend URLs

Deployment

[WIP]

Project-wide deployment settings

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.

Contact

📫 Metakgp - Metakgp's slack invite Metakgp's email metakgp's Facebook metakgp's LinkedIn metakgp's Twitter metakgp's Instagram

Maintainer(s)

The currently active maintainer(s) of this project. See https://wiki.metakgp.org/w/Metakgp:Project_Maintainer.

Additional documentation

(back to top)

About

A maintainers' dashboard for all metaKGP projects deployed on the server.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors