Read enabled services file during runtime

This commit is contained in:
2025-11-09 11:28:51 +02:00
parent 70ef610ce6
commit dea5760d75
2 changed files with 12 additions and 11 deletions
+1 -1
View File
@@ -199,7 +199,7 @@ func Init() {
}
// Read enabled services
ReadEnabledServices()
EnabledServices := ReadEnabledServices()
// Start enabled services
stages := slices.Collect(maps.Keys(EnabledServices))
+11 -10
View File
@@ -60,7 +60,6 @@ type EnitService struct {
}
var Services = make([]*EnitService, 0)
var EnabledServices = make(map[int][]string)
var startedServicesOrder = make([]string, 0)
func (service *EnitService) GetUnmetDependencies() (missingDependencies []string) {
@@ -446,10 +445,8 @@ func (service *EnitService) RestartService() error {
return nil
}
// Functions will be rewritten at some point to allow enabling unloaded services
func (service *EnitService) isEnabled() (bool, int) {
for stage, services := range EnabledServices {
for stage, services := range ReadEnabledServices() {
if slices.Contains(services, service.Name) {
return true, stage
}
@@ -467,6 +464,8 @@ func (service *EnitService) SetEnabled(stage int) error {
return nil
}
EnabledServices := ReadEnabledServices()
// Remove service from current stage
EnabledServices[s] = slices.DeleteFunc(EnabledServices[s], func(name string) bool {
return name == service.Name
@@ -493,10 +492,12 @@ func (service *EnitService) SetEnabled(stage int) error {
return nil
}
func ReadEnabledServices() error {
func ReadEnabledServices() (EnabledServices map[int][]string) {
EnabledServices = make(map[int][]string)
data, err := os.ReadFile(path.Join(serviceConfigDir, "enabled_services"))
if err != nil {
return err
return EnabledServices
}
err = yaml.Unmarshal(data, &EnabledServices)
@@ -509,15 +510,15 @@ func ReadEnabledServices() error {
// Update enabled_services file
data, err := yaml.Marshal(EnabledServices)
if err != nil {
return err
return EnabledServices
}
err = os.WriteFile(path.Join(serviceConfigDir, "enabled_services"), data, 0644)
if err != nil {
return err
return EnabledServices
}
return nil
return EnabledServices
}
return nil
return EnabledServices
}