Skip to content

Commit

Permalink
Dashboard now rendering all data currently available to it
Browse files Browse the repository at this point in the history
  • Loading branch information
robscott committed Jan 29, 2019
1 parent eff1fb5 commit da1303d
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 69 deletions.
82 changes: 22 additions & 60 deletions pkg/dashboard/dashboard.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,28 +52,43 @@ 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 {
validationFailures := validator.ValidateDeploys(c, &deploy)
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",
Expand All @@ -84,70 +99,17 @@ 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",
})
}
}

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
}
28 changes: 22 additions & 6 deletions pkg/dashboard/templates/charts.gohtml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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',
}]
},
Expand Down
5 changes: 2 additions & 3 deletions pkg/validator/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@ package validator
// }]

type NamespacedResult struct {
Namespace string
Summary *ResultSummary
Results []ResourceResult
Summary *ResultSummary
Results []ResourceResult
}

type ResourceResult struct {
Expand Down

0 comments on commit da1303d

Please sign in to comment.