Skip to content

Latest commit

 

History

History
25 lines (24 loc) · 749 Bytes

backends.md

File metadata and controls

25 lines (24 loc) · 749 Bytes

Contributing Backends

As you can see by either the Consul or etcd source files, writing a new registry backend is easy. Just follow the example set by those two. It boils down to writing an object that implements this interface:

	type RegistryAdapter interface {
		Ping() error
		Register(service *Service) error
		Deregister(service *Service) error
		Refresh(service *Service) error
	}

The Service struct looks like this:

type Service struct {
	ID    string
	Name  string
	Port  int
	IP    string
	Tags  []string
	Attrs map[string]string
	TTL   int
	...
}

Then add a factory which accepts a uri and returns the registry adapter, and register that factory with the bridge like bridge.Register(new(Factory), "<backend_name>").