diff --git a/go.mod b/go.mod index 17af7f513e8..417ae92f99d 100644 --- a/go.mod +++ b/go.mod @@ -443,6 +443,8 @@ require ( sigs.k8s.io/yaml v1.3.0 // indirect; @grafana-app-platform-squad ) +require github.com/hack-pad/hackpadfs v0.2.1 + // Use fork of crewjam/saml with fixes for some issues until changes get merged into upstream replace github.com/crewjam/saml => github.com/grafana/saml v0.4.15-0.20240523142256-cc370b98af7c diff --git a/go.sum b/go.sum index f5c3eec51ad..613c6c85dd7 100644 --- a/go.sum +++ b/go.sum @@ -2353,6 +2353,7 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9K github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU= github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= +github.com/hack-pad/hackpadfs v0.2.1 h1:FelFhIhv26gyjujoA/yeFO+6YGlqzmc9la/6iKMIxMw= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO00GgRLGryc= diff --git a/pkg/services/apiserver/service.go b/pkg/services/apiserver/service.go index 2bd5380f1bc..44d2af2aa67 100644 --- a/pkg/services/apiserver/service.go +++ b/pkg/services/apiserver/service.go @@ -197,6 +197,7 @@ func (s *service) RegisterAPI(b builder.APIGroupBuilder) { s.builders = append(s.builders, b) } +// nolint:gocyclo func (s *service) start(ctx context.Context) error { defer close(s.startedCh) diff --git a/pkg/storage/unified/apistore/stream.go b/pkg/storage/unified/apistore/stream.go index 5c123805743..09135d0a22b 100644 --- a/pkg/storage/unified/apistore/stream.go +++ b/pkg/storage/unified/apistore/stream.go @@ -60,7 +60,7 @@ decode: // Error event if evt.Type == resource.WatchEvent_ERROR { - err = fmt.Errorf(string(evt.Message)) + err = fmt.Errorf(evt.Message) klog.Errorf("client: error receiving result: %s", err) return watch.Error, nil, err } diff --git a/pkg/storage/unified/entitybridge/entitybridge.go b/pkg/storage/unified/entitybridge/entitybridge.go index 1fdf2313fec..0131748cf20 100644 --- a/pkg/storage/unified/entitybridge/entitybridge.go +++ b/pkg/storage/unified/entitybridge/entitybridge.go @@ -143,6 +143,9 @@ func (b *entityBridge) WriteEvent(ctx context.Context, event *resource.WriteEven return 0, err } return rsp.Entity.ResourceVersion, err + + case resource.ResourceOperation_UNKNOWN: + case resource.ResourceOperation_DELETED: } return 0, fmt.Errorf("unsupported operation: %s", event.Operation.String()) diff --git a/pkg/storage/unified/resource/server.go b/pkg/storage/unified/resource/server.go index 5b39cafe786..8d06a4f2d43 100644 --- a/pkg/storage/unified/resource/server.go +++ b/pkg/storage/unified/resource/server.go @@ -163,6 +163,11 @@ func (s *server) Stop() { } func (s *server) newEvent(ctx context.Context, key *ResourceKey, value, oldValue []byte) (*WriteEvent, error) { + if key.Name == "" { + return nil, apierrors.NewBadRequest("empty name") + } + // TODO -- make sure it is alphanumeric+ + var err error event := &WriteEvent{ EventID: s.nextEventID(),