├── pkg ├── ignore │ └── testdata │ │ ├── a.txt │ │ ├── helm.txt │ │ ├── cargo │ │ ├── a.txt │ │ ├── b.txt │ │ └── c.txt │ │ ├── mast │ │ ├── a.txt │ │ ├── b.txt │ │ └── c.txt │ │ ├── rudder.txt │ │ ├── tiller.txt │ │ ├── templates │ │ └── .dotfile │ │ └── .helmignore ├── chartutil │ └── testdata │ │ ├── frobnitz │ │ ├── ignore │ │ │ └── me.txt │ │ ├── .helmignore │ │ ├── LICENSE │ │ ├── docs │ │ │ └── README.md │ │ ├── templates │ │ │ └── template.tpl │ │ ├── charts │ │ │ ├── alpine │ │ │ │ ├── values.yaml │ │ │ │ ├── charts │ │ │ │ │ ├── mast1 │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ └── values.yaml │ │ │ │ │ └── mast2-0.1.0.tgz │ │ │ │ ├── Chart.yaml │ │ │ │ ├── README.md │ │ │ │ └── templates │ │ │ │ │ └── alpine-pod.yaml │ │ │ ├── _ignore_me │ │ │ └── mariner-4.3.2.tgz │ │ ├── INSTALL.txt │ │ ├── values.yaml │ │ ├── README.md │ │ ├── requirements.yaml │ │ ├── requirements.lock │ │ ├── icon.svg │ │ └── Chart.yaml │ │ ├── dependent-chart-alias │ │ ├── ignore │ │ │ └── me.txt │ │ ├── .helmignore │ │ ├── LICENSE │ │ ├── docs │ │ │ └── README.md │ │ ├── templates │ │ │ └── template.tpl │ │ ├── charts │ │ │ ├── alpine │ │ │ │ ├── values.yaml │ │ │ │ ├── charts │ │ │ │ │ ├── mast1 │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ └── values.yaml │ │ │ │ │ └── mast2-0.1.0.tgz │ │ │ │ ├── Chart.yaml │ │ │ │ ├── README.md │ │ │ │ └── templates │ │ │ │ │ └── alpine-pod.yaml │ │ │ ├── _ignore_me │ │ │ └── mariner-4.3.2.tgz │ │ ├── INSTALL.txt │ │ ├── values.yaml │ │ ├── README.md │ │ ├── requirements.lock │ │ ├── requirements.yaml │ │ ├── icon.svg │ │ └── Chart.yaml │ │ ├── frobnitz_backslash │ │ ├── ignore │ │ │ └── me.txt │ │ ├── .helmignore │ │ ├── LICENSE │ │ ├── docs │ │ │ └── README.md │ │ ├── templates │ │ │ └── template.tpl │ │ ├── charts │ │ │ ├── alpine │ │ │ │ ├── values.yaml │ │ │ │ ├── charts │ │ │ │ │ ├── mast1 │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ └── values.yaml │ │ │ │ │ └── mast2-0.1.0.tgz │ │ │ │ ├── Chart.yaml │ │ │ │ ├── README.md │ │ │ │ └── templates │ │ │ │ │ └── alpine-pod.yaml │ │ │ ├── _ignore_me │ │ │ └── mariner-4.3.2.tgz │ │ ├── INSTALL.txt │ │ ├── values.yaml │ │ ├── README.md │ │ ├── requirements.yaml │ │ ├── requirements.lock │ │ ├── icon.svg │ │ └── Chart.yaml │ │ ├── moby │ │ ├── charts │ │ │ ├── spouter │ │ │ │ ├── values.yaml │ │ │ │ └── Chart.yaml │ │ │ └── pequod │ │ │ │ ├── values.yaml │ │ │ │ ├── charts │ │ │ │ └── ahab │ │ │ │ │ ├── values.yaml │ │ │ │ │ └── Chart.yaml │ │ │ │ └── Chart.yaml │ │ ├── values.yaml │ │ └── Chart.yaml │ │ ├── mariner │ │ ├── templates │ │ │ └── placeholder.tpl │ │ ├── Chart.yaml │ │ ├── charts │ │ │ └── albatross-0.1.0.tgz │ │ ├── requirements.yaml │ │ └── values.yaml │ │ ├── albatross │ │ ├── values.yaml │ │ └── Chart.yaml │ │ ├── frobnitz-1.2.3.tgz │ │ ├── subpop │ │ ├── Chart.yaml │ │ ├── noreqs │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ │ └── service.yaml │ │ │ └── values.yaml │ │ ├── charts │ │ │ ├── subchart1 │ │ │ │ ├── Chart.yaml │ │ │ │ ├── charts │ │ │ │ │ ├── subchartA │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ ├── values.yaml │ │ │ │ │ │ └── templates │ │ │ │ │ │ │ └── service.yaml │ │ │ │ │ └── subchartB │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ ├── templates │ │ │ │ │ │ └── service.yaml │ │ │ │ │ │ └── values.yaml │ │ │ │ ├── templates │ │ │ │ │ └── service.yaml │ │ │ │ ├── requirements.yaml │ │ │ │ └── values.yaml │ │ │ └── subchart2 │ │ │ │ ├── Chart.yaml │ │ │ │ ├── charts │ │ │ │ ├── subchartB │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ ├── templates │ │ │ │ │ │ └── service.yaml │ │ │ │ │ └── values.yaml │ │ │ │ └── subchartC │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ ├── templates │ │ │ │ │ └── service.yaml │ │ │ │ │ └── values.yaml │ │ │ │ ├── templates │ │ │ │ └── service.yaml │ │ │ │ ├── values.yaml │ │ │ │ └── requirements.yaml │ │ ├── README.md │ │ ├── values.yaml │ │ └── requirements.yaml │ │ ├── frobnitz_backslash-1.2.3.tgz │ │ ├── coleridge.yaml │ │ ├── genfrob.sh │ │ └── chartfiletest.yaml ├── downloader │ ├── testdata │ │ ├── signtest │ │ │ ├── values.yaml │ │ │ ├── alpine │ │ │ │ ├── values.yaml │ │ │ │ ├── Chart.yaml │ │ │ │ ├── README.md │ │ │ │ └── templates │ │ │ │ │ └── alpine-pod.yaml │ │ │ ├── Chart.yaml │ │ │ ├── .helmignore │ │ │ └── templates │ │ │ │ └── pod.yaml │ │ ├── helmhome │ │ │ └── repository │ │ │ │ ├── local │ │ │ │ └── index.yaml │ │ │ │ ├── cache │ │ │ │ ├── local-index.yaml │ │ │ │ ├── testing-https-index.yaml │ │ │ │ ├── testing-basicauth-index.yaml │ │ │ │ └── testing-index.yaml │ │ │ │ └── repositories.yaml │ │ ├── helm-test-key.pub │ │ ├── signtest-0.1.0.tgz │ │ ├── helm-test-key.secret │ │ └── signtest-0.1.0.tgz.prov │ └── doc.go ├── repo │ ├── testdata │ │ ├── server │ │ │ ├── test.txt │ │ │ └── index.yaml │ │ ├── repository │ │ │ ├── frobnitz-1.2.3.tgz │ │ │ ├── sprocket-1.1.0.tgz │ │ │ └── sprocket-1.2.0.tgz │ │ ├── old-repositories.yaml │ │ ├── repositories.yaml │ │ ├── local-index.yaml │ │ └── local-index-unordered.yaml │ └── repotest │ │ ├── testdata │ │ ├── examplechart │ │ │ ├── Chart.yaml │ │ │ ├── values.yaml │ │ │ └── .helmignore │ │ └── examplechart-0.1.0.tgz │ │ └── doc.go ├── lint │ ├── rules │ │ └── testdata │ │ │ ├── albatross │ │ │ ├── values.yaml │ │ │ ├── templates │ │ │ │ ├── fail.yaml │ │ │ │ ├── _helpers.tpl │ │ │ │ └── svc.yaml │ │ │ └── Chart.yaml │ │ │ ├── goodone │ │ │ ├── values.yaml │ │ │ ├── templates │ │ │ │ └── goodone.yaml │ │ │ └── Chart.yaml │ │ │ ├── badchartfile │ │ │ ├── values.yaml │ │ │ └── Chart.yaml │ │ │ └── badvaluesfile │ │ │ ├── templates │ │ │ └── badvaluesfile.yaml │ │ │ ├── values.yaml │ │ │ └── Chart.yaml │ ├── support │ │ └── doc.go │ └── lint.go ├── getter │ ├── testdata │ │ ├── repository │ │ │ ├── cache │ │ │ │ └── local-index.yaml │ │ │ ├── local │ │ │ │ └── index.yaml │ │ │ └── repositories.yaml │ │ └── plugins │ │ │ ├── testgetter │ │ │ ├── get.sh │ │ │ └── plugin.yaml │ │ │ └── testgetter2 │ │ │ ├── get.sh │ │ │ └── plugin.yaml │ └── doc.go ├── provenance │ └── testdata │ │ ├── hashtest │ │ ├── Chart.yaml │ │ ├── values.yaml │ │ └── .helmignore │ │ ├── hashtest.sha256 │ │ ├── hashtest-1.2.3.tgz │ │ ├── helm-test-key.pub │ │ ├── regen-hashtest.sh │ │ ├── helm-test-key.secret │ │ ├── helm-password-key.secret │ │ ├── msgblock.yaml │ │ ├── msgblock.yaml.asc │ │ └── msgblock.yaml.tampered ├── plugin │ ├── testdata │ │ └── plugdir │ │ │ ├── echo │ │ │ └── plugin.yaml │ │ │ ├── hello │ │ │ ├── hello.sh │ │ │ └── plugin.yaml │ │ │ └── downloader │ │ │ └── plugin.yaml │ ├── installer │ │ └── doc.go │ └── hooks.go ├── version │ └── doc.go ├── kube │ ├── tunnel_test.go │ ├── log.go │ ├── config.go │ └── namespace_test.go ├── engine │ └── doc.go ├── timeconv │ └── doc.go ├── tiller │ ├── release_version.go │ ├── release_testing_test.go │ ├── release_content.go │ └── release_content_test.go ├── strvals │ └── doc.go ├── helm │ └── helmpath │ │ ├── helmhome_windows_test.go │ │ └── helmhome_unix_test.go └── storage │ └── driver │ └── labels_test.go ├── cmd ├── helm │ ├── testdata │ │ ├── testcharts │ │ │ ├── signtest │ │ │ │ ├── values.yaml │ │ │ │ ├── alpine │ │ │ │ │ ├── values.yaml │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ ├── README.md │ │ │ │ │ └── templates │ │ │ │ │ │ └── alpine-pod.yaml │ │ │ │ ├── Chart.yaml │ │ │ │ ├── .helmignore │ │ │ │ └── templates │ │ │ │ │ └── pod.yaml │ │ │ ├── alpine │ │ │ │ ├── extra_values.yaml │ │ │ │ ├── more_values.yaml │ │ │ │ ├── values.yaml │ │ │ │ ├── Chart.yaml │ │ │ │ ├── README.md │ │ │ │ └── templates │ │ │ │ │ └── alpine-pod.yaml │ │ │ ├── reqtest │ │ │ │ ├── Chart.yaml │ │ │ │ ├── charts │ │ │ │ │ ├── reqsubchart │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ ├── values.yaml │ │ │ │ │ │ └── .helmignore │ │ │ │ │ ├── reqsubchart2 │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ ├── values.yaml │ │ │ │ │ │ └── .helmignore │ │ │ │ │ └── reqsubchart3-0.2.0.tgz │ │ │ │ ├── requirements.lock │ │ │ │ ├── values.yaml │ │ │ │ ├── requirements.yaml │ │ │ │ └── .helmignore │ │ │ ├── reqtest-0.1.0.tgz │ │ │ ├── signtest-0.1.0.tgz │ │ │ ├── chart-missing-deps │ │ │ │ ├── Chart.yaml │ │ │ │ ├── charts │ │ │ │ │ └── reqsubchart │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ ├── values.yaml │ │ │ │ │ │ └── .helmignore │ │ │ │ ├── values.yaml │ │ │ │ ├── requirements.yaml │ │ │ │ └── .helmignore │ │ │ ├── decompressedchart │ │ │ │ ├── Chart.yaml │ │ │ │ ├── values.yaml │ │ │ │ └── .helmignore │ │ │ ├── chart-bad-requirements │ │ │ │ ├── Chart.yaml │ │ │ │ ├── charts │ │ │ │ │ └── reqsubchart │ │ │ │ │ │ ├── Chart.yaml │ │ │ │ │ │ ├── values.yaml │ │ │ │ │ │ └── .helmignore │ │ │ │ ├── requirements.yaml │ │ │ │ ├── values.yaml │ │ │ │ └── .helmignore │ │ │ ├── compressedchart-0.1.0.tgz │ │ │ ├── compressedchart-0.2.0.tgz │ │ │ ├── compressedchart-0.3.0.tgz │ │ │ ├── novals │ │ │ │ ├── Chart.yaml │ │ │ │ ├── README.md │ │ │ │ └── templates │ │ │ │ │ └── alpine-pod.yaml │ │ │ └── signtest-0.1.0.tgz.prov │ │ ├── helmhome │ │ │ ├── repository │ │ │ │ ├── local │ │ │ │ │ └── index.yaml │ │ │ │ └── repositories.yaml │ │ │ └── plugins │ │ │ │ ├── args │ │ │ │ ├── args.sh │ │ │ │ └── plugin.yaml │ │ │ │ ├── echo │ │ │ │ └── plugin.yaml │ │ │ │ ├── env │ │ │ │ └── plugin.yaml │ │ │ │ └── fullenv │ │ │ │ ├── plugin.yaml │ │ │ │ └── fullenv.sh │ │ ├── testserver │ │ │ ├── index.yaml │ │ │ └── repository │ │ │ │ └── repositories.yaml │ │ ├── helm-test-key.pub │ │ ├── helm-test-key.secret │ │ ├── repositories.yaml │ │ └── testcache │ │ │ ├── foobar-index.yaml │ │ │ └── local-index.yaml │ ├── lint_test.go │ ├── get_hooks_test.go │ ├── get_manifest_test.go │ ├── get_values_test.go │ ├── get_test.go │ └── repo.go └── tiller │ ├── probes.go │ └── tiller_test.go ├── docs ├── examples │ ├── alpine │ │ ├── values.yaml │ │ ├── Chart.yaml │ │ ├── README.md │ │ └── templates │ │ │ └── alpine-pod.yaml │ ├── nginx │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── templates │ │ │ ├── service-test.yaml │ │ │ ├── configmap.yaml │ │ │ ├── pre-install-secret.yaml │ │ │ ├── _helpers.tpl │ │ │ ├── svc.yaml │ │ │ └── post-install-job.yaml │ │ └── values.yaml │ └── README.md ├── images │ ├── set-a-gh-page.png │ ├── create-a-bucket.png │ ├── edit-permissions.png │ ├── make-bucket-public.png │ └── create-a-gh-page-button.png ├── logos │ └── helm_logo_transparent.png ├── chart_template_guide │ ├── index.md │ ├── data_types.md │ └── debugging.md ├── chart_repository_faq.md ├── helm │ ├── helm_plugin_list.md │ ├── helm_repo_list.md │ ├── helm_plugin_remove.md │ ├── helm_plugin_update.md │ ├── helm_repo_remove.md │ ├── helm_home.md │ ├── helm_plugin_install.md │ ├── helm_get_values.md │ ├── helm_get_hooks.md │ ├── helm_completion.md │ ├── helm_plugin.md │ ├── helm_repo_update.md │ ├── helm_dependency_list.md │ ├── helm_repo_add.md │ ├── helm_lint.md │ ├── helm_get_manifest.md │ ├── helm_search.md │ ├── helm_verify.md │ ├── helm_repo.md │ └── helm_dependency_build.md ├── man │ └── man1 │ │ ├── helm_repo_list.1 │ │ ├── helm_plugin_list.1 │ │ ├── helm_repo_remove.1 │ │ ├── helm_plugin_remove.1 │ │ ├── helm_plugin_update.1 │ │ ├── helm_home.1 │ │ ├── helm_plugin.1 │ │ ├── helm_plugin_install.1 │ │ ├── helm_get_hooks.1 │ │ ├── helm_get_values.1 │ │ ├── helm_repo_update.1 │ │ ├── helm_dependency_list.1 │ │ ├── helm_repo.1 │ │ ├── helm_completion.1 │ │ ├── helm_lint.1 │ │ ├── helm_get_manifest.1 │ │ ├── helm_repo_add.1 │ │ └── helm_search.1 └── chart_best_practices │ └── index.md ├── .gitignore ├── code-of-conduct.md ├── OWNERS ├── rootfs ├── README.md ├── Dockerfile ├── Dockerfile.rudder └── Dockerfile.experimental ├── _proto └── hapi │ ├── version │ └── version.proto │ ├── chart │ ├── config.proto │ └── template.proto │ └── release │ ├── test_run.proto │ ├── info.proto │ └── test_suite.proto ├── scripts ├── setup-apimachinery.sh └── validate-license.sh └── circle.yml /pkg/ignore/testdata/a.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/helm.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/cargo/a.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/cargo/b.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/cargo/c.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/mast/a.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/mast/b.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/mast/c.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/rudder.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/tiller.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/templates/.dotfile: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/ignore/me.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/values.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/values.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/repo/testdata/server/test.txt: -------------------------------------------------------------------------------- 1 | Hello World 2 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/repository/local/index.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testserver/index.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/ignore/me.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/.helmignore: -------------------------------------------------------------------------------- 1 | ignore/ 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/ignore/me.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helmhome/repository/local/index.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/.helmignore: -------------------------------------------------------------------------------- 1 | ignore/ 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/LICENSE: -------------------------------------------------------------------------------- 1 | LICENSE placeholder. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/.helmignore: -------------------------------------------------------------------------------- 1 | ignore/ 2 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/albatross/values.yaml: -------------------------------------------------------------------------------- 1 | name: "mariner" 2 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/goodone/values.yaml: -------------------------------------------------------------------------------- 1 | name: "goodone here" 2 | -------------------------------------------------------------------------------- /docs/examples/alpine/values.yaml: -------------------------------------------------------------------------------- 1 | # The pod name 2 | Name: my-alpine 3 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/charts/spouter/values.yaml: -------------------------------------------------------------------------------- 1 | scope: spouter 2 | -------------------------------------------------------------------------------- /pkg/ignore/testdata/.helmignore: -------------------------------------------------------------------------------- 1 | mast/a.txt 2 | .DS_Store 3 | .git 4 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/plugins/args/args.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo $* 3 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/LICENSE: -------------------------------------------------------------------------------- 1 | LICENSE placeholder. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/LICENSE: -------------------------------------------------------------------------------- 1 | LICENSE placeholder. 2 | -------------------------------------------------------------------------------- /pkg/getter/testdata/repository/cache/local-index.yaml: -------------------------------------------------------------------------------- 1 | repository/local/index.yaml -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/alpine/extra_values.yaml: -------------------------------------------------------------------------------- 1 | test: 2 | Name: extra-values 3 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/alpine/more_values.yaml: -------------------------------------------------------------------------------- 1 | test: 2 | Name: more-values 3 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/alpine/values.yaml: -------------------------------------------------------------------------------- 1 | # The pod name 2 | Name: my-alpine 3 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/mariner/templates/placeholder.tpl: -------------------------------------------------------------------------------- 1 | # This is a placeholder. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/charts/pequod/values.yaml: -------------------------------------------------------------------------------- 1 | scope: pequod 2 | name: pequod 3 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/albatross/templates/fail.yaml: -------------------------------------------------------------------------------- 1 | {{ deliberateSyntaxError }} 2 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/badchartfile/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for badchartfile. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/docs/README.md: -------------------------------------------------------------------------------- 1 | This is a placeholder for documentation. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/templates/template.tpl: -------------------------------------------------------------------------------- 1 | Hello {{.Name | default "world"}} 2 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helmhome/repository/cache/local-index.yaml: -------------------------------------------------------------------------------- 1 | repository/local/index.yaml -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/alpine/values.yaml: -------------------------------------------------------------------------------- 1 | # The pod name 2 | name: my-alpine 3 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/alpine/values.yaml: -------------------------------------------------------------------------------- 1 | # The pod name 2 | name: my-alpine 3 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/alpine/values.yaml: -------------------------------------------------------------------------------- 1 | # The pod name 2 | name: "my-alpine" 3 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/charts/pequod/charts/ahab/values.yaml: -------------------------------------------------------------------------------- 1 | scope: ahab 2 | name: ahab 3 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/docs/README.md: -------------------------------------------------------------------------------- 1 | This is a placeholder for documentation. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/templates/template.tpl: -------------------------------------------------------------------------------- 1 | Hello {{.Name | default "world"}} 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/values.yaml: -------------------------------------------------------------------------------- 1 | scope: moby 2 | name: moby 3 | override: bad 4 | top: nope 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/albatross/values.yaml: -------------------------------------------------------------------------------- 1 | albatross: "true" 2 | 3 | global: 4 | author: Coleridge 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/docs/README.md: -------------------------------------------------------------------------------- 1 | This is a placeholder for documentation. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/templates/template.tpl: -------------------------------------------------------------------------------- 1 | Hello {{.Name | default "world"}} 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/INSTALL.txt: -------------------------------------------------------------------------------- 1 | This is an install document. The client may display this. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/values.yaml: -------------------------------------------------------------------------------- 1 | # The pod name 2 | name: "my-alpine" 3 | -------------------------------------------------------------------------------- /docs/images/set-a-gh-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/docs/images/set-a-gh-page.png -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/values.yaml: -------------------------------------------------------------------------------- 1 | # The pod name 2 | name: "my-alpine" 3 | -------------------------------------------------------------------------------- /docs/images/create-a-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/docs/images/create-a-bucket.png -------------------------------------------------------------------------------- /docs/images/edit-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/docs/images/edit-permissions.png -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/INSTALL.txt: -------------------------------------------------------------------------------- 1 | This is an install document. The client may display this. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/INSTALL.txt: -------------------------------------------------------------------------------- 1 | This is an install document. The client may display this. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: moby 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/goodone/templates/goodone.yaml: -------------------------------------------------------------------------------- 1 | metadata: 2 | name: {{.name | default "foo" | title}} 3 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helm-test-key.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/helm-test-key.pub -------------------------------------------------------------------------------- /docs/images/make-bucket-public.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/docs/images/make-bucket-public.png -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/_ignore_me: -------------------------------------------------------------------------------- 1 | This should be ignored by the loader, but may be included in a chart. 2 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/hashtest/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: Test chart versioning 2 | name: hashtest 3 | version: 1.2.3 4 | -------------------------------------------------------------------------------- /docs/logos/helm_logo_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/docs/logos/helm_logo_transparent.png -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: signtest 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/badchartfile/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | version: 0.0.0 3 | home: "" 4 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/badvaluesfile/templates/badvaluesfile.yaml: -------------------------------------------------------------------------------- 1 | metadata: 2 | name: {{.name | default "foo" | title}} 3 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/hashtest.sha256: -------------------------------------------------------------------------------- 1 | 8e90e879e2a04b1900570e1c198755e46e4706d70b0e79f5edabfac7900e4e75 hashtest-1.2.3.tgz 2 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helm-test-key.secret: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/helm-test-key.secret -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: reqtest 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: signtest 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /docs/images/create-a-gh-page-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/docs/images/create-a-gh-page-button.png -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/_ignore_me: -------------------------------------------------------------------------------- 1 | This should be ignored by the loader, but may be included in a chart. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/charts/pequod/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: pequod 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/getter/testdata/repository/local/index.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | entries: {} 3 | generated: 2017-04-28T12:34:38.900985501-06:00 4 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/_ignore_me: -------------------------------------------------------------------------------- 1 | This should be ignored by the loader, but may be included in a chart. 2 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz-1.2.3.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/frobnitz-1.2.3.tgz -------------------------------------------------------------------------------- /pkg/chartutil/testdata/mariner/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: mariner 2 | description: A Helm chart for Kubernetes 3 | version: 4.3.2 4 | home: "" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/charts/spouter/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: spouter 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helm-test-key.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/downloader/testdata/helm-test-key.pub -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/downloader/testdata/signtest-0.1.0.tgz -------------------------------------------------------------------------------- /pkg/provenance/testdata/hashtest-1.2.3.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/provenance/testdata/hashtest-1.2.3.tgz -------------------------------------------------------------------------------- /pkg/provenance/testdata/helm-test-key.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/provenance/testdata/helm-test-key.pub -------------------------------------------------------------------------------- /pkg/provenance/testdata/regen-hashtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | helm package hashtest 3 | shasum -a 256 hashtest-1.2.3.tgz > hashtest.sha256 4 | -------------------------------------------------------------------------------- /pkg/repo/repotest/testdata/examplechart/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: examplechart 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/albatross/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: albatross 2 | description: A Helm chart for Kubernetes 3 | version: 0.1.0 4 | home: "" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/moby/charts/pequod/charts/ahab/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: ahab 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helm-test-key.secret: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/downloader/testdata/helm-test-key.secret -------------------------------------------------------------------------------- /pkg/getter/testdata/plugins/testgetter/get.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo ENVIRONMENT 4 | env 5 | 6 | echo "" 7 | echo ARGUMENTS 8 | echo $@ 9 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/helm-test-key.secret: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/provenance/testdata/helm-test-key.secret -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/testcharts/reqtest-0.1.0.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/testcharts/signtest-0.1.0.tgz -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: parentchart 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /pkg/getter/testdata/plugins/testgetter2/get.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo ENVIRONMENT 4 | env 5 | 6 | echo "" 7 | echo ARGUMENTS 8 | echo $@ 9 | -------------------------------------------------------------------------------- /pkg/repo/testdata/repository/frobnitz-1.2.3.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/repo/testdata/repository/frobnitz-1.2.3.tgz -------------------------------------------------------------------------------- /pkg/repo/testdata/repository/sprocket-1.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/repo/testdata/repository/sprocket-1.1.0.tgz -------------------------------------------------------------------------------- /pkg/repo/testdata/repository/sprocket-1.2.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/repo/testdata/repository/sprocket-1.2.0.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/plugins/echo/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: echo 2 | usage: "echo stuff" 3 | description: "This echos stuff" 4 | command: "echo hello" 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/plugins/env/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: env 2 | usage: "env stuff" 3 | description: "show the env" 4 | command: "echo $HELM_HOME" 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-missing-deps/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: chart-missing-deps 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/decompressedchart/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: decompressedchart 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: reqsubchart 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/noreqs/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: parentchart 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/badvaluesfile/values.yaml: -------------------------------------------------------------------------------- 1 | # Invalid value for badvaluesfile for testing lint fails with invalid yaml format 2 | name= "value" 3 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/helm-password-key.secret: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/provenance/testdata/helm-password-key.secret -------------------------------------------------------------------------------- /pkg/repo/repotest/testdata/examplechart-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/repo/repotest/testdata/examplechart-0.1.0.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-bad-requirements/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: chart-missing-deps 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart2/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: reqsubchart2 3 | version: 0.2.0 4 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/requirements.lock: -------------------------------------------------------------------------------- 1 | dependencies: [] 2 | digest: Not implemented 3 | generated: 2016-09-13T17:25:17.593788787-06:00 4 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash-1.2.3.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/frobnitz_backslash-1.2.3.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-missing-deps/charts/reqsubchart/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: reqsubchart 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/compressedchart-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/testcharts/compressedchart-0.1.0.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/compressedchart-0.2.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/testcharts/compressedchart-0.2.0.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/compressedchart-0.3.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/testcharts/compressedchart-0.3.0.tgz -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/alpine/charts/mast1/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: mast1 2 | description: A Helm chart for Kubernetes 3 | version: 0.1.0 4 | home: "" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: subchart1 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: subchart2 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/plugins/args/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: args 2 | usage: "echo args" 3 | description: "This echos args" 4 | command: "$HELM_PLUGIN_DIR/args.sh" 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-bad-requirements/charts/reqsubchart/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: A Helm chart for Kubernetes 2 | name: reqsubchart 3 | version: 0.1.0 4 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/mariner-4.3.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/frobnitz/charts/mariner-4.3.2.tgz -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/values.yaml: -------------------------------------------------------------------------------- 1 | # A values file contains configuration. 2 | 3 | name: "Some Name" 4 | 5 | section: 6 | name: "Name in a section" 7 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/mariner/charts/albatross-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/mariner/charts/albatross-0.1.0.tgz -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/albatross/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: albatross 2 | description: testing chart 3 | version: 199.44.12345-Alpha.1+cafe009 4 | icon: http://riverrun.io 5 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/goodone/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: goodone 2 | description: good testing chart 3 | version: 199.44.12345-Alpha.1+cafe009 4 | icon: http://riverrun.io 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/alpine/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: alpine 2 | description: Deploy a basic Alpine Linux pod 3 | version: 0.1.0 4 | home: https://k8s.io/helm 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/charts/mast1/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: mast1 2 | description: A Helm chart for Kubernetes 3 | version: 0.1.0 4 | home: "" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/mariner/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: albatross 3 | repository: https://example.com/mariner/charts 4 | version: "0.1.0" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/charts/mast1/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: mast1 2 | description: A Helm chart for Kubernetes 3 | version: 0.1.0 4 | home: "" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/values.yaml: -------------------------------------------------------------------------------- 1 | # A values file contains configuration. 2 | 3 | name: "Some Name" 4 | 5 | section: 6 | name: "Name in a section" 7 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/values.yaml: -------------------------------------------------------------------------------- 1 | # A values file contains configuration. 2 | 3 | name: "Some Name" 4 | 5 | section: 6 | name: "Name in a section" 7 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/charts/subchartA/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: subcharta 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/charts/subchartB/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: subchartb 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/charts/subchartB/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: subchartb 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/charts/subchartC/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: A Helm chart for Kubernetes 3 | name: subchartc 4 | version: 0.1.0 5 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/badvaluesfile/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: badvaluesfile 2 | description: A Helm chart for Kubernetes 3 | version: 0.0.1 4 | home: "" 5 | icon: http://riverrun.io 6 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/plugins/fullenv/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: fullenv 2 | usage: "show env vars" 3 | description: "show all env vars" 4 | command: "$HELM_PLUGIN_DIR/fullenv.sh" 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-bad-requirements/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: reqsubchart 3 | version: 0.1.0 4 | repository: "https://example.com/charts" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: alpine 2 | description: Deploy a basic Alpine Linux pod 3 | version: 0.1.0 4 | home: https://k8s.io/helm 5 | -------------------------------------------------------------------------------- /pkg/repo/testdata/old-repositories.yaml: -------------------------------------------------------------------------------- 1 | best-charts-ever: http://best-charts-ever.com 2 | okay-charts: http://okay-charts.org 3 | example123: http://examplecharts.net/charts/123 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .coverage/ 3 | .vimrc 4 | .vscode/ 5 | _dist/ 6 | _proto/*.pb.go 7 | bin/ 8 | rootfs/tiller 9 | rootfs/rudder 10 | vendor/ 11 | *.exe 12 | .idea/ 13 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart3-0.2.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart3-0.2.0.tgz -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: alpine 2 | description: Deploy a basic Alpine Linux pod 3 | version: 0.1.0 4 | home: https://k8s.io/helm 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/mariner-4.3.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/frobnitz_backslash/charts/mariner-4.3.2.tgz -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/mariner-4.3.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/dependent-chart-alias/charts/mariner-4.3.2.tgz -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/alpine/charts/mast2-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/frobnitz/charts/alpine/charts/mast2-0.1.0.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for reqtest. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/hashtest/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for hashtest. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-missing-deps/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for reqtest. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testserver/repository/repositories.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | generated: 2016-10-04T13:50:02.87649685-06:00 3 | repositories: 4 | - cache: "" 5 | name: test 6 | url: http://127.0.0.1:49216 7 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/charts/mast2-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/charts/mast2-0.1.0.tgz -------------------------------------------------------------------------------- /pkg/repo/repotest/testdata/examplechart/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for examplechart. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/alpine/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: Deploy a basic Alpine Linux pod 2 | home: https://k8s.io/helm 3 | name: alpine 4 | sources: 5 | - https://github.com/kubernetes/helm 6 | version: 0.1.0 7 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-bad-requirements/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for reqtest. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/novals/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: Deploy a basic Alpine Linux pod 2 | home: https://k8s.io/helm 3 | name: novals 4 | sources: 5 | - https://github.com/kubernetes/helm 6 | version: 0.2.0 7 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/charts/mast2-0.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corymsmith/helm/master/pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/charts/mast2-0.1.0.tgz -------------------------------------------------------------------------------- /cmd/helm/testdata/repositories.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | repositories: 3 | - name: charts 4 | url: "https://kubernetes-charts.storage.googleapis.com" 5 | - name: local 6 | url: "http://localhost:8879/charts" 7 | -------------------------------------------------------------------------------- /docs/examples/alpine/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: alpine 2 | description: Deploy a basic Alpine Linux pod 3 | version: 0.1.0 4 | home: https://k8s.io/helm 5 | sources: 6 | - https://github.com/kubernetes/helm 7 | appVersion: 3.3 8 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/alpine/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: Deploy a basic Alpine Linux pod 2 | home: https://k8s.io/helm 3 | name: alpine 4 | sources: 5 | - https://github.com/kubernetes/helm 6 | version: 0.1.0 7 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for reqsubchart. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart2/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for reqsubchart. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/alpine/Chart.yaml: -------------------------------------------------------------------------------- 1 | description: Deploy a basic Alpine Linux pod 2 | home: https://k8s.io/helm 3 | name: alpine 4 | sources: 5 | - https://github.com/kubernetes/helm 6 | version: 0.1.0 7 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/alpine/charts/mast1/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for mast1. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name = "value" 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/repository/repositories.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | generated: 2016-10-03T16:03:10.640376913-06:00 3 | repositories: 4 | - cache: testing-index.yaml 5 | name: testing 6 | url: http://example.com/charts 7 | -------------------------------------------------------------------------------- /docs/examples/nginx/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | .git 6 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/mariner/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for mariner. 2 | # This is a YAML-formatted file. https://github.com/toml-lang/toml 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: "value" 5 | -------------------------------------------------------------------------------- /pkg/plugin/testdata/plugdir/echo/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: "echo" 2 | version: "1.2.3" 3 | usage: "echo something" 4 | description: |- 5 | This is a testing fixture. 6 | command: "echo Hello" 7 | hooks: 8 | install: "echo Installing" 9 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-missing-deps/charts/reqsubchart/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for reqsubchart. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/decompressedchart/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for decompressedchart. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | name: my-decompressed-chart 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/charts/mast1/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for mast1. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name = "value" 5 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/charts/mast1/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for mast1. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name = "value" 5 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/msgblock.yaml: -------------------------------------------------------------------------------- 1 | description: Test chart versioning 2 | name: hashtest 3 | version: 1.2.3 4 | 5 | ... 6 | files: 7 | hashtest-1.2.3.tgz: sha256:8e90e879e2a04b1900570e1c198755e46e4706d70b0e79f5edabfac7900e4e75 8 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-bad-requirements/charts/reqsubchart/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for reqsubchart. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | # name: value 5 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | .git 6 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/hashtest/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | .git 6 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | .git 6 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/README.md: -------------------------------------------------------------------------------- 1 | # Frobnitz 2 | 3 | This is an example chart. 4 | 5 | ## Usage 6 | 7 | This is an example. It has no usage. 8 | 9 | ## Development 10 | 11 | For developer info, see the top-level repository. 12 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: alpine 3 | version: "0.1.0" 4 | repository: https://example.com/charts 5 | - name: mariner 6 | version: "4.3.2" 7 | repository: https://example.com/charts 8 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/decompressedchart/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | .git 6 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/README.md: -------------------------------------------------------------------------------- 1 | # Frobnitz 2 | 3 | This is an example chart. 4 | 5 | ## Usage 6 | 7 | This is an example. It has no usage. 8 | 9 | ## Development 10 | 11 | For developer info, see the top-level repository. 12 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/README.md: -------------------------------------------------------------------------------- 1 | # Frobnitz 2 | 3 | This is an example chart. 4 | 5 | ## Usage 6 | 7 | This is an example. It has no usage. 8 | 9 | ## Development 10 | 11 | For developer info, see the top-level repository. 12 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: alpine 3 | version: "0.1.0" 4 | repository: https://example.com/charts 5 | - name: mariner 6 | version: "4.3.2" 7 | repository: https://example.com/charts 8 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/templates/pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: signtest 5 | spec: 6 | restartPolicy: Never 7 | containers: 8 | - name: waiter 9 | image: "alpine:3.3" 10 | command: ["/bin/sleep","9000"] 11 | -------------------------------------------------------------------------------- /pkg/plugin/testdata/plugdir/hello/hello.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Hello from a Helm plugin" 4 | 5 | echo "PARAMS" 6 | echo $* 7 | 8 | echo "ENVIRONMENT" 9 | echo $TILLER_HOST 10 | echo $HELM_HOME 11 | 12 | $HELM_BIN --host $TILLER_HOST ls --all 13 | 14 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/templates/pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: signtest 5 | spec: 6 | restartPolicy: Never 7 | containers: 8 | - name: waiter 9 | image: "alpine:3.3" 10 | command: ["/bin/sleep","9000"] 11 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/requirements.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: alpine 3 | version: "0.1.0" 4 | repository: https://example.com/charts 5 | - name: mariner 6 | version: "4.3.2" 7 | repository: https://example.com/charts 8 | digest: invalid 9 | -------------------------------------------------------------------------------- /pkg/repo/testdata/repositories.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | repositories: 3 | - name: stable 4 | url: https://example.com/stable/charts 5 | cache: stable-index.yaml 6 | - name: incubator 7 | url: https://example.com/incubator 8 | cache: incubator-index.yaml 9 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-missing-deps/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: reqsubchart 3 | version: 0.1.0 4 | repository: "https://example.com/charts" 5 | - name: reqsubchart2 6 | version: 0.2.0 7 | repository: "https://example.com/charts" 8 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/requirements.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: alpine 3 | version: "0.1.0" 4 | repository: https://example.com/charts 5 | - name: mariner 6 | version: "4.3.2" 7 | repository: https://example.com/charts 8 | digest: invalid 9 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/requirements.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: alpine 3 | version: "0.1.0" 4 | repository: https://example.com/charts 5 | - name: mariner 6 | version: "4.3.2" 7 | repository: https://example.com/charts 8 | digest: invalid 9 | -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | ## Kubernetes Community Code of Conduct 2 | 3 | Helm follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). 4 | 5 | [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/code-of-conduct.md?pixel)]() 6 | -------------------------------------------------------------------------------- /pkg/plugin/testdata/plugdir/downloader/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: "downloader" 2 | version: "1.2.3" 3 | usage: "usage" 4 | description: |- 5 | download something 6 | command: "echo Hello" 7 | downloaders: 8 | - protocols: 9 | - "myprotocol" 10 | - "myprotocols" 11 | command: "echo Download" 12 | -------------------------------------------------------------------------------- /pkg/plugin/testdata/plugdir/hello/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: "hello" 2 | version: "0.1.0" 3 | usage: "usage" 4 | description: |- 5 | description 6 | command: "$HELM_PLUGIN_SELF/hello.sh" 7 | useTunnel: true 8 | ignoreFlags: true 9 | install: "echo installing..." 10 | hooks: 11 | install: "echo installing..." 12 | -------------------------------------------------------------------------------- /cmd/helm/testdata/helmhome/plugins/fullenv/fullenv.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo $HELM_PLUGIN_NAME 3 | echo $HELM_PLUGIN_DIR 4 | echo $HELM_PLUGIN 5 | echo $HELM_HOME 6 | echo $HELM_PATH_REPOSITORY 7 | echo $HELM_PATH_REPOSITORY_FILE 8 | echo $HELM_PATH_CACHE 9 | echo $HELM_PATH_LOCAL_REPOSITORY 10 | echo $HELM_BIN 11 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/coleridge.yaml: -------------------------------------------------------------------------------- 1 | poet: "Coleridge" 2 | title: "Rime of the Ancient Mariner" 3 | stanza: ["at", "length", "did", "cross", "an", "Albatross"] 4 | 5 | mariner: 6 | with: "crossbow" 7 | shot: "ALBATROSS" 8 | 9 | water: 10 | water: 11 | where: "everywhere" 12 | nor: "any drop to drink" 13 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: alpine 3 | version: "0.1.0" 4 | repository: https://example.com/charts 5 | - name: mariner 6 | version: "4.3.2" 7 | repository: https://example.com/charts 8 | alias: 9 | - mariners1 10 | - mariners2 11 | -------------------------------------------------------------------------------- /pkg/getter/testdata/plugins/testgetter2/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: "testgetter2" 2 | version: "0.1.0" 3 | usage: "Fetch a different package from a test2:// source" 4 | description: "Handle test2 scheme" 5 | command: "$HELM_PLUGIN_DIR/get.sh" 6 | ignoreFlags: true 7 | downloaders: 8 | - command: "echo" 9 | protocols: 10 | - "test2" 11 | -------------------------------------------------------------------------------- /docs/examples/nginx/Chart.yaml: -------------------------------------------------------------------------------- 1 | name: nginx 2 | description: A basic NGINX HTTP server 3 | version: 0.1.0 4 | keywords: 5 | - http 6 | - nginx 7 | - www 8 | - web 9 | home: "https://github.com/kubernetes/helm" 10 | sources: 11 | - "https://hub.docker.com/_/nginx/" 12 | maintainers: 13 | - name: technosophos 14 | email: mbutcher@deis.com 15 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: reqsubchart 3 | version: 0.1.0 4 | repository: "https://example.com/charts" 5 | - name: reqsubchart2 6 | version: 0.2.0 7 | repository: "https://example.com/charts" 8 | - name: reqsubchart3 9 | version: ">=0.1.0" 10 | repository: "https://example.com/charts" 11 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helmhome/repository/repositories.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | repositories: 3 | - name: testing 4 | url: "http://example.com" 5 | - name: testing-https 6 | url: "https://example.com" 7 | - name: testing-basicauth 8 | url: "http://username:password@example.com" 9 | - name: kubernetes-charts 10 | url: "http://example.com/charts" 11 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | maintainers: 2 | - adamreese 3 | - michelleN 4 | - migmartri 5 | - prydonius 6 | - technosophos 7 | - thomastaylor312 8 | - vaikas-google 9 | - viglesiasce 10 | reviewers: 11 | - adamreese 12 | - fibonacci1729 13 | - michelleN 14 | - migmartri 15 | - prydonius 16 | - sebgoa 17 | - technosophos 18 | - thomastaylor312 19 | - vaikas-google 20 | - viglesiasce 21 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/alpine/README.md: -------------------------------------------------------------------------------- 1 | This example was generated using the command `helm create alpine`. 2 | 3 | The `templates/` directory contains a very simple pod resource with a 4 | couple of parameters. 5 | 6 | The `values.yaml` file contains the default values for the 7 | `alpine-pod.yaml` template. 8 | 9 | You can install this example using `helm install docs/examples/alpine`. 10 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/alpine/README.md: -------------------------------------------------------------------------------- 1 | This example was generated using the command `helm create alpine`. 2 | 3 | The `templates/` directory contains a very simple pod resource with a 4 | couple of parameters. 5 | 6 | The `values.yaml` file contains the default values for the 7 | `alpine-pod.yaml` template. 8 | 9 | You can install this example using `helm install docs/examples/alpine`. 10 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/alpine/README.md: -------------------------------------------------------------------------------- 1 | This example was generated using the command `helm create alpine`. 2 | 3 | The `templates/` directory contains a very simple pod resource with a 4 | couple of parameters. 5 | 6 | The `values.toml` file contains the default values for the 7 | `alpine-pod.yaml` template. 8 | 9 | You can install this example using `helm install docs/examples/alpine`. 10 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/README.md: -------------------------------------------------------------------------------- 1 | This example was generated using the command `helm create alpine`. 2 | 3 | The `templates/` directory contains a very simple pod resource with a 4 | couple of parameters. 5 | 6 | The `values.toml` file contains the default values for the 7 | `alpine-pod.yaml` template. 8 | 9 | You can install this example using `helm install docs/examples/alpine`. 10 | -------------------------------------------------------------------------------- /docs/examples/nginx/templates/service-test.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: "{{.Release.Name}}-service-test" 5 | annotations: 6 | "helm.sh/hook": test-success 7 | spec: 8 | containers: 9 | - name: curl 10 | image: radial/busyboxplus:curl 11 | command: ['curl'] 12 | args: [ '{{ template "fullname" .}}:{{default 80 .Values.httpPort}}' ] 13 | restartPolicy: Never 14 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/README.md: -------------------------------------------------------------------------------- 1 | This example was generated using the command `helm create alpine`. 2 | 3 | The `templates/` directory contains a very simple pod resource with a 4 | couple of parameters. 5 | 6 | The `values.toml` file contains the default values for the 7 | `alpine-pod.yaml` template. 8 | 9 | You can install this example using `helm install docs/examples/alpine`. 10 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | Example icon 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/genfrob.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Pack the albatross chart into the mariner chart. 4 | echo "Packing albatross into mariner" 5 | tar -zcvf mariner/charts/albatross-0.1.0.tgz albatross 6 | 7 | echo "Packing mariner into frobnitz" 8 | tar -zcvf frobnitz/charts/mariner-4.3.2.tgz mariner 9 | 10 | # Pack the frobnitz chart. 11 | echo "Packing frobnitz" 12 | tar --exclude=ignore/* -zcvf frobnitz-1.2.3.tgz frobnitz 13 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | Example icon 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | Example icon 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/chartfiletest.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: frobnitz 3 | description: This is a frobnitz. 4 | version: "1.2.3" 5 | keywords: 6 | - frobnitz 7 | - sprocket 8 | - dodad 9 | maintainers: 10 | - name: The Helm Team 11 | email: helm@example.com 12 | - name: Someone Else 13 | email: nobody@example.com 14 | sources: 15 | - https://example.com/foo/bar 16 | home: http://example.com 17 | icon: https://example.com/64x64.png 18 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: frobnitz 3 | description: This is a frobnitz. 4 | version: "1.2.3" 5 | keywords: 6 | - frobnitz 7 | - sprocket 8 | - dodad 9 | maintainers: 10 | - name: The Helm Team 11 | email: helm@example.com 12 | - name: Someone Else 13 | email: nobody@example.com 14 | sources: 15 | - https://example.com/foo/bar 16 | home: http://example.com 17 | icon: https://example.com/64x64.png 18 | -------------------------------------------------------------------------------- /pkg/getter/testdata/plugins/testgetter/plugin.yaml: -------------------------------------------------------------------------------- 1 | name: "testgetter" 2 | version: "0.1.0" 3 | usage: "Fetch a package from a test:// source" 4 | description: |- 5 | Print the environment that the plugin was given, then exit. 6 | 7 | This registers the test:// protocol. 8 | 9 | command: "$HELM_PLUGIN_DIR/get.sh" 10 | ignoreFlags: true 11 | downloaders: 12 | #- command: "$HELM_PLUGIN_DIR/get.sh" 13 | - command: "echo" 14 | protocols: 15 | - "test" 16 | -------------------------------------------------------------------------------- /docs/examples/alpine/README.md: -------------------------------------------------------------------------------- 1 | #Alpine: A simple Helm chart 2 | 3 | Run a single pod of Alpine Linux. 4 | 5 | This example was generated using the command `helm create alpine`. 6 | 7 | The `templates/` directory contains a very simple pod resource with a 8 | couple of parameters. 9 | 10 | The `values.yaml` file contains the default values for the 11 | `alpine-pod.yaml` template. 12 | 13 | You can install this example using `helm install docs/examples/alpine`. 14 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/charts/subchartA/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for subchart. 2 | # This is a YAML-formatted file. 3 | # Declare variables to be passed into your templates. 4 | # subchartA 5 | service: 6 | name: nginx 7 | type: ClusterIP 8 | externalPort: 80 9 | internalPort: 80 10 | SCAdata: 11 | SCAbool: false 12 | SCAfloat: 3.1 13 | SCAint: 55 14 | SCAstring: "jabba" 15 | SCAnested1: 16 | SCAnested2: true 17 | 18 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: frobnitz 3 | description: This is a frobnitz. 4 | version: "1.2.3" 5 | keywords: 6 | - frobnitz 7 | - sprocket 8 | - dodad 9 | maintainers: 10 | - name: The Helm Team 11 | email: helm@example.com 12 | - name: Someone Else 13 | email: nobody@example.com 14 | sources: 15 | - https://example.com/foo/bar 16 | home: http://example.com 17 | icon: https://example.com/64x64.png 18 | -------------------------------------------------------------------------------- /pkg/getter/testdata/repository/repositories.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | generated: 2017-04-28T12:34:38.551693035-06:00 3 | repositories: 4 | - caFile: "" 5 | cache: repository/cache/stable-index.yaml 6 | certFile: "" 7 | keyFile: "" 8 | name: stable 9 | url: https://kubernetes-charts.storage.googleapis.com 10 | - caFile: "" 11 | cache: repository/cache/local-index.yaml 12 | certFile: "" 13 | keyFile: "" 14 | name: local 15 | url: http://127.0.0.1:8879/charts 16 | -------------------------------------------------------------------------------- /pkg/repo/repotest/testdata/examplechart/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/alpine/README.md: -------------------------------------------------------------------------------- 1 | #Alpine: A simple Helm chart 2 | 3 | Run a single pod of Alpine Linux. 4 | 5 | This example was generated using the command `helm create alpine`. 6 | 7 | The `templates/` directory contains a very simple pod resource with a 8 | couple of parameters. 9 | 10 | The `values.yaml` file contains the default values for the 11 | `alpine-pod.yaml` template. 12 | 13 | You can install this example using `helm install docs/examples/alpine`. 14 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-missing-deps/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/novals/README.md: -------------------------------------------------------------------------------- 1 | #Alpine: A simple Helm chart 2 | 3 | Run a single pod of Alpine Linux. 4 | 5 | This example was generated using the command `helm create alpine`. 6 | 7 | The `templates/` directory contains a very simple pod resource with a 8 | couple of parameters. 9 | 10 | The `values.yaml` file contains the default values for the 11 | `alpine-pod.yaml` template. 12 | 13 | You can install this example using `helm install docs/examples/alpine`. 14 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: frobnitz_backslash 3 | description: This is a frobnitz. 4 | version: "1.2.3" 5 | keywords: 6 | - frobnitz 7 | - sprocket 8 | - dodad 9 | maintainers: 10 | - name: The Helm Team 11 | email: helm@example.com 12 | - name: Someone Else 13 | email: nobody@example.com 14 | sources: 15 | - https://example.com/foo/bar 16 | home: http://example.com 17 | icon: https://example.com/64x64.png 18 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-bad-requirements/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/noreqs/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ .Chart.Name }} 5 | labels: 6 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.externalPort }} 11 | targetPort: {{ .Values.service.internalPort }} 12 | protocol: TCP 13 | name: {{ .Values.service.name }} 14 | selector: 15 | app: {{ .Chart.Name }} 16 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/reqtest/charts/reqsubchart2/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ .Chart.Name }} 5 | labels: 6 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.externalPort }} 11 | targetPort: {{ .Values.service.internalPort }} 12 | protocol: TCP 13 | name: {{ .Values.service.name }} 14 | selector: 15 | app: {{ .Chart.Name }} 16 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ .Chart.Name }} 5 | labels: 6 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.externalPort }} 11 | targetPort: {{ .Values.service.internalPort }} 12 | protocol: TCP 13 | name: {{ .Values.service.name }} 14 | selector: 15 | app: {{ .Chart.Name }} 16 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-missing-deps/charts/reqsubchart/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helmhome/repository/cache/testing-https-index.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | entries: 3 | foo: 4 | - name: foo 5 | description: Foo Chart 6 | engine: gotpl 7 | home: https://k8s.io/helm 8 | keywords: [] 9 | maintainers: [] 10 | sources: 11 | - https://github.com/kubernetes/charts 12 | urls: 13 | - https://example.com/foo-1.2.3.tgz 14 | version: 1.2.3 15 | checksum: 0e6661f193211d7a5206918d42f5c2a9470b737d 16 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/chart-bad-requirements/charts/reqsubchart/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/README.md: -------------------------------------------------------------------------------- 1 | ## Subpop 2 | 3 | This chart is for testing the processing of enabled/disabled charts 4 | via conditions and tags. 5 | 6 | Currently there are three levels: 7 | 8 | ```` 9 | parent 10 | -1 tags: front-end, subchart1 11 | --A tags: front-end, subchartA 12 | --B tags: front-end, subchartB 13 | -2 tags: back-end, subchart2 14 | --B tags: back-end, subchartB 15 | --C tags: back-end, subchartC 16 | ```` 17 | 18 | Tags and conditions are currently in requirements.yaml files. -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/charts/subchartA/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ .Chart.Name }} 5 | labels: 6 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.externalPort }} 11 | targetPort: {{ .Values.service.internalPort }} 12 | protocol: TCP 13 | name: {{ .Values.service.name }} 14 | selector: 15 | app: {{ .Chart.Name }} 16 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/charts/subchartB/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ .Chart.Name }} 5 | labels: 6 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.externalPort }} 11 | targetPort: {{ .Values.service.internalPort }} 12 | protocol: TCP 13 | name: {{ .Values.service.name }} 14 | selector: 15 | app: {{ .Chart.Name }} 16 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/charts/subchartC/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ .Chart.Name }} 5 | labels: 6 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.externalPort }} 11 | targetPort: {{ .Values.service.internalPort }} 12 | protocol: TCP 13 | name: {{ .Values.service.name }} 14 | selector: 15 | app: {{ .Chart.Name }} 16 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helmhome/repository/cache/testing-basicauth-index.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | entries: 3 | foo: 4 | - name: foo 5 | description: Foo Chart 6 | engine: gotpl 7 | home: https://k8s.io/helm 8 | keywords: [] 9 | maintainers: [] 10 | sources: 11 | - https://github.com/kubernetes/charts 12 | urls: 13 | - http://username:password@example.com/foo-1.2.3.tgz 14 | version: 1.2.3 15 | checksum: 0e6661f193211d7a5206918d42f5c2a9470b737d 16 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for subchart. 2 | # This is a YAML-formatted file. 3 | # Declare variables to be passed into your templates. 4 | replicaCount: 1 5 | image: 6 | repository: nginx 7 | tag: stable 8 | pullPolicy: IfNotPresent 9 | service: 10 | name: nginx 11 | type: ClusterIP 12 | externalPort: 80 13 | internalPort: 80 14 | resources: 15 | limits: 16 | cpu: 100m 17 | memory: 128Mi 18 | requests: 19 | cpu: 100m 20 | memory: 128Mi 21 | 22 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/charts/subchartB/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: subchart2-{{ .Chart.Name }} 5 | labels: 6 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.externalPort }} 11 | targetPort: {{ .Values.service.internalPort }} 12 | protocol: TCP 13 | name: subchart2-{{ .Values.service.name }} 14 | selector: 15 | app: {{ .Chart.Name }} 16 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: subchartb 3 | repository: http://localhost:10191 4 | version: 0.1.0 5 | condition: subchartb.enabled,subchart2.subchartb.enabled 6 | tags: 7 | - back-end 8 | - subchartb 9 | - name: subchartc 10 | repository: http://localhost:10191 11 | version: 0.1.0 12 | condition: subchartc.enabled 13 | tags: 14 | - back-end 15 | - subchartc 16 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/charts/subchartB/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for subchart. 2 | # This is a YAML-formatted file. 3 | # Declare variables to be passed into your templates. 4 | replicaCount: 1 5 | image: 6 | repository: nginx 7 | tag: stable 8 | pullPolicy: IfNotPresent 9 | service: 10 | name: nginx 11 | type: ClusterIP 12 | externalPort: 80 13 | internalPort: 80 14 | resources: 15 | limits: 16 | cpu: 100m 17 | memory: 128Mi 18 | requests: 19 | cpu: 100m 20 | memory: 128Mi 21 | 22 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart2/charts/subchartC/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for subchart. 2 | # This is a YAML-formatted file. 3 | # Declare variables to be passed into your templates. 4 | replicaCount: 1 5 | image: 6 | repository: nginx 7 | tag: stable 8 | pullPolicy: IfNotPresent 9 | service: 10 | name: nginx 11 | type: ClusterIP 12 | externalPort: 80 13 | internalPort: 80 14 | resources: 15 | limits: 16 | cpu: 100m 17 | memory: 128Mi 18 | requests: 19 | cpu: 100m 20 | memory: 128Mi 21 | 22 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest/alpine/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: {{.Release.Name}}-{{.Chart.Name}} 5 | labels: 6 | heritage: {{.Release.Service}} 7 | chartName: {{.Chart.Name}} 8 | chartVersion: {{.Chart.Version | quote}} 9 | annotations: 10 | "helm.sh/created": "{{.Release.Time.Seconds}}" 11 | spec: 12 | restartPolicy: {{default "Never" .restart_policy}} 13 | containers: 14 | - name: waiter 15 | image: "alpine:3.3" 16 | command: ["/bin/sleep","9000"] 17 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest/alpine/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: {{.Release.Name}}-{{.Chart.Name}} 5 | labels: 6 | heritage: {{.Release.Service}} 7 | chartName: {{.Chart.Name}} 8 | chartVersion: {{.Chart.Version | quote}} 9 | annotations: 10 | "helm.sh/created": "{{.Release.Time.Seconds}}" 11 | spec: 12 | restartPolicy: {{default "Never" .restart_policy}} 13 | containers: 14 | - name: waiter 15 | image: "alpine:3.3" 16 | command: ["/bin/sleep","9000"] 17 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz/charts/alpine/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: {{.Release.Name}}-{{.Chart.Name}} 5 | labels: 6 | heritage: {{.Release.Service}} 7 | chartName: {{.Chart.Name}} 8 | chartVersion: {{.Chart.Version | quote}} 9 | annotations: 10 | "helm.sh/created": "{{.Release.Time.Seconds}}" 11 | spec: 12 | restartPolicy: {{default "Never" .restart_policy}} 13 | containers: 14 | - name: waiter 15 | image: "alpine:3.3" 16 | command: ["/bin/sleep","9000"] 17 | -------------------------------------------------------------------------------- /docs/examples/nginx/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for nginx. 2 | # This is a YAML-formatted file. 3 | # Declare name/value pairs to be passed into your templates. 4 | 5 | # See the list at https://hub.docker.com/r/library/nginx/tags/ 6 | imageTag: "1.11.0" 7 | 8 | # The port (defined on the service) to access the HTTP server. 9 | httpPort: 8888 10 | 11 | # Number of nginx instances to run 12 | replicaCount: 1 13 | 14 | # Evaluated by the post-install hook 15 | sleepyTime: "10" 16 | 17 | index: >- 18 |

Hello

19 |

This is a test

20 | -------------------------------------------------------------------------------- /docs/examples/nginx/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | # This is a simple example of using a config map to create a single page 2 | # static site. 3 | apiVersion: v1 4 | kind: ConfigMap 5 | metadata: 6 | name: {{template "fullname" .}} 7 | labels: 8 | release: {{ .Release.Name | quote }} 9 | app: {{template "fullname" .}} 10 | heritage: {{.Release.Service | quote }} 11 | data: 12 | # When the config map is mounted as a volume, these will be created as 13 | # files. 14 | index.html: {{default "Hello" .Values.index | quote}} 15 | test.txt: test 16 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/dependent-chart-alias/charts/alpine/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: {{.Release.Name}}-{{.Chart.Name}} 5 | labels: 6 | heritage: {{.Release.Service}} 7 | chartName: {{.Chart.Name}} 8 | chartVersion: {{.Chart.Version | quote}} 9 | annotations: 10 | "helm.sh/created": "{{.Release.Time.Seconds}}" 11 | spec: 12 | restartPolicy: {{default "Never" .restart_policy}} 13 | containers: 14 | - name: waiter 15 | image: "alpine:3.3" 16 | command: ["/bin/sleep","9000"] 17 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/frobnitz_backslash/charts/alpine/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: {{.Release.Name}}-{{.Chart.Name}} 5 | labels: 6 | heritage: {{.Release.Service}} 7 | chartName: {{.Chart.Name}} 8 | chartVersion: {{.Chart.Version | quote}} 9 | annotations: 10 | "helm.sh/created": "{{.Release.Time.Seconds}}" 11 | spec: 12 | restartPolicy: {{default "Never" .restart_policy}} 13 | containers: 14 | - name: waiter 15 | image: "alpine:3.3" 16 | command: ["/bin/sleep","9000"] 17 | -------------------------------------------------------------------------------- /docs/examples/nginx/templates/pre-install-secret.yaml: -------------------------------------------------------------------------------- 1 | # This shows a secret as a pre-install hook. 2 | # A pre-install hook is run before the rest of the chart is loaded. 3 | apiVersion: v1 4 | kind: Secret 5 | metadata: 6 | name: "{{.Release.Name}}-secret" 7 | # This declares the resource to be a hook. By convention, we also name the 8 | # file "pre-install-XXX.yaml", but Helm itself doesn't care about file names. 9 | annotations: 10 | "helm.sh/hook": pre-install 11 | type: Opaque 12 | data: 13 | password: {{ b64enc "secret" }} 14 | username: {{ b64enc "user1" }} 15 | -------------------------------------------------------------------------------- /docs/examples/nginx/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{define "name"}}{{default "nginx" .Values.nameOverride | trunc 63 | trimSuffix "-" }}{{end}} 6 | 7 | {{/* 8 | Create a default fully qualified app name. 9 | 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this 11 | (by the DNS naming spec). 12 | */}} 13 | {{define "fullname"}} 14 | {{- $name := default "nginx" .Values.nameOverride -}} 15 | {{printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} 16 | {{end}} 17 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/noreqs/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for subchart. 2 | # This is a YAML-formatted file. 3 | # Declare variables to be passed into your templates. 4 | replicaCount: 1 5 | image: 6 | repository: nginx 7 | tag: stable 8 | pullPolicy: IfNotPresent 9 | service: 10 | name: nginx 11 | type: ClusterIP 12 | externalPort: 80 13 | internalPort: 80 14 | resources: 15 | limits: 16 | cpu: 100m 17 | memory: 128Mi 18 | requests: 19 | cpu: 100m 20 | memory: 128Mi 21 | 22 | 23 | # switch-like 24 | tags: 25 | front-end: true 26 | back-end: false 27 | -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/albatross/templates/_helpers.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{define "name"}}{{default "nginx" .Values.nameOverride | trunc 63 | trimSuffix "-" }}{{end}} 6 | 7 | {{/* 8 | Create a default fully qualified app name. 9 | 10 | We truncate at 63 chars because some Kubernetes name fields are limited to this 11 | (by the DNS naming spec). 12 | */}} 13 | {{define "fullname"}} 14 | {{- $name := default "nginx" .Values.nameOverride -}} 15 | {{printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} 16 | {{end}} 17 | -------------------------------------------------------------------------------- /docs/examples/nginx/templates/svc.yaml: -------------------------------------------------------------------------------- 1 | # This is a service gateway to the replica set created by the deployment. 2 | # Take a look at the deployment.yaml for general notes about this chart. 3 | apiVersion: v1 4 | kind: Service 5 | metadata: 6 | name: {{template "fullname" .}} 7 | labels: 8 | heritage: {{ .Release.Service | quote }} 9 | release: {{ .Release.Name | quote }} 10 | chart: "{{.Chart.Name}}-{{.Chart.Version}}" 11 | spec: 12 | ports: 13 | - port: {{default 80 .Values.httpPort}} 14 | targetPort: 80 15 | protocol: TCP 16 | name: http 17 | selector: 18 | app: {{template "fullname" .}} 19 | -------------------------------------------------------------------------------- /docs/examples/README.md: -------------------------------------------------------------------------------- 1 | # Helm Examples 2 | 3 | This directory contains example charts to help you get started with 4 | chart development. 5 | 6 | ## Alpine 7 | 8 | The `alpine` chart is very simple, and is a good starting point. 9 | 10 | It simply deploys a single pod running Alpine Linux. 11 | 12 | ## Nginx 13 | 14 | The `nginx` chart shows how to compose several resources into one chart, 15 | and it illustrates more complex template usage. 16 | 17 | It deploys a `deployment` (which creates a `replica set`), a `config 18 | map`, and a `service`. The replica set starts an nginx pod. The config 19 | map stores the files that the nginx server can serve. 20 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcache/foobar-index.yaml: -------------------------------------------------------------------------------- 1 | foobar-0.1.0: 2 | url: https://kubernetes-charts.storage.googleapis.com/nginx-0.1.0.tgz 3 | name: foobar 4 | removed: false 5 | chartfile: 6 | name: foobar 7 | description: string 8 | version: 0.1.0 9 | home: https://github.com/foo 10 | keywords: 11 | - dummy 12 | - hokey 13 | oddness-1.2.3: 14 | url: https://kubernetes-charts.storage.googleapis.com/alpine-1.0.0.tgz 15 | name: oddness 16 | removed: false 17 | chartfile: 18 | name: oddness 19 | description: string 20 | version: 1.2.3 21 | home: https://github.com/something 22 | keywords: 23 | - duck 24 | - sumtin 25 | -------------------------------------------------------------------------------- /rootfs/README.md: -------------------------------------------------------------------------------- 1 | # RootFS 2 | 3 | This directory stores all files that should be copied to the rootfs of a 4 | Docker container. The files should be stored according to the correct 5 | directory structure of the destination container. For example: 6 | 7 | ``` 8 | rootfs/bin -> /bin 9 | rootfs/usr/local/share -> /usr/local/share 10 | ``` 11 | 12 | ## Dockerfile 13 | 14 | A Dockerfile in the rootfs is used to build the image. Where possible, 15 | compilation should not be done in this Dockerfile, since we are 16 | interested in deploying the smallest possible images. 17 | 18 | Example: 19 | 20 | ```Dockerfile 21 | FROM alpine:3.2 22 | 23 | COPY . / 24 | 25 | ENTRYPOINT ["/usr/local/bin/boot"] 26 | ``` 27 | 28 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/charts/subchartB/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for subchart. 2 | # This is a YAML-formatted file. 3 | # Declare variables to be passed into your templates. 4 | service: 5 | name: nginx 6 | type: ClusterIP 7 | externalPort: 80 8 | internalPort: 80 9 | 10 | SCBdata: 11 | SCBbool: true 12 | SCBfloat: 7.77 13 | SCBint: 33 14 | SCBstring: "boba" 15 | 16 | exports: 17 | SCBexported1: 18 | SCBexported1A: 19 | SCBexported1B: 1965 20 | 21 | SCBexported2: 22 | SCBexported2A: "blaster" 23 | 24 | global: 25 | kolla: 26 | nova: 27 | api: 28 | all: 29 | port: 8774 30 | metadata: 31 | all: 32 | port: 8775 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcache/local-index.yaml: -------------------------------------------------------------------------------- 1 | nginx-0.1.0: 2 | url: https://kubernetes-charts.storage.googleapis.com/nginx-0.1.0.tgz 3 | name: nginx 4 | removed: false 5 | chartfile: 6 | name: nginx 7 | description: string 8 | version: 0.1.0 9 | home: https://github.com/something 10 | keywords: 11 | - popular 12 | - web server 13 | - proxy 14 | alpine-1.0.0: 15 | url: https://kubernetes-charts.storage.googleapis.com/alpine-1.0.0.tgz 16 | name: alpine 17 | removed: false 18 | chartfile: 19 | name: alpine 20 | description: string 21 | version: 1.0.0 22 | home: https://github.com/something 23 | keywords: 24 | - linux 25 | - alpine 26 | - small 27 | - sumtin 28 | -------------------------------------------------------------------------------- /docs/chart_template_guide/index.md: -------------------------------------------------------------------------------- 1 | # The Chart Template Developer's Guide 2 | 3 | This guide provides an introduction to Helm's chart templates, with emphasis on 4 | the template language. 5 | 6 | Templates generate manifest files, which are YAML-formatted resource descriptions 7 | that Kubernetes can understand. We'll look at how templates are structured, 8 | how they can be used, how to write Go templates, and how to debug your work. 9 | 10 | This guide focuses on the following concepts: 11 | 12 | - The Helm template language 13 | - Using values 14 | - Techniques for working with templates 15 | 16 | This guide is oriented toward learning the ins and outs of the Helm template language. Other guides provide introductory material, examples, and best practices. -------------------------------------------------------------------------------- /pkg/lint/rules/testdata/albatross/templates/svc.yaml: -------------------------------------------------------------------------------- 1 | # This is a service gateway to the replica set created by the deployment. 2 | # Take a look at the deployment.yaml for general notes about this chart. 3 | apiVersion: v1 4 | kind: Service 5 | metadata: 6 | name: "{{ .Values.name }}" 7 | labels: 8 | heritage: {{ .Release.Service | quote }} 9 | release: {{ .Release.Name | quote }} 10 | chart: "{{.Chart.Name}}-{{.Chart.Version}}" 11 | kubeVersion: {{ .Capabilities.KubeVersion.Major }} 12 | tillerVersion: {{ .Capabilities.TillerVersion }} 13 | spec: 14 | ports: 15 | - port: {{default 80 .Values.httpPort | quote}} 16 | targetPort: 80 17 | protocol: TCP 18 | name: http 19 | selector: 20 | app: {{template "fullname" .}} 21 | -------------------------------------------------------------------------------- /docs/chart_repository_faq.md: -------------------------------------------------------------------------------- 1 | # Chart Repositories: Frequently Asked Questions 2 | 3 | This section tracks some of the more frequently encountered issues with using chart repositories. 4 | 5 | **We'd love your help** making this document better. To add, correct, or remove 6 | information, [file an issue](https://github.com/kubernetes/helm/issues) or 7 | send us a pull request. 8 | 9 | ## Fetching 10 | 11 | **Q: Why do I get a `unsupported protocol scheme ""` error when trying to fetch a chart from my custom repo?** 12 | 13 | A: This is likely caused by you creating your chart repo index without specifying the `--url` flag. 14 | Try recreating your `index.yaml` file with a command like `heml repo index --url http://my-repo/charts .`, 15 | and then re-uploading it to your custom charts repo. 16 | -------------------------------------------------------------------------------- /pkg/version/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package version represents the current version of the project. 18 | package version // import "k8s.io/helm/pkg/version" 19 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/signtest-0.1.0.tgz.prov: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNED MESSAGE----- 2 | Hash: SHA512 3 | 4 | description: A Helm chart for Kubernetes 5 | name: signtest 6 | version: 0.1.0 7 | 8 | ... 9 | files: 10 | signtest-0.1.0.tgz: sha256:dee72947753628425b82814516bdaa37aef49f25e8820dd2a6e15a33a007823b 11 | -----BEGIN PGP SIGNATURE----- 12 | 13 | wsBcBAEBCgAQBQJXomNHCRCEO7+YH8GHYgAALywIAG1Me852Fpn1GYu8Q1GCcw4g 14 | l2k7vOFchdDwDhdSVbkh4YyvTaIO3iE2Jtk1rxw+RIJiUr0eLO/rnIJuxZS8WKki 15 | DR1LI9J1VD4dxN3uDETtWDWq7ScoPsRY5mJvYZXC8whrWEt/H2kfqmoA9LloRPWp 16 | flOE0iktA4UciZOblTj6nAk3iDyjh/4HYL4a6tT0LjjKI7OTw4YyHfjHad1ywVCz 17 | 9dMUc1rPgTnl+fnRiSPSrlZIWKOt1mcQ4fVrU3nwtRUwTId2k8FtygL0G6M+Y6t0 18 | S6yaU7qfk9uTxkdkUF7Bf1X3ukxfe+cNBC32vf4m8LY4NkcYfSqK2fGtQsnVr6s= 19 | =NyOM 20 | -----END PGP SIGNATURE----- -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/signtest-0.1.0.tgz.prov: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNED MESSAGE----- 2 | Hash: SHA512 3 | 4 | description: A Helm chart for Kubernetes 5 | name: signtest 6 | version: 0.1.0 7 | 8 | ... 9 | files: 10 | signtest-0.1.0.tgz: sha256:dee72947753628425b82814516bdaa37aef49f25e8820dd2a6e15a33a007823b 11 | -----BEGIN PGP SIGNATURE----- 12 | 13 | wsBcBAEBCgAQBQJXomNHCRCEO7+YH8GHYgAALywIAG1Me852Fpn1GYu8Q1GCcw4g 14 | l2k7vOFchdDwDhdSVbkh4YyvTaIO3iE2Jtk1rxw+RIJiUr0eLO/rnIJuxZS8WKki 15 | DR1LI9J1VD4dxN3uDETtWDWq7ScoPsRY5mJvYZXC8whrWEt/H2kfqmoA9LloRPWp 16 | flOE0iktA4UciZOblTj6nAk3iDyjh/4HYL4a6tT0LjjKI7OTw4YyHfjHad1ywVCz 17 | 9dMUc1rPgTnl+fnRiSPSrlZIWKOt1mcQ4fVrU3nwtRUwTId2k8FtygL0G6M+Y6t0 18 | S6yaU7qfk9uTxkdkUF7Bf1X3ukxfe+cNBC32vf4m8LY4NkcYfSqK2fGtQsnVr6s= 19 | =NyOM 20 | -----END PGP SIGNATURE----- -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/values.yaml: -------------------------------------------------------------------------------- 1 | # parent/values.yaml 2 | 3 | imported-chart1: 4 | SPextra1: "helm rocks" 5 | 6 | overridden-chart1: 7 | SC1bool: false 8 | SC1float: 3.141592 9 | SC1int: 99 10 | SC1string: "pollywog" 11 | SPextra2: 42 12 | 13 | 14 | imported-chartA: 15 | SPextra3: 1.337 16 | 17 | overridden-chartA: 18 | SCAbool: true 19 | SCAfloat: 41.3 20 | SCAint: 808 21 | SCAstring: "jaberwocky" 22 | SPextra4: true 23 | 24 | imported-chartA-B: 25 | SPextra5: "k8s" 26 | 27 | overridden-chartA-B: 28 | SCAbool: true 29 | SCAfloat: 41.3 30 | SCAint: 808 31 | SCAstring: "jaberwocky" 32 | SCBbool: false 33 | SCBfloat: 1.99 34 | SCBint: 77 35 | SCBstring: "jango" 36 | SPextra6: 111 37 | 38 | tags: 39 | front-end: true 40 | back-end: false 41 | 42 | -------------------------------------------------------------------------------- /pkg/plugin/installer/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | */ 15 | 16 | // Package installer provides an interface for installing Helm plugins. 17 | package installer // import "k8s.io/helm/pkg/plugin/installer" 18 | -------------------------------------------------------------------------------- /docs/helm/helm_plugin_list.md: -------------------------------------------------------------------------------- 1 | ## helm plugin list 2 | 3 | list installed Helm plugins 4 | 5 | ### Synopsis 6 | 7 | 8 | list installed Helm plugins 9 | 10 | ``` 11 | helm plugin list 12 | ``` 13 | 14 | ### Options inherited from parent commands 15 | 16 | ``` 17 | --debug enable verbose output 18 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 19 | --host string address of tiller. Overrides $HELM_HOST 20 | --kube-context string name of the kubeconfig context to use 21 | --tiller-namespace string namespace of tiller (default "kube-system") 22 | ``` 23 | 24 | ### SEE ALSO 25 | * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins 26 | 27 | ###### Auto generated by spf13/cobra on 26-May-2017 28 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/msgblock.yaml.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNED MESSAGE----- 2 | Hash: SHA512 3 | 4 | description: Test chart versioning 5 | name: hashtest 6 | version: 1.2.3 7 | 8 | ... 9 | files: 10 | hashtest-1.2.3.tgz: sha256:8e90e879e2a04b1900570e1c198755e46e4706d70b0e79f5edabfac7900e4e75 11 | -----BEGIN PGP SIGNATURE----- 12 | Comment: GPGTools - https://gpgtools.org 13 | 14 | iQEcBAEBCgAGBQJXlp8KAAoJEIQ7v5gfwYdiE7sIAJYDiza+asekeooSXLvQiK+G 15 | PKnveqQpx49EZ6L7Y7UlW25SyH8EjXXHeJysDywCXF3w4luxN9n56ffU0KEW11IY 16 | F+JSjmgIWLS6ti7ZAGEi6JInQ/30rOAIpTEBRBL2IueW3m63mezrGK6XkBlGqpor 17 | C9WKeqLi+DWlMoBtsEy3Uk0XP6pn/qBFICYAbLQQU0sCCUT8CBA8f8aidxi7aw9t 18 | i404yYF+Dvc6i4JlSG77SV0ZJBWllUvsWoCd9Jli0NAuaMqmE7mzcEt/dE+Fm2Ql 19 | Bx3tr1WS4xTRiFQdcOttOl93H+OaHTh+Y0qqLTzzpCvqmttG0HfI6lMeCs7LeyA= 20 | =vEK+ 21 | -----END PGP SIGNATURE----- 22 | -------------------------------------------------------------------------------- /pkg/repo/repotest/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | */ 15 | 16 | /*Package repotest provides utilities for testing. 17 | 18 | The server provides a testing server that can be set up and torn down quickly. 19 | */ 20 | package repotest 21 | -------------------------------------------------------------------------------- /docs/helm/helm_repo_list.md: -------------------------------------------------------------------------------- 1 | ## helm repo list 2 | 3 | list chart repositories 4 | 5 | ### Synopsis 6 | 7 | 8 | list chart repositories 9 | 10 | ``` 11 | helm repo list [flags] 12 | ``` 13 | 14 | ### Options inherited from parent commands 15 | 16 | ``` 17 | --debug enable verbose output 18 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 19 | --host string address of tiller. Overrides $HELM_HOST 20 | --kube-context string name of the kubeconfig context to use 21 | --tiller-namespace string namespace of tiller (default "kube-system") 22 | ``` 23 | 24 | ### SEE ALSO 25 | * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories 26 | 27 | ###### Auto generated by spf13/cobra on 26-May-2017 28 | -------------------------------------------------------------------------------- /pkg/provenance/testdata/msgblock.yaml.tampered: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNED MESSAGE----- 2 | Hash: SHA512 3 | 4 | description: Test chart versioning 5 | name: hashtest 6 | version: 1.2.3+tampered 7 | 8 | ... 9 | files: 10 | hashtest-1.2.3.tgz: sha256:8e90e879e2a04b1900570e1c198755e46e4706d70b0e79f5edabfac7900e4e75 11 | -----BEGIN PGP SIGNATURE----- 12 | Comment: GPGTools - https://gpgtools.org 13 | 14 | iQEcBAEBCgAGBQJXlp8KAAoJEIQ7v5gfwYdiE7sIAJYDiza+asekeooSXLvQiK+G 15 | PKnveqQpx49EZ6L7Y7UlW25SyH8EjXXHeJysDywCXF3w4luxN9n56ffU0KEW11IY 16 | F+JSjmgIWLS6ti7ZAGEi6JInQ/30rOAIpTEBRBL2IueW3m63mezrGK6XkBlGqpor 17 | C9WKeqLi+DWlMoBtsEy3Uk0XP6pn/qBFICYAbLQQU0sCCUT8CBA8f8aidxi7aw9t 18 | i404yYF+Dvc6i4JlSG77SV0ZJBWllUvsWoCd9Jli0NAuaMqmE7mzcEt/dE+Fm2Ql 19 | Bx3tr1WS4xTRiFQdcOttOl93H+OaHTh+Y0qqLTzzpCvqmttG0HfI6lMeCs7LeyA= 20 | =vEK+ 21 | -----END PGP SIGNATURE----- 22 | -------------------------------------------------------------------------------- /docs/helm/helm_plugin_remove.md: -------------------------------------------------------------------------------- 1 | ## helm plugin remove 2 | 3 | remove one or more Helm plugins 4 | 5 | ### Synopsis 6 | 7 | 8 | remove one or more Helm plugins 9 | 10 | ``` 11 | helm plugin remove ... 12 | ``` 13 | 14 | ### Options inherited from parent commands 15 | 16 | ``` 17 | --debug enable verbose output 18 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 19 | --host string address of tiller. Overrides $HELM_HOST 20 | --kube-context string name of the kubeconfig context to use 21 | --tiller-namespace string namespace of tiller (default "kube-system") 22 | ``` 23 | 24 | ### SEE ALSO 25 | * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins 26 | 27 | ###### Auto generated by spf13/cobra on 26-May-2017 28 | -------------------------------------------------------------------------------- /docs/helm/helm_plugin_update.md: -------------------------------------------------------------------------------- 1 | ## helm plugin update 2 | 3 | update one or more Helm plugins 4 | 5 | ### Synopsis 6 | 7 | 8 | update one or more Helm plugins 9 | 10 | ``` 11 | helm plugin update ... 12 | ``` 13 | 14 | ### Options inherited from parent commands 15 | 16 | ``` 17 | --debug enable verbose output 18 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 19 | --host string address of tiller. Overrides $HELM_HOST 20 | --kube-context string name of the kubeconfig context to use 21 | --tiller-namespace string namespace of tiller (default "kube-system") 22 | ``` 23 | 24 | ### SEE ALSO 25 | * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins 26 | 27 | ###### Auto generated by spf13/cobra on 26-May-2017 28 | -------------------------------------------------------------------------------- /docs/helm/helm_repo_remove.md: -------------------------------------------------------------------------------- 1 | ## helm repo remove 2 | 3 | remove a chart repository 4 | 5 | ### Synopsis 6 | 7 | 8 | remove a chart repository 9 | 10 | ``` 11 | helm repo remove [flags] [NAME] 12 | ``` 13 | 14 | ### Options inherited from parent commands 15 | 16 | ``` 17 | --debug enable verbose output 18 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 19 | --host string address of tiller. Overrides $HELM_HOST 20 | --kube-context string name of the kubeconfig context to use 21 | --tiller-namespace string namespace of tiller (default "kube-system") 22 | ``` 23 | 24 | ### SEE ALSO 25 | * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories 26 | 27 | ###### Auto generated by spf13/cobra on 26-May-2017 28 | -------------------------------------------------------------------------------- /rootfs/Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | FROM alpine:3.3 16 | 17 | RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/* 18 | 19 | ENV HOME /tmp 20 | 21 | COPY tiller /tiller 22 | 23 | EXPOSE 44134 24 | 25 | CMD ["/tiller"] 26 | 27 | -------------------------------------------------------------------------------- /rootfs/Dockerfile.rudder: -------------------------------------------------------------------------------- 1 | # Copyright 2017 The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | FROM alpine:3.3 16 | 17 | RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/* 18 | 19 | ENV HOME /tmp 20 | 21 | COPY rudder /rudder 22 | 23 | EXPOSE 10001 24 | 25 | CMD ["/rudder"] 26 | -------------------------------------------------------------------------------- /pkg/getter/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | */ 15 | 16 | /*Package getter provides a generalize tool for fetching data by scheme. 17 | 18 | This provides a method by which the plugin system can load arbitrary protocol 19 | handlers based upon a URL scheme. 20 | */ 21 | package getter 22 | -------------------------------------------------------------------------------- /docs/helm/helm_home.md: -------------------------------------------------------------------------------- 1 | ## helm home 2 | 3 | displays the location of HELM_HOME 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | This command displays the location of HELM_HOME. This is where 10 | any helm configuration files live. 11 | 12 | 13 | ``` 14 | helm home 15 | ``` 16 | 17 | ### Options inherited from parent commands 18 | 19 | ``` 20 | --debug enable verbose output 21 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 22 | --host string address of tiller. Overrides $HELM_HOST 23 | --kube-context string name of the kubeconfig context to use 24 | --tiller-namespace string namespace of tiller (default "kube-system") 25 | ``` 26 | 27 | ### SEE ALSO 28 | * [helm](helm.md) - The Helm package manager for Kubernetes. 29 | 30 | ###### Auto generated by spf13/cobra on 26-May-2017 31 | -------------------------------------------------------------------------------- /rootfs/Dockerfile.experimental: -------------------------------------------------------------------------------- 1 | # Copyright 2017 The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | FROM alpine:3.3 16 | 17 | RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/* 18 | 19 | ENV HOME /tmp 20 | 21 | COPY tiller /tiller 22 | 23 | EXPOSE 44134 24 | 25 | CMD ["/tiller", "--experimental-release"] 26 | 27 | -------------------------------------------------------------------------------- /pkg/lint/support/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | /*Package support contains tools for linting charts. 18 | 19 | Linting is the process of testing charts for errors or warnings regarding 20 | formatting, compilation, or standards compliance. 21 | */ 22 | package support // import "k8s.io/helm/pkg/lint/support" 23 | -------------------------------------------------------------------------------- /_proto/hapi/version/version.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Kubernetes Authors All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package hapi.version; 18 | 19 | option go_package = "version"; 20 | 21 | message Version { 22 | // Sem ver string for the version 23 | string sem_ver = 1; 24 | string git_commit = 2; 25 | string git_tree_state = 3; 26 | } 27 | -------------------------------------------------------------------------------- /pkg/kube/tunnel_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package kube 18 | 19 | import ( 20 | "testing" 21 | ) 22 | 23 | func TestAvailablePort(t *testing.T) { 24 | port, err := getAvailablePort() 25 | if err != nil { 26 | t.Fatal(err) 27 | } 28 | if port < 1 { 29 | t.Fatalf("generated port should be > 1, got %d", port) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /pkg/kube/log.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package kube 18 | 19 | import ( 20 | "flag" 21 | "fmt" 22 | "os" 23 | ) 24 | 25 | func init() { 26 | if level := os.Getenv("KUBE_LOG_LEVEL"); level != "" { 27 | flag.Set("vmodule", fmt.Sprintf("loader=%s,round_trippers=%s,request=%s", level, level, level)) 28 | flag.Set("logtostderr", "true") 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/man/man1/helm_repo_list.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-repo\-list \- list chart repositories 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm repo list [flags]\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | list chart repositories 19 | 20 | 21 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 22 | .PP 23 | \fB\-\-debug\fP[=false] 24 | enable verbose output 25 | 26 | .PP 27 | \fB\-\-home\fP="~/.helm" 28 | location of your Helm config. Overrides $HELM\_HOME 29 | 30 | .PP 31 | \fB\-\-host\fP="localhost:44134" 32 | address of tiller. Overrides $HELM\_HOST 33 | 34 | .PP 35 | \fB\-\-kube\-context\fP="" 36 | name of the kubeconfig context to use 37 | 38 | .PP 39 | \fB\-\-tiller\-namespace\fP="kube\-system" 40 | namespace of tiller 41 | 42 | 43 | .SH SEE ALSO 44 | .PP 45 | \fBhelm\-repo(1)\fP 46 | 47 | 48 | .SH HISTORY 49 | .PP 50 | 19\-May\-2017 Auto generated by spf13/cobra 51 | -------------------------------------------------------------------------------- /pkg/engine/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | /*Package engine implements the Go template engine as a Tiller Engine. 18 | 19 | Tiller provides a simple interface for taking a Chart and rendering its templates. 20 | The 'engine' package implements this interface using Go's built-in 'text/template' 21 | package. 22 | */ 23 | package engine // import "k8s.io/helm/pkg/engine" 24 | -------------------------------------------------------------------------------- /docs/man/man1/helm_plugin_list.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-plugin\-list \- list installed Helm plugins 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm plugin list\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | list installed Helm plugins 19 | 20 | 21 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 22 | .PP 23 | \fB\-\-debug\fP[=false] 24 | enable verbose output 25 | 26 | .PP 27 | \fB\-\-home\fP="~/.helm" 28 | location of your Helm config. Overrides $HELM\_HOME 29 | 30 | .PP 31 | \fB\-\-host\fP="localhost:44134" 32 | address of tiller. Overrides $HELM\_HOST 33 | 34 | .PP 35 | \fB\-\-kube\-context\fP="" 36 | name of the kubeconfig context to use 37 | 38 | .PP 39 | \fB\-\-tiller\-namespace\fP="kube\-system" 40 | namespace of tiller 41 | 42 | 43 | .SH SEE ALSO 44 | .PP 45 | \fBhelm\-plugin(1)\fP 46 | 47 | 48 | .SH HISTORY 49 | .PP 50 | 19\-May\-2017 Auto generated by spf13/cobra 51 | -------------------------------------------------------------------------------- /pkg/timeconv/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | /*Package timeconv contains utilities for converting time. 18 | 19 | The gRPC/Protobuf libraries contain time implementations that require conversion 20 | to and from Go times. This library provides utilities and convenience functions 21 | for performing conversions. 22 | */ 23 | package timeconv // import "k8s.io/helm/pkg/timeconv" 24 | -------------------------------------------------------------------------------- /docs/man/man1/helm_repo_remove.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-repo\-remove \- remove a chart repository 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm repo remove [flags] [NAME]\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | remove a chart repository 19 | 20 | 21 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 22 | .PP 23 | \fB\-\-debug\fP[=false] 24 | enable verbose output 25 | 26 | .PP 27 | \fB\-\-home\fP="~/.helm" 28 | location of your Helm config. Overrides $HELM\_HOME 29 | 30 | .PP 31 | \fB\-\-host\fP="localhost:44134" 32 | address of tiller. Overrides $HELM\_HOST 33 | 34 | .PP 35 | \fB\-\-kube\-context\fP="" 36 | name of the kubeconfig context to use 37 | 38 | .PP 39 | \fB\-\-tiller\-namespace\fP="kube\-system" 40 | namespace of tiller 41 | 42 | 43 | .SH SEE ALSO 44 | .PP 45 | \fBhelm\-repo(1)\fP 46 | 47 | 48 | .SH HISTORY 49 | .PP 50 | 19\-May\-2017 Auto generated by spf13/cobra 51 | -------------------------------------------------------------------------------- /docs/man/man1/helm_plugin_remove.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-plugin\-remove \- remove one or more Helm plugins 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm plugin remove \&...\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | remove one or more Helm plugins 19 | 20 | 21 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 22 | .PP 23 | \fB\-\-debug\fP[=false] 24 | enable verbose output 25 | 26 | .PP 27 | \fB\-\-home\fP="~/.helm" 28 | location of your Helm config. Overrides $HELM\_HOME 29 | 30 | .PP 31 | \fB\-\-host\fP="localhost:44134" 32 | address of tiller. Overrides $HELM\_HOST 33 | 34 | .PP 35 | \fB\-\-kube\-context\fP="" 36 | name of the kubeconfig context to use 37 | 38 | .PP 39 | \fB\-\-tiller\-namespace\fP="kube\-system" 40 | namespace of tiller 41 | 42 | 43 | .SH SEE ALSO 44 | .PP 45 | \fBhelm\-plugin(1)\fP 46 | 47 | 48 | .SH HISTORY 49 | .PP 50 | 19\-May\-2017 Auto generated by spf13/cobra 51 | -------------------------------------------------------------------------------- /docs/man/man1/helm_plugin_update.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-plugin\-update \- update one or more Helm plugins 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm plugin update \&...\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | update one or more Helm plugins 19 | 20 | 21 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 22 | .PP 23 | \fB\-\-debug\fP[=false] 24 | enable verbose output 25 | 26 | .PP 27 | \fB\-\-home\fP="~/.helm" 28 | location of your Helm config. Overrides $HELM\_HOME 29 | 30 | .PP 31 | \fB\-\-host\fP="localhost:44134" 32 | address of tiller. Overrides $HELM\_HOST 33 | 34 | .PP 35 | \fB\-\-kube\-context\fP="" 36 | name of the kubeconfig context to use 37 | 38 | .PP 39 | \fB\-\-tiller\-namespace\fP="kube\-system" 40 | namespace of tiller 41 | 42 | 43 | .SH SEE ALSO 44 | .PP 45 | \fBhelm\-plugin(1)\fP 46 | 47 | 48 | .SH HISTORY 49 | .PP 50 | 19\-May\-2017 Auto generated by spf13/cobra 51 | -------------------------------------------------------------------------------- /pkg/downloader/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | */ 15 | 16 | /*Package downloader provides a library for downloading charts. 17 | 18 | This package contains various tools for downloading charts from repository 19 | servers, and then storing them in Helm-specific directory structures (like 20 | HELM_HOME). This library contains many functions that depend on a specific 21 | filesystem layout. 22 | */ 23 | package downloader 24 | -------------------------------------------------------------------------------- /docs/helm/helm_plugin_install.md: -------------------------------------------------------------------------------- 1 | ## helm plugin install 2 | 3 | install one or more Helm plugins 4 | 5 | ### Synopsis 6 | 7 | 8 | install one or more Helm plugins 9 | 10 | ``` 11 | helm plugin install [options] ... 12 | ``` 13 | 14 | ### Options 15 | 16 | ``` 17 | --version string specify a version constraint. If this is not specified, the latest version is installed 18 | ``` 19 | 20 | ### Options inherited from parent commands 21 | 22 | ``` 23 | --debug enable verbose output 24 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 25 | --host string address of tiller. Overrides $HELM_HOST 26 | --kube-context string name of the kubeconfig context to use 27 | --tiller-namespace string namespace of tiller (default "kube-system") 28 | ``` 29 | 30 | ### SEE ALSO 31 | * [helm plugin](helm_plugin.md) - add, list, or remove Helm plugins 32 | 33 | ###### Auto generated by spf13/cobra on 26-May-2017 34 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: subchart1 3 | repository: http://localhost:10191 4 | version: 0.1.0 5 | condition: subchart1.enabled 6 | tags: 7 | - front-end 8 | - subchart1 9 | import-values: 10 | - child: SC1data 11 | parent: imported-chart1 12 | - child: SC1data 13 | parent: overridden-chart1 14 | - child: imported-chartA 15 | parent: imported-chartA 16 | - child: imported-chartA-B 17 | parent: imported-chartA-B 18 | - child: overridden-chartA-B 19 | parent: overridden-chartA-B 20 | - child: SCBexported1A 21 | parent: . 22 | - SCBexported2 23 | - SC1exported1 24 | 25 | - name: subchart2 26 | repository: http://localhost:10191 27 | version: 0.1.0 28 | condition: subchart2.enabled 29 | tags: 30 | - back-end 31 | - subchart2 32 | -------------------------------------------------------------------------------- /docs/man/man1/helm_home.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-home \- displays the location of HELM\_HOME 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm home\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | This command displays the location of HELM\_HOME. This is where 19 | any helm configuration files live. 20 | 21 | 22 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 23 | .PP 24 | \fB\-\-debug\fP[=false] 25 | enable verbose output 26 | 27 | .PP 28 | \fB\-\-home\fP="~/.helm" 29 | location of your Helm config. Overrides $HELM\_HOME 30 | 31 | .PP 32 | \fB\-\-host\fP="localhost:44134" 33 | address of tiller. Overrides $HELM\_HOST 34 | 35 | .PP 36 | \fB\-\-kube\-context\fP="" 37 | name of the kubeconfig context to use 38 | 39 | .PP 40 | \fB\-\-tiller\-namespace\fP="kube\-system" 41 | namespace of tiller 42 | 43 | 44 | .SH SEE ALSO 45 | .PP 46 | \fBhelm(1)\fP 47 | 48 | 49 | .SH HISTORY 50 | .PP 51 | 19\-May\-2017 Auto generated by spf13/cobra 52 | -------------------------------------------------------------------------------- /docs/helm/helm_get_values.md: -------------------------------------------------------------------------------- 1 | ## helm get values 2 | 3 | download the values file for a named release 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | This command downloads a values file for a given release. 10 | 11 | 12 | ``` 13 | helm get values [flags] RELEASE_NAME 14 | ``` 15 | 16 | ### Options 17 | 18 | ``` 19 | -a, --all dump all (computed) values 20 | --revision int32 get the named release with revision 21 | ``` 22 | 23 | ### Options inherited from parent commands 24 | 25 | ``` 26 | --debug enable verbose output 27 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 28 | --host string address of tiller. Overrides $HELM_HOST 29 | --kube-context string name of the kubeconfig context to use 30 | --tiller-namespace string namespace of tiller (default "kube-system") 31 | ``` 32 | 33 | ### SEE ALSO 34 | * [helm get](helm_get.md) - download a named release 35 | 36 | ###### Auto generated by spf13/cobra on 26-May-2017 37 | -------------------------------------------------------------------------------- /docs/helm/helm_get_hooks.md: -------------------------------------------------------------------------------- 1 | ## helm get hooks 2 | 3 | download all hooks for a named release 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | This command downloads hooks for a given release. 10 | 11 | Hooks are formatted in YAML and separated by the YAML '---\n' separator. 12 | 13 | 14 | ``` 15 | helm get hooks [flags] RELEASE_NAME 16 | ``` 17 | 18 | ### Options 19 | 20 | ``` 21 | --revision int32 get the named release with revision 22 | ``` 23 | 24 | ### Options inherited from parent commands 25 | 26 | ``` 27 | --debug enable verbose output 28 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 29 | --host string address of tiller. Overrides $HELM_HOST 30 | --kube-context string name of the kubeconfig context to use 31 | --tiller-namespace string namespace of tiller (default "kube-system") 32 | ``` 33 | 34 | ### SEE ALSO 35 | * [helm get](helm_get.md) - download a named release 36 | 37 | ###### Auto generated by spf13/cobra on 26-May-2017 38 | -------------------------------------------------------------------------------- /_proto/hapi/chart/config.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Kubernetes Authors All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package hapi.chart; 18 | 19 | option go_package = "chart"; 20 | 21 | // Config supplies values to the parametrizable templates of a chart. 22 | message Config { 23 | string raw = 1; 24 | 25 | map values = 2; 26 | } 27 | 28 | // Value describes a configuration value as a string. 29 | message Value { 30 | string value = 1; 31 | } 32 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: subcharta 3 | repository: http://localhost:10191 4 | version: 0.1.0 5 | condition: subcharta.enabled,subchart1.subcharta.enabled 6 | tags: 7 | - front-end 8 | - subcharta 9 | import-values: 10 | - child: SCAdata 11 | parent: imported-chartA 12 | - child: SCAdata 13 | parent: overridden-chartA 14 | - child: SCAdata 15 | parent: imported-chartA-B 16 | 17 | - name: subchartb 18 | repository: http://localhost:10191 19 | version: 0.1.0 20 | condition: subchartb.enabled 21 | import-values: 22 | - child: SCBdata 23 | parent: imported-chartB 24 | - child: SCBdata 25 | parent: imported-chartA-B 26 | - child: exports.SCBexported2 27 | parent: exports.SCBexported2 28 | - SCBexported1 29 | 30 | tags: 31 | - front-end 32 | - subchartb 33 | -------------------------------------------------------------------------------- /docs/helm/helm_completion.md: -------------------------------------------------------------------------------- 1 | ## helm completion 2 | 3 | Generate autocompletions script for the specified shell (bash or zsh) 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | Generate autocompletions script for Helm for the specified shell (bash or zsh). 10 | 11 | This command can generate shell autocompletions. e.g. 12 | 13 | $ helm completion bash 14 | 15 | Can be sourced as such 16 | 17 | $ source <(helm completion bash) 18 | 19 | 20 | ``` 21 | helm completion SHELL 22 | ``` 23 | 24 | ### Options inherited from parent commands 25 | 26 | ``` 27 | --debug enable verbose output 28 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 29 | --host string address of tiller. Overrides $HELM_HOST 30 | --kube-context string name of the kubeconfig context to use 31 | --tiller-namespace string namespace of tiller (default "kube-system") 32 | ``` 33 | 34 | ### SEE ALSO 35 | * [helm](helm.md) - The Helm package manager for Kubernetes. 36 | 37 | ###### Auto generated by spf13/cobra on 26-May-2017 38 | -------------------------------------------------------------------------------- /docs/man/man1/helm_plugin.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-plugin \- add, list, or remove Helm plugins 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm plugin\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | Manage client\-side Helm plugins. 19 | 20 | 21 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 22 | .PP 23 | \fB\-\-debug\fP[=false] 24 | enable verbose output 25 | 26 | .PP 27 | \fB\-\-home\fP="~/.helm" 28 | location of your Helm config. Overrides $HELM\_HOME 29 | 30 | .PP 31 | \fB\-\-host\fP="localhost:44134" 32 | address of tiller. Overrides $HELM\_HOST 33 | 34 | .PP 35 | \fB\-\-kube\-context\fP="" 36 | name of the kubeconfig context to use 37 | 38 | .PP 39 | \fB\-\-tiller\-namespace\fP="kube\-system" 40 | namespace of tiller 41 | 42 | 43 | .SH SEE ALSO 44 | .PP 45 | \fBhelm(1)\fP, \fBhelm\-plugin\-install(1)\fP, \fBhelm\-plugin\-list(1)\fP, \fBhelm\-plugin\-remove(1)\fP, \fBhelm\-plugin\-update(1)\fP 46 | 47 | 48 | .SH HISTORY 49 | .PP 50 | 19\-May\-2017 Auto generated by spf13/cobra 51 | -------------------------------------------------------------------------------- /pkg/tiller/release_version.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package tiller 18 | 19 | import ( 20 | ctx "golang.org/x/net/context" 21 | "k8s.io/helm/pkg/proto/hapi/services" 22 | "k8s.io/helm/pkg/version" 23 | ) 24 | 25 | // GetVersion sends the server version. 26 | func (s *ReleaseServer) GetVersion(c ctx.Context, req *services.GetVersionRequest) (*services.GetVersionResponse, error) { 27 | v := version.GetVersionProto() 28 | return &services.GetVersionResponse{Version: v}, nil 29 | } 30 | -------------------------------------------------------------------------------- /docs/chart_template_guide/data_types.md: -------------------------------------------------------------------------------- 1 | # Appendix: Go Data Types and Templates 2 | 3 | The Helm template language is implemented in the strongly typed Go programming language. For that reason, variables in templates are _typed_. For the most part, variables will be exposed as one of the following types: 4 | 5 | - string: A string of text 6 | - bool: a `true` or `false` 7 | - int: An integer value (there are also 8, 16, 32, and 64 bit signed and unsigned variants of this) 8 | - float64: a 64-bit floating point value (there are also 8, 16, and 32 bit varieties of this) 9 | - a byte slice (`[]byte`), often used to hold (potentially) binary data 10 | - struct: an object with properties and methods 11 | - a slice (indexed list) of one of the previous types 12 | - a string-keyed map (`map[string]interface{}`) where the value is one of the previous types 13 | 14 | There are many other types in Go, and sometimes you will have to convert between them in your templates. The easiest way to debug an object's type is to pass it through `printf "%t"` in a template, which will print the type. Also see the `typeOf` and `kindOf` functions. -------------------------------------------------------------------------------- /scripts/setup-apimachinery.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Copyright 2016 The Kubernetes Authors All rights reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | # Copies the current versions of apimachinery and client-go out of the 18 | # main kubernetes repo. These repos are currently out of sync and not 19 | # versioned. 20 | set -euo pipefail 21 | 22 | 23 | rm -rf ./vendor/k8s.io/{kube-aggregator,apiserver,apimachinery,client-go} 24 | 25 | cp -r ./vendor/k8s.io/kubernetes/staging/src/k8s.io/{kube-aggregator,apiserver,apimachinery,client-go} ./vendor/k8s.io 26 | -------------------------------------------------------------------------------- /docs/helm/helm_plugin.md: -------------------------------------------------------------------------------- 1 | ## helm plugin 2 | 3 | add, list, or remove Helm plugins 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | Manage client-side Helm plugins. 10 | 11 | 12 | ### Options inherited from parent commands 13 | 14 | ``` 15 | --debug enable verbose output 16 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 17 | --host string address of tiller. Overrides $HELM_HOST 18 | --kube-context string name of the kubeconfig context to use 19 | --tiller-namespace string namespace of tiller (default "kube-system") 20 | ``` 21 | 22 | ### SEE ALSO 23 | * [helm](helm.md) - The Helm package manager for Kubernetes. 24 | * [helm plugin install](helm_plugin_install.md) - install one or more Helm plugins 25 | * [helm plugin list](helm_plugin_list.md) - list installed Helm plugins 26 | * [helm plugin remove](helm_plugin_remove.md) - remove one or more Helm plugins 27 | * [helm plugin update](helm_plugin_update.md) - update one or more Helm plugins 28 | 29 | ###### Auto generated by spf13/cobra on 26-May-2017 30 | -------------------------------------------------------------------------------- /cmd/helm/lint_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "testing" 21 | ) 22 | 23 | var ( 24 | archivedChartPath = "testdata/testcharts/compressedchart-0.1.0.tgz" 25 | chartDirPath = "testdata/testcharts/decompressedchart/" 26 | ) 27 | 28 | func TestLintChart(t *testing.T) { 29 | if _, err := lintChart(chartDirPath); err != nil { 30 | t.Errorf("%s", err) 31 | } 32 | 33 | if _, err := lintChart(archivedChartPath); err != nil { 34 | t.Errorf("%s", err) 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /_proto/hapi/chart/template.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Kubernetes Authors All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package hapi.chart; 18 | 19 | option go_package = "chart"; 20 | 21 | // Template represents a template as a name/value pair. 22 | // 23 | // By convention, name is a relative path within the scope of the chart's 24 | // base directory. 25 | message Template { 26 | // Name is the path-like name of the template. 27 | string name = 1; 28 | 29 | // Data is the template as byte data. 30 | bytes data = 2; 31 | } 32 | -------------------------------------------------------------------------------- /pkg/strvals/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | */ 15 | 16 | /*Package strvals provides tools for working with strval lines. 17 | 18 | Helm supports a compressed format for YAML settings which we call strvals. 19 | The format is roughly like this: 20 | 21 | name=value,topname.subname=value 22 | 23 | The above is equivalent to the YAML document 24 | 25 | name: value 26 | topname: 27 | subname: value 28 | 29 | This package provides a parser and utilities for converting the strvals format 30 | to other formats. 31 | */ 32 | package strvals 33 | -------------------------------------------------------------------------------- /pkg/chartutil/testdata/subpop/charts/subchart1/values.yaml: -------------------------------------------------------------------------------- 1 | # Default values for subchart. 2 | # This is a YAML-formatted file. 3 | # Declare variables to be passed into your templates. 4 | # subchart1 5 | service: 6 | name: nginx 7 | type: ClusterIP 8 | externalPort: 80 9 | internalPort: 80 10 | 11 | 12 | SC1data: 13 | SC1bool: true 14 | SC1float: 3.14 15 | SC1int: 100 16 | SC1string: "dollywood" 17 | SC1extra1: 11 18 | 19 | imported-chartA: 20 | SC1extra2: 1.337 21 | 22 | overridden-chartA: 23 | SCAbool: true 24 | SCAfloat: 3.14 25 | SCAint: 100 26 | SCAstring: "jabathehut" 27 | SC1extra3: true 28 | 29 | imported-chartA-B: 30 | SC1extra5: "tiller" 31 | 32 | overridden-chartA-B: 33 | SCAbool: true 34 | SCAfloat: 3.33 35 | SCAint: 555 36 | SCAstring: "wormwood" 37 | SCAextra1: 23 38 | 39 | SCBbool: true 40 | SCBfloat: 0.25 41 | SCBint: 98 42 | SCBstring: "murkwood" 43 | SCBextra1: 13 44 | 45 | SC1extra6: 77 46 | 47 | SCBexported1A: 48 | SC1extra7: true 49 | 50 | exports: 51 | SC1exported1: 52 | global: 53 | SC1exported2: 54 | all: 55 | SC1exported3: "SC1expstr" -------------------------------------------------------------------------------- /docs/helm/helm_repo_update.md: -------------------------------------------------------------------------------- 1 | ## helm repo update 2 | 3 | update information on available charts in the chart repositories 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | Update gets the latest information about charts from the respective chart repositories. 10 | Information is cached locally, where it is used by commands like 'helm search'. 11 | 12 | 'helm update' is the deprecated form of 'helm repo update'. It will be removed in 13 | future releases. 14 | 15 | 16 | ``` 17 | helm repo update 18 | ``` 19 | 20 | ### Options inherited from parent commands 21 | 22 | ``` 23 | --debug enable verbose output 24 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 25 | --host string address of tiller. Overrides $HELM_HOST 26 | --kube-context string name of the kubeconfig context to use 27 | --tiller-namespace string namespace of tiller (default "kube-system") 28 | ``` 29 | 30 | ### SEE ALSO 31 | * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories 32 | 33 | ###### Auto generated by spf13/cobra on 26-May-2017 34 | -------------------------------------------------------------------------------- /docs/helm/helm_dependency_list.md: -------------------------------------------------------------------------------- 1 | ## helm dependency list 2 | 3 | list the dependencies for the given chart 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | List all of the dependencies declared in a chart. 10 | 11 | This can take chart archives and chart directories as input. It will not alter 12 | the contents of a chart. 13 | 14 | This will produce an error if the chart cannot be loaded. It will emit a warning 15 | if it cannot find a requirements.yaml. 16 | 17 | 18 | ``` 19 | helm dependency list [flags] CHART 20 | ``` 21 | 22 | ### Options inherited from parent commands 23 | 24 | ``` 25 | --debug enable verbose output 26 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 27 | --host string address of tiller. Overrides $HELM_HOST 28 | --kube-context string name of the kubeconfig context to use 29 | --tiller-namespace string namespace of tiller (default "kube-system") 30 | ``` 31 | 32 | ### SEE ALSO 33 | * [helm dependency](helm_dependency.md) - manage a chart's dependencies 34 | 35 | ###### Auto generated by spf13/cobra on 26-May-2017 36 | -------------------------------------------------------------------------------- /docs/chart_best_practices/index.md: -------------------------------------------------------------------------------- 1 | # The Chart Best Practices Guide 2 | 3 | This guide covers the Helm Team's considered best practices for creating charts. 4 | It focuses on how charts should be structured. 5 | 6 | We focus primarily on best practices for charts that may be publicly deployed. 7 | We know that many charts are for internal-use only, and authors of such charts 8 | may find that their internal interests override our suggestions here. 9 | 10 | ## Table of Contents 11 | 12 | - [General Conventions](conventions.md): Learn about general chart conventions. 13 | - [Values Files](values.md): See the best practices for structuring `values.yaml`. 14 | - [Templates](templates.md): Learn some of the best techniques for writing templates. 15 | - [Requirements](requirements.md): Follow best practices for `requirements.yaml` files. 16 | - [Labels and Annotations](labels.md): Helm has a _heritage_ of labeling and annotating. 17 | - Kubernetes Resources: 18 | - [Pods and Pod Specs](pods.md): See the best practices for working with pod specifications. 19 | - [Third Party Resources](third_party_resources.md): Third Party Resources (TPRs) have their own associated best practices. 20 | 21 | -------------------------------------------------------------------------------- /docs/man/man1/helm_plugin_install.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-plugin\-install \- install one or more Helm plugins 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm plugin install [options] \&...\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | install one or more Helm plugins 19 | 20 | 21 | .SH OPTIONS 22 | .PP 23 | \fB\-\-version\fP="" 24 | specify a version constraint. If this is not specified, the latest version is installed 25 | 26 | 27 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 28 | .PP 29 | \fB\-\-debug\fP[=false] 30 | enable verbose output 31 | 32 | .PP 33 | \fB\-\-home\fP="~/.helm" 34 | location of your Helm config. Overrides $HELM\_HOME 35 | 36 | .PP 37 | \fB\-\-host\fP="localhost:44134" 38 | address of tiller. Overrides $HELM\_HOST 39 | 40 | .PP 41 | \fB\-\-kube\-context\fP="" 42 | name of the kubeconfig context to use 43 | 44 | .PP 45 | \fB\-\-tiller\-namespace\fP="kube\-system" 46 | namespace of tiller 47 | 48 | 49 | .SH SEE ALSO 50 | .PP 51 | \fBhelm\-plugin(1)\fP 52 | 53 | 54 | .SH HISTORY 55 | .PP 56 | 19\-May\-2017 Auto generated by spf13/cobra 57 | -------------------------------------------------------------------------------- /_proto/hapi/release/test_run.proto: -------------------------------------------------------------------------------- 1 | 2 | // Copyright 2016 The Kubernetes Authors All rights reserved. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | 16 | syntax = "proto3"; 17 | 18 | package hapi.release; 19 | 20 | import "google/protobuf/timestamp.proto"; 21 | 22 | option go_package = "release"; 23 | 24 | message TestRun { 25 | enum Status { 26 | UNKNOWN = 0; 27 | SUCCESS = 1; 28 | FAILURE = 2; 29 | RUNNING = 3; 30 | } 31 | 32 | string name = 1; 33 | Status status = 2; 34 | string info = 3; 35 | google.protobuf.Timestamp started_at = 4; 36 | google.protobuf.Timestamp completed_at = 5; 37 | } 38 | -------------------------------------------------------------------------------- /docs/helm/helm_repo_add.md: -------------------------------------------------------------------------------- 1 | ## helm repo add 2 | 3 | add a chart repository 4 | 5 | ### Synopsis 6 | 7 | 8 | add a chart repository 9 | 10 | ``` 11 | helm repo add [flags] [NAME] [URL] 12 | ``` 13 | 14 | ### Options 15 | 16 | ``` 17 | --ca-file string verify certificates of HTTPS-enabled servers using this CA bundle 18 | --cert-file string identify HTTPS client using this SSL certificate file 19 | --key-file string identify HTTPS client using this SSL key file 20 | --no-update raise error if repo is already registered 21 | ``` 22 | 23 | ### Options inherited from parent commands 24 | 25 | ``` 26 | --debug enable verbose output 27 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 28 | --host string address of tiller. Overrides $HELM_HOST 29 | --kube-context string name of the kubeconfig context to use 30 | --tiller-namespace string namespace of tiller (default "kube-system") 31 | ``` 32 | 33 | ### SEE ALSO 34 | * [helm repo](helm_repo.md) - add, list, remove, update, and index chart repositories 35 | 36 | ###### Auto generated by spf13/cobra on 26-May-2017 37 | -------------------------------------------------------------------------------- /pkg/lint/lint.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package lint // import "k8s.io/helm/pkg/lint" 18 | 19 | import ( 20 | "path/filepath" 21 | 22 | "k8s.io/helm/pkg/lint/rules" 23 | "k8s.io/helm/pkg/lint/support" 24 | ) 25 | 26 | // All runs all of the available linters on the given base directory. 27 | func All(basedir string) support.Linter { 28 | // Using abs path to get directory context 29 | chartDir, _ := filepath.Abs(basedir) 30 | 31 | linter := support.Linter{ChartDir: chartDir} 32 | rules.Chartfile(&linter) 33 | rules.Values(&linter) 34 | rules.Templates(&linter) 35 | return linter 36 | } 37 | -------------------------------------------------------------------------------- /pkg/plugin/hooks.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | */ 15 | 16 | package plugin // import "k8s.io/helm/pkg/plugin" 17 | 18 | // Types of hooks 19 | const ( 20 | // Install is executed after the plugin is added. 21 | Install = "install" 22 | // Delete is executed after the plugin is removed. 23 | Delete = "delete" 24 | // Update is executed after the plugin is updated. 25 | Update = "update" 26 | ) 27 | 28 | // Hooks is a map of events to commands. 29 | type Hooks map[string]string 30 | 31 | // Get returns a hook for an event. 32 | func (hooks Hooks) Get(event string) string { 33 | h, _ := hooks[event] 34 | return h 35 | } 36 | -------------------------------------------------------------------------------- /docs/helm/helm_lint.md: -------------------------------------------------------------------------------- 1 | ## helm lint 2 | 3 | examines a chart for possible issues 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | This command takes a path to a chart and runs a series of tests to verify that 10 | the chart is well-formed. 11 | 12 | If the linter encounters things that will cause the chart to fail installation, 13 | it will emit [ERROR] messages. If it encounters issues that break with convention 14 | or recommendation, it will emit [WARNING] messages. 15 | 16 | 17 | ``` 18 | helm lint [flags] PATH 19 | ``` 20 | 21 | ### Options 22 | 23 | ``` 24 | --strict fail on lint warnings 25 | ``` 26 | 27 | ### Options inherited from parent commands 28 | 29 | ``` 30 | --debug enable verbose output 31 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 32 | --host string address of tiller. Overrides $HELM_HOST 33 | --kube-context string name of the kubeconfig context to use 34 | --tiller-namespace string namespace of tiller (default "kube-system") 35 | ``` 36 | 37 | ### SEE ALSO 38 | * [helm](helm.md) - The Helm package manager for Kubernetes. 39 | 40 | ###### Auto generated by spf13/cobra on 26-May-2017 41 | -------------------------------------------------------------------------------- /pkg/tiller/release_testing_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package tiller 18 | 19 | import ( 20 | "k8s.io/helm/pkg/proto/hapi/release" 21 | "k8s.io/helm/pkg/proto/hapi/services" 22 | "testing" 23 | ) 24 | 25 | func TestRunReleaseTest(t *testing.T) { 26 | rs := rsFixture() 27 | rel := namedReleaseStub("nemo", release.Status_DEPLOYED) 28 | rs.env.Releases.Create(rel) 29 | 30 | req := &services.TestReleaseRequest{Name: "nemo", Timeout: 2} 31 | err := rs.RunReleaseTest(req, mockRunReleaseTestServer{}) 32 | if err != nil { 33 | t.Fatalf("failed to run release tests on %s: %s", rel.Name, err) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /docs/helm/helm_get_manifest.md: -------------------------------------------------------------------------------- 1 | ## helm get manifest 2 | 3 | download the manifest for a named release 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | This command fetches the generated manifest for a given release. 10 | 11 | A manifest is a YAML-encoded representation of the Kubernetes resources that 12 | were generated from this release's chart(s). If a chart is dependent on other 13 | charts, those resources will also be included in the manifest. 14 | 15 | 16 | ``` 17 | helm get manifest [flags] RELEASE_NAME 18 | ``` 19 | 20 | ### Options 21 | 22 | ``` 23 | --revision int32 get the named release with revision 24 | ``` 25 | 26 | ### Options inherited from parent commands 27 | 28 | ``` 29 | --debug enable verbose output 30 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 31 | --host string address of tiller. Overrides $HELM_HOST 32 | --kube-context string name of the kubeconfig context to use 33 | --tiller-namespace string namespace of tiller (default "kube-system") 34 | ``` 35 | 36 | ### SEE ALSO 37 | * [helm get](helm_get.md) - download a named release 38 | 39 | ###### Auto generated by spf13/cobra on 26-May-2017 40 | -------------------------------------------------------------------------------- /docs/man/man1/helm_get_hooks.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-get\-hooks \- download all hooks for a named release 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm get hooks [flags] RELEASE\_NAME\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | This command downloads hooks for a given release. 19 | 20 | .PP 21 | Hooks are formatted in YAML and separated by the YAML '\-\-\-\\n' separator. 22 | 23 | 24 | .SH OPTIONS 25 | .PP 26 | \fB\-\-revision\fP=0 27 | get the named release with revision 28 | 29 | 30 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 31 | .PP 32 | \fB\-\-debug\fP[=false] 33 | enable verbose output 34 | 35 | .PP 36 | \fB\-\-home\fP="~/.helm" 37 | location of your Helm config. Overrides $HELM\_HOME 38 | 39 | .PP 40 | \fB\-\-host\fP="localhost:44134" 41 | address of tiller. Overrides $HELM\_HOST 42 | 43 | .PP 44 | \fB\-\-kube\-context\fP="" 45 | name of the kubeconfig context to use 46 | 47 | .PP 48 | \fB\-\-tiller\-namespace\fP="kube\-system" 49 | namespace of tiller 50 | 51 | 52 | .SH SEE ALSO 53 | .PP 54 | \fBhelm\-get(1)\fP 55 | 56 | 57 | .SH HISTORY 58 | .PP 59 | 19\-May\-2017 Auto generated by spf13/cobra 60 | -------------------------------------------------------------------------------- /pkg/repo/testdata/server/index.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | entries: 3 | nginx: 4 | - urls: 5 | - https://kubernetes-charts.storage.googleapis.com/nginx-0.1.0.tgz 6 | name: nginx 7 | description: string 8 | version: 0.1.0 9 | home: https://github.com/something 10 | digest: "sha256:1234567890abcdef" 11 | keywords: 12 | - popular 13 | - web server 14 | - proxy 15 | - urls: 16 | - https://kubernetes-charts.storage.googleapis.com/nginx-0.2.0.tgz 17 | name: nginx 18 | description: string 19 | version: 0.2.0 20 | home: https://github.com/something/else 21 | digest: "sha256:1234567890abcdef" 22 | keywords: 23 | - popular 24 | - web server 25 | - proxy 26 | alpine: 27 | - urls: 28 | - https://kubernetes-charts.storage.googleapis.com/alpine-1.0.0.tgz 29 | - http://storage2.googleapis.com/kubernetes-charts/alpine-1.0.0.tgz 30 | name: alpine 31 | description: string 32 | version: 1.0.0 33 | home: https://github.com/something 34 | keywords: 35 | - linux 36 | - alpine 37 | - small 38 | - sumtin 39 | digest: "sha256:1234567890abcdef" 40 | -------------------------------------------------------------------------------- /docs/helm/helm_search.md: -------------------------------------------------------------------------------- 1 | ## helm search 2 | 3 | search for a keyword in charts 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | Search reads through all of the repositories configured on the system, and 10 | looks for matches. 11 | 12 | Repositories are managed with 'helm repo' commands. 13 | 14 | 15 | ``` 16 | helm search [keyword] 17 | ``` 18 | 19 | ### Options 20 | 21 | ``` 22 | -r, --regexp use regular expressions for searching 23 | -v, --version string search using semantic versioning constraints 24 | -l, --versions show the long listing, with each version of each chart on its own line 25 | ``` 26 | 27 | ### Options inherited from parent commands 28 | 29 | ``` 30 | --debug enable verbose output 31 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 32 | --host string address of tiller. Overrides $HELM_HOST 33 | --kube-context string name of the kubeconfig context to use 34 | --tiller-namespace string namespace of tiller (default "kube-system") 35 | ``` 36 | 37 | ### SEE ALSO 38 | * [helm](helm.md) - The Helm package manager for Kubernetes. 39 | 40 | ###### Auto generated by spf13/cobra on 26-May-2017 41 | -------------------------------------------------------------------------------- /docs/man/man1/helm_get_values.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-get\-values \- download the values file for a named release 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm get values [flags] RELEASE\_NAME\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | This command downloads a values file for a given release. 19 | 20 | 21 | .SH OPTIONS 22 | .PP 23 | \fB\-a\fP, \fB\-\-all\fP[=false] 24 | dump all (computed) values 25 | 26 | .PP 27 | \fB\-\-revision\fP=0 28 | get the named release with revision 29 | 30 | 31 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 32 | .PP 33 | \fB\-\-debug\fP[=false] 34 | enable verbose output 35 | 36 | .PP 37 | \fB\-\-home\fP="~/.helm" 38 | location of your Helm config. Overrides $HELM\_HOME 39 | 40 | .PP 41 | \fB\-\-host\fP="localhost:44134" 42 | address of tiller. Overrides $HELM\_HOST 43 | 44 | .PP 45 | \fB\-\-kube\-context\fP="" 46 | name of the kubeconfig context to use 47 | 48 | .PP 49 | \fB\-\-tiller\-namespace\fP="kube\-system" 50 | namespace of tiller 51 | 52 | 53 | .SH SEE ALSO 54 | .PP 55 | \fBhelm\-get(1)\fP 56 | 57 | 58 | .SH HISTORY 59 | .PP 60 | 19\-May\-2017 Auto generated by spf13/cobra 61 | -------------------------------------------------------------------------------- /docs/examples/alpine/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: "{{.Release.Name}}-{{.Values.Name}}" 5 | labels: 6 | # The "heritage" label is used to track which tool deployed a given chart. 7 | # It is useful for admins who want to see what releases a particular tool 8 | # is responsible for. 9 | heritage: {{.Release.Service | quote }} 10 | # The "release" convention makes it easy to tie a release to all of the 11 | # Kubernetes resources that were created as part of that release. 12 | release: {{.Release.Name | quote }} 13 | # This makes it easy to audit chart usage. 14 | chart: "{{.Chart.Name}}-{{.Chart.Version}}" 15 | annotations: 16 | "helm.sh/created": {{.Release.Time.Seconds | quote }} 17 | spec: 18 | # This shows how to use a simple value. This will look for a passed-in value 19 | # called restartPolicy. If it is not found, it will use the default value. 20 | # {{default "Never" .restartPolicy}} is a slightly optimized version of the 21 | # more conventional syntax: {{.restartPolicy | default "Never"}} 22 | restartPolicy: {{default "Never" .Values.restartPolicy}} 23 | containers: 24 | - name: waiter 25 | image: "alpine:3.3" 26 | command: ["/bin/sleep","9000"] 27 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/novals/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: "{{.Release.Name}}-{{.Values.Name}}" 5 | labels: 6 | # The "heritage" label is used to track which tool deployed a given chart. 7 | # It is useful for admins who want to see what releases a particular tool 8 | # is responsible for. 9 | heritage: {{.Release.Service | quote }} 10 | # The "release" convention makes it easy to tie a release to all of the 11 | # Kubernetes resources that were created as part of that release. 12 | release: {{.Release.Name | quote }} 13 | # This makes it easy to audit chart usage. 14 | chart: "{{.Chart.Name}}-{{.Chart.Version}}" 15 | annotations: 16 | "helm.sh/created": {{.Release.Time.Seconds | quote }} 17 | spec: 18 | # This shows how to use a simple value. This will look for a passed-in value 19 | # called restartPolicy. If it is not found, it will use the default value. 20 | # {{default "Never" .restartPolicy}} is a slightly optimized version of the 21 | # more conventional syntax: {{.restartPolicy | default "Never"}} 22 | restartPolicy: {{default "Never" .Values.restartPolicy}} 23 | containers: 24 | - name: waiter 25 | image: "alpine:3.3" 26 | command: ["/bin/sleep","9000"] 27 | -------------------------------------------------------------------------------- /pkg/kube/config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package kube // import "k8s.io/helm/pkg/kube" 18 | 19 | import "k8s.io/client-go/tools/clientcmd" 20 | 21 | // GetConfig returns a kubernetes client config for a given context. 22 | func GetConfig(context string) clientcmd.ClientConfig { 23 | rules := clientcmd.NewDefaultClientConfigLoadingRules() 24 | rules.DefaultClientConfig = &clientcmd.DefaultClientConfig 25 | 26 | overrides := &clientcmd.ConfigOverrides{ClusterDefaults: clientcmd.ClusterDefaults} 27 | 28 | if context != "" { 29 | overrides.CurrentContext = context 30 | } 31 | return clientcmd.NewNonInteractiveDeferredLoadingClientConfig(rules, overrides) 32 | } 33 | -------------------------------------------------------------------------------- /docs/man/man1/helm_repo_update.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-repo\-update \- update information on available charts in the chart repositories 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm repo update\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | Update gets the latest information about charts from the respective chart repositories. 19 | Information is cached locally, where it is used by commands like 'helm search'. 20 | 21 | .PP 22 | \&'helm update' is the deprecated form of 'helm repo update'. It will be removed in 23 | future releases. 24 | 25 | 26 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 27 | .PP 28 | \fB\-\-debug\fP[=false] 29 | enable verbose output 30 | 31 | .PP 32 | \fB\-\-home\fP="~/.helm" 33 | location of your Helm config. Overrides $HELM\_HOME 34 | 35 | .PP 36 | \fB\-\-host\fP="localhost:44134" 37 | address of tiller. Overrides $HELM\_HOST 38 | 39 | .PP 40 | \fB\-\-kube\-context\fP="" 41 | name of the kubeconfig context to use 42 | 43 | .PP 44 | \fB\-\-tiller\-namespace\fP="kube\-system" 45 | namespace of tiller 46 | 47 | 48 | .SH SEE ALSO 49 | .PP 50 | \fBhelm\-repo(1)\fP 51 | 52 | 53 | .SH HISTORY 54 | .PP 55 | 19\-May\-2017 Auto generated by spf13/cobra 56 | -------------------------------------------------------------------------------- /cmd/helm/get_hooks_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "io" 21 | "testing" 22 | 23 | "github.com/spf13/cobra" 24 | ) 25 | 26 | func TestGetHooks(t *testing.T) { 27 | tests := []releaseCase{ 28 | { 29 | name: "get hooks with release", 30 | args: []string{"aeneas"}, 31 | expected: mockHookTemplate, 32 | resp: releaseMock(&releaseOptions{name: "aeneas"}), 33 | }, 34 | { 35 | name: "get hooks without args", 36 | args: []string{}, 37 | err: true, 38 | }, 39 | } 40 | runReleaseCases(t, tests, func(c *fakeReleaseClient, out io.Writer) *cobra.Command { 41 | return newGetHooksCmd(c, out) 42 | }) 43 | } 44 | -------------------------------------------------------------------------------- /_proto/hapi/release/info.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Kubernetes Authors All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package hapi.release; 18 | 19 | import "google/protobuf/timestamp.proto"; 20 | import "hapi/release/status.proto"; 21 | 22 | option go_package = "release"; 23 | 24 | // Info describes release information. 25 | message Info { 26 | Status status = 1; 27 | 28 | google.protobuf.Timestamp first_deployed = 2; 29 | 30 | google.protobuf.Timestamp last_deployed = 3; 31 | 32 | // Deleted tracks when this object was deleted. 33 | google.protobuf.Timestamp deleted = 4; 34 | 35 | // Description is human-friendly "log entry" about this release. 36 | string Description = 5; 37 | } 38 | -------------------------------------------------------------------------------- /cmd/helm/get_manifest_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "io" 21 | "testing" 22 | 23 | "github.com/spf13/cobra" 24 | ) 25 | 26 | func TestGetManifest(t *testing.T) { 27 | tests := []releaseCase{ 28 | { 29 | name: "get manifest with release", 30 | args: []string{"juno"}, 31 | expected: mockManifest, 32 | resp: releaseMock(&releaseOptions{name: "juno"}), 33 | }, 34 | { 35 | name: "get manifest without args", 36 | args: []string{}, 37 | err: true, 38 | }, 39 | } 40 | runReleaseCases(t, tests, func(c *fakeReleaseClient, out io.Writer) *cobra.Command { 41 | return newGetManifestCmd(c, out) 42 | }) 43 | } 44 | -------------------------------------------------------------------------------- /cmd/helm/testdata/testcharts/alpine/templates/alpine-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: "{{.Release.Name}}-{{.Values.Name}}" 5 | labels: 6 | # The "heritage" label is used to track which tool deployed a given chart. 7 | # It is useful for admins who want to see what releases a particular tool 8 | # is responsible for. 9 | heritage: {{.Release.Service | quote }} 10 | # The "release" convention makes it easy to tie a release to all of the 11 | # Kubernetes resources that were created as part of that release. 12 | release: {{.Release.Name | quote }} 13 | # This makes it easy to audit chart usage. 14 | chart: "{{.Chart.Name}}-{{.Chart.Version}}" 15 | values: {{.Values.test.Name}} 16 | annotations: 17 | "helm.sh/created": {{.Release.Time.Seconds | quote }} 18 | spec: 19 | # This shows how to use a simple value. This will look for a passed-in value 20 | # called restartPolicy. If it is not found, it will use the default value. 21 | # {{default "Never" .restartPolicy}} is a slightly optimized version of the 22 | # more conventional syntax: {{.restartPolicy | default "Never"}} 23 | restartPolicy: {{default "Never" .Values.restartPolicy}} 24 | containers: 25 | - name: waiter 26 | image: "alpine:3.3" 27 | command: ["/bin/sleep","9000"] 28 | -------------------------------------------------------------------------------- /scripts/validate-license.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Copyright 2016 The Kubernetes Authors All rights reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | set -euo pipefail 17 | IFS=$'\n\t' 18 | 19 | find_files() { 20 | find . -not \( \ 21 | \( \ 22 | -wholename './vendor' \ 23 | -o -wholename './pkg/proto' \ 24 | -o -wholename '*testdata*' \ 25 | \) -prune \ 26 | \) \ 27 | \( -name '*.go' -o -name '*.sh' -o -name 'Dockerfile' \) 28 | } 29 | 30 | failed=($(find_files | xargs grep -L 'Licensed under the Apache License, Version 2.0 (the "License");')) 31 | if (( ${#failed[@]} > 0 )); then 32 | echo "Some source files are missing license headers." 33 | for f in "${failed[@]}"; do 34 | echo " $f" 35 | done 36 | exit 1 37 | fi 38 | -------------------------------------------------------------------------------- /cmd/helm/get_values_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "io" 21 | "testing" 22 | 23 | "github.com/spf13/cobra" 24 | ) 25 | 26 | func TestGetValuesCmd(t *testing.T) { 27 | tests := []releaseCase{ 28 | { 29 | name: "get values with a release", 30 | resp: releaseMock(&releaseOptions{name: "thomas-guide"}), 31 | args: []string{"thomas-guide"}, 32 | expected: "name: \"value\"", 33 | }, 34 | { 35 | name: "get values requires release name arg", 36 | err: true, 37 | }, 38 | } 39 | cmd := func(c *fakeReleaseClient, out io.Writer) *cobra.Command { 40 | return newGetValuesCmd(c, out) 41 | } 42 | runReleaseCases(t, tests, cmd) 43 | } 44 | -------------------------------------------------------------------------------- /docs/man/man1/helm_dependency_list.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-dependency\-list \- list the dependencies for the given chart 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm dependency list [flags] CHART\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | List all of the dependencies declared in a chart. 19 | 20 | .PP 21 | This can take chart archives and chart directories as input. It will not alter 22 | the contents of a chart. 23 | 24 | .PP 25 | This will produce an error if the chart cannot be loaded. It will emit a warning 26 | if it cannot find a requirements.yaml. 27 | 28 | 29 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 30 | .PP 31 | \fB\-\-debug\fP[=false] 32 | enable verbose output 33 | 34 | .PP 35 | \fB\-\-home\fP="~/.helm" 36 | location of your Helm config. Overrides $HELM\_HOME 37 | 38 | .PP 39 | \fB\-\-host\fP="localhost:44134" 40 | address of tiller. Overrides $HELM\_HOST 41 | 42 | .PP 43 | \fB\-\-kube\-context\fP="" 44 | name of the kubeconfig context to use 45 | 46 | .PP 47 | \fB\-\-tiller\-namespace\fP="kube\-system" 48 | namespace of tiller 49 | 50 | 51 | .SH SEE ALSO 52 | .PP 53 | \fBhelm\-dependency(1)\fP 54 | 55 | 56 | .SH HISTORY 57 | .PP 58 | 19\-May\-2017 Auto generated by spf13/cobra 59 | -------------------------------------------------------------------------------- /docs/chart_template_guide/debugging.md: -------------------------------------------------------------------------------- 1 | # Debugging Templates 2 | 3 | Debugging templates can be tricky simply because the templates are rendered on the Tiller server, not the Helm client. And then the rendered templates are sent to the Kubernetes API server, which may reject the YAML files for reasons other than formatting. 4 | 5 | There are a few commands that can help you debug. 6 | 7 | - `helm lint` is your go-to tool for verifying that your chart follows best practices 8 | - `helm install --dry-run --debug`: We've seen this trick already. It's a great way to have the server render your templates, then return the resulting manifest file. 9 | - `helm get manifest`: This is a good way to see what templates are installed on the server. 10 | 11 | When your YAML is failing to parse, but you want to see what is generated, one 12 | easy way to retrieve the YAML is to comment out the problem section in the template, 13 | and then re-run `helm install --dry-run --debug`: 14 | 15 | ```YAML 16 | apiVersion: v1 17 | # some: problem section 18 | # {{ .Values.foo | quote }} 19 | ``` 20 | 21 | The above will be rendered and returned with the comments intact: 22 | 23 | ```YAML 24 | apiVersion: v1 25 | # some: problem section 26 | # "bar" 27 | ``` 28 | 29 | This provides a quick way of viewing the generated content without YAML parse 30 | errors blocking. 31 | -------------------------------------------------------------------------------- /docs/examples/nginx/templates/post-install-job.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: batch/v1 2 | kind: Job 3 | metadata: 4 | name: "{{template "fullname" . }}" 5 | labels: 6 | heritage: {{.Release.Service | quote }} 7 | release: {{.Release.Name | quote }} 8 | chart: "{{.Chart.Name}}-{{.Chart.Version}}" 9 | annotations: 10 | # This is what defines this resource as a hook. Without this line, the 11 | # job is considered part of the release. 12 | "helm.sh/hook": post-install 13 | spec: 14 | template: 15 | metadata: 16 | name: "{{template "fullname" . }}" 17 | labels: 18 | heritage: {{.Release.Service | quote }} 19 | release: {{.Release.Name | quote }} 20 | chart: "{{.Chart.Name}}-{{.Chart.Version}}" 21 | spec: 22 | # This shows how to use a simple value. This will look for a passed-in value 23 | # called restartPolicy. If it is not found, it will use the default value. 24 | # {{default "Never" .restartPolicy}} is a slightly optimized version of the 25 | # more conventional syntax: {{.restartPolicy | default "Never"}} 26 | restartPolicy: Never 27 | containers: 28 | - name: post-install-job 29 | image: "alpine:3.3" 30 | # All we're going to do is sleep for a minute, then exit. 31 | command: ["/bin/sleep","{{default "10" .Values.sleepyTime}}"] 32 | -------------------------------------------------------------------------------- /pkg/kube/namespace_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package kube // import "k8s.io/helm/pkg/kube" 18 | 19 | import ( 20 | "testing" 21 | 22 | metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 23 | "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" 24 | ) 25 | 26 | func TestEnsureNamespace(t *testing.T) { 27 | client := fake.NewSimpleClientset() 28 | if err := ensureNamespace(client, "foo"); err != nil { 29 | t.Fatalf("unexpected error: %s", err) 30 | } 31 | if err := ensureNamespace(client, "foo"); err != nil { 32 | t.Fatalf("unexpected error: %s", err) 33 | } 34 | if _, err := client.Core().Namespaces().Get("foo", metav1.GetOptions{}); err != nil { 35 | t.Fatalf("unexpected error: %s", err) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /pkg/helm/helmpath/helmhome_windows_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Kubernetes Authors All rights reserved. 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | // +build windows 15 | 16 | package helmpath 17 | 18 | import ( 19 | "testing" 20 | ) 21 | 22 | func TestHelmHome(t *testing.T) { 23 | hh := Home("r:\\") 24 | isEq := func(t *testing.T, a, b string) { 25 | if a != b { 26 | t.Errorf("Expected %q, got %q", b, a) 27 | } 28 | } 29 | 30 | isEq(t, hh.String(), "r:\\") 31 | isEq(t, hh.Repository(), "r:\\repository") 32 | isEq(t, hh.RepositoryFile(), "r:\\repository\\repositories.yaml") 33 | isEq(t, hh.LocalRepository(), "r:\\repository\\local") 34 | isEq(t, hh.Cache(), "r:\\repository\\cache") 35 | isEq(t, hh.CacheIndex("t"), "r:\\repository\\cache\\t-index.yaml") 36 | isEq(t, hh.Starters(), "r:\\starters") 37 | } 38 | -------------------------------------------------------------------------------- /docs/man/man1/helm_repo.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-repo \- add, list, remove, update, and index chart repositories 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm repo [FLAGS] add|remove|list|index|update [ARGS]\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | This command consists of multiple subcommands to interact with chart repositories. 19 | 20 | .PP 21 | It can be used to add, remove, list, and index chart repositories. 22 | Example usage: 23 | $ helm repo add [NAME] [REPO\_URL] 24 | 25 | 26 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 27 | .PP 28 | \fB\-\-debug\fP[=false] 29 | enable verbose output 30 | 31 | .PP 32 | \fB\-\-home\fP="~/.helm" 33 | location of your Helm config. Overrides $HELM\_HOME 34 | 35 | .PP 36 | \fB\-\-host\fP="localhost:44134" 37 | address of tiller. Overrides $HELM\_HOST 38 | 39 | .PP 40 | \fB\-\-kube\-context\fP="" 41 | name of the kubeconfig context to use 42 | 43 | .PP 44 | \fB\-\-tiller\-namespace\fP="kube\-system" 45 | namespace of tiller 46 | 47 | 48 | .SH SEE ALSO 49 | .PP 50 | \fBhelm(1)\fP, \fBhelm\-repo\-add(1)\fP, \fBhelm\-repo\-index(1)\fP, \fBhelm\-repo\-list(1)\fP, \fBhelm\-repo\-remove(1)\fP, \fBhelm\-repo\-update(1)\fP 51 | 52 | 53 | .SH HISTORY 54 | .PP 55 | 19\-May\-2017 Auto generated by spf13/cobra 56 | -------------------------------------------------------------------------------- /docs/man/man1/helm_completion.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-completion \- Generate autocompletions script for the specified shell (bash or zsh) 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm completion SHELL\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | Generate autocompletions script for Helm for the specified shell (bash or zsh). 19 | 20 | .PP 21 | This command can generate shell autocompletions. e.g. 22 | 23 | .PP 24 | .RS 25 | 26 | .nf 27 | $ helm completion bash 28 | 29 | .fi 30 | .RE 31 | 32 | .PP 33 | Can be sourced as such 34 | 35 | .PP 36 | .RS 37 | 38 | .nf 39 | $ source <(helm completion bash) 40 | 41 | .fi 42 | .RE 43 | 44 | 45 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 46 | .PP 47 | \fB\-\-debug\fP[=false] 48 | enable verbose output 49 | 50 | .PP 51 | \fB\-\-home\fP="~/.helm" 52 | location of your Helm config. Overrides $HELM\_HOME 53 | 54 | .PP 55 | \fB\-\-host\fP="localhost:44134" 56 | address of tiller. Overrides $HELM\_HOST 57 | 58 | .PP 59 | \fB\-\-kube\-context\fP="" 60 | name of the kubeconfig context to use 61 | 62 | .PP 63 | \fB\-\-tiller\-namespace\fP="kube\-system" 64 | namespace of tiller 65 | 66 | 67 | .SH SEE ALSO 68 | .PP 69 | \fBhelm(1)\fP 70 | 71 | 72 | .SH HISTORY 73 | .PP 74 | 19\-May\-2017 Auto generated by spf13/cobra 75 | -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | pre: 3 | - curl -sSL https://s3.amazonaws.com/circle-downloads/install-circleci-docker.sh | bash -s -- 1.10.0 4 | 5 | environment: 6 | GOVERSION: "1.8.1" 7 | GOPATH: "${HOME}/.go_workspace" 8 | WORKDIR: "${GOPATH}/src/k8s.io/helm" 9 | PROJECT_NAME: "kubernetes-helm" 10 | 11 | services: 12 | - docker 13 | 14 | dependencies: 15 | cache_directories: 16 | - "~/.glide" 17 | 18 | pre: 19 | # remove old go files 20 | - sudo rm -rf /usr/local/go 21 | - rm -rf "$GOPATH" 22 | 23 | override: 24 | # install go 25 | - wget "https://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz" -O "${HOME}/go${GOVERSION}.tar.gz" 26 | - sudo tar -C /usr/local -xzf "${HOME}/go${GOVERSION}.tar.gz" 27 | 28 | # move repository to the canonical import path 29 | - mkdir -p "$(dirname ${WORKDIR})" 30 | - cp -R "${HOME}/helm" "${WORKDIR}" 31 | 32 | # install dependencies 33 | - cd "${WORKDIR}" && make bootstrap 34 | 35 | post: 36 | - go env 37 | 38 | test: 39 | override: 40 | - cd "${WORKDIR}" && ./scripts/ci.sh: 41 | parallel: true 42 | 43 | deployment: 44 | release: 45 | tag: /.*/ 46 | commands: 47 | - cd "${WORKDIR}" && ./scripts/ci/deploy.sh 48 | 49 | canary: 50 | branch: master 51 | commands: 52 | - cd "${WORKDIR}" && ./scripts/ci/deploy.sh 53 | -------------------------------------------------------------------------------- /docs/helm/helm_verify.md: -------------------------------------------------------------------------------- 1 | ## helm verify 2 | 3 | verify that a chart at the given path has been signed and is valid 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | Verify that the given chart has a valid provenance file. 10 | 11 | Provenance files provide crytographic verification that a chart has not been 12 | tampered with, and was packaged by a trusted provider. 13 | 14 | This command can be used to verify a local chart. Several other commands provide 15 | '--verify' flags that run the same validation. To generate a signed package, use 16 | the 'helm package --sign' command. 17 | 18 | 19 | ``` 20 | helm verify [flags] PATH 21 | ``` 22 | 23 | ### Options 24 | 25 | ``` 26 | --keyring string keyring containing public keys (default "~/.gnupg/pubring.gpg") 27 | ``` 28 | 29 | ### Options inherited from parent commands 30 | 31 | ``` 32 | --debug enable verbose output 33 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 34 | --host string address of tiller. Overrides $HELM_HOST 35 | --kube-context string name of the kubeconfig context to use 36 | --tiller-namespace string namespace of tiller (default "kube-system") 37 | ``` 38 | 39 | ### SEE ALSO 40 | * [helm](helm.md) - The Helm package manager for Kubernetes. 41 | 42 | ###### Auto generated by spf13/cobra on 26-May-2017 43 | -------------------------------------------------------------------------------- /cmd/tiller/probes.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "net/http" 21 | 22 | "github.com/prometheus/client_golang/prometheus/promhttp" 23 | ) 24 | 25 | func readinessProbe(w http.ResponseWriter, r *http.Request) { 26 | w.WriteHeader(http.StatusOK) 27 | } 28 | 29 | func livenessProbe(w http.ResponseWriter, r *http.Request) { 30 | w.WriteHeader(http.StatusOK) 31 | } 32 | 33 | func newProbesMux() *http.ServeMux { 34 | mux := http.NewServeMux() 35 | mux.HandleFunc("/readiness", readinessProbe) 36 | mux.HandleFunc("/liveness", livenessProbe) 37 | return mux 38 | } 39 | 40 | func addPrometheusHandler(mux *http.ServeMux) { 41 | // Register HTTP handler for the global Prometheus registry. 42 | mux.Handle("/metrics", promhttp.Handler()) 43 | } 44 | -------------------------------------------------------------------------------- /docs/man/man1/helm_lint.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-lint \- examines a chart for possible issues 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm lint [flags] PATH\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | This command takes a path to a chart and runs a series of tests to verify that 19 | the chart is well\-formed. 20 | 21 | .PP 22 | If the linter encounters things that will cause the chart to fail installation, 23 | it will emit [ERROR] messages. If it encounters issues that break with convention 24 | or recommendation, it will emit [WARNING] messages. 25 | 26 | 27 | .SH OPTIONS 28 | .PP 29 | \fB\-\-strict\fP[=false] 30 | fail on lint warnings 31 | 32 | 33 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 34 | .PP 35 | \fB\-\-debug\fP[=false] 36 | enable verbose output 37 | 38 | .PP 39 | \fB\-\-home\fP="~/.helm" 40 | location of your Helm config. Overrides $HELM\_HOME 41 | 42 | .PP 43 | \fB\-\-host\fP="localhost:44134" 44 | address of tiller. Overrides $HELM\_HOST 45 | 46 | .PP 47 | \fB\-\-kube\-context\fP="" 48 | name of the kubeconfig context to use 49 | 50 | .PP 51 | \fB\-\-tiller\-namespace\fP="kube\-system" 52 | namespace of tiller 53 | 54 | 55 | .SH SEE ALSO 56 | .PP 57 | \fBhelm(1)\fP 58 | 59 | 60 | .SH HISTORY 61 | .PP 62 | 19\-May\-2017 Auto generated by spf13/cobra 63 | -------------------------------------------------------------------------------- /docs/man/man1/helm_get_manifest.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-get\-manifest \- download the manifest for a named release 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm get manifest [flags] RELEASE\_NAME\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | This command fetches the generated manifest for a given release. 19 | 20 | .PP 21 | A manifest is a YAML\-encoded representation of the Kubernetes resources that 22 | were generated from this release's chart(s). If a chart is dependent on other 23 | charts, those resources will also be included in the manifest. 24 | 25 | 26 | .SH OPTIONS 27 | .PP 28 | \fB\-\-revision\fP=0 29 | get the named release with revision 30 | 31 | 32 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 33 | .PP 34 | \fB\-\-debug\fP[=false] 35 | enable verbose output 36 | 37 | .PP 38 | \fB\-\-home\fP="~/.helm" 39 | location of your Helm config. Overrides $HELM\_HOME 40 | 41 | .PP 42 | \fB\-\-host\fP="localhost:44134" 43 | address of tiller. Overrides $HELM\_HOST 44 | 45 | .PP 46 | \fB\-\-kube\-context\fP="" 47 | name of the kubeconfig context to use 48 | 49 | .PP 50 | \fB\-\-tiller\-namespace\fP="kube\-system" 51 | namespace of tiller 52 | 53 | 54 | .SH SEE ALSO 55 | .PP 56 | \fBhelm\-get(1)\fP 57 | 58 | 59 | .SH HISTORY 60 | .PP 61 | 19\-May\-2017 Auto generated by spf13/cobra 62 | -------------------------------------------------------------------------------- /pkg/tiller/release_content.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package tiller 18 | 19 | import ( 20 | ctx "golang.org/x/net/context" 21 | "k8s.io/helm/pkg/proto/hapi/services" 22 | ) 23 | 24 | // GetReleaseContent gets all of the stored information for the given release. 25 | func (s *ReleaseServer) GetReleaseContent(c ctx.Context, req *services.GetReleaseContentRequest) (*services.GetReleaseContentResponse, error) { 26 | if !ValidName.MatchString(req.Name) { 27 | return nil, errMissingRelease 28 | } 29 | 30 | if req.Version <= 0 { 31 | rel, err := s.env.Releases.Deployed(req.Name) 32 | return &services.GetReleaseContentResponse{Release: rel}, err 33 | } 34 | 35 | rel, err := s.env.Releases.Get(req.Name, req.Version) 36 | return &services.GetReleaseContentResponse{Release: rel}, err 37 | } 38 | -------------------------------------------------------------------------------- /_proto/hapi/release/test_suite.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Kubernetes Authors All rights reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package hapi.release; 18 | 19 | import "google/protobuf/timestamp.proto"; 20 | import "hapi/release/test_run.proto"; 21 | 22 | option go_package = "release"; 23 | 24 | // TestSuite comprises of the last run of the pre-defined test suite of a release version 25 | message TestSuite { 26 | // StartedAt indicates the date/time this test suite was kicked off 27 | google.protobuf.Timestamp started_at = 1; 28 | 29 | // CompletedAt indicates the date/time this test suite was completed 30 | google.protobuf.Timestamp completed_at = 2; 31 | 32 | // Results are the results of each segment of the test 33 | repeated hapi.release.TestRun results = 3; 34 | } 35 | -------------------------------------------------------------------------------- /docs/helm/helm_repo.md: -------------------------------------------------------------------------------- 1 | ## helm repo 2 | 3 | add, list, remove, update, and index chart repositories 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | This command consists of multiple subcommands to interact with chart repositories. 10 | 11 | It can be used to add, remove, list, and index chart repositories. 12 | Example usage: 13 | $ helm repo add [NAME] [REPO_URL] 14 | 15 | 16 | ### Options inherited from parent commands 17 | 18 | ``` 19 | --debug enable verbose output 20 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 21 | --host string address of tiller. Overrides $HELM_HOST 22 | --kube-context string name of the kubeconfig context to use 23 | --tiller-namespace string namespace of tiller (default "kube-system") 24 | ``` 25 | 26 | ### SEE ALSO 27 | * [helm](helm.md) - The Helm package manager for Kubernetes. 28 | * [helm repo add](helm_repo_add.md) - add a chart repository 29 | * [helm repo index](helm_repo_index.md) - generate an index file given a directory containing packaged charts 30 | * [helm repo list](helm_repo_list.md) - list chart repositories 31 | * [helm repo remove](helm_repo_remove.md) - remove a chart repository 32 | * [helm repo update](helm_repo_update.md) - update information on available charts in the chart repositories 33 | 34 | ###### Auto generated by spf13/cobra on 26-May-2017 35 | -------------------------------------------------------------------------------- /pkg/downloader/testdata/helmhome/repository/cache/testing-index.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | entries: 3 | alpine: 4 | - name: alpine 5 | urls: 6 | - http://example.com/alpine-1.2.3.tgz 7 | checksum: 0e6661f193211d7a5206918d42f5c2a9470b737d 8 | home: https://k8s.io/helm 9 | sources: 10 | - https://github.com/kubernetes/helm 11 | version: 1.2.3 12 | description: Deploy a basic Alpine Linux pod 13 | keywords: [] 14 | maintainers: [] 15 | engine: "" 16 | icon: "" 17 | - name: alpine 18 | urls: 19 | - http://example.com/alpine-0.2.0.tgz 20 | - https://kubernetes-charts.storage.googleapis.com/alpine-0.2.0.tgz 21 | checksum: 0e6661f193211d7a5206918d42f5c2a9470b737d 22 | home: https://k8s.io/helm 23 | sources: 24 | - https://github.com/kubernetes/helm 25 | version: 0.2.0 26 | description: Deploy a basic Alpine Linux pod 27 | keywords: [] 28 | maintainers: [] 29 | engine: "" 30 | icon: "" 31 | foo: 32 | - name: foo 33 | description: Foo Chart 34 | engine: gotpl 35 | home: https://k8s.io/helm 36 | keywords: [] 37 | maintainers: [] 38 | sources: 39 | - https://github.com/kubernetes/charts 40 | urls: 41 | - http://example.com/foo-1.2.3.tgz 42 | version: 1.2.3 43 | checksum: 0e6661f193211d7a5206918d42f5c2a9470b737d 44 | -------------------------------------------------------------------------------- /docs/man/man1/helm_repo_add.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-repo\-add \- add a chart repository 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm repo add [flags] [NAME] [URL]\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | add a chart repository 19 | 20 | 21 | .SH OPTIONS 22 | .PP 23 | \fB\-\-ca\-file\fP="" 24 | verify certificates of HTTPS\-enabled servers using this CA bundle 25 | 26 | .PP 27 | \fB\-\-cert\-file\fP="" 28 | identify HTTPS client using this SSL certificate file 29 | 30 | .PP 31 | \fB\-\-key\-file\fP="" 32 | identify HTTPS client using this SSL key file 33 | 34 | .PP 35 | \fB\-\-no\-update\fP[=false] 36 | raise error if repo is already registered 37 | 38 | 39 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 40 | .PP 41 | \fB\-\-debug\fP[=false] 42 | enable verbose output 43 | 44 | .PP 45 | \fB\-\-home\fP="~/.helm" 46 | location of your Helm config. Overrides $HELM\_HOME 47 | 48 | .PP 49 | \fB\-\-host\fP="localhost:44134" 50 | address of tiller. Overrides $HELM\_HOST 51 | 52 | .PP 53 | \fB\-\-kube\-context\fP="" 54 | name of the kubeconfig context to use 55 | 56 | .PP 57 | \fB\-\-tiller\-namespace\fP="kube\-system" 58 | namespace of tiller 59 | 60 | 61 | .SH SEE ALSO 62 | .PP 63 | \fBhelm\-repo(1)\fP 64 | 65 | 66 | .SH HISTORY 67 | .PP 68 | 19\-May\-2017 Auto generated by spf13/cobra 69 | -------------------------------------------------------------------------------- /pkg/tiller/release_content_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package tiller 18 | 19 | import ( 20 | "k8s.io/helm/pkg/helm" 21 | "k8s.io/helm/pkg/proto/hapi/services" 22 | "testing" 23 | ) 24 | 25 | func TestGetReleaseContent(t *testing.T) { 26 | c := helm.NewContext() 27 | rs := rsFixture() 28 | rel := releaseStub() 29 | if err := rs.env.Releases.Create(rel); err != nil { 30 | t.Fatalf("Could not store mock release: %s", err) 31 | } 32 | 33 | res, err := rs.GetReleaseContent(c, &services.GetReleaseContentRequest{Name: rel.Name, Version: 1}) 34 | if err != nil { 35 | t.Errorf("Error getting release content: %s", err) 36 | } 37 | 38 | if res.Release.Chart.Metadata.Name != rel.Chart.Metadata.Name { 39 | t.Errorf("Expected %q, got %q", rel.Chart.Metadata.Name, res.Release.Chart.Metadata.Name) 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /cmd/tiller/tiller_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "testing" 21 | 22 | "k8s.io/helm/pkg/engine" 23 | "k8s.io/helm/pkg/tiller/environment" 24 | ) 25 | 26 | // These are canary tests to make sure that the default server actually 27 | // fulfills its requirements. 28 | var _ environment.Engine = &engine.Engine{} 29 | 30 | func TestInit(t *testing.T) { 31 | defer func() { 32 | if recover() != nil { 33 | t.Fatalf("Panic trapped. Check EngineYard.Default()") 34 | } 35 | }() 36 | 37 | // This will panic if it is not correct. 38 | env.EngineYard.Default() 39 | 40 | e, ok := env.EngineYard.Get(environment.GoTplEngine) 41 | if !ok { 42 | t.Fatalf("Could not find GoTplEngine") 43 | } 44 | if e == nil { 45 | t.Fatalf("Template engine GoTplEngine returned nil.") 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /docs/helm/helm_dependency_build.md: -------------------------------------------------------------------------------- 1 | ## helm dependency build 2 | 3 | rebuild the charts/ directory based on the requirements.lock file 4 | 5 | ### Synopsis 6 | 7 | 8 | 9 | Build out the charts/ directory from the requirements.lock file. 10 | 11 | Build is used to reconstruct a chart's dependencies to the state specified in 12 | the lock file. This will not re-negotiate dependencies, as 'helm dependency update' 13 | does. 14 | 15 | If no lock file is found, 'helm dependency build' will mirror the behavior 16 | of 'helm dependency update'. 17 | 18 | 19 | ``` 20 | helm dependency build [flags] CHART 21 | ``` 22 | 23 | ### Options 24 | 25 | ``` 26 | --keyring string keyring containing public keys (default "~/.gnupg/pubring.gpg") 27 | --verify verify the packages against signatures 28 | ``` 29 | 30 | ### Options inherited from parent commands 31 | 32 | ``` 33 | --debug enable verbose output 34 | --home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm") 35 | --host string address of tiller. Overrides $HELM_HOST 36 | --kube-context string name of the kubeconfig context to use 37 | --tiller-namespace string namespace of tiller (default "kube-system") 38 | ``` 39 | 40 | ### SEE ALSO 41 | * [helm dependency](helm_dependency.md) - manage a chart's dependencies 42 | 43 | ###### Auto generated by spf13/cobra on 26-May-2017 44 | -------------------------------------------------------------------------------- /pkg/helm/helmpath/helmhome_unix_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Kubernetes Authors All rights reserved. 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | // +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris 15 | // +build !windows 16 | 17 | package helmpath 18 | 19 | import ( 20 | "runtime" 21 | "testing" 22 | ) 23 | 24 | func TestHelmHome(t *testing.T) { 25 | hh := Home("/r") 26 | isEq := func(t *testing.T, a, b string) { 27 | if a != b { 28 | t.Error(runtime.GOOS) 29 | t.Errorf("Expected %q, got %q", a, b) 30 | } 31 | } 32 | 33 | isEq(t, hh.String(), "/r") 34 | isEq(t, hh.Repository(), "/r/repository") 35 | isEq(t, hh.RepositoryFile(), "/r/repository/repositories.yaml") 36 | isEq(t, hh.LocalRepository(), "/r/repository/local") 37 | isEq(t, hh.Cache(), "/r/repository/cache") 38 | isEq(t, hh.CacheIndex("t"), "/r/repository/cache/t-index.yaml") 39 | isEq(t, hh.Starters(), "/r/starters") 40 | } 41 | -------------------------------------------------------------------------------- /cmd/helm/get_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "io" 21 | "testing" 22 | 23 | "github.com/spf13/cobra" 24 | ) 25 | 26 | func TestGetCmd(t *testing.T) { 27 | tests := []releaseCase{ 28 | { 29 | name: "get with a release", 30 | resp: releaseMock(&releaseOptions{name: "thomas-guide"}), 31 | args: []string{"thomas-guide"}, 32 | expected: "REVISION: 1\nRELEASED: (.*)\nCHART: foo-0.1.0-beta.1\nUSER-SUPPLIED VALUES:\nname: \"value\"\nCOMPUTED VALUES:\nname: value\n\nHOOKS:\n---\n# pre-install-hook\n" + mockHookTemplate + "\nMANIFEST:", 33 | }, 34 | { 35 | name: "get requires release name arg", 36 | err: true, 37 | }, 38 | } 39 | 40 | cmd := func(c *fakeReleaseClient, out io.Writer) *cobra.Command { 41 | return newGetCmd(c, out) 42 | } 43 | runReleaseCases(t, tests, cmd) 44 | } 45 | -------------------------------------------------------------------------------- /docs/man/man1/helm_search.1: -------------------------------------------------------------------------------- 1 | .TH "HELM" "1" "May 2017" "Auto generated by spf13/cobra" "" 2 | .nh 3 | .ad l 4 | 5 | 6 | .SH NAME 7 | .PP 8 | helm\-search \- search for a keyword in charts 9 | 10 | 11 | .SH SYNOPSIS 12 | .PP 13 | \fBhelm search [keyword]\fP 14 | 15 | 16 | .SH DESCRIPTION 17 | .PP 18 | Search reads through all of the repositories configured on the system, and 19 | looks for matches. 20 | 21 | .PP 22 | Repositories are managed with 'helm repo' commands. 23 | 24 | 25 | .SH OPTIONS 26 | .PP 27 | \fB\-r\fP, \fB\-\-regexp\fP[=false] 28 | use regular expressions for searching 29 | 30 | .PP 31 | \fB\-v\fP, \fB\-\-version\fP="" 32 | search using semantic versioning constraints 33 | 34 | .PP 35 | \fB\-l\fP, \fB\-\-versions\fP[=false] 36 | show the long listing, with each version of each chart on its own line 37 | 38 | 39 | .SH OPTIONS INHERITED FROM PARENT COMMANDS 40 | .PP 41 | \fB\-\-debug\fP[=false] 42 | enable verbose output 43 | 44 | .PP 45 | \fB\-\-home\fP="~/.helm" 46 | location of your Helm config. Overrides $HELM\_HOME 47 | 48 | .PP 49 | \fB\-\-host\fP="localhost:44134" 50 | address of tiller. Overrides $HELM\_HOST 51 | 52 | .PP 53 | \fB\-\-kube\-context\fP="" 54 | name of the kubeconfig context to use 55 | 56 | .PP 57 | \fB\-\-tiller\-namespace\fP="kube\-system" 58 | namespace of tiller 59 | 60 | 61 | .SH SEE ALSO 62 | .PP 63 | \fBhelm(1)\fP 64 | 65 | 66 | .SH HISTORY 67 | .PP 68 | 19\-May\-2017 Auto generated by spf13/cobra 69 | -------------------------------------------------------------------------------- /pkg/repo/testdata/local-index.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | entries: 3 | nginx: 4 | - urls: 5 | - https://kubernetes-charts.storage.googleapis.com/nginx-0.2.0.tgz 6 | name: nginx 7 | description: string 8 | version: 0.2.0 9 | home: https://github.com/something/else 10 | digest: "sha256:1234567890abcdef" 11 | keywords: 12 | - popular 13 | - web server 14 | - proxy 15 | - urls: 16 | - https://kubernetes-charts.storage.googleapis.com/nginx-0.1.0.tgz 17 | name: nginx 18 | description: string 19 | version: 0.1.0 20 | home: https://github.com/something 21 | digest: "sha256:1234567890abcdef" 22 | keywords: 23 | - popular 24 | - web server 25 | - proxy 26 | alpine: 27 | - urls: 28 | - https://kubernetes-charts.storage.googleapis.com/alpine-1.0.0.tgz 29 | - http://storage2.googleapis.com/kubernetes-charts/alpine-1.0.0.tgz 30 | name: alpine 31 | description: string 32 | version: 1.0.0 33 | home: https://github.com/something 34 | keywords: 35 | - linux 36 | - alpine 37 | - small 38 | - sumtin 39 | digest: "sha256:1234567890abcdef" 40 | chartWithNoURL: 41 | - name: chartWithNoURL 42 | description: string 43 | version: 1.0.0 44 | home: https://github.com/something 45 | keywords: 46 | - small 47 | - sumtin 48 | digest: "sha256:1234567890abcdef" 49 | -------------------------------------------------------------------------------- /cmd/helm/repo.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package main 18 | 19 | import ( 20 | "io" 21 | 22 | "github.com/spf13/cobra" 23 | ) 24 | 25 | var repoHelm = ` 26 | This command consists of multiple subcommands to interact with chart repositories. 27 | 28 | It can be used to add, remove, list, and index chart repositories. 29 | Example usage: 30 | $ helm repo add [NAME] [REPO_URL] 31 | ` 32 | 33 | func newRepoCmd(out io.Writer) *cobra.Command { 34 | cmd := &cobra.Command{ 35 | Use: "repo [FLAGS] add|remove|list|index|update [ARGS]", 36 | Short: "add, list, remove, update, and index chart repositories", 37 | Long: repoHelm, 38 | } 39 | 40 | cmd.AddCommand(newRepoAddCmd(out)) 41 | cmd.AddCommand(newRepoListCmd(out)) 42 | cmd.AddCommand(newRepoRemoveCmd(out)) 43 | cmd.AddCommand(newRepoIndexCmd(out)) 44 | cmd.AddCommand(newRepoUpdateCmd(out)) 45 | 46 | return cmd 47 | } 48 | -------------------------------------------------------------------------------- /pkg/repo/testdata/local-index-unordered.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | entries: 3 | nginx: 4 | - urls: 5 | - https://kubernetes-charts.storage.googleapis.com/nginx-0.1.0.tgz 6 | name: nginx 7 | description: string 8 | version: 0.1.0 9 | home: https://github.com/something 10 | digest: "sha256:1234567890abcdef" 11 | keywords: 12 | - popular 13 | - web server 14 | - proxy 15 | - urls: 16 | - https://kubernetes-charts.storage.googleapis.com/nginx-0.2.0.tgz 17 | name: nginx 18 | description: string 19 | version: 0.2.0 20 | home: https://github.com/something/else 21 | digest: "sha256:1234567890abcdef" 22 | keywords: 23 | - popular 24 | - web server 25 | - proxy 26 | alpine: 27 | - urls: 28 | - https://kubernetes-charts.storage.googleapis.com/alpine-1.0.0.tgz 29 | - http://storage2.googleapis.com/kubernetes-charts/alpine-1.0.0.tgz 30 | name: alpine 31 | description: string 32 | version: 1.0.0 33 | home: https://github.com/something 34 | keywords: 35 | - linux 36 | - alpine 37 | - small 38 | - sumtin 39 | digest: "sha256:1234567890abcdef" 40 | chartWithNoURL: 41 | - name: chartWithNoURL 42 | description: string 43 | version: 1.0.0 44 | home: https://github.com/something 45 | keywords: 46 | - small 47 | - sumtin 48 | digest: "sha256:1234567890abcdef" 49 | -------------------------------------------------------------------------------- /pkg/storage/driver/labels_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package driver // import "k8s.io/helm/pkg/storage/driver" 18 | 19 | import ( 20 | "testing" 21 | ) 22 | 23 | func TestLabelsMatch(t *testing.T) { 24 | var tests = []struct { 25 | desc string 26 | set1 labels 27 | set2 labels 28 | expect bool 29 | }{ 30 | { 31 | "equal labels sets", 32 | labels(map[string]string{"KEY_A": "VAL_A", "KEY_B": "VAL_B"}), 33 | labels(map[string]string{"KEY_A": "VAL_A", "KEY_B": "VAL_B"}), 34 | true, 35 | }, 36 | { 37 | "disjoint label sets", 38 | labels(map[string]string{"KEY_C": "VAL_C", "KEY_D": "VAL_D"}), 39 | labels(map[string]string{"KEY_A": "VAL_A", "KEY_B": "VAL_B"}), 40 | false, 41 | }, 42 | } 43 | 44 | for _, tt := range tests { 45 | if !tt.set1.match(tt.set2) && tt.expect { 46 | t.Fatalf("Expected match '%s'\n", tt.desc) 47 | } 48 | } 49 | } 50 | --------------------------------------------------------------------------------