Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Configuration ¶
type Configuration struct {
// Path to the FreeRadius binary
Binary string `yaml:"binary"`
// Launch Freeradius in debug mode (-X)
BinaryDebug bool `yaml:"debug"`
// Write Freeradius std{out,err} to this file
BinaryLog string `yaml:"log_file"`
// Make Freeradius listen on this interface
Interface string `yaml:"interface"`
InterfaceNet string `yaml:"-"`
InterfaceIP string `yaml:"-"`
// Make Freeradius listen on this port
Port uint32 `yaml:"port" default:"1812"`
// Base directory for configuration files
RunDirectory string `yaml:"run_directory"`
CleanOnStop bool `yaml:"clean_on_stop"`
StayRoot bool `yaml:"stay_root"`
// Freeradius secret
Secret string `yaml:"secret"`
CA string `yaml:"ca"`
EnableAutoChain bool `yaml:"enable_auto_chain"`
NoBundle bool `yaml:"no_bundle"`
Certificate string `yaml:"certificate"`
Key string `yaml:"key"`
ApiToken string
ApiHost string
ApiPort uint32
EnableAdmin bool `yaml:"enable_admin"`
ClientNet string `yaml:"client_net" validate:"isdefault|cidrv4"`
// radiusd.conf tuning
// MaxRequestTime The maximum time (in seconds) to handle a request (5 to 120).
MaxRequestTime uint8 `yaml:"max_request_time" default:"30"`
// CleanupDelayThe time to wait (in seconds) before cleaning up (2 to 10)
CleanupDelay uint8 `yaml:"cleanup_delay" default:"5"`
// MaxRequests: The maximum number of requests which the server keeps
// track of. This should be 256 multiplied by the number of clients.
// (min 256)
MaxRequests uint64 `yaml:"max_requests" default:"16384"`
LogAuth bool `yaml:"log_auth"`
// StartServers: Number of servers to start initially
StartServers uint16 `yaml:"start_servers" default:"5"`
// MaxServers: Limit on the total number of servers running.
MaxServers uint16 `yaml:"max_servers" default:"32"`
// Server-pool size regulation
MinSpareServers uint16 `yaml:"min_spare_servers" default:"3"`
MaxSpareServers uint16 `yaml:"max_spare_servers" default:"10"`
MaxQueueSize uint32 `yaml:"max_queue_size" default:"65536"`
}
Configuration holds the parameters needed to manage a dedicated Freeradius daemon
func (*Configuration) Check ¶
func (c *Configuration) Check() error
type Freeradius ¶
type Freeradius struct {
// contains filtered or unexported fields
}
func New ¶
func New(logger *log.Entry, config *Configuration) (*Freeradius, error)
func (*Freeradius) Configure ¶
func (f *Freeradius) Configure() error
func (*Freeradius) Start ¶
func (f *Freeradius) Start() error
func (*Freeradius) Stop ¶
func (f *Freeradius) Stop() error
type TemplatesConfiguration ¶
type TemplatesConfiguration struct {
RadiusConfDir string
RadiusLibDir string
RadiusPrivateKey string
RadiusCertificateBundle string
RadiusCertificateAuthority string
RadiusAutoChain string
RadiusDHParam string
RadiusSecret string
ApiServer string
ApiToken string
ApiAuthorizePath string
ApiDynamicPath string
FreeradiusChangeUser bool
FreeRadiusUser string
FreeRadiusGroup string
ListenAddress string
ListenPort uint32
ClientNet string
PrefixDirectory string
MaxRequestTime uint8
CleanupDelay uint8
MaxRequests uint64
LogAuth string
StartServers uint16
MaxServers uint16
MinSpareServers uint16
MaxSpareServers uint16
MaxQueueSize uint32
}
Click to show internal directories.
Click to hide internal directories.