@@ -26,6 +26,7 @@ import (
2626 "d7y.io/dragonfly/v2/manager/database"
2727 "d7y.io/dragonfly/v2/manager/models"
2828 "d7y.io/dragonfly/v2/manager/searcher"
29+ grpcauth "d7y.io/dragonfly/v2/pkg/rpc/auth/jwt"
2930 managerserver "d7y.io/dragonfly/v2/pkg/rpc/manager/server"
3031)
3132
@@ -51,6 +52,14 @@ type Server struct {
5152func New (
5253 cfg * config.Config , database * database.Database , cache * cache.Cache , searcher searcher.Searcher ,
5354 opts ... grpc.ServerOption ) (* Server , * grpc.Server , error ) {
55+ return NewWithAuthentication (cfg , nil , database , cache , searcher , opts ... )
56+ }
57+
58+ // NewWithAuthentication returns a new manager server with inter-component JWT
59+ // authentication.
60+ func NewWithAuthentication (
61+ cfg * config.Config , authenticator * grpcauth.Authenticator , database * database.Database , cache * cache.Cache , searcher searcher.Searcher ,
62+ opts ... grpc.ServerOption ) (* Server , * grpc.Server , error ) {
5463 s := & Server {
5564 config : cfg ,
5665 db : database .DB ,
@@ -59,10 +68,11 @@ func New(
5968 searcher : searcher ,
6069 }
6170
62- return s , managerserver .New (
71+ return s , managerserver .NewWithAuthentication (
6372 newManagerServerV1 (s .config , database , s .cache , s .searcher ),
6473 newManagerServerV2 (s .config , database , s .cache , s .searcher ),
6574 cfg .Server .GRPC .RequestRateLimit ,
75+ authenticator ,
6676 opts ... ), nil
6777}
6878
0 commit comments