Description
Добрый день.
Версия mamonsu: 3.5.2
Мы используем у себя свой кастомный плагин для мониторинга на серверах бекапов pg_probackup.
После обновления до версии 3.5.2 плагин перестал корректно работать, не отдает данные об имеющихся бекапов. В логе обнаружил ошибки доступа к файлам:
[ERROR] 2022-09-14 03:41:03,948 - PGPROBACKUP - The command: ['/usr/bin/pg_probackup-14', 'show', '-B', '/mnt/pgbak', '--format=json'] return code 1. Error: b'ERROR: Cannot open directory "/mnt/pgbak/backups": Permission denied\n'
Дело в том, что файлы в бекапе доступны только владельцу - postgres, и поменять это мы не имеем возможности (стоит еще учитывать что сам pg_probackup те же wal файлы всегда пишет из под postgres с правами 600) и ранее у нас mamonsu запускался от пользователя postgres и все работало.
Сейчас же, мы переделали в сервисе запуск mamonsu от пользователя mamonsu, т.к. в новой версии введена проверка на владельца и права файла agent.conf:
Lines 87 to 94 in 9bd4952
И получилось что у нас плагин потерял возможность ходить и мониторить бекапы.
Запустить же mamonsu как раньше, от пользователя postgres, не позволяет выше приведенная проверка, т.к. запуск от пользователя, отличного от mamonsu, требует поменять либо владельца agent.conf, либо права изменить, но это все приводит к завершению mamonsu при старте из-за выше приведенной проверки.
Можно ли на уровне кода установить, чтобы хотя бы были доступны вариации по правам и владельцу файла agent.conf? Например чтобы он мог иметь права не только 600, но и 644. И нам так же требуется чтобы можно было бы чтобы владельцем файла мог бы быть и пользователь postgres (помимо mamonsu), т.к. в контейнерах Docker agent.conf именно с владельцем postgres разворачивается.
В текущей ситуации, нам придется перед сборкой из исходников самим внедряться в код и изменять там этот момент.