Add initial support of device posture checks (#1540)

This PR implements the following posture checks:

* Agent minimum version allowed
* OS minimum version allowed
* Geo-location based on connection IP

For the geo-based location, we rely on GeoLite2 databases which are free IP geolocation databases. MaxMind was tested and we provide a script that easily allows to download of all necessary files, see infrastructure_files/download-geolite2.sh.

The OpenAPI spec should extensively cover the life cycle of current version posture checks.
This commit is contained in:
Yury Gargay
2024-02-20 09:59:56 +01:00
committed by GitHub
parent db3cba5e0f
commit 9bc7b9e897
61 changed files with 5162 additions and 348 deletions

View File

@ -23,7 +23,6 @@ const OsNameCtxKey = "OsName"
type Info struct {
GoOS string
Kernel string
Core string
Platform string
OS string
OSVersion string
@ -31,6 +30,7 @@ type Info struct {
CPUs int
WiretrusteeVersion string
UIVersion string
KernelVersion string
}
// extractUserAgent extracts Netbird's agent (client) name and version from the outgoing context