[package] name = "youtube-feeder" version = "0.1.0" edition.workspace = true rust-version.workspace = true license.workspace = true publish = false # YouTube references as a delegated-playback tier: playback happens on YouTube, no bytes are ever transported or seeded. # Upstream: YouTube via Piped instances [lib] name = "youtube_feeder" path = "src/lib.rs" [[bin]] name = "youtube-feeder" path = "src/main.rs" [dependencies] # Pinned by TAG, not rev or path. The tag is the SDK's release identity, and it # is the one form every feeder in the fleet can be lined up on. # # ⚠ Never put this back to `path = "../../../meta-feeder-sdk"`. That resolves # OUTSIDE this repo, and this repo is the Docker build context — the image build # died at manifest resolution with a bare "No such file or directory", and the # crate became unconsumable as a git dependency by anyone, since a consumer's # checkout has no such sibling directory either. meta-feeder-sdk = { git = "https://github.com/worph/meta-feeder-sdk", tag = "v1.1.0" } tokio = { version = "1.40", features = ["full"] } axum = { version = "0.7", features = ["json"] } anyhow = "1" async-trait = "0.1" serde = { version = "1", features = ["derive"] } serde_json = "1" reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"], default-features = false } bytes = "1" futures = "0.3" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } redb = "2" base64 = "0.22" # The MusicBrainz client, from the crate that owns it. Only the *music* # path uses it; the video path never touches MusicBrainz. # v1.1.1, not v1.1.0: v1.1.0 declared the escaping path dep described above, so # it cannot be consumed over git at all ("no matching package named # `meta-feeder-sdk`"). v1.1.1 is that one-line fix and nothing else. musicbrainz-feeder = { git = "https://github.com/worph/meta-feeder-musicbrainz", tag = "v1.1.1" } [dev-dependencies] wiremock = "0.6" tempfile = "3" tokio = { version = "1.40", features = ["full", "test-util"] }