test: characterize contracts and make startup explicit

This commit is contained in:
Media
2026-08-06 17:24:20 -05:00
parent fc27feaea1
commit 9091f27283
9 changed files with 695 additions and 56 deletions
+52 -7
View File
@@ -3,13 +3,58 @@ mqtt:
port: 1883
username: null
password: null
client_id_prefix: "ytplayer"
client_id: yt-controller
keepalive_seconds: 30
reconnect_min_seconds: 1
reconnect_max_seconds: 30
command_queue_size: 512
topics:
cmd: "youtube/player/cmd"
status: "youtube/player/status"
player_command: youtube/player/cmd
player_status: youtube/player/status
player_state: youtube/player/state
player_telemetry: youtube/player/telemetry
controller_command: youtube/controller/cmd
ingest_progress: youtube/ingest/progress
playback_base: youtube/media/playback
router_mode_set: audio/player/mode/set
router_mode_state: audio/player/mode/state
# Optional additive result topic. Existing consumers do not depend on it.
controller_result: null
player:
display: ":0"
xdg_runtime_dir: "/run/user/1000"
mpv_binary: "/usr/bin/mpv"
storage:
media_base: /mnt/Media/YTPlayer
data_base: /controller-data
database_name: controller.sqlite3
legacy_yaml_name: playlists.yaml
slot_count: 10
retention_seconds: 172800
expiry_interval_seconds: 60
# Marks uncertain playback for operator review; it never removes protection.
uncertain_review_after_seconds: 900
downloads:
yt_dlp_binary: yt-dlp
cookie_path: /run/secrets/yt-dlp-cookies.txt
cookie_required: false
max_workers: 2
process_timeout_seconds: 7200
max_height: 1080
router:
required_mode: video
confirmation_timeout_seconds: 3
# attempt: request video and wait for the finite confirmation timeout
# continue: request video but do not wait when no state has been observed
# reject: reject playback until a Router state has been observed
when_state_unknown: attempt
continue_on_confirmation_failure: true
fallback_restore_mode: null
homeassistant:
enabled: true
discovery_prefix: homeassistant
web:
host: 0.0.0.0
port: 7531