@@ -60,14 +60,15 @@ type KustomizationOptions struct {
6060}
6161
6262type RenderContext struct {
63- LocalClient client.Client
64- Client client.Client
65- DiscoveryClient discovery.DiscoveryInterface
66- Component component.Component
67- ComponentDigest string
68- Namespace string
69- Name string
70- Parameters map [string ]any
63+ LocalClient client.Client
64+ Client client.Client
65+ DiscoveryClient discovery.DiscoveryInterface
66+ Component component.Component
67+ ComponentDigest string
68+ ComponentRevision int64
69+ Namespace string
70+ Name string
71+ Parameters map [string ]any
7172}
7273
7374type Kustomization struct {
@@ -178,7 +179,7 @@ func parseKustomization(fsys fs.FS, kustomizationPath string, options Kustomizat
178179 Funcs (templatex .FuncMapForTemplate (nil )).
179180 Funcs (templatex .FuncMapForLocalClient (nil )).
180181 Funcs (templatex .FuncMapForClient (nil )).
181- Funcs (funcMapForContext (nil , nil , nil , nil , "" , "" , "" ))
182+ Funcs (funcMapForContext (nil , nil , nil , nil , "" , 0 , "" , "" ))
182183 } else {
183184 t = t .New (name )
184185 }
@@ -290,7 +291,7 @@ func (k *Kustomization) Render(context RenderContext, fsys kustfsys.FileSystem)
290291 Funcs (templatex .FuncMapForTemplate (t0 )).
291292 Funcs (templatex .FuncMapForLocalClient (context .LocalClient )).
292293 Funcs (templatex .FuncMapForClient (context .Client )).
293- Funcs (funcMapForContext (k .files , serverVersion , serverGroupsWithResources , context .Component , context .ComponentDigest , context .Namespace , context .Name ))
294+ Funcs (funcMapForContext (k .files , serverVersion , serverGroupsWithResources , context .Component , context .ComponentDigest , context .ComponentRevision , context . Namespace , context .Name ))
294295 }
295296 var buf bytes.Buffer
296297 // TODO: templates (accidentally or intentionally) could modify data, or even some of the objects supplied through builtin functions;
@@ -330,7 +331,7 @@ func (k *Kustomization) Render(context RenderContext, fsys kustfsys.FileSystem)
330331 return nil
331332}
332333
333- func funcMapForContext (files map [string ][]byte , serverInfo * version.Info , serverGroupsWithResources []* metav1.APIResourceList , component component.Component , componentDigest string , namespace string , name string ) template.FuncMap {
334+ func funcMapForContext (files map [string ][]byte , serverInfo * version.Info , serverGroupsWithResources []* metav1.APIResourceList , component component.Component , componentDigest string , componentRevision int64 , namespace string , name string ) template.FuncMap {
334335 return template.FuncMap {
335336 // TODO: maybe it would it be better to convert component to unstructured;
336337 // then calling methods would no longer be possible, and attributes would be in lowercase
@@ -339,6 +340,7 @@ func funcMapForContext(files map[string][]byte, serverInfo *version.Info, server
339340 "readFile" : makeFuncReadFile (files ),
340341 "component" : makeFuncData (component ),
341342 "componentDigest" : func () string { return componentDigest },
343+ "componentRevision" : func () int64 { return componentRevision },
342344 "namespace" : func () string { return namespace },
343345 "name" : func () string { return name },
344346 "kubernetesVersion" : func () * version.Info { return serverInfo },
0 commit comments