diff --git a/pkg/chartutil/requirements.go b/pkg/chartutil/requirements.go index 551430404d3..336d0ba6152 100644 --- a/pkg/chartutil/requirements.go +++ b/pkg/chartutil/requirements.go @@ -209,7 +209,13 @@ func ProcessRequirementsTags(reqs *Requirements, cvals Values) { func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error { reqs, err := LoadRequirements(c) if err != nil { - return ErrRequirementsNotFound + // if not just missing requirements file, return error + if nerr, ok := err.(ErrNoRequirementsFile); !ok { + return nerr + } else { + // no requirements to process + return nil + } } // set all to true for _, lr := range reqs.Dependencies { @@ -223,7 +229,7 @@ func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error { ProcessRequirementsTags(reqs, cvals) ProcessRequirementsConditions(reqs, cvals) - // make a map of charts to keep + // make a map of charts to remove rm := map[string]bool{} for _, r := range reqs.Dependencies { if !r.Enabled { diff --git a/pkg/chartutil/testdata/subpop/noreqs/Chart.yaml b/pkg/chartutil/testdata/subpop/noreqs/Chart.yaml new file mode 100644 index 00000000000..77bda03b644 --- /dev/null +++ b/pkg/chartutil/testdata/subpop/noreqs/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: A Helm chart for Kubernetes +name: parentchart +version: 0.1.0 \ No newline at end of file diff --git a/pkg/chartutil/testdata/subpop/noreqs/templates/service.yaml b/pkg/chartutil/testdata/subpop/noreqs/templates/service.yaml new file mode 100644 index 00000000000..fdf75aa911a --- /dev/null +++ b/pkg/chartutil/testdata/subpop/noreqs/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.externalPort }} + targetPort: {{ .Values.service.internalPort }} + protocol: TCP + name: {{ .Values.service.name }} + selector: + app: {{ .Chart.Name }} diff --git a/pkg/chartutil/testdata/subpop/noreqs/values.yaml b/pkg/chartutil/testdata/subpop/noreqs/values.yaml new file mode 100644 index 00000000000..81c18c6b014 --- /dev/null +++ b/pkg/chartutil/testdata/subpop/noreqs/values.yaml @@ -0,0 +1,27 @@ +# Default values for subchart. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +replicaCount: 1 +image: + repository: nginx + tag: stable + pullPolicy: IfNotPresent +service: + name: nginx + type: ClusterIP + externalPort: 80 + internalPort: 80 +resources: + limits: + cpu: 100m + memory: 128Mi + requests: + cpu: 100m + memory: 128Mi + + +# switch-like +tags: + front-end: true + back-end: false +