@@ -684,6 +684,208 @@ spec:
684
684
` )
685
685
}
686
686
687
+ func TestHelmChartInflationGeneratorForMultipleKubeVersions (t * testing.T ) {
688
+ th := kusttest_test .MakeEnhancedHarnessWithTmpRoot (t )
689
+ defer th .Reset ()
690
+ if err := th .ErrIfNoHelm (); err != nil {
691
+ t .Skip ("skipping: " + err .Error ())
692
+ }
693
+
694
+ copyValuesFilesTestChartsIntoHarness (t , th )
695
+
696
+ th .WriteK (th .GetRoot (), `
697
+ namespace: default
698
+ helmCharts:
699
+ - name: minecraft
700
+ repo: https://itzg.github.io/minecraft-server-charts
701
+ version: 4.11.0
702
+ releaseName: test
703
+ kubeVersion: "1.16"
704
+ valuesInline:
705
+ minecraftServer:
706
+ extraPorts:
707
+ - name: map
708
+ containerPort: 8123
709
+ protocol: TCP
710
+ service:
711
+ enabled: false
712
+ ingress:
713
+ enabled: true
714
+ ` )
715
+
716
+ m := th .Run (th .GetRoot (), th .MakeOptionsPluginsEnabled ())
717
+ th .AssertActualEqualsExpected (m , `
718
+ apiVersion: v1
719
+ data:
720
+ rcon-password: Q0hBTkdFTUUh
721
+ kind: Secret
722
+ metadata:
723
+ labels:
724
+ app: test-minecraft
725
+ app.kubernetes.io/instance: test-minecraft
726
+ app.kubernetes.io/name: minecraft
727
+ app.kubernetes.io/version: 4.11.0
728
+ chart: minecraft-4.11.0
729
+ heritage: Helm
730
+ release: test
731
+ name: test-minecraft-rcon
732
+ namespace: default
733
+ type: Opaque
734
+ ---
735
+ apiVersion: v1
736
+ data:
737
+ cf-api-key: Q0hBTkdFTUUh
738
+ kind: Secret
739
+ metadata:
740
+ labels:
741
+ app: test-minecraft
742
+ app.kubernetes.io/instance: test-minecraft
743
+ app.kubernetes.io/name: minecraft
744
+ app.kubernetes.io/version: 4.11.0
745
+ chart: minecraft-4.11.0
746
+ heritage: Helm
747
+ release: test
748
+ name: test-minecraft-curseforge
749
+ namespace: default
750
+ type: Opaque
751
+ ---
752
+ apiVersion: v1
753
+ kind: Service
754
+ metadata:
755
+ labels:
756
+ app: test-minecraft
757
+ app.kubernetes.io/instance: test-minecraft
758
+ app.kubernetes.io/name: minecraft
759
+ app.kubernetes.io/version: 4.11.0
760
+ chart: minecraft-4.11.0
761
+ heritage: Helm
762
+ release: test
763
+ name: test-minecraft
764
+ namespace: default
765
+ spec:
766
+ ports:
767
+ - name: minecraft
768
+ port: 25565
769
+ protocol: TCP
770
+ targetPort: minecraft
771
+ selector:
772
+ app: test-minecraft
773
+ type: ClusterIP
774
+ ---
775
+ apiVersion: networking.k8s.io/v1beta1
776
+ kind: Ingress
777
+ metadata:
778
+ labels:
779
+ app: test-minecraft-map
780
+ app.kubernetes.io/instance: test-minecraft
781
+ app.kubernetes.io/name: minecraft
782
+ app.kubernetes.io/version: 4.11.0
783
+ chart: minecraft-4.11.0
784
+ heritage: Helm
785
+ release: test
786
+ name: test-minecraft-map
787
+ namespace: default
788
+ spec:
789
+ rules: null
790
+ ` )
791
+
792
+ th .WriteK (th .GetRoot (), `
793
+ namespace: default
794
+ helmCharts:
795
+ - name: minecraft
796
+ repo: https://itzg.github.io/minecraft-server-charts
797
+ version: 4.11.0
798
+ releaseName: test
799
+ kubeVersion: "1.27"
800
+ valuesInline:
801
+ minecraftServer:
802
+ extraPorts:
803
+ - name: map
804
+ containerPort: 8123
805
+ protocol: TCP
806
+ service:
807
+ enabled: false
808
+ ingress:
809
+ enabled: true
810
+ ` )
811
+
812
+ m = th .Run (th .GetRoot (), th .MakeOptionsPluginsEnabled ())
813
+ th .AssertActualEqualsExpected (m , `
814
+ apiVersion: v1
815
+ data:
816
+ rcon-password: Q0hBTkdFTUUh
817
+ kind: Secret
818
+ metadata:
819
+ labels:
820
+ app: test-minecraft
821
+ app.kubernetes.io/instance: test-minecraft
822
+ app.kubernetes.io/name: minecraft
823
+ app.kubernetes.io/version: 4.11.0
824
+ chart: minecraft-4.11.0
825
+ heritage: Helm
826
+ release: test
827
+ name: test-minecraft-rcon
828
+ namespace: default
829
+ type: Opaque
830
+ ---
831
+ apiVersion: v1
832
+ data:
833
+ cf-api-key: Q0hBTkdFTUUh
834
+ kind: Secret
835
+ metadata:
836
+ labels:
837
+ app: test-minecraft
838
+ app.kubernetes.io/instance: test-minecraft
839
+ app.kubernetes.io/name: minecraft
840
+ app.kubernetes.io/version: 4.11.0
841
+ chart: minecraft-4.11.0
842
+ heritage: Helm
843
+ release: test
844
+ name: test-minecraft-curseforge
845
+ namespace: default
846
+ type: Opaque
847
+ ---
848
+ apiVersion: v1
849
+ kind: Service
850
+ metadata:
851
+ labels:
852
+ app: test-minecraft
853
+ app.kubernetes.io/instance: test-minecraft
854
+ app.kubernetes.io/name: minecraft
855
+ app.kubernetes.io/version: 4.11.0
856
+ chart: minecraft-4.11.0
857
+ heritage: Helm
858
+ release: test
859
+ name: test-minecraft
860
+ namespace: default
861
+ spec:
862
+ ports:
863
+ - name: minecraft
864
+ port: 25565
865
+ protocol: TCP
866
+ targetPort: minecraft
867
+ selector:
868
+ app: test-minecraft
869
+ type: ClusterIP
870
+ ---
871
+ apiVersion: networking.k8s.io/v1
872
+ kind: Ingress
873
+ metadata:
874
+ labels:
875
+ app: test-minecraft-map
876
+ app.kubernetes.io/instance: test-minecraft
877
+ app.kubernetes.io/name: minecraft
878
+ app.kubernetes.io/version: 4.11.0
879
+ chart: minecraft-4.11.0
880
+ heritage: Helm
881
+ release: test
882
+ name: test-minecraft-map
883
+ namespace: default
884
+ spec:
885
+ rules: null
886
+ ` )
887
+ }
888
+
687
889
func copyValuesFilesTestChartsIntoHarness (t * testing.T , th * kusttest_test.HarnessEnhanced ) {
688
890
t .Helper ()
689
891
0 commit comments