From aadb7c47abd92feb13a39fe9c09e76ea83e49238 Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Fri, 3 May 2024 03:22:01 +0300 Subject: [PATCH] Add proctitle package with linux and windows constraints Signed-off-by: galal-hussein (cherry picked from commit 48ff3bcddb8f5a95bbd81d9629702d7d8b42eb85) Signed-off-by: Brad Davidson --- main.go | 1 + pkg/cli/agent/agent.go | 4 ++-- pkg/cli/cert/cert.go | 4 ++-- pkg/cli/cmds/log_linux.go | 4 ++-- pkg/cli/etcdsnapshot/etcd_snapshot.go | 4 ++-- pkg/cli/secretsencrypt/secrets_encrypt.go | 4 ++-- pkg/cli/server/server.go | 4 ++-- pkg/cli/token/token.go | 4 ++-- pkg/proctitle/proctile.go | 14 ++++++++++++++ pkg/proctitle/proctile_windows.go | 6 ++++++ 10 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 pkg/proctitle/proctile.go create mode 100644 pkg/proctitle/proctile_windows.go diff --git a/main.go b/main.go index 8857094b87..7859d13a4d 100644 --- a/main.go +++ b/main.go @@ -48,6 +48,7 @@ func main() { secretsencrypt.RotateKeys, ), cmds.NewCertCommands( + cert.Check, cert.Rotate, cert.RotateCA, ), diff --git a/pkg/cli/agent/agent.go b/pkg/cli/agent/agent.go index 694fa9aa6e..415737840c 100644 --- a/pkg/cli/agent/agent.go +++ b/pkg/cli/agent/agent.go @@ -9,12 +9,12 @@ import ( "path/filepath" "runtime" - "github.com/erikdubbelboer/gspt" "github.com/gorilla/mux" "github.com/k3s-io/k3s/pkg/agent" "github.com/k3s-io/k3s/pkg/authenticator" "github.com/k3s-io/k3s/pkg/cli/cmds" "github.com/k3s-io/k3s/pkg/datadir" + "github.com/k3s-io/k3s/pkg/proctitle" "github.com/k3s-io/k3s/pkg/spegel" "github.com/k3s-io/k3s/pkg/util" "github.com/k3s-io/k3s/pkg/version" @@ -31,7 +31,7 @@ func Run(ctx *cli.Context) error { // hide process arguments from ps output, since they may contain // database credentials or other secrets. - gspt.SetProcTitle(os.Args[0] + " agent") + proctitle.SetProcTitle(os.Args[0] + " agent") // Evacuate cgroup v2 before doing anything else that may fork. if err := cmds.EvacuateCgroup2(); err != nil { diff --git a/pkg/cli/cert/cert.go b/pkg/cli/cert/cert.go index 72848fdd2a..d5b0b96b8a 100644 --- a/pkg/cli/cert/cert.go +++ b/pkg/cli/cert/cert.go @@ -8,7 +8,6 @@ import ( "strings" "time" - "github.com/erikdubbelboer/gspt" "github.com/k3s-io/k3s/pkg/agent/util" "github.com/k3s-io/k3s/pkg/bootstrap" "github.com/k3s-io/k3s/pkg/cli/cmds" @@ -16,6 +15,7 @@ import ( "github.com/k3s-io/k3s/pkg/daemons/config" "github.com/k3s-io/k3s/pkg/daemons/control/deps" "github.com/k3s-io/k3s/pkg/datadir" + "github.com/k3s-io/k3s/pkg/proctitle" "github.com/k3s-io/k3s/pkg/server" "github.com/k3s-io/k3s/pkg/util/services" "github.com/k3s-io/k3s/pkg/version" @@ -27,7 +27,7 @@ import ( ) func commandSetup(app *cli.Context, cfg *cmds.Server, sc *server.Config) (string, error) { - gspt.SetProcTitle(os.Args[0]) + proctitle.SetProcTitle(os.Args[0]) dataDir, err := datadir.Resolve(cfg.DataDir) if err != nil { diff --git a/pkg/cli/cmds/log_linux.go b/pkg/cli/cmds/log_linux.go index 5b836d9740..fa227ca416 100644 --- a/pkg/cli/cmds/log_linux.go +++ b/pkg/cli/cmds/log_linux.go @@ -11,7 +11,7 @@ import ( "syscall" systemd "github.com/coreos/go-systemd/v22/daemon" - "github.com/erikdubbelboer/gspt" + "github.com/k3s-io/k3s/pkg/proctitle" "github.com/k3s-io/k3s/pkg/version" "github.com/natefinch/lumberjack" "github.com/pkg/errors" @@ -42,7 +42,7 @@ func forkIfLoggingOrReaping() error { } if enableLogRedirect || enableReaping { - gspt.SetProcTitle(os.Args[0] + " init") + proctitle.SetProcTitle(os.Args[0] + " init") pwd, err := os.Getwd() if err != nil { diff --git a/pkg/cli/etcdsnapshot/etcd_snapshot.go b/pkg/cli/etcdsnapshot/etcd_snapshot.go index e4e880243c..b6e774affe 100644 --- a/pkg/cli/etcdsnapshot/etcd_snapshot.go +++ b/pkg/cli/etcdsnapshot/etcd_snapshot.go @@ -12,12 +12,12 @@ import ( "text/tabwriter" "time" - "github.com/erikdubbelboer/gspt" k3s "github.com/k3s-io/k3s/pkg/apis/k3s.cattle.io/v1" "github.com/k3s-io/k3s/pkg/cli/cmds" "github.com/k3s-io/k3s/pkg/clientaccess" "github.com/k3s-io/k3s/pkg/cluster/managed" "github.com/k3s-io/k3s/pkg/etcd" + "github.com/k3s-io/k3s/pkg/proctitle" "github.com/k3s-io/k3s/pkg/server" util2 "github.com/k3s-io/k3s/pkg/util" "github.com/pkg/errors" @@ -34,7 +34,7 @@ var timeout = 2 * time.Minute func commandSetup(app *cli.Context, cfg *cmds.Server) (*etcd.SnapshotRequest, *clientaccess.Info, error) { // hide process arguments from ps output, since they may contain // database credentials or other secrets. - gspt.SetProcTitle(os.Args[0] + " etcd-snapshot") + proctitle.SetProcTitle(os.Args[0] + " etcd-snapshot") sr := &etcd.SnapshotRequest{} // Operation and name are set by the command handler. diff --git a/pkg/cli/secretsencrypt/secrets_encrypt.go b/pkg/cli/secretsencrypt/secrets_encrypt.go index 3a696fe527..8eaa956a14 100644 --- a/pkg/cli/secretsencrypt/secrets_encrypt.go +++ b/pkg/cli/secretsencrypt/secrets_encrypt.go @@ -9,9 +9,9 @@ import ( "strings" "text/tabwriter" - "github.com/erikdubbelboer/gspt" "github.com/k3s-io/k3s/pkg/cli/cmds" "github.com/k3s-io/k3s/pkg/clientaccess" + "github.com/k3s-io/k3s/pkg/proctitle" "github.com/k3s-io/k3s/pkg/secretsencrypt" "github.com/k3s-io/k3s/pkg/server" "github.com/k3s-io/k3s/pkg/version" @@ -23,7 +23,7 @@ import ( func commandPrep(cfg *cmds.Server) (*clientaccess.Info, error) { // hide process arguments from ps output, since they may contain // database credentials or other secrets. - gspt.SetProcTitle(os.Args[0] + " secrets-encrypt") + proctitle.SetProcTitle(os.Args[0] + " secrets-encrypt") dataDir, err := server.ResolveDataDir(cfg.DataDir) if err != nil { diff --git a/pkg/cli/server/server.go b/pkg/cli/server/server.go index 26de4c7a84..773db28f85 100644 --- a/pkg/cli/server/server.go +++ b/pkg/cli/server/server.go @@ -10,7 +10,6 @@ import ( "time" systemd "github.com/coreos/go-systemd/v22/daemon" - "github.com/erikdubbelboer/gspt" "github.com/gorilla/mux" "github.com/k3s-io/k3s/pkg/agent" "github.com/k3s-io/k3s/pkg/agent/loadbalancer" @@ -19,6 +18,7 @@ import ( "github.com/k3s-io/k3s/pkg/daemons/config" "github.com/k3s-io/k3s/pkg/datadir" "github.com/k3s-io/k3s/pkg/etcd" + "github.com/k3s-io/k3s/pkg/proctitle" "github.com/k3s-io/k3s/pkg/rootless" "github.com/k3s-io/k3s/pkg/server" "github.com/k3s-io/k3s/pkg/spegel" @@ -55,7 +55,7 @@ func run(app *cli.Context, cfg *cmds.Server, leaderControllers server.CustomCont // hide process arguments from ps output, since they may contain // database credentials or other secrets. - gspt.SetProcTitle(os.Args[0] + " server") + proctitle.SetProcTitle(os.Args[0] + " server") // If the agent is enabled, evacuate cgroup v2 before doing anything else that may fork. // If the agent is disabled, we don't need to bother doing this as it is only the kubelet diff --git a/pkg/cli/token/token.go b/pkg/cli/token/token.go index 7af7cee82c..e16038fea5 100644 --- a/pkg/cli/token/token.go +++ b/pkg/cli/token/token.go @@ -11,10 +11,10 @@ import ( "text/tabwriter" "time" - "github.com/erikdubbelboer/gspt" "github.com/k3s-io/k3s/pkg/cli/cmds" "github.com/k3s-io/k3s/pkg/clientaccess" "github.com/k3s-io/k3s/pkg/kubeadm" + "github.com/k3s-io/k3s/pkg/proctitle" "github.com/k3s-io/k3s/pkg/server" "github.com/k3s-io/k3s/pkg/util" "github.com/k3s-io/k3s/pkg/version" @@ -171,7 +171,7 @@ func Rotate(app *cli.Context) error { func serverAccess(cfg *cmds.Token) (*clientaccess.Info, error) { // hide process arguments from ps output, since they likely contain tokens. - gspt.SetProcTitle(os.Args[0] + " token") + proctitle.SetProcTitle(os.Args[0] + " token") dataDir, err := server.ResolveDataDir("") if err != nil { diff --git a/pkg/proctitle/proctile.go b/pkg/proctitle/proctile.go new file mode 100644 index 0000000000..16bed1cab3 --- /dev/null +++ b/pkg/proctitle/proctile.go @@ -0,0 +1,14 @@ +//go:build linux +// +build linux + +package proctitle + +import ( + "os" + + "github.com/erikdubbelboer/gspt" +) + +func SetProcTitle(cmd string) { + gspt.SetProcTitle(os.Args[0] + " agent") +} diff --git a/pkg/proctitle/proctile_windows.go b/pkg/proctitle/proctile_windows.go new file mode 100644 index 0000000000..9ade88241c --- /dev/null +++ b/pkg/proctitle/proctile_windows.go @@ -0,0 +1,6 @@ +//go:build windows +// +build windows + +package proctitle + +func SetProcTitle(cmd string) {}