1.4 KiB
1.4 KiB
Capability Profile Contract
ODS now exposes a normalized installer capability profile so platform and hardware decisions are not scattered through installer code.
Contract
- Schema:
config/capability-profile.schema.json - Generator:
scripts/build-capability-profile.sh - Default output:
.capabilities.jsonin repo root - Installer runtime output:
/tmp/ods-capabilities.json(override withCAPABILITY_PROFILE_FILE)
Generate
scripts/build-capability-profile.sh --output /tmp/ods-capabilities.json
For 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
Current installer use
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