Dream Server now exposes a normalized installer capability profile so platform and hardware decisions are not scattered through installer code.
- Schema:
config/capability-profile.schema.json - Generator:
scripts/build-capability-profile.sh - Default output:
.capabilities.jsonin repo root - Installer runtime output:
/tmp/dream-server-capabilities.json(override withCAPABILITY_PROFILE_FILE)
scripts/build-capability-profile.sh --output /tmp/dream-server-capabilities.jsonFor shell-driven installers:
source lib/safe-env.sh
CAPABILITY_ENV="$(scripts/build-capability-profile.sh --env)"
load_env_from_output <<< "$CAPABILITY_ENV"This exports:
CAP_PLATFORM_ID,CAP_PLATFORM_FAMILYCAP_GPU_VENDOR,CAP_GPU_NAME,CAP_GPU_MEMORY_TYPE,CAP_GPU_COUNT,CAP_GPU_VRAM_MBCAP_LLM_BACKEND,CAP_LLM_HEALTH_URL,CAP_LLM_API_PORTCAP_RECOMMENDED_TIERCAP_COMPOSE_OVERLAYSCAP_HARDWARE_CLASS_ID,CAP_HARDWARE_CLASS_LABEL
install-core.sh now consumes this profile for:
- tier recommendation normalization (
T1..T4,SH_*) - backend/memory overrides (
nvidiavsamd) - compose overlay selection (
base+nvidiaorbase+amd) with legacy fallback - LLM health endpoint selection for AMD paths
- installer preflight evaluation via
scripts/preflight-engine.sh