mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 10:15:22 +00:00
add tagsuffix to take image tag suffix (#4364)
* add tagsuffix to take image tag suffix * add comments to warn about specifications * add test and error handle * fix indent * update comment * fix merge errors and return updates * update image update and fix example * fix yamls formats remove tabs in yamls fix space in image name tag error in name * fix spacing issue format of yaml set example as above * spacing of spec in testing templates * change to switch case
This commit is contained in:
committed by
GitHub
parent
ec212711d4
commit
a464ed0c59
@@ -840,6 +840,45 @@ spec:
|
||||
},
|
||||
},
|
||||
},
|
||||
"updateimagesuffix": {
|
||||
input: `
|
||||
group: apps
|
||||
apiVersion: v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: deploysuffix
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- image: redis:6.2.6
|
||||
name: redis
|
||||
`,
|
||||
expectedOutput: `
|
||||
group: apps
|
||||
apiVersion: v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: deploysuffix
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- image: redis:6.2.6-alpine
|
||||
name: redis
|
||||
`,
|
||||
filter: Filter{
|
||||
ImageTag: types.Image{
|
||||
Name: "redis",
|
||||
TagSuffix: "-alpine",
|
||||
},
|
||||
},
|
||||
fsSlice: []types.FieldSpec{
|
||||
{
|
||||
Path: "spec/template/spec/containers[]/image",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for tn, tc := range testCases {
|
||||
|
||||
@@ -5,6 +5,7 @@ package imagetag
|
||||
|
||||
import (
|
||||
"sigs.k8s.io/kustomize/api/filters/filtersutil"
|
||||
|
||||
"sigs.k8s.io/kustomize/api/image"
|
||||
"sigs.k8s.io/kustomize/api/types"
|
||||
"sigs.k8s.io/kustomize/kyaml/yaml"
|
||||
@@ -46,6 +47,9 @@ func (u imageTagUpdater) SetImageValue(rn *yaml.RNode) error {
|
||||
case u.ImageTag.Digest != "":
|
||||
tag = ""
|
||||
digest = u.ImageTag.Digest
|
||||
case u.ImageTag.TagSuffix != "":
|
||||
tag += u.ImageTag.TagSuffix
|
||||
digest = ""
|
||||
}
|
||||
|
||||
// build final image name
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Code generated by pluginator on AnnotationsTransformer; DO NOT EDIT.
|
||||
// pluginator {unknown 1970-01-01T00:00:00Z }
|
||||
|
||||
|
||||
|
||||
package builtins
|
||||
|
||||
import (
|
||||
@@ -16,6 +18,7 @@ type AnnotationsTransformerPlugin struct {
|
||||
FieldSpecs []types.FieldSpec `json:"fieldSpecs,omitempty" yaml:"fieldSpecs,omitempty"`
|
||||
}
|
||||
|
||||
|
||||
func (p *AnnotationsTransformerPlugin) Config(
|
||||
_ *resmap.PluginHelpers, c []byte) (err error) {
|
||||
p.Annotations = nil
|
||||
@@ -34,5 +37,5 @@ func (p *AnnotationsTransformerPlugin) Transform(m resmap.ResMap) error {
|
||||
}
|
||||
|
||||
func NewAnnotationsTransformerPlugin() resmap.TransformerPlugin {
|
||||
return &AnnotationsTransformerPlugin{}
|
||||
return &AnnotationsTransformerPlugin{}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,10 @@ type Image struct {
|
||||
// NewName is the value used to replace the original name.
|
||||
NewName string `json:"newName,omitempty" yaml:"newName,omitempty"`
|
||||
|
||||
// TagSuffix is the value used to suffix the original tag
|
||||
// If Digest and NewTag is present an error is thrown
|
||||
TagSuffix string `json:"tagSuffix,omitempty" yaml:"tagSuffix,omitempty"`
|
||||
|
||||
// NewTag is the value used to replace the original tag.
|
||||
NewTag string `json:"newTag,omitempty" yaml:"newTag,omitempty"`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user