mirror of
https://github.com/FairwindsOps/polaris.git
synced 2026-05-12 20:27:18 +00:00
Dashboard now rendering all data currently available to it
This commit is contained in:
@@ -52,14 +52,13 @@ func getDashboardData(c conf.Configuration) (DashboardData, error) {
|
||||
return DashboardData{}, err
|
||||
}
|
||||
|
||||
log.Println("deploys =======>", len(deploys.Items))
|
||||
|
||||
dashboardData := DashboardData{
|
||||
ClusterSummary: &validator.ResultSummary{
|
||||
Successes: 46,
|
||||
Warnings: 8,
|
||||
Failures: 5,
|
||||
},
|
||||
NamespacedResults: map[string]*validator.NamespacedResult{},
|
||||
}
|
||||
|
||||
for _, deploy := range deploys.Items {
|
||||
@@ -67,13 +66,29 @@ func getDashboardData(c conf.Configuration) (DashboardData, error) {
|
||||
resResult := validator.ResourceResult{
|
||||
Name: deploy.Name,
|
||||
Type: "Deployment",
|
||||
Summary: &validator.ResultSummary{
|
||||
Successes: 16,
|
||||
Warnings: 4,
|
||||
Failures: 2,
|
||||
},
|
||||
}
|
||||
|
||||
if dashboardData.NamespacedResults[deploy.Namespace] == nil {
|
||||
dashboardData.NamespacedResults[deploy.Namespace] = &validator.NamespacedResult{
|
||||
Results: []validator.ResourceResult{},
|
||||
Summary: &validator.ResultSummary{
|
||||
Successes: 16,
|
||||
Warnings: 4,
|
||||
Failures: 2,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
for _, containerValidation := range validationFailures.InitContainerValidations {
|
||||
for _, failure := range containerValidation.Failures {
|
||||
dashboardData.ClusterSummary.Failures++
|
||||
// rr := *resResult.Summary
|
||||
// rr.Failures++
|
||||
dashboardData.NamespacedResults[deploy.Namespace].Summary.Failures++
|
||||
resResult.Summary.Failures++
|
||||
resResult.Messages = append(resResult.Messages, validator.ResultMessage{
|
||||
Message: failure.Reason(),
|
||||
Type: "failure",
|
||||
@@ -84,8 +99,8 @@ func getDashboardData(c conf.Configuration) (DashboardData, error) {
|
||||
for _, containerValidation := range validationFailures.ContainerValidations {
|
||||
for _, failure := range containerValidation.Failures {
|
||||
dashboardData.ClusterSummary.Failures++
|
||||
// rr := *resResult.Summary
|
||||
// rr.Failures++
|
||||
dashboardData.NamespacedResults[deploy.Namespace].Summary.Failures++
|
||||
resResult.Summary.Failures++
|
||||
resResult.Messages = append(resResult.Messages, validator.ResultMessage{
|
||||
Message: failure.Reason(),
|
||||
Type: "failure",
|
||||
@@ -93,61 +108,8 @@ func getDashboardData(c conf.Configuration) (DashboardData, error) {
|
||||
}
|
||||
}
|
||||
|
||||
log.Println("adding results to =======>", deploy.Namespace)
|
||||
rr := []validator.ResourceResult{}
|
||||
rr = append(rr, resResult)
|
||||
nsRes := validator.NamespacedResult{Results: rr}
|
||||
|
||||
ns := map[string]*validator.NamespacedResult{
|
||||
deploy.Namespace: &nsRes,
|
||||
}
|
||||
dashboardData.NamespacedResults = ns
|
||||
|
||||
// dashboardData.NamespacedResults[deploy.Namespace].Results = append(dashboardData.NamespacedResults[deploy.Namespace].Results, resResult)
|
||||
log.Println("adding results to =======>", len(dashboardData.NamespacedResults[deploy.Namespace].Results))
|
||||
dashboardData.NamespacedResults[deploy.Namespace].Results = append(dashboardData.NamespacedResults[deploy.Namespace].Results, resResult)
|
||||
}
|
||||
|
||||
return dashboardData, nil
|
||||
|
||||
// return DashboardData{
|
||||
// ClusterSummary: &validator.ResultSummary{
|
||||
// Successes: 46,
|
||||
// Warnings: 8,
|
||||
// Failures: 5,
|
||||
// },
|
||||
// NamespacedResults: {
|
||||
// "kube-system": {
|
||||
// Summary: &validator.ResultSummary{
|
||||
// Successes: 7,
|
||||
// Warnings: 3,
|
||||
// Failures: 2,
|
||||
// },
|
||||
// Results: []validator.ResourceResult{{
|
||||
// Name: "tiller",
|
||||
// Type: "Deployment",
|
||||
// Summary: &validator.ResultSummary{
|
||||
// Successes: 7,
|
||||
// Warnings: 3,
|
||||
// Failures: 2,
|
||||
// },
|
||||
// Messages: []validator.ResultMessage{{
|
||||
// Message: "Image Tag Specified",
|
||||
// Type: "success",
|
||||
// }, {
|
||||
// Message: "Liveness Probe Specified",
|
||||
// Type: "success",
|
||||
// }, {
|
||||
// Message: "Readiness Probe Specified",
|
||||
// Type: "success",
|
||||
// }, {
|
||||
// Message: "Container Running As Root",
|
||||
// Type: "warning",
|
||||
// }, {
|
||||
// Message: "Resource requests are not set",
|
||||
// Type: "failure",
|
||||
// }},
|
||||
// }},
|
||||
// }
|
||||
// }},
|
||||
// }, nil
|
||||
}
|
||||
|
||||
@@ -39,12 +39,12 @@
|
||||
<h3>Namespace: <strong>{{ $namespace }}</strong></h3>
|
||||
|
||||
<table class="namespace-content" cellspacing="0">
|
||||
{{ range .Results }}
|
||||
{{ range $results.Results }}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="name"><span class="caret-expander expanded"></span>{{ .Type }}: <strong>{{ .Name }}</strong></div>
|
||||
<ul class="extra">
|
||||
{{ range $results.Messages}}
|
||||
{{ range .Messages}}
|
||||
<li class="{{ .Type }}"><span>&#{{ .HTMLSpecialCharCode }};</span> {{ .Message }}</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
@@ -112,18 +112,34 @@
|
||||
var namespaceChart = new Chart("namespaceScoreChart", {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: ["kube-system", "development", "staging", "infra", "default"],
|
||||
labels: [
|
||||
{{ range $namespace, $results := .NamespacedResults }}
|
||||
"{{ $namespace }}",
|
||||
{{ end }}
|
||||
],
|
||||
datasets: [{
|
||||
label: 'Passing',
|
||||
data: [118, 78, 65, 56, 43],
|
||||
data: [
|
||||
{{ range $namespace, $results := .NamespacedResults }}
|
||||
"{{ $results.Summary.Successes }}",
|
||||
{{ end }}
|
||||
],
|
||||
backgroundColor: '#006469',
|
||||
},{
|
||||
label: 'Warning',
|
||||
data: [85, 54, 28, 23, 21],
|
||||
data: [
|
||||
{{ range $namespace, $results := .NamespacedResults }}
|
||||
"{{ $results.Summary.Warnings }}",
|
||||
{{ end }}
|
||||
],
|
||||
backgroundColor: '#AE7500',
|
||||
},{
|
||||
label: 'Failing',
|
||||
data: [38, 24, 18, 15, 12],
|
||||
data: [
|
||||
{{ range $namespace, $results := .NamespacedResults }}
|
||||
"{{ $results.Summary.Failures }}",
|
||||
{{ end }}
|
||||
],
|
||||
backgroundColor: '#AE0400',
|
||||
}]
|
||||
},
|
||||
|
||||
@@ -18,9 +18,8 @@ package validator
|
||||
// }]
|
||||
|
||||
type NamespacedResult struct {
|
||||
Namespace string
|
||||
Summary *ResultSummary
|
||||
Results []ResourceResult
|
||||
Summary *ResultSummary
|
||||
Results []ResourceResult
|
||||
}
|
||||
|
||||
type ResourceResult struct {
|
||||
|
||||
Reference in New Issue
Block a user