func ValidateMinimumKibanaVersion()

in code/go/internal/validator/semantic/validate_minimum_kibana_version.go [20:57]


func ValidateMinimumKibanaVersion(fsys fspath.FS) specerrors.ValidationErrors {
	pkg, err := packages.NewPackageFromFS(fsys.Path(), fsys)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	manifest, err := readManifest(fsys)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	kibanaVersionCondition, err := getKibanaVersionCondition(*manifest)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	var errs specerrors.ValidationErrors
	err = validateMinimumKibanaVersionInputPackages(pkg.Type, *pkg.Version, kibanaVersionCondition)
	if err != nil {
		errs = append(errs, specerrors.NewStructuredError(err, specerrors.UnassignedCode))
	}

	err = validateMinimumKibanaVersionRuntimeFields(fsys, *pkg.Version, kibanaVersionCondition)
	if err != nil {
		errs = append(errs, specerrors.NewStructuredError(err, specerrors.UnassignedCode))
	}

	err = validateMinimumKibanaVersionSavedObjectTags(fsys, pkg.Type, *pkg.Version, kibanaVersionCondition)
	if err != nil {
		errs = append(errs, specerrors.NewStructuredError(err, specerrors.CodeMinimumKibanaVersion))
	}

	if errs != nil {
		return errs
	}

	return nil
}