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

Side by Side Diff: appengine/logdog/coordinator/endpoints/services/registerStream.go

Issue 1971493003: LogDog: Project READ access for user endpoints. (Closed) Base URL: https://github.com/luci/luci-go@logdog-project-service-config
Patch Set: Updated patchset dependency Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package services 5 package services
6 6
7 import ( 7 import (
8 "time" 8 "time"
9 9
10 "github.com/golang/protobuf/proto" 10 "github.com/golang/protobuf/proto"
11 ds "github.com/luci/gae/service/datastore" 11 ds "github.com/luci/gae/service/datastore"
12 "github.com/luci/luci-go/appengine/logdog/coordinator" 12 "github.com/luci/luci-go/appengine/logdog/coordinator"
13 "github.com/luci/luci-go/appengine/logdog/coordinator/endpoints"
13 "github.com/luci/luci-go/appengine/logdog/coordinator/hierarchy" 14 "github.com/luci/luci-go/appengine/logdog/coordinator/hierarchy"
14 "github.com/luci/luci-go/appengine/logdog/coordinator/mutations" 15 "github.com/luci/luci-go/appengine/logdog/coordinator/mutations"
15 "github.com/luci/luci-go/appengine/tumble" 16 "github.com/luci/luci-go/appengine/tumble"
16 "github.com/luci/luci-go/common/api/logdog_coordinator/services/v1" 17 "github.com/luci/luci-go/common/api/logdog_coordinator/services/v1"
17 "github.com/luci/luci-go/common/clock" 18 "github.com/luci/luci-go/common/clock"
18 "github.com/luci/luci-go/common/grpcutil" 19 "github.com/luci/luci-go/common/grpcutil"
19 "github.com/luci/luci-go/common/logdog/types" 20 "github.com/luci/luci-go/common/logdog/types"
20 log "github.com/luci/luci-go/common/logging" 21 log "github.com/luci/luci-go/common/logging"
21 "github.com/luci/luci-go/common/proto/logdog/logpb" 22 "github.com/luci/luci-go/common/proto/logdog/logpb"
22 "golang.org/x/net/context" 23 "golang.org/x/net/context"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 log.Fields{ 69 log.Fields{
69 "project": req.Project, 70 "project": req.Project,
70 "path": path, 71 "path": path,
71 }.Infof(c, "Registration request for log stream.") 72 }.Infof(c, "Registration request for log stream.")
72 73
73 if err := desc.Validate(true); err != nil { 74 if err := desc.Validate(true); err != nil {
74 return nil, grpcutil.Errf(codes.InvalidArgument, "Invalid log st ream descriptor: %s", err) 75 return nil, grpcutil.Errf(codes.InvalidArgument, "Invalid log st ream descriptor: %s", err)
75 } 76 }
76 prefix, _ := path.Split() 77 prefix, _ := path.Split()
77 78
78 » // Load our config and archive expiration. 79 » // Load our service and project configs.
79 cfg, err := coordinator.GetServices(c).Config(c) 80 cfg, err := coordinator.GetServices(c).Config(c)
80 if err != nil { 81 if err != nil {
81 log.WithError(err).Errorf(c, "Failed to load configuration.") 82 log.WithError(err).Errorf(c, "Failed to load configuration.")
82 return nil, grpcutil.Internal 83 return nil, grpcutil.Internal
83 } 84 }
84 85
85 » archiveDelayMax := cfg.Coordinator.ArchiveDelayMax.Duration() 86 » pcfg, err := coordinator.CurrentProjectConfig(c)
86 » if archiveDelayMax < 0 { 87 » if err != nil {
87 » » log.Fields{ 88 » » log.WithError(err).Errorf(c, "Failed to load current project con figuration.")
88 » » » "archiveDelayMax": archiveDelayMax,
89 » » }.Errorf(c, "Must have positive maximum archive delay.")
90 return nil, grpcutil.Internal 89 return nil, grpcutil.Internal
91 } 90 }
92 91
92 // Determine the archival expiration.
93 archiveDelayMax := endpoints.MinDuration(cfg.Coordinator.ArchiveDelayMax , pcfg.MaxStreamAge)
94
93 // Register our Prefix. 95 // Register our Prefix.
94 // 96 //
95 // This will also verify that our request secret matches the registered one, 97 // This will also verify that our request secret matches the registered one,
96 // if one is registered. 98 // if one is registered.
97 // 99 //
98 // Note: This step will not be necessary once a "register prefix" RPC ca ll is 100 // Note: This step will not be necessary once a "register prefix" RPC ca ll is
99 // implemented. 101 // implemented.
100 lsp := logStreamPrefix{ 102 lsp := logStreamPrefix{
101 prefix: string(prefix), 103 prefix: string(prefix),
102 secret: req.Secret, 104 secret: req.Secret,
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 return nil, grpcutil.Internal 242 return nil, grpcutil.Internal
241 } 243 }
242 } 244 }
243 245
244 return nil, nil 246 return nil, nil
245 } 247 }
246 248
247 func (m *registerStreamMutation) Root(c context.Context) *ds.Key { 249 func (m *registerStreamMutation) Root(c context.Context) *ds.Key {
248 return ds.Get(c).KeyForObj(m.ls) 250 return ds.Get(c).KeyForObj(m.ls)
249 } 251 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698