Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: client/cmd/logdog_butler/main.go

Issue 1906023002: LogDog: Add project namespace to Butler/Collector. (Closed) Base URL: https://github.com/luci/luci-go@logdog-project-archivist
Patch Set: Also update bootstrap logic. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | client/cmd/logdog_butler/subcommand_run.go » ('j') | common/proto/logdog/logpb/butler.proto » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/cmd/logdog_butler/main.go
diff --git a/client/cmd/logdog_butler/main.go b/client/cmd/logdog_butler/main.go
index 8166b451b569b6ff88b2050a1cdd2f4cd0918a4c..173e9b23b1b84642ebd7ac9d5b04041668f04678 100644
--- a/client/cmd/logdog_butler/main.go
+++ b/client/cmd/logdog_butler/main.go
@@ -103,6 +103,8 @@ func (a *application) addFlags(fs *flag.FlagSet) {
a.maxBufferAge = clockflag.Duration(butler.DefaultMaxBufferAge)
+ fs.Var(&a.butler.Project, "project",
+ "The log prefix's project name (required).")
fs.Var(&a.butler.Prefix, "prefix",
"Prefix to apply to all stream names.")
fs.Var(&a.outputConfig, "output",
@@ -171,12 +173,18 @@ func (a *application) Main(runFunc func(b *butler.Butler) error) error {
if a.cpuProfile != "" {
f, err := os.Create(a.cpuProfile)
if err != nil {
- return fmt.Errorf("Failed to create CPU profile output: %v", err)
+ return fmt.Errorf("failed to create CPU profile output: %v", err)
}
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
}
+ // Generate a prefix secret for this Butler session.
+ var err error
+ if a.butler.Secret, err = types.NewPrefixSecret(); err != nil {
+ return fmt.Errorf("failed to generate prefix secret: %s", err)
+ }
+
// Instantiate our Butler.
a.butler.MaxBufferAge = time.Duration(a.maxBufferAge)
a.butler.BufferLogs = !a.noBufferLogs
@@ -280,6 +288,14 @@ func mainImpl(ctx context.Context, argv []string) int {
a.Context = logConfig.Set(a.Context)
+ // TODO(dnj): Force all invocations to supply a Project.
+ if a.butler.Project != "" {
+ if err := a.butler.Project.Validate(); err != nil {
+ log.WithError(err).Errorf(a, "Invalid project (-project).")
+ return configErrorReturnCode
+ }
+ }
+
// Validate our Prefix; generate a user prefix if one was not supplied.
prefix := a.butler.Prefix
if prefix == "" {
« no previous file with comments | « no previous file | client/cmd/logdog_butler/subcommand_run.go » ('j') | common/proto/logdog/logpb/butler.proto » ('J')

Powered by Google App Engine
This is Rietveld 408576698