diff --git a/pica-metrics-bot/CHANGELOG.md b/pica-metrics-bot/CHANGELOG.md index d7c25cdf44137746b67a95a130c0b5178bb73d65..b3b16d10a84a71bfcbbb03d6b0fcd1eb88918c10 100644 --- a/pica-metrics-bot/CHANGELOG.md +++ b/pica-metrics-bot/CHANGELOG.md @@ -1,3 +1,11 @@ +Pour les prochaines versions, voir le changelog des releases ici : https://gitlab.utc.fr/picasoft/picasoft-metrics-bot +Désormais, les images construites ici sont synchronisées avec le numéro de tag des releases. + +# Version 1.0 + +* Synchronisation du numéro de version avec les tags sur le dépôt distant +* Ajout de Wekan et meilleure gestion d'erreur pour Etherpad + # Version 1.0.2 * Mise à jour avec le code permettant de récupérer le nombre de connexion websocket sur Mattermost. diff --git a/pica-metrics-bot/Dockerfile b/pica-metrics-bot/Dockerfile index 3ea6c860f9c0a85ed5833b93c062af6f6b784712..45cfacdb95197963985ca23ce04235d188dc1bc3 100644 --- a/pica-metrics-bot/Dockerfile +++ b/pica-metrics-bot/Dockerfile @@ -1,9 +1,15 @@ FROM python:3.8-alpine LABEL maintainer quentinduchemin@tuta.io +ARG METRICS_BOT_VERSION=v1.0 -# Copy all code -COPY picasoft-metrics-bot /code +RUN apt-get install -y wget + +# Get release +RUN wget -O code.tar.gz https://gitlab.utc.fr/picasoft/projets/picasoft-metrics-bot/-/archive/${METRICS_BOT_VERSION}/picasoft-metrics-bot-${METRICS_BOT_VERSION}.tar.gz \ + && tar xvf code.tar.gz \ + && mv picasoft-metrics-bot-${METRICS_BOT_VERSION} /code + && rm code.tar.gz # Custom Picasoft entrypoint COPY entrypoint.sh /code/entrypoint.sh diff --git a/pica-metrics-bot/README.md b/pica-metrics-bot/README.md index dab4b5051fd87bd0fe686e5a888429182eefe87d..622a8fbc62fff1973fa8f4800984242c8a6f1b6d 100644 --- a/pica-metrics-bot/README.md +++ b/pica-metrics-bot/README.md @@ -2,12 +2,9 @@ Dans ce dossier se trouvent les éléments de configuration permettant de faire fonctionner [Picasoft Metrics Bot](https://gitlab.utc.fr/picasoft/projets/picasoft-metrics-bot). -C'est un projet indépendant ajouté en submodule dans le dossier [picasoft-metrics-bot](./picasoft-metrics-bot), car il est léger et car cela facilite la construction du Dockerfile. - Par rapport au projet original : * La configuration en production est versionnée ici, et un Docker Compose adapté est proposé * Un [entrypoint](./entrypoint.sh) modifié permet d'injecter des secrets sous forme de variables d'environnement -* La construction de l'image est gérée par la chaîne d'intégration et permet d'analyser la sécurité de l'image * Ajout d'InfluxDB directement adossé à Picasoft Metrics Bot, dans un seul Docker Compose ## Premier lancement @@ -18,14 +15,6 @@ L'utilisateur InfluxDB qui doit être utilisé dans Picasoft Metrics Bot est cel ## Mise à jour -Le projet Picasoft Metrics Bot n'a pas de numéro de version. - -À la place, chaque construction par la chaîne d'intégration utilisera le numéro de commit associé au submodule pour construire l'image avec le code du dépôt Picasoft Metrics Bots. - -Il suffit de lancer la commande suivante pour mettre à jour le submodule au dernier commit du dépôt contenant le code : - -```bash -git submodule update --recursive --remote pica-metrics-bot -``` +Il suffit de changer `METRICS_BOT_VERSION` du `Dockerfile` et d'ajuster le tag de l'image dans le fichier Compose. -Puis de changer le tag dans le fichier Docker Compose, de pousser les changements et de lancer manuellement la construction au niveau du Pipeline du commit. +Les releases sont disponibles ici : https://gitlab.utc.fr/picasoft/projets/picasoft-metrics-bot/-/releases diff --git a/pica-metrics-bot/config.json b/pica-metrics-bot/config.json index ee2dffcc0e0cb0b6197173b3ea161e5c2abca1f3..df3134d9af2ebe8dd830a2cf72d71b733d6b6176 100644 --- a/pica-metrics-bot/config.json +++ b/pica-metrics-bot/config.json @@ -23,6 +23,14 @@ "password" : "MATTERMOST_PASSWORD", "name" : "team.picasoft.net" } + ], + "wekan" : [ + { + "url" : "https://kanban.picasoft.net", + "user" : "KANBAN_USER", + "password" : "KANBAN_PASSWORD", + "name" : "kanban.picasoft.net" + } ] } } diff --git a/pica-metrics-bot/docker-compose.yml b/pica-metrics-bot/docker-compose.yml index d7324522c3f9b79b8390634b1298b846213e9d0d..2694d2ea022455ba185741e07326b8aea7017688 100644 --- a/pica-metrics-bot/docker-compose.yml +++ b/pica-metrics-bot/docker-compose.yml @@ -11,13 +11,13 @@ networks: services: metrics-bot: - image: registry.picasoft.net/pica-metrics-bot:v1.0.2 + image: registry.picasoft.net/pica-metrics-bot:v1.0 build: . container_name: pica-metrics-services volumes: - ./config.json:/config.json environment: - - INTERVAL_SECONDS=60 + - INTERVAL_SECONDS=120 env_file: ./secrets/account.secrets networks: - metrics diff --git a/pica-metrics-bot/entrypoint.sh b/pica-metrics-bot/entrypoint.sh index 84bafdf19a29c7288d6878a900b58c3010de5542..4a4078a56902de31ec8d4efea23c03ffb820dc3d 100644 --- a/pica-metrics-bot/entrypoint.sh +++ b/pica-metrics-bot/entrypoint.sh @@ -20,6 +20,16 @@ fi if [ -z "${MATTERMOST_PASSWORD}" ]; then echo >&2 'Error : missing required ${MATTERMOST_PASSWORD} environment variable, exiting.' exit 1 +fi. + +if [ -z "${WEKAN_USER}" ]; then + echo >&2 'Error : missing required ${WEKAN_USER} environment variable, exiting.' + exit 1 +fi + +if [ -z "${WEKAN_PASSWORD}" ]; then + echo >&2 'Error : missing required ${WEKAN_PASSWORD} environment variable, exiting.' + exit 1 fi cp /config.json /code/config/config.json @@ -27,6 +37,8 @@ sed -i "s/INFLUXDB_USER/${INFLUXDB_USER}/g" /code/config/config.json sed -i "s/INFLUXDB_PASSWORD/${INFLUXDB_PASSWORD}/g" /code/config/config.json sed -i "s/MATTERMOST_USER/${MATTERMOST_USER}/g" /code/config/config.json sed -i "s/MATTERMOST_PASSWORD/${MATTERMOST_PASSWORD}/g" /code/config/config.json +sed -i "s/WEKAN_USER/${WEKAN_USER}/g" /code/config/config.json +sed -i "s/WEKAN_PASSWORD/${WEKAN_PASSWORD}/g" /code/config/config.json INTERVAL_SECONDS=${INTERVAL_SECONDS:-60} diff --git a/pica-metrics-bot/picasoft-metrics-bot b/pica-metrics-bot/picasoft-metrics-bot deleted file mode 160000 index 7fb6d5299125c25358171f70e6f62d96f149e061..0000000000000000000000000000000000000000 --- a/pica-metrics-bot/picasoft-metrics-bot +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7fb6d5299125c25358171f70e6f62d96f149e061 diff --git a/pica-metrics-bot/secrets/account.secrets.example b/pica-metrics-bot/secrets/account.secrets.example index 3610e14bdd376c3ef70fe15825d2b6cfb3e45899..a9bc3322f35994ff8376b90ca0f27ef454aeec7b 100644 --- a/pica-metrics-bot/secrets/account.secrets.example +++ b/pica-metrics-bot/secrets/account.secrets.example @@ -2,3 +2,5 @@ INFLUXDB_USER=picasoft-write INFLUXDB_PASSWORD=password MATTERMOST_USER=user MATTERMOST_PASSWORD=password +WEKAN_USER=user +WEKAN_PASSWORD=password