Skip to content

Commit

Permalink
fea(score) statefulset parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
zegl committed Sep 17, 2018
1 parent d99c77b commit 9ccee7d
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 2 deletions.
18 changes: 16 additions & 2 deletions score/score.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package score

import (
"gopkg.in/yaml.v2"
"io"
"io/ioutil"
"log"

"gopkg.in/yaml.v2"

//"errors"
//"fmt"
// "github.com/labstack/echo"
Expand Down Expand Up @@ -64,6 +63,7 @@ func Score(file io.Reader) (*Scorecard, error) {

var pods []corev1.Pod
var deployments []appsv1.Deployment
var statefulsets []appsv1.StatefulSet

decode := func(data []byte, object runtime.Object) {
deserializer := codecs.UniversalDeserializer()
Expand All @@ -82,6 +82,14 @@ func Score(file io.Reader) (*Scorecard, error) {
var deployment appsv1.Deployment
decode(allData, &deployment)
deployments = append(deployments, deployment)

case "StatefulSet":
var statefulSet appsv1.StatefulSet
decode(allData, &statefulSet)
statefulsets = append(statefulsets, statefulSet)

default:
log.Panicf("Unknown datatype: %s", detect.Kind)
}

podTests := []func(corev1.PodSpec) TestScore{
Expand All @@ -102,6 +110,12 @@ func Score(file io.Reader) (*Scorecard, error) {
}
}

for _, statefulset := range statefulsets {
for _, podTest := range podTests {
scoreCard.Scores = append(scoreCard.Scores, podTest(statefulset.Spec.Template.Spec))
}
}

return &scoreCard, nil
}

Expand Down
4 changes: 4 additions & 0 deletions score/score_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,7 @@ func TestPodContainerResourceLimitsAndRequests(t *testing.T) {
func TestDeploymentResources(t *testing.T) {
testExpectedScore(t, "deployment-test-resources.yaml", "Container Resources", 5)
}

func TestStatefulSetResources(t *testing.T) {
testExpectedScore(t, "statefulset-test-resources.yaml", "Container Resources", 5)
}
14 changes: 14 additions & 0 deletions score/testdata/statefulset-test-resources.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: statefulset-test-1
spec:
template:
spec:
containers:
- name: foobar
image: foo/bar:123
resources:
limits:
cpu: 200m
memory: 1Gi

0 comments on commit 9ccee7d

Please sign in to comment.