func main()

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)
	}
}