File tree Expand file tree Collapse file tree 5 files changed +124
-7
lines changed
plugin/builtin/helmchartinflationgenerator
testdata/charts/test-chart Expand file tree Collapse file tree 5 files changed +124
-7
lines changed Original file line number Diff line number Diff line change @@ -567,6 +567,123 @@ metadata:
567
567
` )
568
568
}
569
569
570
+ // Reference: https://github.com/kubernetes-sigs/kustomize/issues/5163
571
+ func TestHelmChartInflationGeneratorForMultipleChartsDifferentVersion (t * testing.T ) {
572
+ th := kusttest_test .MakeEnhancedHarnessWithTmpRoot (t )
573
+ defer th .Reset ()
574
+ if err := th .ErrIfNoHelm (); err != nil {
575
+ t .Skip ("skipping: " + err .Error ())
576
+ }
577
+
578
+ copyValuesFilesTestChartsIntoHarness (t , th )
579
+
580
+ th .WriteK (th .GetRoot (), `
581
+ namespace: default
582
+ helmCharts:
583
+ - name: test-chart
584
+ releaseName: test
585
+ version: 1.0.0
586
+ skipTests: true
587
+ - name: minecraft
588
+ repo: https://itzg.github.io/minecraft-server-charts
589
+ version: 3.1.3
590
+ releaseName: test-1
591
+ - name: minecraft
592
+ repo: https://itzg.github.io/minecraft-server-charts
593
+ version: 3.1.4
594
+ releaseName: test-2
595
+ ` )
596
+
597
+ m := th .Run (th .GetRoot (), th .MakeOptionsPluginsEnabled ())
598
+ th .AssertActualEqualsExpected (m , `
599
+ apiVersion: apps/v1
600
+ kind: Deployment
601
+ metadata:
602
+ labels:
603
+ chart: test-1.0.0
604
+ name: my-deploy
605
+ namespace: default
606
+ spec:
607
+ replicas: 1
608
+ selector:
609
+ matchLabels:
610
+ app: test
611
+ template:
612
+ spec:
613
+ containers:
614
+ - image: test-image:v1.0.0
615
+ imagePullPolicy: Always
616
+ ---
617
+ apiVersion: v1
618
+ data:
619
+ rcon-password: Q0hBTkdFTUUh
620
+ kind: Secret
621
+ metadata:
622
+ labels:
623
+ app: test-1-minecraft
624
+ chart: minecraft-3.1.3
625
+ heritage: Helm
626
+ release: test-1
627
+ name: test-1-minecraft
628
+ namespace: default
629
+ type: Opaque
630
+ ---
631
+ apiVersion: v1
632
+ kind: Service
633
+ metadata:
634
+ labels:
635
+ app: test-1-minecraft
636
+ chart: minecraft-3.1.3
637
+ heritage: Helm
638
+ release: test-1
639
+ name: test-1-minecraft
640
+ namespace: default
641
+ spec:
642
+ ports:
643
+ - name: minecraft
644
+ port: 25565
645
+ protocol: TCP
646
+ targetPort: minecraft
647
+ selector:
648
+ app: test-1-minecraft
649
+ type: ClusterIP
650
+ ---
651
+ apiVersion: v1
652
+ data:
653
+ rcon-password: Q0hBTkdFTUUh
654
+ kind: Secret
655
+ metadata:
656
+ labels:
657
+ app: test-2-minecraft
658
+ chart: minecraft-3.1.4
659
+ heritage: Helm
660
+ release: test-2
661
+ name: test-2-minecraft
662
+ namespace: default
663
+ type: Opaque
664
+ ---
665
+ apiVersion: v1
666
+ kind: Service
667
+ metadata:
668
+ labels:
669
+ app: test-2-minecraft
670
+ chart: minecraft-3.1.4
671
+ heritage: Helm
672
+ release: test-2
673
+ name: test-2-minecraft
674
+ namespace: default
675
+ spec:
676
+ ports:
677
+ - name: minecraft
678
+ port: 25565
679
+ protocol: TCP
680
+ targetPort: minecraft
681
+ selector:
682
+ app: test-2-minecraft
683
+ type: ClusterIP
684
+ ` )
685
+ }
686
+
570
687
func copyValuesFilesTestChartsIntoHarness (t * testing.T , th * kusttest_test.HarnessEnhanced ) {
571
688
t .Helper ()
572
689
Original file line number Diff line number Diff line change @@ -786,22 +786,22 @@ func TestHelmChartInflationGeneratorUsingVersionWithoutRepo(t *testing.T) {
786
786
apiVersion: builtin
787
787
kind: HelmChartInflationGenerator
788
788
metadata:
789
- name: foo -chart
790
- name: foo -chart
789
+ name: test -chart
790
+ name: test -chart
791
791
version: 1.0.0
792
- releaseName: foo-chart
792
+ releaseName: test
793
793
chartHome: ./charts
794
794
` )
795
795
796
796
cm , err := rm .Resources ()[0 ].GetFieldValue ("metadata.name" )
797
797
assert .NoError (t , err )
798
798
assert .Equal (t , "bar" , cm )
799
799
800
- chartDir := filepath .Join (th .GetRoot (), "charts/foo -chart" )
800
+ chartDir := filepath .Join (th .GetRoot (), "charts/test -chart" )
801
801
assert .True (t , th .GetFSys ().Exists (chartDir ))
802
802
803
803
chartYamlContent , err := th .GetFSys ().ReadFile (filepath .Join (chartDir , "Chart.yaml" ))
804
804
assert .NoError (t , err )
805
- assert .Contains (t , string (chartYamlContent ), "name: foo -chart" )
805
+ assert .Contains (t , string (chartYamlContent ), "name: test -chart" )
806
806
assert .Contains (t , string (chartYamlContent ), "version: 1.0.0" )
807
807
}
Original file line number Diff line number Diff line change 1
1
apiVersion : v2
2
- name : foo -chart
3
- description : A Helm chart for Kubernetes
2
+ name : test -chart
3
+ description : A simple test helm chart.
4
4
5
5
# A chart can be either an 'application' or a 'library' chart.
6
6
#
File renamed without changes.
File renamed without changes.
You can’t perform that action at this time.
0 commit comments