Skip to content

Commit

Permalink
add more descptive checks
Browse files Browse the repository at this point in the history
  • Loading branch information
dbadura committed May 10, 2024
1 parent db790d5 commit 9534bec
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions components/serverless/internal/controllers/serverless/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,26 +206,33 @@ func mergeMapWithNewValues(existing, newValues map[string]string) {
}
}

// TODO refactor to make this code more readable
func equalDeployments(existing appsv1.Deployment, expected appsv1.Deployment) bool {
result := true
result = result && len(existing.Spec.Template.Spec.Containers) == 1
result = result && len(existing.Spec.Template.Spec.Containers) == len(expected.Spec.Template.Spec.Containers)
result := equalFnContainer(existing, expected)
result = result && equalMetadata(existing, expected)

result = result && existing.Spec.Template.Spec.Containers[0].Image == expected.Spec.Template.Spec.Containers[0].Image
result = result && envsEqual(existing.Spec.Template.Spec.Containers[0].Env, expected.Spec.Template.Spec.Containers[0].Env)
result = result && equalResources(existing.Spec.Template.Spec.Containers[0].Resources, expected.Spec.Template.Spec.Containers[0].Resources)

result = result && mapsEqual(existing.GetLabels(), expected.GetLabels())
result = result && mapsEqual(existing.Spec.Template.GetLabels(), expected.Spec.Template.GetLabels())
result = result && equalInt32Pointer(existing.Spec.Replicas, expected.Spec.Replicas)

result = result && mapsEqual(existing.Spec.Template.GetAnnotations(), expected.Spec.Template.GetAnnotations())
result = result && equalSecretMounts(existing.Spec.Template.Spec, expected.Spec.Template.Spec)
result = result && equalInt32Pointer(existing.Spec.RevisionHistoryLimit, expected.Spec.RevisionHistoryLimit)
return result
}

func equalMetadata(existing appsv1.Deployment, expected appsv1.Deployment) bool {
result := mapsEqual(existing.GetLabels(), expected.GetLabels())
result = result && mapsEqual(existing.Spec.Template.GetLabels(), expected.Spec.Template.GetLabels())
result = result && mapsEqual(existing.Spec.Template.GetAnnotations(), expected.Spec.Template.GetAnnotations())
return result
}

func equalFnContainer(existing appsv1.Deployment, expected appsv1.Deployment) bool {
if !(len(existing.Spec.Template.Spec.Containers) == 1 && len(expected.Spec.Template.Spec.Containers) == 1) {
return false
}
result := existing.Spec.Template.Spec.Containers[0].Image == expected.Spec.Template.Spec.Containers[0].Image
result = result && envsEqual(existing.Spec.Template.Spec.Containers[0].Env, expected.Spec.Template.Spec.Containers[0].Env)
result = result && equalResources(existing.Spec.Template.Spec.Containers[0].Resources, expected.Spec.Template.Spec.Containers[0].Resources)
return result
}

func equalServices(existing corev1.Service, expected corev1.Service) bool {
return mapsEqual(existing.Spec.Selector, expected.Spec.Selector) &&
mapsContains(existing.Annotations, prometheusSvcAnnotations()) &&
Expand Down

0 comments on commit 9534bec

Please sign in to comment.