Skip to content

build(deps): bump express from 5.1.0 to 5.2.0 in /raspberrypi-master/frontend#161

Open
dependabot[bot] wants to merge 278 commits intomasterfrom
dependabot/npm_and_yarn/raspberrypi-master/frontend/express-5.2.0
Open

build(deps): bump express from 5.1.0 to 5.2.0 in /raspberrypi-master/frontend#161
dependabot[bot] wants to merge 278 commits intomasterfrom
dependabot/npm_and_yarn/raspberrypi-master/frontend/express-5.2.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 1, 2025

Bumps express from 5.1.0 to 5.2.0.

Release notes

Sourced from express's releases.

v5.2.0

Important: Security

What's Changed

... (truncated)

Changelog

Sourced from express's changelog.

5.2.0 / 2025-12-01

  • Security fix for CVE-2024-51999 (GHSA-pj86-cfqh-vqx6)
  • deps: body-parser@^2.2.1
  • A deprecation warning was added when using res.redirect with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.
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)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Kumar Gopal and others added 30 commits June 15, 2025 13:15
Fix markdownlint issues in flux and MetalLB guides. Add symlinks and README links. Closes #1.
Update README link description for Ollama guide. refs #2
Grafana remains on Longhorn. Update monitoring guide and Helm values. Refs issue 'Use local storage for Prometheus'.
Expanded monitoring-guide with full setup instructions for Prometheus and Grafana on k3s with Proxmox. Updated README link to point to the guide.

Refs #123
Add service-server.yaml for ollama-server and update kustomization.
Document the service in a new guide linked from the README.

Refs: Add Flux-managed service for Ollama
- deploy kube-prometheus-stack via Flux
- update cluster kustomization to include monitoring
- document how monitoring is managed by Flux
- note in README that monitoring stack is deployed via Flux

------
https://chatgpt.com/codex/tasks/task_e_684f6d535af88327b15374b4c914b157
Add a guide describing how docs are published to gh-pages and link it from the README. References issue #N/A.
web-flow and others added 22 commits November 12, 2025 11:26
Creates k3s VM using direct qm commands via SSH to bypass Proxmox API SSL issues.
Calculates resources based on actual hardware: 3 cores and 25GB RAM.
- Add VMHealthChecker class for VM health status detection
- Detect running/stopped/paused/unknown VM states
- Mark stopped and paused VMs for deletion/recreation
- Add network bridge validation to verify required bridges exist
- Return structured VMHealthStatus with reason
- Add .flake8 config for consistent code style (120 char lines)
- 100% test coverage with 12 comprehensive tests

Implementation follows TDD approach with tests written first.

refs #159
- Detect SSL errors in ProxmoxAPI connection
- Fall back to pvesh CLI commands via SSH
- Add use_cli_fallback parameter (default True)
- Implement get_node_status with CLI support
- Add _exec_ssh_command helper for SSH execution
- Update tests to handle .maas suffix behavior
- Fix pyproject.toml: remove invalid asyncio_mode config

TDD approach: wrote tests first, achieved 91% coverage
refs #159
- Add get_cluster_token() to retrieve token from existing node
- Add node_in_cluster() to check cluster membership
- Use SSH to ubuntu@<ip> for token retrieval
- Full test coverage with mocked subprocess calls

refs #159
- Add install_k3s() method for cluster join
- Use curl | sh pattern with K3S_TOKEN and K3S_URL
- 5 minute timeout for installation
- SSH to ubuntu@<hostname> for installation
- Full test coverage including timeout and failure cases

refs #159
- Remove unused Optional import
- Apply black formatting
- All tests still passing with 100% coverage

refs #159
- Add delete_vm() method to stop and delete VMs
- Handle running VMs (stop first, then delete)
- Return False when VM doesn't exist
- 30 second timeout for stop operation
- 100% test coverage of new functionality

Tests added:
- test_delete_vm_when_exists_and_running
- test_delete_vm_when_exists_and_stopped
- test_delete_vm_when_not_exists
- test_delete_vm_stop_timeout

refs #159
- Check VM health before skipping existing VMs
- Delete and recreate unhealthy VMs automatically
- Use VMHealthChecker for health status
- Log health check results and actions
- 100% test coverage of new functionality

Tests added:
- test_create_or_update_vm_deletes_unhealthy_vm
- test_create_or_update_vm_keeps_healthy_vm
- test_create_or_update_vm_unhealthy_but_no_delete

Behavior changes:
- Stopped VMs are now deleted and recreated (was: skipped)
- Paused VMs are now deleted and recreated (was: skipped)
- Running VMs continue to be skipped (no change)
- Unknown state VMs are skipped without deletion (safe default)

refs #159
- Add join_vms_to_k3s() function for cluster join phase
- Call k3s join after VM provisioning in main()
- Skip nodes already in cluster (idempotent)
- Reuse cluster token for all nodes
- Gracefully handle missing K3S_EXISTING_NODE_IP
- Add comprehensive test coverage (100%)
- Create .env.example with K3S_EXISTING_NODE_IP documentation
- Structured workflow output with phase labels

Main workflow now executes three phases:
1. ISO Management - Ensure ISOs present
2. VM Provisioning - Ensure VMs healthy (create/recreate as needed)
3. K3s Cluster Join - Ensure VMs in k3s cluster

Tests verify:
- Successful cluster join for new nodes
- Skipping nodes already in cluster
- Graceful degradation when K3S_EXISTING_NODE_IP not set
- Error handling for token retrieval failures
- Continued processing when individual nodes fail
- Correct phase execution order

refs #159
Add comprehensive documentation for the new idempotent VM provisioning system:

1. **README.md** - New "Fully Idempotent Provisioning" section
   - One-command setup guide
   - Three-phase workflow explanation
   - Configuration requirements
   - Idempotent behavior details
   - Recovery procedures

2. **idempotent-vm-provisioning.md** - Operational runbook
   - Common scenario walkthroughs
   - Troubleshooting guide
   - Implementation notes
   - Code references

3. **k3s-node-reprovisioning-workarounds-still-fawn.md** - Lessons learned
   - Original problem analysis
   - Manual workaround procedures
   - Root cause deep dive

4. **IMPLEMENTATION_SUMMARY.md** - Technical implementation overview
   - Before/after comparison
   - Module details and test coverage
   - Commit history
   - Success metrics

fixes #159
- Add VALIDATION_REPORT.md with validation scenarios
- Add implementation plan from Opus agent
- Include delete_vm.py workaround script for reference

refs #159
Implements declarative, GitOps-style infrastructure management with single
command for all components (like terraform apply).

Key Features:
- Single config file (config/homelab.yaml) for all infrastructure
- Unified CLI: `poetry run homelab apply`
- Dependency-ordered reconciliation (DNS → PBS → Storage → VMs)
- Comprehensive validation with DNS and connectivity checks
- Rich terminal UI with tables and progress indicators
- Dry-run mode for safe previews

Components Implemented:
- PBS Storage Management (declarative, with DNS validation)
- DNS Resources (placeholder for MAAS/OPNsense integration)
- Unified Infrastructure Manager (orchestrates all components)

Files Added:
- config/homelab.yaml - Unified infrastructure config
- config/pbs-storage.yaml - PBS-specific config (legacy, prefer homelab.yaml)
- src/homelab/unified_infrastructure_manager.py - Main orchestrator
- src/homelab/homelab_cli.py - Unified CLI (apply/validate/status)
- src/homelab/pbs_storage_manager.py - PBS reconciliation logic
- src/homelab/pbs_cli.py - PBS-specific CLI (optional)
- tests/test_pbs_storage_manager.py - 25 unit tests, 74% coverage
- docs/PBS_STORAGE_MANAGEMENT.md - Complete documentation

Testing:
- ✅ 25 unit tests passing
- ✅ 74% code coverage for PBS manager
- ✅ End-to-end tested with actual Proxmox API
- ✅ DNS validation working (detects missing DNS entries)
- ✅ Idempotent reconciliation verified

Usage:
  poetry run homelab validate    # Validate configuration
  poetry run homelab status      # Show current state
  poetry run homelab apply       # Apply all infrastructure
  poetry run homelab apply --dry-run  # Preview changes

Fixes: DNS resolution issue for proxmox-backup-server.maas
- Created MAAS DNS entry via web GUI (permanent)
- Disabled old misconfigured PBS storage entry
- homelab-backup storage now active (20.9 TB)

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Port 22 was intercepting SSH connections to K3s VMs, preventing direct
SSH access to the nodes. Changed webtop service to expose SSH on port
2222 instead, freeing up port 22 for VM SSH access.

Fixes SSH authentication issues where connections were being routed to
webtop pod instead of reaching the VM's SSH daemon.
Webtop service was using port 22 which interfered with SSH access to K3s
VMs. Removing webtop to free up port 22 for VM SSH access.
- Changed PBS server from proxmox-backup-server.maas to 192.168.4.218
- PBS container (LXC 103) configured with static IP 192.168.4.218
- Static IP is in MAAS reserved range (200-250) outside DHCP pool
- Resolves recurring 'grey' status issue caused by DNS entry deletion
- PBS storage now shows active status with 3.15% usage (658MB/20.9GB)

Root Cause:
DNS entry for proxmox-backup-server.maas kept disappearing, causing
Proxmox to fail connecting to PBS. Using static IP bypasses DNS entirely.

Tested:
- PBS web UI accessible at https://192.168.4.218:8007
- pvesm status shows homelab-backup as active
- pvesm list shows all backup snapshots accessible

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Documents the Nov 18-29 incident where still-fawn became
unresponsive to SSH. Root cause partially unknown - rpool
storage misconfiguration was a contributing factor but not
the sole cause. Includes timeline, fix applied (nodes
restriction on local-zfs), and action items.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Traefik ingress: 192.168.4.80 (all *.app.homelab traffic)
- Ollama: 192.168.4.81
- Stable Diffusion: 192.168.4.82
- Samba: 192.168.4.120 (already configured)

This ensures DNS entries remain valid after cluster restarts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
RCA documents the 2025-11-29 incident where Traefik got a different
IP after cluster restart, causing ingress to fail.

Runbook provides diagnostic steps and fixes for common MetalLB
LoadBalancer IP issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Fixes denial of service vulnerability when url encoding is used.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Implement complete Pomodoro timer application for ESP32-S3 with 1.28" round display and WS2812B LED ring:

Core Features:
- 25/5 minute work/break timer with configurable durations
- LED ring comet animation providing visual progress feedback
- Touch gesture controls (tap to start/pause, swipe for mode)
- LVGL-based circular UI with arc progress indicator
- Persistent state management across power cycles

Hardware Integration:
- ESP32-S3 DevKitC-1 with 8MB flash
- 1.28" GC9A01 round IPS display (240x240)
- 16-LED WS2812B addressable ring
- CST816D capacitive touch controller
- Rotary encoder for navigation (planned)

Security:
- WiFi credentials stored in config.h (gitignored)
- config.h.example template provided for setup
- Demo mode available for testing without network

Technical Details:
- PlatformIO build environment with Poetry
- LovyanGFX display driver for GC9A01
- Adafruit NeoPixel library for LED control
- ArduinoJson for API communication (future)
- Unit tests for core state management

Documentation:
- Complete architecture and design docs
- LED integration guide with wiring diagrams
- BDD feature specifications
- Mock API servers for development

Build verified: 631KB flash (9.6%), 22KB RAM (6.9%)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add lightweight function-pointer based app framework
- Implement app menu (long press to open, encoder to navigate)
- Create Status app with Claude Code and Home Assistant views
- Add alert overlay system with priority-based LED colors
- Refactor Pomodoro into app wrapper functions
- Route all input through framework for proper app isolation

Apps can now be switched via long-press menu. Status app shows:
- Claude Code: session count, git dirty status, last task
- Home Assistant: CPU temp arc, K8s health, alert count

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@v5.1.0...v5.2.0)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.0
  dependency-type: direct:production
...

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 Dec 1, 2025
@gshiva gshiva force-pushed the master branch 4 times, most recently from d143b92 to 3b3601e Compare December 20, 2025 05:20
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.

2 participants