# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2024 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # https://cloudlinux.com/docs/LICENCE.TXT # import functools import logging import os from clcommon.const import Feature from clcommon.cpapi import is_panel_feature_supported from clconfigure import run, task from clconfigure.packages import install_package CAGEFSCTL = "/usr/sbin/cagefsctl" def _skip_without_cagefs(func): @functools.wraps(func) def decorator(*args, **kwargs): if not is_panel_feature_supported(Feature.CAGEFS): logging.debug("Feature 'CageFS' is not supported. Skipping...") return if not os.path.exists(CAGEFSCTL): logging.debug("CageFS is not installed. Skipping...") return return func(*args, **kwargs) return decorator @_skip_without_cagefs @task("Cleaning CageFS environment") def clean_cagefs_without_lve_environment(): if is_panel_feature_supported(Feature.LVE): logging.debug("LVE feature is supported. Skipping...") return result = run([CAGEFSCTL, "--clean-without-lve-environment"]) if result.exitcode != 0: logging.warning("Unable to clean non-LVE CageFS enviroment. stdout: %s, stderr: %s", result.stdout, result.stderr) @_skip_without_cagefs @task("Reconfiguring CageFS") def reconfigure_cagefs(): install_package("cagefs", reinstall=True) _rebuild_apache_directadmin() def _rebuild_apache_directadmin(): da_bin = "/usr/local/directadmin/directadmin" if not os.path.exists(da_bin): return result = run([da_bin, "build", "apache"]) if result.exitcode != 0: logging.warning("Error during rebuilding Apache. stdout: %s, stderr: %s", result.stdout, result.stderr)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
cli | Folder | 0755 |
|
|
spec | Folder | 0755 |
|
|
Readme.md | File | 1.61 KB | 0644 |
|
__init__.py | File | 2.76 KB | 0644 |
|
awp.py | File | 1.75 KB | 0644 |
|
cagefs.py | File | 1.81 KB | 0644 |
|
clpro.py | File | 867 B | 0644 |
|
files.py | File | 933 B | 0644 |
|
limits.py | File | 2.75 KB | 0644 |
|
linksafe.py | File | 1.38 KB | 0644 |
|
lve.py | File | 965 B | 0644 |
|
packages.py | File | 2.57 KB | 0644 |
|
services.py | File | 2.29 KB | 0644 |
|
watcher.py | File | 5.04 KB | 0644 |
|