diff options
| -rw-r--r-- | Makefile | 37 |
1 files changed, 26 insertions, 11 deletions
@@ -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 |
