You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix(dashboard): add OpenShift hostname detection for OpenWebUI playground
Apply PlaygroundPage.tsx patch to detect OpenShift route hostnames and
automatically construct the correct OpenWebUI URL for the playground iframe.
This fixes the 'localhost refused to connect' error when accessing the
playground through the dashboard on OpenShift deployments.
Changes:
- Update PlaygroundPage.tsx to detect OpenShift hostname patterns
- Dynamically construct OpenWebUI route URL based on dashboard hostname
- Add BuildConfig for building custom dashboard in OpenShift
- Fallback to /embedded/openwebui/ for local development
Signed-off-by: szedan <[email protected]>
* feat: enhance OpenShift deployment with one-click observability stack
This commit improves the OpenShift deployment workflow by implementing
a streamlined, fully automated deployment process with comprehensive
observability support.
Key changes:
**Dashboard Build Support:**
- Add dashboard/Dockerfile for OpenShift binary builds
- Multi-stage build: Node.js frontend + Go backend
- Enables building dashboard from local source without Docker daemon
- Includes PlaygroundPage fix for dynamic OpenWebUI URL detection
**Deployment Script Enhancements:**
- Add --no-observability flag for minimal core-only deployments
- Implement full observability stack deployment (Dashboard, OpenWebUI, Grafana, Prometheus)
- Add inline OpenWebUI PVC creation (fixes missing PVC issue)
- Improve deployment feedback with component-specific success messages
- Add help flag with usage documentation
**Cleanup Script Improvements:**
- Add comprehensive observability resource cleanup
- Include dashboard-custom buildconfig and imagestream cleanup
- Update resource lists to match new deployment structure
**Cross-Cluster Portability:**
- Remove hardcoded hostname from openwebui/route.yaml
- Enable automatic route hostname generation per cluster
- Improve cluster portability for multi-cluster deployments
**Documentation Cleanup:**
- Remove outdated README files (dashboard, openwebui, observability)
- Remove deprecated build-custom-dashboard.sh script
- Remove obsolete PlaygroundPage.tsx.patch file
- Update main README.md with one-click deployment instructions
- Add binary build workflow documentation
**Testing:**
- End-to-end deployment verified on OpenShift 4.x
- Cleanup and redeploy tested successfully
- All pods running and routes accessible
Fixes: Dashboard playground "localhost refused to connect" error
Related: PlaygroundPage now uses dynamic hostname detection
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
Signed-off-by: szedan <[email protected]>
* fix: add blank lines around lists in OpenShift README for markdown linting (MD032)
Resolves markdown linting errors by adding blank lines before list sections
at lines 254, 261, and 268 in deploy/openshift/README.md as required by
markdownlint MD032 rule.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
Signed-off-by: szedan <[email protected]>
* fix(openshift): make vLLM endpoint IPs dynamic and lower classification threshold
This commit addresses two critical issues for OpenShift deployment portability
and query handling:
**Dynamic vLLM Endpoint Configuration:**
- Replace hardcoded ClusterIPs with dynamic placeholders (DYNAMIC_MODEL_A_IP, DYNAMIC_MODEL_B_IP)
- Update deploy script to substitute placeholders with actual discovered ClusterIPs
- Remove fallback logic that relied on old hardcoded IPs
- Improve error handling when IP substitution fails
- Makes deployments truly portable across different OpenShift clusters
**Classification Threshold Adjustment:**
- Lower category classifier threshold from 0.6 to 0.45
- Allows simple queries like "what is cat?" (confidence ~0.45) to be classified
- Previously, queries below 0.6 threshold resulted in empty category and routing failures
- Add default_model configuration for fallback routing
**Files Changed:**
- deploy/openshift/config-openshift.yaml: Replace hardcoded IPs with DYNAMIC_* placeholders, lower threshold, add default_model
- deploy/openshift/deploy-to-openshift.sh: Simplify sed patterns for IP replacement, improve error handling
**Testing:**
- Verified dynamic IP discovery during deployment
- Tested queries successfully routed to vLLM backends
- All pre-commit hooks passing
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
Signed-off-by: szedan <[email protected]>
* feat(openshift): enable GPU for vLLM models and lower classification threshold
Changes:
- Enable CUDA GPU for both vLLM model deployments (Model-A and Model-B)
- Changed --device from "cpu" to "cuda"
- Added nvidia.com/gpu: 1 resource requests and limits
- Lower category classification threshold from 0.45 to 0.35
- Fixes issue where queries like "what is physics?" (confidence 0.3581) were failing classification
- Empty category results in no model routing, causing request failures
- New threshold allows more queries to be successfully classified and routed
Tested on OpenShift cluster:
- Both models successfully loading on CUDA
- Classification now working for previously failing queries
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
Signed-off-by: szedan <[email protected]>
---------
Signed-off-by: szedan <[email protected]>
Co-authored-by: Claude <[email protected]>
0 commit comments