system: Add tags to all remaining apps

Tests:

- Visit the system page and notice that tags appear as expected for all items on
the page.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
Sunil Mohan Adapa 2024-12-29 22:43:28 -08:00
parent 0ae2df12a9
commit 3a0db947b2
No known key found for this signature in database
GPG Key ID: 43EA1CFF0AA7C5F2
37 changed files with 135 additions and 29 deletions

View File

@ -46,7 +46,8 @@ class AvahiApp(app_module.App):
is_essential=True, depends=['names'],
name=_('Service Discovery'), icon='fa-compass',
description=_description,
manual_page='ServiceDiscovery')
manual_page='ServiceDiscovery',
tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-avahi', info.name, None, info.icon,

View File

@ -3,8 +3,12 @@
Application manifest for avahi.
"""
from django.utils.translation import gettext_lazy as _
# Services that intend to make themselves discoverable will drop files into
# /etc/avahi/services. Currently, we don't intend to make that customizable.
# There is no necessity for backup and restore. This manifest will ensure that
# avahi enable/disable setting is preserved.
backup: dict = {}
tags = [_('Auto-discovery'), _('Local'), _('mDNS')]

View File

@ -16,7 +16,7 @@ from plinth import app as app_module
from plinth import cfg, glib, menu
from plinth.package import Packages
from . import api, privileged
from . import api, manifest, privileged
logger = logging.getLogger(__name__)
@ -43,7 +43,8 @@ class BackupsApp(app_module.App):
app_id=self.app_id, version=self._version, is_essential=True,
depends=['storage'], name=_('Backups'), icon='fa-files-o',
description=_description, manual_page='Backups',
donation_url='https://www.borgbackup.org/support/fund.html')
donation_url='https://www.borgbackup.org/support/fund.html',
tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-backups', info.name, None, info.icon,

View File

@ -3,7 +3,20 @@
Application manifest for backups.
"""
from django.utils.translation import gettext_lazy as _
# Currently, backup application does not have any settings. However, settings
# such as scheduler settings, backup location, secrets to connect to remove
# servers need to be backed up.
backup: dict = {}
tags = [
_('Restore'),
_('Encrypted'),
_('Schedules'),
_('Local'),
_('Remote'),
_('App data'),
_('Configuration'),
_('Borg')
]

View File

@ -13,6 +13,7 @@ backup = {
}
tags = [
_('Name server'),
_('DNS resolver'),
_('DNS'),
_('Server'),
_('Resolver'),
]

View File

@ -20,8 +20,11 @@ clients = [{
backup: dict = {}
tags = [
_('Server manager'),
_('Terminal'),
_('Disks'),
_('RAID'),
_('Advanced administration'),
_('Web terminal'),
_('Storage'),
_('Networking'),
_('Services'),
_('Logs'),
_('Performance'),
]

View File

@ -12,7 +12,7 @@ from plinth.modules.apache import (get_users_with_website, user_of_uws_url,
from plinth.package import Packages
from plinth.privileged import service as service_privileged
from . import privileged
from . import manifest, privileged
_description = [
_('Here you can set some general configuration options '
@ -39,7 +39,7 @@ class ConfigApp(app_module.App):
depends=['apache', 'firewall', 'names'
], name=_('General Configuration'),
icon='fa-cog', description=_description,
manual_page='Configure')
manual_page='Configure', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-config', _('Configure'), None, info.icon,

View File

@ -0,0 +1,8 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Application manifest for configure.
"""
from django.utils.translation import gettext_lazy as _
tags = [_('Homepage'), _('Logging'), _('Advanced apps')]

View File

@ -67,7 +67,7 @@ class DateTimeApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Date & Time'),
icon='fa-clock-o', description=_description,
manual_page='DateTime')
manual_page='DateTime', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-datetime', info.name, None, info.icon,

View File

@ -3,9 +3,13 @@
Application manifest for datetime.
"""
from django.utils.translation import gettext_lazy as _
backup = {
'data': {
'files': ['/etc/localtime']
},
'services': ['systemd-timedated'],
}
tags = [_('Network time'), _('Timezone')]

View File

@ -52,7 +52,7 @@ class DiagnosticsApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Diagnostics'),
icon='fa-heartbeat', description=_description,
manual_page='Diagnostics')
manual_page='Diagnostics', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-diagnostics', info.name, None, info.icon,

View File

@ -3,4 +3,8 @@
Application manifest for diagnostics.
"""
from django.utils.translation import gettext_lazy as _
backup: dict = {}
tags = [_('Detect problems'), _('Repair'), _('Daily')]

View File

@ -60,7 +60,7 @@ class DynamicDNSApp(app_module.App):
is_essential=True, depends=['names'],
name=_('Dynamic DNS Client'), icon='fa-refresh',
description=_description,
manual_page='DynamicDNS')
manual_page='DynamicDNS', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-dynamicdns', info.name, None, info.icon,

View File

@ -1,4 +1,9 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Application manifest for Dynamic DNS.
"""
from django.utils.translation import gettext_lazy as _
backup = {
'config': {
@ -8,3 +13,5 @@ backup = {
'dynamicdns_enable', 'dynamicdns_config', 'dynamicdns_status'
],
}
tags = [_('Domain'), _('Free'), _('Needs public IP')]

View File

@ -60,7 +60,7 @@ class FirewallApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Firewall'),
icon='fa-shield', description=_description,
manual_page='Firewall')
manual_page='Firewall', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-firewall', info.name, None, info.icon,

View File

@ -3,4 +3,8 @@
Application manifest for firewall.
"""
from django.utils.translation import gettext_lazy as _
backup: dict = {}
tags = [_('Ports'), _('Blocking'), _('Status'), _('Automatic')]

View File

@ -53,7 +53,7 @@ class NamesApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Name Services'),
icon='fa-tags', description=_description,
manual_page='NameServices')
manual_page='NameServices', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-names', info.name, None, info.icon,

View File

@ -3,4 +3,12 @@
Application manifest for names.
"""
from django.utils.translation import gettext_lazy as _
backup: dict = {}
tags = [
_('Domains'),
_('Hostname'),
_('DNS Resolution'),
]

View File

@ -13,7 +13,7 @@ from plinth.diagnostic_check import DiagnosticCheck
from plinth.modules.firewall.components import Firewall
from plinth.package import Packages
from . import privileged
from . import manifest, privileged
_description = [
_('Configure network devices. Connect to the Internet via Ethernet, Wi-Fi '
@ -41,7 +41,7 @@ class NetworksApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Networks'),
icon='fa-signal', description=_description,
manual_page='Networks')
manual_page='Networks', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-networks', info.name, None, info.icon,

View File

@ -0,0 +1,8 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Application manifest for networks.
"""
from django.utils.translation import gettext_lazy as _
tags = [_('Internet'), _('Wi-Fi'), _('Local network'), _('Topology')]

View File

@ -12,4 +12,8 @@ backup = {
'services': ['pagekite']
}
tags = [_('Tunneling'), _('NAT traversal'), _('Remote access')]
tags = [
_('Reachability'),
_('Remote access'),
_('Tunneling'),
]

View File

@ -30,7 +30,7 @@ class PowerApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Power'),
icon='fa-power-off', description=_description,
manual_page='Power')
manual_page='Power', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-power', info.name, None, info.icon,

View File

@ -3,4 +3,8 @@
Application manifest for power.
"""
from django.utils.translation import gettext_lazy as _
backup: dict = {}
tags = [_('Reboot'), _('Shutdown')]

View File

@ -31,7 +31,7 @@ class PrivacyApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Privacy'),
icon='fa-eye-slash', description=_description,
manual_page=None)
manual_page=None, tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-privacy', info.name,

View File

@ -1,6 +1,10 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Application manifest for privacy app."""
from django.utils.translation import gettext_lazy as _
from . import privileged
backup = {'config': {'files': [str(privileged.CONFIG_FILE)]}}
tags = [_('Usage reporting'), _('Fallback DNS')]

View File

@ -33,7 +33,8 @@ class SecurityApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Security'),
icon='fa-lock', manual_page='Security')
icon='fa-lock', manual_page='Security',
tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-security', info.name, None, info.icon,

View File

@ -3,4 +3,8 @@
Application manifest for security.
"""
from django.utils.translation import gettext_lazy as _
backup = {'config': {'files': ['/etc/security/access.d/50freedombox.conf']}}
tags = [_('Automatic bans'), _('Reports')]

View File

@ -49,7 +49,7 @@ class SnapshotApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Storage Snapshots'),
icon='fa-film', description=_description,
manual_page='Snapshots')
manual_page='Snapshots', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-snapshot', info.name, None, info.icon,

View File

@ -3,8 +3,12 @@
Application manifest for snapshot.
"""
from django.utils.translation import gettext_lazy as _
backup = {
'config': {
'files': ['/etc/snapper/configs/root', '/etc/default/snapper']
}
}
tags = [_('Periodic'), _('Restore'), _('Known good state'), _('Btrfs')]

View File

@ -39,9 +39,9 @@ class SSHApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True,
name=_('Secure Shell (SSH) Server'),
name=_('Secure Shell Server'),
icon='fa-terminal', description=_description,
manual_page='SecureShell')
manual_page='SecureShell', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-ssh', info.name, None, info.icon,

View File

@ -3,6 +3,8 @@
Application manifest for ssh.
"""
from django.utils.translation import gettext_lazy as _
backup = {
'config': {
'files': ['/etc/ssh/sshd_config.d/freedombox.conf']
@ -16,3 +18,5 @@ backup = {
]
}
}
tags = [_('SSH'), _('Remote terminal'), _('Fingerprints')]

View File

@ -46,7 +46,7 @@ class StorageApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Storage'),
icon='fa-hdd-o', description=_description,
manual_page='Storage')
manual_page='Storage', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-storage', info.name, None, info.icon,

View File

@ -2,5 +2,8 @@
"""
Application manifest for storage.
"""
from django.utils.translation import gettext_lazy as _
backup: dict = {}
tags = [_('Disks'), _('Usage'), _('Auto-mount'), _('Expand partition')]

View File

@ -63,7 +63,7 @@ class UpgradesApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Software Update'),
icon='fa-refresh', description=_description,
manual_page='Upgrades')
manual_page='Upgrades', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-upgrades', info.name, None, info.icon,

View File

@ -3,4 +3,8 @@
Application manifest for upgrades.
"""
from django.utils.translation import gettext_lazy as _
backup = {'config': {'files': ['/etc/apt/apt.conf.d/20auto-upgrades']}}
tags = [_('Security'), _('Automatic'), _('Reboots'), _('New features')]

View File

@ -18,7 +18,7 @@ from plinth.diagnostic_check import (DiagnosticCheck,
from plinth.package import Packages
from plinth.privileged import service as service_privileged
from . import privileged
from . import manifest, privileged
from .components import UsersAndGroups
first_boot_steps = [
@ -58,7 +58,7 @@ class UsersApp(app_module.App):
info = app_module.Info(app_id=self.app_id, version=self._version,
is_essential=True, name=_('Users and Groups'),
icon='fa-users', description=_description,
manual_page='Users')
manual_page='Users', tags=manifest.tags)
self.add(info)
menu_item = menu.Menu('menu-users', info.name, None, info.icon,

View File

@ -0,0 +1,8 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Application manifest for users and groups.
"""
from django.utils.translation import gettext_lazy as _
tags = [_('Manage accounts'), _('App permissions')]