config

package
v0.0.0-...-c928be0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2014 License: GPL-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UNKNOWN = 0
	CHANGED = 1
	DELETED = 2
)
View Source
const STORE_VERBOSE_LEVEL = 6

Variables

View Source
var InvalidDirectoryErr = errors.New("Invalid directory specified")
View Source
var InvalidUrlErr = errors.New("Invalid URI error, please check backend url")

Functions

func Verbose

func Verbose(message string, args ...interface{})

Types

type Action

type Action int

type ConsulClient

type ConsulClient struct {
	/* the consul client */
	Client *consulapi.Client
	/* the write options for client */
	WriteOptions *consulapi.WriteOptions
}

func (*ConsulClient) Delete

func (r *ConsulClient) Delete(key string) error

func (*ConsulClient) Get

func (r *ConsulClient) Get(key string) (*Node, error)

func (*ConsulClient) GetNodeEvent

func (r *ConsulClient) GetNodeEvent(response *consulapi.KVPair) (event NodeChange)

func (*ConsulClient) List

func (r *ConsulClient) List(path string) ([]*Node, error)

func (*ConsulClient) Mkdir

func (r *ConsulClient) Mkdir(path string) error

func (*ConsulClient) RemovePath

func (r *ConsulClient) RemovePath(path string) error

func (*ConsulClient) Set

func (r *ConsulClient) Set(key string, value string) error

func (*ConsulClient) Watch

func (r *ConsulClient) Watch(key string, updateChannel chan NodeChange) (chan bool, error)

type EtcdStoreClient

type EtcdStoreClient struct {
	/* a list of etcd hosts */
	Hosts []string
	/* the etcd client - under the hood is http client which should be pooled i believe */
	Client *etcd.Client
}

func (*EtcdStoreClient) CreateNode

func (r *EtcdStoreClient) CreateNode(response *etcd.Node) *Node

func (*EtcdStoreClient) Delete

func (r *EtcdStoreClient) Delete(key string) error

func (*EtcdStoreClient) Get

func (r *EtcdStoreClient) Get(key string) (*Node, error)

func (*EtcdStoreClient) GetNodeEvent

func (r *EtcdStoreClient) GetNodeEvent(response *etcd.Response) (event NodeChange)

func (*EtcdStoreClient) GetRaw

func (r *EtcdStoreClient) GetRaw(key string) (response *etcd.Response, err error)

func (*EtcdStoreClient) List

func (r *EtcdStoreClient) List(path string) ([]*Node, error)

func (*EtcdStoreClient) Mkdir

func (r *EtcdStoreClient) Mkdir(path string) error

func (*EtcdStoreClient) RemovePath

func (r *EtcdStoreClient) RemovePath(path string) error

func (*EtcdStoreClient) Set

func (r *EtcdStoreClient) Set(key string, value string) error

func (*EtcdStoreClient) Watch

func (r *EtcdStoreClient) Watch(key string, updateChannel chan NodeChange) (chan bool, error)

type KVStore

type KVStore interface {
	/* retrieve a key from the store */
	Get(key string) (*Node, error)
	/* Get a list of all the nodes under the path */
	List(path string) ([]*Node, error)
	/* set a key in the store */
	Set(key string, value string) error
	/* delete a key from the store */
	Delete(key string) error
	/* recursively delete a path */
	RemovePath(path string) error
	/* Create a directory node */
	Mkdir(path string) error
	/* watch for changes on the key */
	Watch(key string, updateChannel chan NodeChange) (chan bool, error)
}

func NewConsulStoreClient

func NewConsulStoreClient(uri *url.URL) (KVStore, error)

func NewEtcdStoreClient

func NewEtcdStoreClient(uri *url.URL) (KVStore, error)

type Node

type Node struct {
	/* the path for this key */
	Path string
	/* the value of the key */
	Value string
	/* the type of node it is, directory or file */
	Directory bool
}

func (Node) IsDir

func (n Node) IsDir() bool

func (Node) IsFile

func (n Node) IsFile() bool

func (Node) String

func (n Node) String() string

type NodeChange

type NodeChange struct {
	/* The node in question */
	Node Node
	/* The event which has occurred */
	Operation Action
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL