45 lines
932 B
Go
45 lines
932 B
Go
package discovery_consul
|
|
|
|
import (
|
|
"reflect"
|
|
|
|
"github.com/eolinker/eosc"
|
|
)
|
|
|
|
func Register() {
|
|
eosc.DefaultProfessionDriverRegister.RegisterProfessionDriver("eolinker:goku:discovery_consul", NewFactory())
|
|
}
|
|
|
|
type factory struct {
|
|
profession string
|
|
name string
|
|
label string
|
|
desc string
|
|
params map[string]string
|
|
}
|
|
|
|
func NewFactory() *factory {
|
|
return &factory{}
|
|
}
|
|
|
|
func (f *factory) ExtendInfo() eosc.ExtendInfo {
|
|
return eosc.ExtendInfo{
|
|
ID: "eolinker:goku:discovery_consul",
|
|
Group: "eolinker",
|
|
Project: "goku",
|
|
Name: "consul",
|
|
}
|
|
}
|
|
|
|
func (f *factory) Create(profession string, name string, label string, desc string, params map[string]string) (eosc.IProfessionDriver, error) {
|
|
return &driver{
|
|
profession: profession,
|
|
name: name,
|
|
label: label,
|
|
desc: desc,
|
|
driver: driverName,
|
|
configType: reflect.TypeOf((*Config)(nil)),
|
|
params: params,
|
|
}, nil
|
|
}
|