Gitlab Monitor is an open source project published by LINAGORA. This tool is used in conjunction with Gitlab to analyze and monitor the Gitlab instance in use.
The Gitlab Monitor v1.0.0 package is already available, allowing you to interact in a simplified way with the API of your Gitlab instance.
Gitlab Monitor works as follows, simplified interactions between the Gitlab API, your Gitlab Monitor database and a data visualization program called metabase, for which you use your own instance.
Gitlab Monitor offers several benefits :
- remove the projects you want, apply filters to specify your request (date filter, retrieve precise information such as commits)
- Save retrieved data to a database or JSON file as required
- Visualize your data and customize your dashboards via metabase software
- Store your queries in JSON files, which you can pass on as parameters for features such as project list archiving.
- scan-projects, command used to retrieve all projects from Gitlab
- scan-project [ID], command used to retrieve one project by knowing its ID
- options --commit and --no-database
See the entire Gitlab Monitor Documentation [here](TODO: add documentation website link).
An easy installation of the application will be set up for version 2, for the moment you can refer to the [Installation Guide](TODO: add link).
Contributions are very welcome. To learn more, see the [Contributor Guide](TODO: add link).
Distributed under the terms of the GPL v3 license, Gitlab Monitor is free and open source software.
Afin de pouvoir accéder à la base donnée présent sur le pod k8s depuis l'exterieur une première solution (non sécurisé) peut être envisagé pour tester. Créer un service NodePort qui ressemblerai à ça :
apiVersion: v1
kind: Service
metadata:
name: postgres-service
namespace: default
spec:
type: NodePort
selector:
app: postgres
ports:
- protocol: TCP
port: 5432 # Port utilisé par PostgreSQL
targetPort: 5432 # Port dans le conteneur
nodePort: 30000 # Port exposé par Kubernetes (entre 30000 et 32767)
Ensuite il faut vérifier que la base de donnée accepte les connexions depuis l’extérieur en modifiant le fichier de config de postgres : pg_hba.conf en y ajoutant les lignes suivantes :
- host all all 0.0.0.0/0 md5
- listen_addresses = '*' Enfin pour s'y connecter depuis l'application python : import psycopg2 Remplace par l'IP de ton nœud et le NodePort configuré HOST = "192.168.1.100" # IP du nœud Kubernetes PORT = 30000 # NodePort exposé DATABASE = "nom_de_ta_base" USER = "ton_utilisateur" PASSWORD = "ton_mot_de_passe"
A réfléchir. Eventuellement Discourse ?
Créer un site vitrine pour le projet à destination du public : Choix de technologie :
- pelican pour le backend (framework python léger)
- miligram pour le front (framework css) Le site doit rester simple et rapide à modifier ainsi que respecter la charte graphique de Linagora
Forcer le pull d'une image lors d'une mise à jour, sans avoir à redémarrer le déploiement k8s. Voir Deployment Strategy.
Authors: Maïlys Jara, Flavien Perez
Copyright: Linagora 2024-2025
To contact the core contributors, see the [Contact section](TODO: add doc link) of the documentation.