import os import pathlib # Network HOST = "127.0.0.1" PORT = 4000 # Paths / files SERVICE_JSON = pathlib.Path("/etc/pikit/services.json") RESET_LOG = pathlib.Path("/var/log/pikit-reset.log") API_LOG = pathlib.Path("/var/log/pikit-api.log") READY_FILE = pathlib.Path("/var/run/pikit-ready") VERSION_FILE = pathlib.Path("/etc/pikit/version") WEB_VERSION_FILE = pathlib.Path("/var/www/pikit-web/data/version.json") UPDATE_STATE_DIR = pathlib.Path("/var/lib/pikit-update") UPDATE_STATE = UPDATE_STATE_DIR / "state.json" UPDATE_LOCK = pathlib.Path("/var/run/pikit-update.lock") WEB_ROOT = pathlib.Path("/var/www/pikit-web") API_PATH = pathlib.Path("/usr/local/bin/pikit-api.py") API_DIR = API_PATH.parent API_PACKAGE_DIR = API_DIR / "pikit_api" BACKUP_ROOT = pathlib.Path("/var/backups/pikit") TMP_ROOT = pathlib.Path("/var/tmp/pikit-update") # Apt / unattended-upgrades APT_AUTO_CFG = pathlib.Path("/etc/apt/apt.conf.d/20auto-upgrades") APT_UA_BASE = pathlib.Path("/etc/apt/apt.conf.d/50unattended-upgrades") APT_UA_OVERRIDE = pathlib.Path("/etc/apt/apt.conf.d/51pikit-unattended.conf") DEFAULT_UPDATE_TIME = "04:00" DEFAULT_UPGRADE_TIME = "04:30" SECURITY_PATTERNS = [ "origin=Debian,codename=${distro_codename},label=Debian-Security", "origin=Debian,codename=${distro_codename}-security,label=Debian-Security", ] ALL_PATTERNS = [ "origin=Debian,codename=${distro_codename},label=Debian", *SECURITY_PATTERNS, ] # Release updater DEFAULT_MANIFEST_URL = os.environ.get( "PIKIT_MANIFEST_URL", # Stable manifest (raw in repo, public) "https://git.44r0n.cc/44r0n7/pi-kit/raw/branch/main/manifests/manifest-stable.json", ) DEFAULT_DEV_MANIFEST_URL = os.environ.get( "PIKIT_DEV_MANIFEST_URL", # Dev manifest (raw in repo, public) "https://git.44r0n.cc/44r0n7/pi-kit/raw/branch/main/manifests/manifest-dev.json", ) AUTH_TOKEN = os.environ.get("PIKIT_AUTH_TOKEN") # Flags / ports DEBUG_FLAG = pathlib.Path("/boot/pikit-debug").exists() HTTPS_PORTS = {443, 5252} CORE_PORTS = {80} CORE_NAME = "Pi-Kit Dashboard" # Diagnostics (RAM backed where available) DIAG_STATE_FILE = ( pathlib.Path("/dev/shm/pikit-diag.state") if pathlib.Path("/dev/shm").exists() else pathlib.Path("/tmp/pikit-diag.state") ) DIAG_LOG_FILE = ( pathlib.Path("/dev/shm/pikit-diag.log") if pathlib.Path("/dev/shm").exists() else pathlib.Path("/tmp/pikit-diag.log") ) DIAG_MAX_BYTES = 1_048_576 # 1 MiB cap in RAM DIAG_MAX_ENTRY_CHARS = 2048 DIAG_DEFAULT_STATE = {"enabled": False, "level": "normal"} # level: normal|debug