mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 10:18:39 +00:00
DX: Use generic Makefile for packages (#288)
This change is aimed at improving the development experience. - The option `make delete` has been added. - Added check for `NAME` and `NAMESPACE` variables - Now, any package (not just system ones) can include options such as make show, make diff, make apply. - Applications from packages/extra require explicit specification of the `NAMESPACE`. - Applications from packages/apps require explicit specification of both `NAME` and `NAMESPACE`. Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
This commit is contained in:
@@ -4,20 +4,27 @@
|
||||
help: ## Show this help.
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||
|
||||
show: ## Show output of rendered templates
|
||||
show: check ## Show output of rendered templates
|
||||
kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | NAMESPACE=$(NAMESPACE) NAME=$(NAME) \
|
||||
helm template --dry-run=server --post-renderer ../../../scripts/fluxcd-kustomize.sh -n $(NAMESPACE) $(NAME) . -f -
|
||||
|
||||
apply: suspend ## Apply Helm release to a Kubernetes cluster
|
||||
apply: check suspend ## Apply Helm release to a Kubernetes cluster
|
||||
kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | NAMESPACE=$(NAMESPACE) NAME=$(NAME) \
|
||||
helm upgrade -i --post-renderer ../../../scripts/fluxcd-kustomize.sh -n $(NAMESPACE) $(NAME) . -f -
|
||||
|
||||
diff: ## Diff Helm release against objects in a Kubernetes cluster
|
||||
diff: check ## Diff Helm release against objects in a Kubernetes cluster
|
||||
kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | NAMESPACE=$(NAMESPACE) NAME=$(NAME) \
|
||||
helm diff upgrade --allow-unreleased --post-renderer ../../../scripts/fluxcd-kustomize.sh -n $(NAMESPACE) $(NAME) . -f -
|
||||
helm diff upgrade --show-secrets --allow-unreleased --post-renderer ../../../scripts/fluxcd-kustomize.sh -n $(NAMESPACE) $(NAME) . -f -
|
||||
|
||||
suspend: ## Suspend reconciliation for an existing Helm release
|
||||
suspend: check ## Suspend reconciliation for an existing Helm release
|
||||
kubectl patch hr -n $(NAMESPACE) $(NAME) -p '{"spec": {"suspend": true}}' --type=merge --field-manager=flux-client-side-apply
|
||||
|
||||
resume: ## Resume reconciliation for an existing Helm release
|
||||
resume: check ## Resume reconciliation for an existing Helm release
|
||||
kubectl patch hr -n $(NAMESPACE) $(NAME) -p '{"spec": {"suspend": null}}' --type=merge --field-manager=flux-client-side-apply
|
||||
|
||||
delete: check suspend ## Delete Helm release from a Kubernetes cluster
|
||||
helm uninstall -n $(NAMESPACE) $(NAME)
|
||||
|
||||
check:
|
||||
@if [ -z "$(NAME)" ]; then echo "env NAME is not set!" >&2; exit 1; fi
|
||||
@if [ -z "$(NAMESPACE)" ]; then echo "env NAMESPACE is not set!" >&2; exit 1; fi
|
||||
Reference in New Issue
Block a user