mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
Add metadata field to kustomization file
This commit is contained in:
57
api/krusty/kustomizationmetadata_test.go
Normal file
57
api/krusty/kustomizationmetadata_test.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package krusty_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||
)
|
||||
|
||||
func TestKustomizationMetadata(t *testing.T) {
|
||||
th := kusttest_test.MakeHarness(t)
|
||||
th.WriteF("/app/resources.yaml", `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: testing123
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: null
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: event
|
||||
image: testing123
|
||||
imagePullPolicy: IfNotPresent
|
||||
imagePullSecrets: []`)
|
||||
|
||||
th.WriteK("/app", `
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
annotations:
|
||||
config.kubernetes.io/local-config: "true"
|
||||
labels:
|
||||
foo: bar
|
||||
name: test_kustomization
|
||||
resources:
|
||||
- resources.yaml
|
||||
`)
|
||||
|
||||
m := th.Run("/app", th.MakeDefaultOptions())
|
||||
th.AssertActualEqualsExpected(m, `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: testing123
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: null
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- image: testing123
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: event
|
||||
imagePullSecrets: []
|
||||
`)
|
||||
}
|
||||
@@ -22,6 +22,9 @@ const (
|
||||
type Kustomization struct {
|
||||
TypeMeta `json:",inline" yaml:",inline"`
|
||||
|
||||
// MetaData is a pointer to avoid marshalling empty struct
|
||||
MetaData *ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
|
||||
|
||||
//
|
||||
// Operators - what kustomize can do.
|
||||
//
|
||||
|
||||
@@ -141,6 +141,13 @@ func TestUnmarshal(t *testing.T) {
|
||||
y := []byte(`
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: kust
|
||||
namespace: default
|
||||
labels:
|
||||
foo: bar
|
||||
annotations:
|
||||
foo: bar
|
||||
resources:
|
||||
- foo
|
||||
- bar
|
||||
@@ -151,8 +158,20 @@ namePrefix: cat`)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
meta := ObjectMeta{
|
||||
Name: "kust",
|
||||
Namespace: "default",
|
||||
Labels: map[string]string{
|
||||
"foo": "bar",
|
||||
},
|
||||
Annotations: map[string]string{
|
||||
"foo": "bar",
|
||||
},
|
||||
}
|
||||
if k.Kind != KustomizationKind || k.APIVersion != KustomizationVersion ||
|
||||
len(k.Resources) != 2 || k.NamePrefix != "cat" || k.NameSuffix != "dog" {
|
||||
len(k.Resources) != 2 || k.NamePrefix != "cat" || k.NameSuffix != "dog" ||
|
||||
k.MetaData.Name != meta.Name || k.MetaData.Namespace != meta.Namespace ||
|
||||
k.MetaData.Labels["foo"] != meta.Labels["foo"] || k.MetaData.Annotations["foo"] != meta.Annotations["foo"] {
|
||||
t.Fatalf("wrong unmarshal result: %v", k)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,4 +8,6 @@ package types
|
||||
type ObjectMeta struct {
|
||||
Name string `json:"name,omitempty" yaml:"name,omitempty"`
|
||||
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
|
||||
Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user