2022-03-09 23:55:44 +01:00
|
|
|
.PHONY: help build/kanidmd build/radiusd test/kanidmd push/kanidmd push/radiusd vendor-prep doc install-tools prep vendor book clean_book
|
2019-11-30 09:43:01 +01:00
|
|
|
|
2020-05-02 12:33:52 +02:00
|
|
|
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"
|
2021-01-10 04:41:56 +01:00
|
|
|
ARGS ?= --build-arg "SCCACHE_REDIS=redis://172.24.20.4:6379"
|
2019-11-30 09:43:01 +01:00
|
|
|
|
2022-03-09 23:55:44 +01:00
|
|
|
BOOK_VERSION ?= master
|
|
|
|
|
2020-05-02 12:33:52 +02:00
|
|
|
.DEFAULT: help
|
|
|
|
help:
|
|
|
|
@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##/\n\t/'
|
|
|
|
|
2021-09-25 03:24:00 +02:00
|
|
|
buildx/kanidmd/x86_64_v3: ## build multiarch server images
|
|
|
|
buildx/kanidmd/x86_64_v3:
|
|
|
|
@docker buildx build $(EXT_OPTS) --pull --push --platform "linux/amd64" \
|
|
|
|
-f kanidmd/Dockerfile -t $(IMAGE_BASE)/server:x86_64_$(IMAGE_VERSION) \
|
|
|
|
--build-arg "KANIDM_BUILD_PROFILE=container_x86_64_v3" \
|
|
|
|
--build-arg "KANIDM_FEATURES=" \
|
|
|
|
$(ARGS) .
|
|
|
|
@docker buildx imagetools $(EXT_OPTS) inspect $(IMAGE_BASE)/server:$(IMAGE_VERSION)
|
|
|
|
|
2020-08-17 09:16:33 +02:00
|
|
|
buildx/kanidmd: ## build multiarch server images
|
2020-07-24 09:38:59 +02:00
|
|
|
buildx/kanidmd:
|
2021-03-26 02:22:00 +01:00
|
|
|
@docker buildx build $(EXT_OPTS) --pull --push --platform $(IMAGE_ARCH) \
|
|
|
|
-f kanidmd/Dockerfile -t $(IMAGE_BASE)/server:$(IMAGE_VERSION) \
|
|
|
|
--build-arg "KANIDM_BUILD_PROFILE=container_generic" \
|
|
|
|
--build-arg "KANIDM_FEATURES=" \
|
|
|
|
$(ARGS) .
|
2021-02-17 09:36:28 +01:00
|
|
|
@docker buildx imagetools $(EXT_OPTS) inspect $(IMAGE_BASE)/server:$(IMAGE_VERSION)
|
2020-07-24 09:38:59 +02:00
|
|
|
|
2020-08-17 09:16:33 +02:00
|
|
|
buildx/radiusd: ## build multiarch radius images
|
|
|
|
buildx/radiusd:
|
2021-03-26 02:22:00 +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
|
2021-02-17 09:36:28 +01:00
|
|
|
@docker buildx imagetools $(EXT_OPTS) inspect $(IMAGE_BASE)/radius:$(IMAGE_VERSION)
|
2020-08-17 09:16:33 +02:00
|
|
|
|
|
|
|
buildx: buildx/kanidmd buildx/radiusd
|
|
|
|
|
2020-05-02 12:33:52 +02:00
|
|
|
build/kanidmd: ## build kanidmd images
|
|
|
|
build/kanidmd:
|
2021-03-29 04:57:52 +02:00
|
|
|
@docker build $(EXT_OPTS) -f kanidmd/Dockerfile -t $(IMAGE_BASE)/server:$(IMAGE_VERSION) \
|
2021-03-26 02:22:00 +01:00
|
|
|
--build-arg "KANIDM_BUILD_PROFILE=developer" \
|
|
|
|
--build-arg "KANIDM_FEATURES=" \
|
|
|
|
$(ARGS) .
|
2020-05-02 12:33:52 +02:00
|
|
|
|
|
|
|
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-05-02 12:33:52 +02:00
|
|
|
|
2020-06-30 06:21:59 +02:00
|
|
|
build: build/kanidmd build/radiusd
|
2020-05-02 12:33:52 +02:00
|
|
|
|
2020-06-30 06:21:59 +02:00
|
|
|
test/kanidmd: ## test kanidmd
|
|
|
|
test/kanidmd:
|
2021-03-26 02:22:00 +01:00
|
|
|
@docker build \
|
|
|
|
$(EXT_OPTS) -f kanidmd/Dockerfile \
|
2020-06-30 06:21:59 +02:00
|
|
|
--target builder \
|
|
|
|
-t $(IMAGE_BASE)/server:$(IMAGE_VERSION)-builder \
|
2021-03-26 02:22:00 +01:00
|
|
|
$(ARGS) .
|
2020-06-30 06:21:59 +02:00
|
|
|
@docker run --rm $(IMAGE_BASE)/server:$(IMAGE_VERSION)-builder cargo test
|
|
|
|
|
2021-03-26 02:22:00 +01:00
|
|
|
# test/radiusd: build/radiusd ## test radiusd
|
2020-06-30 06:21:59 +02:00
|
|
|
|
2021-03-26 02:22:00 +01:00
|
|
|
vendor:
|
2019-11-30 09:43:01 +01:00
|
|
|
cargo vendor
|
2021-03-26 02:22:00 +01:00
|
|
|
|
|
|
|
vendor-prep: vendor
|
2021-04-14 01:56:40 +02:00
|
|
|
tar -cJf vendor.tar.xz vendor
|
2019-11-30 09:43:01 +01:00
|
|
|
|
2020-05-02 12:33:52 +02:00
|
|
|
doc: ## build doc local
|
|
|
|
doc:
|
2020-02-29 05:02:14 +01:00
|
|
|
cargo doc --document-private-items
|
2020-03-26 02:27:04 +01:00
|
|
|
|
2022-03-09 23:55:44 +01:00
|
|
|
book:
|
|
|
|
cargo doc --no-deps
|
|
|
|
mdbook build kanidm_book
|
|
|
|
mv ./kanidm_book/book/ ./docs/
|
|
|
|
mkdir -p ./docs/rustdoc/${BOOK_VERSION}
|
|
|
|
mv ./target/doc/* ./docs/rustdoc/${BOOK_VERSION}/
|
|
|
|
|
|
|
|
clean_book:
|
|
|
|
rm -rf ./docs
|
|
|
|
|
|
|
|
|
2020-05-02 12:33:52 +02: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
|
2020-04-11 02:32:56 +02:00
|
|
|
|
|
|
|
prep:
|
|
|
|
cargo outdated -R
|
|
|
|
cargo audit
|
2020-05-11 14:16:09 +02:00
|
|
|
|