(filename string)
| 21 | ) |
| 22 | |
| 23 | func (sm *ServiceManager) LoadConfig(filename string) error { |
| 24 | data, err := os.ReadFile(filename) |
| 25 | if err != nil { |
| 26 | return fmt.Errorf("can't read services.yml file: %v", err) |
| 27 | } |
| 28 | |
| 29 | err = yaml.Unmarshal(data, &sm.Config) |
| 30 | if err != nil { |
| 31 | return fmt.Errorf("YAML parse error: %v", err) |
| 32 | } |
| 33 | |
| 34 | for _, service := range sm.Config.Services { |
| 35 | ramBytes := utils.ConvertStringToBytes(service.RAM) |
| 36 | |
| 37 | service.RAMBytes = ramBytes |
| 38 | |
| 39 | sm.Services[service.Title] = &ManagedService{ |
| 40 | Config: service, |
| 41 | Status: "stopped", |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | return nil |
| 46 | } |
| 47 | |
| 48 | func (sm *ServiceManager) GetServiceLogs(name string, lines int) ([]string, error) { |
| 49 | sm.Mu.RLock() |
no test coverage detected