Skip to content

Commit

Permalink
allow providing list of services not to start
Browse files Browse the repository at this point in the history
Signed-off-by: jkoberg <jkoberg@owncloud.com>
  • Loading branch information
kobergj committed Jul 21, 2022
1 parent 346b538 commit 4b8d1ac
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 3 deletions.
7 changes: 7 additions & 0 deletions changelog/unreleased/exclude-services-option.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Enhancement: Allow providing list of services NOT to start

Until now if one wanted to use a custom version of a service, one
needed to provide `OCIS_RUN_SERVICES` which is a list of all services to start.
Now one can provide `OCIS_EXCLUDE_RUN_SERVICES` which is a list of only services not to start

https://github.com/owncloud/ocis/pull/4254
3 changes: 2 additions & 1 deletion ocis-pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ type Mode int
type Runtime struct {
Port string `yaml:"port" env:"OCIS_RUNTIME_PORT"`
Host string `yaml:"host" env:"OCIS_RUNTIME_HOST"`
Extensions string `yaml:"services" env:"OCIS_RUN_EXTENSIONS;OCIS_RUN_SERVICES"`
Extensions string `yaml:"services" env:"OCIS_RUN_EXTENSIONS;OCIS_RUN_SERVICES" desc:"Expects a space seperated list of service names. Will start only the listed services."`
Disabled string `yaml:"disabled_services" env:"OCIS_EXCLUDE_RUN_SERVICES" desc:"Expects a space seperated list of service names. Will start all services except of the ones listed. Has no effect when OCIS_RUN_SERVICES is set."`
}

// Config combines all available configuration parts.
Expand Down
16 changes: 14 additions & 2 deletions ocis/pkg/runtime/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -248,12 +248,24 @@ func (s *Service) generateRunSet(cfg *ociscfg.Config) {
return
}

disabled := make(map[string]bool)
if cfg.Runtime.Disabled != "" {
e := strings.Split(strings.ReplaceAll(cfg.Runtime.Disabled, " ", ""), ",")
for _, s := range e {
disabled[s] = true
}
}

for name := range s.ServicesRegistry {
runset = append(runset, name)
if !disabled[name] {
runset = append(runset, name)
}
}

for name := range s.Delayed {
runset = append(runset, name)
if !disabled[name] {
runset = append(runset, name)
}
}
}

Expand Down

0 comments on commit 4b8d1ac

Please sign in to comment.