Skip to content

Bump globals from 16.0.0 to 16.1.0 - #5

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/globals-16.1.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/globals-16.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 8, 2025 •

Copy link
Copy Markdown
Contributor

Bumps globals from 16.0.0 to 16.1.0.

Release notes

Sourced from globals's releases.

v16.1.0

  • Update globals (#293) 5c58875

sindresorhus/globals@v16.0.0...v16.1.0

Commits

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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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)

Bumps [globals](https://github.com/sindresorhus/globals) from 16.0.0 to 16.1.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](sindresorhus/globals@v16.0.0...v16.1.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels May 8, 2025
@netlify

netlify Bot commented May 8, 2025 •

Copy link
Copy Markdown

✅ Deploy Preview for regal-bunny-0c8efe ready!

Name Link
🔨 Latest commit de02067
🔍 Latest deploy log https://app.netlify.com/sites/regal-bunny-0c8efe/deploys/681c271a8bcf740008660bae
😎 Deploy Preview https://deploy-preview-5--regal-bunny-0c8efe.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@dependabot @github

dependabot Bot commented on behalf of github May 8, 2025

Copy link
Copy Markdown
Contributor Author

Looks like globals is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this May 8, 2025
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/globals-16.1.0 branch May 8, 2025 03:42
LucasSantana-Dev added a commit that referenced this pull request May 15, 2026
Anchors: Stripe Dashboard (asymmetric KPI weight), Linear (dense command list).
Fixes named anti-patterns #4 (hero-metric template) and #5 (identical card grid).

- KPI row: lead hero card (Total Members, text-5xl) + stepped-down compact
  rows for Active/Total Cases and Auto-Mod Actions, replacing the 4-equal
  StatTile template.
- Quick Actions: single surface-panel with divide-y rows (icon + title +
  desc + hover-reveal chevron) replacing 7 identical ActionPanel cards.
- Drop em-dash placeholder in track playedBy; show 'Unknown' instead.
- Add CompactStat inline component (right-column metric rows).
LucasSantana-Dev added a commit that referenced this pull request May 23, 2026
ServersPage: Notion workspace switcher anchored layout (asymmetric emphasis primary server + secondary grid), dark-first palette, no identical card grid (#5), footer empty state.

Login: Linear signin pattern (single-column, minimal decoration, brand-visible, one strong CTA), dark-first, no glassmorphism (#6), Discord OAuth button clear, badge list vertical (not 3-column grid).

Locked tokens: Sora display, Manrope body, JetBrains Mono mono; brand #ec4899; dark surfaces; surface-panel utility throughout. All colors from Lucky palette.

Anti-patterns fixed: #5 (identical card grid), #6 (glassmorphism), #9 (em dashes), #10 (default shadows), #11 (Inter default), #16 (generic CTAs), #17 (platitudes).

Register: consumer-saas (workspace picker / signin funnel).
Anchors: ServersPage (Notion switcher + Linear workspace picker); Login (Linear signin + Vercel signin).
TypeScript: clean. Slop audit: clean (zero hard-ban violations).
LucasSantana-Dev added a commit that referenced this pull request Sep 27, 2026
#2401)

Closes #2392
Closes #2390

## What

Phase P2a of `decisions/2026-09-26-lucky-owned-observability-stack.md`
(sections 1, 4, 5). Code only, nothing deployed anywhere.

- `observability/` directory: Prometheus config (scrapes bot `:9091` and
  backend `/metrics`, 30d/5GB retention), the moved + fixed alert rules
(`lucky-alerts.rules.yml`), new `disk.rules.yml` (disk-free
warn/critical +
  the always-firing `Watchdog` rule), and full Grafana provisioning
(datasource, `Lucky ops` starter dashboard, alerting: `email-primary`
and
`watchdog-offbox` contact points, notification policy routing `Watchdog`
  to the off-box contact with a 1m repeat).
- `docker-compose.yml`: `prometheus`, `grafana`, `node-exporter`
services
under the `observability` profile, pinned images, explicit `mem_limit`s
  (512m/256m/64m), no host ports, named volumes, host root mounted
  read-only into node-exporter.
- Heartbeat (#2390) consolidated into one implementation
(`packages/shared/src/utils/monitoring/heartbeat.ts`), used by both bot
  and backend. The bot passes an `isReady` gate (client.isReady()); the
  backend has none and pings unconditionally. Env vars renamed to
  `HEARTBEAT_PING_URL` / `HEARTBEAT_PING_URL_EXTERNAL` /
  `HEARTBEAT_INTERVAL_MS`, same names on both services, declared in
`docker-compose.yml`. The bot's separate `HeartbeatService` is removed.
- `monitoring/README.md` trimmed: Layer 3 now points at
`observability/`;
Layers 1-2 stay as reference. `monitoring/prometheus/` removed (content
  moved via `git mv`).

## Alerting choice

Grafana-managed alerting, not a separate Alertmanager: fewer containers,
Grafana is already the single pane per the ADR, and vanilla OSS
Prometheus
has no ruler write API for Grafana to manage its native rule files
directly.
Prometheus still loads `observability/prometheus/rules/*.yml` (so
`promtool`/`/api/v1/rules` and a future Alertmanager/Mimir migration
still
work) but those evaluations are inert for delivery; the rules that
actually
notify are the Grafana-managed copies in
`observability/grafana/provisioning/alerting/rules.yaml`, querying the
same
PromQL by hand. Full writeup in `observability/README.md`.

## P2a friction log (gate: more than 3 means stop and revisit before
P2b)

1. Compose interpolates every service's env vars at parse time
regardless of
   active profile; a `:?` (required) on the new Grafana vars broke plain
`docker compose up` even without the `observability` profile. Fixed with
   `:-` defaults instead.
2. The `lucky-resource-pressure` rule group (moved from `monitoring/`)
needs
cAdvisor, which P2a does not deploy; those four rules stay defined but
   are dormant until cAdvisor is added.
3. Vanilla Prometheus has no ruler API, forcing the same alert logic to
be
hand-duplicated between Prometheus-native rules and Grafana-managed ones
   (see "Alerting choice" above).
4. Unverified assumption: Grafana's `${VAR}` provisioning-file env
expansion
for the two contact points. Not verified against a running container
this
   session (see #5); flagged for runtime verification.
5. Local-environment-only, not the platform's fault: this session's
colima
Docker install had a corrupted containerd store, blocking `docker run`
   for a `promtool` container check. Filed separately as #2400. Worked
   around with `promtool` from Homebrew; `promtool check config`/`check
   rules` both passed against the files directly.

4 of 5 are platform-relevant (#5 is local tooling only), which crosses
the
ADR's "more than 3" threshold. Flagging for the operator to weigh before
committing further to P2b; nothing here blocks the prototype itself
(config
and rule checks both pass).

## Verification

- `docker compose config -q` (no profile) and `docker compose --profile
observability config -q`: both pass, dummy env vars only, no `.env*`
read.
- `promtool check config` / `promtool check rules`: both pass (via
Homebrew
  `promtool`, since local Docker could not run containers, see #2400).
- All YAML/JSON files in `observability/` parse cleanly.
- `npx tsc -b` (shared), `npx tsc --noEmit` (bot, backend): clean.
- `eslint -c eslint.config.js` on changed non-test `.ts` files: no
issues.
- `packages/shared/src/utils/monitoring/heartbeat.spec.ts`: 6/6 pass
(added
  tests for the `isReady` gate and the never-throws contract).
- `packages/bot/src/bot/start/initializer.spec.ts`: 40/40 pass.
- Full `packages/shared` suite: 79 suites / 1523 tests pass.

## Not done / not in scope

- Nothing was deployed to the homelab or any remote host. No containers
were
  started outside local `docker compose config` validation.
- Grafana's env-var expansion for contact points is unverified at
runtime
  (friction #4).
- cAdvisor and the resource-pressure alerts it feeds are not part of
P2a.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Adds a file-provisioned Prometheus/Grafana stack as an opt-in Compose
profile and consolidates the heartbeat into one shared implementation.
Code only; nothing is deployed.

Closes #2392 and #2390.

**Observability stack**

- New `observability/` profile runs `prometheus`, `alertmanager`,
`grafana`, `node-exporter`, and `cadvisor` with pinned images, memory
limits, and no host ports.
- Alert rules live only in Prometheus
(`observability/prometheus/rules/*.yml`); Alertmanager owns routing and
delivery, so Grafana is dashboards-only with no alerting of its own.
- Adds the always-firing `Watchdog` rule routed to an off-box webhook
and new disk-free warn/critical rules; cAdvisor now feeds the moved
`lucky-resource-pressure` rules, which previously had no data source.
- Alertmanager's config is rendered by a one-shot `envsubst` service;
the SMTP password and Watchdog URL use Alertmanager `_file` options fed
by Compose secrets so no secret lands in plain text.
- Adds two pt-BR Grafana dashboards for a non-PromQL operator: a home
dashboard with a question→where-to-look table and a full system-health
dashboard whose thresholds match the alert rules.

**Heartbeat**

- Replaces the bot's `HeartbeatService` with the shared
`startHeartbeat`/`stopHeartbeat`, used by both bot and backend.
- Env vars renamed to `HEARTBEAT_PING_URL` /
`HEARTBEAT_PING_URL_EXTERNAL` / `HEARTBEAT_INTERVAL_MS`, with
per-service source vars (`_BOT` / `_BACKEND`) so a URL-keyed external
monitor can tell them apart; each resolves through per-service → shared
`HEARTBEAT_*` → legacy `HEALTHCHECK_*`, so an unconfigured var never
silently disables the heartbeat for un-migrated deployments.
- The bot passes an `isReady` gate so a disconnected gateway goes
silent; the backend pings unconditionally.

<sup>Written for commit 30c3e5d.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/LucasSantana-Dev/Lucky/pull/2401?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->
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 javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants