Français
Projets & Services
Un projet regroupe des services liés, en général ceux d'une même application. Il ne tourne pas lui-même : seuls ses services démarrent et s'arrêtent.
Un service est un processus que Runeya sait démarrer, arrêter et surveiller. Il porte sa ou ses commandes, son répertoire de travail, ses variables, ses parseurs de logs, et l'agent sur lequel il tourne.
Déclarer un service
Un service a besoin d'un nom et d'une commande. Les autres champs sont facultatifs.
| Champ | À quoi ça sert |
|---|---|
| Commandes | Un service peut en porter plusieurs (dev, build, test…), chacune avec son libellé et, si besoin, son propre répertoire. |
| Ports | Les ports que le service occupe. Ils sont repris dans ses variables, par exemple {{service.PORT}}. |
| Groupes | Étiquettes libres pour ranger les services d'un projet. |
| URLs locales | Domaines servis en local, associés à un port (voir le proxy Traefik dans les réglages d'agent). |
| Redémarrage auto | Relancer automatiquement le service quand il s'arrête en erreur. |
| Healthcheck | Requête HTTP ou commande lancée à intervalle régulier. Son résultat s'affiche dans l'interface. |
| Raccourcis | Commandes ponctuelles lancées à la demande depuis la fiche du service. |
| Sources de logs | Fichiers, MongoDB ou MySQL, en plus de la sortie standard. Voir Sources de logs. |
Natif ou Docker
Un service tourne soit directement sur la machine de l'agent, soit dans un conteneur Docker. L'image peut venir d'un registre ou être construite sur place, et des commandes peuvent s'exécuter au démarrage du conteneur. Les autres réglages du service sont les mêmes dans les deux cas.
Contrôler un service
Les boutons de la fiche démarrent, arrêtent et redémarrent le service.
- Arrêter envoie un SIGTERM, puis un SIGKILL si le processus n'est pas parti au bout de 10 secondes. Ce délai laisse à un serveur le temps de fermer ses connexions.
- Supprimer retire la configuration du service, jamais vos fichiers.
Un service est stopped, starting, running ou errored. Quand un healthcheck est configuré, sa santé (healthy, unhealthy, unknown) est suivie séparément. Un service peut être running et unhealthy en même temps.