Commit Graph

4 Commits

Author SHA1 Message Date
GitHub Actions
209b2fc8e0 fix(monitoring): resolve uptime port mismatch for non-standard ports
Fixes uptime monitoring incorrectly using public URL port instead of
actual backend forward_port for TCP connectivity checks.

Changes:
- Add ProxyHost relationship to UptimeMonitor model
- Update checkHost() to use ProxyHost.ForwardPort
- Add Preload for ProxyHost in getAllMonitors()
- Add diagnostic logging for port resolution

This fixes false "down" status for services like Wizarr that use
non-standard backend ports (5690) while exposing standard HTTPS (443).

Testing:
- Wizarr now shows as "up" (was incorrectly "down")
- All 16 monitors working correctly
- Backend coverage: 85.5%
- No regressions in other uptime checks

Resolves: Wizarr uptime monitoring false negative
2025-12-23 03:28:45 +00:00
GitHub Actions
739895d81e fix(security): resolve CrowdSec startup and permission issues
Fixes CrowdSec not starting automatically on container boot and LAPI
binding failures due to permission issues.

Changes:
- Fix Dockerfile: Add charon:charon ownership for CrowdSec directories
- Move reconciliation from routes.go goroutine to main.go initialization
- Add mutex protection to prevent concurrent reconciliation
- Increase LAPI startup timeout from 30s to 60s
- Add config validation in entrypoint script

Testing:
- Backend coverage: 85.4% ( meets requirement)
- Frontend coverage: 87.01% ( exceeds requirement)
- Security: 0 Critical/High vulnerabilities ( Trivy + Go scans)
- All CrowdSec-specific tests passing ( 100%)

Technical Details:
- Reconciliation now runs synchronously during app initialization
  (after DB migrations, before HTTP server starts)
- Maintains "GUI-controlled" design philosophy per entrypoint docs
- Follows principle of least privilege (charon user, not root)
- No breaking changes to API or behavior

Documentation:
- Implementation guide: docs/implementation/crowdsec_startup_fix_COMPLETE.md
- Migration guide: docs/implementation/crowdsec_startup_fix_MIGRATION.md
- QA report: docs/reports/qa_report_crowdsec_startup_fix.md

Related: #crowdsec-startup-timeout
2025-12-23 01:59:21 +00:00
GitHub Actions
d6165a7ebb feat: improve sidebar and header UX with scrollable navigation and fixed header
Enhance the Layout component with two critical UI/UX improvements:

1. Scrollable Sidebar Navigation:
   - Add overflow-y-auto to navigation area between logo and logout
   - Apply flex-shrink-0 to logout section to keep it anchored at bottom
   - Add min-h-0 to enable proper flexbox shrinking
   - Prevents logout button from being pushed off-screen when multiple
     submenus are expanded
   - Custom scrollbar styling for both light and dark themes

2. Fixed Header Bar:
   - Change desktop header from relative to sticky positioning
   - Header remains visible at top when scrolling main content
   - Move overflow control from main container to content wrapper
   - Proper z-index hierarchy maintained (header z-10, sidebar z-30)
   - Mobile header behavior unchanged (already fixed)

Technical Details:
- Modified Layout.tsx: 7 targeted CSS class changes
- Modified index.css: Added WebKit and Firefox scrollbar styling
- CSS-only implementation (no JavaScript overhead)
- Hardware-accelerated scrolling for optimal performance

Testing:
- Frontend coverage: 87.59% (exceeds 85% threshold)
- Backend coverage: 86.2% (regression tested)
- Zero security vulnerabilities (Trivy scan)
- No accessibility regressions
- Cross-browser tested (Chrome, Firefox, Safari)

Breaking Changes: None
Backward Compatibility: Full

Files Changed:
- frontend/src/components/Layout.tsx
- frontend/src/index.css

Documentation:
- Updated CHANGELOG.md with UI enhancements
- Created comprehensive implementation summary
- Created detailed QA reports and manual test plan
2025-12-21 21:04:13 +00:00
GitHub Actions
05c2045f06 chore: reorganize repository structure
- Move docker-compose files to .docker/compose/
- Move docker-entrypoint.sh to .docker/
- Move DOCKER.md to .docker/README.md
- Move 16 implementation docs to docs/implementation/
- Delete test artifacts (block_test.txt, caddy_*.json)
- Update all references in Dockerfile, Makefile, tasks, scripts
- Add .github/instructions/structure.instructions.md for enforcement
- Update CHANGELOG.md

Root level reduced from 81 items to ~35 visible items.
2025-12-21 04:57:31 +00:00