mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-07-20 11:10:54 +00:00
Exit properly from scripts command (#1731)
* Fix scripts command exit * Switch to debug
This commit is contained in:
parent
dc50ef48fd
commit
3c13a8d96b
@ -123,7 +123,7 @@ func createScript(provider *kubernetes.Provider, script misc.ConfigMapScript) (i
|
|||||||
}
|
}
|
||||||
|
|
||||||
if k8serrors.IsConflict(err) {
|
if k8serrors.IsConflict(err) {
|
||||||
log.Warn().Err(err).Msg("Conflict detected, retrying update...")
|
log.Debug().Err(err).Msg("Conflict detected, retrying update...")
|
||||||
time.Sleep(500 * time.Millisecond)
|
time.Sleep(500 * time.Millisecond)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -332,23 +332,29 @@ func watchConfigMap(ctx context.Context, provider *kubernetes.Provider) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create a goroutine to process events
|
||||||
|
watcherClosed := make(chan struct{})
|
||||||
|
go func() {
|
||||||
|
defer close(watcherClosed)
|
||||||
for event := range watcher.ResultChan() {
|
for event := range watcher.ResultChan() {
|
||||||
select {
|
|
||||||
case <-ctx.Done():
|
|
||||||
log.Info().Msg("ConfigMap watcher loop exiting gracefully.")
|
|
||||||
watcher.Stop()
|
|
||||||
return
|
|
||||||
|
|
||||||
default:
|
|
||||||
if event.Type == watch.Added {
|
if event.Type == watch.Added {
|
||||||
log.Info().Msg("ConfigMap created or modified")
|
log.Info().Msg("ConfigMap created or modified")
|
||||||
runScriptsSync(provider)
|
runScriptsSync(provider)
|
||||||
} else if event.Type == watch.Deleted {
|
} else if event.Type == watch.Deleted {
|
||||||
log.Warn().Msg("ConfigMap deleted, waiting for recreation...")
|
log.Warn().Msg("ConfigMap deleted, waiting for recreation...")
|
||||||
watcher.Stop()
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
// Wait for either context cancellation or watcher completion
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
watcher.Stop()
|
||||||
|
log.Info().Msg("ConfigMap watcher stopping due to context cancellation")
|
||||||
|
return
|
||||||
|
case <-watcherClosed:
|
||||||
|
log.Info().Msg("Watcher closed, restarting...")
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(5 * time.Second)
|
time.Sleep(5 * time.Second)
|
||||||
|
Loading…
Reference in New Issue
Block a user