From 29d7a678024fcd4c6d88b06cc6bb062dd73f3a6e Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Tue, 8 Nov 2022 13:52:50 +0100 Subject: [PATCH] Add spec version validation Signed-off-by: Evan Lezar --- pkg/cdi/spec.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/cdi/spec.go b/pkg/cdi/spec.go index dd9304d..9a43654 100644 --- a/pkg/cdi/spec.go +++ b/pkg/cdi/spec.go @@ -217,6 +217,15 @@ func (s *Spec) validate() (map[string]*Device, error) { if err := validateVersion(s.Version); err != nil { return nil, err } + + minVersion, err := s.MinimumRequiredVersion() + if err != nil { + return nil, errors.Errorf("could not determine minumum required version: %v", err) + } + if semver.Compare("v"+s.Version, "v"+minVersion) < 0 { + return nil, errors.Errorf("the spec version must be at least v%v", minVersion) + } + if err := ValidateVendorName(s.vendor); err != nil { return nil, err }