small pixel drawing of a pufferfish cascade

agent/config.go

package agent

import (
	"net"
	"os"
)

const (
	DefaultAPIPort  int = 8500
	DefaultDNSPort  int = 8600
	DefaultSerfPort int = 8301
)

func DefaultConfig() *Config {
	hostname, err := os.Hostname()
	if err != nil {
		panic(err)
	}

	// TODO: figure out how to default the listeners
	cfg := Config{}
	cfg.APIBindAddr = &net.TCPAddr{IP: net.ParseIP("127.0.0.1"), Port: DefaultAPIPort}
	cfg.DNSBindAddr = &net.TCPAddr{IP: net.ParseIP("127.0.0.1"), Port: DefaultDNSPort}
	cfg.SerfBindAddr = &net.TCPAddr{IP: net.ParseIP("0.0.0.0"), Port: DefaultSerfPort}
	cfg.NodeName = hostname

	return &cfg
}

type Config struct {
	APIBindAddr  *net.TCPAddr
	DNSBindAddr  *net.TCPAddr
	SerfBindAddr *net.TCPAddr
	NodeName     string
	StartJoin    []string
}