export GO111MODULE=on
all: generate vet fmt verify test
.PHONY: generate
generate: update-codegen
.PHONY: update-codegen
update-codegen:
chmod +x hack/*.sh
hack/update-codegen.sh
fmt:
go fmt ./...
vet:
go vet ./...
test:
go test -race -cover ./pkg/apis/...
.PHONY: install
install: crd example
.PHONY: crd
crd:
kubectl kustomize config/crds | kubectl apply -f -
.PHONY: example
example:
hack/install-examples.sh
.PHONY: uninstall
uninstall:
hack/delete-crds.sh
.PHONY: docs
docs:
hack/make-docs.sh
export BUILDX_CONTEXT = colocation-builder
export BUILDX_PLATFORMS = linux/amd64,linux/arm64
.PHONY: image.buildx.verify
image.buildx.verify:
docker version
$(eval PASS := $(shell docker buildx --help | grep "docker buildx" ))
@if [ -z "$(PASS)" ]; then \
echo "Cannot find docker buildx, please install first."; \
exit 1;\
else \
echo "===========> Support docker buildx"; \
docker buildx version; \
fi
.PHONY: image.multiarch.setup
image.multiarch.setup: image.buildx.verify
@if [ "$(shell uname)" == "Linux" ]; then \
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes; \
fi
docker buildx rm $(BUILDX_CONTEXT) || :
docker buildx create --use --name $(BUILDX_CONTEXT) --platform "${BUILDX_PLATFORMS}"