Files
go-worm/lib/config/ports.go
T

42 lines
761 B
Go
Raw Normal View History

package config
import (
"net"
"path/filepath"
"strconv"
)
const (
PortPrimary = 5032
PortAlternate = 5033
UpdatesSubdir = "updates"
)
// AlternateListenAddr returns the other blue-green port (5032 <-> 5033).
func AlternateListenAddr(current string) (string, error) {
host, portStr, err := net.SplitHostPort(current)
if err != nil {
return "", err
}
if host == "" {
host = "0.0.0.0"
}
port, err := strconv.Atoi(portStr)
if err != nil {
return "", err
}
next := PortAlternate
if port == PortAlternate {
next = PortPrimary
}
return net.JoinHostPort(host, strconv.Itoa(next)), nil
}
func UpdatesDir() (string, error) {
base, err := InstallDir()
if err != nil {
return "", err
}
return filepath.Join(base, UpdatesSubdir), nil
}