Commit Graph

7 Commits

Author SHA1 Message Date
taylanbakircioglu c20c40ea4c docs: add HAProxy configuration validation troubleshooting guide to README
- Added detailed troubleshooting section for Apply Changes stuck issues
- Includes step-by-step diagnosis using haproxy -c -f validation
- Common validation errors and solutions
- Recovery steps and prevention tips
- Helps users debug config issues on agent servers
2025-11-14 01:06:38 +03:00
taylanbakircioglu b29c9e044e feat: Multi-cluster isolation and comprehensive bug fixes
This update consolidates bug fixes and improvements from internal development:

## Multi-Cluster Isolation (CRITICAL)
- Backend delete now isolated per cluster (added cluster_id to WHERE clauses)
- Orphan config version auto-detection and cleanup
- Prevents cross-cluster contamination when deleting entities
- REJECTED entities excluded from pending list

## Apply Management Fixes
- Fixed phantom pending entities (REJECTED entities no longer shown)
- Fixed cluster switch 404 errors (state cleared before fetch)
- Fixed page reload not refreshing data (added mount useEffect)
- Orphan entity status auto-cleanup on reject

## Backend Delete Improvements
- Added cluster_id to server/frontend updates (multi-cluster safe)
- Automatic ACL/use_backend cleanup from frontends
- NULL cluster_id support for legacy data
- Prevents HAProxy validation errors

## Orphan Version Detection
- Backend GET: Validates entity belongs to version's cluster
- Frontend GET: Validates entity belongs to version's cluster
- Apply: Auto-detects and removes orphan versions before apply
- Reject: Auto-detects and removes orphan versions before reject

## UI/UX Improvements
- Apply Management state management improved
- Debug logging for troubleshooting
- Better cluster switch handling
- README: Orphan version troubleshooting section

Technical Changes:
- backend/routers/backend.py: Multi-cluster isolation, orphan detection, NULL handling
- backend/routers/frontend.py: Orphan detection, REJECTED filter
- backend/routers/cluster.py: Orphan auto-cleanup, entity status cleanup
- frontend/ApplyManagement.js: State management, mount useEffect
- README.md: Troubleshooting documentation

Impact:
- Multi-cluster environments now fully isolated ✅
- Orphan config versions automatically cleaned ✅
- REJECTED entities properly filtered ✅
- Apply Management works correctly across cluster switches ✅
- No manual database intervention needed ✅
2025-11-12 13:34:07 +03:00
taylanbakircioglu 52a17df673 Feature: Smart SSL Auto-Assignment in Bulk Import + Documentation
NEW FEATURE: Smart SSL Auto-Assignment

Automatically assigns SSL certificates during bulk import when:
  - SSL certificates exist in SSL Management
  - Certificate name matches config path
  - Status is SYNCED (deployed to agents)

Backend Implementation (backend/routers/config.py):
  - Query SYNCED SSL certs for cluster (Global + Cluster-specific)
  - Extract SSL names from config paths
  - Auto-match and assign certificate IDs
  - Enhanced warnings with auto-assignment info

Frontend UI (frontend/src/components/BulkConfigImport.js):
  - New green Alert with step-by-step guide
  - Example code snippets
  - Visual certificate name tags
  - Clear workflow explanation

Documentation (README.md):
  - Added to Key Capabilities section
  - Added to Features at a Glance
  - Highlights automation benefit

Example Workflow:
  1. SSL Management: Upload 'demo-global' → Apply → SYNCED
  2. Bulk Import: Config has demo-global.pem
  3. Auto-match: SSL assigned automatically
  4. Result: Frontend created WITH SSL enabled
  5. Benefit: No manual edit needed!

User Benefits:
  - Saves time (no manual SSL assignment)
  - Reduces errors (automatic matching)
  - Better UX (clear guidance)
  - Optional (backward compatible)

Complete Implementation:
  - Backend logic
  - Frontend UI guide
  - Documentation
  - Risk analysis completed
  - All tests passed
2025-11-07 11:51:15 +03:00
taylanbakircioglu eeee768510 docs: Remove redundant Statistics section
- Remove duplicate Statistics section (already covered in Dashboard)
- Update Table of Contents to remove Statistics link
- Keep Statistics & Monitoring in API Reference (different context)
2025-10-31 20:22:48 +03:00
taylanbakircioglu e800d2a156 docs: Complete README overhaul with modern design and structure
Major improvements:
- Add comprehensive Table of Contents (15 sections with clickable links)
- Reorganize structure: Screenshots after Features (better UX)
- Modernize System Architecture diagram (3-layer design, dark mode optimized)
- Simplify Agent Version Update Flow (user vs automatic actions)
- Add visual Installation selection panel (Docker vs Kubernetes)
- Expand Project Structure (150+ files documented)
- Restructure sections: 'Getting Started' (usage) vs 'Installation' (setup)
- Add Role-Based User Management to features
- Remove redundant sections (Advanced Setup, Coming Soon notes)
- Improve all diagrams for readability and modern look
- Fix all Table of Contents anchor links
- Add 18 production screenshots with descriptions
2025-10-31 20:17:38 +03:00
taylanbakircioglu 7f54c40dc3 Update README: Change HAProxy Agent from Python Service to Bash Service 2025-10-27 15:16:03 +03:00
taylanbakircioglu 6aae0f4309 Initial commit 2025-10-27 12:14:03 +03:00