Skip to content

Commit a43bd40

Browse files
committed
decouple jsonfile storage from etcd options
1 parent 757fb13 commit a43bd40

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

pkg/experimental/storage/filepath/jsonfile.go

+11-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ package filepath
33

44
import (
55
"k8s.io/apimachinery/pkg/runtime"
6+
"k8s.io/apimachinery/pkg/runtime/serializer"
67
"k8s.io/apiserver/pkg/registry/generic"
78
"k8s.io/apiserver/pkg/registry/rest"
9+
"k8s.io/apiserver/pkg/server/storage"
10+
"k8s.io/apiserver/pkg/storage/storagebackend"
811
"sigs.k8s.io/apiserver-runtime/pkg/builder/resource"
912
builderrest "sigs.k8s.io/apiserver-runtime/pkg/builder/rest"
1013
)
@@ -36,11 +39,17 @@ import (
3639
func NewJSONFilepathStorageProvider(obj resource.Object, rootPath string) builderrest.ResourceHandlerProvider {
3740
return func(scheme *runtime.Scheme, getter generic.RESTOptionsGetter) (rest.Storage, error) {
3841
gr := obj.GetGroupVersionResource().GroupResource()
39-
opt, err := getter.GetRESTOptions(gr)
42+
codec, _, err := storage.NewStorageCodec(storage.StorageCodecConfig{
43+
StorageMediaType: runtime.ContentTypeJSON,
44+
StorageSerializer: serializer.NewCodecFactory(scheme),
45+
StorageVersion: scheme.PrioritizedVersionsForGroup(obj.GetGroupVersionResource().Group)[0],
46+
MemoryVersion: scheme.PrioritizedVersionsForGroup(obj.GetGroupVersionResource().Group)[0],
47+
Config: storagebackend.Config{}, // useless fields..
48+
})
4049
if err != nil {
4150
return nil, err
4251
}
43-
codec := opt.StorageConfig.Codec
52+
4453
return NewFilepathREST(
4554
gr,
4655
codec,

0 commit comments

Comments
 (0)