Send full host metadata on managed startup

This commit is contained in:
Dev Scribe authored and Cuong Manh Le committed 2026-10-08 15:00:04 +07:00
1 parent b0408e4d1c
commit be8c068fa9
15 files changed
+456 -56

No files matched your search

+17 -4
View File
@@ -22,10 +22,8 @@ import (
func DiscoverMainUser(ctx context.Context) string {
logger := LoggerFromCtx(ctx).Debug()
// Method 1: Check active users via loginctl
logger.Msg("attempting to discover user via loginctl")
if user := getLoginctlUser(ctx); user != "" {
logger.Str("method", "loginctl").Str("user", user).Msg("found user via loginctl")
// Method 1: an active loginctl user.
if user := discoverSessionUser(ctx); user != "" {
return user
}
@@ -47,6 +45,21 @@ func DiscoverMainUser(ctx context.Context) string {
return "unknown"
}
// discoverSessionUser returns the user of an active login session, or "" when
// nobody is logged in. It never falls back to a guess from the account list.
func discoverSessionUser(ctx context.Context) string {
logger := LoggerFromCtx(ctx).Debug()
// Method 1: Check active users via loginctl
logger.Msg("attempting to discover user via loginctl")
if user := getLoginctlUser(ctx); user != "" {
logger.Str("method", "loginctl").Str("user", user).Msg("found user via loginctl")
return user
}
return ""
}
// getLoginctlUser uses loginctl to find active users
func getLoginctlUser(ctx context.Context) string {
cmd := exec.CommandContext(ctx, "loginctl", "list-users", "--no-legend")