diff --git a/.circleci/config.yml b/.circleci/config.yml index 95a41ffce..fbd2d24a1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: test: docker: - - image: circleci/golang:1.10 + - image: circleci/golang:1.12 working_directory: /go/src/github.com/lrills/helm-unittest steps: - checkout diff --git a/CHANGELOG.md b/CHANGELOG.md index 50713996f..4f93bbd2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +0.1.5 / 2019-04-09 +================== +- update sprig (#72, #73) + 0.1.4 / 2019-03-30 ================== - fix slash problem in windows (#70) diff --git a/Gopkg.lock b/Gopkg.lock index 47ed8834b..39d91406c 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -2,60 +2,68 @@ [[projects]] - digest = "1:289dd4d7abfb3ad2b5f728fbe9b1d5c1bf7d265a3eb9ef92869af1f7baba4c7a" + digest = "1:e4b30804a381d7603b8a344009987c1ba351c26043501b23b8c7ce21f0b67474" name = "github.com/BurntSushi/toml" packages = ["."] pruneopts = "" - revision = "b26d9c308763d68093482582cea63d69be07a0f0" - version = "v0.3.0" + revision = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005" + version = "v0.3.1" [[projects]] - digest = "1:1355ed70fb12d3ae86828e65c35748269d1c8a20ab8c6c2f03107279c1e0bd90" + digest = "1:debe400440582cfe5580591afd0f7fdef5b17a25945f06bd3087bc67b4b8fd03" + name = "github.com/Masterminds/goutils" + packages = ["."] + pruneopts = "" + revision = "41ac8693c5c10a92ea1ff5ac3a7f95646f6123b0" + version = "v1.1.0" + +[[projects]] + digest = "1:b856d8248663c39265a764561c1a1a149783f6cc815feb54a1f3a591b91f6eca" name = "github.com/Masterminds/semver" packages = ["."] pruneopts = "" - revision = "15d8430ab86497c5c0da827b748823945e1cf1e1" - version = "v1.4.0" + revision = "c7af12943936e8c39859482e61f0574c2fd7fc75" + version = "v1.4.2" [[projects]] - digest = "1:8b99c3c677dfb27dbf56f7e1a32523924cd8be6a17b4a1fdd0d1270c16f0b432" + digest = "1:844a29d20675e6187639c578b6c690d198aac895ede377ebcb5545405d0ef80d" name = "github.com/Masterminds/sprig" packages = ["."] pruneopts = "" - revision = "6b2a58267f6a8b1dc8e2eb5519b984008fa85e8c" - version = "v2.15.0" + revision = "9f8fceff796fb9f4e992cd2bece016be0121ab74" + version = "2.19.0" [[projects]] - digest = "1:24cff84fefa06791f78f9bc6e05c2a3a90710c81ae6b76225280daf33b267d36" - name = "github.com/aokoli/goutils" + digest = "1:0f1cec63c43cdbea326265afcc44415c663123abf452ca9ba20a720884d9a16c" + name = "github.com/bradleyjkemp/cupaloy" packages = ["."] pruneopts = "" - revision = "3391d3790d23d03408670993e957e8f408993c34" - version = "v1.0.1" + revision = "4ebc4e863ab6bedcc009ccfb5f209939090ceadd" + version = "v2.4.0" [[projects]] - digest = "1:4a2d3623438a2dde9d7cb9ef57547f532e373b58ed67ec37bf27c2377b89ff2c" - name = "github.com/bradleyjkemp/cupaloy" + digest = "1:a9854984bc40330dde2125537b7f46d0a8d7860b3750de2e7cd0a6f904506212" + name = "github.com/cyphar/filepath-securejoin" packages = ["."] pruneopts = "" - revision = "0d797813a76b4573317a916b0c5816dc55fff62d" - version = "v2.0.0" + revision = "a261ee33d7a517f054effbf451841abaafe3e0fd" + version = "v0.2.2" [[projects]] - digest = "1:56c130d885a4aacae1dd9c7b71cfe39912c7ebc1ff7d2b46083c8812996dc43b" + digest = "1:0deddd908b6b4b768cfc272c16ee61e7088a60f7fe2f06c547bd3d8e1f8b8e77" name = "github.com/davecgh/go-spew" packages = ["spew"] pruneopts = "" - revision = "346938d642f2ec3594ed81d874461961cd0faa76" - version = "v1.1.0" + revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73" + version = "v1.1.1" [[projects]] - digest = "1:c9bebdae4ac52d0c3bbe5876de3d72f3bb05b4986865cdb3f15e305e1dc4fbca" + digest = "1:e988ed0ca0d81f4d28772760c02ee95084961311291bdfefc1b04617c178b722" name = "github.com/fatih/color" packages = ["."] pruneopts = "" - revision = "570b54cabe6b8eb0bc2dfce68d964677d63b5260" - version = "v1.5.0" + revision = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4" + version = "v1.7.0" [[projects]] digest = "1:b13707423743d41665fd23f0c36b2f37bb49c30e94adb813319c44188a51ba22" @@ -66,7 +74,7 @@ version = "v1.0.0" [[projects]] - digest = "1:2354bb28d349f64debeda3832fca79b758e211e9560bf8b57c2df619c07138e3" + digest = "1:9ab1b1c637d7c8f49e39d8538a650d7eb2137b076790cff69d160823b505964c" name = "github.com/gobwas/glob" packages = [ ".", @@ -79,12 +87,11 @@ "util/strings", ] pruneopts = "" - revision = "bea32b9cd2d6f55753d94a28e959b13f0244797a" - version = "v0.2.2" + revision = "5ccd90ef52e1e632236f7326478d4faa74f99438" + version = "v0.2.3" [[projects]] - branch = "master" - digest = "1:3b760d3b93f994df8eb1d9ebfad17d3e9e37edcb7f7efaa15b427c0d7a64f4e4" + digest = "1:529d738b7976c3848cae5cf3a8036440166835e389c1f617af701eeb12a0518d" name = "github.com/golang/protobuf" packages = [ "proto", @@ -92,31 +99,32 @@ "ptypes/timestamp", ] pruneopts = "" - revision = "1e59b77b52bf8e4b449a57e6f79f21226d571845" + revision = "b5d812f8a3706043e23a9cd5babf2e5423744d30" + version = "v1.3.1" [[projects]] - digest = "1:c1d7e883c50a26ea34019320d8ae40fad86c9e5d56e63a1ba2cb618cef43e986" + digest = "1:ad92aa49f34cbc3546063c7eb2cabb55ee2278b72842eda80e2a20a8a06a8d73" name = "github.com/google/uuid" packages = ["."] pruneopts = "" - revision = "064e2069ce9c359c118179501254f67d7d37ba24" - version = "0.2" + revision = "0cd6bf5da1e1c83f8b45653022c74f71af0538a4" + version = "v1.1.1" [[projects]] - branch = "master" - digest = "1:5ba7e67b4f0cc8db384148560353e472418284ebb7f6711fc03d53b91aed72d3" + digest = "1:35979179658d20a73693589e67bdc3baf4dc0ef9f524b1dfd3cc55fb5f6ae384" name = "github.com/huandu/xstrings" packages = ["."] pruneopts = "" - revision = "37469d0c81a7910b49d64a0d308ded4823e90937" + revision = "f02667b379e2fb5916c3cda2cf31e0eb885d79f8" + version = "v1.2.0" [[projects]] - digest = "1:012684836b98fe30c53f8536c01325c52622f420fa27c1fb3ca8a1471c469606" + digest = "1:31bfd110d31505e9ffbc9478e31773bf05bf02adcaeb9b139af42684f9294c13" name = "github.com/imdario/mergo" packages = ["."] pruneopts = "" - revision = "7fe0c75c13abdee74b09fcacef5ea1c6bba6a874" - version = "0.2.4" + revision = "7c29201646fa3de8506f701213473dd407f19646" + version = "v0.3.7" [[projects]] digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be" @@ -135,20 +143,28 @@ version = "v0.0.9" [[projects]] - digest = "1:78229b46ddb7434f881390029bd1af7661294af31f6802e0e1bedaad4ab0af3c" + digest = "1:d0600e4cf07697303f37130791b2ce4577367931416bea8ec4f601bde3f7c5bf" name = "github.com/mattn/go-isatty" packages = ["."] pruneopts = "" - revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39" - version = "v0.0.3" + revision = "c2a7a6ca930a4cd0bc33a3f298eb71960732a3a7" + version = "v0.0.7" [[projects]] - branch = "master" - digest = "1:30a2adc78c422ebd23aac9cfece529954d5eacf9ddbe37345f2a17439f8fa849" + digest = "1:bcc46a0fbd9e933087bef394871256b5c60269575bb661935874729c65bbbf60" name = "github.com/mitchellh/mapstructure" packages = ["."] pruneopts = "" - revision = "06020f85339e21b2478f756a78e295255ffa4d6a" + revision = "3536a929edddb9a5b34bd6861dc4a9647cb459fe" + version = "v1.1.2" + +[[projects]] + digest = "1:1d7e1867c49a6dd9856598ef7c3123604ea3daabf5b83f303ff457bcbc410b1d" + name = "github.com/pkg/errors" + packages = ["."] + pruneopts = "" + revision = "ba968bfe8b2f7e042a574c888954fccecfa385b4" + version = "v0.8.1" [[projects]] digest = "1:256484dbbcd271f9ecebc6795b2df8cad4c458dd0f5fd82a8c2fa0c29f233411" @@ -159,66 +175,58 @@ version = "v1.0.0" [[projects]] - digest = "1:6b55df4b0517a459af9d3879c99330af4367adcf45f3d0d37ded80a6272ae057" - name = "github.com/satori/go.uuid" - packages = ["."] - pruneopts = "" - revision = "879c5887cd475cd7864858769793b2ceb0d44feb" - version = "v1.1.0" - -[[projects]] - digest = "1:2208a80fc3259291e43b30f42f844d18f4218036dff510f42c653ec9890d460a" + digest = "1:a1403cc8a94b8d7956ee5e9694badef0e7b051af289caad1cf668331e3ffa4f6" name = "github.com/spf13/cobra" packages = ["."] pruneopts = "" - revision = "7b2c5ac9fc04fc5efafb60700713d4fa609b777b" - version = "v0.0.1" + revision = "ef82de70bb3f60c65fb8eebacbb2d122ef517385" + version = "v0.0.3" [[projects]] - digest = "1:261bc565833ef4f02121450d74eb88d5ae4bd74bfe5d0e862cddb8550ec35000" + digest = "1:cbaf13cdbfef0e4734ed8a7504f57fe893d471d62a35b982bf6fb3f036449a66" name = "github.com/spf13/pflag" packages = ["."] pruneopts = "" - revision = "e57e3eeb33f795204c1ca35f56c44f83227c6e66" - version = "v1.0.0" + revision = "298182f68c66c05229eb03ac171abe6e309ee79a" + version = "v1.0.3" [[projects]] - digest = "1:306417ea2f31ea733df356a2b895de63776b6a5107085b33458e5cd6eb1d584d" + digest = "1:711eebe744c0151a9d09af2315f0bb729b2ec7637ef4c410fa90a18ef74b65b6" name = "github.com/stretchr/objx" packages = ["."] pruneopts = "" - revision = "facf9a85c22f48d2f52f2380e4efce1768749a89" - version = "v0.1" + revision = "477a77ecc69700c7cdeb1fa9e129548e1c1c393c" + version = "v0.1.1" [[projects]] - digest = "1:3926a4ec9a4ff1a072458451aa2d9b98acd059a45b38f7335d31e06c3d6a0159" + digest = "1:381bcbeb112a51493d9d998bbba207a529c73dbb49b3fd789e48c63fac1f192c" name = "github.com/stretchr/testify" packages = [ "assert", "mock", ] pruneopts = "" - revision = "69483b4bd14f5845b5a1e55bca19e954e827f1d0" - version = "v1.1.4" + revision = "ffdc059bfe9ce6a4e144ba849dbedead332c6053" + version = "v1.3.0" [[projects]] branch = "master" - digest = "1:c3415eeb330bf30a2d8181e516ec79804c198f3d171ab9c9364f29dbe76c05d9" + digest = "1:36ef1d8645934b1744cc7d8726e00d3dd9d8d84c18617bf7367a3a6d532f3370" name = "golang.org/x/crypto" packages = [ "pbkdf2", "scrypt", ] pruneopts = "" - revision = "94eea52f7b742c7cbe0b03b22f0c4c8631ece122" + revision = "a5d413f7728c81fb97d96a2b722368945f651e78" [[projects]] branch = "master" - digest = "1:14f10552445a1c80a1bf1e8f58826aa7115d978df7183dce176637a7e2b3511e" + digest = "1:2c8100dd5d57b0803cebab4de1d55e0438b40afdfad520cbbecba7c8a13aed15" name = "golang.org/x/sys" packages = ["unix"] pruneopts = "" - revision = "af50095a40f9041b3b38960738837185c26e9419" + revision = "baf5eb976a8cd65845293cd814ea151018552292" [[projects]] digest = "1:cedccf16b71e86db87a24f8d4c70b0a855872eb967cb906a66b95de56aefbd0d" @@ -230,14 +238,14 @@ [[projects]] branch = "master" - digest = "1:e2f24816b954858931b8d2b369fb0bad925491d3183e84a37e9e304be7d66ab4" + digest = "1:9fe71fb011ae5d0e37120a90c940a05ea76dc46909ec73ff1c78c8db1038cb75" name = "k8s.io/apimachinery" packages = ["pkg/version"] pruneopts = "" - revision = "5250765d28a6a1e07c6f09fe814a4b58ad74cc11" + revision = "10bf64c7018d1bf6b021767df5126dec74b08010" [[projects]] - digest = "1:73b60f15403da51e552e3b03df61bca57aed507d592d2288cd80191d80390186" + digest = "1:93dacf333c11ff29b3a336c1bbff8f2f1dc689a47a49f9e58a183202eaeae184" name = "k8s.io/helm" packages = [ "pkg/chartutil", @@ -250,8 +258,8 @@ "pkg/version", ] pruneopts = "" - revision = "20adb27c7c5868466912eebdf6664e7390ebe710" - version = "v2.9.1" + revision = "618447cbf203d147601b4b9bd7f8c37a5d39fbb4" + version = "v2.13.1" [solve-meta] analyzer-name = "dep" diff --git a/__fixtures__/basic/values.yaml b/__fixtures__/basic/values.yaml index 04f9f966a..45d1817af 100644 --- a/__fixtures__/basic/values.yaml +++ b/__fixtures__/basic/values.yaml @@ -12,6 +12,7 @@ service: externalPort: 80 internalPort: 80 ingress: + class: foo enabled: false # Used to create an Ingress record. hosts: diff --git a/__fixtures__/with-subchart/Chart.yaml b/__fixtures__/with-subchart/Chart.yaml index 8d5f00948..54fff3045 100644 --- a/__fixtures__/with-subchart/Chart.yaml +++ b/__fixtures__/with-subchart/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 description: An example chart with customized subchart -name: with-subchart +name: parent-chart version: 0.1.0 diff --git a/__fixtures__/with-subchart/charts/childchart/Chart.yaml b/__fixtures__/with-subchart/charts/child-chart/Chart.yaml similarity index 78% rename from __fixtures__/with-subchart/charts/childchart/Chart.yaml rename to __fixtures__/with-subchart/charts/child-chart/Chart.yaml index 6cf7a2bec..d9b1bdee3 100644 --- a/__fixtures__/with-subchart/charts/childchart/Chart.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 description: An customized subchart -name: childchart +name: child-chart version: 0.1.0 diff --git a/__fixtures__/with-subchart/charts/childchart/templates/NOTES.txt b/__fixtures__/with-subchart/charts/child-chart/templates/NOTES.txt similarity index 78% rename from __fixtures__/with-subchart/charts/childchart/templates/NOTES.txt rename to __fixtures__/with-subchart/charts/child-chart/templates/NOTES.txt index 1a86eef98..c84cdeb0d 100644 --- a/__fixtures__/with-subchart/charts/childchart/templates/NOTES.txt +++ b/__fixtures__/with-subchart/charts/child-chart/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "basic.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "child-chart.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "basic.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "basic.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "child-chart.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "child-chart.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "basic.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "child-chart.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/__fixtures__/with-subchart/charts/childchart/templates/_helpers.tpl b/__fixtures__/with-subchart/charts/child-chart/templates/_helpers.tpl similarity index 55% rename from __fixtures__/with-subchart/charts/childchart/templates/_helpers.tpl rename to __fixtures__/with-subchart/charts/child-chart/templates/_helpers.tpl index b417510b3..36659b671 100644 --- a/__fixtures__/with-subchart/charts/childchart/templates/_helpers.tpl +++ b/__fixtures__/with-subchart/charts/child-chart/templates/_helpers.tpl @@ -2,7 +2,7 @@ {{/* Expand the name of the chart. */}} -{{- define "basic.name" -}} +{{- define "child-chart.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} @@ -10,7 +10,17 @@ Expand the name of the chart. Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). */}} -{{- define "basic.fullname" -}} +{{- define "child-chart.fullname" -}} {{- $name := default .Chart.Name .Values.nameOverride -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} {{- end -}} + +{{- define "child-chart.ingressClass" -}} + {{- $ingressClass := .Values.ingress.class -}} + {{- if .Values.global -}} + {{- if .Values.global.ingressClass -}} + {{- $ingressClass = .Values.global.ingressClass -}} + {{- end -}} + {{- end -}} + {{- printf "%s" $ingressClass -}} +{{- end -}} diff --git a/__fixtures__/with-subchart/charts/childchart/templates/deployment.yaml b/__fixtures__/with-subchart/charts/child-chart/templates/deployment.yaml similarity index 87% rename from __fixtures__/with-subchart/charts/childchart/templates/deployment.yaml rename to __fixtures__/with-subchart/charts/child-chart/templates/deployment.yaml index 33336006e..e3cc7727f 100644 --- a/__fixtures__/with-subchart/charts/childchart/templates/deployment.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/templates/deployment.yaml @@ -1,9 +1,9 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: {{ template "basic.fullname" . }} + name: {{ template "child-chart.fullname" . }} labels: - app: {{ template "basic.name" . }} + app: {{ template "child-chart.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} @@ -12,7 +12,7 @@ spec: template: metadata: labels: - app: {{ template "basic.name" . }} + app: {{ template "child-chart.name" . }} release: {{ .Release.Name }} spec: containers: diff --git a/__fixtures__/with-subchart/charts/childchart/templates/ingress.yaml b/__fixtures__/with-subchart/charts/child-chart/templates/ingress.yaml similarity index 73% rename from __fixtures__/with-subchart/charts/childchart/templates/ingress.yaml rename to __fixtures__/with-subchart/charts/child-chart/templates/ingress.yaml index e55c347db..ca3620b75 100644 --- a/__fixtures__/with-subchart/charts/childchart/templates/ingress.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/templates/ingress.yaml @@ -1,19 +1,17 @@ {{- if .Values.ingress.enabled -}} -{{- $serviceName := include "basic.fullname" . -}} +{{- $serviceName := include "child-chart.fullname" . -}} {{- $servicePort := .Values.service.externalPort -}} apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: {{ template "basic.fullname" . }} + name: {{ template "child-chart.fullname" . }} labels: - app: {{ template "basic.name" . }} + app: {{ template "child-chart.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} annotations: - {{- range $key, $value := .Values.ingress.annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} + kubernetes.io/ingress.class: {{ template "child-chart.ingressClass" . }} spec: rules: {{- range $host := .Values.ingress.hosts }} diff --git a/__fixtures__/with-subchart/charts/childchart/templates/service.yaml b/__fixtures__/with-subchart/charts/child-chart/templates/service.yaml similarity index 76% rename from __fixtures__/with-subchart/charts/childchart/templates/service.yaml rename to __fixtures__/with-subchart/charts/child-chart/templates/service.yaml index 0d4d20eb4..00bf6b5af 100644 --- a/__fixtures__/with-subchart/charts/childchart/templates/service.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/templates/service.yaml @@ -1,9 +1,9 @@ apiVersion: v1 kind: Service metadata: - name: {{ template "basic.fullname" . }} + name: {{ template "child-chart.fullname" . }} labels: - app: {{ template "basic.name" . }} + app: {{ template "child-chart.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} @@ -15,5 +15,5 @@ spec: protocol: TCP name: {{ .Values.service.name }} selector: - app: {{ template "basic.name" . }} + app: {{ template "child-chart.name" . }} release: {{ .Release.Name }} diff --git a/__fixtures__/with-subchart/charts/childchart/tests/__snapshot__/deployment_test.yaml.snap b/__fixtures__/with-subchart/charts/child-chart/tests/__snapshot__/deployment_test.yaml.snap similarity index 89% rename from __fixtures__/with-subchart/charts/childchart/tests/__snapshot__/deployment_test.yaml.snap rename to __fixtures__/with-subchart/charts/child-chart/tests/__snapshot__/deployment_test.yaml.snap index 04b9b5dcd..cc42ae829 100644 --- a/__fixtures__/with-subchart/charts/childchart/tests/__snapshot__/deployment_test.yaml.snap +++ b/__fixtures__/with-subchart/charts/child-chart/tests/__snapshot__/deployment_test.yaml.snap @@ -4,7 +4,7 @@ should pass all kinds of assertion: template: metadata: labels: - app: childchart + app: child-chart release: RELEASE-NAME spec: containers: @@ -14,7 +14,7 @@ should pass all kinds of assertion: httpGet: path: / port: 8080 - name: childchart + name: child-chart ports: - containerPort: 8080 readinessProbe: diff --git a/__fixtures__/with-subchart/charts/childchart/tests/deployment_test.yaml b/__fixtures__/with-subchart/charts/child-chart/tests/deployment_test.yaml similarity index 97% rename from __fixtures__/with-subchart/charts/childchart/tests/deployment_test.yaml rename to __fixtures__/with-subchart/charts/child-chart/tests/deployment_test.yaml index 3979249f3..778a1e4bd 100644 --- a/__fixtures__/with-subchart/charts/childchart/tests/deployment_test.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/tests/deployment_test.yaml @@ -16,7 +16,7 @@ tests: value: nginx:stable - matchRegex: path: metadata.name - pattern: ^.*-childchart$ + pattern: ^.*-child-chart$ - notMatchRegex: path: metadata.name pattern: ^.*-foobar$ diff --git a/__fixtures__/with-subchart/charts/childchart/tests/ingress_test.yaml b/__fixtures__/with-subchart/charts/child-chart/tests/ingress_test.yaml similarity index 89% rename from __fixtures__/with-subchart/charts/childchart/tests/ingress_test.yaml rename to __fixtures__/with-subchart/charts/child-chart/tests/ingress_test.yaml index b4be7a00e..1182d0927 100644 --- a/__fixtures__/with-subchart/charts/childchart/tests/ingress_test.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/tests/ingress_test.yaml @@ -25,7 +25,7 @@ tests: content: path: / backend: - serviceName: my-release-childchart + serviceName: my-release-child-chart servicePort: 12345 - isNull: path: spec.tls @@ -43,8 +43,6 @@ tests: path: metadata.annotations value: kubernetes.io/ingress.class: nginx - kubernetes.io/tls-acme: "true" - ingress.kubernetes.io/rewrite-target: / - it: should set tls if given set: diff --git a/__fixtures__/with-subchart/charts/childchart/tests/service_test.yaml b/__fixtures__/with-subchart/charts/child-chart/tests/service_test.yaml similarity index 96% rename from __fixtures__/with-subchart/charts/childchart/tests/service_test.yaml rename to __fixtures__/with-subchart/charts/child-chart/tests/service_test.yaml index ca22809b9..ff51d5a16 100644 --- a/__fixtures__/with-subchart/charts/childchart/tests/service_test.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/tests/service_test.yaml @@ -19,7 +19,7 @@ tests: - equal: path: spec.selector value: - app: childchart + app: child-chart release: my-release - it: should render right if values given diff --git a/__fixtures__/with-subchart/charts/childchart/tests/values/image.yaml b/__fixtures__/with-subchart/charts/child-chart/tests/values/image.yaml similarity index 100% rename from __fixtures__/with-subchart/charts/childchart/tests/values/image.yaml rename to __fixtures__/with-subchart/charts/child-chart/tests/values/image.yaml diff --git a/__fixtures__/with-subchart/charts/childchart/values.yaml b/__fixtures__/with-subchart/charts/child-chart/values.yaml similarity index 91% rename from __fixtures__/with-subchart/charts/childchart/values.yaml rename to __fixtures__/with-subchart/charts/child-chart/values.yaml index 04f9f966a..7f7d3509e 100644 --- a/__fixtures__/with-subchart/charts/childchart/values.yaml +++ b/__fixtures__/with-subchart/charts/child-chart/values.yaml @@ -12,13 +12,11 @@ service: externalPort: 80 internalPort: 80 ingress: + class: nginx enabled: false # Used to create an Ingress record. hosts: - chart-example.local - annotations: - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" tls: # Secrets must be manually created in the namespace. # - secretName: chart-example-tls diff --git a/__fixtures__/with-subchart/templates/NOTES.txt b/__fixtures__/with-subchart/templates/NOTES.txt index 1a86eef98..30e62529b 100644 --- a/__fixtures__/with-subchart/templates/NOTES.txt +++ b/__fixtures__/with-subchart/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "basic.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "parant-chart.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "basic.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "basic.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "parant-chart.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "parant-chart.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "basic.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "parant-chart.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/__fixtures__/with-subchart/templates/_helpers.tpl b/__fixtures__/with-subchart/templates/_helpers.tpl index b417510b3..0954d3e81 100644 --- a/__fixtures__/with-subchart/templates/_helpers.tpl +++ b/__fixtures__/with-subchart/templates/_helpers.tpl @@ -2,7 +2,7 @@ {{/* Expand the name of the chart. */}} -{{- define "basic.name" -}} +{{- define "parent-chart.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} @@ -10,7 +10,7 @@ Expand the name of the chart. Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). */}} -{{- define "basic.fullname" -}} +{{- define "parent-chart.fullname" -}} {{- $name := default .Chart.Name .Values.nameOverride -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} {{- end -}} diff --git a/__fixtures__/with-subchart/templates/deployment.yaml b/__fixtures__/with-subchart/templates/deployment.yaml index 33336006e..5f639c53d 100644 --- a/__fixtures__/with-subchart/templates/deployment.yaml +++ b/__fixtures__/with-subchart/templates/deployment.yaml @@ -1,9 +1,9 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: {{ template "basic.fullname" . }} + name: {{ template "parent-chart.fullname" . }} labels: - app: {{ template "basic.name" . }} + app: {{ template "parent-chart.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} @@ -12,7 +12,7 @@ spec: template: metadata: labels: - app: {{ template "basic.name" . }} + app: {{ template "parent-chart.name" . }} release: {{ .Release.Name }} spec: containers: diff --git a/__fixtures__/with-subchart/templates/ingress.yaml b/__fixtures__/with-subchart/templates/ingress.yaml index e55c347db..88d0f7a26 100644 --- a/__fixtures__/with-subchart/templates/ingress.yaml +++ b/__fixtures__/with-subchart/templates/ingress.yaml @@ -1,12 +1,12 @@ {{- if .Values.ingress.enabled -}} -{{- $serviceName := include "basic.fullname" . -}} +{{- $serviceName := include "parent-chart.fullname" . -}} {{- $servicePort := .Values.service.externalPort -}} apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: {{ template "basic.fullname" . }} + name: {{ template "parent-chart.fullname" . }} labels: - app: {{ template "basic.name" . }} + app: {{ template "parent-chart.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} diff --git a/__fixtures__/with-subchart/templates/service.yaml b/__fixtures__/with-subchart/templates/service.yaml index 0d4d20eb4..bb7f67866 100644 --- a/__fixtures__/with-subchart/templates/service.yaml +++ b/__fixtures__/with-subchart/templates/service.yaml @@ -1,9 +1,9 @@ apiVersion: v1 kind: Service metadata: - name: {{ template "basic.fullname" . }} + name: {{ template "parent-chart.fullname" . }} labels: - app: {{ template "basic.name" . }} + app: {{ template "parent-chart.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} @@ -15,5 +15,5 @@ spec: protocol: TCP name: {{ .Values.service.name }} selector: - app: {{ template "basic.name" . }} + app: {{ template "parent-chart.name" . }} release: {{ .Release.Name }} diff --git a/__fixtures__/with-subchart/tests/__snapshot__/deployment_test.yaml.snap b/__fixtures__/with-subchart/tests/__snapshot__/deployment_test.yaml.snap index d70d85030..f60e98b36 100644 --- a/__fixtures__/with-subchart/tests/__snapshot__/deployment_test.yaml.snap +++ b/__fixtures__/with-subchart/tests/__snapshot__/deployment_test.yaml.snap @@ -4,7 +4,7 @@ should pass all kinds of assertion: template: metadata: labels: - app: with-subchart + app: parent-chart release: RELEASE-NAME spec: containers: @@ -14,7 +14,7 @@ should pass all kinds of assertion: httpGet: path: / port: 8080 - name: with-subchart + name: parent-chart ports: - containerPort: 8080 readinessProbe: diff --git a/__fixtures__/with-subchart/tests/deployment_test.yaml b/__fixtures__/with-subchart/tests/deployment_test.yaml index 724a7201c..73aa0a954 100644 --- a/__fixtures__/with-subchart/tests/deployment_test.yaml +++ b/__fixtures__/with-subchart/tests/deployment_test.yaml @@ -16,7 +16,7 @@ tests: value: nginx:stable - matchRegex: path: metadata.name - pattern: ^.*-with-subchart$ + pattern: ^.*-parent-chart$ - notMatchRegex: path: metadata.name pattern: ^.*-foobar$ diff --git a/__fixtures__/with-subchart/tests/ingress_test.yaml b/__fixtures__/with-subchart/tests/ingress_test.yaml index 55bcd04f9..098628f24 100644 --- a/__fixtures__/with-subchart/tests/ingress_test.yaml +++ b/__fixtures__/with-subchart/tests/ingress_test.yaml @@ -23,7 +23,7 @@ tests: content: path: / backend: - serviceName: my-release-with-subchart + serviceName: my-release-parent-chart servicePort: 12345 - isNull: path: spec.tls diff --git a/__fixtures__/with-subchart/tests/service_test.yaml b/__fixtures__/with-subchart/tests/service_test.yaml index 515a287ff..2254eb618 100644 --- a/__fixtures__/with-subchart/tests/service_test.yaml +++ b/__fixtures__/with-subchart/tests/service_test.yaml @@ -19,7 +19,7 @@ tests: - equal: path: spec.selector value: - app: with-subchart + app: parent-chart release: my-release - it: should render right if values given diff --git a/plugin.yaml b/plugin.yaml index 4dd3e5db0..330ce8dce 100644 --- a/plugin.yaml +++ b/plugin.yaml @@ -1,5 +1,5 @@ name: "unittest" -version: "0.1.4" +version: "0.1.5" usage: "unittest for helm charts" description: "Unit test for helm chart in YAML with ease to keep your chart functional and robust." ignoreFlags: false diff --git a/unittest/.snapshots/TestRunnerWithTestsInSubchart b/unittest/.snapshots/TestRunnerWithTestsInSubchart index a88e0cfcb..2d0e806cb 100644 --- a/unittest/.snapshots/TestRunnerWithTestsInSubchart +++ b/unittest/.snapshots/TestRunnerWithTestsInSubchart @@ -1,12 +1,12 @@ -### Chart [ with-subchart ] ../__fixtures__/with-subchart +### Chart [ parent-chart ] ../__fixtures__/with-subchart - PASS test deployment ../__fixtures__/with-subchart/charts/childchart/tests/deployment_test.yaml + PASS test deployment ../__fixtures__/with-subchart/charts/child-chart/tests/deployment_test.yaml PASS test deployment ../__fixtures__/with-subchart/tests/deployment_test.yaml - PASS test ingress ../__fixtures__/with-subchart/charts/childchart/tests/ingress_test.yaml + PASS test ingress ../__fixtures__/with-subchart/charts/child-chart/tests/ingress_test.yaml PASS test ingress ../__fixtures__/with-subchart/tests/ingress_test.yaml - PASS test service ../__fixtures__/with-subchart/charts/childchart/tests/service_test.yaml + PASS test service ../__fixtures__/with-subchart/charts/child-chart/tests/service_test.yaml PASS test service ../__fixtures__/with-subchart/tests/service_test.yaml diff --git a/unittest/.snapshots/TestRunnerWithTestsInSubchartButFlagFalse b/unittest/.snapshots/TestRunnerWithTestsInSubchartButFlagFalse index a882265d4..9ba8ffe7b 100644 --- a/unittest/.snapshots/TestRunnerWithTestsInSubchartButFlagFalse +++ b/unittest/.snapshots/TestRunnerWithTestsInSubchartButFlagFalse @@ -1,5 +1,5 @@ -### Chart [ with-subchart ] ../__fixtures__/with-subchart +### Chart [ parent-chart ] ../__fixtures__/with-subchart PASS test deployment ../__fixtures__/with-subchart/tests/deployment_test.yaml