summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile37
1 files changed, 26 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 83392788..deaff94c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,13 @@
-PROJECT_NAME := $(shell basename $(shell pwd))# {{{}}}
+AUTHZD_BIN := bin/authzd
+CLI_BIN := bin/cli
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD | sed 's/\//_/g')
IMAGE_TAG := $(PROJECT_NAME):$(GIT_BRANCH)
+PROJECT_NAME := $(shell basename $(shell pwd))
.PHONY: build check test run clean fmt lint doc vendor
.PHONY: build-image run-image
.PHONY: health-check list-services
+.PHONY: staging-entities production-entities
setup:
mise install
@@ -12,13 +15,17 @@ setup:
mise exec rust -- rustup component add clippy rustfmt rust-analyzer
mise exec rust -- cargo install --locked cedar-policy-cli
-# Cargo targets
-build:
- @cargo build --offline
+$(AUTHZD_BIN): $(shell find src -name "*.rs" 2>/dev/null) Cargo.toml
+ @cargo build --bin authzd --offline
@cp target/debug/authzd bin/authzd
+
+$(CLI_BIN): $(shell find src -name "*.rs" 2>/dev/null) Cargo.toml
@cargo build --bin cli --offline
@cp target/debug/cli bin/cli
+# Cargo targets
+build: $(AUTHZD_BIN) $(CLI_BIN)
+
check:
@cargo check
@@ -29,6 +36,7 @@ run: build
@minit
clean:
+ @rm -f $(AUTHZD_BIN) $(CLI_BIN)
@cargo clean
fmt:
@@ -61,10 +69,17 @@ list-services:
@grpcurl -plaintext localhost:20000 list
# entities targets
-staging-entities:
- @cargo run --bin cli -- generate --host https://staging.gitlab.com --project authorization/sparkle/team --output etc/authzd/staging.gitlab.com/authorization/sparkle/team/entities.json
-
-production-entities:
- @cargo run --bin cli -- generate --project gitlab-org/gitlab --output etc/authzd/gitlab.com/gitlab-org/gitlab/entities.json
- @cargo run --bin cli -- generate --project gitlab-org/software-supply-chain-security/authorization/authzd --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/authzd/entities.json
- @cargo run --bin cli -- generate --project gitlab-org/software-supply-chain-security/authorization/sparkled --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/entities.json
+check-gitlab-token:
+ @if [ -z "$$GITLAB_TOKEN" ]; then \
+ echo "Error: GITLAB_TOKEN environment variable is required"; \
+ echo "Set it with: export GITLAB_TOKEN=your_token"; \
+ exit 1; \
+ fi
+
+staging-entities: $(CLI_BIN) check-gitlab-token
+ @$(CLI_BIN) generate --host https://staging.gitlab.com --project authorization/sparkle/team --output etc/authzd/staging.gitlab.com/authorization/sparkle/team/entities.json
+
+production-entities: $(CLI_BIN) check-gitlab-token
+ @$(CLI_BIN) generate --project gitlab-org/gitlab --output etc/authzd/gitlab.com/gitlab-org/gitlab/entities.json
+ @$(CLI_BIN) generate --project gitlab-org/software-supply-chain-security/authorization/authzd --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/authzd/entities.json
+ @$(CLI_BIN) generate --project gitlab-org/software-supply-chain-security/authorization/sparkled --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/entities.json