@@ -10,6 +10,7 @@ import (
1010 "github.com/google/go-containerregistry/pkg/name"
1111 templatesv1 "github.com/weaveworks/gitopssets-controller/api/v1alpha1"
1212 "github.com/weaveworks/gitopssets-controller/controllers/templates/generators"
13+ "k8s.io/apimachinery/pkg/types"
1314 "sigs.k8s.io/controller-runtime/pkg/client"
1415)
1516
@@ -45,34 +46,38 @@ func (g *ImagePolicyGenerator) Generate(ctx context.Context, sg *templatesv1.Git
4546 return nil , nil
4647 }
4748
48- g .Logger .Info ("generating params from ImagePolicy generator" , "repo " , sg .ImagePolicy .PolicyRef )
49+ g .Logger .Info ("generating params from ImagePolicy generator" , "imagePolicy " , sg .ImagePolicy .PolicyRef )
4950
50- var repo imagev1.ImagePolicy
51- repoName := client.ObjectKey {Name : sg .ImagePolicy .PolicyRef , Namespace : ks .GetNamespace ()}
52- if err := g .Client .Get (ctx , repoName , & repo ); err != nil {
51+ var imagePolicy imagev1.ImagePolicy
52+ imagePolicyName := client.ObjectKey {Name : sg .ImagePolicy .PolicyRef , Namespace : ks .GetNamespace ()}
53+ if err := g .Client .Get (ctx , imagePolicyName , & imagePolicy ); err != nil {
5354 return nil , fmt .Errorf ("could not load ImagePolicy: %w" , err )
5455 }
5556
5657 result := []map [string ]any {}
5758
58- if repo .Status .LatestImage == "" {
59+ if imagePolicy .Status .LatestImage == "" {
5960 g .Logger .Info ("image policy has not calculated the latest image" )
60- return result , nil
61+ return nil , generators .ArtifactError ("ImagePolicy" ,
62+ types.NamespacedName {
63+ Name : imagePolicy .GetName (),
64+ Namespace : imagePolicy .GetNamespace (),
65+ })
6166 }
6267
63- latestTag , err := name .NewTag (repo .Status .LatestImage )
68+ latestTag , err := name .NewTag (imagePolicy .Status .LatestImage )
6469 if err != nil {
6570 return nil , err
6671 }
6772
68- g .Logger .Info ("image policy" , "latestImage" , repo .Status .LatestImage , "latestTag" , latestTag .TagStr (), "previousImage" , repo .Status .ObservedPreviousImage )
73+ g .Logger .Info ("image policy" , "latestImage" , imagePolicy .Status .LatestImage , "latestTag" , latestTag .TagStr (), "previousImage" , imagePolicy .Status .ObservedPreviousImage )
6974
7075 // This stores empty strings the for the previous tag if it's empty because
7176 // that saves users having to check for the existence of the fields in their
7277 // templates.
7378 previousTag := ""
74- if repo .Status .ObservedPreviousImage != "" {
75- parsedTag , err := name .NewTag (repo .Status .ObservedPreviousImage )
79+ if imagePolicy .Status .ObservedPreviousImage != "" {
80+ parsedTag , err := name .NewTag (imagePolicy .Status .ObservedPreviousImage )
7681 if err != nil {
7782 return nil , err
7883 }
@@ -81,10 +86,10 @@ func (g *ImagePolicyGenerator) Generate(ctx context.Context, sg *templatesv1.Git
8186 }
8287
8388 generated := map [string ]any {
84- "latestImage" : repo .Status .LatestImage ,
89+ "latestImage" : imagePolicy .Status .LatestImage ,
8590 "image" : latestTag .Repository .Name (),
8691 "latestTag" : latestTag .TagStr (),
87- "previousImage" : repo .Status .ObservedPreviousImage ,
92+ "previousImage" : imagePolicy .Status .ObservedPreviousImage ,
8893 "previousTag" : previousTag ,
8994 }
9095
0 commit comments