type DowngradeInfo … func (d *DowngradeInfo) GetTargetVersion() *semver.Version { … } // isValidDowngrade verifies whether the cluster can be downgraded from verFrom to verTo func isValidDowngrade(verFrom *semver.Version, verTo *semver.Version) bool { … } // mustDetectDowngrade will detect unexpected downgrade when the local server is recovered. func mustDetectDowngrade(lg *zap.Logger, cv *semver.Version, d *DowngradeInfo) { … } func AllowedDowngradeVersion(ver *semver.Version) *semver.Version { … }