From c5d0dc49c4499ba162a6ac1ebe446c2c9bf85cb5 Mon Sep 17 00:00:00 2001 From: Matt Butcher Date: Mon, 30 Jan 2017 17:05:44 -0700 Subject: [PATCH] docs(chart_tips_and_tricks): explain resource-policy. This adds a short explanation of the resource policy annotation. Closes #1880 --- docs/charts_tips_and_tricks.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/docs/charts_tips_and_tricks.md b/docs/charts_tips_and_tricks.md index 4d7a15712..e0722d306 100644 --- a/docs/charts_tips_and_tricks.md +++ b/docs/charts_tips_and_tricks.md @@ -74,16 +74,38 @@ The `sha256sum` function can be used together with the `include` function to ensure a deployments template section is updated if another spec changes: -``` +```yaml kind: Deployment spec: template: metadata: annotations: checksum/config: {{ include (print $.Chart.Name "/templates/secret.yaml") . | sha256sum }} -[...] +[...] ``` +## Tell Tiller Not To Delete a Resource + +Sometimes there are resources that should not be deleted when Helm runs a +`helm delete`. Chart developers can add an annotation to a resource to prevent +it from being deleted. + +```yaml +kind: Secret +metadata: + annotations: + "helm.sh/resource-policy": keep +[...] +``` + +(Quotation marks are required) + +The annotation `"helm.sh/resource-policy": keep` instructs Tiller to skip this +resource during a `helm delete` operation. _However_, this resource becomes +orphaned. Helm will no longer manage it in any way. This can lead to problems +if using `helm install --replace` on a release that has already been deleted, but +has kept resources. + ## Using "Partials" and Template Includes Sometimes you want to create some reusable parts in your chart, whether