From 77d528f8e0fa675475b0a6b05f38ae48b0ac286e Mon Sep 17 00:00:00 2001 From: Aaron Alpar Date: Fri, 4 Oct 2024 13:12:45 -0700 Subject: [PATCH] tail log output for kopia commands --- pkg/controllers/repositoryserver/server.go | 8 ++++++++ pkg/kopia/cli/internal/opts/common_opts.go | 2 +- pkg/kopia/command/common.go | 5 +++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/pkg/controllers/repositoryserver/server.go b/pkg/controllers/repositoryserver/server.go index 16ce3d4a08..0604576184 100644 --- a/pkg/controllers/repositoryserver/server.go +++ b/pkg/controllers/repositoryserver/server.go @@ -65,6 +65,9 @@ func (h *RepoServerHandler) startRepoProxyServer(ctx context.Context) (err error Background: true, }, ) + + cmd = append([]string{"tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&"}, cmd...) + stdout, stderr, err := kube.Exec(ctx, h.KubeCli, h.RepositoryServer.Namespace, h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, cmd, nil) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stdout) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stderr) @@ -128,6 +131,7 @@ func (h *RepoServerHandler) createOrUpdateClientUsers(ctx context.Context) error LogDirectory: command.DefaultLogDirectory, }, }) + cmd = append([]string{"tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&"}, cmd...) stdout, stderr, err := kube.Exec(ctx, h.KubeCli, h.RepositoryServer.Namespace, h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, cmd, nil) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stdout) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stderr) @@ -165,6 +169,7 @@ func (h *RepoServerHandler) createOrUpdateClientUsers(ctx context.Context) error NewUsername: serverUsername, UserPassword: string(password), }) + cmd = append([]string{"tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&"}, cmd...) stdout, stderr, err := kube.Exec(ctx, h.KubeCli, h.RepositoryServer.Namespace, h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, cmd, nil) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stdout) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stderr) @@ -183,6 +188,7 @@ func (h *RepoServerHandler) createOrUpdateClientUsers(ctx context.Context) error NewUsername: serverUsername, UserPassword: string(password), }) + cmd = append([]string{"tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&"}, cmd...) stdout, stderr, err := kube.Exec(ctx, h.KubeCli, h.RepositoryServer.Namespace, h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, cmd, nil) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stdout) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stderr) @@ -216,6 +222,7 @@ func (h *RepoServerHandler) refreshServer(ctx context.Context) error { ServerPassword: password, Fingerprint: fingerprint, }) + cmd = append([]string{"tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&"}, cmd...) stdout, stderr, err := kube.Exec(ctx, h.KubeCli, h.RepositoryServer.Namespace, h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, cmd, nil) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stdout) format.Log(h.RepositoryServer.Status.ServerInfo.PodName, repoServerPodContainerName, stderr) @@ -255,5 +262,6 @@ func (h *RepoServerHandler) getServerStatusCommand(ctx context.Context, serverAd ServerPassword: password, Fingerprint: fingerprint, }) + cmd = append([]string{"tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&"}, cmd...) return cmd, nil } diff --git a/pkg/kopia/cli/internal/opts/common_opts.go b/pkg/kopia/cli/internal/opts/common_opts.go index d17f71e5c3..16bcb1b09c 100644 --- a/pkg/kopia/cli/internal/opts/common_opts.go +++ b/pkg/kopia/cli/internal/opts/common_opts.go @@ -21,7 +21,7 @@ import ( ) const ( - defaultLogLevel = "error" + defaultLogLevel = "debug" ) // LogDirectory creates a new log directory option with a given directory. diff --git a/pkg/kopia/command/common.go b/pkg/kopia/command/common.go index 2d9d284554..b1c7f3d315 100644 --- a/pkg/kopia/command/common.go +++ b/pkg/kopia/command/common.go @@ -43,7 +43,7 @@ func GetEnvOrDefault(name, def string) string { // LogLevel will return either value from env or "error" as default value func LogLevel() string { - return GetEnvOrDefault(LogLevelVarName, LogLevelError) + return GetEnvOrDefault(LogLevelVarName, "debug") } // FileLogLevel will return value from env @@ -61,7 +61,8 @@ type CommandArgs struct { func bashCommand(args logsafe.Cmd) []string { log.Info().Print("Kopia Command", field.M{"Command": args.String()}) - return []string{"bash", "-o", "errexit", "-c", args.PlainText()} + log.Info().Print("Kopia Running", field.M{"Running": []string{"bash", "-o", "errexit", "-c", "tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&", args.PlainText()}}) + return []string{"bash", "-o", "errexit", "-c", "tail", "-v", "-F", "/tmp/kopia-log/cli-logs/latest.log", "&", args.PlainText()} } func stringSliceCommand(args logsafe.Cmd) []string {