Files
gluetun/internal/settings/system.go

43 lines
953 B
Go
Raw Normal View History

2020-03-30 07:58:40 -04:00
package settings
import (
"fmt"
"strings"
2020-07-26 12:07:06 +00:00
"github.com/qdm12/gluetun/internal/params"
2020-03-30 07:58:40 -04:00
)
2020-10-20 02:45:28 +00:00
// System contains settings to configure system related elements.
2020-03-30 07:58:40 -04:00
type System struct {
2020-12-29 16:44:35 +00:00
PUID int
PGID int
2020-12-28 01:51:55 +00:00
Timezone string
2020-03-30 07:58:40 -04:00
}
2020-10-20 02:45:28 +00:00
// GetSystemSettings obtains the System settings using the params functions.
func GetSystemSettings(paramsReader params.Reader) (settings System, err error) {
2020-12-29 16:44:35 +00:00
settings.PUID, err = paramsReader.GetPUID()
2020-03-30 07:58:40 -04:00
if err != nil {
return settings, err
}
2020-12-29 16:44:35 +00:00
settings.PGID, err = paramsReader.GetPGID()
2020-03-30 07:58:40 -04:00
if err != nil {
return settings, err
}
settings.Timezone, err = paramsReader.GetTimezone()
2020-03-30 07:58:40 -04:00
if err != nil {
return settings, err
}
return settings, nil
}
func (s *System) String() string {
settingsList := []string{
"System settings:",
2020-12-29 16:44:35 +00:00
fmt.Sprintf("Process user ID: %d", s.PUID),
fmt.Sprintf("Process group ID: %d", s.PGID),
2020-03-30 07:58:40 -04:00
fmt.Sprintf("Timezone: %s", s.Timezone),
}
return strings.Join(settingsList, "\n|--")
}