1
0
mirror of https://github.com/rancher/rke.git synced 2025-04-27 11:21:08 +00:00
rke/hosts/dind.go
2018-07-10 15:51:17 -07:00

42 lines
830 B
Go

package hosts
import (
"fmt"
"net"
"strconv"
)
const (
DINDPort = "2375"
)
type dindDialer struct {
Address string
Port string
Network string
}
func DindConnFactory(h *Host) (func(network, address string) (net.Conn, error), error) {
newDindDialer := &dindDialer{
Address: h.Address,
Port: DINDPort,
}
return newDindDialer.Dial, nil
}
func DindHealthcheckConnFactory(h *Host) (func(network, address string) (net.Conn, error), error) {
newDindDialer := &dindDialer{
Address: h.Address,
Port: strconv.Itoa(h.LocalConnPort),
}
return newDindDialer.Dial, nil
}
func (d *dindDialer) Dial(network, addr string) (net.Conn, error) {
conn, err := net.Dial(network, d.Address+":"+d.Port)
if err != nil {
return nil, fmt.Errorf("Failed to dial dind address [%s]: %v", addr, err)
}
return conn, err
}