From eb490e6faae82053e099ea95dd1f4bde2a53ad13 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Fri, 28 Sep 2018 19:54:35 -0700 Subject: [PATCH] cockpit: Add clients and backup manifests - Clients information allows us to show launch web interface button consistently like other applications instead of showing it in the description. - Empty backup information allows for the application to be installed when a backup is restored. Reviewed-by: James Valleroy --- plinth/modules/cockpit/__init__.py | 2 ++ plinth/modules/cockpit/manifest.py | 38 ++++++++++++++++++++++++++++++ plinth/modules/cockpit/urls.py | 3 ++- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 plinth/modules/cockpit/manifest.py diff --git a/plinth/modules/cockpit/__init__.py b/plinth/modules/cockpit/__init__.py index 2d48f6a5d..cf6446e8a 100644 --- a/plinth/modules/cockpit/__init__.py +++ b/plinth/modules/cockpit/__init__.py @@ -28,6 +28,8 @@ from plinth.modules import names from plinth.signals import domain_added, domain_removed, domainname_change from plinth.utils import format_lazy +from .manifest import backup, clients + version = 1 managed_services = ['cockpit.socket'] diff --git a/plinth/modules/cockpit/manifest.py b/plinth/modules/cockpit/manifest.py new file mode 100644 index 000000000..79878ab58 --- /dev/null +++ b/plinth/modules/cockpit/manifest.py @@ -0,0 +1,38 @@ +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +Application manifest for cockpit. +""" + +from django.utils.translation import ugettext_lazy as _ + +from plinth.modules.backups.api import validate as validate_backup +from plinth.clients import validate + +clients = validate([{ + 'name': _('Cockpit'), + 'platforms': [{ + 'type': 'web', + 'url': '/_cockpit/' + }] +}]) + +# cockpit.conf need not be backed up because add/remove domain signals are +# triggered on every Plinth domain change (and cockpit application install) and +# will set the value of allowed domains correctly. This is the only key the is +# customized in cockpit.conf. +backup = validate_backup({}) diff --git a/plinth/modules/cockpit/urls.py b/plinth/modules/cockpit/urls.py index 610f257c2..b002683c7 100644 --- a/plinth/modules/cockpit/urls.py +++ b/plinth/modules/cockpit/urls.py @@ -29,6 +29,7 @@ urlpatterns = [ service_id=cockpit.managed_services[0], diagnostics_module_name='cockpit', description=cockpit.description, - show_status_block=True), + show_status_block=True, + clients=cockpit.clients), name='index'), ]