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