Skip to content

Commit fa1abce

Browse files
Merge branch 'main' into develop for preparing main develop branch
relationship
2 parents e752a57 + 7ec07b0 commit fa1abce

File tree

6 files changed

+68
-31
lines changed

6 files changed

+68
-31
lines changed

cf/auth_service.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
type Logger interface {
1717
Info(tag, message string)
1818
Error(tag, message string)
19+
Debug(tag, message string)
1920
}
2021

2122
type AuthService struct {
@@ -32,51 +33,51 @@ func NewAuthService(client *cf.Client, logger Logger) *AuthService {
3233

3334
func (service *AuthService) Verify(auth string) error {
3435
tag := "AuthService.Verify"
35-
service.logger.Info(tag, "Starting verification process")
36+
service.logger.Debug(tag, "Starting verification process")
3637
username, err := getUsername(auth)
3738
if err != nil {
3839
service.logger.Error(tag, fmt.Sprintf("Error getting username: %v", err))
3940
return err
4041
}
41-
service.logger.Info(tag, fmt.Sprintf("Username obtained: %s", username))
42+
service.logger.Debug(tag, fmt.Sprintf("Username obtained: %s", username))
4243

4344
user, err := service.getUser(username)
4445
if err != nil {
4546
service.logger.Error(tag, fmt.Sprintf("Error getting user: %v", err))
4647
return err
4748
}
48-
// Debugging = noisy
49-
// service.logger.Info(tag, fmt.Sprintf("User obtained: %v", user))
49+
50+
service.logger.Debug(tag, fmt.Sprintf("User obtained: %v", user))
5051

5152
roles, err := service.getUserRoles(user)
5253
if err != nil {
5354
service.logger.Error(tag, fmt.Sprintf("Error getting user roles: %v", err))
5455
return err
5556
}
56-
// Debugging = noisy
57-
// service.logger.Info(tag, fmt.Sprintf("User roles obtained: %v", roles))
57+
58+
service.logger.Debug(tag, fmt.Sprintf("User roles obtained: %v", roles))
5859

5960
tokenScopes, err := getTokenScopes(auth, service.logger)
6061
if err != nil {
6162
service.logger.Error(tag, fmt.Sprintf("Error getting token scopes: %v", err))
6263
return err
6364
}
64-
service.logger.Info(tag, fmt.Sprintf("Token scopes obtained: %v", tokenScopes))
65+
service.logger.Debug(tag, fmt.Sprintf("Token scopes obtained: %v", tokenScopes))
6566

6667
// Check all the roles, but return good early if we find one that works.
6768

6869
// Check token scopes for cloud_controller.admin
6970
for _, scope := range tokenScopes {
7071
if scope == "cloud_controller.admin" {
71-
service.logger.Info(tag, "User has cloud_controller.admin scope")
72+
service.logger.Debug(tag, "User has cloud_controller.admin scope")
7273
return nil
7374
}
7475
}
7576

7677
// Check CF roles for space_manager or space_developer
7778
for _, role := range roles {
7879
if role.Type == "space_manager" || role.Type == "space_developer" {
79-
service.logger.Info(tag, fmt.Sprintf("User has role: %s", role.Type))
80+
service.logger.Debug(tag, fmt.Sprintf("User has role: %s", role.Type))
8081
return nil
8182
}
8283
}
@@ -208,6 +209,6 @@ func getTokenScopes(auth string, logger Logger) ([]string, error) {
208209
return nil, err
209210
}
210211

211-
logger.Info(tag, fmt.Sprintf("Scopes found in token: %v", claims.Scope))
212+
logger.Debug(tag, fmt.Sprintf("Scopes found in token: %v", claims.Scope))
212213
return claims.Scope, nil
213214
}

cmd/scheduler/main.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,22 @@ func main() {
102102

103103
log.Info(tag, "got the cf client set up")
104104

105+
log.Info(tag, "trying to acquire the desired number of workers")
106+
107+
workerNumStr := os.Getenv("WORKER_NUM")
108+
if len(workerNumStr) == 0 {
109+
workerNumStr = "20"
110+
log.Info(tag, "No `WORKER_NUM` provided, defaulting to 20")
111+
} else {
112+
log.Info(tag, fmt.Sprintf("WORKER_NUM set to %s", workerNumStr))
113+
}
114+
115+
workerNum, err := strconv.Atoi(workerNumStr)
116+
if err != nil {
117+
log.Error("Invalid WORKER_NUM: %v", err.Error())
118+
os.Exit(255)
119+
}
120+
105121
auth := cf.NewAuthService(cfclient, log)
106122
jobs := postgres.NewJobService(db)
107123
calls := postgres.NewCallService(db)
@@ -116,7 +132,7 @@ func main() {
116132
},
117133
)
118134

119-
workers := workerpool.New(10)
135+
workers := workerpool.New(workerNum)
120136
defer workers.StopWait()
121137

122138
cronService := cron.NewCronService(log)

core/log_service.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ package core
33
type LogService interface {
44
Info(string, string)
55
Error(string, string)
6+
Debug(string, string)
67
}

go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/cloudfoundry-community/ocf-scheduler
22

3-
go 1.17
3+
go 1.22
44

55
require (
66
github.com/cloudfoundry-community/go-cfclient v0.0.0-20220218061834-a7f54630885c
@@ -9,7 +9,7 @@ require (
99
github.com/ess/testscope v1.0.0
1010
github.com/gammazero/workerpool v1.1.2
1111
github.com/google/uuid v1.3.0
12-
github.com/labstack/echo/v4 v4.7.2
12+
github.com/labstack/echo/v4 v4.9.0
1313
github.com/lib/pq v1.10.4
1414
github.com/robfig/cron/v3 v3.0.1
1515
github.com/rubenv/sql-migrate v1.1.1
@@ -50,13 +50,13 @@ require (
5050
github.com/subosito/gotenv v1.2.0 // indirect
5151
github.com/valyala/bytebufferpool v1.0.0 // indirect
5252
github.com/valyala/fasttemplate v1.2.1 // indirect
53-
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect
54-
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f // indirect
55-
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b // indirect
56-
golang.org/x/text v0.3.7 // indirect
53+
golang.org/x/crypto v0.25.0 // indirect
54+
golang.org/x/net v0.21.0 // indirect
55+
golang.org/x/sys v0.22.0 // indirect
56+
golang.org/x/text v0.16.0 // indirect
5757
google.golang.org/appengine v1.6.7 // indirect
5858
google.golang.org/protobuf v1.26.0 // indirect
5959
gopkg.in/ini.v1 v1.62.0 // indirect
6060
gopkg.in/yaml.v2 v2.4.0 // indirect
61-
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
61+
gopkg.in/yaml.v3 v3.0.1 // indirect
6262
)

go.sum

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ github.com/gobuffalo/packr/v2 v2.8.3/go.mod h1:0SahksCVcx4IMnigTjiFuyldmTrdTctXs
117117
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
118118
github.com/godror/godror v0.24.2/go.mod h1:wZv/9vPiUib6tkoDl+AZ/QLf5YZgMravZ7jxH2eQWAE=
119119
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
120-
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
121120
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
122121
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
123122
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -235,8 +234,8 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn
235234
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
236235
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
237236
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
238-
github.com/labstack/echo/v4 v4.7.2 h1:Kv2/p8OaQ+M6Ex4eGimg9b9e6icoxA42JSlOR3msKtI=
239-
github.com/labstack/echo/v4 v4.7.2/go.mod h1:xkCDAdFCIf8jsFQ5NnbK7oqaF/yU1A1X20Ltm0OvSks=
237+
github.com/labstack/echo/v4 v4.9.0 h1:wPOF1CE6gvt/kmbMR4dGzWvHMPT+sAEUJOwOTtvITVY=
238+
github.com/labstack/echo/v4 v4.9.0/go.mod h1:xkCDAdFCIf8jsFQ5NnbK7oqaF/yU1A1X20Ltm0OvSks=
240239
github.com/labstack/gommon v0.3.1 h1:OomWaJXm7xR6L1HmEtGyQf26TEn7V6X88mktX9kee9o=
241240
github.com/labstack/gommon v0.3.1/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM=
242241
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
@@ -379,8 +378,8 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U
379378
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
380379
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
381380
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
382-
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ=
383-
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
381+
golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
382+
golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
384383
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
385384
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
386385
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -455,8 +454,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
455454
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
456455
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
457456
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
458-
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY=
459-
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
457+
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
458+
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
460459
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
461460
golang.org/x/oauth2 v0.0.0-20190130055435-99b60b757ec1/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
462461
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -532,11 +531,13 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc
532531
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
533532
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
534533
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
535-
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b h1:1VkfZQv42XQlA/jchYumAnv1UPo6RgF9rJFkTgZIxO4=
536534
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
535+
golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
536+
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
537537
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
538-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
539538
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
539+
golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk=
540+
golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
540541
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
541542
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
542543
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -545,12 +546,11 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
545546
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
546547
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
547548
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
548-
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
549-
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
549+
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
550+
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
550551
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
551552
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
552553
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
553-
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
554554
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
555555
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
556556
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@@ -734,8 +734,9 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
734734
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
735735
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
736736
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
737-
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
738737
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
738+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
739+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
739740
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
740741
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
741742
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

logger/log_service.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package logger
22

33
import (
44
"os"
5+
"strings"
56

67
"github.com/sirupsen/logrus"
78
)
@@ -16,6 +17,19 @@ func New() *LogService {
1617

1718
log.Out = os.Stdout
1819

20+
// Set log level from environment variable
21+
level := os.Getenv("LOG_LEVEL")
22+
switch strings.ToLower(level) {
23+
case "debug":
24+
log.SetLevel(logrus.DebugLevel)
25+
case "info":
26+
log.SetLevel(logrus.InfoLevel)
27+
case "error":
28+
log.SetLevel(logrus.ErrorLevel)
29+
default:
30+
log.SetLevel(logrus.InfoLevel) // Default to Info level
31+
}
32+
1933
return &LogService{log: log}
2034
}
2135

@@ -26,3 +40,7 @@ func (service *LogService) Info(context string, message string) {
2640
func (service *LogService) Error(context string, message string) {
2741
service.log.WithField("context", context).Error(message)
2842
}
43+
44+
func (service *LogService) Debug(context string, message string) {
45+
service.log.WithField("context", context).Debug(message)
46+
}

0 commit comments

Comments
 (0)