1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
package commands
import (
"os"
"github.com/kardianos/service"
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
service_helpers "gitlab.com/gitlab-org/gitlab-runner/helpers/service"
)
func setupOSServiceConfig(c *cli.Context, config *service.Config) {
if os.Getuid() != 0 {
logrus.Fatal("The --user is not supported for non-root users")
}
user := c.String("user")
if user != "" {
config.Arguments = append(config.Arguments, "--user", user)
}
switch service.Platform() {
case "linux-systemd":
config.Dependencies = []string{
"After=syslog.target network.target",
}
config.Option = service.KeyValue{
"Restart": "always",
}
case "unix-systemv":
script := service_helpers.SysvScript()
if script != "" {
config.Option = service.KeyValue{
"SysvScript": script,
}
}
}
}
|