diff --git a/hack/package-system.mk b/hack/package-system.mk new file mode 100644 index 000000000..baa3f7970 --- /dev/null +++ b/hack/package-system.mk @@ -0,0 +1,20 @@ +.DEFAULT_GOAL=help +.PHONY=help show diff apply delete update image + +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 + kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm template --dry-run=server -n $(NAMESPACE) $(NAME) . -f - + +apply: suspend ## Apply Helm release to a Kubernetes cluster + kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm upgrade -i -n $(NAMESPACE) $(NAME) . -f - + +diff: ## Diff Helm release against objects in a Kubernetes cluster + kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . -f - + +suspend: ## Suspend reconciliation for an existing Helm release + flux suspend hr -n $(NAMESPACE) $(NAME) + +resume: ## Resume reconciliation for an existing Helm release + flux resume hr -n $(NAMESPACE) $(NAME) diff --git a/packages/core/fluxcd/Makefile b/packages/core/fluxcd/Makefile index ad2c9fa5c..7f1ddacf6 100644 --- a/packages/core/fluxcd/Makefile +++ b/packages/core/fluxcd/Makefile @@ -1,5 +1,5 @@ -NAMESPACE=cozy-fluxcd NAME=fluxcd +NAMESPACE=cozy-$(NAME) API_VERSIONS_FLAGS=$(addprefix -a ,$(shell kubectl api-versions)) diff --git a/packages/core/installer/Makefile b/packages/core/installer/Makefile index 422b25647..82228581f 100644 --- a/packages/core/installer/Makefile +++ b/packages/core/installer/Makefile @@ -1,5 +1,5 @@ -NAMESPACE=cozy-system NAME=installer +NAMESPACE=cozy-system PUSH := 1 LOAD := 0 REGISTRY := ghcr.io/aenix-io/cozystack diff --git a/packages/core/platform/Makefile b/packages/core/platform/Makefile index 765ae18da..6ea9828f0 100644 --- a/packages/core/platform/Makefile +++ b/packages/core/platform/Makefile @@ -1,5 +1,5 @@ -NAMESPACE=cozy-system NAME=platform +NAMESPACE=cozy-system API_VERSIONS_FLAGS=$(addprefix -a ,$(shell kubectl api-versions)) diff --git a/packages/system/capi-operator/Makefile b/packages/system/capi-operator/Makefile index e93380c6f..ab41dbaba 100644 --- a/packages/system/capi-operator/Makefile +++ b/packages/system/capi-operator/Makefile @@ -1,14 +1,7 @@ NAME=capi-operator NAMESPACE=cozy-cluster-api -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/capi-providers/Makefile b/packages/system/capi-providers/Makefile index 9dfff0741..60514ba0a 100644 --- a/packages/system/capi-providers/Makefile +++ b/packages/system/capi-providers/Makefile @@ -1,11 +1,4 @@ NAME=capi-providers NAMESPACE=cozy-cluster-api -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk diff --git a/packages/system/cert-manager-issuers/Makefile b/packages/system/cert-manager-issuers/Makefile index 135de3bae..d50164db8 100644 --- a/packages/system/cert-manager-issuers/Makefile +++ b/packages/system/cert-manager-issuers/Makefile @@ -1,11 +1,4 @@ NAME=cert-manager-issuers NAMESPACE=cozy-cert-manager -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk diff --git a/packages/system/cert-manager/Makefile b/packages/system/cert-manager/Makefile index 53305d33a..f24462c10 100644 --- a/packages/system/cert-manager/Makefile +++ b/packages/system/cert-manager/Makefile @@ -1,14 +1,7 @@ NAME=cert-manager -NAMESPACE=cozy-cert-manager +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/cilium/Makefile b/packages/system/cilium/Makefile index 8c57b152a..608b2d97b 100644 --- a/packages/system/cilium/Makefile +++ b/packages/system/cilium/Makefile @@ -1,14 +1,7 @@ -NAMESPACE=cozy-cilium NAME=cilium +NAMESPACE=cozy-$(NAME) -show: - kubectl get hr -n cozy-cilium cilium -o jsonpath='{.spec.values}' | helm template --dry-run=server -n $(NAMESPACE) $(NAME) . -f - - -apply: - kubectl get hr -n cozy-cilium cilium -o jsonpath='{.spec.values}' | helm upgrade -i -n $(NAMESPACE) $(NAME) . -f - - -diff: - kubectl get hr -n cozy-cilium cilium -o jsonpath='{.spec.values}' | helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . -f - +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/clickhouse-operator/Makefile b/packages/system/clickhouse-operator/Makefile index b4e689699..eb0df087c 100644 --- a/packages/system/clickhouse-operator/Makefile +++ b/packages/system/clickhouse-operator/Makefile @@ -1,14 +1,7 @@ NAME=clickhouse-operator NAMESPACE=cozy-clickhouse-operator -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/dashboard/Makefile b/packages/system/dashboard/Makefile index 40b24c30e..d9c3e769c 100644 --- a/packages/system/dashboard/Makefile +++ b/packages/system/dashboard/Makefile @@ -1,18 +1,11 @@ NAME=dashboard -NAMESPACE=cozy-dashboard +NAMESPACE=cozy-$(NAME) PUSH := 1 LOAD := 0 REPOSITORY := ghcr.io/aenix-io/cozystack TAG := v0.2.0 -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: update-chart update-dockerfiles image: image-dashboard image-kubeapps-apis diff --git a/packages/system/grafana-operator/Makefile b/packages/system/grafana-operator/Makefile index 4064a7f08..a6249ccd4 100644 --- a/packages/system/grafana-operator/Makefile +++ b/packages/system/grafana-operator/Makefile @@ -1,14 +1,7 @@ NAME=grafana-operator NAMESPACE=cozy-grafana-operator -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/ingress-nginx/Makefile b/packages/system/ingress-nginx/Makefile index f51895b8d..a49b0328a 100644 --- a/packages/system/ingress-nginx/Makefile +++ b/packages/system/ingress-nginx/Makefile @@ -1,14 +1,7 @@ NAME=ingress-nginx -NAMESPACE=cozy-ingress-nginx +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/kafka-operator/Makefile b/packages/system/kafka-operator/Makefile index 7e46c3344..3e9b642ca 100644 --- a/packages/system/kafka-operator/Makefile +++ b/packages/system/kafka-operator/Makefile @@ -1,14 +1,7 @@ NAME=kafka-operator -NAMESPACE=cozy-kafka-operator +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/kamaji/Makefile b/packages/system/kamaji/Makefile index 79e6787ce..af7be38f6 100644 --- a/packages/system/kamaji/Makefile +++ b/packages/system/kamaji/Makefile @@ -1,15 +1,7 @@ NAME=kamaji -NAMESPACE=cozy-kamaji +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - flux suspend hr kamaji -n cozy-kamaji || true - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/kubeovn/Makefile b/packages/system/kubeovn/Makefile index edff955da..317edd55c 100644 --- a/packages/system/kubeovn/Makefile +++ b/packages/system/kubeovn/Makefile @@ -1,14 +1,7 @@ -NAMESPACE=cozy-kubeovn NAME=kubeovn +NAMESPACE=cozy-$(NAME) -show: - kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm template --dry-run=server -n $(NAMESPACE) $(NAME) . -f - - -apply: - kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm upgrade -i -n $(NAMESPACE) $(NAME) . -f - - -diff: - kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . -f - +include ../../hack/package-system.mk update: rm -rf charts && mkdir -p charts/kube-ovn diff --git a/packages/system/kubevirt-cdi-operator/Makefile b/packages/system/kubevirt-cdi-operator/Makefile index 756906eac..b7525cb79 100644 --- a/packages/system/kubevirt-cdi-operator/Makefile +++ b/packages/system/kubevirt-cdi-operator/Makefile @@ -1,14 +1,7 @@ NAME=kubevirt-cdi-operator NAMESPACE=cozy-kubevirt-cdi -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf templates diff --git a/packages/system/kubevirt-cdi/Makefile b/packages/system/kubevirt-cdi/Makefile index 53551e661..c65d3d2e5 100644 --- a/packages/system/kubevirt-cdi/Makefile +++ b/packages/system/kubevirt-cdi/Makefile @@ -1,14 +1,7 @@ NAME=kubevirt-cdi -NAMESPACE=cozy-kubevirt-cdi +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf templates diff --git a/packages/system/kubevirt-operator/Makefile b/packages/system/kubevirt-operator/Makefile index b4545502a..d34afb779 100644 --- a/packages/system/kubevirt-operator/Makefile +++ b/packages/system/kubevirt-operator/Makefile @@ -1,19 +1,12 @@ NAME=kubevirt-operator NAMESPACE=cozy-kubevirt -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf templates mkdir templates export RELEASE=$$(curl https://storage.googleapis.com/kubevirt-prow/release/kubevirt/kubevirt/stable.txt) && \ wget https://github.com/kubevirt/kubevirt/releases/download/$${RELEASE}/kubevirt-operator.yaml -O templates/kubevirt-operator.yaml && \ - sed -i 's/namespace: kubevirt/namespace: cozy-kubevirt/g' templates/kubevirt-operator.yaml + sed -i 's/namespace: kubevirt/namespace: $(NAMESPACE)/g' templates/kubevirt-operator.yaml awk -i inplace -v RS="---" '!/kind: Namespace/{printf "%s", $$0 RS}' templates/kubevirt-operator.yaml diff --git a/packages/system/kubevirt/Makefile b/packages/system/kubevirt/Makefile index 883c83bac..caa95f214 100644 --- a/packages/system/kubevirt/Makefile +++ b/packages/system/kubevirt/Makefile @@ -1,14 +1,7 @@ NAME=kubevirt -NAMESPACE=cozy-kubevirt +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf templates diff --git a/packages/system/linstor/Makefile b/packages/system/linstor/Makefile index e19d5f36a..24bb9ceae 100644 --- a/packages/system/linstor/Makefile +++ b/packages/system/linstor/Makefile @@ -1,11 +1,4 @@ NAME=linstor -NAMESPACE=cozy-linstor +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk diff --git a/packages/system/mariadb-operator/Makefile b/packages/system/mariadb-operator/Makefile index ce589c71d..51eb83bef 100644 --- a/packages/system/mariadb-operator/Makefile +++ b/packages/system/mariadb-operator/Makefile @@ -1,14 +1,7 @@ NAME=mariadb-operator -NAMESPACE=cozy-mariadb-operator +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/metallb/Makefile b/packages/system/metallb/Makefile index 95755e943..79f24c9a1 100644 --- a/packages/system/metallb/Makefile +++ b/packages/system/metallb/Makefile @@ -1,14 +1,7 @@ NAME=metallb -NAMESPACE=cozy-metallb +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/monitoring/Makefile b/packages/system/monitoring/Makefile index 52020e872..e6db14f77 100644 --- a/packages/system/monitoring/Makefile +++ b/packages/system/monitoring/Makefile @@ -1,14 +1,7 @@ NAME=monitoring -NAMESPACE=cozy-monitoring +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/postgres-operator/Makefile b/packages/system/postgres-operator/Makefile index f46734d02..e82a2f144 100644 --- a/packages/system/postgres-operator/Makefile +++ b/packages/system/postgres-operator/Makefile @@ -1,14 +1,7 @@ NAME=postgres-operator -NAMESPACE=cozy-postgres-operator +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/rabbitmq-operator/Makefile b/packages/system/rabbitmq-operator/Makefile index 1b11ad0d6..e0dcef9a1 100644 --- a/packages/system/rabbitmq-operator/Makefile +++ b/packages/system/rabbitmq-operator/Makefile @@ -1,17 +1,10 @@ NAME=rabbitmq-operator -NAMESPACE=cozy-rabbitmq-operator +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf templates/cluster-operator.yml wget -O templates/cluster-operator.yml https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml yq -i 'del(select(.kind=="Namespace"))' templates/cluster-operator.yml - sed -i 's/rabbitmq-system/cozy-rabbitmq-operator/g' templates/cluster-operator.yml + sed -i 's/rabbitmq-system/$(NAMESPACE)/g' templates/cluster-operator.yml diff --git a/packages/system/redis-operator/Makefile b/packages/system/redis-operator/Makefile index 16ff97ab3..d57138d19 100644 --- a/packages/system/redis-operator/Makefile +++ b/packages/system/redis-operator/Makefile @@ -1,14 +1,7 @@ NAME=redis-operator -NAMESPACE=cozy-redis-operator +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/telepresence/Makefile b/packages/system/telepresence/Makefile index d2311d0db..5172cf0da 100644 --- a/packages/system/telepresence/Makefile +++ b/packages/system/telepresence/Makefile @@ -1,14 +1,7 @@ NAME=traffic-manager NAMESPACE=cozy-telepresence -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts diff --git a/packages/system/victoria-metrics-operator/Makefile b/packages/system/victoria-metrics-operator/Makefile index a2f89f866..682354b28 100644 --- a/packages/system/victoria-metrics-operator/Makefile +++ b/packages/system/victoria-metrics-operator/Makefile @@ -1,14 +1,7 @@ NAME=victoria-metrics-operator -NAMESPACE=cozy-victoria-metrics-operator +NAMESPACE=cozy-$(NAME) -show: - helm template --dry-run=server -n $(NAMESPACE) $(NAME) . - -apply: - helm upgrade -i -n $(NAMESPACE) $(NAME) . - -diff: - helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . +include ../../hack/package-system.mk update: rm -rf charts