startup.go 735 B

1234567891011121314151617181920212223242526272829303132
  1. package onstartup
  2. import (
  3. "github.com/OliveTin/OliveTin/internal/acl"
  4. config "github.com/OliveTin/OliveTin/internal/config"
  5. "github.com/OliveTin/OliveTin/internal/executor"
  6. log "github.com/sirupsen/logrus"
  7. )
  8. func Execute(cfg *config.Config, ex *executor.Executor) {
  9. user := &acl.AuthenticatedUser{
  10. Username: "startup-user",
  11. }
  12. for _, action := range cfg.Actions {
  13. if action.ExecOnStartup {
  14. log.WithFields(log.Fields{
  15. "action": action.Title,
  16. }).Infof("Startup action")
  17. req := &executor.ExecutionRequest{
  18. ActionName: action.Title,
  19. Arguments: nil,
  20. Cfg: cfg,
  21. Tags: []string{"startup"},
  22. AuthenticatedUser: user,
  23. }
  24. ex.ExecRequest(req)
  25. }
  26. }
  27. }