1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| type etcdStore struct { client etcdclient.Client pathPrefix string keyFunc func(obj runtime.Object) (string, error) transformer Transformer }
func (s *etcdStore) Create(ctx context.Context, key string, obj runtime.Object) error { data, err := s.transformer.TransformToStorage(obj) if err != nil { return err }
key = path.Join(s.pathPrefix, key) _, err = s.client.Put(ctx, key, string(data)) return err }
func (s *etcdStore) Watch(ctx context.Context, prefix string, opts storage.ListOptions) (watch.Interface, error) { watchKey := path.Join(s.pathPrefix, prefix) watcher := s.client.Watch(ctx, watchKey, clientv3.WithPrefix())
return newEtcdWatcher(watcher, s.transformer), nil }
|