mirror of
https://github.com/openziti/zrok.git
synced 2025-06-08 02:48:47 +02:00
adjust proxy to retrieve configs (#12)
This commit is contained in:
parent
01ffe50889
commit
83ffb025e5
@ -25,6 +25,7 @@ func Run(cfg *Config) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "error loading config")
|
return errors.Wrap(err, "error loading config")
|
||||||
}
|
}
|
||||||
|
zCfg.ConfigTypes = []string{"zrok.auth.v1"}
|
||||||
zCtx := ziti.NewContextWithConfig(zCfg)
|
zCtx := ziti.NewContextWithConfig(zCfg)
|
||||||
zDialCtx := ZitiDialContext{Context: zCtx}
|
zDialCtx := ZitiDialContext{Context: zCtx}
|
||||||
zTransport := http.DefaultTransport.(*http.Transport).Clone()
|
zTransport := http.DefaultTransport.(*http.Transport).Clone()
|
||||||
@ -54,15 +55,20 @@ type ZitiDialContext struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (self *ZitiDialContext) Dial(_ context.Context, _ string, addr string) (net.Conn, error) {
|
func (self *ZitiDialContext) Dial(_ context.Context, _ string, addr string) (net.Conn, error) {
|
||||||
service := strings.Split(addr, ":")[0] // ignore :port (we get passed 'host:port')
|
svcName := strings.Split(addr, ":")[0] // ignore :port (we get passed 'host:port')
|
||||||
_, found := self.Context.GetService(service)
|
svc, found := self.Context.GetService(svcName)
|
||||||
if !found {
|
if !found {
|
||||||
logrus.Infof("service '%v' not cached; refreshing", service)
|
logrus.Infof("service '%v' not cached; refreshing", svcName)
|
||||||
if err := self.Context.RefreshServices(); err != nil {
|
if err := self.Context.RefreshServices(); err != nil {
|
||||||
return nil, errors.Wrap(err, "error refreshing services")
|
return nil, errors.Wrap(err, "error refreshing services")
|
||||||
}
|
}
|
||||||
|
svc, found = self.Context.GetService(svcName)
|
||||||
|
if !found {
|
||||||
|
return nil, errors.Errorf("no such service '%v'", svcName)
|
||||||
}
|
}
|
||||||
return self.Context.Dial(service)
|
}
|
||||||
|
logrus.Info(svc.Configs)
|
||||||
|
return self.Context.Dial(svcName)
|
||||||
}
|
}
|
||||||
|
|
||||||
type ProxyServiceResolver interface {
|
type ProxyServiceResolver interface {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user