kanidm/Makefile

98 lines
3.2 KiB
Makefile
Raw Normal View History

.PHONY: help build/kanidmd build/radiusd test/kanidmd push/kanidmd push/radiusd vendor-prep doc install-tools prep
IMAGE_BASE ?= kanidm
2020-08-06 08:05:33 +02:00
IMAGE_VERSION ?= devel
2020-08-17 09:16:33 +02:00
EXT_OPTS ?=
2020-12-30 03:29:01 +01:00
IMAGE_ARCH ?= "linux/amd64,linux/arm64"
ARGS ?= --build-arg "SCCACHE_REDIS=redis://172.24.20.4:6379"
.DEFAULT: help
help:
@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##/\n\t/'
2020-08-17 09:16:33 +02:00
buildx/kanidmd: ## build multiarch server images
buildx/kanidmd:
2021-02-17 09:36:28 +01:00
echo @docker buildx build $(EXT_OPTS) --pull --push --platform $(IMAGE_ARCH) -f kanidmd/Dockerfile -t $(IMAGE_BASE)/server:$(IMAGE_VERSION) $(ARGS) .
@docker buildx build $(EXT_OPTS) --pull --push --platform $(IMAGE_ARCH) -f kanidmd/Dockerfile -t $(IMAGE_BASE)/server:$(IMAGE_VERSION) $(ARGS) .
@docker buildx imagetools $(EXT_OPTS) inspect $(IMAGE_BASE)/server:$(IMAGE_VERSION)
2020-08-17 09:16:33 +02:00
buildx/radiusd: ## build multiarch radius images
buildx/radiusd:
2021-02-17 09:36:28 +01:00
@docker buildx build $(EXT_OPTS) --pull --push --platform $(IMAGE_ARCH) -f kanidm_rlm_python/Dockerfile -t $(IMAGE_BASE)/radius:$(IMAGE_VERSION) kanidm_rlm_python
@docker buildx imagetools $(EXT_OPTS) inspect $(IMAGE_BASE)/radius:$(IMAGE_VERSION)
2020-08-17 09:16:33 +02:00
buildx: buildx/kanidmd buildx/radiusd
build/kanidmd: ## build kanidmd images
build/kanidmd:
2020-08-17 09:16:33 +02:00
@docker build $(EXT_OPTS) -f kanidmd/Dockerfile -t $(IMAGE_BASE)/server:$(IMAGE_VERSION) .
build/radiusd: ## build radiusd image
build/radiusd:
2020-08-17 09:16:33 +02:00
@docker build $(EXT_OPTS) -f kanidm_rlm_python/Dockerfile -t $(IMAGE_BASE)/radius:$(IMAGE_VERSION) kanidm_rlm_python
2020-06-30 06:21:59 +02:00
build: build/kanidmd build/radiusd
2020-06-30 06:21:59 +02:00
tag/kanidmd:
@docker tag $(IMAGE_BASE)/server:$(IMAGE_VERSION) $(IMAGE_BASE)/server:latest
tag/radiusd:
@docker tag $(IMAGE_BASE)/radius:$(IMAGE_VERSION) $(IMAGE_BASE)/radius:latest
tag: tag/kanidmd tag/radiusd
push/kanidmd: ## push kanidmd images
push/kanidmd:
@docker push $(IMAGE_BASE)/server:$(IMAGE_VERSION)
push/radiusd: ## push radiusd image
push/radiusd:
@docker push $(IMAGE_BASE)/radius:$(IMAGE_VERSION)
2020-06-30 06:21:59 +02:00
push: build push/kanidmd push/radiusd
pushlatest: build tag push
@docker push $(IMAGE_BASE)/server:latest
@docker push $(IMAGE_BASE)/radius:latest
test/kanidmd: ## test kanidmd
test/kanidmd:
@docker build -f kanidmd/Dockerfile \
--target builder \
-t $(IMAGE_BASE)/server:$(IMAGE_VERSION)-builder \
.
@docker run --rm $(IMAGE_BASE)/server:$(IMAGE_VERSION)-builder cargo test
test/radiusd: build/radiusd ## test radiusd
vendor-prep:
cargo vendor
tar -czf vendor.tar.gz vendor
doc: ## build doc local
doc:
cargo doc --document-private-items
2020-03-26 02:27:04 +01:00
install-tools: ## install tools in local environment
install-tools:
2020-03-26 02:27:04 +01:00
cd kanidm_tools && cargo install --path . --force
prep:
cargo outdated -R
cargo audit
2020-08-17 09:16:33 +02:00
# update-version: ## update version form VERSION file in all Cargo.toml manifests
# update-version: */Cargo.toml
# @VERSION=`cat VERSION`; sed -i "0,/^version\ \= .*$$/{s//version = \"$$VERSION\"/}" */Cargo.toml
# @echo updated to version "`cat VERSION`" cargo files
#
# publish:
# cd kanidm_proto; cargo package
# cd kanidm_proto; cargo publish
# cd kanidmd; cargo package
# cd kanidmd; cargo publish
# cd kanidm_client; cargo package
# cd kanidm_client; cargo publish
# cd kanidm_tools; cargo package
# cd kanidm_tools; cargo publish