Add: Simple namespace analysis with detailed pod and container information
This commit is contained in:
@@ -974,8 +974,8 @@
|
|||||||
// Create detailed view
|
// Create detailed view
|
||||||
const detailsHtml = createNamespaceDetails(namespace);
|
const detailsHtml = createNamespaceDetails(namespace);
|
||||||
|
|
||||||
// Show modal or expandable section
|
// Show details in an alert for now (simpler approach)
|
||||||
showNamespaceDetails(namespaceName, detailsHtml);
|
showNamespaceDetailsSimple(namespaceName, detailsHtml);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create detailed HTML for namespace issues
|
// Create detailed HTML for namespace issues
|
||||||
@@ -1051,32 +1051,52 @@
|
|||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show namespace details in modal
|
// Show namespace details in a simple alert (temporary solution)
|
||||||
function showNamespaceDetails(namespaceName, detailsHtml) {
|
function showNamespaceDetailsSimple(namespaceName, detailsHtml) {
|
||||||
// Create modal if it doesn't exist
|
// Create a simple text summary for the alert
|
||||||
let modal = document.getElementById('namespaceModal');
|
const namespace = currentData.namespaces.find(ns => ns.namespace === namespaceName);
|
||||||
if (!modal) {
|
if (!namespace) return;
|
||||||
modal = document.createElement('div');
|
|
||||||
modal.id = 'namespaceModal';
|
|
||||||
modal.className = 'modal';
|
|
||||||
modal.innerHTML = `
|
|
||||||
<div class="modal-content">
|
|
||||||
<span class="close">×</span>
|
|
||||||
<div id="modalBody"></div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
document.body.appendChild(modal);
|
|
||||||
|
|
||||||
// Add close functionality
|
let summary = `📋 ${namespaceName} - Detailed Analysis\n\n`;
|
||||||
modal.querySelector('.close').onclick = () => modal.style.display = 'none';
|
summary += `Pods: ${Object.keys(namespace.pods || {}).length}\n`;
|
||||||
modal.onclick = (e) => {
|
summary += `Total Issues: ${namespace.total_validations || 0}\n\n`;
|
||||||
if (e.target === modal) modal.style.display = 'none';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// Populate and show modal
|
// Add severity breakdown
|
||||||
document.getElementById('modalBody').innerHTML = detailsHtml;
|
const breakdown = namespace.severity_breakdown || {};
|
||||||
modal.style.display = 'block';
|
summary += `Severity Breakdown:\n`;
|
||||||
|
summary += `- Errors: ${breakdown.error || 0}\n`;
|
||||||
|
summary += `- Warnings: ${breakdown.warning || 0}\n`;
|
||||||
|
summary += `- Info: ${breakdown.info || 0}\n\n`;
|
||||||
|
|
||||||
|
// Add pod details
|
||||||
|
summary += `Pod Analysis:\n`;
|
||||||
|
Object.values(namespace.pods || {}).forEach(pod => {
|
||||||
|
summary += `\n📦 ${pod.pod_name}\n`;
|
||||||
|
summary += `Status: ${pod.phase}\n`;
|
||||||
|
summary += `Node: ${pod.node_name}\n`;
|
||||||
|
|
||||||
|
// Add container details
|
||||||
|
pod.containers.forEach(container => {
|
||||||
|
const hasRequests = Object.keys(container.resources?.requests || {}).length > 0;
|
||||||
|
const hasLimits = Object.keys(container.resources?.limits || {}).length > 0;
|
||||||
|
|
||||||
|
summary += `\n Container: ${container.name}\n`;
|
||||||
|
summary += ` Image: ${container.image}\n`;
|
||||||
|
summary += ` Requests: ${hasRequests ? JSON.stringify(container.resources.requests) : '❌ Not defined'}\n`;
|
||||||
|
summary += ` Limits: ${hasLimits ? JSON.stringify(container.resources.limits) : '❌ Not defined'}\n`;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Add validation details
|
||||||
|
if (pod.validations && pod.validations.length > 0) {
|
||||||
|
summary += `\n Issues Found:\n`;
|
||||||
|
pod.validations.forEach(validation => {
|
||||||
|
summary += ` - ${validation.rule_name}: ${validation.message}\n`;
|
||||||
|
summary += ` Recommendation: ${validation.recommendation}\n`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
alert(summary);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix namespace - placeholder for now
|
// Fix namespace - placeholder for now
|
||||||
|
|||||||
Reference in New Issue
Block a user