mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-10-12 01:58:46 +02:00
Send full host metadata on managed startup
This commit is contained in:
1 parent
b0408e4d1c
commit
be8c068fa9
15 files changed
+456
-56
No files matched your search
+17
-4
@@ -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")
|
||||
|
||||
Reference in new issue
Block a user