Example #1
0
    def get(self, request):

        self.__health = Health()
        self.__helpers = Helpers()
        self.__logger = self.__helpers.get_logger(__name__)

        status = Health.OK
        errors = []
        errors.extend(self.__health.check_db())
        errors.extend(self.__health.check_io())
        errors.extend(self.__health.check_workers())

        if len(errors) > 0:
            status = Health.NOT_OK
            self.__logger.error(
                _("Health Check Result: %(status)s %(errors)s") % {
                    "status": status,
                    "errors": self.__helpers.json_dumps(errors)
                })
        else:
            self.__logger.info(
                _("Health Check Result: %(status)s %(errors)s") % {
                    "status": status,
                    "errors": self.__helpers.json_dumps(errors)
                })

        return JsonResponse({
            "status": status,
            "messages": []
        },
                            status=200 if status == Health.OK else 503)
Example #2
0
 def __init__(self):
     self.__option_entity = Option_Entity()
     self.__user_entity = User_Entity()
     self.__helpers = Helpers()
     self.__token = Token()
     self.__profile_entity = Profile_Entity()
     self.__logger = self.__helpers.get_logger(__name__)
Example #3
0
class API_Funnel():

    __helpers = Helpers()
    __logger = None
    __funnel = Funnel()
    __roles = {

    }


    def __init__(self, get_response):
        self.get_response = get_response
        self.__logger = self.__helpers.get_logger(__name__)


    def __call__(self, request):

        self.__funnel.set_rules(self.__roles)
        self.__funnel.set_request(request)

        if self.__funnel.action_needed():
            return self.__funnel.fire()

        response = self.get_response(request)

        return response
Example #4
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__reset_password = Reset_Password_Module()
     self.__logger = self.__helpers.get_logger(__name__)
Example #5
0
def register_request_email(app_name, app_email, app_url, recipient_list, token, subject, template, fail_silently=False, correlation_id=""):
    logger = Helpers().get_logger(__name__)

    logger.info(
        _("Worker started processing register_request_email task with parameters %(parameters)s {'correlationId':'%(correlationId)s'}") % {
            "parameters": json.dumps({}),
            "correlationId": correlation_id
        }
    )

    try:
        send_mail(
            subject,
            "",
            app_email,
            recipient_list,
            fail_silently=fail_silently,
            html_message=render_to_string(template, {
                "app_url": app_url,
                "token": token,
                "app_name": app_name,
                "subject": subject
            }))
        return {
            "status": "passed",
            "result": "{}"
        }
    except Exception as e:
        return {
            "status": "failed",
            "result": {
                "error": str(e)
            }
        }
Example #6
0
def handler404(request, exception=None, template_name='templates/404.html'):
    """404 Error Page Controller"""

    correlation_id = request.META[
        "X-Correlation-ID"] if "X-Correlation-ID" in request.META else ""
    helpers = Helpers()
    logger = helpers.get_logger(__name__)

    if exception is not None:
        logger.debug(
            "Route Not Found: %(exception)s {'correlationId':'%(correlationId)s'}"
            % {
                "exception": exception,
                "correlationId": correlation_id
            })

    template_name = 'templates/404.html'

    context = Context()

    context.autoload_options()
    context.push({
        "page_title":
        _("404 · %s") %
        context.get("app_name", os.getenv("APP_NAME", "Silverback"))
    })

    return render(request, template_name, context.get(), status=404)
Example #7
0
class Host_Edit(View):

    template_name = 'templates/admin/hosts/docker/edit.html'
    __context = Context()
    __host_module = Host_Module()
    __helpers = Helpers()

    @login_if_not_authenticated
    def get(self, request, host_slug):

        host = self.__host_module.get_one_by_slug_user_id(
            host_slug, request.user.id)

        if not host or request.user.id != host.user.id:
            raise Http404("Host not found.")

        host.auth_data = self.__helpers.json_loads(host.auth_data)

        self.__context.autoload_options()
        self.__context.autoload_user(
            request.user.id if request.user.is_authenticated else None)
        self.__context.push({
            "page_title":
            _("Edit %s Host · %s") %
            (host.name,
             self.__context.get("app_name", os.getenv("APP_NAME", "Kraven"))),
            "host":
            host
        })

        return render(request, self.template_name, self.__context.get())
Example #8
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__register = Register_Module()
     self.__logger = self.__helpers.get_logger(__name__)
Example #9
0
class Funnel():

    __helpers = Helpers()
    __logger = None
    __rules = {}
    __request = {}

    def __init__(self):
        self.__logger = self.__helpers.get_logger(__name__)

    def set_rules(self, rules):
        self.__rules = rules

    def set_request(self, request):
        self.__request = request

    def action_needed(self):
        return False

    def fire(self):
        pass

    def _parse(self):
        #__route_name = request.resolver_match.url_name
        #if request.user and request.user.is_authenticated:
        #    self.__is_auth = True
        #    self.__user_id = request.user.id
        #    self.__username = request.user
        pass
Example #10
0
 def wrap(controller, request, *args, **kwargs):
     _helper = Helpers()
     _logger = _helper.get_logger(__name__)
     _logger.debug(_("Request Method: %s") % request.method)
     _logger.debug(_("Request URL: %s") % request.path)
     _logger.debug(_("Request Body: %s") % request.body)
     return function(controller, request, *args, **kwargs)
Example #11
0
 def __init__(self):
     self.__incident_update_entity = IncidentUpdateEntity()
     self.__incident_entity = IncidentEntity()
     self.__incident_update_component_entity = IncidentUpdateComponent()
     self.__incident_update_notification_entity = IncidentUpdateNotification(
     )
     self.__helpers = Helpers()
Example #12
0
 def __init__(self):
     self.__acl = ACL()
     self.__option_entity = Option_Entity()
     self.__user_entity = User_Entity()
     self.__helpers = Helpers()
     self.__notification_entity = Notification_Entity()
     self.__logger = self.__helpers.get_logger(__name__)
Example #13
0
def handler500(request, exception=None, template_name='templates/500.html'):
    correlation_id = request.META[
        "X-Correlation-ID"] if "X-Correlation-ID" in request.META else ""
    helpers = Helpers()
    logger = helpers.get_logger(__name__)

    if exception is not None:
        logger.error(
            "Server Error: %(exception)s {'correlationId':'%(correlationId)s'}"
            % {
                "exception": exception,
                "correlationId": correlation_id
            })

    template_name = 'templates/500.html'

    context = Context()

    context.autoload_options()
    context.push({
        "page_title":
        _("500 · %s") %
        context.get("app_name", os.getenv("APP_NAME", "Silverback"))
    })

    return render(request, template_name, context.get(), status=500)
Example #14
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__incident = IncidentModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__form.add_validator(ExtraRules())
Example #15
0
 def __init__(self):
     self.__notification_entity = Notification_Entity()
     self.__option_entity = Option_Entity()
     self.__helpers = Helpers()
     self.__humanize = Humanize()
     self.__logger = self.__helpers.get_logger(__name__)
     option = self.__option_entity.get_one_by_key("app_name")
     self.__app_name = option.value if option is not False else ""
Example #16
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__settings_module = Settings_Module()
     self.__acl = ACL()
     self.__logger = self.__helpers.get_logger(__name__)
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__component_group = ComponentGroupModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__form.add_validator(ExtraRules())
Example #18
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__host_module = Host_Module()
     self.__image_module = Image_Module()
     self.__logger = self.__helpers.get_logger(__name__)
Example #19
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__reset_password = ResetPasswordModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__correlation_id = ""
     self.__form.add_validator(ExtraRules())
Example #20
0
 def __init__(self):
     self.__option_entity = Option_Entity()
     self.__user_entity = User_Entity()
     self.__host_entity = Host_Entity()
     self.__task_entity = Task_Entity()
     self.__profile_entity = Profile_Entity()
     self.__helpers = Helpers()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__app_name = self.__option_entity.get_value_by_key("app_name").lower()
Example #21
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__settings = Settings()
     self.__metric = MetricModule()
     self.__form = Form()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__form.add_validator(ExtraRules())
Example #22
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__host_module = Host_Module()
     self.__task_module = Task_Module()
     self.__notification_module = Notification_Module()
     self.__logger = self.__helpers.get_logger(__name__)
Example #23
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__install = InstallModule()
     self.__notification = NotificationModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__form.add_validator(ExtraRules())
Example #24
0
def ping(text="PONG", correlation_id=""):
    logger = Helpers().get_logger(__name__)

    logger.info(_("Worker started processing ping task with parameters %(parameters)s {'correlationId':'%(correlationId)s'}") % {
        "parameters": json.dumps({"text": text}),
        "correlationId": correlation_id
    })

    return {"status": "passed", "result": text}
Example #25
0
class Command(BaseCommand):

    help = "Run Kevin Schedule!"

    available = ["run"]

    __job_entity = Job_Entity()
    __helpers = Helpers()
    __logger = None

    def add_arguments(self, parser):
        """Config Command Args"""
        parser.add_argument('command',
                            type=str,
                            nargs='+',
                            help='Available commands are %s' %
                            ", ".join(self.available))

    def handle(self, *args, **options):
        self.__logger = self.__helpers.get_logger(__name__)
        """Command Handle"""
        if len(options['command']
               ) == 0 or options['command'][0] not in self.available:
            raise CommandError(
                'Command Does not exist! Please use one of the following: python manage.py schedule [%s]'
                % ", ".join(self.available))

        if options['command'][0] == "run":
            self.stdout.write(
                self.style.SUCCESS("█ Running Kevin Schedule...\n"))
            while True:
                job = self.get_job()
                if job != False:
                    self.run(job)
                time.sleep(2)

    def get_job(self):
        """Get a Job To Run"""
        return self.__job_entity.get_one_to_run()

    def run(self, job):
        """Run The Job"""
        try:
            job_module = job.executor.split(".")
            p = import_module("app.jobs.%s" % (job_module[0]))
            c = getattr(p, job_module[1])
            instance = c(json.loads(job.parameters))
            if instance.execute():
                return self.__job_entity.update_after_run(
                    job, Job_Entity.PASSED)
            else:
                return self.__job_entity.update_after_run(
                    job, Job_Entity.FAILED)
        except Exception as e:
            self.__logger.error("Error while running job#%s: %s" % (job.pk, e))
            return self.__job_entity.update_after_run(job, Job_Entity.ERROR)
Example #26
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__incident_update_component = IncidentUpdateComponentModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__user_id = None
     self.__correlation_id = ""
     self.__form.add_validator(ExtraRules())
Example #27
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__settings_module = SettingsModule()
     self.__acl = ACL()
     self.__activity_module = ActivityModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__form.add_validator(ExtraRules())
Example #28
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__profile_module = ProfileModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__user_id = None
     self.__correlation_id = ""
     self.__form.add_validator(ExtraRules())
Example #29
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__form = Form()
     self.__incident_update = IncidentUpdateModule()
     self.__task = Task_Module()
     self.__notification = NotificationModule()
     self.__subscriber = SubscriberModule()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__form.add_validator(ExtraRules())
Example #30
0
 def __init__(self):
     self.__request = Request()
     self.__response = Response()
     self.__helpers = Helpers()
     self.__settings = Settings()
     self.__component = ComponentModule()
     self.__component_group = ComponentGroupModule()
     self.__form = Form()
     self.__logger = self.__helpers.get_logger(__name__)
     self.__user_id = None
     self.__correlation_id = ""
     self.__form.add_validator(ExtraRules())