72 lines
2.5 KiB
Python
72 lines
2.5 KiB
Python
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",
|
|
# Default to stable manifest; dev fallback handled separately in releases.py
|
|
"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",
|
|
"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
|