Exemplo n.º 1
0
def init():
    """Initialize the ejabberd module"""
    global app
    app = EjabberdApp()

    setup_helper = globals()['setup_helper']
    if setup_helper.get_state() != 'needs-setup' and app.is_enabled():
        app.set_enabled(True)

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domain_added.connect(on_domain_added)
Exemplo n.º 2
0
def init():
    """Initialize the XMPP module"""
    menu = cfg.main_menu.get("apps:index")
    menu.add_urlname("XMPP", "glyphicon-comment", "xmpp:index", 40)

    service.Service("xmpp-client", _("Chat Server - client connections"), is_external=True, enabled=True)
    service.Service("xmpp-server", _("Chat Server - server connections"), is_external=True, enabled=True)
    service.Service("xmpp-bosh", _("Chat Server - web interface"), is_external=True, enabled=True)

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 3
0
def init():
    """Initialize the XMPP module"""
    menu = cfg.main_menu.get('apps:index')
    menu.add_urlname(title, 'glyphicon-comment', 'xmpp:index', 400)

    global service
    service = service_module.Service(
        'xmpp', title, ['xmpp-client', 'xmpp-server', 'xmpp-bosh'],
        is_external=True, enabled=is_enabled())

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 4
0
def init():
    """Initialize the XMPP module"""
    menu = cfg.main_menu.get('apps:index')
    menu.add_urlname(title, 'glyphicon-comment', 'xmpp:index')

    global service
    service = service_module.Service(
        'ejabberd', title, ports=['xmpp-client', 'xmpp-server', 'xmpp-bosh'],
        is_external=True, is_enabled=is_enabled, enable=enable,
        disable=disable)

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 5
0
def init():
    """Initialize the XMPP module"""
    menu = cfg.main_menu.get('apps:index')
    menu.add_urlname(_('Chat Server (XMPP)'), 'glyphicon-comment',
                     'xmpp:index', 400)

    global service
    service = service_module.Service(
        'xmpp', _('Chat Server (XMPP)'),
        ['xmpp-client', 'xmpp-server', 'xmpp-bosh'],
        is_external=True, enabled=is_enabled())

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 6
0
def init():
    """Initialize the XMPP module"""
    menu = cfg.main_menu.get('apps:index')
    menu.add_urlname(title, 'glyphicon-comment', 'xmpp:index')

    global service
    service = service_module.Service(
        'ejabberd', title, ports=['xmpp-client', 'xmpp-server', 'xmpp-bosh'],
        is_external=True, is_enabled=is_enabled, enable=enable,
        disable=disable)

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)

    if is_enabled():
        add_shortcut()
Exemplo n.º 7
0
def init():
    """Initialize the XMPP module"""
    menu = cfg.main_menu.get("apps:index")
    menu.add_urlname(_("Chat Server (XMPP)"), "glyphicon-comment", "xmpp:index", 400)

    global service
    service = service_module.Service(
        "xmpp",
        _("Chat Server (XMPP)"),
        ["xmpp-client", "xmpp-server", "xmpp-bosh"],
        is_external=True,
        enabled=is_enabled(),
    )

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 8
0
def init():
    """Initialize the ejabberd module"""
    menu = main_menu.get('apps')
    menu.add_urlname(title, 'glyphicon-comment', 'ejabberd:index')

    global service
    setup_helper = globals()['setup_helper']
    if setup_helper.get_state() != 'needs-setup':
        service = service_module.Service(
            'ejabberd', title,
            ports=['xmpp-client', 'xmpp-server', 'xmpp-bosh'],
            is_external=True, is_enabled=is_enabled, enable=enable,
            disable=disable)
        if is_enabled():
            add_shortcut()
    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 9
0
def init():
    """Initialize the XMPP module"""
    menu = cfg.main_menu.get('apps:index')
    menu.add_urlname('XMPP', 'glyphicon-comment', 'xmpp:index', 40)

    service.Service(
        'xmpp-client', _('Chat Server - client connections'),
        is_external=True, enabled=True)
    service.Service(
        'xmpp-server', _('Chat Server - server connections'),
        is_external=True, enabled=True)
    service.Service(
        'xmpp-bosh', _('Chat Server - web interface'), is_external=True,
        enabled=True)

    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 10
0
def init():
    """Initialize the ejabberd module"""
    menu = main_menu.get('apps')
    menu.add_urlname(name, 'glyphicon-comment', 'ejabberd:index', short_description)

    global service
    setup_helper = globals()['setup_helper']
    if setup_helper.get_state() != 'needs-setup':
        service = service_module.Service(
            'ejabberd', name,
            ports=['xmpp-client', 'xmpp-server', 'xmpp-bosh'],
            is_external=True, is_enabled=is_enabled, enable=enable,
            disable=disable)
        if is_enabled():
            add_shortcut()
    pre_hostname_change.connect(on_pre_hostname_change)
    post_hostname_change.connect(on_post_hostname_change)
    domainname_change.connect(on_domainname_change)
Exemplo n.º 11
0
    def __init__(self):
        """Create components for the app."""
        super().__init__()
        info = app_module.Info(app_id=self.app_id,
                               version=version,
                               name=_('ejabberd'),
                               icon_filename='ejabberd',
                               short_description=_('Chat Server'),
                               description=_description,
                               manual_page='ejabberd',
                               clients=manifest.clients)
        self.add(info)

        menu_item = menu.Menu('menu-ejabberd',
                              info.name,
                              info.short_description,
                              info.icon_filename,
                              'ejabberd:index',
                              parent_url_name='apps')
        self.add(menu_item)

        shortcut = frontpage.Shortcut(
            'shortcut-ejabberd',
            info.name,
            short_description=info.short_description,
            icon=info.icon_filename,
            description=info.description,
            configure_url=reverse_lazy('ejabberd:index'),
            clients=info.clients,
            login_required=True)
        self.add(shortcut)

        firewall = Firewall('firewall-ejabberd',
                            info.name,
                            ports=['xmpp-client', 'xmpp-server', 'xmpp-bosh'],
                            is_external=True)
        self.add(firewall)

        webserver = Webserver('webserver-ejabberd',
                              'jwchat-plinth',
                              urls=['http://{host}/bosh/'])
        self.add(webserver)

        letsencrypt = LetsEncrypt(
            'letsencrypt-ejabberd',
            domains=get_domains,
            daemons=['ejabberd'],
            should_copy_certificates=True,
            private_key_path='/etc/ejabberd/letsencrypt/{domain}/ejabberd.pem',
            certificate_path='/etc/ejabberd/letsencrypt/{domain}/ejabberd.pem',
            user_owner='ejabberd',
            group_owner='ejabberd',
            managing_app='ejabberd')
        self.add(letsencrypt)

        daemon = Daemon('daemon-ejabberd',
                        managed_services[0],
                        listen_ports=[(5222, 'tcp4'), (5222, 'tcp6'),
                                      (5269, 'tcp4'), (5269, 'tcp6'),
                                      (5443, 'tcp4'), (5443, 'tcp6')])
        self.add(daemon)

        users_and_groups = UsersAndGroups('users-and-groups-ejabberd',
                                          reserved_usernames=['ejabberd'])
        self.add(users_and_groups)

        backup_restore = BackupRestore('backup-restore-ejabberd',
                                       **manifest.backup)
        self.add(backup_restore)

        turn = EjabberdTurnConsumer('turn-ejabberd')
        self.add(turn)

        pre_hostname_change.connect(on_pre_hostname_change)
        post_hostname_change.connect(on_post_hostname_change)
        domain_added.connect(on_domain_added)
Exemplo n.º 12
0
 def post_init():
     """Perform post initialization operations."""
     pre_hostname_change.connect(on_pre_hostname_change)
     post_hostname_change.connect(on_post_hostname_change)
     domain_added.connect(on_domain_added)