...

Source file src/sigs.k8s.io/kustomize/api/internal/builtins/HashTransformer.go

Documentation: sigs.k8s.io/kustomize/api/internal/builtins

     1  // Code generated by pluginator on HashTransformer; DO NOT EDIT.
     2  // pluginator {(devel)  unknown   }
     3  
     4  package builtins
     5  
     6  import (
     7  	"fmt"
     8  
     9  	"sigs.k8s.io/kustomize/api/ifc"
    10  	"sigs.k8s.io/kustomize/api/resmap"
    11  )
    12  
    13  type HashTransformerPlugin struct {
    14  	hasher ifc.KustHasher
    15  }
    16  
    17  func (p *HashTransformerPlugin) Config(
    18  	h *resmap.PluginHelpers, _ []byte) (err error) {
    19  	p.hasher = h.ResmapFactory().RF().Hasher()
    20  	return nil
    21  }
    22  
    23  // Transform appends hash to generated resources.
    24  func (p *HashTransformerPlugin) Transform(m resmap.ResMap) error {
    25  	for _, res := range m.Resources() {
    26  		if res.NeedHashSuffix() {
    27  			h, err := res.Hash(p.hasher)
    28  			if err != nil {
    29  				return err
    30  			}
    31  			res.StorePreviousId()
    32  			res.SetName(fmt.Sprintf("%s-%s", res.GetName(), h))
    33  		}
    34  	}
    35  	return nil
    36  }
    37  
    38  func NewHashTransformerPlugin() resmap.TransformerPlugin {
    39  	return &HashTransformerPlugin{}
    40  }
    41  

View as plain text