-
Notifications
You must be signed in to change notification settings - Fork 1
wave10 #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…re getting overwritten at run time causing issues with tests... Also added --resolve type functionality and discovery of gateway at inference testing - Add DNS resolution support to test execution service - Update TestExecutionRequest type to include ConnectionSettings - Allow DeveloperConsole to pass DNS overrides to predict API - Add createHTTPClient method with custom DNS resolution to test_execution.go - Handle Host header specially in HTTP requests
Extended backend and frontend to discover and display additional Istio resources (DestinationRules, ServiceEntries, AuthorizationPolicies, PeerAuthentications) and KServe resources (InferenceServices, ServingRuntimes, ClusterServingRuntimes). Updated types and API responses, enhanced AdminResources UI with resource graph, filtering, and details panel for comprehensive platform overview.
Renamed 'Application Logs' to 'Model Service Logs' and updated its description for clarity. Changed 'System Console' to 'Platform Console' and revised its description to better reflect platform operations.
Introduces a new ModelsUsage component for monitoring model performance, usage analytics, and cost tracking. Integrates the dashboard into AdminDashboard with a new tab and icon, providing summary cards, model performance table, usage trends, and alerts.
Adjusted card and panel sizing in AdminResources and ResourceGraph components for better fit and appearance. Updated index.css to remove max-width constraints, added wide screen optimizations, and improved grid layouts for large displays.
This pull request introduces significant updates to the documentation and functionality of the Documentation Enhancements:
OpenAI API Compatibility:
Management Service Improvements:
Expanded Feature Set:
|
Updated UI components and styles to use Tetrate's brand color palette and Poppins font for a more consistent and professional look. This includes changes to gradients, backgrounds, button styles, and tier colors in ResourceGraph, as well as introduction of CSS variables for easier theme management.
Changed the login page title and subtitle to 'Inference-in-a-Box' and updated styling for a more branded look. Modified admin access box colors and enhanced CSS for header and login card with Tetrate Orange accents and improved background gradients.
Enhanced resource filtering in ResourceGraph to respect selected tiers, namespaces, and health status. Added spin animation for refresh icon in FilterPanel. Improved error handling and feedback in AdminResources and InferenceTest components. Updated node ID generation in AdminResources for better uniqueness. Added address format validation and DNS override documentation in test_execution.go.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request focuses on enhancing the UI/UX design system with comprehensive Tetrate branding and significantly expanding the platform management interface. The changes introduce a cohesive brand identity using Tetrate's color palette, typography (Poppins font), and design patterns while adding advanced resource management and visualization capabilities.
Key changes include:
- Complete UI rebrand with Tetrate color palette and Poppins typography
- Major expansion of the platform management interface with advanced topology visualization
- Enhanced model testing with DNS resolution support and improved connection settings
Reviewed Changes
Copilot reviewed 33 out of 34 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
management/ui/src/index.css | Comprehensive rebrand with Tetrate color system and typography |
management/ui/src/components/ResourceGraph.js | New advanced topology visualization with tier-based layout |
management/ui/src/components/ModelsUsage.js | New usage analytics dashboard with performance metrics |
management/ui/src/components/AdminResources.js | Major platform navigator overhaul with enhanced resource management |
management/ui/src/components/DeveloperConsole.js | Enhanced developer tools with advanced connection settings |
management/ui/src/components/InferenceTest.js | Improved model testing with DNS resolution support |
management/ui/src/components/FilterPanel.js | New filtering system for resource management |
management/ui/src/components/DetailsPanel.js | New detailed resource inspection interface |
management/ui/src/components/ErrorBoundary.js | New error handling component with detailed debugging |
management/ui/package.json | Added ReactFlow dependency for topology visualization |
Comments suppressed due to low confidence (2)
management/ui/src/components/PublishingForm.js:142
- Inconsistent naming convention. The field name changed from 'tenantID' to 'tenantId'. Ensure this change is intentional and that all consuming services expect 'tenantId' instead of 'tenantID'.
requestBody.config.tenantId = formData.tenantId;
management/ui/src/components/ResourceGraph.js:25
- [nitpick] CSS keyframes are being injected dynamically into the document head. Consider moving this to a CSS file or using CSS-in-JS libraries for better maintainability and performance.
Filter,
@@ -431,7 +431,8 @@ install_envoy_gateway() { | |||
--version ${ENVOY_GATEWAY_VERSION} \ | |||
--namespace envoy-gateway-system \ | |||
--create-namespace | |||
|
|||
kubectl label namespace envoy-gateway-system --overwrite=true istio-injection=enabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding Istio injection to the envoy-gateway-system namespace could cause conflicts or unexpected behavior. Consider documenting why this is necessary or making it conditional based on the deployment configuration.
kubectl label namespace envoy-gateway-system --overwrite=true istio-injection=enabled | |
# Conditionally enable Istio injection for the envoy-gateway-system namespace | |
if [ "${ENABLE_ISTIO_INJECTION}" = "true" ]; then | |
log "Enabling Istio injection for the envoy-gateway-system namespace..." | |
kubectl label namespace envoy-gateway-system --overwrite=true istio-injection=enabled | |
else | |
log "Skipping Istio injection for the envoy-gateway-system namespace." | |
fi |
Copilot uses AI. Check for mistakes.
@@ -476,7 +477,7 @@ install_envoy_ai_gateway() { | |||
kubectl apply -f ${PROJECT_DIR}/configs/envoy-gateway/gateway/ai-gateway.yaml | |||
|
|||
# Apply Backend resources | |||
kubectl apply -f ${PROJECT_DIR}/configs/envoy-gateway/backends/backends.yaml | |||
#kubectl apply -f ${PROJECT_DIR}/configs/envoy-gateway/backends/backends.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Configuration file is commented out without explanation. If this is intentional for this release, consider adding a comment explaining why, or remove the line entirely to avoid confusion.
Copilot uses AI. Check for mistakes.
// Add the spin animation keyframes | ||
const spinKeyframes = ` | ||
@keyframes spin { | ||
from { transform: rotate(0deg); } | ||
to { transform: rotate(360deg); } | ||
} | ||
`; | ||
|
||
// Inject the CSS into the document head if not already present | ||
if (typeof document !== 'undefined' && !document.querySelector('#spin-animation')) { | ||
const style = document.createElement('style'); | ||
style.id = 'spin-animation'; | ||
style.textContent = spinKeyframes; | ||
document.head.appendChild(style); | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate CSS injection logic appears in multiple files. Consider creating a shared utility function or moving animations to a CSS file to avoid code duplication.
// Add the spin animation keyframes | |
const spinKeyframes = ` | |
@keyframes spin { | |
from { transform: rotate(0deg); } | |
to { transform: rotate(360deg); } | |
} | |
`; | |
// Inject the CSS into the document head if not already present | |
if (typeof document !== 'undefined' && !document.querySelector('#spin-animation')) { | |
const style = document.createElement('style'); | |
style.id = 'spin-animation'; | |
style.textContent = spinKeyframes; | |
document.head.appendChild(style); | |
} | |
// Removed inline CSS injection logic. The `spin` animation is now defined in an external CSS file. |
Copilot uses AI. Check for mistakes.
This pull request introduces significant updates to enhance OpenAI API compatibility, improve documentation, and refine the platform's architecture and usability. Key changes include support for OpenAI-compatible models, updates to rate-limiting mechanisms, and improved documentation for deployment and testing workflows.
OpenAI API Compatibility Enhancements:
/v1/chat/completions
,/v1/completions
,/v1/embeddings
) with automatic protocol translation to KServe format. ([[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7L142-R174)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R750-R808)
)x-ai-eg-model
header for efficient model selection. ([[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7L142-R174)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L196-R203)
)[[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7L158-R200)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R135)
)Documentation Improvements:
README.md
andCLAUDE.md
with detailed guides on OpenAI-compatible model deployment, testing, and rate-limiting configurations. ([[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7R75-R80)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L790-R839)
)[[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R278-R284)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7R216-R220)
)[README.mdL810-L830](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L810-L830)
)Architecture and Configuration Updates:
Envoy AI Gateway
withEnvoyExtensionPolicy
for external AI-specific processing and OpenAI API compatibility. ([[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7L142-R174)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R750-R808)
)[configs/certs/tls-certificates.yamlR21](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-10aa0bb2cbc65e4dcdf79b5596a0ebace978984c87ddd196ce3bee23d4e033b3R21)
)[CLAUDE.mdL123-R150](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7L123-R150)
)Usability Enhancements:
[[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7L142-R174)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R750-R808)
)[[1]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7R216-R220)
,[[2]](https://github.com/smarunich/inference-in-a-box/pull/15/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R278-R284)
)These updates collectively make the platform more robust, user-friendly, and compatible with modern AI/ML deployment needs.