#!/usr/bin/python3
#
# Univention Monitoring Plugin
#  check_univention_winbind: check winbind status
#
# SPDX-FileCopyrightText: 2007-2025 Univention GmbH
# SPDX-License-Identifier: AGPL-3.0-only

import subprocess

from univention.monitoring import Alert


class Winbind(Alert):

    def write_metrics(self):
        try:
            rc, output = self.exec_command(['/usr/bin/wbinfo', '-t'], stderr=subprocess.DEVNULL)
        except FileNotFoundError:
            self.write_metric('univention_winbind_secret_ok', -1)
            return
        self.write_metric('univention_winbind_secret_ok', 1 if rc == 0 else 0)
        self.log.debug(';'.join(output.splitlines()))


if __name__ == '__main__':
    Winbind.main()
