mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Allow config to accept a Transformer
This commit is contained in:
parent
a73990a33f
commit
4f27d8feea
@ -16,7 +16,10 @@ limitations under the License.
|
|||||||
|
|
||||||
package storagebackend
|
package storagebackend
|
||||||
|
|
||||||
import "k8s.io/apimachinery/pkg/runtime"
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apiserver/pkg/storage/value"
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
StorageTypeUnset = ""
|
StorageTypeUnset = ""
|
||||||
@ -45,6 +48,8 @@ type Config struct {
|
|||||||
|
|
||||||
Codec runtime.Codec
|
Codec runtime.Codec
|
||||||
Copier runtime.ObjectCopier
|
Copier runtime.ObjectCopier
|
||||||
|
// Transformer allows the value to be transformed prior to persisting into etcd.
|
||||||
|
Transformer value.Transformer
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDefaultConfig(prefix string, copier runtime.ObjectCopier, codec runtime.Codec) *Config {
|
func NewDefaultConfig(prefix string, copier runtime.ObjectCopier, codec runtime.Codec) *Config {
|
||||||
|
@ -17,14 +17,14 @@ limitations under the License.
|
|||||||
package factory
|
package factory
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/coreos/etcd/clientv3"
|
||||||
|
"github.com/coreos/etcd/pkg/transport"
|
||||||
|
"golang.org/x/net/context"
|
||||||
|
|
||||||
"k8s.io/apiserver/pkg/storage"
|
"k8s.io/apiserver/pkg/storage"
|
||||||
"k8s.io/apiserver/pkg/storage/etcd3"
|
"k8s.io/apiserver/pkg/storage/etcd3"
|
||||||
"k8s.io/apiserver/pkg/storage/storagebackend"
|
"k8s.io/apiserver/pkg/storage/storagebackend"
|
||||||
"k8s.io/apiserver/pkg/storage/value"
|
"k8s.io/apiserver/pkg/storage/value"
|
||||||
|
|
||||||
"github.com/coreos/etcd/clientv3"
|
|
||||||
"github.com/coreos/etcd/pkg/transport"
|
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func newETCD3Storage(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
func newETCD3Storage(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
||||||
@ -56,8 +56,12 @@ func newETCD3Storage(c storagebackend.Config) (storage.Interface, DestroyFunc, e
|
|||||||
cancel()
|
cancel()
|
||||||
client.Close()
|
client.Close()
|
||||||
}
|
}
|
||||||
if c.Quorum {
|
transformer := c.Transformer
|
||||||
return etcd3.New(client, c.Codec, c.Prefix, value.IdentityTransformer), destroyFunc, nil
|
if transformer == nil {
|
||||||
|
transformer = value.IdentityTransformer
|
||||||
}
|
}
|
||||||
return etcd3.NewWithNoQuorumRead(client, c.Codec, c.Prefix, value.IdentityTransformer), destroyFunc, nil
|
if c.Quorum {
|
||||||
|
return etcd3.New(client, c.Codec, c.Prefix, transformer), destroyFunc, nil
|
||||||
|
}
|
||||||
|
return etcd3.NewWithNoQuorumRead(client, c.Codec, c.Prefix, transformer), destroyFunc, nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user