Improved main README and resources files.

This commit is contained in:
Christian P. MOMON 2024-08-20 22:57:44 +02:00
parent 93284171d9
commit 9662d66254
23 changed files with 646 additions and 34 deletions

144
README.md
View file

@ -44,15 +44,43 @@ Read CONCEPT.md and ONTOLOGY.md files.
## INSTALL
Install Java :
Install Java on Debian:
```
apt-get install openjdk-17-jre-headless
```
Download the last release: https://forge.devinsy.fr/statool/statoolinfos/releases
Download the last release: `https://forge.devinsy.fr/statool/statoolinfos/releases` and unzip the package.
Unzip the package and move the `statoolinfos.jar` and `statoolinfo.sh` files in `/srv/statoolinfos/bin/`.
The `srv/` directory is a example of deployment tree:
```
srv/
srv/statoolinfos
srv/statoolinfos/bin
srv/statoolinfos/bin/refresh
srv/statoolinfos/bin/probe
srv/statoolinfos/bin/uptime
srv/statoolinfos/bin/statoolinfos.sh
srv/statoolinfos/bin/crawl
srv/statoolinfos/conf
srv/statoolinfos/conf/sample-probe-http.conf
srv/statoolinfos/conf/log4j2-default.properties
srv/statoolinfos/conf/sample-probe-minetest.conf
srv/statoolinfos/conf/sample-federation.conf
srv/statoolinfos/conf/sample-probe-qrcode.conf
srv/statoolinfos/cache
srv/statoolinfos/statoolinfos-cron.log
srv/statoolinfos/well-known
srv/statoolinfos/well-known/statoolinfos
srv/statoolinfos/well-known/statoolinfos/organization-template.properties
srv/statoolinfos/well-known/statoolinfos/services.properties
srv/statoolinfos/well-known/statoolinfos/BOM
srv/statoolinfos/well-known/statoolinfos/federation-template.properties
srv/statoolinfos/well-known/statoolinfos/service-template.properties
```
Then, move the `statoolinfos.jar` file in `/srv/statoolinfos/bin/`.
Create link:
@ -60,6 +88,15 @@ Create link:
cd /srv/statoolinfos/bin/ ; ln -s statoolinfos.sh statoolinfos
```
Edit script in `/srv/statoolinfos/bin/` to target your federation configuration file.
In case of bad language output, add these lines on top of cron file:
```
LANGUAGE=en_EN.UTF8
LC_ALL=en_EN.UTF-8
```
## Usage
@ -90,7 +127,7 @@ Usage:
statoolinfos list errlog <logfilesorconfigfile> display http error log lines
```
### Simple configuration file
## Simple federation configuration file
Example of `libre-service.eu.conf`:
@ -108,32 +145,87 @@ The field `input` gives the federation properties URL file. Reminder, the Statoo
The field `cache` gives local directory used as data cache.
## Crawl
Example of cron configuration:
The `statoolinfos crawl` command loads the federation configuration file, then downloads the federation properties file and download all files set in.
In case of use with StatoolInfosWeb, never forget to give read permissions to Tomcat server. So, create a dedicated script would help.
Example of script `/srv/statoolinfos/bin/crawl`:
```
55 * * * * root /srv/statoolinfos/bin/statoolinfos crawl /srv/statoolinfos/conf/libre-service.eu.conf >> /srv/statoolinfos/statoolinfos-cron.log
#!/bin/bash
echo "========== CRAWL at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./statoolinfos crawl ../conf/federation.conf
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache
```
Example of cron configuration `/etc/cron.d/statoolinfos`:
```
4 * * * * root /srv/statoolinfos/bin/crawl >> /srv/statoolinfos/statoolinfos-cron.log
```
Adjust your frequency according to your need. In case of large federation, once an hour is a good compromise.
## Uptime
This command is very useful to collect the uptime of services. It's just to share which services are down and since how many time. It is not a monitoring feature because an one hour check is enough for this. Actually, only website are checked.
The `statoolinfos uptime` command is very useful to collect the uptime of services. It's just to share which services are down and since how many time. It is not a monitoring feature because an one hour check is enough for this. Actually, only website are checked.
In case of use with StatoolInfosWeb, never forget to give read permissions to Tomcat server. So, create a dedicated script would help.
Example of script `/srv/statoolinfos/bin/uptime`:
Example of cron configuration:
```
4 * * * * root /srv/statoolinfos/bin/statoolinfos uptime /srv/statoolinfos/conf/libre-service.eu.conf >> /srv/statoolinfos/statoolinfos-cron.log
#!/bin/bash
echo "========== UPTIME at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./statoolinfos uptime ../conf/federation.conf
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache
```
Example of cron configuration `/etc/cron.d/statoolinfos`:
```
4 * * * * root /srv/statoolinfos/bin/uptime >> /srv/statoolinfos/statoolinfos-cron.log
```
One check per hour is a good idea. In the uptime page, the mouse over a yellow status icon show the list of the check results.
In case of crawl, uptime and probe cron on the same computer, you can have different cron frequencies. It is better to have only script for call all them:
```
#!/bin/bash
echo "========== REFRESH at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./probe
./crawl
./uptime
#./htmlize
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache
```
And so your cron can be like that:
```
4 0,12,23 * * * root /srv/statoolinfos/bin/refresh >> /srv/statoolinfos/statoolinfos-cron.log
4 1-11,13-22 * * * root /srv/statoolinfos/bin/uptime >> /srv/statoolinfos/statoolinfos-cron.log
```
## Htmlize removed
The htmlize command is removed since 2024-07.
## Htmlize command **removed**
The `statoolinfos htmlize` command is removed since 2024-07.
As a reminder, the htmlize command generated absolutely all the pages needed for a static website.
@ -142,10 +234,34 @@ As the number of pages generated became too large (> 10000 with 100 organization
A dynamic web site allows to generate page only when it is necessary.
## Probe (Generate metrics files)
### Basics
### Basics
The `statoolinfos probe` command computes data sources to generate metric properties files. In case of already existings file, the data are loaded before the computation to be updated.
In case of use with StatoolInfosWeb, never forget to give read permissions to Tomcat server. So, create a dedicated script would help.
Example of script `/srv/statoolinfos/bin/probe`:
```
#!/bin/bash
echo "========== PROBE at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./statoolinfos probe -previousday ../conf/
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache
```
Note: set a specific configuration file is not necessary, because you can have multiple service to probe. Only probe configuration files will be manage.
Example of cron configuration `/etc/cron.d/statoolinfos`:
```
4 * * * * root /srv/statoolinfos/bin/probe >> /srv/statoolinfos/statoolinfos-cron.log
```
### Sample configuration file
Create a configuration file `/srv/statoolInfos/conf/foo.bar.org.conf`:
@ -166,7 +282,7 @@ Generate the metric file for the first time:
Create a cron file in `/etc/cron.d/statoolinfos` to update the metric file everyday:
```
1 0,12 * * * root /srv/statoolinfos/bin/statoolinfos probe -previousday /srv/statoolinfos/conf/foo.bar.org.conf >> /srv/statoolinfos/cron.log
4 0,12 * * * root /srv/statoolinfos/bin/statoolinfos probe -previousday /srv/statoolinfos/conf/foo.bar.org.conf >> /srv/statoolinfos/cron.log
```
In case of several configuration files, just set the configuration directory (without wildcard):

View file

@ -126,16 +126,22 @@
<!-- Copy stuff -->
<echo message="==========> Copy Stuff" />
<copy file="resources/scripts/${product.name}.sh" todir="${dist.dir}/" overwrite="true" />
<chmod file="${dist.dir}/${product.name}.sh" perm="ugo+rx" />
<copy file="LICENSE" todir="${dist.dir}/" overwrite="true" failonerror="false" />
<!--copy file="README" todir="${dist.dir}/" overwrite="true" failonerror="false" /-->
<copy file="README.md" todir="${dist.dir}/" overwrite="true" failonerror="false" />
<!--copy file="scripts/log4j.properties" todir="${dist.dir}/" overwrite="true" /-->
<mkdir dir="${dist.dir}/srv" />
<copy todir="${dist.dir}/srv/" overwrite="true" failonerror="false">
<fileset dir="resources/srv" includes="**" />
</copy>
<echo message="==========>ZZZZ" />
<mkdir dir="${dist.dir}/conf" />
<copy todir="${dist.dir}/conf">
<fileset dir="${basedir}/resources/conf" includes="*" />
<fileset dir="${basedir}/resources/conf" includes="**" />
</copy>
<!--
<mkdir dir="${dist.dir}/man"/>

1
resources/conf/README.md Normal file
View file

@ -0,0 +1 @@
See the `srv/statoolinfos/conf` directory.

View file

@ -1,14 +0,0 @@
#
# Sample StatoolInfos config file.
#
# Warning: move this file outside the Git directory.
conf.class=federation
conf.protocol=StatoolInfos-0.5.0
conf.crawl.input=https://www.libre-service.eu/.well-known/statoolinfos/libre-service.eu.properties
conf.crawl.cache=/srv/statoolinfos/cache/
conf.htmlize.categories=/srv/statoolinfos/inputs/categories/categories.properties
conf.htmlize.input=https://www.libre-service.eu/.well-known/statoolinfos/libre-service.eu.properties
conf.htmlize.directory=/srv/statoolinfos/www/

View file

@ -1,3 +0,0 @@
LANGUAGE=fr_FR.UTF8
LC_ALL=fr_FR.UTF-8
/5 * * * * root /srv/statoolinfos/bin/statoolinfo.sh >> /srv/statoolinfos/statoolinfos-cron.log

View file

@ -0,0 +1,5 @@
Alias "/.well-known/statoolinfos/" "/srv/statoolinfos/well-known/statoolinfos/"
<Directory "/srv/statoolinfos/well-known/statoolinfos">
Options +Indexes
Require all granted
</Directory>

View file

@ -0,0 +1,2 @@
4 0,12,23 * * * root /srv/statoolinfos/bin/refresh >> /srv/statoolinfos/statoolinfos-cron.log
4 1-11,13-22 * * * root /srv/statoolinfos/bin/uptime >> /srv/statoolinfos/statoolinfos-cron.log

View file

@ -0,0 +1,7 @@
#!/bin/bash
echo "========== CRAWL at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./statoolinfos crawl ../conf/federation.conf
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache

View file

@ -0,0 +1,7 @@
#!/bin/bash
echo "========== PROBE at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./statoolinfos probe -previousday ../conf/
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache

View file

@ -0,0 +1,10 @@
#!/bin/bash
echo "========== REFRESH at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./probe
./crawl
./uptime
#./htmlize
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache

View file

@ -0,0 +1,22 @@
#!/bin/bash
# Optional environment settings:
# export LOG4J_CONFIGURATION_FILE="toto.properties"
# export LOG4J_LEVEL=ERROR
# https://logging.apache.org/log4j/log4j-2.11.2/manual/configuration.html#System_Properties
# Java check.
javaCheck=`which java`
if [[ "$javaCheck" =~ ^/.* ]]; then
#echo "Java requirement............... OK"
# Optional system properties:
# LOGFILE="-Dlog4j2.configurationFile=../../log4j2.properties"
# LOGLEVEL="-Dlog4j2.level=ERROR"
# IPV6ONLY="-Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true"
# https://logging.apache.org/log4j/log4j-2.11.2/manual/configuration.html#System_Properties
java -Djava.awt.headless=true $IPV6ONLY $LOGFILE $LOGLEVEL -jar "$(dirname "$0")"/statoolinfos.jar $@
else
echo "Java requirement............... MISSING"
fi

View file

@ -0,0 +1,7 @@
#!/bin/bash
echo "========== UPTIME at $(date --iso-8601=seconds)"
cd $(dirname "$0")
./statoolinfos uptime ../conf/federation.conf
chmod -R g+r /srv/statoolinfos/cache
chgrp -R tomcat /srv/statoolinfos/cache

View file

@ -0,0 +1,8 @@
# [Configuration]
conf.class=federation
conf.protocol=StatoolInfos-0.6.0
conf.crawl.input=https://www.libre-service.eu/.well-known/statoolinfos/libre-service.eu.properties
conf.crawl.cache=/srv/statoolinfos/cache/

View file

@ -0,0 +1,8 @@
# [Configuration]
conf.class=service
conf.protocol=StatoolInfos-0.6.0
conf.probe.types=HttpAccessLog, HttpErrorLog
conf.probe.httpaccesslog.file=/var/log/apache2/www.libre-service.eu/www.libre-service.eu-access.log*
conf.probe.httperrorlog.file=/var/log/apache2/www.libre-service.eu/www.libre-service.eu-error.log*
conf.probe.target=/srv/statoolinfos/well-known/statoolinfos/www.libre-service.eu-metrics.properties

View file

@ -20,4 +20,4 @@ conf.probe.minetest.players.db.password=
conf.probe.minetest.datafilepath=
# Target file to write computed metrics. If file exists then it is renamed with '.bak'.
conf.probe.target=/home/cpm/Projets/StatoolInfos/EnvTest/minetest/test.metrics
conf.probe.target=/srv/statoolinfos/well-known/statoolinfo/www.myservice.org-metrics.properties

View file

@ -19,6 +19,6 @@ conf.probe.httpaccesslog.pattern=
conf.probe.httperrorlog.file=/var/log/apache2/qrcode.libre-service.eu/qrcode.libre-service.eu-error.log*
# Target file to write computed metrics. If file exists then it is renamed with '.bak'.
conf.probe.target=/srv/statoolinfos/well-known/statoolinfos/qrcode.libre-service.eu.metrics
conf.probe.target=/srv/statoolinfos/well-known/statoolinfos/qrcode.libre-service.eu-metrics.properties

View file

@ -0,0 +1 @@


View file

@ -0,0 +1,87 @@
# federation.properties
# [File]
# Classe du fichier (valeur parmi {Federation, Organization, Service, Device}, obligatoire).
file.class = federation
# Version de l'ontologie utilisée utilisé (type STRING, recommandé).
file.protocol = ChatonsInfos-0.5
# Date et horaire de génération du fichier (type DATETIME, recommandé, ex. 2020-07-06T14:23:20).
file.datetime =
# Nom du générateur du fichier (type STRING, recommandé).
file.generator =
# [Federation]
# Nom de la fédération (type STRING, obligatoire).
federation.name=
# Description de la fédération (type STRING, recommandé).
federation.description =
# Lien du site web de la fédération (type URL, recommandé).
federation.website =
# Lien du logo de la fédération (type URL, recommandé).
federation.logo =
# Lien de la page web de contact de la fédération (type URL, recommandé).
federation.contact.url =
# Courriel de contact de la fédération (type EMAIL, recommandé).
federation.contact.email =
# Lien du compte Twitter de la fédération (type URL, optionnel).
federation.socialnetworks.twitter =
# Lien de la page Facebook de la fédération (type URL, optionnel).
federation.socialnetworks.facebook =
# Lien du compte Mastodon de la fédération (type URL, optionnel).
federation.socialnetworks.mastodon =
# Lien du compte Diaspora de la fédération (type URL, optionnel).
federation.socialnetworks.diaspora =
# Lien du compte PeerTube de la fédération(type URL, optionnel).
federation.socialnetworks.peertube =
# Lien du compte Funkwhale de la fédération (type URL, optionnel).
federation.socialnetworks.funkwhale =
# Lien du compte Pixelfeld de la fédération (type URL, optionnel).
federation.socialnetworks.pixelfeld =
# Lien du compte Mobilizon de la fédération (type URL, optionnel).
federation.socialnetworks.mobilizon =
# Lien de la page web des mentions légales de la fédération (type URL, recommandé).
federation.legal.url =
# Lien de la documentation web de la fédération (type URL, recommandé).
federation.documentation.url =
# Lien de la documentation technique de la fédération (type URL, recommandé).
federation.guide.technical =
# Lien des tutoriels web de la fédération (type URL, recommandé).
federation.guide.technical =
# Date de naissance de la fédération (type DATE (AAAA-MM-JJ ou JJ/MM/AAAA), recommandé).
federation.startdate =
# [Subs]
# Un lien vers un fichier properties complémentaire (type URL, optionnel)
# Une clé (nomination libre) pour chacune de vos organisations,
# par exemple : subs.monchaton = https://www.monchaton.ext/.well-known/monchaton.properties
subs.01 =
# [Metrics]

View file

@ -0,0 +1,136 @@
# membres.properties
# [File]
# Classe du fichier (valeur parmi {Federation, Organization, Service, Device}, obligatoire).
file.class = organization
# Version de l'ontologie utilisée utilisé (type STRING, recommandé, ex. ChatonsInfos-0.1).
file.protocol = ChatonsInfos-0.5
# Date et horaire de génération du fichier (type DATETIME, recommandé, ex. 2020-07-06T14:23:20).
file.datetime =
# Nom du générateur du fichier (type STRING, recommandé, ex. Christian avec ses doigts).
file.generator =
# [Organisation]
# Nom de l'organisation (type STRING, obligatoire, ex. LibreServiceEU).
organization.name =
# Description de l'organisation (type STRING, recommandé, ex. LibreServiceEU est le chaton de Devinsy).
organization.description =
# Type d'organisation (un parmi {ASSOCIATION, INFORMAL, COOPERATIVE, MICROCOMPANY, COMPANY, INDIVIDUAL, OTHER}, obligatoire).
organization.type =
# Lien du site web de l'organisation (type URL, recommandé, ex. https://www.libre-service.eu/).
organization.website =
# Lien du logo de l'organisation (type URL, recommandé, ex. https://www.libre-service.eu/.well-known/statoolinfos/libre-service.eu-logo-carre.svg).
organization.logo =
# Liens vers les comptes réseaux sociaux de l'organisation (type URL, optionnel).
# Liste non exhaustive à laquelle vous pouvez ajouter d'autres services.
organization.socialnetworks.diaspora =
organization.socialnetworks.facebook =
organization.socialnetworks.funkwhale =
organization.socialnetworks.mastodon =
organization.socialnetworks.pleroma =
organization.socialnetworks.mobilizon =
organization.socialnetworks.peertube =
organization.socialnetworks.pixelfeld =
organization.socialnetworks.twitter =
# Adresse vers les salons/équipes de discussion publics de l'organisation (type STRING, optionnel).
# Liste non exhaustive à laquelle vous pouvez ajouter d'autres services.
organization.chatrooms.xmpp =
organization.chatrooms.irc =
organization.chatrooms.matrix =
organization.chatrooms.rocketchat =
organization.chatrooms.mattermost =
# Nom du propriétaire de l'organisation (type STRING, optionnel, ex. Devinsy).
organization.owner.name =
# Lien du site web du propriétaire de l'organisation (type URL, optionnel, ex. https://www.devinsy.fr/).
organization.owner.website =
# Lien du logo du propriétaire de l'organisation (type URL, optionnel, ex. https://www.devinsy.fr/logo_devinsy.svg).
organization.owner.logo =
# Lien de la page web de contact de l'organisation (type URL, recommandé, ex. https://www.libre-service.eu/contact.html).
organization.contact.url =
# Courriel de contact de l'organisation (type EMAIL, recommandé, ex. contact@libre-service.eu).
organization.contact.email =
# Lien de la page des mentions légales de l'organisation (type URL, recommandé, ex. https://www.libre-service.eu/mentions_legales.html).
organization.legal.url =
# Lien de la documentation technique de l'organisation (type URL, recommandé, ex. https://forge.devinsy.fr/libre-service.eu/documentation).
organization.guide.technical =
# Lien de la documentation utilisateur de l'organisation (type URL, recommandé, ex. https://www.libre-service.eu/services.xhtml).
organization.guide.user =
# Statut de l'organisation (un parmi {ACTIVE, IDLE, AWAY}, obligatoire).
organization.status.level =
# Description du statut de l'organisation (type STRING, optionnel, ex. en sommeil).
organization.status.description =
# Date de création de l'organisation (type DATE, recommandé, ex. 08/11/2018).
organization.startdate =
# Date de fermeture de l'organisation (type DATE, optionnel, ex. 22/02/2022).
organization.enddate =
# Date d'entrée dans le collectif (type DATE, obligatoire, ex. 08/11/2018).
organization.memberof.chatons.startdate =
# Date de sortie du collectif (type DATE, optionnel, ex. 08/11/2019).
organization.memberof.chatons.enddate =
# Statut en tant que membre de l'organisation (un parmi {ACTIVE, IDLE, AWAY}, obligatoire).
organization.memberof.chatons.status.level =
# Description du statut en tant que membre de l'organisation (type STRING, optionnel, ex. en sommeil).
organization.memberof.chatons.status.description =
# Pays de l'organisation (type STRING, recommandé, ex. France).
organization.country.name =
# Code pays de l'organisation (type COUNTRY_CODE sur 2 caractères, obligatoire, ex.ex. FR ou BE ou CH ou DE ou GB).
# Table ISO 3166-1 alpha-2 : https://fr.wikipedia.org/wiki/ISO_3166-1#Table_de_codage
organization.country.code =
# Géolocalisation de l'organisation
# Coordonnées GPS
# Latitude (type DECIMAL_DEGREE, recommandé, format DD, ex. 15,23456).
organization.geolocation.latitude =
# Longitude (type DECIMAL_DEGREE, recommandé, format DD, ex. -30,67890).
organization.geolocation.longitude =
# Adresse (type STRING, recommandé, ex. 1 rue croquette, 92370 Chaville).
organization.geolocation.address =
# Liens vers les services de paiement permettant de récolter des donations pour votre chaton (type URL, optionnel).
# Dans le cas d'une solution maison (exemple : pont vers votre banque), choisir "organization.funding.custom".
# Liste non exhaustive à laquelle vous pouvez ajouter d'autres services.
organization.funding.liberapay =
organization.funding.tipee =
organization.funding.helloasso =
organization.funding.paypal =
organization.funding.custom =
# [Subs]
# Un lien vers un fichier properties complémentaire (type URL, optionnel)
# Une clé (nomination libre) pour chacun de vos services,
# par exemple pour un service etherpad : subs.etherpad = https://www.monchaton.ext/.well-known/etherpad.properties
subs.foo1 =
# [Metrics]

View file

@ -0,0 +1,163 @@
# service.properties
#WARNING : cette fiche service ne concerne que les services logiciels
# [File]
# Classe du fichier (valeur parmi {Federation, Organization, Service, Device}, obligatoire).
file.class = service
# Version de l'ontologie utilisée utilisé (type STRING, recommandé).
file.protocol = ChatonsInfos-0.5
# Date et horaire de génération du fichier (type DATETIME, recommandé, ex. 2020-07-06T14:23:20).
file.datetime =
# Nom du générateur du fichier (type STRING, recommandé).
file.generator =
# [Service]
# Nom du service (type STRING, obligatoire).
service.name =
# Description du service (type STRING, recommandé).
service.description =
# Lien du site web du service (type URL, obligatoire - si pas possible, merci de créer une page de présentation du service).
service.website =
# Lien du logo du service (type URL, recommandé, ex. https://www.libre-service.eu/.well-known/statoolinfos/logo.svg).
service.logo =
# Lien de la page web des mentions légales du service (type URL, recommandé).
service.legal.url =
# Lien de la documentation web du service (type URL, recommandé).
service.guide.technical =
# Lien des aides web pour le service (type URL, recommandé).
service.guide.user =
# Lien de la page de support du service (type URL, recommandé).
service.contact.url =
# Courriel du support du service (type EMAIL, recommandé).
service.contact.email =
# Date d'ouverture du service (type DATE, obligatoire, ex. 22/02/2022).
service.startdate =
# Date de fermeture du service (type DATE, optionnel, ex. 22/02/2022).
service.enddate =
# Statut du service (un parmi {OK, WARNING, ALERT, ERROR, OVER, VOID}, obligatoire).
# OK : tout va bien (service en fonctionnement nominal).
# WARNING : attention (service potentiellement incomplet, maintenance prévue, etc.).
# ALERT : alerte (le service connait des dysfonctionnements, le service va bientôt fermer, etc.).
# ERROR : problème majeur (service en panne).
# OVER : terminé (le service n'existe plus).
# VOID : indéterminé (service non ouvert officiellement, configuration ChatonsInfos en cours, etc.).
service.status.level =
# Description du statut du service (type STRING, optionnel, ex. mise à jour en cours)
service.status.description =
# Inscriptions requises pour utiliser le service (un ou plusieurs parmi {None, Free, Member, Client}, obligatoire, ex. Free,Member).
# None : le service s'utilise sans inscription.
# Free : inscription ouverte à tout le monde et gratuite.
# Member : inscription restreinte aux membres (la notion de membre pouvant être très relative, par exemple, une famille, un cercle damis, adhérents d'association…).
# Client : inscription liée à une relation commerciale (facture…).
service.registration =
# Capacité à accueillir de nouveaux utilisateurs (un parmi {OPEN, FULL}, obligatoire).
# OPEN : le service accueille de nouveaux comptes.
# FULL : le service n'accueille plus de nouveau compte pour l'instant.
service.registration.load =
# Type d'installation du service, une valeur parmi {DISTRIBUTION, PROVIDER, PACKAGE, TOOLING, CLONEREPO, ARCHIVE, SOURCES, CONTAINER}, obligatoire.
# DISTRIBUTION : installation via le gestionnaire d'une distribution (apt, yum, etc.).
# PROVIDER : installation via le gestionnaire d'une distribution configuré avec une source externe (ex. /etc/apt/source.list.d/foo.list).
# PACKAGE : installation manuelle d'un paquet compatible distribution (ex. dpkg -i foo.deb).
# TOOLING : installation via un gestionnaire de paquets spécifique, différent de celui de la distribution (ex. pip…).
# CLONEREPO : clone manuel d'un dépôt (git clone…).
# ARCHIVE : application récupérée dans un tgz ou un zip ou un bzip2…
# SOURCES : compilation manuelle à partir des sources de l'application.
# CONTAINER : installation par containeur (Docker, Snap, Flatpak, etc.).
# L'installation d'un service via un paquet Snap avec apt sous Ubuntu doit être renseigné CONTAINER.
# L'installation d'une application ArchLinux doit être renseignée DISTRIBUTION.
# L'installation d'une application Yunohost doit être renseignée DISTRIBUTION.
service.install.type =
# [Software]
# Nom du logiciel (type STRING, obligatoire).
software.name =
# Lien du site web du logiciel (type URL, recommandé).
software.website =
# Lien web vers la licence du logiciel (type URL, obligatoire).
software.license.url =
# Nom de la licence du logiciel (type STRING, obligatoire).
software.license.name =
# Version du logiciel (type STRING, recommandé).
software.version =
# Lien web vers les sources du logiciel (type URL, recommandé).
software.source.url =
# Liste de modules optionnels installés (type VALUES, optionnel, ex. Nextcloud-Calendar,Nextcloud-Talk).
software.modules =
# [Host]
# Nom de l'hébergeur de la machine qui fait tourner le service, dans le cas d'un auto-hébergement c'est vous ! (type STRING, obligatoire).
host.name =
# Description de l'hébergeur (type STRING, optionnel).
host.description =
# Nom générique de la distribution installée sur le serveur (type STRING, obligatoire, ex. YunoHost).
host.server.distribution =
# Type de serveur (un parmi {NANO, PHYSICAL, VIRTUAL, SHARED, CLOUD}, obligatoire, ex. PHYSICAL).
# NANO : nano-ordinateur (Raspberry Pi, Olimex…)
# PHYSICAL : machine physique
# VIRTUAL : machine virtuelle
# SHARED : hébergement mutualisé
# CLOUD : infrastructure multi-serveurs
host.server.type =
# Type d'hébergement (un parmi {HOME, HOSTEDBAY, HOSTEDSERVER, OUTSOURCED}, obligatoire, ex. HOSTEDSERVER).
# HOME : hébergement à domicile
# HOSTEDBAY : serveur personnel hébergé dans une baie d'un fournisseur
# HOSTEDSERVER : serveur d'un fournisseur
# OUTSOURCED : infrastructure totalement sous-traitée
host.provider.type =
# Si vous avez du mal à remplir les champs précédents, ce tableau pourra vous aider :
# NANO PHYSICAL VIRTUAL SHARED CLOUD
# HOME pm pm vm shared cloud
# HOSTEDBAY pm pm vm shared cloud
# HOSTEDSERVER -- pm vm shared cloud
# OUTSOURCED -- -- vps shared cloud
# Légendes : pm : physical machine ; vm : virtual machine ; vps : virtual private server.
# Nom du logiciel hyperviseur (type STRING, optionnel, ex. KVM).
host.provider.hypervisor =
# Pays de l'hébergeur (type STRING, recommandé).
host.country.name =
# Code pays de l'hébergeur (type COUNTRY_CODE sur 2 caractères, obligatoire, ex. FR ou BE ou CH ou DE ou GB).
# Table ISO 3166-1 alpha-2 : https://fr.wikipedia.org/wiki/ISO_3166-1#Table_de_codage
host.country.code =
# [Subs]
# Un lien vers un fichier properties complémentaire (type URL, optionnel).
# Une clé (nomination libre) pour chacun de vos métriques spécifiques,
# par exemple pour un service etherpad : subs.metrics-etherpad = https://www.monchaton.ext/.well-known/metrics-etherpad.properties
subs.foo =

View file

@ -0,0 +1,43 @@
# File + organization + services + machines + metrics
# [File]
file.class=organization
file.generator=Cpm
file.datetime=2022-07-22T17:35:58
file.protocol=StatoolInfos-0.5
# [Organization]
organization.name=Services au public
organization.description=Les services publics de Libre-service.eu
organization.website=https://www.libre-service.eu/
organization.logo=https://www.libre-service.eu/.well-known/statoolinfos/libre-service.eu-logo-public.png
organization.status.level=ACTIVE
organization.status.description=En activité
organization.owner.name=Libre-service.eu
organization.owner.website=https://www.libre-service.eu/
organization.owner.logo=https://www.libre-service.eu/.well-known/statoolinfos/libre-service.eu-logo-carre.png
organization.contact.url=https://www.libre-service.eu/contact.xhtml
organization.contact.email=contact@libre-service.eu
organization.socialnetworks.mastodon=
organization.legal.url=https://www.libre-service.eu/mentions-legales.xhtml
organization.guide.user=https://www.libre-service.eu/
organization.guide.technical=https://forge.devinsy.fr/libre-service.eu/documentation
organization.startdate=01/10/2021
organization.enddate=
organization.memberof.libreserviceeu.status.level=ACTIVE
organization.memberof.libreserviceeu.status.description=
organization.memberof.libreserviceeu.startdate=01/10/2021
organization.memberof.libreserviceeu.enddate=
organization.country.name=France
organization.country.code=FR
organization.type=INFORMAL
# [Subs]
subs.audio=https://audio.libre-service.eu/.well-known/statoolinfos/audio.libre-service.eu.properties
subs.minetest=https://minetest.libre-service.eu/.well-known/statoolinfos/minetest.libre-service.eu.properties
subs.pad=https://pad.libre-service.eu/.well-known/statoolinfos/pad.libre-service.eu.properties
subs.paste=https://paste.libre-service.eu/.well-known/statoolinfos/paste.libre-service.eu.properties
subs.qrcode=https://qrcode.libre-service.eu/.well-known/statoolinfos/qrcode.libre-service.eu.properties
subs.visio=https://visio.libre-service.eu/.well-known/statoolinfos/visio.libre-service.eu.properties
# [Metrics]