Page d'accueil, mentions legales, licence, guide de contribution, catalogue porte a 39 packs
This commit is contained in:
1 parent
6c602c97ad
commit
469305b4a7
33 files changed
+1329
-258
No files matched your search
@@ -0,0 +1,87 @@
|
||||
# Contribuer à Enclume
|
||||
|
||||
Deux formes de contribution, très différentes par leur difficulté.
|
||||
|
||||
## Proposer un pack — le plus utile
|
||||
|
||||
Un pack décrit une technologie : un modèle d'hôte et ses sondes. C'est ce qui fait la valeur
|
||||
d'Enclume, et c'est accessible à quiconque supervise cette technologie au quotidien.
|
||||
|
||||
**Depuis le site**, bouton « Proposer un pack » : collez votre YAML, il est vérifié
|
||||
immédiatement, et une demande de fusion est ouverte après relecture.
|
||||
|
||||
**Par pull request**, si vous préférez : un fichier dans `catalog/<catégorie>/<id>.yml`.
|
||||
|
||||
### Le format
|
||||
|
||||
```yaml
|
||||
id: app-rabbitmq # minuscules, chiffres et tirets
|
||||
name: RabbitMQ # nom lisible, affiché dans le catalogue
|
||||
category: application # system | hardware | application
|
||||
status: to-verify # verified seulement si éprouvé sur un central réel
|
||||
plugin: centreon_rabbitmq_restapi.pl
|
||||
description: Supervision d'un broker RabbitMQ via son API de management.
|
||||
|
||||
host_template:
|
||||
name: App-RabbitMQ-custom # <Famille>-<Techno>-custom
|
||||
alias: Applicatif RabbitMQ
|
||||
parents: [generic-active-host-custom]
|
||||
macros:
|
||||
- {name: RABBITPORT, value: "15672", description: "Port de l'API"}
|
||||
- {name: RABBITPASSWORD, value: "", description: "Mot de passe", is_password: true}
|
||||
|
||||
prerequis: # facultatif mais précieux
|
||||
paquets:
|
||||
debian: [libwww-perl]
|
||||
rhel: [perl-libwww-perl]
|
||||
notes: |
|
||||
Activer le plugin de management et créer un compte en lecture seule.
|
||||
|
||||
services:
|
||||
- name: Queues # donnera le modèle App-RabbitMQ-Queues
|
||||
alias: Queues
|
||||
description: Messages en attente dans les files
|
||||
default: true # false pour une sonde décochée par défaut
|
||||
line: "$CENTREONPLUGINS$/centreon_rabbitmq_restapi.pl --plugin=… --mode=queues …"
|
||||
macros:
|
||||
- {name: WARNING, value: "1000", description: "Seuil warning"}
|
||||
```
|
||||
|
||||
### Les règles
|
||||
|
||||
- **Pas de point-virgule** dans une ligne de commande : c'est le séparateur CLAPI, il casserait
|
||||
le fichier d'import.
|
||||
- **Les seuils en macros** `$_SERVICEXXX$`, jamais en dur. C'est tout l'intérêt d'un modèle.
|
||||
- **Ce qui est commun à l'hôte va sur l'hôte** : ports, comptes, options du plugin. Ce qui est
|
||||
propre à une sonde va sur la sonde : seuils, filtres.
|
||||
- **Aucun mot de passe réel.** Valeur vide et `is_password: true`.
|
||||
- **`status: verified`** uniquement si vous avez exécuté ces commandes sur un Centreon. Sinon
|
||||
`to-verify`, c'est honnête et c'est utile.
|
||||
- `$CENTREONPLUGINS$` est remplacé par le répertoire de plugins choisi par l'utilisateur.
|
||||
|
||||
### Le plus précieux
|
||||
|
||||
Vérifier un pack existant marqué `to-verify` vaut autant qu'en écrire un nouveau. Un
|
||||
`--list-mode` sur le plugin concerné, une exécution réelle, et le passage en `verified` :
|
||||
c'est ce qui rend le catalogue fiable.
|
||||
|
||||
## Contribuer au code
|
||||
|
||||
```bash
|
||||
python3 -m venv .venv && . .venv/bin/activate
|
||||
pip install -r requirements.txt pytest ruff
|
||||
python -m pytest -q
|
||||
sh tests/interface.sh
|
||||
```
|
||||
|
||||
Avant toute proposition, la revue décrite dans [docs/CONVENTIONS.md](docs/CONVENTIONS.md) :
|
||||
`ruff check`, la suite de tests, le test d'interface. Les conventions de nommage y sont aussi.
|
||||
|
||||
Une règle traverse tout le projet : **le serveur n'exécute jamais rien**. Ni CLAPI, ni
|
||||
prérequis, ni contribution. Il écrit des fichiers que l'utilisateur relit avant de les jouer.
|
||||
Toute proposition qui s'en écarte sera refusée, quel que soit son intérêt.
|
||||
|
||||
## Signaler un problème
|
||||
|
||||
Un pack dont le CLAPI généré ne passe pas sur votre central est un signalement de première
|
||||
importance : indiquez la version de Centreon, le pack, et le message d'erreur de `centreon`.
|
||||
Reference in new issue
Block a user