type Evaluator … type checkRegistry … // NewEvaluator constructs a new Evaluator instance from the list of checks. If the provided checks are invalid, // an error is returned. A valid list of checks must meet the following requirements: // 1. Check.ID is unique in the list // 2. Check.Level must be either Baseline or Restricted // 3. Checks must have a non-empty set of versions, sorted in a strictly increasing order // 4. Check.Versions cannot include 'latest' func NewEvaluator(checks []Check) (Evaluator, error) { … } func (r *checkRegistry) EvaluatePod(lv api.LevelVersion, podMetadata *metav1.ObjectMeta, podSpec *corev1.PodSpec) []CheckResult { … } func validateChecks(checks []Check) error { … } func populate(r *checkRegistry, validChecks []Check) { … } func inflateVersions(check Check, versions map[api.Version]map[CheckID]VersionedCheck, maxVersion api.Version) { … } // mapCheckPodFns converts the versioned check map to an ordered slice of CheckPodFn, // using the order specified by orderedIDs. All checks must have a corresponding ID in orderedIDs. func mapCheckPodFns(checks map[CheckID]VersionedCheck, orderedIDs []CheckID) []CheckPodFn { … } // nextMinor increments the minor version func nextMinor(v api.Version) api.Version { … }