Skip to content

chore(deps): bump node from 22-alpine to 25-alpine - #1

Closed
dependabot[bot] wants to merge 11 commits into
mainfrom
dependabot/docker/node-25-alpine
Closed

dependabot[bot] wants to merge 11 commits into
mainfrom
dependabot/docker/node-25-alpine

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Apr 6, 2026

Copy link
Copy Markdown

Bumps node from 22-alpine to 25-alpine.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

AusAgentSmith and others added 11 commits April 6, 2026 19:11
10-crate workspace implementing the Indexarr read/write API, torrent name
parser, content classifier, quality scoring, TMDB client, and identity
management.

Phase 1 (foundation): indexarr-core (config, models, DB schema, errors),
indexarr-identity (Ed25519 keypair, contributor ID, ban list),
indexarr-search (PostgreSQL FTS + 16 faceted filters),
indexarr-web (Axum HTTP server, Torznab XML API, SPA serving),
main.rs (CLI, worker orchestration, signal handling).

Phase 2 (content pipeline + write APIs): indexarr-parser (regex-based
torrent name parsing — resolution, codec, source, HDR, audio, episodes),
indexarr-classifier (content type detection, quality scoring),
indexarr-tmdb (TMDB API with rate limiter and circuit breaker),
write endpoints (magnet upload, comments, votes, nuke moderation,
tag CRUD, bulk import/delete, identity, system admin).

5,872 lines of Rust, 10 passing tests, ~35 API endpoints.
Stub crates for Phase 3+ (DHT, announcer, sync).
Add indexarr-dht crate with:
- DhtEngine: manages N librtbit-dht instances spread across 160-bit
  keyspace with adaptive crawling (random get_peers queries)
- DhtSharedState: thread-safe hash queue + peer cache (DashMap, 200k
  max entries with LRU eviction)
- Hash ingest worker: batches discovered hashes to PostgreSQL (500/batch,
  5s flush interval, source priority: announce > get_peers > sample)
- MetadataResolver: semaphore-bounded concurrent resolution, prioritized
  batch selection (priority > source quality > observations > recency),
  content pipeline integration (parser + classifier + quality scoring)
- BEP 9 metadata fetch scaffolded (requires TCP peer connection wiring
  via librtbit-peer-protocol — noted as TODO)

Wire dht_crawler and resolver workers into main.rs with proper
lifecycle management (shared Arc<DhtEngine>, CancellationToken).

~880 new lines of Rust in indexarr-dht.
Phase 4 — indexarr-announcer (~320 lines):
- Rolling pool announcer with HTTP tracker scrape for seed/peer counts
- 3-strike rule (no_peers after 3 zero-activity scrapes)
- Settle/rotate intervals, pool backfill from DB
- Bencode scrape response parser

Phase 5 — indexarr-sync (~1360 lines):
- SyncManager: 3-loop gossip orchestrator (export, discovery, gossip)
  running concurrently via tokio::select!
- DeltaExporter: incremental gzip NDJSON deltas with Ed25519 signing,
  SHA-256 content hashing, manifest generation, sequence tracking
- DeltaMerger: 3-tier merge (insert/update/fill-gaps) with signature
  verification, epoch checking, ban enforcement, DoS limits
- PeerTable: reputation tracking, tiered eviction, PEX discovery,
  longevity bonus, health tracking, DB persistence
- Epoch system: signed declarations, data purge (seed vs non-seed),
  seed-only mode, filesystem cleanup

All 5 workers now implemented: http_server, dht_crawler, resolver,
announcer, sync. Total: ~8,500 lines of Rust, 10 passing tests.
- Multi-stage Dockerfile: Node 22 (Vue build) → Rust 1.86 (release
  binary) → Debian slim runtime (~13MB binary, ~30MB image)
- docker-compose.yml: all workers + PostgreSQL 17
- docker-compose.sync.yml: sync-only mode (no DHT crawling)
- GitHub Actions CI: cargo check, clippy, test, release build
- GitHub Actions Docker: build + push to GHCR on main/tags
- CLAUDE.md: project documentation for the Rust workspace
- rust-toolchain.toml: pin stable channel

All 6 phases of the Python→Rust migration complete.
8,512 lines of Rust, 10 crates, 10 tests, 13MB release binary.
Copy ui/ directory and classifier.yml from Python repo.
These are needed by the multi-stage Dockerfile (Stage 1 builds Vue SPA).
CI and Docker builds need access to private AusAgentSmith-org repos
(librtbit-dht, librtbit-core, etc.) via git+https. Configure
git url.insteadOf with GH_PAT secret, set CARGO_NET_GIT_FETCH_WITH_CLI.

Requires GH_PAT repo secret (set via gh secret set).
Bumps node from 22-alpine to 25-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file docker Pull requests that update docker code labels Apr 6, 2026
AusAgentSmith pushed a commit that referenced this pull request Apr 14, 2026
@dependabot @github

dependabot Bot commented on behalf of github Apr 14, 2026

Copy link
Copy Markdown
Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/docker/node-25-alpine branch April 14, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file docker Pull requests that update docker code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant