Coverage for src/lexigram/admin/settings/panel/deployment_spec.py: 93%
15 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
1"""Deployment info configuration specification — read-only, env-sourced."""
3from __future__ import annotations
5import os
7from lexigram.admin.settings.panel.nodes import ConfigSpec, StringNode
8from lexigram.admin.settings.panel.registry import ConfigRegistry
10__all__ = ["DeploymentInfoSpec", "register_spec"]
13class DeploymentInfoSpec(ConfigSpec):
14 """Read-only deployment info sourced from environment variables."""
16 namespace = "admin.deployment"
17 label = "Deployment Info"
18 icon = "server"
19 description = "Read-only environment and runtime configuration."
20 store_name = "env"
22 environment = StringNode(
23 label="Environment",
24 default=os.environ.get("ENVIRONMENT", "unknown"),
25 readonly=True,
26 help_text="Deployment environment name.",
27 )
28 log_level = StringNode(
29 label="Log Level",
30 default=os.environ.get("LOG_LEVEL", "INFO"),
31 readonly=True,
32 help_text="Configured application log level.",
33 )
36def register_spec(registry: ConfigRegistry) -> None:
37 """Register this spec with the config registry."""
38 registry.register_spec(DeploymentInfoSpec)