mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-06 03:57:52 +09:00
Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> ## What this PR does ### Release note <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [cozystack-operator] Add deployment files ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Deployable CozyStack operator with configurable enablement, image, and platform-source settings * Operator-managed package source and variant-based platform installation options * **Chores** * Release/packaging targets added to automate image and package publishing and update manifests * Configuration schema extended to include operator-related fields and versioning controls <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
58 lines
2.1 KiB
Makefile
58 lines
2.1 KiB
Makefile
NAME=installer
|
|
NAMESPACE=cozy-system
|
|
|
|
include ../../../scripts/common-envs.mk
|
|
|
|
pre-checks:
|
|
../../../hack/pre-checks.sh
|
|
|
|
show:
|
|
cozyhr show -n $(NAMESPACE) $(NAME) --plain
|
|
|
|
apply:
|
|
cozyhr show -n $(NAMESPACE) $(NAME) --plain | kubectl apply -f-
|
|
|
|
diff:
|
|
cozyhr show -n $(NAMESPACE) $(NAME) --plain | kubectl diff -f -
|
|
|
|
image: pre-checks image-cozystack
|
|
|
|
image-cozystack:
|
|
docker buildx build -f images/cozystack/Dockerfile ../../.. \
|
|
--tag $(REGISTRY)/installer:$(call settag,$(TAG)) \
|
|
--cache-from type=registry,ref=$(REGISTRY)/installer:latest \
|
|
--cache-to type=inline \
|
|
--metadata-file images/installer.json \
|
|
$(BUILDX_ARGS)
|
|
IMAGE="$(REGISTRY)/installer:$(call settag,$(TAG))@$$(yq e '."containerimage.digest"' images/installer.json -o json -r)" \
|
|
yq -i '.cozystack.image = strenv(IMAGE)' values.yaml
|
|
rm -f images/installer.json
|
|
|
|
update-version:
|
|
TAG="$(call settag,$(TAG))" \
|
|
yq -i '.cozystackOperator.cozystackVersion = strenv(TAG)' values.yaml
|
|
|
|
image-operator:
|
|
docker buildx build -f images/cozystack-operator/Dockerfile ../../.. \
|
|
--tag $(REGISTRY)/cozystack-operator:$(call settag,$(TAG)) \
|
|
--cache-from type=registry,ref=$(REGISTRY)/cozystack-operator:latest \
|
|
--cache-to type=inline \
|
|
--metadata-file images/cozystack-operator.json \
|
|
$(BUILDX_ARGS)
|
|
IMAGE="$(REGISTRY)/cozystack-operator:$(call settag,$(TAG))@$$(yq e '."containerimage.digest"' images/cozystack-operator.json -o json -r)" \
|
|
yq -i '.cozystackOperator.image = strenv(IMAGE)' values.yaml
|
|
rm -f images/cozystack-operator.json
|
|
|
|
|
|
image-packages: update-version
|
|
mkdir -p ../../../_out/assets images
|
|
flux push artifact \
|
|
oci://$(REGISTRY)/platform-packages:$(call settag,$(TAG)) \
|
|
--path=../../../packages \
|
|
--source=https://github.com/cozystack/cozystack \
|
|
--revision="$$(git describe --tags):$$(git rev-parse HEAD)" \
|
|
2>&1 | tee images/cozystack-packages.log
|
|
export REPO="oci://$(REGISTRY)/platform-packages"; \
|
|
export DIGEST=$$(awk -F@ '/artifact successfully pushed/ {print $$2}' images/cozystack-packages.log; rm -f images/cozystack-packages.log); \
|
|
test -n "$$DIGEST" && yq -i '.cozystackOperator.platformSource = (strenv(REPO) + "@" + strenv(DIGEST))' values.yaml
|