Watch scripts inside tap command

This commit is contained in:
M. Mert Yildiran 2023-03-07 20:21:28 +03:00
parent ca35177b44
commit cedb7bc8bc
No known key found for this signature in database
GPG Key ID: DA5D6DCBB758A461
3 changed files with 21 additions and 8 deletions

View File

@ -51,10 +51,14 @@ func runScripts() {
runProxy(false)
}
files := make(map[string]int64)
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort), connect.DefaultRetries, connect.DefaultTimeout)
watchScripts(true)
}
func watchScripts(block bool) {
files := make(map[string]int64)
scripts, err := config.Config.Scripting.GetScripts()
if err != nil {
log.Error().Err(err).Send()
@ -76,7 +80,9 @@ func runScripts() {
log.Error().Err(err).Send()
return
}
if block {
defer watcher.Close()
}
go func() {
for {
@ -138,7 +144,9 @@ func runScripts() {
log.Info().Str("directory", config.Config.Scripting.Source).Msg("Watching files against changes:")
if block {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
utils.WaitForTermination(ctx, cancel)
}
}

View File

@ -469,6 +469,10 @@ func postHubStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider
url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort)
log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, "Hub is available at:"))
}
if config.Config.Scripting.Source != "" && config.Config.Scripting.WatchScripts {
watchScripts(false)
}
}
func postFrontStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {

View File

@ -12,6 +12,7 @@ import (
type ScriptingConfig struct {
Env map[string]interface{} `yaml:"env"`
Source string `yaml:"source" default:""`
WatchScripts bool `yaml:"watchScripts" default:"true"`
}
func (config *ScriptingConfig) GetScripts() (scripts []*misc.Script, err error) {