mirror of
https://github.com/netbirdio/netbird.git
synced 2025-06-20 09:47:49 +02:00
[management] Posture checks handle suffixes like "-dev" in netbird version (#3511)
This commit is contained in:
parent
32ec42a667
commit
f51e0b59bd
@ -3,6 +3,7 @@ package posture
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/hashicorp/go-version"
|
"github.com/hashicorp/go-version"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
@ -16,13 +17,22 @@ type NBVersionCheck struct {
|
|||||||
|
|
||||||
var _ Check = (*NBVersionCheck)(nil)
|
var _ Check = (*NBVersionCheck)(nil)
|
||||||
|
|
||||||
|
// sanitizeVersion removes anything after the pre-release tag (e.g., "-dev", "-alpha", etc.)
|
||||||
|
func sanitizeVersion(version string) string {
|
||||||
|
parts := strings.Split(version, "-")
|
||||||
|
return parts[0]
|
||||||
|
}
|
||||||
|
|
||||||
func (n *NBVersionCheck) Check(ctx context.Context, peer nbpeer.Peer) (bool, error) {
|
func (n *NBVersionCheck) Check(ctx context.Context, peer nbpeer.Peer) (bool, error) {
|
||||||
peerNBVersion, err := version.NewVersion(peer.Meta.WtVersion)
|
peerVersion := sanitizeVersion(peer.Meta.WtVersion)
|
||||||
|
minVersion := sanitizeVersion(n.MinVersion)
|
||||||
|
|
||||||
|
peerNBVersion, err := version.NewVersion(peerVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
constraints, err := version.NewConstraint(">= " + n.MinVersion)
|
constraints, err := version.NewConstraint(">= " + minVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user