From a4dbaaf446b975a8dfaca0fab6b994b360aacb21 Mon Sep 17 00:00:00 2001 From: daniel_sagi Date: Wed, 15 Aug 2018 16:46:21 +0300 Subject: [PATCH] added an API Server event, also added port 443 to ports discovery --- src/modules/discovery/apiserver.py | 16 ++++++++++++++-- src/modules/discovery/ports.py | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/modules/discovery/apiserver.py b/src/modules/discovery/apiserver.py index c149394..be06d50 100644 --- a/src/modules/discovery/apiserver.py +++ b/src/modules/discovery/apiserver.py @@ -2,7 +2,18 @@ import requests from ...core.types import Hunter from ...core.events import handler -from ...core.events.types import OpenPortEvent +from ...core.events.types import OpenPortEvent, Service, Event + +class ReadOnlyKubeletEvent(Service, Event): + """The read-only port on the kubelet serves health probing endpoints, and is relied upon by many kubernetes componenets""" + def __init__(self): + Service.__init__(self, name="Kubelet API (readonly)") + + +class ApiServer(Service, Event): + """The API server is in charge of all operations on the cluster.""" + def __init__(self): + Service.__init__(self, name="API Server") @handler.subscribe(OpenPortEvent, predicate=lambda x: x.port==443) class ApiServerDiscovery(Hunter): @@ -15,4 +26,5 @@ class ApiServerDiscovery(Hunter): def execute(self): main_request = requests.get("https://{}:{}".format(self.event.host, self.event.port), verify=False).text if "code" in main_request: - self.event.role = "Master" \ No newline at end of file + self.event.role = "Master" + self.publish_event(ApiServer()) \ No newline at end of file diff --git a/src/modules/discovery/ports.py b/src/modules/discovery/ports.py index d6278a9..25a98fc 100644 --- a/src/modules/discovery/ports.py +++ b/src/modules/discovery/ports.py @@ -5,7 +5,7 @@ from ...core.events import handler from ...core.events.types import NewHostEvent, OpenPortEvent -default_ports = [8001, 10250, 10255, 30000] +default_ports = [8001, 10250, 10255, 30000, 443] @handler.subscribe(NewHostEvent) class PortDiscovery(Hunter):