mirror of
https://github.com/aquasecurity/kube-hunter.git
synced 2026-08-23 22:26:23 +00:00
* Make config initialized explicitly * Add mypy linting * Make tests run individually Resolve #341
38 lines
999 B
Python
38 lines
999 B
Python
import logging
|
|
|
|
from kube_hunter.modules.report.json import JSONReporter
|
|
from kube_hunter.modules.report.yaml import YAMLReporter
|
|
from kube_hunter.modules.report.plain import PlainReporter
|
|
from kube_hunter.modules.report.dispatchers import STDOUTDispatcher, HTTPDispatcher
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
DEFAULT_REPORTER = "plain"
|
|
reporters = {
|
|
"yaml": YAMLReporter,
|
|
"json": JSONReporter,
|
|
"plain": PlainReporter,
|
|
}
|
|
|
|
DEFAULT_DISPATCHER = "stdout"
|
|
dispatchers = {
|
|
"stdout": STDOUTDispatcher,
|
|
"http": HTTPDispatcher,
|
|
}
|
|
|
|
|
|
def get_reporter(name):
|
|
try:
|
|
return reporters[name.lower()]()
|
|
except KeyError:
|
|
logger.warning(f'Unknown reporter "{name}", using f{DEFAULT_REPORTER}')
|
|
return reporters[DEFAULT_REPORTER]()
|
|
|
|
|
|
def get_dispatcher(name):
|
|
try:
|
|
return dispatchers[name.lower()]()
|
|
except KeyError:
|
|
logger.warning(f'Unknown dispatcher "{name}", using {DEFAULT_DISPATCHER}')
|
|
return dispatchers[DEFAULT_DISPATCHER]()
|