// Copyright 2019 The Kubernetes Authors. // SPDX-License-Identifier: Apache-2.0 //go:generate pluginator package main import ( "fmt" "sigs.k8s.io/kustomize/api/ifc" "sigs.k8s.io/kustomize/api/resmap" ) type plugin struct { hasher ifc.KunstructuredHasher } //noinspection GoUnusedGlobalVariable var KustomizePlugin plugin func (p *plugin) Config( h *resmap.PluginHelpers, config []byte) (err error) { p.hasher = h.ResmapFactory().RF().Hasher() return nil } // Transform appends hash to generated resources. func (p *plugin) Transform(m resmap.ResMap) error { for _, res := range m.Resources() { if res.NeedHashSuffix() { h, err := p.hasher.Hash(res) if err != nil { return err } res.SetName(fmt.Sprintf("%s-%s", res.GetName(), h)) } } return nil }