MCPcopy Index your code
hub / github.com/devspace-sh/devspace / NewManager

Function NewManager

pkg/devspace/services/ssh/port.go:32–62  ·  view source on GitHub ↗
(log log.Logger)

Source from the content-addressed store, hash-verified

30}
31
32func NewManager(log log.Logger) PortManager {
33 homeDir, err := homedir.Dir()
34 if err != nil {
35 log.Errorf("%v", errors.Wrap(err, "get home dir"))
36 }
37
38 sshConfigPath := filepath.Join(homeDir, ".ssh", "config")
39 hosts, err := ParseDevSpaceHosts(sshConfigPath)
40 if err != nil {
41 log.Errorf("error parsing %s: %v", sshConfigPath, err)
42 }
43 reservedPorts := map[int]bool{}
44 for _, h := range hosts {
45 reservedPorts[h.Port] = true
46 }
47 sshConfigPath = filepath.Join(homeDir, ".ssh", "devspace_config")
48 hosts, err = ParseDevSpaceHosts(sshConfigPath)
49 if err != nil {
50 log.Errorf("error parsing %s: %v", sshConfigPath, err)
51 }
52 for _, h := range hosts {
53 reservedPorts[h.Port] = true
54 }
55
56 return &manager{
57 reservedPorts: reservedPorts,
58 portRangeStart: 10000,
59 portRangeEnd: 12000,
60 portMap: map[int]bool{},
61 }
62}
63
64type manager struct {
65 m sync.Mutex

Callers 1

GetInstanceFunction · 0.70

Calls 2

ParseDevSpaceHostsFunction · 0.85
ErrorfMethod · 0.45

Tested by

no test coverage detected