added password store option for api-key

This commit is contained in:
mellis 2024-01-26 11:39:01 +01:00
parent f06a32bf80
commit 276e67d473
3 changed files with 17 additions and 12 deletions

View File

@ -6,6 +6,7 @@ import requests
import urllib3
import json
import os
import cmk.utils.password_store
from pprint import pprint
from requests.structures import CaseInsensitiveDict
from requests.auth import HTTPBasicAuth
@ -391,6 +392,7 @@ def doCmkOutputDomains() -> None:
def main():
global debugLogFilename
cmk.utils.password_store.replace_passwords()
getOptions()
# do some parameter checks
if (opt_hostname == ""):

View File

@ -1,7 +1,7 @@
def agent_mailcow_arguments(params, hostname, ipaddress):
return [
"--hostname", params["hostname"],
"--apikey", params["apikey"],
"--apikey", passwordstore_get_cmdline("%s", params["apikey"]),
"--port", params["port"],
"--no-https", params["no_https"],
"--no-cert-check", params["no_cert_check"],

View File

@ -1,8 +1,4 @@
from cmk.gui.i18n import _
from cmk.gui.plugins.wato import (
CheckParameterRulespecWithItem,
rulespec_registry,
)
from cmk.gui.plugins.wato.special_agents.common import (
RulespecGroupDatasourceProgramsApps,
@ -12,29 +8,36 @@ from cmk.gui.plugins.wato.special_agents.common import (
RulespecGroupDatasourceProgramsTesting,
)
from cmk.gui.plugins.wato.utils import (
IndividualOrStoredPassword,
rulespec_registry,
CheckParameterRulespecWithItem,
CheckParameterRulespecWithoutItem,
HostRulespec,
Rulespec,
)
from cmk.gui.valuespec import (
Dictionary,
ListChoice,
Checkbox,
TextAscii,
Password,
NetworkPort,
Integer,
)
from cmk.gui.plugins.wato import (
HostRulespec,
)
from cmk.gui.plugins.wato.datasource_programs import RulespecGroupDatasourceProgramsCustom
def _valuespec_special_agent_mailcow():
return Dictionary(
title=_("Mailcow Server Information"),
help = _("Checking Mailcow instances via API"),
elements=[
("hostname", TextAscii(title=_("Hostname"),
size=32,
allow_empty=False,
help=_("Hostname of Mailcow server (bare FQDN or IP), mandatory"))),
("apikey", TextAscii(title=_("API Key"),
("apikey", IndividualOrStoredPassword(title=_("API Key"),
size=32,
allow_empty=False,
help=_("API Key, mandatory"))),
("port", TextAscii(title=_("Port"),