Files
wehub-resource-sync 9e8f1bbeed
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:33 +08:00

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.json in repo root
  • Installer runtime output: /tmp/ods-capabilities.json (override with CAPABILITY_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_FAMILY
  • CAP_GPU_VENDOR, CAP_GPU_NAME, CAP_GPU_MEMORY_TYPE, CAP_GPU_COUNT, CAP_GPU_VRAM_MB
  • CAP_LLM_BACKEND, CAP_LLM_HEALTH_URL, CAP_LLM_API_PORT
  • CAP_RECOMMENDED_TIER
  • CAP_COMPOSE_OVERLAYS
  • CAP_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 (nvidia vs amd)
  • compose overlay selection (base+nvidia or base+amd) with legacy fallback
  • LLM health endpoint selection for AMD paths
  • installer preflight evaluation via scripts/preflight-engine.sh