Skip to content

Commit

Permalink
Do initial fetch on startup
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Jansen authored and Chris Jansen committed Sep 27, 2022
1 parent 8565c40 commit d2a185f
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions chart-version-monitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ func main() {

repositoriesToCheckForUpdates := make(chan *RepositoryContents)
versionsToReport := make(chan Report)
startInfo := make(chan string, 3)
go checkRepositoriesForUpdates(repositoriesToCheckForUpdates, versionsToReport)
go reportNewVersions(config, versionsToReport)

Expand All @@ -127,20 +126,24 @@ func main() {
log.Fatalln("Invalid checkInterval. Must be a valid Golang duration string such as 10s, 1m10s or 1h20m30s")
}
ticker := time.NewTicker(interval)
startInfo <- fmt.Sprintf("%s :: %s", time.Now().Format("2006-01-02 15:04:05"), "Helmchart monitor started")
startInfo <- config.String()
go sendStartInfo(config)
go fetchAllRepositories(config, repositoriesToCheckForUpdates)
for {
select {
case s := <-startInfo:
if config.ReportStart {
sendMessageToSlack(config, Message{Text: s})
}
case <-ticker.C:
fetchAllRepositories(config, repositoriesToCheckForUpdates)
}
}
}

func sendStartInfo(config Config) {
if !config.ReportStart {
return
}
s := fmt.Sprintf("%s :: %s\n%s", time.Now().Format("2006-01-02 15:04:05"), "Helmchart monitor started", config)
sendMessageToSlack(config, Message{Text: s})
}

func fetchAllRepositories(config Config, repositoriesToCheckForUpdates chan *RepositoryContents) {
for _, repo := range config.Repositories {
repoContents, err := fetchRepositoryContents(repo)
Expand Down

0 comments on commit d2a185f

Please sign in to comment.