diff --git a/weed/command/s3.go b/weed/command/s3.go index 8f1175d2d..cf33cdc7b 100644 --- a/weed/command/s3.go +++ b/weed/command/s3.go @@ -20,6 +20,7 @@ import ( "github.com/seaweedfs/seaweedfs/weed/glog" "github.com/seaweedfs/seaweedfs/weed/pb" "github.com/seaweedfs/seaweedfs/weed/pb/filer_pb" + "github.com/seaweedfs/seaweedfs/weed/pb/s3_lifecycle_pb" "github.com/seaweedfs/seaweedfs/weed/pb/s3_pb" "github.com/seaweedfs/seaweedfs/weed/s3api" "github.com/seaweedfs/seaweedfs/weed/s3api/iceberg" @@ -406,6 +407,7 @@ func (s3opt *S3Options) startS3Server() bool { } grpcS := pb.NewGrpcServer(security.LoadServerTLS(util.GetViper(), "grpc.s3")) s3_pb.RegisterSeaweedS3IamCacheServer(grpcS, s3ApiServer) + s3_lifecycle_pb.RegisterSeaweedS3LifecycleInternalServer(grpcS, s3ApiServer) reflection.Register(grpcS) if grpcLocalL != nil { go grpcS.Serve(grpcLocalL) diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go index e6a2cb064..7fb37f250 100644 --- a/weed/s3api/s3api_server.go +++ b/weed/s3api/s3api_server.go @@ -25,6 +25,7 @@ import ( "github.com/seaweedfs/seaweedfs/weed/iam/policy" "github.com/seaweedfs/seaweedfs/weed/iam/sts" "github.com/seaweedfs/seaweedfs/weed/pb" + "github.com/seaweedfs/seaweedfs/weed/pb/s3_lifecycle_pb" "github.com/seaweedfs/seaweedfs/weed/pb/s3_pb" "github.com/seaweedfs/seaweedfs/weed/s3api/policy_engine" . "github.com/seaweedfs/seaweedfs/weed/s3api/s3_constants" @@ -74,6 +75,7 @@ const s3ChunkCacheChunkSizeMB = 4 type S3ApiServer struct { s3_pb.UnimplementedSeaweedS3IamCacheServer + s3_lifecycle_pb.UnimplementedSeaweedS3LifecycleInternalServer option *S3ApiServerOption iam *IdentityAccessManagement iamIntegration *S3IAMIntegration // Advanced IAM integration for JWT authentication