Skip to content
Snippets Groups Projects
Verified Commit 811171ce authored by Quentin Duchemin's avatar Quentin Duchemin
Browse files

[MetricsBot] Remove submodule, use release, and update to v1.0

parent 37bc2099
No related branches found
No related tags found
No related merge requests found
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 # Version 1.0.2
* Mise à jour avec le code permettant de récupérer le nombre de connexion websocket sur Mattermost. * Mise à jour avec le code permettant de récupérer le nombre de connexion websocket sur Mattermost.
......
FROM python:3.8-alpine FROM python:3.8-alpine
LABEL maintainer quentinduchemin@tuta.io LABEL maintainer quentinduchemin@tuta.io
ARG METRICS_BOT_VERSION=v1.0
# Copy all code RUN apt-get install -y wget
COPY picasoft-metrics-bot /code
# 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 # Custom Picasoft entrypoint
COPY entrypoint.sh /code/entrypoint.sh COPY entrypoint.sh /code/entrypoint.sh
......
...@@ -2,12 +2,9 @@ ...@@ -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). 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 : Par rapport au projet original :
* La configuration en production est versionnée ici, et un Docker Compose adapté est proposé * 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 * 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 * Ajout d'InfluxDB directement adossé à Picasoft Metrics Bot, dans un seul Docker Compose
## Premier lancement ## Premier lancement
...@@ -18,14 +15,6 @@ L'utilisateur InfluxDB qui doit être utilisé dans Picasoft Metrics Bot est cel ...@@ -18,14 +15,6 @@ L'utilisateur InfluxDB qui doit être utilisé dans Picasoft Metrics Bot est cel
## Mise à jour ## Mise à jour
Le projet Picasoft Metrics Bot n'a pas de numéro de version. Il suffit de changer `METRICS_BOT_VERSION` du `Dockerfile` et d'ajuster le tag de l'image dans le fichier Compose.
À 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
```
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
...@@ -23,6 +23,14 @@ ...@@ -23,6 +23,14 @@
"password" : "MATTERMOST_PASSWORD", "password" : "MATTERMOST_PASSWORD",
"name" : "team.picasoft.net" "name" : "team.picasoft.net"
} }
],
"wekan" : [
{
"url" : "https://kanban.picasoft.net",
"user" : "KANBAN_USER",
"password" : "KANBAN_PASSWORD",
"name" : "kanban.picasoft.net"
}
] ]
} }
} }
...@@ -11,13 +11,13 @@ networks: ...@@ -11,13 +11,13 @@ networks:
services: services:
metrics-bot: metrics-bot:
image: registry.picasoft.net/pica-metrics-bot:v1.0.2 image: registry.picasoft.net/pica-metrics-bot:v1.0
build: . build: .
container_name: pica-metrics-services container_name: pica-metrics-services
volumes: volumes:
- ./config.json:/config.json - ./config.json:/config.json
environment: environment:
- INTERVAL_SECONDS=60 - INTERVAL_SECONDS=120
env_file: ./secrets/account.secrets env_file: ./secrets/account.secrets
networks: networks:
- metrics - metrics
......
...@@ -20,6 +20,16 @@ fi ...@@ -20,6 +20,16 @@ fi
if [ -z "${MATTERMOST_PASSWORD}" ]; then if [ -z "${MATTERMOST_PASSWORD}" ]; then
echo >&2 'Error : missing required ${MATTERMOST_PASSWORD} environment variable, exiting.' echo >&2 'Error : missing required ${MATTERMOST_PASSWORD} environment variable, exiting.'
exit 1 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 fi
cp /config.json /code/config/config.json cp /config.json /code/config/config.json
...@@ -27,6 +37,8 @@ sed -i "s/INFLUXDB_USER/${INFLUXDB_USER}/g" /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/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_USER/${MATTERMOST_USER}/g" /code/config/config.json
sed -i "s/MATTERMOST_PASSWORD/${MATTERMOST_PASSWORD}/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} INTERVAL_SECONDS=${INTERVAL_SECONDS:-60}
......
Subproject commit 7fb6d5299125c25358171f70e6f62d96f149e061
...@@ -2,3 +2,5 @@ INFLUXDB_USER=picasoft-write ...@@ -2,3 +2,5 @@ INFLUXDB_USER=picasoft-write
INFLUXDB_PASSWORD=password INFLUXDB_PASSWORD=password
MATTERMOST_USER=user MATTERMOST_USER=user
MATTERMOST_PASSWORD=password MATTERMOST_PASSWORD=password
WEKAN_USER=user
WEKAN_PASSWORD=password
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment