ansible /
awx
AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.
77/100 healthLoading repository data…
edigiacomo / repository
A django based status page.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Status page application with browser and REST API interface.
Install the package
pip install django-statusboard
Add the following applications to your Django projects
INSTALLED_APPS += [
'django.contrib.humanize',
'django.contrib.staticfiles',
'rest_framework',
'statusboard',
]
Update your urlconf:
# myproject/urls.py
urlpatterns += [
url(r'^statusboard/$', include('statusboard.urls')),
]
Update your database
./manage migrate
You can configure the app using the dict STATUSBOARD in settings.py:
from django.templatetags.static import static
STATUSBOARD = {
"INCIDENT_DAYS_IN_INDEX": 7,
"OPEN_INCIDENT_IN_INDEX": True,
"AUTO_REFRESH_INDEX_SECONDS": 0,
"FAVICON_DEFAULT": static('statusboard/images/statusboard-icon-default.png'),
"FAVICON_INDEX_DICT": {
0: static('statusboard/images/statusboard-icon-operational.png'),
1: static('statusboard/images/statusboard-icon-performance.png'),
2: static('statusboard/images/statusboard-icon-partial.png'),
3: static('statusboard/images/statusboard-icon-major.png'),
},
}
INCIDENT_DAYS_IN_INDEX: number of days to show in index (1 = today).OPEN_INCIDENT_IN_INDEX: show not fixed incidents in index, whether or not
the incident is older than INCIDENT_DAYS_IN_INDEX.AUTO_REFRESH_INDEX_SECONDS: auto refresh home page every N seconds (0 = disabled).FAVICON_DEFAULT: default favicon.FAVICON_INDEX_DICT: favicon for index, based on the worst status (default:
FAVICON_DEFAULT). The keys (0, 1, 2, 3) are the status values (see SERVICE_STATUSES in statusboard/models.py).django-statusboard supports the following languages:
The following blocks are customizable in statusboard/base.html:
title: title of the pagebranding: branding in fixed navbarbootstrap_theme: bootstrap themeheader: header of the pageuserlinks: links in the headerfooter: footer divstyle: CSS filesscript: JavaScript filesTo customize the default style, create the file statusboard/base.html that
extends the original base template and customize some blocks, e.g.:
{% extends "statusboard/base.html" %}
{% load static %}
{% block title %}
A.C.M.E. statuspage
{% endblock %}
{% block branding %}
<a class="navbar-brand" href="{% url 'statusboard:index' %}"><img src="{% static "/images/logo.png" %}"></a>
{% endblock %}
{% block bootstrap_theme %}
<link rel="stylesheet" href="{% static "/statusboard/css/spacelab-bootstrap.min.css" %}" />
<link rel="stylesheet" href="{% static "/css/mystyle.css" %}" />
{% endblock %}
Create a statusboard/base.html in one of your templates dir:
{% extends `statusboard/base.html %}
{% block title %}
ACME, Inc.
{% endblock %}
{% block branding %}
<a class="navbar-brand" href="{% url 'statusboard:index' %}">ACME status</a>
{% endblock %}
django-statusboard doesn't provide an out-of-the-box notification system, but
it's easy to implement using django signals or you can use django-statusboard-notify that provides some builtin notifications (e.g. email, Telegram).
Moreover, django-statusboard tracks the previous status of a service
(Service._status).
from django.dispatch import receiver
from django.db.models.signals import post_save
from django.core.mail import mail_admins
from statusboard import Service
@receiver(post_save, sender=Service)
def notify_service_update(sender, instance, **kwargs):
# Send an email to admins if the service is getting worse, otherwise do nothing.
if instance.status > instance._status:
mail_admins("Alert", "Service {} is {}".format(instance.name, instance.get_status_display()))
django-statusboard comes with a set of REST API to manage its models, based on Django REST Framework ModelViewSet:
/api/v0.1/servicegroup//api/v0.1/service//api/v0.1/incident//api/v0.1/incidentupdate//api/v0.1/maintenance/$ DJANGO_SETTINGS_MODULE=tests.test_settings python manage.py test
$ cd statusboard && django-admin makemessages -l LOCALE
Copyright (C) 2019-2023 Emanuele Di Giacomo emanuele@digiacomo.cc
django-statusboard is licensed under GPLv2+.
Selected from shared topics, language and repository description—not editorial ratings.
ansible /
AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.
77/100 healthphotonixapp /
A modern, web-based photo management server. Run it on your home server and it will let you find the right photo from your collection on any device. Smart filtering is made possible by object recognition, face recognition, location awareness, color analysis and other ML algorithms.
84/100 healthheroku /
A Django 2.0 base template featuring all recommended best practices for deployment on Heroku and local development.
25/100 healthvintasoftware /
A django app for role based permissions.
82/100 healthliqianglog /
A complete set of basic development platform for permission control based on RBAC model, with front-end and back-end separation, and the back-end using django+django-rest-framework, while the frontend using Vue+ElementUI+d2admin.
34/100 healthdjstein /
Modern Django: A Guide on How to Deploy Django-based Web Applications in 2017
51/100 health