- infrasynth.configs: typed multi-tenant config store (registry, service, secrets, cache) + public config_changed/config_reset signals and API - emit the declared-but-dead signals (features flags/overrides, scheduler task_completed/task_failed, tenancy tenant_updated, audit model_changed) and per-model audit field exclusions - security: permission catalog (security_permission), Django-style model-derived AutoPermission, PermissionRegistry, RoleAssignment, global-or-tenant Grant/Revoke, catalog API - consolidate the permission surface: PermissionRegistry only (drop the settings dict), IsAuthenticatedAndPermitted aliases HybridPermission, require_permission replaced by required_permissions + require_all - packaging: add [build-system]; add Forgejo publish workflow (.forgejo)
20 lines
557 B
Python
20 lines
557 B
Python
from django.apps import AppConfig
|
|
|
|
|
|
class SchedulerConfig(AppConfig):
|
|
default_auto_field = "django.db.models.BigAutoField"
|
|
name = "infrasynth.scheduler"
|
|
label = "infrasynth_scheduler"
|
|
|
|
def ready(self):
|
|
from infrasynth.features.registry import FeatureRegistry
|
|
|
|
from . import receivers # noqa: F401
|
|
|
|
FeatureRegistry.register(
|
|
"scheduler",
|
|
name="Scheduler",
|
|
description="Task scheduling, execution, and monitoring",
|
|
default=True,
|
|
category="system",
|
|
)
|