mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-30 01:46:23 +00:00
Improve command package isolation.
This commit is contained in:
85
pkg/commands/build/testdata/testcase-base-only/expected.diff
vendored
Normal file
85
pkg/commands/build/testdata/testcase-base-only/expected.diff
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
diff -u -N /tmp/noop/apps_v1beta2_Deployment_nginx.yaml /tmp/transformed/apps_v1beta2_Deployment_nginx.yaml
|
||||
--- /tmp/noop/apps_v1beta2_Deployment_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/apps_v1beta2_Deployment_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,14 +1,27 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
+ annotations:
|
||||
+ note: This is a test annotation
|
||||
labels:
|
||||
- app: nginx
|
||||
- name: nginx
|
||||
+ app: mynginx
|
||||
+ org: example.com
|
||||
+ team: foo
|
||||
+ name: team-foo-nginx
|
||||
spec:
|
||||
+ selector:
|
||||
+ matchLabels:
|
||||
+ app: mynginx
|
||||
+ org: example.com
|
||||
+ team: foo
|
||||
template:
|
||||
metadata:
|
||||
+ annotations:
|
||||
+ note: This is a test annotation
|
||||
labels:
|
||||
- app: nginx
|
||||
+ app: mynginx
|
||||
+ org: example.com
|
||||
+ team: foo
|
||||
spec:
|
||||
containers:
|
||||
- image: nginx
|
||||
diff -u -N /tmp/noop/networking.k8s.io_v1_NetworkPolicy_nginx.yaml /tmp/transformed/networking.k8s.io_v1_NetworkPolicy_nginx.yaml
|
||||
--- /tmp/noop/networking.k8s.io_v1_NetworkPolicy_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/networking.k8s.io_v1_NetworkPolicy_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,13 +1,21 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
- name: nginx
|
||||
+ annotations:
|
||||
+ note: This is a test annotation
|
||||
+ labels:
|
||||
+ app: mynginx
|
||||
+ org: example.com
|
||||
+ team: foo
|
||||
+ name: team-foo-nginx
|
||||
spec:
|
||||
ingress:
|
||||
- from:
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
- app: nginx
|
||||
+ app: mynginx
|
||||
+ org: example.com
|
||||
+ team: foo
|
||||
podSelector:
|
||||
matchExpressions:
|
||||
- key: app
|
||||
diff -u -N /tmp/noop/v1_Service_nginx.yaml /tmp/transformed/v1_Service_nginx.yaml
|
||||
--- /tmp/noop/v1_Service_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Service_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,11 +1,17 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
+ annotations:
|
||||
+ note: This is a test annotation
|
||||
labels:
|
||||
- app: nginx
|
||||
- name: nginx
|
||||
+ app: mynginx
|
||||
+ org: example.com
|
||||
+ team: foo
|
||||
+ name: team-foo-nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
- app: nginx
|
||||
+ app: mynginx
|
||||
+ org: example.com
|
||||
+ team: foo
|
||||
71
pkg/commands/build/testdata/testcase-base-only/expected.yaml
vendored
Normal file
71
pkg/commands/build/testdata/testcase-base-only/expected.yaml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
name: team-foo-nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
---
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
name: team-foo-nginx
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
spec:
|
||||
containers:
|
||||
- image: nginx
|
||||
name: nginx
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
name: team-foo-nginx
|
||||
spec:
|
||||
ingress:
|
||||
- from:
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
podSelector:
|
||||
matchExpressions:
|
||||
- key: app
|
||||
operator: In
|
||||
values:
|
||||
- test
|
||||
11
pkg/commands/build/testdata/testcase-base-only/in/kustomization.yaml
vendored
Normal file
11
pkg/commands/build/testdata/testcase-base-only/in/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
namePrefix: team-foo-
|
||||
commonLabels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
commonAnnotations:
|
||||
note: This is a test annotation
|
||||
resources:
|
||||
- resources/deployment.yaml
|
||||
- resources/networkpolicy.yaml
|
||||
- resources/service.yaml
|
||||
15
pkg/commands/build/testdata/testcase-base-only/in/resources/deployment.yaml
vendored
Normal file
15
pkg/commands/build/testdata/testcase-base-only/in/resources/deployment.yaml
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx
|
||||
13
pkg/commands/build/testdata/testcase-base-only/in/resources/networkpolicy.yaml
vendored
Normal file
13
pkg/commands/build/testdata/testcase-base-only/in/resources/networkpolicy.yaml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
podSelector:
|
||||
matchExpressions:
|
||||
- {key: app, operator: In, values: [test]}
|
||||
ingress:
|
||||
- from:
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
app: nginx
|
||||
11
pkg/commands/build/testdata/testcase-base-only/in/resources/service.yaml
vendored
Normal file
11
pkg/commands/build/testdata/testcase-base-only/in/resources/service.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: nginx
|
||||
5
pkg/commands/build/testdata/testcase-base-only/test.yaml
vendored
Normal file
5
pkg/commands/build/testdata/testcase-base-only/test.yaml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
description: base only
|
||||
args: []
|
||||
filename: testdata/testcase-base-only/in
|
||||
expectedStdout: testdata/testcase-base-only/expected.yaml
|
||||
expectedDiff: testdata/testcase-base-only/expected.diff
|
||||
6
pkg/commands/build/testdata/testcase-configmaps/base/myapp/mycomponent/kustomization.yaml
vendored
Normal file
6
pkg/commands/build/testdata/testcase-configmaps/base/myapp/mycomponent/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
namePrefix: p1-
|
||||
configMapGenerator:
|
||||
- name: com1
|
||||
behavior: create
|
||||
literals:
|
||||
- from=base
|
||||
6
pkg/commands/build/testdata/testcase-configmaps/base/myapp/mycomponent2/kustomization.yaml
vendored
Normal file
6
pkg/commands/build/testdata/testcase-configmaps/base/myapp/mycomponent2/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
namePrefix: p2-
|
||||
configMapGenerator:
|
||||
- name: com2
|
||||
behavior: create
|
||||
literals:
|
||||
- from=base
|
||||
16
pkg/commands/build/testdata/testcase-configmaps/expected.diff
vendored
Normal file
16
pkg/commands/build/testdata/testcase-configmaps/expected.diff
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_com1.yaml /tmp/transformed/v1_ConfigMap_com1.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_com1.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_com1.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,9 +1,11 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
+ baz: qux
|
||||
+ foo: bar
|
||||
from: overlay
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations: {}
|
||||
creationTimestamp: null
|
||||
labels: {}
|
||||
- name: p1-com1-cmdb776d5b
|
||||
+ name: p1-com1-dhbbm922gd
|
||||
19
pkg/commands/build/testdata/testcase-configmaps/expected.yaml
vendored
Normal file
19
pkg/commands/build/testdata/testcase-configmaps/expected.yaml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
baz: qux
|
||||
foo: bar
|
||||
from: overlay
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations: {}
|
||||
labels: {}
|
||||
name: p1-com1-dhbbm922gd
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
from: overlay
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations: {}
|
||||
labels: {}
|
||||
name: p2-com2-c4b8md75k9
|
||||
9
pkg/commands/build/testdata/testcase-configmaps/overlay/dev/kustomization.yaml
vendored
Normal file
9
pkg/commands/build/testdata/testcase-configmaps/overlay/dev/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
bases:
|
||||
- myapp/mycomponent
|
||||
- myapp/mycomponent2
|
||||
configMapGenerator:
|
||||
- name: com1
|
||||
behavior: merge
|
||||
literals:
|
||||
- foo=bar
|
||||
- baz=qux
|
||||
@@ -0,0 +1,7 @@
|
||||
bases:
|
||||
- ../../../../base/myapp/mycomponent
|
||||
configMapGenerator:
|
||||
- name: com1
|
||||
behavior: merge
|
||||
literals:
|
||||
- from=overlay
|
||||
@@ -0,0 +1,7 @@
|
||||
bases:
|
||||
- ../../../../base/myapp/mycomponent2
|
||||
configMapGenerator:
|
||||
- name: com2
|
||||
behavior: merge
|
||||
literals:
|
||||
- from=overlay
|
||||
5
pkg/commands/build/testdata/testcase-configmaps/test.yaml
vendored
Normal file
5
pkg/commands/build/testdata/testcase-configmaps/test.yaml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
description: configmap generator overlay
|
||||
args: []
|
||||
filename: testdata/testcase-configmaps/overlay/dev
|
||||
expectedStdout: testdata/testcase-configmaps/expected.yaml
|
||||
expectedDiff: testdata/testcase-configmaps/expected.diff
|
||||
6
pkg/commands/build/testdata/testcase-crds/crd/bee.yaml
vendored
Normal file
6
pkg/commands/build/testdata/testcase-crds/crd/bee.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
apiVersion: v1beta1
|
||||
kind: Bee
|
||||
metadata:
|
||||
name: bee
|
||||
spec:
|
||||
action: fly
|
||||
9
pkg/commands/build/testdata/testcase-crds/crd/kustomization.yaml
vendored
Normal file
9
pkg/commands/build/testdata/testcase-crds/crd/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
crds:
|
||||
- mycrd.json
|
||||
|
||||
resources:
|
||||
- secret.yaml
|
||||
- mykind.yaml
|
||||
- bee.yaml
|
||||
|
||||
namePrefix: test-
|
||||
170
pkg/commands/build/testdata/testcase-crds/crd/mycrd.json
vendored
Normal file
170
pkg/commands/build/testdata/testcase-crds/crd/mycrd.json
vendored
Normal file
@@ -0,0 +1,170 @@
|
||||
{
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.Bee": {
|
||||
"Schema": {
|
||||
"description": "Bee",
|
||||
"properties": {
|
||||
"apiVersion": {
|
||||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources",
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"
|
||||
},
|
||||
"spec": {
|
||||
"$ref": "github.com/example/pkg/apis/jingfang/v1beta1.BeeSpec"
|
||||
},
|
||||
"status": {
|
||||
"$ref": "github.com/example/pkg/apis/jingfang/v1beta1.BeeStatus"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dependencies": [
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.BeeSpec",
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.BeeStatus",
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"
|
||||
]
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.BeeList": {
|
||||
"Schema": {
|
||||
"required": [
|
||||
"items"
|
||||
],
|
||||
"properties": {
|
||||
"apiVersion": {
|
||||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources",
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "github.com/example/pkg/apis/jingfang/v1beta1.Bee"
|
||||
}
|
||||
},
|
||||
"kind": {
|
||||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dependencies": [
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.Bee",
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"
|
||||
]
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.BeeObjectReference": {
|
||||
"Schema": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dependencies": []
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.BeeSpec": {
|
||||
"Schema": {
|
||||
"description": "BeeSpec defines the desired state of Bee"
|
||||
},
|
||||
"Dependencies": []
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.BeeStatus": {
|
||||
"Schema": {
|
||||
"description": "BeeStatus defines the observed state of Bee"
|
||||
},
|
||||
"Dependencies": []
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.MyKind": {
|
||||
"Schema": {
|
||||
"description": "MyKind",
|
||||
"properties": {
|
||||
"apiVersion": {
|
||||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources",
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"
|
||||
},
|
||||
"spec": {
|
||||
"$ref": "github.com/example/pkg/apis/jingfang/v1beta1.MyKindSpec"
|
||||
},
|
||||
"status": {
|
||||
"$ref": "github.com/example/pkg/apis/jingfang/v1beta1.MyKindStatus"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dependencies": [
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.MyKindSpec",
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.MyKindStatus",
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"
|
||||
]
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.MyKindList": {
|
||||
"Schema": {
|
||||
"required": [
|
||||
"items"
|
||||
],
|
||||
"properties": {
|
||||
"apiVersion": {
|
||||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources",
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "github.com/example/pkg/apis/jingfang/v1beta1.MyKind"
|
||||
}
|
||||
},
|
||||
"kind": {
|
||||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dependencies": [
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.MyKind",
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"
|
||||
]
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.MyKindSpec": {
|
||||
"Schema": {
|
||||
"description": "MyKindSpec defines the desired state of MyKind",
|
||||
"properties": {
|
||||
"beeRef": {
|
||||
"x-kubernetes-object-ref-api-version": "v1beta1",
|
||||
"x-kubernetes-object-ref-kind": "Bee",
|
||||
"$ref": "github.com/example/pkg/apis/jingfang/v1beta1.BeeObjectReference"
|
||||
},
|
||||
"secretRef": {
|
||||
"description": "If defined, we use this secret for configuring the MYSQL_ROOT_PASSWORD If it is not set we generate a secret dynamically",
|
||||
"x-kubernetes-object-ref-api-version": "v1",
|
||||
"x-kubernetes-object-ref-kind": "Secret",
|
||||
"$ref": "k8s.io/api/core/v1.LocalObjectReference"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Dependencies": [
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.BeeObjectReference",
|
||||
"k8s.io/api/core/v1.LocalObjectReference"
|
||||
]
|
||||
},
|
||||
"github.com/example/pkg/apis/jingfang/v1beta1.MyKindStatus": {
|
||||
"Schema": {
|
||||
"description": "MyKindStatus defines the observed state of MyKind"
|
||||
},
|
||||
"Dependencies": []
|
||||
}
|
||||
}
|
||||
9
pkg/commands/build/testdata/testcase-crds/crd/mykind.yaml
vendored
Normal file
9
pkg/commands/build/testdata/testcase-crds/crd/mykind.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: jingfang.example.com/v1beta1
|
||||
kind: MyKind
|
||||
metadata:
|
||||
name: mykind
|
||||
spec:
|
||||
secretRef:
|
||||
name: crdsecret
|
||||
beeRef:
|
||||
name: bee
|
||||
6
pkg/commands/build/testdata/testcase-crds/crd/secret.yaml
vendored
Normal file
6
pkg/commands/build/testdata/testcase-crds/crd/secret.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: crdsecret
|
||||
data:
|
||||
PATH: YmJiYmJiYmIK
|
||||
36
pkg/commands/build/testdata/testcase-crds/expected.diff
vendored
Normal file
36
pkg/commands/build/testdata/testcase-crds/expected.diff
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
diff -u -N /tmp/noop/jingfang.example.com_v1beta1_MyKind_mykind.yaml /tmp/transformed/jingfang.example.com_v1beta1_MyKind_mykind.yaml
|
||||
--- /tmp/noop/jingfang.example.com_v1beta1_MyKind_mykind.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/jingfang.example.com_v1beta1_MyKind_mykind.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: jingfang.example.com/v1beta1
|
||||
kind: MyKind
|
||||
metadata:
|
||||
- name: mykind
|
||||
+ name: test-mykind
|
||||
spec:
|
||||
beeRef:
|
||||
- name: bee
|
||||
+ name: test-bee
|
||||
secretRef:
|
||||
- name: crdsecret
|
||||
+ name: test-crdsecret
|
||||
diff -u -N /tmp/noop/v1beta1_Bee_bee.yaml /tmp/transformed/v1beta1_Bee_bee.yaml
|
||||
--- /tmp/noop/v1beta1_Bee_bee.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1beta1_Bee_bee.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v1beta1
|
||||
kind: Bee
|
||||
metadata:
|
||||
- name: bee
|
||||
+ name: test-bee
|
||||
spec:
|
||||
action: fly
|
||||
diff -u -N /tmp/noop/v1_Secret_crdsecret.yaml /tmp/transformed/v1_Secret_crdsecret.yaml
|
||||
--- /tmp/noop/v1_Secret_crdsecret.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Secret_crdsecret.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,4 +3,4 @@
|
||||
PATH: YmJiYmJiYmIK
|
||||
kind: Secret
|
||||
metadata:
|
||||
- name: crdsecret
|
||||
+ name: test-crdsecret
|
||||
23
pkg/commands/build/testdata/testcase-crds/expected.yaml
vendored
Normal file
23
pkg/commands/build/testdata/testcase-crds/expected.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
PATH: YmJiYmJiYmIK
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: test-crdsecret
|
||||
---
|
||||
apiVersion: jingfang.example.com/v1beta1
|
||||
kind: MyKind
|
||||
metadata:
|
||||
name: test-mykind
|
||||
spec:
|
||||
beeRef:
|
||||
name: test-bee
|
||||
secretRef:
|
||||
name: test-crdsecret
|
||||
---
|
||||
apiVersion: v1beta1
|
||||
kind: Bee
|
||||
metadata:
|
||||
name: test-bee
|
||||
spec:
|
||||
action: fly
|
||||
5
pkg/commands/build/testdata/testcase-crds/test.yaml
vendored
Normal file
5
pkg/commands/build/testdata/testcase-crds/test.yaml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
description: name reference in CRDs
|
||||
args: []
|
||||
filename: testdata/testcase-crds/crd
|
||||
expectedStdout: testdata/testcase-crds/expected.yaml
|
||||
expectedDiff: testdata/testcase-crds/expected.diff
|
||||
4
pkg/commands/build/testdata/testcase-multibases-conflict/base/kustomization.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-conflict/base/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
resources:
|
||||
- serviceaccount.yaml
|
||||
- rolebinding.yaml
|
||||
namePrefix: base-
|
||||
11
pkg/commands/build/testdata/testcase-multibases-conflict/base/rolebinding.yaml
vendored
Normal file
11
pkg/commands/build/testdata/testcase-multibases-conflict/base/rolebinding.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: serviceaccount
|
||||
4
pkg/commands/build/testdata/testcase-multibases-conflict/base/serviceaccount.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-conflict/base/serviceaccount.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: serviceaccount
|
||||
3
pkg/commands/build/testdata/testcase-multibases-conflict/combined/kustomization.yaml
vendored
Normal file
3
pkg/commands/build/testdata/testcase-multibases-conflict/combined/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
bases:
|
||||
- ../overlays/a
|
||||
- ../overlays/b
|
||||
7
pkg/commands/build/testdata/testcase-multibases-conflict/overlays/a/kustomization.yaml
vendored
Normal file
7
pkg/commands/build/testdata/testcase-multibases-conflict/overlays/a/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
bases:
|
||||
- ../../base/
|
||||
|
||||
namePrefix: a-
|
||||
|
||||
resources:
|
||||
- serviceaccount.yaml
|
||||
4
pkg/commands/build/testdata/testcase-multibases-conflict/overlays/a/serviceaccount.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-conflict/overlays/a/serviceaccount.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: serviceaccount
|
||||
4
pkg/commands/build/testdata/testcase-multibases-conflict/overlays/b/kustomization.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-conflict/overlays/b/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
bases:
|
||||
- ../../base/
|
||||
|
||||
namePrefix: b-
|
||||
4
pkg/commands/build/testdata/testcase-multibases-conflict/test.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-conflict/test.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
description: multibases with name reference
|
||||
args: []
|
||||
filename: testdata/testcase-multibases-conflict/combined
|
||||
expectedError: detected conflicts when resolving name references serviceaccount
|
||||
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/base/kustomization.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/base/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
resources:
|
||||
- serviceaccount.yaml
|
||||
- rolebinding.yaml
|
||||
namePrefix: base-
|
||||
11
pkg/commands/build/testdata/testcase-multibases-nonconflict/base/rolebinding.yaml
vendored
Normal file
11
pkg/commands/build/testdata/testcase-multibases-nonconflict/base/rolebinding.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: serviceaccount
|
||||
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/base/serviceaccount.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/base/serviceaccount.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: serviceaccount
|
||||
3
pkg/commands/build/testdata/testcase-multibases-nonconflict/combined/kustomization.yaml
vendored
Normal file
3
pkg/commands/build/testdata/testcase-multibases-nonconflict/combined/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
bases:
|
||||
- ../overlays/a
|
||||
- ../overlays/b
|
||||
33
pkg/commands/build/testdata/testcase-multibases-nonconflict/expected.yaml
vendored
Normal file
33
pkg/commands/build/testdata/testcase-multibases-nonconflict/expected.yaml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: a-base-serviceaccount
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: b-base-serviceaccount
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: a-base-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: a-base-serviceaccount
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: b-base-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: b-base-serviceaccount
|
||||
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/overlays/a/kustomization.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/overlays/a/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
bases:
|
||||
- ../../base/
|
||||
|
||||
namePrefix: a-
|
||||
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/overlays/b/kustomization.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/overlays/b/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
bases:
|
||||
- ../../base/
|
||||
|
||||
namePrefix: b-
|
||||
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/test.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multibases-nonconflict/test.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
description: multibases with name reference
|
||||
args: []
|
||||
filename: testdata/testcase-multibases-nonconflict/combined
|
||||
expectedStdout: testdata/testcase-multibases-nonconflict/expected.yaml
|
||||
20
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/overlay/deployment-patch1.yaml
vendored
Normal file
20
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/overlay/deployment-patch1.yaml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
env:
|
||||
- name: ENABLE_FEATURE_FOO
|
||||
value: TRUE
|
||||
volumes:
|
||||
- name: nginx-persistent-storage
|
||||
emptyDir: null
|
||||
gcePersistentDisk:
|
||||
pdName: nginx-persistent-storage
|
||||
- configMap:
|
||||
name: configmap-in-overlay
|
||||
name: configmap-in-overlay
|
||||
12
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/overlay/deployment-patch2.yaml
vendored
Normal file
12
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/overlay/deployment-patch2.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
env:
|
||||
- name: ENABLE_FEATURE_FOO
|
||||
value: FALSE
|
||||
12
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/overlay/kustomization.yaml
vendored
Normal file
12
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/overlay/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
namePrefix: staging-
|
||||
commonLabels:
|
||||
env: staging
|
||||
patchesStrategicMerge:
|
||||
- deployment-patch2.yaml
|
||||
- deployment-patch1.yaml
|
||||
bases:
|
||||
- ../package/
|
||||
configMapGenerator:
|
||||
- name: configmap-in-overlay
|
||||
literals:
|
||||
- hello=world
|
||||
24
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/package/deployment.yaml
vendored
Normal file
24
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/package/deployment.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx
|
||||
volumeMounts:
|
||||
- name: nginx-persistent-storage
|
||||
mountPath: /tmp/ps
|
||||
volumes:
|
||||
- name: nginx-persistent-storage
|
||||
emptyDir: {}
|
||||
- configMap:
|
||||
name: configmap-in-base
|
||||
name: configmap-in-base
|
||||
14
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/package/kustomization.yaml
vendored
Normal file
14
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/package/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
namePrefix: team-foo-
|
||||
commonLabels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
commonAnnotations:
|
||||
note: This is a test annotation
|
||||
resources:
|
||||
- deployment.yaml
|
||||
- service.yaml
|
||||
configMapGenerator:
|
||||
- name: configmap-in-base
|
||||
literals:
|
||||
- foo=bar
|
||||
11
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/package/service.yaml
vendored
Normal file
11
pkg/commands/build/testdata/testcase-multiple-patches-conflict/in/package/service.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: nginx
|
||||
4
pkg/commands/build/testdata/testcase-multiple-patches-conflict/test.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-multiple-patches-conflict/test.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
description: conflict between multiple patches
|
||||
args: []
|
||||
filename: testdata/testcase-multiple-patches-conflict/in/overlay/
|
||||
expectedError: conflict
|
||||
99
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/expected.diff
vendored
Normal file
99
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/expected.diff
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
diff -u -N /tmp/noop/apps_v1beta2_Deployment_nginx.yaml /tmp/transformed/apps_v1beta2_Deployment_nginx.yaml
|
||||
--- /tmp/noop/apps_v1beta2_Deployment_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/apps_v1beta2_Deployment_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -5,13 +5,15 @@
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
- name: team-foo-nginx
|
||||
+ name: staging-team-foo-nginx
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
template:
|
||||
@@ -20,18 +22,30 @@
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
spec:
|
||||
containers:
|
||||
- - image: nginx
|
||||
+ - env:
|
||||
+ - name: ANOTHERENV
|
||||
+ value: FOO
|
||||
+ - name: ENVKEY
|
||||
+ value: ENVVALUE
|
||||
+ image: nginx:latest
|
||||
name: nginx
|
||||
volumeMounts:
|
||||
- mountPath: /tmp/ps
|
||||
name: nginx-persistent-storage
|
||||
+ - image: sidecar
|
||||
+ name: sidecar
|
||||
volumes:
|
||||
- - emptyDir: {}
|
||||
+ - gcePersistentDisk:
|
||||
+ pdName: nginx-persistent-storage
|
||||
name: nginx-persistent-storage
|
||||
- configMap:
|
||||
- name: team-foo-configmap-in-base-bbdmdh7m8t
|
||||
+ name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
+ name: configmap-in-overlay
|
||||
+ - configMap:
|
||||
+ name: staging-team-foo-configmap-in-base-g7k6gt2889
|
||||
name: configmap-in-base
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_configmap-in-base.yaml /tmp/transformed/v1_ConfigMap_configmap-in-base.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_configmap-in-base.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_configmap-in-base.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -8,6 +8,7 @@
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
- name: team-foo-configmap-in-base-bbdmdh7m8t
|
||||
+ name: staging-team-foo-configmap-in-base-g7k6gt2889
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_configmap-in-overlay.yaml /tmp/transformed/v1_ConfigMap_configmap-in-overlay.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_configmap-in-overlay.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_configmap-in-overlay.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -0,0 +1,9 @@
|
||||
+apiVersion: v1
|
||||
+data:
|
||||
+ hello: world
|
||||
+kind: ConfigMap
|
||||
+metadata:
|
||||
+ creationTimestamp: null
|
||||
+ labels:
|
||||
+ env: staging
|
||||
+ name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
diff -u -N /tmp/noop/v1_Service_nginx.yaml /tmp/transformed/v1_Service_nginx.yaml
|
||||
--- /tmp/noop/v1_Service_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Service_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -5,13 +5,15 @@
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
- name: team-foo-nginx
|
||||
+ name: staging-team-foo-nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
94
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/expected.yaml
vendored
Normal file
94
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/expected.yaml
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
foo: bar
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
name: staging-team-foo-configmap-in-base-g7k6gt2889
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
hello: world
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
env: staging
|
||||
name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
name: staging-team-foo-nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
---
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
name: staging-team-foo-nginx
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: foo
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ANOTHERENV
|
||||
value: FOO
|
||||
- name: ENVKEY
|
||||
value: ENVVALUE
|
||||
image: nginx:latest
|
||||
name: nginx
|
||||
volumeMounts:
|
||||
- mountPath: /tmp/ps
|
||||
name: nginx-persistent-storage
|
||||
- image: sidecar
|
||||
name: sidecar
|
||||
volumes:
|
||||
- gcePersistentDisk:
|
||||
pdName: nginx-persistent-storage
|
||||
name: nginx-persistent-storage
|
||||
- configMap:
|
||||
name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
name: configmap-in-overlay
|
||||
- configMap:
|
||||
name: staging-team-foo-configmap-in-base-g7k6gt2889
|
||||
name: configmap-in-base
|
||||
12
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/overlay/kustomization.yaml
vendored
Normal file
12
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/overlay/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
namePrefix: staging-
|
||||
commonLabels:
|
||||
env: staging
|
||||
patchesStrategicMerge:
|
||||
- patches/deployment-patch1.yaml
|
||||
- patches/deployment-patch2.yaml
|
||||
bases:
|
||||
- ../package/
|
||||
configMapGenerator:
|
||||
- name: configmap-in-overlay
|
||||
literals:
|
||||
- hello=world
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx:latest
|
||||
env:
|
||||
- name: ENVKEY
|
||||
value: ENVVALUE
|
||||
volumes:
|
||||
- name: nginx-persistent-storage
|
||||
emptyDir: null
|
||||
gcePersistentDisk:
|
||||
pdName: nginx-persistent-storage
|
||||
- configMap:
|
||||
name: configmap-in-overlay
|
||||
name: configmap-in-overlay
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
env:
|
||||
- name: ANOTHERENV
|
||||
value: FOO
|
||||
- name: sidecar
|
||||
image: sidecar
|
||||
volumes:
|
||||
- name: nginx-persistent-storage
|
||||
24
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/package/deployment.yaml
vendored
Normal file
24
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/package/deployment.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx
|
||||
volumeMounts:
|
||||
- name: nginx-persistent-storage
|
||||
mountPath: /tmp/ps
|
||||
volumes:
|
||||
- name: nginx-persistent-storage
|
||||
emptyDir: {}
|
||||
- configMap:
|
||||
name: configmap-in-base
|
||||
name: configmap-in-base
|
||||
14
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/package/kustomization.yaml
vendored
Normal file
14
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/package/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
namePrefix: team-foo-
|
||||
commonLabels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
commonAnnotations:
|
||||
note: This is a test annotation
|
||||
resources:
|
||||
- deployment.yaml
|
||||
- service.yaml
|
||||
configMapGenerator:
|
||||
- name: configmap-in-base
|
||||
literals:
|
||||
- foo=bar
|
||||
11
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/package/service.yaml
vendored
Normal file
11
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/in/package/service.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: nginx
|
||||
5
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/test.yaml
vendored
Normal file
5
pkg/commands/build/testdata/testcase-multiple-patches-noconflict/test.yaml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
description: multiple patches no conflict
|
||||
args: []
|
||||
filename: testdata/testcase-multiple-patches-noconflict/in/overlay/
|
||||
expectedStdout: testdata/testcase-multiple-patches-noconflict/expected.yaml
|
||||
expectedDiff: testdata/testcase-multiple-patches-noconflict/expected.diff
|
||||
154
pkg/commands/build/testdata/testcase-simple/expected.diff
vendored
Normal file
154
pkg/commands/build/testdata/testcase-simple/expected.diff
vendored
Normal file
@@ -0,0 +1,154 @@
|
||||
diff -u -N /tmp/noop/extensions_v1beta1_Deployment_mungebot.yaml /tmp/transformed/extensions_v1beta1_Deployment_mungebot.yaml
|
||||
--- /tmp/noop/extensions_v1beta1_Deployment_mungebot.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/extensions_v1beta1_Deployment_mungebot.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,28 +3,68 @@
|
||||
metadata:
|
||||
annotations:
|
||||
baseAnno: This is an base annotation
|
||||
+ note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
- name: baseprefix-mungebot
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
+ name: test-infra-baseprefix-mungebot
|
||||
spec:
|
||||
- replicas: 1
|
||||
+ replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
+ app: mungebot
|
||||
foo: bar
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
baseAnno: This is an base annotation
|
||||
+ note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
+ - name: FOO
|
||||
+ valueFrom:
|
||||
+ configMapKeyRef:
|
||||
+ key: somekey
|
||||
+ name: test-infra-app-env-bh449c299k
|
||||
+ - name: BAR
|
||||
+ valueFrom:
|
||||
+ secretKeyRef:
|
||||
+ key: somekey
|
||||
+ name: test-infra-app-tls-6hkmhf2224
|
||||
- name: foo
|
||||
value: bar
|
||||
- image: nginx
|
||||
+ image: nginx:1.8.0
|
||||
name: nginx
|
||||
ports:
|
||||
- containerPort: 80
|
||||
+ - envFrom:
|
||||
+ - configMapRef:
|
||||
+ name: someConfigMap
|
||||
+ - configMapRef:
|
||||
+ name: test-infra-app-env-bh449c299k
|
||||
+ - secretRef:
|
||||
+ name: test-infra-app-tls-6hkmhf2224
|
||||
+ image: busybox
|
||||
+ name: busybox
|
||||
+ volumeMounts:
|
||||
+ - mountPath: /tmp/env
|
||||
+ name: app-env
|
||||
+ - mountPath: /tmp/tls
|
||||
+ name: app-tls
|
||||
+ volumes:
|
||||
+ - configMap:
|
||||
+ name: test-infra-app-env-bh449c299k
|
||||
+ name: app-env
|
||||
+ - name: app-tls
|
||||
+ secret:
|
||||
+ secretName: test-infra-app-tls-6hkmhf2224
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_app-config.yaml /tmp/transformed/v1_ConfigMap_app-config.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_app-config.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_app-config.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -0,0 +1,15 @@
|
||||
+apiVersion: v1
|
||||
+data:
|
||||
+ app-init.ini: |
|
||||
+ FOO=bar
|
||||
+ BAR=baz
|
||||
+kind: ConfigMap
|
||||
+metadata:
|
||||
+ annotations:
|
||||
+ note: This is a test annotation
|
||||
+ creationTimestamp: null
|
||||
+ labels:
|
||||
+ app: mungebot
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
+ name: test-infra-app-config-hf5424hg8g
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_app-env.yaml /tmp/transformed/v1_ConfigMap_app-env.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_app-env.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_app-env.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -0,0 +1,14 @@
|
||||
+apiVersion: v1
|
||||
+data:
|
||||
+ DB_PASSWORD: somepw
|
||||
+ DB_USERNAME: admin
|
||||
+kind: ConfigMap
|
||||
+metadata:
|
||||
+ annotations:
|
||||
+ note: This is a test annotation
|
||||
+ creationTimestamp: null
|
||||
+ labels:
|
||||
+ app: mungebot
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
+ name: test-infra-app-env-bh449c299k
|
||||
diff -u -N /tmp/noop/v1_Secret_app-tls.yaml /tmp/transformed/v1_Secret_app-tls.yaml
|
||||
--- /tmp/noop/v1_Secret_app-tls.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Secret_app-tls.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -0,0 +1,15 @@
|
||||
+apiVersion: v1
|
||||
+data:
|
||||
+ tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUIwekNDQVgyZ0F3SUJBZ0lKQUkvTTdCWWp3Qit1TUEwR0NTcUdTSWIzRFFFQkJRVUFNRVV4Q3pBSkJnTlYKQkFZVEFrRlZNUk13RVFZRFZRUUlEQXBUYjIxbExWTjBZWFJsTVNFd0h3WURWUVFLREJoSmJuUmxjbTVsZENCWAphV1JuYVhSeklGQjBlU0JNZEdRd0hoY05NVEl3T1RFeU1qRTFNakF5V2hjTk1UVXdPVEV5TWpFMU1qQXlXakJGCk1Rc3dDUVlEVlFRR0V3SkJWVEVUTUJFR0ExVUVDQXdLVTI5dFpTMVRkR0YwWlRFaE1COEdBMVVFQ2d3WVNXNTAKWlhKdVpYUWdWMmxrWjJsMGN5QlFkSGtnVEhSa01Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU5MSgpoUEhoSVRxUWJQa2xHM2liQ1Z4d0dNUmZwL3Y0WHFoZmRRSGRjVmZIYXA2TlE1V29rLzR4SUErdWkzNS9NbU5hCnJ0TnVDK0JkWjF0TXVWQ1BGWmNDQXdFQUFhTlFNRTR3SFFZRFZSME9CQllFRkp2S3M4UmZKYVhUSDA4VytTR3YKelF5S24wSDhNQjhHQTFVZEl3UVlNQmFBRkp2S3M4UmZKYVhUSDA4VytTR3Z6UXlLbjBIOE1Bd0dBMVVkRXdRRgpNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEUVFCSmxmZkpIeWJqREd4Uk1xYVJtRGhYMCs2djAyVFVLWnNXCnI1UXVWYnBRaEg2dSswVWdjVzBqcDlRd3B4b1BUTFRXR1hFV0JCQnVyeEZ3aUNCaGtRK1YKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
||||
+ tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlCT3dJQkFBSkJBTkxKaFBIaElUcVFiUGtsRzNpYkNWeHdHTVJmcC92NFhxaGZkUUhkY1ZmSGFwNk5RNVdvCmsvNHhJQSt1aTM1L01tTmFydE51QytCZFoxdE11VkNQRlpjQ0F3RUFBUUpBRUoyTit6c1IwWG44L1E2dHdhNEcKNk9CMU0xV08rayt6dG5YLzFTdk5lV3U4RDZHSW10dXBMVFlnalpjSHVmeWtqMDlqaUhtakh4OHU4WlpCL28xTgpNUUloQVBXK2V5Wm83YXkzbE16MVYwMVdWak5LSzlRU24xTUpsYjA2aC9MdVl2OUZBaUVBMjVXUGVkS2dWeUNXClNtVXdiUHc4Zm5UY3BxRFdFM3lUTzN2S2NlYnFNU3NDSUJGM1VtVnVlOFlVM2p5YkMzTnh1WHEzd05tMzRSOFQKeFZMSHdEWGgvNk5KQWlFQWwyb0hHR0x6NjRCdUFmaktycXd6N3FNWXI5SENMSWUvWXNvV3Evb2x6U2NDSVFEaQpEMmxXdXNvZTIvbkVxZkRWVldHV2x5Sjd5T21xYVZtL2lOVU45QjJOMmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
|
||||
+kind: Secret
|
||||
+metadata:
|
||||
+ annotations:
|
||||
+ note: This is a test annotation
|
||||
+ creationTimestamp: null
|
||||
+ labels:
|
||||
+ app: mungebot
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
+ name: test-infra-app-tls-6hkmhf2224
|
||||
+type: kubernetes.io/tls
|
||||
diff -u -N /tmp/noop/v1_Service_mungebot-service.yaml /tmp/transformed/v1_Service_mungebot-service.yaml
|
||||
--- /tmp/noop/v1_Service_mungebot-service.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Service_mungebot-service.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,13 +3,18 @@
|
||||
metadata:
|
||||
annotations:
|
||||
baseAnno: This is an base annotation
|
||||
+ note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
- name: baseprefix-mungebot-service
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
+ name: test-infra-baseprefix-mungebot-service
|
||||
spec:
|
||||
ports:
|
||||
- port: 7002
|
||||
selector:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
+ org: kubernetes
|
||||
+ repo: test-infra
|
||||
135
pkg/commands/build/testdata/testcase-simple/expected.yaml
vendored
Normal file
135
pkg/commands/build/testdata/testcase-simple/expected.yaml
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
app-init.ini: |
|
||||
FOO=bar
|
||||
BAR=baz
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
name: test-infra-app-config-hf5424hg8g
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
DB_PASSWORD: somepw
|
||||
DB_USERNAME: admin
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
name: test-infra-app-env-bh449c299k
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUIwekNDQVgyZ0F3SUJBZ0lKQUkvTTdCWWp3Qit1TUEwR0NTcUdTSWIzRFFFQkJRVUFNRVV4Q3pBSkJnTlYKQkFZVEFrRlZNUk13RVFZRFZRUUlEQXBUYjIxbExWTjBZWFJsTVNFd0h3WURWUVFLREJoSmJuUmxjbTVsZENCWAphV1JuYVhSeklGQjBlU0JNZEdRd0hoY05NVEl3T1RFeU1qRTFNakF5V2hjTk1UVXdPVEV5TWpFMU1qQXlXakJGCk1Rc3dDUVlEVlFRR0V3SkJWVEVUTUJFR0ExVUVDQXdLVTI5dFpTMVRkR0YwWlRFaE1COEdBMVVFQ2d3WVNXNTAKWlhKdVpYUWdWMmxrWjJsMGN5QlFkSGtnVEhSa01Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU5MSgpoUEhoSVRxUWJQa2xHM2liQ1Z4d0dNUmZwL3Y0WHFoZmRRSGRjVmZIYXA2TlE1V29rLzR4SUErdWkzNS9NbU5hCnJ0TnVDK0JkWjF0TXVWQ1BGWmNDQXdFQUFhTlFNRTR3SFFZRFZSME9CQllFRkp2S3M4UmZKYVhUSDA4VytTR3YKelF5S24wSDhNQjhHQTFVZEl3UVlNQmFBRkp2S3M4UmZKYVhUSDA4VytTR3Z6UXlLbjBIOE1Bd0dBMVVkRXdRRgpNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEUVFCSmxmZkpIeWJqREd4Uk1xYVJtRGhYMCs2djAyVFVLWnNXCnI1UXVWYnBRaEg2dSswVWdjVzBqcDlRd3B4b1BUTFRXR1hFV0JCQnVyeEZ3aUNCaGtRK1YKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
||||
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlCT3dJQkFBSkJBTkxKaFBIaElUcVFiUGtsRzNpYkNWeHdHTVJmcC92NFhxaGZkUUhkY1ZmSGFwNk5RNVdvCmsvNHhJQSt1aTM1L01tTmFydE51QytCZFoxdE11VkNQRlpjQ0F3RUFBUUpBRUoyTit6c1IwWG44L1E2dHdhNEcKNk9CMU0xV08rayt6dG5YLzFTdk5lV3U4RDZHSW10dXBMVFlnalpjSHVmeWtqMDlqaUhtakh4OHU4WlpCL28xTgpNUUloQVBXK2V5Wm83YXkzbE16MVYwMVdWak5LSzlRU24xTUpsYjA2aC9MdVl2OUZBaUVBMjVXUGVkS2dWeUNXClNtVXdiUHc4Zm5UY3BxRFdFM3lUTzN2S2NlYnFNU3NDSUJGM1VtVnVlOFlVM2p5YkMzTnh1WHEzd05tMzRSOFQKeFZMSHdEWGgvNk5KQWlFQWwyb0hHR0x6NjRCdUFmaktycXd6N3FNWXI5SENMSWUvWXNvV3Evb2x6U2NDSVFEaQpEMmxXdXNvZTIvbkVxZkRWVldHV2x5Sjd5T21xYVZtL2lOVU45QjJOMmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
|
||||
kind: Secret
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
name: test-infra-app-tls-6hkmhf2224
|
||||
type: kubernetes.io/tls
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
baseAnno: This is an base annotation
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
name: test-infra-baseprefix-mungebot-service
|
||||
spec:
|
||||
ports:
|
||||
- port: 7002
|
||||
selector:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
baseAnno: This is an base annotation
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
name: test-infra-baseprefix-mungebot
|
||||
spec:
|
||||
replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
baseAnno: This is an base annotation
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mungebot
|
||||
foo: bar
|
||||
org: kubernetes
|
||||
repo: test-infra
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: FOO
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: somekey
|
||||
name: test-infra-app-env-bh449c299k
|
||||
- name: BAR
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
key: somekey
|
||||
name: test-infra-app-tls-6hkmhf2224
|
||||
- name: foo
|
||||
value: bar
|
||||
image: nginx:1.8.0
|
||||
name: nginx
|
||||
ports:
|
||||
- containerPort: 80
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: someConfigMap
|
||||
- configMapRef:
|
||||
name: test-infra-app-env-bh449c299k
|
||||
- secretRef:
|
||||
name: test-infra-app-tls-6hkmhf2224
|
||||
image: busybox
|
||||
name: busybox
|
||||
volumeMounts:
|
||||
- mountPath: /tmp/env
|
||||
name: app-env
|
||||
- mountPath: /tmp/tls
|
||||
name: app-tls
|
||||
volumes:
|
||||
- configMap:
|
||||
name: test-infra-app-env-bh449c299k
|
||||
name: app-env
|
||||
- name: app-tls
|
||||
secret:
|
||||
secretName: test-infra-app-tls-6hkmhf2224
|
||||
5
pkg/commands/build/testdata/testcase-simple/test.yaml
vendored
Normal file
5
pkg/commands/build/testdata/testcase-simple/test.yaml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
description: simple
|
||||
args: []
|
||||
filename: ../../examplelayout/simple/instances/exampleinstance/
|
||||
expectedStdout: testdata/testcase-simple/expected.yaml
|
||||
expectedDiff: testdata/testcase-simple/expected.diff
|
||||
128
pkg/commands/build/testdata/testcase-single-overlay/expected.diff
vendored
Normal file
128
pkg/commands/build/testdata/testcase-single-overlay/expected.diff
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
diff -u -N /tmp/noop/apps_v1beta2_Deployment_nginx.yaml /tmp/transformed/apps_v1beta2_Deployment_nginx.yaml
|
||||
--- /tmp/noop/apps_v1beta2_Deployment_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/apps_v1beta2_Deployment_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -5,23 +5,26 @@
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
- team: foo
|
||||
- name: team-foo-nginx
|
||||
+ team: override-foo
|
||||
+ name: staging-team-foo-nginx
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
- team: foo
|
||||
+ team: override-foo
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
- team: foo
|
||||
+ team: override-foo
|
||||
spec:
|
||||
containers:
|
||||
- image: nginx
|
||||
@@ -30,8 +33,12 @@
|
||||
- mountPath: /tmp/ps
|
||||
name: nginx-persistent-storage
|
||||
volumes:
|
||||
- - emptyDir: {}
|
||||
+ - gcePersistentDisk:
|
||||
+ pdName: nginx-persistent-storage
|
||||
name: nginx-persistent-storage
|
||||
- configMap:
|
||||
- name: team-foo-configmap-in-base-bbdmdh7m8t
|
||||
+ name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
+ name: configmap-in-overlay
|
||||
+ - configMap:
|
||||
+ name: staging-team-foo-configmap-in-base-gh9d7t85gb
|
||||
name: configmap-in-base
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_configmap-in-base.yaml /tmp/transformed/v1_ConfigMap_configmap-in-base.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_configmap-in-base.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_configmap-in-base.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
- foo: bar
|
||||
+ foo: override-bar
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
@@ -8,6 +8,7 @@
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
- team: foo
|
||||
- name: team-foo-configmap-in-base-bbdmdh7m8t
|
||||
+ team: override-foo
|
||||
+ name: staging-team-foo-configmap-in-base-gh9d7t85gb
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_configmap-in-overlay.yaml /tmp/transformed/v1_ConfigMap_configmap-in-overlay.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_configmap-in-overlay.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_configmap-in-overlay.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -0,0 +1,10 @@
|
||||
+apiVersion: v1
|
||||
+data:
|
||||
+ hello: world
|
||||
+kind: ConfigMap
|
||||
+metadata:
|
||||
+ creationTimestamp: null
|
||||
+ labels:
|
||||
+ env: staging
|
||||
+ team: override-foo
|
||||
+ name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
diff -u -N /tmp/noop/v1_Secret_secret-in-base.yaml /tmp/transformed/v1_Secret_secret-in-base.yaml
|
||||
--- /tmp/noop/v1_Secret_secret-in-base.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Secret_secret-in-base.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,6 +1,7 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
password: c29tZXB3
|
||||
+ proxy: aGFwcm94eQ==
|
||||
username: YWRtaW4=
|
||||
kind: Secret
|
||||
metadata:
|
||||
@@ -9,7 +10,8 @@
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
- team: foo
|
||||
- name: team-foo-secret-in-base-tkm7hhtf8d
|
||||
+ team: override-foo
|
||||
+ name: staging-team-foo-secret-in-base-c8db7gk2m2
|
||||
type: Opaque
|
||||
diff -u -N /tmp/noop/v1_Service_nginx.yaml /tmp/transformed/v1_Service_nginx.yaml
|
||||
--- /tmp/noop/v1_Service_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Service_nginx.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -5,13 +5,15 @@
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
- team: foo
|
||||
- name: team-foo-nginx
|
||||
+ team: override-foo
|
||||
+ name: staging-team-foo-nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: mynginx
|
||||
+ env: staging
|
||||
org: example.com
|
||||
- team: foo
|
||||
+ team: override-foo
|
||||
105
pkg/commands/build/testdata/testcase-single-overlay/expected.yaml
vendored
Normal file
105
pkg/commands/build/testdata/testcase-single-overlay/expected.yaml
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
foo: override-bar
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: override-foo
|
||||
name: staging-team-foo-configmap-in-base-gh9d7t85gb
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
hello: world
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
env: staging
|
||||
team: override-foo
|
||||
name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
password: c29tZXB3
|
||||
proxy: aGFwcm94eQ==
|
||||
username: YWRtaW4=
|
||||
kind: Secret
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: override-foo
|
||||
name: staging-team-foo-secret-in-base-c8db7gk2m2
|
||||
type: Opaque
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: override-foo
|
||||
name: staging-team-foo-nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: override-foo
|
||||
---
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: override-foo
|
||||
name: staging-team-foo-nginx
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: override-foo
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
note: This is a test annotation
|
||||
labels:
|
||||
app: mynginx
|
||||
env: staging
|
||||
org: example.com
|
||||
team: override-foo
|
||||
spec:
|
||||
containers:
|
||||
- image: nginx
|
||||
name: nginx
|
||||
volumeMounts:
|
||||
- mountPath: /tmp/ps
|
||||
name: nginx-persistent-storage
|
||||
volumes:
|
||||
- gcePersistentDisk:
|
||||
pdName: nginx-persistent-storage
|
||||
name: nginx-persistent-storage
|
||||
- configMap:
|
||||
name: staging-configmap-in-overlay-k7cbc75tg8
|
||||
name: configmap-in-overlay
|
||||
- configMap:
|
||||
name: staging-team-foo-configmap-in-base-gh9d7t85gb
|
||||
name: configmap-in-base
|
||||
15
pkg/commands/build/testdata/testcase-single-overlay/in/overlay/deployment.yaml
vendored
Normal file
15
pkg/commands/build/testdata/testcase-single-overlay/in/overlay/deployment.yaml
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
volumes:
|
||||
- name: nginx-persistent-storage
|
||||
emptyDir: null
|
||||
gcePersistentDisk:
|
||||
pdName: nginx-persistent-storage
|
||||
- configMap:
|
||||
name: configmap-in-overlay
|
||||
name: configmap-in-overlay
|
||||
21
pkg/commands/build/testdata/testcase-single-overlay/in/overlay/kustomization.yaml
vendored
Normal file
21
pkg/commands/build/testdata/testcase-single-overlay/in/overlay/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
namePrefix: staging-
|
||||
commonLabels:
|
||||
env: staging
|
||||
team: override-foo
|
||||
patchesStrategicMerge:
|
||||
- deployment.yaml
|
||||
bases:
|
||||
- ../package/
|
||||
configMapGenerator:
|
||||
- name: configmap-in-overlay
|
||||
literals:
|
||||
- hello=world
|
||||
- name: configmap-in-base
|
||||
behavior: replace
|
||||
literals:
|
||||
- foo=override-bar
|
||||
secretGenerator:
|
||||
- name: secret-in-base
|
||||
behavior: merge
|
||||
commands:
|
||||
proxy: "printf haproxy"
|
||||
24
pkg/commands/build/testdata/testcase-single-overlay/in/package/deployment.yaml
vendored
Normal file
24
pkg/commands/build/testdata/testcase-single-overlay/in/package/deployment.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx
|
||||
volumeMounts:
|
||||
- name: nginx-persistent-storage
|
||||
mountPath: /tmp/ps
|
||||
volumes:
|
||||
- name: nginx-persistent-storage
|
||||
emptyDir: {}
|
||||
- configMap:
|
||||
name: configmap-in-base
|
||||
name: configmap-in-base
|
||||
19
pkg/commands/build/testdata/testcase-single-overlay/in/package/kustomization.yaml
vendored
Normal file
19
pkg/commands/build/testdata/testcase-single-overlay/in/package/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
namePrefix: team-foo-
|
||||
commonLabels:
|
||||
app: mynginx
|
||||
org: example.com
|
||||
team: foo
|
||||
commonAnnotations:
|
||||
note: This is a test annotation
|
||||
resources:
|
||||
- deployment.yaml
|
||||
- service.yaml
|
||||
configMapGenerator:
|
||||
- name: configmap-in-base
|
||||
literals:
|
||||
- foo=bar
|
||||
secretGenerator:
|
||||
- name: secret-in-base
|
||||
commands:
|
||||
username: "printf admin"
|
||||
password: "printf somepw"
|
||||
11
pkg/commands/build/testdata/testcase-single-overlay/in/package/service.yaml
vendored
Normal file
11
pkg/commands/build/testdata/testcase-single-overlay/in/package/service.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: nginx
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: nginx
|
||||
5
pkg/commands/build/testdata/testcase-single-overlay/test.yaml
vendored
Normal file
5
pkg/commands/build/testdata/testcase-single-overlay/test.yaml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
description: single overlay
|
||||
args: []
|
||||
filename: testdata/testcase-single-overlay/in/overlay/
|
||||
expectedStdout: testdata/testcase-single-overlay/expected.yaml
|
||||
expectedDiff: testdata/testcase-single-overlay/expected.diff
|
||||
186
pkg/commands/build/testdata/testcase-variable-ref/expected.diff
vendored
Normal file
186
pkg/commands/build/testdata/testcase-variable-ref/expected.diff
vendored
Normal file
@@ -0,0 +1,186 @@
|
||||
diff -u -N /tmp/noop/apps_v1beta1_StatefulSet_cockroachdb.yaml /tmp/transformed/apps_v1beta1_StatefulSet_cockroachdb.yaml
|
||||
--- /tmp/noop/apps_v1beta1_StatefulSet_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/apps_v1beta1_StatefulSet_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,10 +1,10 @@
|
||||
apiVersion: apps/v1beta1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
spec:
|
||||
replicas: 3
|
||||
- serviceName: base-cockroachdb
|
||||
+ serviceName: dev-base-cockroachdb
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
@@ -27,7 +27,7 @@
|
||||
- /bin/bash
|
||||
- -ecx
|
||||
- exec /cockroach/cockroach start --logtostderr --certs-dir /cockroach/cockroach-certs
|
||||
- --host $(hostname -f) --http-host 0.0.0.0 --join base-cockroachdb-0.base-cockroachdb,base-cockroachdb-1.base-cockroachdb,base-cockroachdb-2.base-cockroachdb
|
||||
+ --host $(hostname -f) --http-host 0.0.0.0 --join dev-base-cockroachdb-0.dev-base-cockroachdb,dev-base-cockroachdb-1.dev-base-cockroachdb,dev-base-cockroachdb-2.dev-base-cockroachdb
|
||||
--cache 25% --max-sql-memory 25%
|
||||
image: cockroachdb/cockroach:v1.1.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
@@ -48,7 +48,7 @@
|
||||
- -ecx
|
||||
- /request-cert -namespace=${POD_NAMESPACE} -certs-dir=/cockroach-certs -type=node
|
||||
-addresses=localhost,127.0.0.1,${POD_IP},$(hostname -f),$(hostname -f|cut
|
||||
- -f 1-2 -d '.'),base-cockroachdb-public -symlink-ca-from=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
+ -f 1-2 -d '.'),dev-base-cockroachdb-public -symlink-ca-from=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
env:
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
@@ -64,7 +64,7 @@
|
||||
volumeMounts:
|
||||
- mountPath: /cockroach-certs
|
||||
name: certs
|
||||
- serviceAccountName: base-cockroachdb
|
||||
+ serviceAccountName: dev-base-cockroachdb
|
||||
terminationGracePeriodSeconds: 60
|
||||
volumes:
|
||||
- name: datadir
|
||||
diff -u -N /tmp/noop/batch_v1beta1_CronJob_cronjob-example.yaml /tmp/transformed/batch_v1beta1_CronJob_cronjob-example.yaml
|
||||
--- /tmp/noop/batch_v1beta1_CronJob_cronjob-example.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/batch_v1beta1_CronJob_cronjob-example.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: batch/v1beta1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
- name: base-cronjob-example
|
||||
+ name: dev-base-cronjob-example
|
||||
spec:
|
||||
concurrencyPolicy: Forbid
|
||||
jobTemplate:
|
||||
@@ -11,11 +11,11 @@
|
||||
containers:
|
||||
- command:
|
||||
- echo
|
||||
- - base-cockroachdb
|
||||
- - base-test-config-map-259876d7fg
|
||||
+ - dev-base-cockroachdb
|
||||
+ - dev-base-test-config-map-b2g2dmd64b
|
||||
env:
|
||||
- name: CDB_PUBLIC_SVC
|
||||
- value: base-cockroachdb-public
|
||||
+ value: dev-base-cockroachdb-public
|
||||
image: cockroachdb/cockroach:v1.1.5
|
||||
name: cronjob-example
|
||||
schedule: '*/1 * * * *'
|
||||
diff -u -N /tmp/noop/policy_v1beta1_PodDisruptionBudget_cockroachdb-budget.yaml /tmp/transformed/policy_v1beta1_PodDisruptionBudget_cockroachdb-budget.yaml
|
||||
--- /tmp/noop/policy_v1beta1_PodDisruptionBudget_cockroachdb-budget.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/policy_v1beta1_PodDisruptionBudget_cockroachdb-budget.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,7 +3,7 @@
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb-budget
|
||||
+ name: dev-base-cockroachdb-budget
|
||||
spec:
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
diff -u -N /tmp/noop/rbac.authorization.k8s.io_v1beta1_ClusterRoleBinding_cockroachdb.yaml /tmp/transformed/rbac.authorization.k8s.io_v1beta1_ClusterRoleBinding_cockroachdb.yaml
|
||||
--- /tmp/noop/rbac.authorization.k8s.io_v1beta1_ClusterRoleBinding_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/rbac.authorization.k8s.io_v1beta1_ClusterRoleBinding_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,12 +3,12 @@
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
namespace: default
|
||||
diff -u -N /tmp/noop/rbac.authorization.k8s.io_v1beta1_ClusterRole_cockroachdb.yaml /tmp/transformed/rbac.authorization.k8s.io_v1beta1_ClusterRole_cockroachdb.yaml
|
||||
--- /tmp/noop/rbac.authorization.k8s.io_v1beta1_ClusterRole_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/rbac.authorization.k8s.io_v1beta1_ClusterRole_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,7 +3,7 @@
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
rules:
|
||||
- apiGroups:
|
||||
- certificates.k8s.io
|
||||
diff -u -N /tmp/noop/rbac.authorization.k8s.io_v1beta1_RoleBinding_cockroachdb.yaml /tmp/transformed/rbac.authorization.k8s.io_v1beta1_RoleBinding_cockroachdb.yaml
|
||||
--- /tmp/noop/rbac.authorization.k8s.io_v1beta1_RoleBinding_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/rbac.authorization.k8s.io_v1beta1_RoleBinding_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,12 +3,12 @@
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
namespace: default
|
||||
diff -u -N /tmp/noop/rbac.authorization.k8s.io_v1beta1_Role_cockroachdb.yaml /tmp/transformed/rbac.authorization.k8s.io_v1beta1_Role_cockroachdb.yaml
|
||||
--- /tmp/noop/rbac.authorization.k8s.io_v1beta1_Role_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/rbac.authorization.k8s.io_v1beta1_Role_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,7 +3,7 @@
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
diff -u -N /tmp/noop/v1_ConfigMap_test-config-map.yaml /tmp/transformed/v1_ConfigMap_test-config-map.yaml
|
||||
--- /tmp/noop/v1_ConfigMap_test-config-map.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ConfigMap_test-config-map.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -5,4 +5,4 @@
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
- name: base-test-config-map-259876d7fg
|
||||
+ name: dev-base-test-config-map-b2g2dmd64b
|
||||
diff -u -N /tmp/noop/v1_ServiceAccount_cockroachdb.yaml /tmp/transformed/v1_ServiceAccount_cockroachdb.yaml
|
||||
--- /tmp/noop/v1_ServiceAccount_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_ServiceAccount_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,4 +3,4 @@
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
diff -u -N /tmp/noop/v1_Service_cockroachdb-public.yaml /tmp/transformed/v1_Service_cockroachdb-public.yaml
|
||||
--- /tmp/noop/v1_Service_cockroachdb-public.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Service_cockroachdb-public.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -3,7 +3,7 @@
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb-public
|
||||
+ name: dev-base-cockroachdb-public
|
||||
spec:
|
||||
ports:
|
||||
- name: grpc
|
||||
diff -u -N /tmp/noop/v1_Service_cockroachdb.yaml /tmp/transformed/v1_Service_cockroachdb.yaml
|
||||
--- /tmp/noop/v1_Service_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
+++ /tmp/transformed/v1_Service_cockroachdb.yaml YYYY-MM-DD HH:MM:SS
|
||||
@@ -8,7 +8,7 @@
|
||||
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
|
||||
labels:
|
||||
app: cockroachdb
|
||||
- name: base-cockroachdb
|
||||
+ name: dev-base-cockroachdb
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
235
pkg/commands/build/testdata/testcase-variable-ref/expected.yaml
vendored
Normal file
235
pkg/commands/build/testdata/testcase-variable-ref/expected.yaml
vendored
Normal file
@@ -0,0 +1,235 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- secrets
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb
|
||||
rules:
|
||||
- apiGroups:
|
||||
- certificates.k8s.io
|
||||
resources:
|
||||
- certificatesigningrequests
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- watch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: dev-base-cockroachdb
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: dev-base-cockroachdb
|
||||
namespace: default
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: dev-base-cockroachdb
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: dev-base-cockroachdb
|
||||
namespace: default
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
baz: qux
|
||||
foo: bar
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: dev-base-test-config-map-b2g2dmd64b
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
prometheus.io/path: _status/vars
|
||||
prometheus.io/port: "8080"
|
||||
prometheus.io/scrape: "true"
|
||||
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
- name: grpc
|
||||
port: 26257
|
||||
targetPort: 26257
|
||||
- name: http
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: cockroachdb
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb-public
|
||||
spec:
|
||||
ports:
|
||||
- name: grpc
|
||||
port: 26257
|
||||
targetPort: 26257
|
||||
- name: http
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: cockroachdb
|
||||
---
|
||||
apiVersion: apps/v1beta1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: dev-base-cockroachdb
|
||||
spec:
|
||||
replicas: 3
|
||||
serviceName: dev-base-cockroachdb
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
spec:
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- podAffinityTerm:
|
||||
labelSelector:
|
||||
matchExpressions:
|
||||
- key: app
|
||||
operator: In
|
||||
values:
|
||||
- cockroachdb
|
||||
topologyKey: kubernetes.io/hostname
|
||||
weight: 100
|
||||
containers:
|
||||
- command:
|
||||
- /bin/bash
|
||||
- -ecx
|
||||
- exec /cockroach/cockroach start --logtostderr --certs-dir /cockroach/cockroach-certs
|
||||
--host $(hostname -f) --http-host 0.0.0.0 --join dev-base-cockroachdb-0.dev-base-cockroachdb,dev-base-cockroachdb-1.dev-base-cockroachdb,dev-base-cockroachdb-2.dev-base-cockroachdb
|
||||
--cache 25% --max-sql-memory 25%
|
||||
image: cockroachdb/cockroach:v1.1.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: cockroachdb
|
||||
ports:
|
||||
- containerPort: 26257
|
||||
name: grpc
|
||||
- containerPort: 8080
|
||||
name: http
|
||||
volumeMounts:
|
||||
- mountPath: /cockroach/cockroach-data
|
||||
name: datadir
|
||||
- mountPath: /cockroach/cockroach-certs
|
||||
name: certs
|
||||
initContainers:
|
||||
- command:
|
||||
- /bin/ash
|
||||
- -ecx
|
||||
- /request-cert -namespace=${POD_NAMESPACE} -certs-dir=/cockroach-certs -type=node
|
||||
-addresses=localhost,127.0.0.1,${POD_IP},$(hostname -f),$(hostname -f|cut
|
||||
-f 1-2 -d '.'),dev-base-cockroachdb-public -symlink-ca-from=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
env:
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
image: cockroachdb/cockroach-k8s-request-cert:0.2
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: init-certs
|
||||
volumeMounts:
|
||||
- mountPath: /cockroach-certs
|
||||
name: certs
|
||||
serviceAccountName: dev-base-cockroachdb
|
||||
terminationGracePeriodSeconds: 60
|
||||
volumes:
|
||||
- name: datadir
|
||||
persistentVolumeClaim:
|
||||
claimName: datadir
|
||||
- emptyDir: {}
|
||||
name: certs
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: datadir
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: batch/v1beta1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: dev-base-cronjob-example
|
||||
spec:
|
||||
concurrencyPolicy: Forbid
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- command:
|
||||
- echo
|
||||
- dev-base-cockroachdb
|
||||
- dev-base-test-config-map-b2g2dmd64b
|
||||
env:
|
||||
- name: CDB_PUBLIC_SVC
|
||||
value: dev-base-cockroachdb-public
|
||||
image: cockroachdb/cockroach:v1.1.5
|
||||
name: cronjob-example
|
||||
schedule: '*/1 * * * *'
|
||||
---
|
||||
apiVersion: policy/v1beta1
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
name: dev-base-cockroachdb-budget
|
||||
spec:
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: cockroachdb
|
||||
4
pkg/commands/build/testdata/testcase-variable-ref/in/overlay/kustomization.yaml
vendored
Normal file
4
pkg/commands/build/testdata/testcase-variable-ref/in/overlay/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
namePrefix: dev-
|
||||
bases:
|
||||
- ../package
|
||||
|
||||
235
pkg/commands/build/testdata/testcase-variable-ref/in/package/cockroachdb-statefulset-secure.yaml
vendored
Normal file
235
pkg/commands/build/testdata/testcase-variable-ref/in/package/cockroachdb-statefulset-secure.yaml
vendored
Normal file
@@ -0,0 +1,235 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: cockroachdb
|
||||
labels:
|
||||
app: cockroachdb
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: cockroachdb
|
||||
labels:
|
||||
app: cockroachdb
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- secrets
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: cockroachdb
|
||||
labels:
|
||||
app: cockroachdb
|
||||
rules:
|
||||
- apiGroups:
|
||||
- certificates.k8s.io
|
||||
resources:
|
||||
- certificatesigningrequests
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- watch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: cockroachdb
|
||||
labels:
|
||||
app: cockroachdb
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: cockroachdb
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: cockroachdb
|
||||
namespace: default
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: cockroachdb
|
||||
labels:
|
||||
app: cockroachdb
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: cockroachdb
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: cockroachdb
|
||||
namespace: default
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
# This service is meant to be used by clients of the database. It exposes a ClusterIP that will
|
||||
# automatically load balance connections to the different database pods.
|
||||
name: cockroachdb-public
|
||||
labels:
|
||||
app: cockroachdb
|
||||
spec:
|
||||
ports:
|
||||
# The main port, served by gRPC, serves Postgres-flavor SQL, internode
|
||||
# traffic and the cli.
|
||||
- port: 26257
|
||||
targetPort: 26257
|
||||
name: grpc
|
||||
# The secondary port serves the UI as well as health and debug endpoints.
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
name: http
|
||||
selector:
|
||||
app: cockroachdb
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
# This service only exists to create DNS entries for each pod in the stateful
|
||||
# set such that they can resolve each other's IP addresses. It does not
|
||||
# create a load-balanced ClusterIP and should not be used directly by clients
|
||||
# in most circumstances.
|
||||
name: cockroachdb
|
||||
labels:
|
||||
app: cockroachdb
|
||||
annotations:
|
||||
# This is needed to make the peer-finder work properly and to help avoid
|
||||
# edge cases where instance 0 comes up after losing its data and needs to
|
||||
# decide whether it should create a new cluster or try to join an existing
|
||||
# one. If it creates a new cluster when it should have joined an existing
|
||||
# one, we'd end up with two separate clusters listening at the same service
|
||||
# endpoint, which would be very bad.
|
||||
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
|
||||
# Enable automatic monitoring of all instances when Prometheus is running in the cluster.
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/path: "_status/vars"
|
||||
prometheus.io/port: "8080"
|
||||
spec:
|
||||
ports:
|
||||
- port: 26257
|
||||
targetPort: 26257
|
||||
name: grpc
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
name: http
|
||||
clusterIP: None
|
||||
selector:
|
||||
app: cockroachdb
|
||||
---
|
||||
apiVersion: policy/v1beta1
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: cockroachdb-budget
|
||||
labels:
|
||||
app: cockroachdb
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: cockroachdb
|
||||
maxUnavailable: 1
|
||||
---
|
||||
apiVersion: apps/v1beta1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: cockroachdb
|
||||
spec:
|
||||
serviceName: "cockroachdb"
|
||||
replicas: 3
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: cockroachdb
|
||||
spec:
|
||||
serviceAccountName: cockroachdb
|
||||
# Init containers are run only once in the lifetime of a pod, before
|
||||
# it's started up for the first time. It has to exit successfully
|
||||
# before the pod's main containers are allowed to start.
|
||||
initContainers:
|
||||
# The init-certs container sends a certificate signing request to the
|
||||
# kubernetes cluster.
|
||||
# You can see pending requests using: kubectl get csr
|
||||
# CSRs can be approved using: kubectl certificate approve <csr name>
|
||||
#
|
||||
# All addresses used to contact a node must be specified in the --addresses arg.
|
||||
#
|
||||
# In addition to the node certificate and key, the init-certs entrypoint will symlink
|
||||
# the cluster CA to the certs directory.
|
||||
- name: init-certs
|
||||
image: cockroachdb/cockroach-k8s-request-cert:0.2
|
||||
imagePullPolicy: IfNotPresent
|
||||
command:
|
||||
- "/bin/ash"
|
||||
- "-ecx"
|
||||
- "/request-cert -namespace=${POD_NAMESPACE} -certs-dir=/cockroach-certs -type=node -addresses=localhost,127.0.0.1,${POD_IP},$(hostname -f),$(hostname -f|cut -f 1-2 -d '.'),$(CDB_PUBLIC_SVC) -symlink-ca-from=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
env:
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
volumeMounts:
|
||||
- name: certs
|
||||
mountPath: /cockroach-certs
|
||||
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
podAffinityTerm:
|
||||
labelSelector:
|
||||
matchExpressions:
|
||||
- key: app
|
||||
operator: In
|
||||
values:
|
||||
- cockroachdb
|
||||
topologyKey: kubernetes.io/hostname
|
||||
containers:
|
||||
- name: cockroachdb
|
||||
image: cockroachdb/cockroach:v1.1.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 26257
|
||||
name: grpc
|
||||
- containerPort: 8080
|
||||
name: http
|
||||
volumeMounts:
|
||||
- name: datadir
|
||||
mountPath: /cockroach/cockroach-data
|
||||
- name: certs
|
||||
mountPath: /cockroach/cockroach-certs
|
||||
command:
|
||||
- "/bin/bash"
|
||||
- "-ecx"
|
||||
# The use of qualified `hostname -f` is crucial:
|
||||
# Other nodes aren't able to look up the unqualified hostname.
|
||||
# Once 2.0 is out, we should be able to switch from --host to --advertise-host to make port-forwarding work to the main port.
|
||||
- "exec /cockroach/cockroach start --logtostderr --certs-dir /cockroach/cockroach-certs --host $(hostname -f) --http-host 0.0.0.0 --join $(CDB_STATEFULSET_NAME)-0.$(CDB_STATEFULSET_SVC),$(CDB_STATEFULSET_NAME)-1.$(CDB_STATEFULSET_SVC),$(CDB_STATEFULSET_NAME)-2.$(CDB_STATEFULSET_SVC) --cache 25% --max-sql-memory 25%"
|
||||
# No pre-stop hook is required, a SIGTERM plus some time is all that's
|
||||
# needed for graceful shutdown of a node.
|
||||
terminationGracePeriodSeconds: 60
|
||||
volumes:
|
||||
- name: datadir
|
||||
persistentVolumeClaim:
|
||||
claimName: datadir
|
||||
- name: certs
|
||||
emptyDir: {}
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: datadir
|
||||
spec:
|
||||
accessModes:
|
||||
- "ReadWriteOnce"
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
21
pkg/commands/build/testdata/testcase-variable-ref/in/package/cronjob.yaml
vendored
Normal file
21
pkg/commands/build/testdata/testcase-variable-ref/in/package/cronjob.yaml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: batch/v1beta1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: cronjob-example
|
||||
spec:
|
||||
schedule: "*/1 * * * *"
|
||||
concurrencyPolicy: Forbid
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: cronjob-example
|
||||
image: cockroachdb/cockroach:v1.1.5
|
||||
command:
|
||||
- echo
|
||||
- "$(CDB_STATEFULSET_NAME)"
|
||||
- "$(TEST_CONFIG_MAP)"
|
||||
env:
|
||||
- name: CDB_PUBLIC_SVC
|
||||
value: "$(CDB_PUBLIC_SVC)"
|
||||
39
pkg/commands/build/testdata/testcase-variable-ref/in/package/kustomization.yaml
vendored
Normal file
39
pkg/commands/build/testdata/testcase-variable-ref/in/package/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
namePrefix: base-
|
||||
resources:
|
||||
- cockroachdb-statefulset-secure.yaml
|
||||
- cronjob.yaml
|
||||
configMapGenerator:
|
||||
- name: test-config-map
|
||||
literals:
|
||||
- foo=bar
|
||||
- baz=qux
|
||||
vars:
|
||||
- name: CDB_PUBLIC_SVC
|
||||
objref:
|
||||
kind: Service
|
||||
name: cockroachdb-public
|
||||
apiVersion: v1
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
||||
- name: CDB_STATEFULSET_NAME
|
||||
objref:
|
||||
kind: StatefulSet
|
||||
name: cockroachdb
|
||||
apiVersion: apps/v1beta1
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
||||
- name: CDB_STATEFULSET_SVC
|
||||
objref:
|
||||
kind: Service
|
||||
name: cockroachdb
|
||||
apiVersion: v1
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
||||
|
||||
- name: TEST_CONFIG_MAP
|
||||
objref:
|
||||
kind: ConfigMap
|
||||
name: test-config-map
|
||||
apiVersion: v1
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
||||
5
pkg/commands/build/testdata/testcase-variable-ref/test.yaml
vendored
Normal file
5
pkg/commands/build/testdata/testcase-variable-ref/test.yaml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
description: variable reference and substitution
|
||||
args: []
|
||||
filename: testdata/testcase-variable-ref/in/overlay/
|
||||
expectedStdout: testdata/testcase-variable-ref/expected.yaml
|
||||
expectedDiff: testdata/testcase-variable-ref/expected.diff
|
||||
Reference in New Issue
Block a user