33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
import app.container as container
|
|
from app.core.audit import AuditLogger
|
|
from app.core.config import Settings, validate_settings
|
|
from app.factory import create_app
|
|
from app.providers.cli_provider import CliSystemProvider, CommandExecutor
|
|
from app.services.user_group_service import UserGroupService
|
|
from app.state import AppState
|
|
|
|
settings = Settings()
|
|
validate_settings(settings)
|
|
|
|
executor = CommandExecutor(sudo_path=settings.sudo_path, timeout_seconds=settings.command_timeout_seconds)
|
|
provider = CliSystemProvider(executor=executor)
|
|
service = UserGroupService(
|
|
provider=provider,
|
|
home_base_dir=settings.home_base_dir,
|
|
link_home_dir=settings.link_home_dir or None,
|
|
hidden_users=settings.hidden_user_list,
|
|
hidden_groups=settings.hidden_group_list,
|
|
whitelist_users=settings.whitelist_user_list,
|
|
whitelist_groups=settings.whitelist_group_list,
|
|
locked_users=settings.locked_user_list,
|
|
user_uid_min=settings.user_uid_min,
|
|
user_uid_max=settings.user_uid_max,
|
|
group_gid_min=settings.group_gid_min,
|
|
group_gid_max=settings.group_gid_max,
|
|
)
|
|
audit = AuditLogger(log_path=settings.log_path)
|
|
container.app_state = AppState(settings=settings, service=service, audit=audit)
|
|
app_state = container.app_state
|
|
|
|
app = create_app()
|