Skip to content

chore(docker): join bot+backend to shared lucky-monitoring network - #877

Merged
LucasSantana-Dev merged 2 commits into
release/v2.12.0from
feat/observability-network
May 16, 2026
Merged

LucasSantana-Dev merged 2 commits into
release/v2.12.0from
feat/observability-network

Conversation

@LucasSantana-Dev

@LucasSantana-Dev LucasSantana-Dev commented May 16, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds the lucky-monitoring Docker network and joins both bot and backend services to it, so the homelab Prometheus container can scrape:

…without exposing those ports to the host.

Lucky owns/creates the network; homelab joins it as external: true in compose/monitoring.yml (homelab PR #135).

Why this PR exists separately

PR #135 in the homelab repo declares lucky-monitoring as an external network. Without this Lucky-side change, the homelab stack would fail to start (network does not exist) and the new LuckyBotDown / LuckyBackendDown alerts would fire immediately on deploy because the scrape targets would not be DNS-resolvable.

Deploy order

  1. Merge this PR (creates the network on the Lucky compose project on next deploy)
  2. Redeploy Lucky → docker network ls shows lucky-monitoring
  3. Merge homelab feat(music): add reliability watchdog, autoplay feedback, and queue resilience #135
  4. Redeploy homelab monitoring stack → Prometheus container joins the existing network
  5. Verify in Grafana that up{job=~"lucky-.*"} == 1

Test plan

  • CI passes (lint / Docker build / compose validate)
  • After deploy: docker network inspect lucky-monitoring shows both lucky-bot and lucky-backend attached
  • After homelab redeploy: Prometheus target page shows both Lucky targets as UP

Summary by CodeRabbit

  • Chores
    • Updated Docker Compose configuration to enable monitoring infrastructure connections for bot and backend services.

Review Change Stack

Lets the homelab Prometheus container scrape /metrics on lucky-bot:9091
and lucky-backend:5000 without publishing those ports to the host.

Lucky owns the network (declared here); homelab joins it as
`external: true` in compose/monitoring.yml. See homelab PR #135.

Pairs with #873 (bot metrics) and #875 (backend metrics).
@vercel

vercel Bot commented May 16, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
lucky Ready Ready Preview, Comment May 16, 2026 0:15am

Request Review

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LucasSantana-Dev has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@github-actions

Copy link
Copy Markdown

Failed to generate code suggestions for PR

@coderabbitai

coderabbitai Bot commented May 16, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8acc0c43-f4bd-4558-ace0-9ab8b1789e65

📥 Commits

Reviewing files that changed from the base of the PR and between 22c4fab and 4d92c25.

📒 Files selected for processing (1)
  • docker-compose.yml

📝 Walkthrough

Walkthrough

Docker Compose configuration adds a lucky-monitoring network to support metrics collection. The bot and backend services are connected to this new network alongside the existing lucky-network, with the network defined using a bridge driver at the composition level.

Changes

Monitoring Network Integration

Layer / File(s) Summary
Monitoring network definition and service wiring
docker-compose.yml
New lucky-monitoring network is defined at the top level with bridge driver. Bot and backend services are connected to this network, each with inline comments about metrics scraping.

🎯 2 (Simple) | ⏱️ ~5 minutes

Suggested labels

infra

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: joining bot and backend services to a shared monitoring network for Prometheus scraping.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/observability-network

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

LucasSantana-Dev added a commit that referenced this pull request May 16, 2026
)

## Summary

Fixes #874 by:

1. **Bumping the pinned ref of the org reusable \`quality.yml\`** to the
merge commit of
[LucasSantana-Dev/.github#2](LucasSantana-Dev/.github#2).
That PR adds \`GITHUB_TOKEN\` + \`YOUTUBE_DL_SKIP_DOWNLOAD=true\` to the
install step in the \`lint\` and \`deadcode\` jobs, eliminating the 60
req/hr unauthenticated cap that's been failing PRs since the
observability rollout started.

2. **Applying the same env vars to local \`release.yml\`** for parity.
Release builds don't strictly need the yt-dlp binary, so skipping the
fetch is harmless.

## Why this scope

| Workflow | npm ci flags | Status |
|---|---|---|
| \`ci.yml\` | \`--legacy-peer-deps --ignore-scripts\` | already safe |
| \`sonarcloud.yml\` | \`--legacy-peer-deps --ignore-scripts\` | already
safe |
| \`bundle-size.yml\` | runs postinstall | already sets both env vars |
| \`release.yml\` | bare \`npm ci\` | **fixed here** |
| reusable \`quality.yml\` | runs postinstall | **fixed via SHA bump** |

## Closes

- #874

## Unblocks

- PR #873 (bot observability metrics)
- PR #875 (backend observability)
- PR #876 (frontend Sentry)
- PR #877 (paired Lucky-side network for homelab #135)

## Test plan

- [ ] \`quality / Lint\` passes on this PR's first run
- [ ] After merge: re-run failed \`quality / Lint\` on #873 / #875 /
#876 — they should pass without retry

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LucasSantana-Dev has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@sonarqubecloud

Copy link
Copy Markdown

@LucasSantana-Dev
LucasSantana-Dev merged commit 8ddfb2f into release/v2.12.0 May 16, 2026
27 checks passed
@LucasSantana-Dev
LucasSantana-Dev deleted the feat/observability-network branch May 16, 2026 02:01

This branch was successfully deployed

1 active deployment
Preview — 45903cc1 Deployed May 16, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant