Add Twingate as a macOS FMA (#36260)

This commit is contained in:
Allen Houchins
2025-11-25 13:00:00 -06:00
committed by GitHub
parent a627f49b3f
commit d23fb2428c
7 changed files with 78 additions and 0 deletions
@@ -17,6 +17,7 @@ var Funcs = map[string][]func(*maintained_apps.FMAManifestApp) (*maintained_apps
"cisco-jabber/darwin": {CiscoJabberVersionTransformer},
"parallels/darwin": {ParallelsVersionShortener},
"github/darwin": {GitHubDesktopVersionShortener},
"twingate/darwin": {TwingateVersionShortener},
"citrix-workspace/darwin": {CitrixWorkspaceVersionShortener},
}
@@ -0,0 +1,27 @@
package externalrefs
import (
"fmt"
"strings"
maintained_apps "github.com/fleetdm/fleet/v4/ee/maintained-apps"
)
// TwingateVersionShortener extracts the bundle_short_version from Homebrew's version format.
// Homebrew version format: "2025.288.20108"
// osquery bundle_short_version: "2025.288"
// osquery bundle_version: "120108"
// This extracts the first two parts (before the last dot) to match osquery's bundle_short_version.
func TwingateVersionShortener(app *maintained_apps.FMAManifestApp) (*maintained_apps.FMAManifestApp, error) {
homebrewVersion := app.Version
// Split on dots and take the first two parts (bundle_short_version)
parts := strings.Split(homebrewVersion, ".")
if len(parts) >= 2 {
app.Version = strings.Join(parts[:2], ".")
} else {
return app, fmt.Errorf("Expected Twingate version to have format X.Y.Z but found '%s'", homebrewVersion)
}
return app, nil
}
@@ -0,0 +1,8 @@
{
"name": "Twingate",
"unique_identifier": "com.twingate.macos",
"token": "twingate",
"installer_format": "pkg",
"slug": "twingate/darwin",
"default_categories": ["Productivity"]
}
+7
View File
@@ -764,6 +764,13 @@
"unique_identifier": "net.tunnelblick.tunnelblick",
"description": "Tunnelblick is a free and open-source OpenVPN client."
},
{
"name": "Twingate",
"slug": "twingate/darwin",
"platform": "darwin",
"unique_identifier": "com.twingate.macos",
"description": "Twingate is a zero trust network access platform."
},
{
"name": "Microsoft Visual Studio Code",
"slug": "visual-studio-code/darwin",
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB