2023-06-06 14:35:55 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
KEY="$(sed -n '/^env.KEY/ s/^env.KEY \(.*\)/\1/p' /etc/munin/plugin-conf.d/weblate_servers)"
|
|
|
|
SERVER="$(sed -n '/^env.SERVER/ s/^env.SERVER \(.*\)/\1/p' /etc/munin/plugin-conf.d/weblate_servers)"
|
|
|
|
|
2025-04-08 11:35:17 +02:00
|
|
|
if [ -z "$SERVER" ]; then
|
2025-07-16 15:11:55 +02:00
|
|
|
echo "Missing server configuration!"
|
|
|
|
exit 1
|
2023-06-06 14:35:55 +02:00
|
|
|
fi
|
|
|
|
|
2025-04-08 11:35:17 +02:00
|
|
|
if [ -n "$KEY" ]; then
|
2025-07-16 15:11:55 +02:00
|
|
|
if ! curl -f -s -H "Authorization: Token $KEY" "${SERVER}api/metrics/" -o /dev/null; then
|
|
|
|
echo "Key not working, recreating"
|
|
|
|
KEY=""
|
|
|
|
fi
|
2023-06-06 14:35:55 +02:00
|
|
|
fi
|
|
|
|
|
2025-04-08 11:35:17 +02:00
|
|
|
if [ -z "$KEY" ]; then
|
2023-06-06 15:15:11 +02:00
|
|
|
|
2025-07-16 15:11:55 +02:00
|
|
|
echo "Generating new key"
|
|
|
|
if [ -f "/home/weblate/weblate/docker-compose.override.yml" ]; then
|
|
|
|
cd /home/weblate/weblate || exit 1
|
|
|
|
KEY="$(sudo -u weblate docker compose exec --user weblate weblate weblate shell --no-imports -c 'from weblate.auth.models import User; user = User.objects.get_or_create(username="monitor")[0]; print(user.auth_token.key)')"
|
|
|
|
else
|
|
|
|
KEY="$(sudo -u weblate /home/weblate/weblate-env/bin/weblate shell --no-imports -c 'from weblate.auth.models import User; user = User.objects.get_or_create(username="monitor")[0]; print(user.auth_token.key)')"
|
|
|
|
fi
|
2023-06-06 14:37:54 +02:00
|
|
|
|
2025-07-16 15:11:55 +02:00
|
|
|
sed -i "s/^env.KEY .*/env.KEY $KEY/" /etc/munin/plugin-conf.d/weblate_servers
|
2023-06-06 14:35:55 +02:00
|
|
|
fi
|