%{_sysconfdir}/knot-resolver/config.yml
%{_unitdir}/knot-resolver.service
%{_bindir}/kresctl
+%{_bindir}/knot-resolver
%{_datarootdir}/bash-completion/completions/kresctl
%{_datarootdir}/fish/completions/kresctl.fish
# pylint: skip-file
# flake8: noqa
-# throws nice syntax error on old Python versions:
-0_0 # Python >= 3.6 required
+def run():
+ # throws nice syntax error on old Python versions:
+ 0_0 # Python >= 3.6 required
-from knot_resolver_manager import main
-main.main()
+ from knot_resolver_manager import main
+ main.main()
+
+
+if __name__ == "__main__":
+ run()
import argparse
import sys
from pathlib import Path
+from typing import NoReturn
from knot_resolver_manager import compat
from knot_resolver_manager.constants import DEFAULT_MANAGER_CONFIG_FILE
return parser.parse_args()
-def main() -> None:
+def main() -> NoReturn:
# initial logging is to memory until we read the config
logger_startup()
[tool.poetry.scripts]
kresctl = 'knot_resolver_manager.cli.main:main'
+knot-resolver = 'knot_resolver_manager.__main__:run'
[tool.poe.tasks]
run = { cmd = "scripts/run", help = "Run the manager" }
'typing-extensions']
entry_points = \
-{'console_scripts': ['kresctl = knot_resolver_manager.cli.main:main']}
+{'console_scripts': ['knot-resolver = knot_resolver_manager.__main__:run',
+ 'kresctl = knot_resolver_manager.cli.main:main']}
setup_kwargs = {
'name': 'knot-resolver-manager',
Tests-Directory: manager/tests/packaging
+{# Test that knot-resolver command exists and is in $PATH #}
+Tests: knot-resolver.sh
+Tests-Directory: manager/tests/packaging
+
+
{# Tests that manager can be started with default config and it resolves some domains #}
Tests: systemd_service.sh
Tests-Directory: manager/tests/packaging
--- /dev/null
+#!/bin/bash
+
+# fail fast
+set -e
+
+# We expect `kresctl` command to exist in $PATH
+command -v knot-resolver > /dev/null