mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 01:50:55 +00:00
Merge pull request #3838 from monopole/helmNamespace
A last-mile helm example, with namespace and prefix
This commit is contained in:
@@ -81,3 +81,156 @@ helmCharts:
|
|||||||
m := th.Run(th.GetRoot(), th.MakeOptionsPluginsEnabled())
|
m := th.Run(th.GetRoot(), th.MakeOptionsPluginsEnabled())
|
||||||
th.AssertActualEqualsExpected(m, expectedHelm)
|
th.AssertActualEqualsExpected(m, expectedHelm)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Last mile helm - show how kustomize puts helm charts into different
|
||||||
|
// namespaces with different customizations.
|
||||||
|
func TestHelmChartProdVsDev(t *testing.T) {
|
||||||
|
th := kusttest_test.MakeEnhancedHarnessWithTmpRoot(t)
|
||||||
|
defer th.Reset()
|
||||||
|
if err := th.ErrIfNoHelm(); err != nil {
|
||||||
|
t.Skip("skipping: " + err.Error())
|
||||||
|
}
|
||||||
|
dirBase := th.MkDir("base")
|
||||||
|
dirProd := th.MkDir("prod")
|
||||||
|
dirDev := th.MkDir("dev")
|
||||||
|
dirBoth := th.MkDir("both")
|
||||||
|
|
||||||
|
th.WriteK(dirBase, `
|
||||||
|
helmCharts:
|
||||||
|
- name: minecraft
|
||||||
|
repo: https://itzg.github.io/minecraft-server-charts
|
||||||
|
version: 3.1.3
|
||||||
|
releaseName: test
|
||||||
|
`)
|
||||||
|
th.WriteK(dirProd, `
|
||||||
|
namespace: prod
|
||||||
|
namePrefix: myProd-
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
`)
|
||||||
|
th.WriteK(dirDev, `
|
||||||
|
namespace: dev
|
||||||
|
namePrefix: myDev-
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
`)
|
||||||
|
th.WriteK(dirBoth, `
|
||||||
|
resources:
|
||||||
|
- ../dev
|
||||||
|
- ../prod
|
||||||
|
`)
|
||||||
|
|
||||||
|
// Base unchanged
|
||||||
|
m := th.Run(dirBase, th.MakeOptionsPluginsEnabled())
|
||||||
|
th.AssertActualEqualsExpected(m, expectedHelm)
|
||||||
|
|
||||||
|
// Prod has a "prod" namespace and a prefix.
|
||||||
|
m = th.Run(dirProd, th.MakeOptionsPluginsEnabled())
|
||||||
|
th.AssertActualEqualsExpected(m, `
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
rcon-password: Q0hBTkdFTUUh
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: test-minecraft
|
||||||
|
chart: minecraft-3.1.3
|
||||||
|
heritage: Helm
|
||||||
|
release: test
|
||||||
|
name: myProd-test-minecraft
|
||||||
|
namespace: prod
|
||||||
|
type: Opaque
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: test-minecraft
|
||||||
|
chart: minecraft-3.1.3
|
||||||
|
heritage: Helm
|
||||||
|
release: test
|
||||||
|
name: myProd-test-minecraft
|
||||||
|
namespace: prod
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: minecraft
|
||||||
|
port: 25565
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: minecraft
|
||||||
|
selector:
|
||||||
|
app: test-minecraft
|
||||||
|
type: ClusterIP
|
||||||
|
`)
|
||||||
|
|
||||||
|
// Both has two namespaces.
|
||||||
|
m = th.Run(dirBoth, th.MakeOptionsPluginsEnabled())
|
||||||
|
th.AssertActualEqualsExpected(m, `
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
rcon-password: Q0hBTkdFTUUh
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: test-minecraft
|
||||||
|
chart: minecraft-3.1.3
|
||||||
|
heritage: Helm
|
||||||
|
release: test
|
||||||
|
name: myDev-test-minecraft
|
||||||
|
namespace: dev
|
||||||
|
type: Opaque
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: test-minecraft
|
||||||
|
chart: minecraft-3.1.3
|
||||||
|
heritage: Helm
|
||||||
|
release: test
|
||||||
|
name: myDev-test-minecraft
|
||||||
|
namespace: dev
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: minecraft
|
||||||
|
port: 25565
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: minecraft
|
||||||
|
selector:
|
||||||
|
app: test-minecraft
|
||||||
|
type: ClusterIP
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
rcon-password: Q0hBTkdFTUUh
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: test-minecraft
|
||||||
|
chart: minecraft-3.1.3
|
||||||
|
heritage: Helm
|
||||||
|
release: test
|
||||||
|
name: myProd-test-minecraft
|
||||||
|
namespace: prod
|
||||||
|
type: Opaque
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: test-minecraft
|
||||||
|
chart: minecraft-3.1.3
|
||||||
|
heritage: Helm
|
||||||
|
release: test
|
||||||
|
name: myProd-test-minecraft
|
||||||
|
namespace: prod
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: minecraft
|
||||||
|
port: 25565
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: minecraft
|
||||||
|
selector:
|
||||||
|
app: test-minecraft
|
||||||
|
type: ClusterIP
|
||||||
|
`)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user