Difference between revisions of "Helm diff"
Jump to navigation
Jump to search
(Created page with "This is a great plugin for helm. helm plugin install https://github.com/databus23/helm-diff helm diff upgrade -n mynamespace myapp foo/myapp -f custom-values.yaml You could...") |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
helm plugin install https://github.com/databus23/helm-diff | helm plugin install https://github.com/databus23/helm-diff | ||
| − | helm diff upgrade -n mynamespace myapp foo/myapp -f custom-values.yaml | + | helm diff upgrade -n mynamespace myapp foo/myapp -f custom-values.yaml |
You could use it like so | You could use it like so | ||
| − | ``` | + | ```bash |
#!/bin/bash | #!/bin/bash | ||
lines=$(helm diff upgrade -n mynamespace myapp foo/myapp -f custom-values.yaml) | lines=$(helm diff upgrade -n mynamespace myapp foo/myapp -f custom-values.yaml) | ||
| Line 14: | Line 14: | ||
echo "Helm changes detected." | echo "Helm changes detected." | ||
echo "Running upgrade in 5."; sleep 5 helm upgrade --install -n mynamespace myapp foo/myapp -f custom-values.yaml | echo "Running upgrade in 5."; sleep 5 helm upgrade --install -n mynamespace myapp foo/myapp -f custom-values.yaml | ||
| + | fi | ||
| + | ``` | ||
| + | |||
| + | You can use terraform helm provider as well. | ||
| + | |||
| + | https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release | ||
| + | |||
| + | ```bash | ||
| + | #!/bin/bash | ||
| + | set -e | ||
| + | |||
| + | [[ $(helm repo list | grep ^external-secrets) ]] \ | ||
| + | || helm repo add external-secrets https://charts.external-secrets.io | ||
| + | [[ $(helm plugin list | grep ^diff) ]] \ | ||
| + | || helm plugin install https://github.com/databus23/helm-diff | ||
| + | helm diff version | ||
| + | |||
| + | kubectl create namespace external-secrets --dry-run=client -o yaml | kubectl apply -f - | ||
| + | |||
| + | helm_cmd(){ | ||
| + | helm $1 upgrade --install external-secrets \ | ||
| + | external-secrets/external-secrets \ | ||
| + | -n external-secrets \ | ||
| + | --set installCRDs=true | ||
| + | } | ||
| + | |||
| + | lines=$(helm_cmd diff) | ||
| + | if [[ $(echo -n "$lines" | wc -l) > 0 ]]; then | ||
| + | echo "$lines" | grep "^+\|^-" || true | ||
| + | echo "Helm changes detected." | ||
| + | echo "Running helm upgrade in 5."; sleep 5 | ||
| + | helm_cmd | ||
fi | fi | ||
``` | ``` | ||
Latest revision as of 14:43, 7 January 2023
This is a great plugin for helm.
helm plugin install https://github.com/databus23/helm-diff
helm diff upgrade -n mynamespace myapp foo/myapp -f custom-values.yaml
You could use it like so
#!/bin/bash lines=$(helm diff upgrade -n mynamespace myapp foo/myapp -f custom-values.yaml) if [[ $(echo $lines | wc -l) > 0 ]]; then echo "$lines" | grep "^+\|^-" echo "Helm changes detected." echo "Running upgrade in 5."; sleep 5 helm upgrade --install -n mynamespace myapp foo/myapp -f custom-values.yaml fi
You can use terraform helm provider as well.
https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release
#!/bin/bash
set -e
[[ $(helm repo list | grep ^external-secrets) ]] \
|| helm repo add external-secrets https://charts.external-secrets.io
[[ $(helm plugin list | grep ^diff) ]] \
|| helm plugin install https://github.com/databus23/helm-diff
helm diff version
kubectl create namespace external-secrets --dry-run=client -o yaml | kubectl apply -f -
helm_cmd(){
helm $1 upgrade --install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--set installCRDs=true
}
lines=$(helm_cmd diff)
if [[ $(echo -n "$lines" | wc -l) > 0 ]]; then
echo "$lines" | grep "^+\|^-" || true
echo "Helm changes detected."
echo "Running helm upgrade in 5."; sleep 5
helm_cmd
fi