windows fixes, mkdir fixes, json cleanup
This commit is contained in:
		
							parent
							
								
									9ca2168113
								
							
						
					
					
						commit
						196fdee7ac
					
				| @ -108,7 +108,7 @@ func installServiceman(c *service.Service) ([]string, error) { | ||||
| 	// TODO support service level services (which probably wouldn't need serviceman) | ||||
| 	smdir = filepath.Join(c.Home, ".local", smdir) | ||||
| 	// for now we'll scope the runner to the name of the application | ||||
| 	smbin := filepath.Join(smdir, `bin\serviceman.%s`, c.Name) | ||||
| 	smbin := filepath.Join(smdir, `bin\serviceman.`+c.Name) | ||||
| 
 | ||||
| 	if smbin != self { | ||||
| 		err := os.MkdirAll(filepath.Dir(smbin), 0755) | ||||
| @ -130,8 +130,13 @@ func installServiceman(c *service.Service) ([]string, error) { | ||||
| 		// this should be impossible, so we'll just panic | ||||
| 		panic(err) | ||||
| 	} | ||||
| 	confpath := filepath.Join(smdir, `etc`, c.Name+`.json`) | ||||
| 	err = ioutil.WriteFile(confpath, b, 0640) | ||||
| 	confpath := filepath.Join(smdir, `etc`) | ||||
| 	err = os.MkdirAll(confpath, 0755) | ||||
| 	if nil != err { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	conffile := filepath.Join(confpath, c.Name+`.json`) | ||||
| 	err = ioutil.WriteFile(conffile, b, 0640) | ||||
| 	if nil != err { | ||||
| 		return nil, err | ||||
| 	} | ||||
| @ -140,7 +145,7 @@ func installServiceman(c *service.Service) ([]string, error) { | ||||
| 		smbin, | ||||
| 		"run", | ||||
| 		"--config", | ||||
| 		confpath, | ||||
| 		conffile, | ||||
| 	}, nil | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -49,26 +49,26 @@ import ( | ||||
| // These are documented as omitted from JSON. | ||||
| // Try to stick to what's outlined above. | ||||
| type Service struct { | ||||
| 	Title               string            `json:"title"` | ||||
| 	Title               string            `json:"title,omitempty"` | ||||
| 	Name                string            `json:"name"` | ||||
| 	Desc                string            `json:"desc"` | ||||
| 	URL                 string            `json:"url"` | ||||
| 	Desc                string            `json:"desc,omitempty"` | ||||
| 	URL                 string            `json:"url,omitempty"` | ||||
| 	ReverseDNS          string            `json:"reverse_dns"`           // i.e. com.example.foo-app | ||||
| 	Interpreter         string            `json:"interpreter"` // i.e. node, python | ||||
| 	Interpreter         string            `json:"interpreter,omitempty"` // i.e. node, python | ||||
| 	Exec                string            `json:"exec"` | ||||
| 	Argv                []string          `json:"argv"` | ||||
| 	Workdir             string            `json:"workdir"` | ||||
| 	Envs                map[string]string `json:"envs"` | ||||
| 	User                string            `json:"user"` | ||||
| 	Group               string            `json:"group"` | ||||
| 	Argv                []string          `json:"argv,omitempty"` | ||||
| 	Workdir             string            `json:"workdir,omitempty"` | ||||
| 	Envs                map[string]string `json:"envs,omitempty"` | ||||
| 	User                string            `json:"user,omitempty"` | ||||
| 	Group               string            `json:"group,omitempty"` | ||||
| 	Home                string            `json:"-"` | ||||
| 	Local               string            `json:"-"` | ||||
| 	Logdir              string            `json:"logdir"` | ||||
| 	System              bool              `json:"system"` | ||||
| 	Restart             bool              `json:"restart"` | ||||
| 	Production          bool              `json:"production"` | ||||
| 	PrivilegedPorts     bool              `json:"privileged_ports"` | ||||
| 	MultiuserProtection bool              `json:"multiuser_protection"` | ||||
| 	Production          bool              `json:"production,omitempty"` | ||||
| 	PrivilegedPorts     bool              `json:"privileged_ports,omitempty"` | ||||
| 	MultiuserProtection bool              `json:"multiuser_protection,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (s *Service) Normalize(force bool) { | ||||
|  | ||||
| @ -123,7 +123,7 @@ func install() { | ||||
| 
 | ||||
| 	conf.Normalize(force) | ||||
| 
 | ||||
| 	fmt.Printf("\n%#v\n\n", conf) | ||||
| 	//fmt.Printf("\n%#v\n\n", conf) | ||||
| 
 | ||||
| 	err = installer.Install(conf) | ||||
| 	if nil != err { | ||||
| @ -179,6 +179,12 @@ func run() { | ||||
| 
 | ||||
| 	s.Normalize(false) | ||||
| 	fmt.Fprintf(os.Stdout, "Logdir: %s\n", s.Logdir) | ||||
| 	err = os.MkdirAll(s.Logdir, 0755) | ||||
| 	if nil != err { | ||||
| 		fmt.Fprintf(os.Stderr, "%s\n", err) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	if !daemonize { | ||||
| 		fmt.Fprintf(os.Stdout, "Running %s %s %s\n", s.Interpreter, s.Exec, strings.Join(s.Argv, " ")) | ||||
| 		runner.Run(s) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user