in images/controller/cmd/image_finder/image_finder.go [29:67]
func main() {
log.Printf("Starting image tag discovery service")
for {
// Fetch all user app configs
userConfigs, err := broker.FetchAppUserConfigs()
if err != nil {
log.Fatalf("failed to fetch user app configs: %v", err)
}
// Get service account name from metadata server
sa, err := broker.GetServiceAccountFromMetadataServer()
if err != nil {
log.Fatalf("failed to get service account name from metadata server: %v", err)
}
// Get access token from metadata server
token, err := broker.GetServiceAccountTokenFromMetadataServer(sa)
if err != nil {
log.Fatalf("failed to get token from metadata server: %v", err)
}
// Discover image tags in parallel for all app specs.
for i := range userConfigs {
destDir := path.Join(broker.AppUserConfigBaseDir, userConfigs[i].Spec.AppName, userConfigs[i].Spec.User)
err = os.MkdirAll(destDir, os.ModePerm)
if err != nil {
log.Fatalf("failed to create directory: %v", err)
}
// Fetch in go routine.
go getImageTags(userConfigs[i], destDir, token)
}
time.Sleep(10 * time.Second)
}
}