Skip to content

Commit fec08e5

Browse files
authored
Merge pull request #378 from ksa-real/annotation
Annotation to override object name for diff purposes
2 parents 598d938 + 19b5a52 commit fec08e5

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

manifest/parse.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"log"
88
"strings"
99

10-
yaml "gopkg.in/yaml.v2"
10+
"gopkg.in/yaml.v2"
1111
"k8s.io/helm/pkg/proto/hapi/release"
1212
)
1313

@@ -40,8 +40,13 @@ func (m metadata) String() string {
4040
if len(sp) > 1 {
4141
apiBase = strings.Join(sp[:len(sp)-1], "/")
4242
}
43-
44-
return fmt.Sprintf("%s, %s, %s (%s)", m.Metadata.Namespace, m.Metadata.Name, m.Kind, apiBase)
43+
name := m.Metadata.Name
44+
if a := m.Metadata.Annotations; a != nil {
45+
if baseName, ok := a["helm-diff/base-name"]; ok {
46+
name = baseName
47+
}
48+
}
49+
return fmt.Sprintf("%s, %s, %s (%s)", m.Metadata.Namespace, name, m.Kind, apiBase)
4550
}
4651

4752
func scanYamlSpecs(data []byte, atEOF bool) (advance int, token []byte, err error) {

manifest/parse_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,13 @@ func TestEmpty(t *testing.T) {
101101
foundObjects(Parse(string(spec), "default", false)),
102102
)
103103
}
104+
105+
func TestBaseNameAnnotation(t *testing.T) {
106+
spec, err := ioutil.ReadFile("testdata/secret_immutable.yaml")
107+
require.NoError(t, err)
108+
109+
require.Equal(t,
110+
[]string{"default, bat-secret, Secret (v1)"},
111+
foundObjects(Parse(string(spec), "default", false)),
112+
)
113+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
---
3+
# Source: nginx/some-secrets.yaml
4+
apiVersion: v1
5+
kind: Secret
6+
metadata:
7+
name: bat-secret-ab1234cd
8+
annotations:
9+
helm-diff/base-name: bat-secret
10+
immutable: true
11+
type: Opaque
12+
stringData:
13+
secret1: Very secretive secret
14+
secret2: One more

0 commit comments

Comments
 (0)